From f06e1a01970703eeed41a6e9d96e1bc3dcfb43f2 Mon Sep 17 00:00:00 2001 From: taoge1020 Date: Wed, 13 Aug 2025 19:11:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E7=BA=B8=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- src/api/design/drawingreview/index.ts | 32 +- src/api/design/received/index.ts | 7 + src/components/Process/submitVerify.vue | 63 ++- src/views/design/Professional/index.vue | 23 +- src/views/design/appointment/index.vue | 16 +- src/views/design/condition/comm/filePage.vue | 2 +- src/views/design/drawingreview/detailForm.vue | 381 +++++++++++++ src/views/design/drawingreview/index copy.vue | 520 ------------------ src/views/design/drawingreview/index.vue | 426 ++++++++------ src/views/design/drawingreview/indexEdit.vue | 361 ++++++++++++ src/views/design/received/index.vue | 19 +- 12 files changed, 1126 insertions(+), 726 deletions(-) create mode 100644 src/views/design/drawingreview/detailForm.vue delete mode 100644 src/views/design/drawingreview/index copy.vue create mode 100644 src/views/design/drawingreview/indexEdit.vue diff --git a/.env.development b/.env.development index 21892b7..fe20df3 100644 --- a/.env.development +++ b/.env.development @@ -5,7 +5,7 @@ VITE_APP_TITLE = 新能源项目管理平台 VITE_APP_ENV = 'development' # 开发环境 -VITE_APP_BASE_API = 'http://192.168.110.180:8898' +VITE_APP_BASE_API = 'http://192.168.110.159:8898' # 无人机接口地址 diff --git a/src/api/design/drawingreview/index.ts b/src/api/design/drawingreview/index.ts index 44f1734..882e7ec 100644 --- a/src/api/design/drawingreview/index.ts +++ b/src/api/design/drawingreview/index.ts @@ -17,9 +17,16 @@ export const getDrawingreview = (id) => { method: 'get' }); }; +//查询设计-图纸评审详细 +export const drawingreviewzQuery = (id) => { + return request({ + url: '/design/drawingreview/zQuery/' + id, + method: 'get' + }); +}; //新增设计-图纸评审 -export const addDrawingreview = (params,data) => { +export const addDrawingreview = (params, data) => { return request({ url: '/design/drawingreview/drawingReviewUpload', method: 'post', @@ -44,4 +51,25 @@ export const fillOutTheDesignVerificationForm = (data) => { method: 'put', data }); -}; \ No newline at end of file +}; +// 设计验证表 +export const subProjectListAll = (id) => { + return request({ + url: '/design/drawingreview/subProjectList/' + id, + method: 'get' + }); +}; +// 获取历史设计图纸评审 +export const ObtainHistoricalDesignDrawingsForReview = (id) => { + return request({ + url: '/design/drawingreview/ObtainHistoricalDesignDrawingsForReview/' + id, + method: 'get' + }); +}; +// 根据历史设计图纸评审查询详情 +export const drawingreview = (id) => { + return request({ + url: '/design/drawingreview/' + id, + method: 'get' + }); +}; diff --git a/src/api/design/received/index.ts b/src/api/design/received/index.ts index 921ce63..f8bbbdd 100644 --- a/src/api/design/received/index.ts +++ b/src/api/design/received/index.ts @@ -17,3 +17,10 @@ export const byProjectId = (ProjectId) => { method: 'get' }); }; +// 导出收资清单 +export const exportWord = (params) => { + return request({ + url: '/design/collect/exportWord?id=' + params.id, + method: 'post' + }); +}; diff --git a/src/components/Process/submitVerify.vue b/src/components/Process/submitVerify.vue index 2d99d54..10e2bda 100644 --- a/src/components/Process/submitVerify.vue +++ b/src/components/Process/submitVerify.vue @@ -81,9 +81,8 @@ - - + @@ -108,6 +107,10 @@ +
+ 设计验证 + +
@@ -151,12 +163,14 @@ import UserSelect from '@/components/UserSelect'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; import { UserVO } from '@/api/system/user/types'; import { FlowTaskVO, TaskOperationBo } from '@/api/workflow/task/types'; - +import detailForm from '@/views/design/drawingreview/detailForm.vue'; const userSelectCopyRef = ref>(); const transferTaskRef = ref>(); const delegateTaskRef = ref>(); const multiInstanceUserRef = ref>(); const porUserRef = ref>(); +const detailFormRef = ref>(); +const detailFormTeRef = ref>(); const props = defineProps({ taskVariables: { @@ -185,6 +199,9 @@ const backButtonDisabled = ref(true); // 可驳回得任务节点 const taskNodeList = ref([]); const nickName = ref({}); +const isDrawing = ref(false); //图纸评审标志 +const businessId = ref(''); //业务id +const isShowTermination = ref(false); //显示终止 //节点编码 const nodeCode = ref(''); const buttonObj = ref({ @@ -242,7 +259,9 @@ const backForm = ref>({ }); //打开弹窗 -const openDialog = async (id?: string) => { +const openDialog = async (id?: string, Drawing?: boolean, Id?: string) => { + businessId.value = Id || ''; + isDrawing.value = Drawing; selectCopyUserIds.value = undefined; selectCopyUserList.value = []; form.value.fileId = undefined; @@ -326,6 +345,7 @@ const handleBackProcessOpen = async () => { backLoading.value = true; backButtonDisabled.value = true; const data = await getBackTaskNode(task.value.definitionId, task.value.nodeCode); + // 调用子组件 taskNodeList.value = data.data; backLoading.value = false; backButtonDisabled.value = false; @@ -341,6 +361,9 @@ const handleBackProcess = async () => { await backProcess(backForm.value).finally(() => { loading.value = false; buttonDisabled.value = false; + if (isDrawing.value) { + detailFormRef.value.submit(businessId.value); + } }); dialog.visible = false; backLoading.value = false; @@ -472,8 +495,28 @@ const handleDelegateTask = async (data) => { proxy?.$modal.msgWarning('请选择用户!'); } }; +const handleTermination = async () => { + // 终止任务 + const params = { + taskId: taskId.value, + comment: form.value.message + }; + await terminationTask(params).finally(() => { + // 提交设计验证 + detailFormTeRef.value.submit(businessId.value); + loading.value = false; + buttonDisabled.value = false; + }); + dialog.visible = false; + emits('submitCallback'); + proxy?.$modal.msgSuccess('操作成功'); +}; //终止任务 const handleTerminationTask = async () => { + if (isDrawing.value) { + isShowTermination.value = true; + return; + } const params = { taskId: taskId.value, comment: form.value.message @@ -527,3 +570,15 @@ defineExpose({ openDialog }); + diff --git a/src/views/design/Professional/index.vue b/src/views/design/Professional/index.vue index b457fd1..dedbb83 100644 --- a/src/views/design/Professional/index.vue +++ b/src/views/design/Professional/index.vue @@ -27,7 +27,7 @@ - + @@ -41,11 +41,9 @@ 审核 - - - + + 导出 + 查看流程(); const { queryParams } = toRefs(data); // 查询提资清单表 const getList = async () => { - let res = await extractList({ projectId: currentProject.value?.id }); + let res = await extractList({ ...queryParams.value }); if (res.code == 200) { professionalList.value = res.rows; total.value = res.total; //默认第一个 @@ -137,8 +135,15 @@ const handleUpdate = (row) => { } }); }; -const handleDelete = (row) => { - // +const handleDownload = (row) => { + // 导出接口 + proxy?.download( + 'design/extract/exportWord', + { + id: row.id + }, + `互提资料.zip` + ); }; // 页面挂载时初始化数据 diff --git a/src/views/design/appointment/index.vue b/src/views/design/appointment/index.vue index a082bc0..0dfaef1 100644 --- a/src/views/design/appointment/index.vue +++ b/src/views/design/appointment/index.vue @@ -5,11 +5,13 @@

人员配置

请配置项目相关负责人员信息

+ + 点击编辑 +
- - +
@@ -120,12 +122,10 @@
-
暂无校审人员,请点击"新增校审人员"添加
-
{ try { @@ -213,6 +214,9 @@ const designUser = async () => { form.designLeader = null; form.designers = []; form.reviewers = []; + if (res.rows.length > 0) { + disabledForm.value = true; + } // 处理返回的数据,进行回显 res.rows.forEach((item: any) => { if (item.userType == 1) { @@ -292,7 +296,6 @@ const removePerson = (type: 'designers' | 'reviewers', index: number) => { /** 提交表单 */ const submitForm = async () => { if (!leaveFormRef.value) return; - try { // 表单验证 await leaveFormRef.value.validate(); @@ -349,6 +352,7 @@ const submitForm = async () => { projectId: currentProject.value?.id }); if (res.code === 200) { + disabledForm.value = true; ElMessage.success('提交成功'); } else { ElMessage.error(res.msg || '提交失败'); diff --git a/src/views/design/condition/comm/filePage.vue b/src/views/design/condition/comm/filePage.vue index c718526..1ad9f7d 100644 --- a/src/views/design/condition/comm/filePage.vue +++ b/src/views/design/condition/comm/filePage.vue @@ -26,7 +26,7 @@