From 459396080bb0bb39bccefb992033e5bce33b0e8b Mon Sep 17 00:00:00 2001 From: Teo <2642673902@qq.com> Date: Thu, 14 Aug 2025 16:40:32 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E9=87=87=E8=B4=AD=E8=81=94=E7=B3=BB?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- .../engineeringChangeApplicationForm.vue | 7 +- src/views/design/prelimScheme/index.vue | 23 +- src/views/design/scheme/index.vue | 24 +- src/views/design/volumeCatalog/index.vue | 2 +- .../materials/materialsInventory/index.vue | 3 +- src/views/materials/orderMaterials/index.vue | 1 + .../overallPlanMaterialSupply/index.vue | 16 + src/views/materials/purchaseDoc/index.vue | 307 ++++++++++++------ 9 files changed, 260 insertions(+), 125 deletions(-) diff --git a/.env.development b/.env.development index fe20df3..21892b7 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.159:8898' +VITE_APP_BASE_API = 'http://192.168.110.180:8898' # 无人机接口地址 diff --git a/src/views/cory/template/components/engineeringChangeApplicationForm.vue b/src/views/cory/template/components/engineeringChangeApplicationForm.vue index db3a07f..90d12ff 100644 --- a/src/views/cory/template/components/engineeringChangeApplicationForm.vue +++ b/src/views/cory/template/components/engineeringChangeApplicationForm.vue @@ -71,8 +71,8 @@ {{ tableDetail.content }} - {{ - tableDetail.attachmentsList.originalName + {{ + tableDetail.attachmentsList?.originalName }} @@ -175,7 +175,8 @@ const props = defineProps({ } }); -const tableDetail = ref({}); +const tableDetail = ref({ attachmentsImgList: [], attachmentsList: [] }); + const exportRef = ref(); const radioList = ref([ { value: 0, label: '设计漏项' }, diff --git a/src/views/design/prelimScheme/index.vue b/src/views/design/prelimScheme/index.vue index a606b62..62c2065 100644 --- a/src/views/design/prelimScheme/index.vue +++ b/src/views/design/prelimScheme/index.vue @@ -42,6 +42,15 @@ From a305c5bc1964235b50d9f33a7127d020d5731027 Mon Sep 17 00:00:00 2001 From: taoge1020 Date: Thu, 14 Aug 2025 16:40:52 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- src/api/design/Professional/index.ts | 7 + src/components/Process/submitVerify.vue | 2 +- src/views/design/Professional/index.vue | 67 ++- src/views/design/Professional/indexEdit.vue | 52 +- src/views/design/appointment/index.vue | 16 +- src/views/design/condition/comm/filePage.vue | 11 +- src/views/design/designChange/index.vue | 34 +- src/views/design/designChange/indexEdit.vue | 19 +- src/views/design/drawing/indexEdit.vue | 2 +- src/views/design/drawingreview/detailForm.vue | 12 +- .../design/volumeCatalog/comm/histroy.vue | 253 +++++++++ src/views/design/volumeCatalog/index.vue | 164 ++---- .../{partyA => }/materialIssue/index.vue | 0 .../materialIssue/word/icon/down.png | Bin .../{partyA => }/materialIssue/word/index.vue | 0 .../{partyA => }/materialReceive/index.vue | 0 .../materialReceive/word/icon/down.png | Bin .../materialReceive/word/index.vue | 0 .../partyB/materialIssue/index.vue | 498 ----------------- .../partyB/materialIssue/word/icon/down.png | Bin 922 -> 0 bytes .../partyB/materialIssue/word/index.vue | 301 ----------- .../partyB/materialReceive/index.vue | 502 ------------------ .../partyB/materialReceive/word/icon/down.png | Bin 922 -> 0 bytes .../partyB/materialReceive/word/index.vue | 290 ---------- 25 files changed, 459 insertions(+), 1773 deletions(-) create mode 100644 src/views/design/volumeCatalog/comm/histroy.vue rename src/views/materials/materialsEquipment/{partyA => }/materialIssue/index.vue (100%) rename src/views/materials/materialsEquipment/{partyA => }/materialIssue/word/icon/down.png (100%) rename src/views/materials/materialsEquipment/{partyA => }/materialIssue/word/index.vue (100%) rename src/views/materials/materialsEquipment/{partyA => }/materialReceive/index.vue (100%) rename src/views/materials/materialsEquipment/{partyA => }/materialReceive/word/icon/down.png (100%) rename src/views/materials/materialsEquipment/{partyA => }/materialReceive/word/index.vue (100%) delete mode 100644 src/views/materials/materialsEquipment/partyB/materialIssue/index.vue delete mode 100644 src/views/materials/materialsEquipment/partyB/materialIssue/word/icon/down.png delete mode 100644 src/views/materials/materialsEquipment/partyB/materialIssue/word/index.vue delete mode 100644 src/views/materials/materialsEquipment/partyB/materialReceive/index.vue delete mode 100644 src/views/materials/materialsEquipment/partyB/materialReceive/word/icon/down.png delete mode 100644 src/views/materials/materialsEquipment/partyB/materialReceive/word/index.vue diff --git a/.env.development b/.env.development index fe20df3..21892b7 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.159:8898' +VITE_APP_BASE_API = 'http://192.168.110.180:8898' # 无人机接口地址 diff --git a/src/api/design/Professional/index.ts b/src/api/design/Professional/index.ts index ad6307b..7f13895 100644 --- a/src/api/design/Professional/index.ts +++ b/src/api/design/Professional/index.ts @@ -24,3 +24,10 @@ export const extractDetail = (id) => { method: 'get' }); }; +// 获取提取资料 +export const getFileList = (id) => { + return request({ + url: '/design/extract/fileList/' + id, + method: 'get' + }); +}; diff --git a/src/components/Process/submitVerify.vue b/src/components/Process/submitVerify.vue index 10e2bda..6744b96 100644 --- a/src/components/Process/submitVerify.vue +++ b/src/components/Process/submitVerify.vue @@ -361,7 +361,7 @@ const handleBackProcess = async () => { await backProcess(backForm.value).finally(() => { loading.value = false; buttonDisabled.value = false; - if (isDrawing.value) { + if (isDrawing.value) { detailFormRef.value.submit(businessId.value); } }); diff --git a/src/views/design/Professional/index.vue b/src/views/design/Professional/index.vue index dedbb83..8466552 100644 --- a/src/views/design/Professional/index.vue +++ b/src/views/design/Professional/index.vue @@ -39,15 +39,16 @@ @@ -55,6 +56,43 @@ + + + + + + + + + + + + + + + + + @@ -63,7 +101,7 @@ import { ref, reactive, computed, onMounted } from 'vue'; import { useUserStoreHook } from '@/store/modules/user'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { wf_business_status } = toRefs(proxy?.useDict('wf_business_status')); -import { extractList } from '@/api/design/Professional'; +import { extractList, getFileList } from '@/api/design/Professional'; // 获取用户 store const userStore = useUserStoreHook(); @@ -73,6 +111,9 @@ const currentProject = computed(() => userStore.selectedProject); const professionalList = ref([]); const showSearch = ref(true); const loading = ref(false); +const loadingFlie = ref(false); +const viewVisible = ref(false); //文件列表展示 +const fileList = ref([]); const data = reactive({ queryParams: { pageNum: 1, @@ -145,7 +186,19 @@ const handleDownload = (row) => { `互提资料.zip` ); }; - +const handleViewFile = (row) => { + window.open(row.docUrl, '_blank'); +}; +const handleFile = async (row) => { + // 查看文件 + viewVisible.value = true; + loadingFlie.value = true; + let res = await getFileList(row.id); + if (res.code == 200) { + fileList.value = res.data; + } + loadingFlie.value = false; +}; // 页面挂载时初始化数据 onMounted(() => { getList(); diff --git a/src/views/design/Professional/indexEdit.vue b/src/views/design/Professional/indexEdit.vue index 09e9365..3f06930 100644 --- a/src/views/design/Professional/indexEdit.vue +++ b/src/views/design/Professional/indexEdit.vue @@ -67,6 +67,7 @@ >
资料 {{ index + 1 }} + - + + + @@ -142,6 +158,7 @@ const { proxy } = getCurrentInstance() as ComponentInternalInstance; import { useUserStoreHook } from '@/store/modules/user'; import { systemUserList } from '@/api/design/appointment'; import { extractBatch, extractDetail } from '@/api/design/Professional'; +import { listVolumeCatalog } from '@/api/design/volumeCatalog'; // 获取用户 store const userStore = useUserStoreHook(); // 从 store 中获取项目列表和当前选中的项目 @@ -150,6 +167,8 @@ const { des_user_major } = toRefs(proxy?.useDict('des_user_major')); const buttonLoading = ref(false); const loading = ref(true); const disableAll = ref(false); +const volumeCatalogList = ref([]); +let volumeMap = new Map(); //路由参数 const routeParams = ref>({}); const flowCodeOptions = [ @@ -206,13 +225,15 @@ const form = reactive({ documents: [ { id: Date.now(), - catalogueName: '', // 文件目录名称 - remark: '' // 备注 + catalogueName: '', // 卷册目录名称 + remark: '', // 备注 + volumeCatalogId: '' //卷册目录ID } ] as Array<{ id: number; catalogueName: string; remark: string; + volumeCatalogId: string; }> }); // 主表单验证规则 @@ -238,7 +259,8 @@ const reset = () => { { id: Date.now(), catalogueName: '', - remark: '' + remark: '', + volumeCatalogId: '' } ]; leaveFormRef.value?.resetFields(); @@ -248,7 +270,8 @@ const addDocumentItem = () => { form.documents.push({ id: Date.now(), catalogueName: '', - remark: '' + remark: '', + volumeCatalogId: '' }); }; @@ -262,7 +285,6 @@ const submitForm = (status1: string) => { buttonLoading.value = true; dialog.visible = false; // 验证表单数据 - // 验证表单数据(主要验证基本信息中的必填项) mainFormRef.value.validate(async (valid) => { if (valid) { console.log('验证成功'); @@ -397,7 +419,8 @@ const byProjectIdAll = async () => { form.documents.push({ id: item.id || Date.now() + index, // 确保id唯一 catalogueName: item.catalogueName || '', - remark: item.remark || '' + remark: item.remark || '', + volumeCatalogId: item.volumeCatalogId }); }); } else { @@ -406,7 +429,8 @@ const byProjectIdAll = async () => { { id: Date.now(), catalogueName: '', - remark: '' + remark: '', + volumeCatalogId: '' } ]; } @@ -414,11 +438,23 @@ const byProjectIdAll = async () => { loading.value = false; buttonLoading.value = false; }; +/** 查询卷册目录列表 */ +const getList = async () => { + const res = await listVolumeCatalog({ projectId: currentProject.value?.id, auditStatus: 'finish' }); + volumeCatalogList.value = res.rows; + volumeCatalogList.value.forEach((e) => { + volumeMap.set(e.design, e); + }); +}; +const handleSelect = (val, item) => { + item.catalogueName = volumeMap.get(val).documentName; +}; onMounted(() => { nextTick(async () => { routeParams.value = proxy.$route.query; reset(); loading.value = false; + getList(); // 获取卷册目录 if (routeParams.value.type === 'update' || routeParams.value.type === 'view' || routeParams.value.type === 'approval') { getDeptAllUser(userStore.deptId).then(() => { byProjectIdAll(); diff --git a/src/views/design/appointment/index.vue b/src/views/design/appointment/index.vue index 0dfaef1..4f7b023 100644 --- a/src/views/design/appointment/index.vue +++ b/src/views/design/appointment/index.vue @@ -150,11 +150,9 @@ import { ref, reactive, computed, onMounted, toRefs } from 'vue'; import { getCurrentInstance } from 'vue'; import type { ComponentInternalInstance } from 'vue'; import { useUserStoreHook } from '@/store/modules/user'; -import { listUserByDeptId } from '@/api/system/user'; import { ElMessage, ElLoading } from 'element-plus'; import { Delete } from '@element-plus/icons-vue'; import { designUserAdd, designUserList, systemUserList } from '@/api/design/appointment'; -import { disable } from 'ol/rotationconstraint'; // 获取当前实例 const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -194,7 +192,6 @@ const getDeptAllUser = async (deptId: any) => { userList.value = res.rows; } catch (error) { ElMessage.error('获取用户列表失败'); - } finally { } }; @@ -374,10 +371,21 @@ const resetForm = () => { ElMessage.info('表单已重置'); } }; +//监听项目id刷新数据 +const listeningProject = watch( + () => currentProject.value?.id, + (nid, oid) => { + getDeptAllUser(userStore.deptId).then(() => { + designUser(); + }); + } +); +onUnmounted(() => { + listeningProject(); +}); // 页面挂载时初始化数据 onMounted(() => { - console.log(userStore.deptId); // 先获取用户列表,再加载表单数据 getDeptAllUser(userStore.deptId).then(() => { designUser(); diff --git a/src/views/design/condition/comm/filePage.vue b/src/views/design/condition/comm/filePage.vue index e7d10dc..909dd49 100644 --- a/src/views/design/condition/comm/filePage.vue +++ b/src/views/design/condition/comm/filePage.vue @@ -25,11 +25,16 @@ diff --git a/src/views/design/designChange/index.vue b/src/views/design/designChange/index.vue index 304a7ef..032e265 100644 --- a/src/views/design/designChange/index.vue +++ b/src/views/design/designChange/index.vue @@ -44,10 +44,11 @@ + - + + + +
@@ -128,7 +133,7 @@ import { listDesignChange, delDesignChange } from '@/api/design/designChange'; import { DesignChangeVO } from '@/api/design/designChange/types'; import { useUserStoreHook } from '@/store/modules/user'; import wordDetial from '@/components/wordDetial/index'; - +import histroy from '../volumeCatalog/comm/histroy.vue'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { design_change_reason_type } = toRefs(proxy?.useDict('design_change_reason_type')); // 获取用户 store @@ -137,11 +142,9 @@ const userStore = useUserStoreHook(); const currentProject = computed(() => userStore.selectedProject); const designChangeList = ref([]); const wordDetialRef = ref>(); +const histroyRef = ref>(); const loading = ref(true); const showSearch = ref(true); -const ids = ref>([]); -const single = ref(true); -const multiple = ref(true); const total = ref(0); const { wf_business_status } = toRefs(proxy?.useDict('wf_business_status')); const queryFormRef = ref(); @@ -151,6 +154,7 @@ const uploadUrl = computed(() => { const viewVisible = ref(false); const fileList = ref([]); const ossid = ref(null); +const viewDetailVisible = ref(false); const data = reactive({ queryParams: { pageNum: 1, @@ -182,7 +186,6 @@ const getList = async () => { /** 搜索按钮操作 */ const handleQuery = () => { - console.log(ossid.value); queryParams.value.pageNum = 1; getList(); }; @@ -192,7 +195,7 @@ const resetQuery = () => { queryFormRef.value?.resetFields(); handleQuery(); }; -/** 新增按钮操作 */ +/** 下发通知 */ const handleAdd = () => { proxy.$tab.closePage(proxy.$route); proxy.$router.push({ @@ -202,7 +205,7 @@ const handleAdd = () => { } }); }; -/** 新增按钮操作 */ +/** 查看详情 */ const handleViewDetail = (row) => { proxy.$tab.closePage(proxy.$route); proxy.$router.push({ @@ -213,7 +216,7 @@ const handleViewDetail = (row) => { } }); }; -// 变更图纸 +// 上传变更图纸 const handleAddChange = (row) => { proxy.$tab.closePage(proxy.$route); proxy.$router.push({ @@ -224,7 +227,7 @@ const handleAddChange = (row) => { } }); }; -/** 查看按钮操作 */ +/** 查看流程操作 */ const handleViewInfo = (row) => { proxy.$tab.closePage(proxy.$route); proxy.$router.push({ @@ -240,9 +243,12 @@ const handleDesignView = async (row?: DesignChangeVO) => { fileList.value = row.ossVoList; viewVisible.value = true; }; -const handleView = (row) => { - // 查看详情 - wordDetialRef.value?.openDialog(row, design_change_reason_type.value); +const handleViewHistory = async (row) => { + // 查看历史流程记录 + viewDetailVisible.value = true; + nextTick(() => { + histroyRef.value?.getList(row.id); + }); }; // 预览 const onOpen = (path: string) => { diff --git a/src/views/design/designChange/indexEdit.vue b/src/views/design/designChange/indexEdit.vue index a6a9b74..0d7c390 100644 --- a/src/views/design/designChange/indexEdit.vue +++ b/src/views/design/designChange/indexEdit.vue @@ -2,9 +2,14 @@
+
+ 返回 +
-

设计变更信息

+

下发变更通知信息

@@ -44,8 +49,8 @@ - - + + @@ -143,7 +148,11 @@
- 返回 { fileVoList.value = obj.fileVoList; form.value.volumeName = obj.volumeName; form.value.specialty = obj.specialty; + form.value.specialtyName = obj.specialtyName; form.value.extendDetail.subName = obj.designSubitem; }; /** 获取详情 */ diff --git a/src/views/design/drawing/indexEdit.vue b/src/views/design/drawing/indexEdit.vue index 9163c22..e066551 100644 --- a/src/views/design/drawing/indexEdit.vue +++ b/src/views/design/drawing/indexEdit.vue @@ -23,7 +23,7 @@
- +
diff --git a/src/views/design/drawingreview/detailForm.vue b/src/views/design/drawingreview/detailForm.vue index 6a2968f..c74bec8 100644 --- a/src/views/design/drawingreview/detailForm.vue +++ b/src/views/design/drawingreview/detailForm.vue @@ -81,7 +81,7 @@ --> - + @@ -115,13 +115,7 @@ --> - + diff --git a/src/views/design/volumeCatalog/comm/histroy.vue b/src/views/design/volumeCatalog/comm/histroy.vue new file mode 100644 index 0000000..a192ac3 --- /dev/null +++ b/src/views/design/volumeCatalog/comm/histroy.vue @@ -0,0 +1,253 @@ + + + + + diff --git a/src/views/design/volumeCatalog/index.vue b/src/views/design/volumeCatalog/index.vue index bc9752a..c6ce76e 100644 --- a/src/views/design/volumeCatalog/index.vue +++ b/src/views/design/volumeCatalog/index.vue @@ -46,18 +46,15 @@ + - - - - + + @@ -114,7 +111,7 @@ v-hasPermi="['out:monthPlan:remove']" >查看流程
- 查看单据 @@ -134,7 +131,9 @@ - + + + @@ -164,7 +163,7 @@ - + 确定 @@ -188,12 +187,12 @@ - + - + @@ -211,100 +210,8 @@ - -
- 选择历史退回记录: - - - -
- 查看excel文件 -
- -

设计验证表

-
- -
- 编号: - {{ examineForm.num }} -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
工程名称{{ examineForm.projectName }}
子项名称{{ examineForm.subprojectName }}设计阶段{{ examineForm.stage }}
专业{{ examineForm.professional }}卷册{{ examineForm.volume }}设计人{{ examineForm.designer }}
验证内容{{ examineForm.verificationContent }}
验证意见执行意见
-
{{ examineForm.verificationOpinion }}
-
-
{{ examineForm.executionOpinion }}
-
-
- 校审: {{ examineForm.proofreading }} - {{ dateFormat(examineForm.proofreadingDate) }} -
-
-
执行人: {{ examineForm.executor }}
-
- {{ dateFormat(examineForm.executorDate) }} -
-
-
- 审核 : {{ examineForm.audit }} - {{ dateFormat(examineForm.auditDate) }} -
-
-
-
-
+ +
@@ -322,7 +229,9 @@ import { } from '@/api/design/volumeCatalog'; import { VolumeCatalogVO } from '@/api/design/volumeCatalog/types'; import { useUserStoreHook } from '@/store/modules/user'; +import histroy from './comm/histroy.vue'; const fileList = ref([]); +import { designUserList } from '@/api/design/appointment'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { design_state, wf_business_status, des_user_major } = toRefs(proxy?.useDict('design_state', 'wf_business_status', 'des_user_major')); import { drawingreviewReceiptsDetail, drawingreviewReceiptsList } from '@/api/design/drawingreview'; @@ -331,12 +240,11 @@ const buttonLoading = ref(false); const loading = ref(true); const showSearch = ref(true); const ids = ref>([]); +const histroyRef = ref>(); const single = ref(true); const multiple = ref(true); const total = ref(0); -const hisId = ref(''); const dialogHistory = ref(false); -const hisList = ref([]); // 获取用户 store const userStore = useUserStoreHook(); // 从 store 中获取项目列表和当前选中的项目 @@ -382,7 +290,7 @@ const examineForm = ref({ volume: '' }); const userList = ref([]); - +const userAppList = ref([]); //人事任命的用户 const initFormData: any = { design: undefined, projectId: currentProject.value?.id || '', @@ -425,26 +333,26 @@ const getList = async () => { loading.value = false; } }; -const dateFormat = (v) => { - if (!v) return '-'; - let time = new Date(v); - let y = time.getFullYear(); - let MM = time.getMonth() + 1; - MM = MM < 10 ? '0' + MM : MM; - let d = time.getDate(); - d = d < 10 ? '0' + d : d; - return y + '年' + MM + '月' + d + '日'; +const getUserAppList = async () => { + const res = await designUserList({ projectId: currentProject.value?.id }); + if (res.code === 200) { + console.log(res.rows); + + res.rows.forEach((item: any) => { + if (item.userType == 2) { + //设计人员 + userAppList.value.push(item); + } + }); + } }; const handleViewHistory = async (row) => { // 查看历史流程记录 dialogHistory.value = true; - hisId.value = ''; - let res = await drawingreviewReceiptsList({ drawingreviewId: row.design }); - hisList.value = res.rows; - if (hisList.value.length > 0) { - hisId.value = hisList.value[0].id; - getDetails(hisId.value); - } + // 查看历史流程记录 + nextTick(() => { + histroyRef.value?.getList(row.design); + }); }; const handleShowInfo = (val) => { getDetails(val); @@ -508,12 +416,6 @@ const handleUpload = async (row?: any) => { uploadForm.fileList = res.data.filter((item) => item.status == '1') || []; uploadVisible.value = true; }; - -/** 查看文件 */ -const lookFile = (fileId: string) => { - // lookViewerFile(fileId); -}; - /** 重置上传表单 */ const resetUploadForm = () => { uploadForm.userIds = []; @@ -612,6 +514,7 @@ const handleUpdate = async (row?: VolumeCatalogVO) => { }; onMounted(() => { + getUserAppList(); getList(); }); @@ -621,6 +524,7 @@ const listeningProject = watch( (nid, oid) => { queryParams.value.projectId = nid; form.value.projectId = nid; + getUserAppList(); getList(); } ); diff --git a/src/views/materials/materialsEquipment/partyA/materialIssue/index.vue b/src/views/materials/materialsEquipment/materialIssue/index.vue similarity index 100% rename from src/views/materials/materialsEquipment/partyA/materialIssue/index.vue rename to src/views/materials/materialsEquipment/materialIssue/index.vue diff --git a/src/views/materials/materialsEquipment/partyA/materialIssue/word/icon/down.png b/src/views/materials/materialsEquipment/materialIssue/word/icon/down.png similarity index 100% rename from src/views/materials/materialsEquipment/partyA/materialIssue/word/icon/down.png rename to src/views/materials/materialsEquipment/materialIssue/word/icon/down.png diff --git a/src/views/materials/materialsEquipment/partyA/materialIssue/word/index.vue b/src/views/materials/materialsEquipment/materialIssue/word/index.vue similarity index 100% rename from src/views/materials/materialsEquipment/partyA/materialIssue/word/index.vue rename to src/views/materials/materialsEquipment/materialIssue/word/index.vue diff --git a/src/views/materials/materialsEquipment/partyA/materialReceive/index.vue b/src/views/materials/materialsEquipment/materialReceive/index.vue similarity index 100% rename from src/views/materials/materialsEquipment/partyA/materialReceive/index.vue rename to src/views/materials/materialsEquipment/materialReceive/index.vue diff --git a/src/views/materials/materialsEquipment/partyA/materialReceive/word/icon/down.png b/src/views/materials/materialsEquipment/materialReceive/word/icon/down.png similarity index 100% rename from src/views/materials/materialsEquipment/partyA/materialReceive/word/icon/down.png rename to src/views/materials/materialsEquipment/materialReceive/word/icon/down.png diff --git a/src/views/materials/materialsEquipment/partyA/materialReceive/word/index.vue b/src/views/materials/materialsEquipment/materialReceive/word/index.vue similarity index 100% rename from src/views/materials/materialsEquipment/partyA/materialReceive/word/index.vue rename to src/views/materials/materialsEquipment/materialReceive/word/index.vue diff --git a/src/views/materials/materialsEquipment/partyB/materialIssue/index.vue b/src/views/materials/materialsEquipment/partyB/materialIssue/index.vue deleted file mode 100644 index 9d413e7..0000000 --- a/src/views/materials/materialsEquipment/partyB/materialIssue/index.vue +++ /dev/null @@ -1,498 +0,0 @@ - - - - diff --git a/src/views/materials/materialsEquipment/partyB/materialIssue/word/icon/down.png b/src/views/materials/materialsEquipment/partyB/materialIssue/word/icon/down.png deleted file mode 100644 index f8fe5967b85b4d8c690fd8006c4ae87f0be11ec6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 922 zcmV;L17-Y)P)Px#1am@3R0s$N2z&@+hyVZsL`g(JR9J=0nY~XFVHm)F&)YI+0F8q&jwG&pL=zIC zU`_lWy4js7O_(rYGht>n!qkL9on_RZkU)flgn@wl1DJ`MZG%JMeH_{%*Iv0^?|Su@ zG`(E!dG6P@Z{LsSgaAxrH6by^unYtDfV;pgAcj&>;g`U%DtQxQ@3g??{yQnOb1(55 z@Hndv5vG77aI=kju8AeLotCeDf?5_GU)FJBcn?haR&!@pU}5{Md~fAqZ&6iAtng8V z*}!V-TS$!5Wd{(8uGkOga zjgs7&mJPQLT}7W{_1U?wE?_$A=0w59lu0+)2GQ|l9WjOso_e$yUg4=9G&=&^V1zf7&Hn4t%}y)3}EPvcic~xFXEP~843e&QEvNP z=lkt{M<>phT0d?TQEnTAUVmX-KAX7+y=S5?Uu%g*YdL-b%q%BrM*Vw7Ta6je#pmmwQg zPdjNjG)hvzM(0*R!5Ss$R(^C{=50;OMogI`+LkRgtK`8IWyP&&*|3(0DEh1_d25+y zCJ7$(&z-a!md5Ki6SssI20 diff --git a/src/views/materials/materialsEquipment/partyB/materialIssue/word/index.vue b/src/views/materials/materialsEquipment/partyB/materialIssue/word/index.vue deleted file mode 100644 index c560a8c..0000000 --- a/src/views/materials/materialsEquipment/partyB/materialIssue/word/index.vue +++ /dev/null @@ -1,301 +0,0 @@ - - - - - diff --git a/src/views/materials/materialsEquipment/partyB/materialReceive/index.vue b/src/views/materials/materialsEquipment/partyB/materialReceive/index.vue deleted file mode 100644 index de8b83e..0000000 --- a/src/views/materials/materialsEquipment/partyB/materialReceive/index.vue +++ /dev/null @@ -1,502 +0,0 @@ - - - - diff --git a/src/views/materials/materialsEquipment/partyB/materialReceive/word/icon/down.png b/src/views/materials/materialsEquipment/partyB/materialReceive/word/icon/down.png deleted file mode 100644 index f8fe5967b85b4d8c690fd8006c4ae87f0be11ec6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 922 zcmV;L17-Y)P)Px#1am@3R0s$N2z&@+hyVZsL`g(JR9J=0nY~XFVHm)F&)YI+0F8q&jwG&pL=zIC zU`_lWy4js7O_(rYGht>n!qkL9on_RZkU)flgn@wl1DJ`MZG%JMeH_{%*Iv0^?|Su@ zG`(E!dG6P@Z{LsSgaAxrH6by^unYtDfV;pgAcj&>;g`U%DtQxQ@3g??{yQnOb1(55 z@Hndv5vG77aI=kju8AeLotCeDf?5_GU)FJBcn?haR&!@pU}5{Md~fAqZ&6iAtng8V z*}!V-TS$!5Wd{(8uGkOga zjgs7&mJPQLT}7W{_1U?wE?_$A=0w59lu0+)2GQ|l9WjOso_e$yUg4=9G&=&^V1zf7&Hn4t%}y)3}EPvcic~xFXEP~843e&QEvNP z=lkt{M<>phT0d?TQEnTAUVmX-KAX7+y=S5?Uu%g*YdL-b%q%BrM*Vw7Ta6je#pmmwQg zPdjNjG)hvzM(0*R!5Ss$R(^C{=50;OMogI`+LkRgtK`8IWyP&&*|3(0DEh1_d25+y zCJ7$(&z-a!md5Ki6SssI20 diff --git a/src/views/materials/materialsEquipment/partyB/materialReceive/word/index.vue b/src/views/materials/materialsEquipment/partyB/materialReceive/word/index.vue deleted file mode 100644 index 4a4312d..0000000 --- a/src/views/materials/materialsEquipment/partyB/materialReceive/word/index.vue +++ /dev/null @@ -1,290 +0,0 @@ - - - - - From 8acfe27a8d95d122d7e288618ce9eb4f4819e3a2 Mon Sep 17 00:00:00 2001 From: Teo <2642673902@qq.com> Date: Thu, 14 Aug 2025 18:53:01 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E9=87=87=E8=B4=AD=E5=8D=95=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/permission.ts | 2 +- src/router/index.ts | 5 + src/views/materials/purchaseDoc/index.vue | 13 +- src/views/materials/purchaseDoc/indexEdit.vue | 439 ++++++++++++++++++ .../materials/purchaseDoc/uploadCode.vue | 54 +++ 5 files changed, 510 insertions(+), 3 deletions(-) create mode 100644 src/views/materials/purchaseDoc/indexEdit.vue create mode 100644 src/views/materials/purchaseDoc/uploadCode.vue diff --git a/src/permission.ts b/src/permission.ts index c919be5..6868529 100644 --- a/src/permission.ts +++ b/src/permission.ts @@ -10,7 +10,7 @@ import useSettingsStore from '@/store/modules/settings'; import usePermissionStore from '@/store/modules/permission'; NProgress.configure({ showSpinner: false }); -const whiteList = ['/login', '/register', '/social-callback', '/register*', '/register/*']; +const whiteList = ['/login', '/register', '/social-callback', '/register*', '/register/*', '/materials/purchaseDoc/uploadCode']; const isWhiteList = (path: string) => { return whiteList.some((pattern) => isPathMatch(pattern, path)); diff --git a/src/router/index.ts b/src/router/index.ts index 6ac8743..c51dbc2 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -118,6 +118,11 @@ export const constantRoutes: RouteRecordRaw[] = [ path: '/gis2D1', component: () => import('@/views/gis2D/index.vue'), hidden: true + }, + { + path: '/materials/purchaseDoc/uploadCode', + component: () => import('@/views/materials/purchaseDoc/uploadCode.vue'), + hidden: true } ]; diff --git a/src/views/materials/purchaseDoc/index.vue b/src/views/materials/purchaseDoc/index.vue index 56511d2..327e512 100644 --- a/src/views/materials/purchaseDoc/index.vue +++ b/src/views/materials/purchaseDoc/index.vue @@ -126,7 +126,7 @@
- + 审核 { planCode: undefined, projectId: currentProject.value?.id }); - batchOptions.value = res.rows; + batchOptions.value = res.rows.filter((item) => item.status == 'finish'); }; const getSupplierList = async () => { @@ -473,6 +473,15 @@ const handleSuccess = (list, res: any) => { form.value.feedbackUrl = res.data.url; }; +/** 审核按钮操作 */ +const handleAudit = async (row?: PurchaseDocVO) => { + proxy?.$tab.closePage(route); + proxy?.$tab.openPage('/materials/purchaseDoc/indexEdit', '审核采购联系单', { + id: row.id, + type: 'update' + }); +}; + onMounted(() => { getList(); getSupplierList(); diff --git a/src/views/materials/purchaseDoc/indexEdit.vue b/src/views/materials/purchaseDoc/indexEdit.vue new file mode 100644 index 0000000..c3683c8 --- /dev/null +++ b/src/views/materials/purchaseDoc/indexEdit.vue @@ -0,0 +1,439 @@ + + + + diff --git a/src/views/materials/purchaseDoc/uploadCode.vue b/src/views/materials/purchaseDoc/uploadCode.vue new file mode 100644 index 0000000..4b4281c --- /dev/null +++ b/src/views/materials/purchaseDoc/uploadCode.vue @@ -0,0 +1,54 @@ + + + + + From 9184fe69746a867aa2431fc944db9bec6f69f0ce Mon Sep 17 00:00:00 2001 From: taoge1020 Date: Thu, 14 Aug 2025 18:53:50 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=9B=BE=E7=BA=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/design/drawing/index.ts | 21 +++ src/views/design/Professional/index.vue | 4 +- src/views/design/condition/comm/filePage.vue | 20 ++- src/views/design/condition/index.vue | 136 ++++++++++++++++-- src/views/design/designChange/index.vue | 4 +- src/views/design/drawing/DrawingTable.vue | 87 +++++------ src/views/design/drawing/index.vue | 63 -------- src/views/design/volumeCatalog/index.vue | 4 +- .../materialReceive/index.vue | 8 ++ 9 files changed, 203 insertions(+), 144 deletions(-) diff --git a/src/api/design/drawing/index.ts b/src/api/design/drawing/index.ts index fbaa117..279df5d 100644 --- a/src/api/design/drawing/index.ts +++ b/src/api/design/drawing/index.ts @@ -61,3 +61,24 @@ export const delDrawing = (id: string | number | Array) => { method: 'delete' }); }; +/** + * 查阅 + * @param id + */ +export const volumeFileViewer = (data) => { + return request({ + url: '/design/volumeFileViewer', + method: 'post', + data + }); +}; +/** + * 查阅记录列表 + * @param id + */ +export const volumeFileViewerList = (id) => { + return request({ + url: '/design/volumeFileViewer/list?volumeFileId=' + id, + method: 'get' + }); +}; diff --git a/src/views/design/Professional/index.vue b/src/views/design/Professional/index.vue index 8466552..41ee447 100644 --- a/src/views/design/Professional/index.vue +++ b/src/views/design/Professional/index.vue @@ -1,5 +1,5 @@