From a7a4ac25d80d9bf931193cf65858446c34f47a5e Mon Sep 17 00:00:00 2001 From: siyaqi Date: Wed, 19 Mar 2025 02:30:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=95=E7=94=A8=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/datastd_controller.py | 2 +- .../module_admin/dao/datastd_dao.py | 2 +- .../module_admin/entity/do/datastd_do.py | 1 + .../module_admin/entity/vo/datastd_vo.py | 1 + .../datastd/main/components/AddEditForm.vue | 52 ++- .../src/views/datastd/main/index.vue | 26 +- .../views/datastd/stdcode/codeComponents.vue | 333 ++++++++++++++++++ .../views/datastd/stdcode/codeItemCommon.vue | 4 +- 8 files changed, 413 insertions(+), 8 deletions(-) create mode 100644 vue-fastapi-frontend/src/views/datastd/stdcode/codeComponents.vue diff --git a/vue-fastapi-backend/module_admin/controller/datastd_controller.py b/vue-fastapi-backend/module_admin/controller/datastd_controller.py index 9fa4ff2..8267051 100644 --- a/vue-fastapi-backend/module_admin/controller/datastd_controller.py +++ b/vue-fastapi-backend/module_admin/controller/datastd_controller.py @@ -434,7 +434,7 @@ async def edit_std_main( edit_std_main.update_time = datetime.now() edit_std_main_result = await DataStdService.edit_std_main(query_db, edit_std_main) logger.info(edit_std_main_result.message) - return ResponseUtil.success(msg=edit_std_main_result.message) + return ResponseUtil.success(msg=edit_std_main_result.message) @datastdController.delete('/stdmain/main/{id}', dependencies=[Depends(CheckUserInterfaceAuth('datastd:stdmain:main:remove'))]) diff --git a/vue-fastapi-backend/module_admin/dao/datastd_dao.py b/vue-fastapi-backend/module_admin/dao/datastd_dao.py index 5a51867..81d2050 100644 --- a/vue-fastapi-backend/module_admin/dao/datastd_dao.py +++ b/vue-fastapi-backend/module_admin/dao/datastd_dao.py @@ -686,7 +686,7 @@ class DataStdDao: @classmethod async def update_std_main(cls, db: AsyncSession, update_data: DataStdMainModel): - await db.execute(update(DataStdMain).where(DataStdMain.id == update_data.id).values(**update_data.model_dump())) + await db.execute(update(DataStdMain), [update_data]) await db.flush() @classmethod diff --git a/vue-fastapi-backend/module_admin/entity/do/datastd_do.py b/vue-fastapi-backend/module_admin/entity/do/datastd_do.py index 6eb4a2a..8c92b18 100644 --- a/vue-fastapi-backend/module_admin/entity/do/datastd_do.py +++ b/vue-fastapi-backend/module_admin/entity/do/datastd_do.py @@ -104,6 +104,7 @@ class DataStdMain(Base): sys_id = Column(Integer, default=None, comment='归属系统Id') std_menu = Column(String(200), default=None, comment='标准业务定义') code_num = Column(String(50), default=None, comment='代码编号') + code_id = Column(String(50), default=None, comment='代码id') std_status = Column(String(1), default=None, comment='标准状态(1:有效 0:无效)') buss_dept_id = Column(BigInteger, default=None, comment='业务认责部门') tech_dept_id = Column(BigInteger, default=None, comment='技术认责部门') diff --git a/vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py b/vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py index 403afa6..2d59c9c 100644 --- a/vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py +++ b/vue-fastapi-backend/module_admin/entity/vo/datastd_vo.py @@ -106,6 +106,7 @@ class DataStdMainModel(BaseModel): sys_id: Optional[int] = Field(default=None, description='归属系统Id') std_menu: Optional[str] = Field(default=None, description='标准业务定义') code_num: Optional[str] = Field(default=None, description='代码编号') + code_id: Optional[str] = Field(default=None, description='代码id') std_status: Optional[str] = Field(default=None, description='标准状态(1:有效 0:无效)') buss_dept_id: Optional[int] = Field(default=None, description='业务认责部门') tech_dept_id: Optional[int] = Field(default=None, description='技术认责部门') diff --git a/vue-fastapi-frontend/src/views/datastd/main/components/AddEditForm.vue b/vue-fastapi-frontend/src/views/datastd/main/components/AddEditForm.vue index abcecab..cc97090 100644 --- a/vue-fastapi-frontend/src/views/datastd/main/components/AddEditForm.vue +++ b/vue-fastapi-frontend/src/views/datastd/main/components/AddEditForm.vue @@ -40,8 +40,22 @@ - - + + + + + + + + 取消 + 确定 + + @@ -100,6 +122,8 @@ import { ref, watch } from 'vue'; import { updateStdMain, addStdMain } from '@/api/datastd/std'; // 确保接口存在 import { listUser, deptTreeSelect } from "@/api/system/user"; +import codeComponents from '../../stdcode/codeComponents.vue'; + const { proxy } = getCurrentInstance(); const { std_code_status,std_code_appr } = proxy.useDict("std_code_status","std_code_appr"); @@ -118,6 +142,7 @@ const props = defineProps({ type: Boolean, }, }); + // 定义表单校验规则 const formRules = ref({ stdNum: [{ required: true, message: '请输入标准编号', trigger: 'blur' }], @@ -129,7 +154,30 @@ const formRules = ref({ bussUser: [{ required: true, message: '请输入业务认责人', trigger: 'blur' }], techUser: [{ required: true, message: '请输入技术认责人', trigger: 'blur' }], }); +const codeCancel = () => { + codeVisible.value = false; +}; +const codeSave = () => { + console.log("sssss") + const child = proxy.$refs.showCodeDialog; + const mapList=child.selections + if(mapList.length!=1){ + proxy.$modal.msgWarning("请选择一条代码进行映射"); + + }else{ + const mapCodeItem=child.selections[0] + +formData.value.codeNum=mapCodeItem.codeNum +formData.value.codeId=mapCodeItem.id + + codeVisible.value = false; + + proxy.$modal.msgSuccess("代码引用成功"); + +}}; + const showSys = ref(false); +const codeVisible = ref(false); const emit = defineEmits(['update:visible', 'refresh']); const userList = ref([]); const formData = ref({ ...props.data }); diff --git a/vue-fastapi-frontend/src/views/datastd/main/index.vue b/vue-fastapi-frontend/src/views/datastd/main/index.vue index 5bdb643..5f5c53e 100644 --- a/vue-fastapi-frontend/src/views/datastd/main/index.vue +++ b/vue-fastapi-frontend/src/views/datastd/main/index.vue @@ -231,7 +231,18 @@ - + + + + {{ scope.row.codeNum }} + + + @@ -291,6 +302,10 @@ v-model:visible="dialogVisible" @refresh="getList" /> + + + + @@ -316,12 +331,13 @@ import { } from "@/api/datastd/std"; // 更新为新的接口 import useUserStore from '@/store/modules/user' import { nextTick } from 'vue' +import codeItemCommon from '../stdcode/codeItemCommon.vue' import { datasourcetree } from "@/api/meta/metatask"; const { proxy } = getCurrentInstance() const { hasPermiOr } = auth const userStore = useUserStore() - +const codeVisible = ref(false); const defaultProps = { children: 'children', label: 'contentName', @@ -340,6 +356,7 @@ const single = ref(true); const multiple = ref(true); const dialogVisible = ref(false); const selectedRow = ref(null); +const codeId = ref(null); const isEdit = ref(false); const tableData = ref([]); const total = ref(0); @@ -351,7 +368,12 @@ const handlePagination = (pageNum, pageSize) => { queryParams.value.pageSize = pageSize; handleQuery(); }; +// 点击代码名称,弹出第二个对话框并传递数据 +const handleCodeClick = (row) => { + codeId.value=row.codeId + codeVisible.value = true; +}; const resetQuery = () => { queryParams.value = { stdNum: '', stdMenu: '' , pageNum: 1, pageSize: 10} diff --git a/vue-fastapi-frontend/src/views/datastd/stdcode/codeComponents.vue b/vue-fastapi-frontend/src/views/datastd/stdcode/codeComponents.vue new file mode 100644 index 0000000..a5f55ba --- /dev/null +++ b/vue-fastapi-frontend/src/views/datastd/stdcode/codeComponents.vue @@ -0,0 +1,333 @@ + + + + + + + + + + + + + {{ data.name }} + + + + + + + + + + + + + + + + 搜索 + 重置 + + + + + + + + + + + + + {{ scope.row.codeName }} + + + + + + + + + + + + 查看 + + + + + + + + 代码映射 + {{ scope.row.codeMapName }} + + + + + + + + + + + + + + + + + + 取消 + 确定 + + + + + + + + + + + + + + + + + + diff --git a/vue-fastapi-frontend/src/views/datastd/stdcode/codeItemCommon.vue b/vue-fastapi-frontend/src/views/datastd/stdcode/codeItemCommon.vue index 1e06902..17fc85c 100644 --- a/vue-fastapi-frontend/src/views/datastd/stdcode/codeItemCommon.vue +++ b/vue-fastapi-frontend/src/views/datastd/stdcode/codeItemCommon.vue @@ -84,10 +84,10 @@ const props = defineProps({ codeId: { type: Object, required: false - }, + } }); - +console.log(props.codeNum) const queryParams = ref({ codeNum: '', parentId: props.codeId,