From 89bd2e6d9213f01cf95f192dd3236fe4c8f27887 Mon Sep 17 00:00:00 2001 From: taoge1020 Date: Fri, 22 Aug 2025 10:29:00 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/biddingManagemen/biddingLimit/index.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/biddingManagemen/biddingLimit/index.vue b/src/views/biddingManagemen/biddingLimit/index.vue index d08d055..79b4d4f 100644 --- a/src/views/biddingManagemen/biddingLimit/index.vue +++ b/src/views/biddingManagemen/biddingLimit/index.vue @@ -32,7 +32,7 @@ 导出excel - + From dbc26a3d492a955cc66bc0b1f4cd45c03becc5d5 Mon Sep 17 00:00:00 2001 From: ljx <15723110242@139.com> Date: Fri, 22 Aug 2025 11:42:12 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=8B=9B=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/tender/index.ts | 15 ++ src/views/contract/division/index.vue | 2 +- src/views/tender/plan/comm/planPage.vue | 277 +++++------------------- src/views/tender/plan/index.vue | 104 ++++++--- 4 files changed, 143 insertions(+), 255 deletions(-) diff --git a/src/api/tender/index.ts b/src/api/tender/index.ts index 65a71a6..2f79a49 100644 --- a/src/api/tender/index.ts +++ b/src/api/tender/index.ts @@ -91,3 +91,18 @@ export const getTenderPlanDetail = (query: any): AxiosPromise => { params: query }); }; +//查看招标文件 +export const biddViewLook = (query: any): AxiosPromise => { + return request({ + url: '/tender/biddingPlan/getAnnex', + method: 'get', + params: query + }); +}; +//删除招标文件 +export const delBiddView = (query: any): AxiosPromise => { + return request({ + url: '/tender/biddingPlanAnnex/' + query.ids, + method: 'delete' + }); +}; diff --git a/src/views/contract/division/index.vue b/src/views/contract/division/index.vue index e6a10d1..fe7153c 100644 --- a/src/views/contract/division/index.vue +++ b/src/views/contract/division/index.vue @@ -36,7 +36,7 @@ >详情 修改确定 删除 -
- - - - - - - - - - {{ isExpandAll ? '一键收起' : '一键展开' }} - - - - - - - - 导出excel - - - - - - - - - - - - - - - - - - - - - -
+ + + + + + + + - + diff --git a/src/views/tender/plan/index.vue b/src/views/tender/plan/index.vue index 315b1a1..614d97e 100644 --- a/src/views/tender/plan/index.vue +++ b/src/views/tender/plan/index.vue @@ -10,6 +10,7 @@ + 搜索 重置 @@ -25,6 +26,13 @@ + + + @@ -151,6 +179,7 @@ import { useUserStoreHook } from '@/store/modules/user'; import { getDicts } from '@/api/system/dict/data'; import { Plus } from '@element-plus/icons-vue'; import { FormInstance } from 'element-plus'; +import information from './comm/planPage.vue'; import { sheetList, tenderPlanList, @@ -159,7 +188,9 @@ import { updateTenderPlan, treeList, getTenderPlanDetail, - obtainAllVersionNumbers + obtainAllVersionNumbers, + biddViewLook, + delBiddView } from '@/api/tender/index'; const userStore = useUserStoreHook(); @@ -456,30 +487,7 @@ const submitForm = async (formEl: FormInstance | undefined) => { }; //确定修改 const handleSave = (row: any) => { - try { - if (!row.plannedBiddingTime) { - ElMessage({ - message: '请输入计划招标时间', - type: 'warning' - }); - return; - } - updateTenderPlan({ ...row, type: planType.value }).then((res) => { - if (res.code == 200) { - ElMessage({ - message: '修改成功', - type: 'success' - }); - getList(); - } - }); - } catch (error) { - console.log(error); - ElMessage({ - message: '修改失败', - type: 'error' - }); - } + informationRef.value.open(row, planType.value); }; //删除 const delHandle = (row: any) => { @@ -518,6 +526,42 @@ const getDetails = (row: any) => { } }); }; +const informationRef = ref(); +const biddDialog = ref(false); +const biddViewData = ref([]); +const biddViewRow = ref({}); + +//查看招标文件 +const biddView = async (row: any) => { + biddViewRow.value = row; + biddDialog.value = true; + const params = { + id: row.id + }; + const res = await biddViewLook(params); + if (res.code == 200) { + biddViewData.value = res.data; + } +}; +//删除文件 +const delHandlebidd = (row: any) => { + const params = { + ids: row.id + }; + delBiddView(params).then((res) => { + if (res.code == 200) { + ElMessage({ + message: '删除成功', + type: 'success' + }); + biddView(biddViewRow.value); + } + }); +}; +//查看文件 +const openPdf = (row: any) => { + window.open(row.url); +}; onMounted(() => { getTabsList(); From 3588c5d386e0f5d80cb1ab405aabccd294911b5c Mon Sep 17 00:00:00 2001 From: fengsen <2548667232@qq.com> Date: Fri, 22 Aug 2025 14:29:26 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=90=88=E5=90=8C=E9=99=90=E4=BB=B7?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/contract/limitPrice/index.vue | 18 +- src/views/contract/limitPrice/indexEdit.vue | 357 ++++++++++++++++++++ 2 files changed, 373 insertions(+), 2 deletions(-) create mode 100644 src/views/contract/limitPrice/indexEdit.vue diff --git a/src/views/contract/limitPrice/index.vue b/src/views/contract/limitPrice/index.vue index 9128276..c491091 100644 --- a/src/views/contract/limitPrice/index.vue +++ b/src/views/contract/limitPrice/index.vue @@ -35,6 +35,9 @@ 导出excel + + 审核 + @@ -135,11 +138,11 @@ const changeVersions = () => { //选择表名 const changeSheet = () => { - getTableData(); + getTableData(); }; //获取表名 -const getSheetName = async () => { +const getSheetName = async () => { try { const params = { projectId: currentProject.value?.id, @@ -269,6 +272,17 @@ const handleExport = () => { `限价一览表${queryForm.value.sheet}.xlsx` ); }; +// 审批 +function clickApprovalSheet() { + proxy.$tab.closePage(proxy.$route); + proxy.$router.push({ + path: `/approval/contractLimitPrice/indexEdit`, + query: { + id: '', + type: 'update' + } + }); +} onUnmounted(() => { listeningProject(); }); diff --git a/src/views/contract/limitPrice/indexEdit.vue b/src/views/contract/limitPrice/indexEdit.vue new file mode 100644 index 0000000..c4571f2 --- /dev/null +++ b/src/views/contract/limitPrice/indexEdit.vue @@ -0,0 +1,357 @@ + + + + From d93b0d71a9bd9f19ea7c940341492240926806a7 Mon Sep 17 00:00:00 2001 From: Teo <2642673902@qq.com> Date: Fri, 22 Aug 2025 15:11:31 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=A7=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 10 +- src/views/ctr/index.vue | 715 +++++++++--------- .../materialReceive/index.vue | 6 +- .../out/settlementValueSubcontract/index.vue | 36 +- src/views/patch/index.vue | 4 + src/views/progress/progressCategory/index.vue | 2 +- src/views/tender/plan/index.vue | 4 +- vite.config.ts | 2 +- 8 files changed, 422 insertions(+), 357 deletions(-) diff --git a/.env.development b/.env.development index d905b86..4b01d87 100644 --- a/.env.development +++ b/.env.development @@ -5,8 +5,16 @@ VITE_APP_TITLE = 煤科建管平台 VITE_APP_ENV = 'development' # 开发环境 +# 李陈杰 209 VITE_APP_BASE_API = 'http://192.168.110.209:8899' - +# 曾涛 +# VITE_APP_BASE_API = 'http://192.168.110.180:8899' +# 罗成 +# VITE_APP_BASE_API = 'http://192.168.110.213:8899' +# 朱银 +# VITE_APP_BASE_API = 'http://192.168.110.149:8899' +# VITE_APP_BASE_API = 'http://192.168.110.209:8899' +# VITE_APP_BASE_API = 'http://192.168.110.209:8899' # 无人机接口地址 VITE_APP_BASE_DRONE_API = 'http://58.17.134.85:9512' diff --git a/src/views/ctr/index.vue b/src/views/ctr/index.vue index 851d61e..6bb4d68 100644 --- a/src/views/ctr/index.vue +++ b/src/views/ctr/index.vue @@ -1,408 +1,429 @@ +
+ 上一步 + 下一步
- - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/src/views/materials/materialsEquipment/materialReceive/index.vue b/src/views/materials/materialsEquipment/materialReceive/index.vue index 6e14b99..ecf7bc1 100644 --- a/src/views/materials/materialsEquipment/materialReceive/index.vue +++ b/src/views/materials/materialsEquipment/materialReceive/index.vue @@ -485,13 +485,15 @@ const addItem = () => { // 监听条目数据变化,自动计算缺件数量 const watchItemChanges = (index: number) => { watch( - () => [form.value.itemList[index].quantity, form.value.itemList[index].acceptedQuantity], + () => [form.value.itemList[index]?.quantity, form.value.itemList[index]?.acceptedQuantity], ([quantity, acceptedQuantity]) => { // 确保数量和验收数量都是数字 const qty = Number(quantity) || 0; const acceptedQty = Number(acceptedQuantity) || 0; // 计算缺件数量(数量 - 验收数量) - form.value.itemList[index].shortageQuantity = qty - acceptedQty; + if (form.value.itemList[index]) { + form.value.itemList[index].shortageQuantity = qty - acceptedQty; + } }, { immediate: true } ); diff --git a/src/views/out/settlementValueSubcontract/index.vue b/src/views/out/settlementValueSubcontract/index.vue index d25c1fd..393c571 100644 --- a/src/views/out/settlementValueSubcontract/index.vue +++ b/src/views/out/settlementValueSubcontract/index.vue @@ -105,7 +105,7 @@
- + @@ -121,7 +121,9 @@
- + + + @@ -138,6 +140,7 @@ + + diff --git a/src/views/tender/plan/index.vue b/src/views/tender/plan/index.vue index 614d97e..3f2eb41 100644 --- a/src/views/tender/plan/index.vue +++ b/src/views/tender/plan/index.vue @@ -28,33 +28,77 @@ + + + + @@ -142,7 +186,7 @@ @@ -159,18 +203,21 @@ - + + + + @@ -180,6 +227,7 @@ import { getDicts } from '@/api/system/dict/data'; import { Plus } from '@element-plus/icons-vue'; import { FormInstance } from 'element-plus'; import information from './comm/planPage.vue'; +import winTheBid from './comm/winTheBid.vue'; import { sheetList, tenderPlanList, @@ -436,12 +484,14 @@ const getTreeList = async () => { treeLoading.value = false; } }; +const subLoading = ref(false); const submitForm = async (formEl: FormInstance | undefined) => { if (!formEl) return; await formEl.validate(async (valid, fields) => { if (valid) { try { + subLoading.value = true; if (selectionData.value.length == 0) { ElMessage({ message: '请选择项目材料', @@ -476,8 +526,10 @@ const submitForm = async (formEl: FormInstance | undefined) => { }); closeDialog(); getList(); + subLoading.value = false; } } catch (error) { + subLoading.value = false; console.log(error); } } else { @@ -485,10 +537,28 @@ const submitForm = async (formEl: FormInstance | undefined) => { } }); }; -//确定修改 +const changeBiddingTime = (value: any, row: any) => { + updateTenderPlan({ + ...row + }).then((res) => { + if (res.code == 200) { + ElMessage({ + message: '修改成功', + type: 'success' + }); + getList(); + } + }); +}; +//上传投标文件 const handleSave = (row: any) => { informationRef.value.open(row, planType.value); }; +const winTheBidRef = ref(); +//上传中标文件 +const handleWinTheBid = (row: any) => { + winTheBidRef.value.open(row, planType.value); +}; //删除 const delHandle = (row: any) => { try { @@ -558,9 +628,10 @@ const delHandlebidd = (row: any) => { } }); }; + //查看文件 -const openPdf = (row: any) => { - window.open(row.url); +const openPdf = (url: any) => { + window.open(url); }; onMounted(() => {