From 1a22bd3836461f8ecf999d0cfc31c76b7da82cb1 Mon Sep 17 00:00:00 2001 From: Mozzie Date: Tue, 12 Sep 2023 16:19:42 +0800 Subject: [PATCH] feat: label category --- apps/aorta/src/router/index.tsx | 8 +++---- apps/aorta/src/router/router.config.tsx | 3 +++ .../src/label/entity/label.category.entity.ts | 22 +++++++++++++++++++ .../dicom/src/label/entity/label.entity.ts | 2 +- .../dicom/src/label/label.controller.ts | 5 +++++ apps/services/dicom/src/label/label.module.ts | 3 ++- .../services/dicom/src/label/label.service.ts | 11 ++++++++++ 7 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 apps/services/dicom/src/label/entity/label.category.entity.ts diff --git a/apps/aorta/src/router/index.tsx b/apps/aorta/src/router/index.tsx index f8ca360..15a553d 100644 --- a/apps/aorta/src/router/index.tsx +++ b/apps/aorta/src/router/index.tsx @@ -1,4 +1,4 @@ -import { baseRoutes } from "./router.config"; +import { baseRoutes, commonRoutes } from "./router.config"; import { Route, RouteObject, Routes, useLocation } from "react-router-dom"; import { RouteGuard } from "./AuthGuard"; import { pathToRegexp } from "path-to-regexp"; @@ -16,7 +16,7 @@ export const RouterElements = () => { /** * document.title */ - const currentRoute = [...baseRoutes].find((r) => + const currentRoute = [...baseRoutes, ...commonRoutes].find((r) => pathToRegexp(location.pathname).test(r.path!) ); document.title = currentRoute?.title ?? defaultTitle; @@ -32,9 +32,9 @@ export const RouterElements = () => { )); return ( - + r.path!)}> - {generateRoutes(baseRoutes)} + {generateRoutes([...baseRoutes, ...commonRoutes])} 404} /> diff --git a/apps/aorta/src/router/router.config.tsx b/apps/aorta/src/router/router.config.tsx index dbaf3ba..d10c83e 100644 --- a/apps/aorta/src/router/router.config.tsx +++ b/apps/aorta/src/router/router.config.tsx @@ -17,6 +17,9 @@ export const baseRoutes: (RouteObject & ExpandRouteProps)[] = [ element: , title: "登录 - CVPILOT Viewer", }, +]; + +export const commonRoutes: (RouteObject & ExpandRouteProps)[] = [ { path: "/", element: , diff --git a/apps/services/dicom/src/label/entity/label.category.entity.ts b/apps/services/dicom/src/label/entity/label.category.entity.ts new file mode 100644 index 0000000..90f9159 --- /dev/null +++ b/apps/services/dicom/src/label/entity/label.category.entity.ts @@ -0,0 +1,22 @@ +import { + Column, + CreateDateColumn, + Entity, + PrimaryGeneratedColumn, + UpdateDateColumn, +} from 'typeorm'; + +@Entity() +export class LabelCategory { + @PrimaryGeneratedColumn() + id: number; + + @Column() + name: string; + + @CreateDateColumn({ type: 'timestamp' }) + createAt: Date; + + @UpdateDateColumn({ type: 'timestamp' }) + updateAt: Date; +} diff --git a/apps/services/dicom/src/label/entity/label.entity.ts b/apps/services/dicom/src/label/entity/label.entity.ts index b4cfe91..59d52a5 100644 --- a/apps/services/dicom/src/label/entity/label.entity.ts +++ b/apps/services/dicom/src/label/entity/label.entity.ts @@ -1,4 +1,4 @@ -import { LabelSource } from 'src/app.constant'; +import { LabelSource } from '../../app.constant'; import { Column, CreateDateColumn, diff --git a/apps/services/dicom/src/label/label.controller.ts b/apps/services/dicom/src/label/label.controller.ts index 12ed176..bd1e164 100644 --- a/apps/services/dicom/src/label/label.controller.ts +++ b/apps/services/dicom/src/label/label.controller.ts @@ -6,6 +6,11 @@ import { LabelService } from './label.service'; export class LabelController { constructor(private readonly labelService: LabelService) {} + @EventPattern({ cmd: 'dicom.label.category.create' }) + async createLabelCategory(payload) { + return await this.labelService.createLabelCategory(payload); + } + @EventPattern({ cmd: 'dicom.label.create' }) async createLabel(payload) { return await this.labelService.createLabel(payload); diff --git a/apps/services/dicom/src/label/label.module.ts b/apps/services/dicom/src/label/label.module.ts index 0edf643..e1c62dc 100644 --- a/apps/services/dicom/src/label/label.module.ts +++ b/apps/services/dicom/src/label/label.module.ts @@ -3,6 +3,7 @@ import { LabelController } from './label.controller'; import { LabelService } from './label.service'; import { TypeOrmModule } from '@nestjs/typeorm'; import { Label } from './entity/label.entity'; +import { LabelCategory } from './entity/label.category.entity'; @Module({ controllers: [LabelController], @@ -18,7 +19,7 @@ import { Label } from './entity/label.entity'; synchronize: true, timezone: 'Asia/Shanghai', // 这里设置了时区 }), - TypeOrmModule.forFeature([Label]), + TypeOrmModule.forFeature([Label, LabelCategory]), ], providers: [LabelService], }) diff --git a/apps/services/dicom/src/label/label.service.ts b/apps/services/dicom/src/label/label.service.ts index f335a6c..e5278dc 100644 --- a/apps/services/dicom/src/label/label.service.ts +++ b/apps/services/dicom/src/label/label.service.ts @@ -2,13 +2,24 @@ import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Label } from './entity/label.entity'; import { Repository } from 'typeorm'; +import { LabelCategory } from './entity/label.category.entity'; @Injectable() export class LabelService { constructor( @InjectRepository(Label) private readonly labelRepository: Repository