diff --git a/vue-fastapi-backend/module_admin/controller/datastd_controller.py b/vue-fastapi-backend/module_admin/controller/datastd_controller.py index ae73933..d690b50 100644 --- a/vue-fastapi-backend/module_admin/controller/datastd_controller.py +++ b/vue-fastapi-backend/module_admin/controller/datastd_controller.py @@ -651,7 +651,7 @@ async def change_std_main_onum( edit_std_main: DataStdMainModel, query_db: AsyncSession = Depends(get_db), ): - delete_std_main_result = await DataStdService.change_std_main_onum(query_db, edit_std_main.onum,edit_std_main.src_sys) + delete_std_main_result = await DataStdService.change_std_main_onum(query_db, edit_std_main.onum,edit_std_main.belt_data_std_content) logger.info(delete_std_main_result.message) return ResponseUtil.success(msg=delete_std_main_result.message) # 标准代码映射图谱 diff --git a/vue-fastapi-backend/module_admin/service/datastd_service.py b/vue-fastapi-backend/module_admin/service/datastd_service.py index ba725c6..538a15b 100644 --- a/vue-fastapi-backend/module_admin/service/datastd_service.py +++ b/vue-fastapi-backend/module_admin/service/datastd_service.py @@ -155,19 +155,37 @@ class DataStdService: @classmethod async def code_appr_detail_services(cls, query_db: AsyncSession, col: str): """ - 获取参数配置详细信息service - + 获取参数配置详细信息 service + :param query_db: orm对象 - :param config_id: 参数配置id - :return: 参数配置id对应的信息 + :param col: 参数配置 id + :return: 参数配置 id 对应的信息,标记变更字段 """ config = await DataStdDao.get_std_code_appr_by_id(query_db, col) - if config: - result = DataStdCodeApprModel(**CamelCaseUtil.transform_result(config)) - else: - result = DataStdCodeApprModel(**dict()) + if not config: + return DataStdCodeApprModel(**dict()) + + old_config = await DataStdDao.get_std_code_appr_by_id(query_db, config.compareId) + + # 将 ORM 对象转为 dict 并驼峰命名 + current = CamelCaseUtil.transform_result(config) + result_data = current.copy() + + if old_config: + old = CamelCaseUtil.transform_result(old_config) + + def diff(field): + old_val = str(old.get(field, '') or '') + new_val = str(current.get(field, '') or '') + return f"{old_val} ==> {new_val}" if old_val != new_val else new_val + + # 比较指定字段 + result_data["cdNo"] = diff("cdNo") + result_data["cdValCnMean"] = diff("cdValCnMean") + result_data["srcSys"] = diff("srcSys") + + return result_data - return result @classmethod async def edit_std_code_services(cls, request: Request, query_db: AsyncSession, page_object: DataStdCodeModel): """ @@ -481,6 +499,8 @@ class DataStdService: item.parent_id = code.onum item.upd_prsn = current_user.user.user_name item.upd_time = datetime.now() + item.create_by = current_user.user.user_name + item.create_time = datetime.now() item.src_sys = '公司级' if 'company' == item.cd_type else item.src_sys if item.onum: # 修改项 @@ -491,7 +511,7 @@ class DataStdService: last_item_appr= await DataStdDao.get_last_std_code_appr_by_id(query_db,item_appr_model.onum) item_appr_model.changeType = "update" item_appr_model.compareId = last_item_appr.onum - item_appr_model.parent_id = code.onum + item_appr_model.parent_id = appr_model.onum item_appr_model.oldInstId = item.onum item_appr_model.approStatus = "waiting" item_appr_model.flowId = appr_model.flowId @@ -513,7 +533,7 @@ class DataStdService: item_appr_model.oldInstId = item.onum item_appr_model.approStatus = "waiting" item_appr_model.flowId = appr_model.flowId - item_appr_model.parent_id = code.onum + item_appr_model.parent_id = appr_model.onum await DataStdDao.add_std_code_appr(query_db, item_appr_model) for old_item in code_item_list_old: @@ -527,7 +547,7 @@ class DataStdService: delete_appr_model.approStatus = "waiting" delete_appr_model.flowId = appr_model.flowId delete_appr_model.onum = str(uuid.uuid4()) - delete_appr_model.parent_id = code.onum + delete_appr_model.parent_id = appr_model.onum delete_appr_model.create_by = current_user.user.user_name delete_appr_model.create_time = datetime.now() @@ -1346,15 +1366,15 @@ class DataStdService: else: raise ServiceException(message='传入标准ID为空') @classmethod - async def change_std_main_onum(cls, query_db: AsyncSession, ids: str,onum:int): + async def change_std_main_onum(cls, query_db: AsyncSession, ids: str,belt_data_std_content:int): if ids: col_id_list = ids.split(',') try: for col_id in col_id_list: col_info = await cls.get_std_main_by_id(query_db, col_id) if col_info: - col_info.belt_data_std_content=onum - await DataStdDao.update_std_main(query_db,col_info.model_dump(exclude_unset=True) ) + col_info.belt_data_std_content=belt_data_std_content + await DataStdDao.update_std_main(query_db,col_info ) await query_db.commit() return CrudResponseModel(is_success=True, message='修改标准分类成功') except Exception as e: diff --git a/vue-fastapi-frontend/src/views/datastd/main/index.vue b/vue-fastapi-frontend/src/views/datastd/main/index.vue index 20700d6..b568ec6 100644 --- a/vue-fastapi-frontend/src/views/datastd/main/index.vue +++ b/vue-fastapi-frontend/src/views/datastd/main/index.vue @@ -414,7 +414,7 @@ const directoryTableData = ref([]) const queryParams = ref({ dataStdNo: '', dataStdBusiDefn: '', - contentOnum:null, + beltDataStdContent:null, pageNum: 1, pageSize: 10, }); @@ -457,7 +457,7 @@ const handleQuery = () => { }; const submitTree = async () => { - const response = await changeStdMainOum({id:ids.value.toString(),sysId:chooseOnumNum.value}); + const response = await changeStdMainOum({onum:ids.value.toString(),beltDataStdContent:chooseOnumNum.value}); if (response.success){ treeVisible.value=false getList(); @@ -622,9 +622,9 @@ const activeName = ref('1') const handleNodeClick = async (data) => { if(data.contentOnum==1){ - queryParams.value.contentOnum=null + queryParams.value.beltDataStdContent=null }else{ - queryParams.value.contentOnum=data.contentOnum + queryParams.value.beltDataStdContent=data.contentOnum } handleQuery(); diff --git a/vue-fastapi-frontend/src/views/datastd/stdcode/index.vue b/vue-fastapi-frontend/src/views/datastd/stdcode/index.vue index 4fe47a4..60a07b9 100644 --- a/vue-fastapi-frontend/src/views/datastd/stdcode/index.vue +++ b/vue-fastapi-frontend/src/views/datastd/stdcode/index.vue @@ -199,7 +199,7 @@ const queryParams = ref({ cdType: '', sysName: '', classId:'code', - sysId: '', + srcSys: '', pageNum: 1, pageSize: 10 }); @@ -230,10 +230,10 @@ const filterNode = (value, data) => { }; const handleNodeClick = (data) => { if(data==9999){ - queryParams.value.sysId =undefined; + queryParams.value.srcSys =undefined; }else{ - queryParams.value.sysId = data.onum; + queryParams.value.srcSys = data.id; } @@ -248,7 +248,7 @@ const form = ref({ cdType: 'company', cdValStat: '', sysName: '', - sysId: undefined + srcSys: undefined }); const ids = ref([]); const cdNos = ref([]); @@ -300,7 +300,7 @@ const resetQuery = () => { cdValCnMean: '', cdType: '', sysName: '', - sysId: '', + srcSys: '', pageNum: 1, pageSize: 10 }; @@ -316,7 +316,7 @@ const handleAdd = () => { cdType: '', cdValStat: '', sysName: '', - sysId: '', + srcSys: '', }; selectedRow.value={...form.value} dialogVisible2.value = true; diff --git a/vue-fastapi-frontend/src/views/system/flow/codeItemCommon.vue b/vue-fastapi-frontend/src/views/system/flow/codeItemCommon.vue index 04624df..8a9caa3 100644 --- a/vue-fastapi-frontend/src/views/system/flow/codeItemCommon.vue +++ b/vue-fastapi-frontend/src/views/system/flow/codeItemCommon.vue @@ -99,9 +99,21 @@ const props = defineProps({ }); const getSrcSysName = (id) => { - const match = dsSysList.find(item => item.id === id); - return match ? match.name : id; + if (!id) return ''; + + const getName = (val) => { + const match = dsSysList.find(item => item.id == val.trim()); + return match ? match.name : val; + }; + + if (typeof id === 'string' && id.includes('==>')) { + const [oldId, newId] = id.split('==>'); + return `${getName(oldId)} ==> ${getName(newId)}`; + } + + return getName(id); }; + const queryParams = ref({ cdNo: '', parentId: props.codeId, diff --git a/vue-fastapi-frontend/src/views/system/flow/dataStdCodeAppr.vue b/vue-fastapi-frontend/src/views/system/flow/dataStdCodeAppr.vue index 43e4e36..9affb4b 100644 --- a/vue-fastapi-frontend/src/views/system/flow/dataStdCodeAppr.vue +++ b/vue-fastapi-frontend/src/views/system/flow/dataStdCodeAppr.vue @@ -14,7 +14,7 @@ {{ row.dataDictVest === 'company' ? '公司级' - : '系统级(' + row.sysName + ')' + : '系统级(' + getSrcSysName(row.srcSys) + ')' }} @@ -74,7 +74,10 @@ import { ref, watch } from 'vue'; import { listStdCodeAppr,} from '@/api/datastd/std'; import codeItemCommon from './codeItemCommon.vue'; // 引入第二个页面组件 +import useUserStore from '@/store/modules/user'; // 注意路径是否正确 +const userStore = useUserStore(); // 正确调用 +const dsSysList = userStore.dsSysList; // 访问属性 const props = defineProps({ flowId: { type: String, @@ -85,7 +88,10 @@ const props = defineProps({ required: true } }); - +const getSrcSysName = (id) => { + const match = dsSysList.find(item => item.id == id); + return match ? match.name : id; +}; // 设置行样式 function tableRowClassName({ row }) { switch (row.changeType) { diff --git a/vue-fastapi-frontend/src/views/system/flow/dataStdDictAppr.vue b/vue-fastapi-frontend/src/views/system/flow/dataStdDictAppr.vue index 6068d07..a5b61c9 100644 --- a/vue-fastapi-frontend/src/views/system/flow/dataStdDictAppr.vue +++ b/vue-fastapi-frontend/src/views/system/flow/dataStdDictAppr.vue @@ -33,7 +33,7 @@ @@ -182,68 +182,14 @@ - {{ formatValue(transIdtoCode(formData.dataStdNo)) }} + {{ formatValue(formData.dataStdNo) }} - - - - - - - {{ formatValue(formData.dataStdBusiOwnershipDept) }} - - - - - - - - {{ formatValue(formData.dataStdBusiOwnershipPrsn) }} - - - - - - - - - - - - {{ formatValue(formData.dataStdItOwnershipPrsn) }} - - - - - - - - {{ formatValue(formData.dataStdItOwnershipPrsn) }} - - - - +