Browse Source

功能优化

master
siyaqi 2 weeks ago
parent
commit
93cf07f06d
  1. 2
      vue-fastapi-backend/module_admin/controller/datastd_controller.py
  2. 48
      vue-fastapi-backend/module_admin/service/datastd_service.py
  3. 8
      vue-fastapi-frontend/src/views/datastd/main/index.vue
  4. 12
      vue-fastapi-frontend/src/views/datastd/stdcode/index.vue
  5. 16
      vue-fastapi-frontend/src/views/system/flow/codeItemCommon.vue
  6. 10
      vue-fastapi-frontend/src/views/system/flow/dataStdCodeAppr.vue
  7. 58
      vue-fastapi-frontend/src/views/system/flow/dataStdDictAppr.vue

2
vue-fastapi-backend/module_admin/controller/datastd_controller.py

@ -651,7 +651,7 @@ async def change_std_main_onum(
edit_std_main: DataStdMainModel, edit_std_main: DataStdMainModel,
query_db: AsyncSession = Depends(get_db), 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) logger.info(delete_std_main_result.message)
return ResponseUtil.success(msg=delete_std_main_result.message) return ResponseUtil.success(msg=delete_std_main_result.message)
# 标准代码映射图谱 # 标准代码映射图谱

48
vue-fastapi-backend/module_admin/service/datastd_service.py

@ -155,19 +155,37 @@ class DataStdService:
@classmethod @classmethod
async def code_appr_detail_services(cls, query_db: AsyncSession, col: str): async def code_appr_detail_services(cls, query_db: AsyncSession, col: str):
""" """
获取参数配置详细信息service 获取参数配置详细信息 service
:param query_db: orm对象 :param query_db: orm对象
:param config_id: 参数配置id :param col: 参数配置 id
:return: 参数配置id对应的信息 :return: 参数配置 id 对应的信息标记变更字段
""" """
config = await DataStdDao.get_std_code_appr_by_id(query_db, col) config = await DataStdDao.get_std_code_appr_by_id(query_db, col)
if config: if not config:
result = DataStdCodeApprModel(**CamelCaseUtil.transform_result(config)) return DataStdCodeApprModel(**dict())
else:
result = 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 @classmethod
async def edit_std_code_services(cls, request: Request, query_db: AsyncSession, page_object: DataStdCodeModel): 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.parent_id = code.onum
item.upd_prsn = current_user.user.user_name item.upd_prsn = current_user.user.user_name
item.upd_time = datetime.now() 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 item.src_sys = '公司级' if 'company' == item.cd_type else item.src_sys
if item.onum: # 修改项 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) 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.changeType = "update"
item_appr_model.compareId = last_item_appr.onum 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.oldInstId = item.onum
item_appr_model.approStatus = "waiting" item_appr_model.approStatus = "waiting"
item_appr_model.flowId = appr_model.flowId item_appr_model.flowId = appr_model.flowId
@ -513,7 +533,7 @@ class DataStdService:
item_appr_model.oldInstId = item.onum item_appr_model.oldInstId = item.onum
item_appr_model.approStatus = "waiting" item_appr_model.approStatus = "waiting"
item_appr_model.flowId = appr_model.flowId 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) await DataStdDao.add_std_code_appr(query_db, item_appr_model)
for old_item in code_item_list_old: for old_item in code_item_list_old:
@ -527,7 +547,7 @@ class DataStdService:
delete_appr_model.approStatus = "waiting" delete_appr_model.approStatus = "waiting"
delete_appr_model.flowId = appr_model.flowId delete_appr_model.flowId = appr_model.flowId
delete_appr_model.onum = str(uuid.uuid4()) 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_by = current_user.user.user_name
delete_appr_model.create_time = datetime.now() delete_appr_model.create_time = datetime.now()
@ -1346,15 +1366,15 @@ class DataStdService:
else: else:
raise ServiceException(message='传入标准ID为空') raise ServiceException(message='传入标准ID为空')
@classmethod @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: if ids:
col_id_list = ids.split(',') col_id_list = ids.split(',')
try: try:
for col_id in col_id_list: for col_id in col_id_list:
col_info = await cls.get_std_main_by_id(query_db, col_id) col_info = await cls.get_std_main_by_id(query_db, col_id)
if col_info: if col_info:
col_info.belt_data_std_content=onum col_info.belt_data_std_content=belt_data_std_content
await DataStdDao.update_std_main(query_db,col_info.model_dump(exclude_unset=True) ) await DataStdDao.update_std_main(query_db,col_info )
await query_db.commit() await query_db.commit()
return CrudResponseModel(is_success=True, message='修改标准分类成功') return CrudResponseModel(is_success=True, message='修改标准分类成功')
except Exception as e: except Exception as e:

8
vue-fastapi-frontend/src/views/datastd/main/index.vue

@ -414,7 +414,7 @@ const directoryTableData = ref([])
const queryParams = ref({ const queryParams = ref({
dataStdNo: '', dataStdNo: '',
dataStdBusiDefn: '', dataStdBusiDefn: '',
contentOnum:null, beltDataStdContent:null,
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
}); });
@ -457,7 +457,7 @@ const handleQuery = () => {
}; };
const submitTree = async () => { 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){ if (response.success){
treeVisible.value=false treeVisible.value=false
getList(); getList();
@ -622,9 +622,9 @@ const activeName = ref('1')
const handleNodeClick = async (data) => { const handleNodeClick = async (data) => {
if(data.contentOnum==1){ if(data.contentOnum==1){
queryParams.value.contentOnum=null queryParams.value.beltDataStdContent=null
}else{ }else{
queryParams.value.contentOnum=data.contentOnum queryParams.value.beltDataStdContent=data.contentOnum
} }
handleQuery(); handleQuery();

12
vue-fastapi-frontend/src/views/datastd/stdcode/index.vue

@ -199,7 +199,7 @@ const queryParams = ref({
cdType: '', cdType: '',
sysName: '', sysName: '',
classId:'code', classId:'code',
sysId: '', srcSys: '',
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
}); });
@ -230,10 +230,10 @@ const filterNode = (value, data) => {
}; };
const handleNodeClick = (data) => { const handleNodeClick = (data) => {
if(data==9999){ if(data==9999){
queryParams.value.sysId =undefined; queryParams.value.srcSys =undefined;
}else{ }else{
queryParams.value.sysId = data.onum; queryParams.value.srcSys = data.id;
} }
@ -248,7 +248,7 @@ const form = ref({
cdType: 'company', cdType: 'company',
cdValStat: '', cdValStat: '',
sysName: '', sysName: '',
sysId: undefined srcSys: undefined
}); });
const ids = ref([]); const ids = ref([]);
const cdNos = ref([]); const cdNos = ref([]);
@ -300,7 +300,7 @@ const resetQuery = () => {
cdValCnMean: '', cdValCnMean: '',
cdType: '', cdType: '',
sysName: '', sysName: '',
sysId: '', srcSys: '',
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 10
}; };
@ -316,7 +316,7 @@ const handleAdd = () => {
cdType: '', cdType: '',
cdValStat: '', cdValStat: '',
sysName: '', sysName: '',
sysId: '', srcSys: '',
}; };
selectedRow.value={...form.value} selectedRow.value={...form.value}
dialogVisible2.value = true; dialogVisible2.value = true;

16
vue-fastapi-frontend/src/views/system/flow/codeItemCommon.vue

@ -99,9 +99,21 @@ const props = defineProps({
}); });
const getSrcSysName = (id) => { const getSrcSysName = (id) => {
const match = dsSysList.find(item => item.id === id); if (!id) return '';
return match ? match.name : id;
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({ const queryParams = ref({
cdNo: '', cdNo: '',
parentId: props.codeId, parentId: props.codeId,

10
vue-fastapi-frontend/src/views/system/flow/dataStdCodeAppr.vue

@ -14,7 +14,7 @@
{{ {{
row.dataDictVest === 'company' row.dataDictVest === 'company'
? '公司级' ? '公司级'
: '系统级(' + row.sysName + ')' : '系统级(' + getSrcSysName(row.srcSys) + ')'
}} }}
</template> </template>
</el-table-column> </el-table-column>
@ -74,7 +74,10 @@
import { ref, watch } from 'vue'; import { ref, watch } from 'vue';
import { listStdCodeAppr,} from '@/api/datastd/std'; import { listStdCodeAppr,} from '@/api/datastd/std';
import codeItemCommon from './codeItemCommon.vue'; // import codeItemCommon from './codeItemCommon.vue'; //
import useUserStore from '@/store/modules/user'; //
const userStore = useUserStore(); //
const dsSysList = userStore.dsSysList; // 访
const props = defineProps({ const props = defineProps({
flowId: { flowId: {
type: String, type: String,
@ -85,7 +88,10 @@ const props = defineProps({
required: true required: true
} }
}); });
const getSrcSysName = (id) => {
const match = dsSysList.find(item => item.id == id);
return match ? match.name : id;
};
// //
function tableRowClassName({ row }) { function tableRowClassName({ row }) {
switch (row.changeType) { switch (row.changeType) {

58
vue-fastapi-frontend/src/views/system/flow/dataStdDictAppr.vue

@ -33,7 +33,7 @@
<el-table-column label="数据标准" align="center" prop="dataStdNo"> <el-table-column label="数据标准" align="center" prop="dataStdNo">
<template #default="{ row }"> <template #default="{ row }">
<span>{{ transIdtoCode(row.dataStdNo) }}</span> <span>{{row.dataStdNo }}</span>
</template> </template>
</el-table-column> </el-table-column>
@ -182,68 +182,14 @@
</span> </span>
</template> </template>
<span :class="{ 'changed-value': isChanged(formData.dataStdNo) }"> <span :class="{ 'changed-value': isChanged(formData.dataStdNo) }">
{{ formatValue(transIdtoCode(formData.dataStdNo)) }} {{ formatValue(formData.dataStdNo) }}
</span> </span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<!-- 第四行2 -->
<el-row gutter="20">
<el-col :span="12">
<el-form-item prop="dataStdBusiOwnershipDept">
<template #label>
<span :class="{ 'changed-label': isChanged(formData.dataStdBusiOwnershipDept) }">
业务认责部门
</span>
</template>
<span :class="{ 'changed-value': isChanged(formData.dataStdBusiOwnershipDept) }">
{{ formatValue(formData.dataStdBusiOwnershipDept) }}
</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="dataStdBusiOwnershipPrsn">
<template #label>
<span :class="{ 'changed-label': isChanged(formData.dataStdBusiOwnershipPrsn) }">
业务认责人员
</span>
</template>
<span :class="{ 'changed-value': isChanged(formData.dataStdBusiOwnershipPrsn) }">
{{ formatValue(formData.dataStdBusiOwnershipPrsn) }}
</span>
</el-form-item>
</el-col>
</el-row>
<!-- 第五行2 -->
<el-row gutter="20">
<el-col :span="12">
<el-form-item prop="dataStdItOwnershipPrsn">
<template #label>
<span :class="{ 'changed-label': isChanged(formData.dataStdItOwnershipPrsn) }">
技术认责部门
</span>
</template>
<span :class="{ 'changed-value': isChanged(formData.dataStdItOwnershipPrsn) }">
{{ formatValue(formData.dataStdItOwnershipPrsn) }}
</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="dataStdItOwnershipPrsn">
<template #label>
<span :class="{ 'changed-label': isChanged(formData.dataStdItOwnershipPrsn) }">
技术认责人员
</span>
</template>
<span :class="{ 'changed-value': isChanged(formData.dataStdItOwnershipPrsn) }">
{{ formatValue(formData.dataStdItOwnershipPrsn) }}
</span>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<template #footer> <template #footer>

Loading…
Cancel
Save