From cfad534fb9c6c157b3774bc4305a943ef5056718 Mon Sep 17 00:00:00 2001 From: "si@aidatagov.com" Date: Mon, 14 Apr 2025 01:25:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=85=B3=E7=B3=BB=E5=9B=BE?= =?UTF-8?q?=E8=B0=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/datastd_controller.py | 15 ++++- .../module_admin/dao/datastd_dao.py | 2 + .../module_admin/service/datastd_service.py | 43 ++++++++++++ .../src/views/datastd/stdcode/codeMap.vue | 66 ++++++++++++------- .../src/views/datastd/stdcode/index.vue | 4 +- 5 files changed, 102 insertions(+), 28 deletions(-) diff --git a/vue-fastapi-backend/module_admin/controller/datastd_controller.py b/vue-fastapi-backend/module_admin/controller/datastd_controller.py index 921dc33..7e806e6 100644 --- a/vue-fastapi-backend/module_admin/controller/datastd_controller.py +++ b/vue-fastapi-backend/module_admin/controller/datastd_controller.py @@ -527,7 +527,7 @@ async def change_std_main_onum( # 标准代码映射图谱 @datastdController.get( - '/stdcode/code/mapstdlist/{id}', response_model=PageResponseModel, dependencies=[Depends(CheckUserInterfaceAuth('datastd:stdcode:code:list'))] + '/stdcode/code/mapstdlistOld/{id}', response_model=PageResponseModel, dependencies=[Depends(CheckUserInterfaceAuth('datastd:stdcode:code:list'))] ) async def get_code_std_map_list( request: Request, @@ -536,4 +536,17 @@ async def get_code_std_map_list( ): code_page_query_result = await DataStdService.get_code_std_map_list_services(query_db, id) logger.info('获取列配置列表成功') + return ResponseUtil.success(data=code_page_query_result) + + +@datastdController.get( + '/stdcode/code/mapstdlist/{id}', response_model=PageResponseModel, dependencies=[Depends(CheckUserInterfaceAuth('datastd:stdcode:code:list'))] +) +async def get_code_map_list( + request: Request, + id: str, + query_db: AsyncSession = Depends(get_db), +): + code_page_query_result = await DataStdService.get_code_map_list(query_db, id) + logger.info('获取列配置列表成功') return ResponseUtil.success(data=code_page_query_result) \ No newline at end of file diff --git a/vue-fastapi-backend/module_admin/dao/datastd_dao.py b/vue-fastapi-backend/module_admin/dao/datastd_dao.py index 8a26852..14e355f 100644 --- a/vue-fastapi-backend/module_admin/dao/datastd_dao.py +++ b/vue-fastapi-backend/module_admin/dao/datastd_dao.py @@ -106,9 +106,11 @@ class DataStdDao: select(DataStdCode) .where( DataStdCode.code_name == query_object.code_name if query_object.code_name else True, + DataStdCode.id == query_object.id if query_object.id else True, DataStdCode.code_status == query_object.code_status if query_object.code_status else True, DataStdCode.sys_id == query_object.sys_id if query_object.sys_id else True, DataStdCode.code_type == query_object.code_type if query_object.code_type else True, + DataStdCode.code_map_id == query_object.code_map_id if query_object.code_map_id else True, DataStdCode.parent_id == query_object.parent_id if query_object.parent_id else True, DataStdCode.class_id == query_object.class_id if query_object.class_id else True ) diff --git a/vue-fastapi-backend/module_admin/service/datastd_service.py b/vue-fastapi-backend/module_admin/service/datastd_service.py index eff8b07..eee9dd3 100644 --- a/vue-fastapi-backend/module_admin/service/datastd_service.py +++ b/vue-fastapi-backend/module_admin/service/datastd_service.py @@ -1028,3 +1028,46 @@ class DataStdService: "tableData": table_data, "children": children } + @classmethod + async def get_code_map_list(cls, query_db: AsyncSession, id: str): + check_model = DataStdCodeModel() + stdCode=await DataStdDao.get_std_code_by_id(query_db, id) + code_type="公司级" + if stdCode.code_type=='sys': + if stdCode.code_map_id: + check_model.id=stdCode.code_map_id + else: + check_model.id="no" + else: + check_model.code_map_id = id + code_type="系统级" + + main_list = await DataStdDao.get_data_code_list_by_info(query_db, check_model) + + if not main_list: + return { "children": []} # 如果 A 表没有数据,返回空结构 + + table_data = [] # 存储表格数据 + children = [] # 存储图谱数据 + + for main in main_list: + # 组织图谱数据(A 表作为父节点) + node = { + "id": f"node_{main.id}", # 使用 get() 方法访问字段 + "name": main.code_name, # 使用 get() 方法访问字段 + "label": main.code_num, # 使用 get() 方法访问字段 + "rate": 1.0, + "status": "B", + # "currency": main.get('stdNum'), # 使用 get() 方法访问字段 + "variableValue": code_type, + "variableUp": True, + "children": [], + } + + + children.append(node) + + return { + "tableData": table_data, + "children": children + } \ No newline at end of file diff --git a/vue-fastapi-frontend/src/views/datastd/stdcode/codeMap.vue b/vue-fastapi-frontend/src/views/datastd/stdcode/codeMap.vue index 1ff392c..9a56acc 100644 --- a/vue-fastapi-frontend/src/views/datastd/stdcode/codeMap.vue +++ b/vue-fastapi-frontend/src/views/datastd/stdcode/codeMap.vue @@ -1,5 +1,11 @@ + - diff --git a/vue-fastapi-frontend/src/views/datastd/stdcode/index.vue b/vue-fastapi-frontend/src/views/datastd/stdcode/index.vue index 9efe84a..7e25836 100644 --- a/vue-fastapi-frontend/src/views/datastd/stdcode/index.vue +++ b/vue-fastapi-frontend/src/views/datastd/stdcode/index.vue @@ -105,7 +105,7 @@ /> - +