From 93933e6ebe74d36630e3b1bc0ef811333ff9d5d6 Mon Sep 17 00:00:00 2001 From: lSun <15893999301@qq.com> Date: Mon, 14 Oct 2024 19:21:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E7=9B=B8=E5=85=B3-=E5=88=86?= =?UTF-8?q?=E5=85=AC=E5=8F=B8=E9=A1=B9=E7=9B=AE=E9=83=A8=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/process/branchPro.js | 6 +- src/api/process/branchProExamine.js | 26 + src/views/process/branchPro/index.vue | 403 +++++--- src/views/process/branchProExamine/index.vue | 979 +++++++++++++++++++ 4 files changed, 1279 insertions(+), 135 deletions(-) create mode 100644 src/api/process/branchProExamine.js create mode 100644 src/views/process/branchProExamine/index.vue diff --git a/src/api/process/branchPro.js b/src/api/process/branchPro.js index 3e01e21..5a47b2f 100644 --- a/src/api/process/branchPro.js +++ b/src/api/process/branchPro.js @@ -28,8 +28,12 @@ export function addType(data) { } // 修改 -export function updateType(data) { +export function updateType(data,oldOrgName) { let dataList = handle(data) + if(oldOrgName == dataList.orgName ){ + delete dataList.orgName; // 删除 orgName 参数 + } + console.log(dataList) return request({ url: '/system/subOrg', method: 'put', diff --git a/src/api/process/branchProExamine.js b/src/api/process/branchProExamine.js new file mode 100644 index 0000000..8bfddf1 --- /dev/null +++ b/src/api/process/branchProExamine.js @@ -0,0 +1,26 @@ +import request from '@/utils/request' + +// 查询列表 +export function listType(query) { + return request({ + url: '/system/subOrg/checkList', + method: 'get', + params: query + }) +} + +// 查询详细 +export function getType(orgId) { + return request({ + url: '/system/subOrg/' + orgId, + method: 'get' + }) +} + +// 审批/提交/撤回 +export function changeStatus(orgId,reviewerStatus) { + return request({ + url: '/system/subOrg/changeStatus/'+orgId+"/"+reviewerStatus, + method: 'put' + }) +} diff --git a/src/views/process/branchPro/index.vue b/src/views/process/branchPro/index.vue index 6fa3a41..362997a 100644 --- a/src/views/process/branchPro/index.vue +++ b/src/views/process/branchPro/index.vue @@ -45,7 +45,7 @@ plain icon="el-icon-download" size="mini" - @click="handleUpdate" + @click="" >导出 @@ -98,7 +98,7 @@ type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" - v-if="scope.row.reviewerStatus == 0" + v-if="scope.row.reviewerStatus != 1 " >修改 + - + +
+ +
- + +
+ +
- + +
+ +
- + +
+ +
- + +
+ +
- + +
+ +
- + +
+ +
- + +
+ +
- + +
+ +
@@ -327,7 +409,7 @@
@@ -358,7 +440,7 @@ export default { title: "", // 是否显示弹出层 open: false, - details:true, + details: true, // 日期范围 dateRange: [], // 查询参数 @@ -433,6 +515,19 @@ export default { safetyCurrentCheckedNode: [], qualityCurrentCheckedNode: [], proCurrentCheckedNode: [], + oldOrgName: [], + + + //回显文本 + managerSelectedDataText: "", + safetySelectedDataText: "", + qualitySelectedDataText: "", + proSelectedDataText: "", + mechanicSelectedDataText: "", + documenterSelectedDataText: "", + constructionSelectedDataText: "", + materialmanSelectedDataText: "", + otherSelectedDataText: "", }; }, created() { @@ -504,6 +599,25 @@ export default { constructionIdToIdMap: {}, materialmanIdToIdMap: {}, otherIdToIdMap: {}, + + // 用于存储当前选中的节点 + managerCurrentCheckedNode: [], + safetyCurrentCheckedNode: [], + qualityCurrentCheckedNode: [], + proCurrentCheckedNode: [], + + oldOrgName: [], + + //回显文本重置 + managerSelectedDataText: "", + safetySelectedDataText: "", + qualitySelectedDataText: "", + proSelectedDataText: "", + mechanicSelectedDataText: "", + documenterSelectedDataText: "", + constructionSelectedDataText: "", + materialmanSelectedDataText: "", + otherSelectedDataText: "", }; this.resetForm("form"); }, @@ -565,9 +679,10 @@ export default { /** 修改按钮操作 */ handleUpdate(row) { this.reset(); - const ids = row.id + const ids = row.id; getType(ids).then(response => { this.form = response.data; + this.oldOrgName = row.orgName this.open = true; this.details = true; this.title = "分公司项目部修改"; @@ -618,15 +733,15 @@ export default { }); /** 人员 */ - this.getStaffTreeselect("-1", "1", "", "manager"); - this.getStaffTreeselect("-1", "2", "", "safety"); - this.getStaffTreeselect("-1", "3", "", "quality"); - this.getStaffTreeselect("-1", "4", "", "pro"); - this.getStaffTreeselect("-1", "5", "", "mechanic"); - this.getStaffTreeselect("-1", "6", "", "documenter"); - this.getStaffTreeselect("-1", "7", "", "construction"); - this.getStaffTreeselect("-1", "8", "", "materialman"); - this.getStaffTreeselect("-1", "9", "", "other"); + this.getStaffTreeselect(ids, "1", "", "manager"); + this.getStaffTreeselect(ids, "2", "", "safety"); + this.getStaffTreeselect(ids, "3", "", "quality"); + this.getStaffTreeselect(ids, "4", "", "pro"); + this.getStaffTreeselect(ids, "5", "", "mechanic"); + this.getStaffTreeselect(ids, "6", "", "documenter"); + this.getStaffTreeselect(ids, "7", "", "construction"); + this.getStaffTreeselect(ids, "8", "", "materialman"); + this.getStaffTreeselect(ids, "9", "", "other"); }); }, @@ -715,7 +830,7 @@ export default { if (this.form.id != undefined) { - updateType(this.form).then(response => { + updateType(this.form, this.oldOrgName).then(response => { this.$modal.msgSuccess("修改成功"); this.open = false; this.getList(); @@ -746,7 +861,7 @@ export default { handleWithdraw(row) { const ids = row.id; this.$modal.confirm('是否确认撤回此数据项?').then(function () { - return changeStatus(ids,"3"); + return changeStatus(ids, "3"); }).then(() => { this.getList(); this.$modal.msgSuccess("撤回成功"); @@ -879,9 +994,28 @@ export default { console.error(`Unknown type: ${types}`); break; } + + this.updateSelectedDataText('manager', 'managerSelectedDataText'); + this.updateSelectedDataText('safety', 'safetySelectedDataText'); + this.updateSelectedDataText('quality', 'qualitySelectedDataText'); + this.updateSelectedDataText('pro', 'proSelectedDataText'); + this.updateSelectedDataText('mechanic', 'mechanicSelectedDataText'); + this.updateSelectedDataText('documenter', 'documenterSelectedDataText'); + this.updateSelectedDataText('construction', 'constructionSelectedDataText'); + this.updateSelectedDataText('materialman', 'materialmanSelectedDataText'); + this.updateSelectedDataText('other', 'otherSelectedDataText'); return Array.from(keys); }, + //进行回显操作 + updateSelectedDataText(refName, dataPropertyName) { + this.$nextTick(() => { + const checkedNodes = this.$refs[refName].getCheckedNodes(true); + const selectedText = checkedNodes.map(node => node.name).join(', '); + this[dataPropertyName] = selectedText; + }); + }, + // 如果节点被取消选中 managerHandleCheckChange(data, checked, indeterminate) { if (!checked) { // 如果节点被取消选中 @@ -890,26 +1024,9 @@ export default { this.uncheckAllWithSameId(idToUncheck, "manager"); }); } else { - /* const indexs = this.managerCurrentCheckedNode.indexOf(data.id); - if (indexs < 0 && this.managerCurrentCheckedNode.length === 1 && checked) { - this.$message({ - message: '只能选择一个!', - type: 'error', - showClose: true - }); - this.$nextTick(() => { - this.$refs.manager.setChecked(data, false,false); - }); - }else if (this.managerCurrentCheckedNode.length === 0 && checked) { - // 发现数组为空 并且是已选择 - // 防止数组有值,首先清空,再push - this.managerCurrentCheckedNode = [] - this.managerCurrentCheckedNode.push(data.id) - } else if (indexs >= 0 && this.managerCurrentCheckedNode.length === 1 && !checked) { - // 再次直接进行赋值为空操作 - this.managerCurrentCheckedNode = [] - }*/ + } + this.updateSelectedDataText('manager', 'managerSelectedDataText'); }, safetyHandleCheckChange(data, checked, indeterminate) { @@ -919,6 +1036,8 @@ export default { this.uncheckAllWithSameId(idToUncheck, "safety"); }); } + + this.updateSelectedDataText('safety', 'safetySelectedDataText'); }, qualityHandleCheckChange(data, checked, indeterminate) { if (!checked) { // 如果节点被取消选中 @@ -927,6 +1046,7 @@ export default { this.uncheckAllWithSameId(idToUncheck, "quality"); }); } + this.updateSelectedDataText('quality', 'qualitySelectedDataText'); }, proHandleCheckChange(data, checked, indeterminate) { if (!checked) { // 如果节点被取消选中 @@ -935,6 +1055,7 @@ export default { this.uncheckAllWithSameId(idToUncheck, "pro"); }); } + this.updateSelectedDataText('pro', 'proSelectedDataText'); }, mechanicHandleCheckChange(data, checked, indeterminate) { if (!checked) { // 如果节点被取消选中 @@ -943,6 +1064,7 @@ export default { this.uncheckAllWithSameId(idToUncheck, "mechanic"); }); } + this.updateSelectedDataText('mechanic', 'mechanicSelectedDataText'); }, documenterHandleCheckChange(data, checked, indeterminate) { if (!checked) { // 如果节点被取消选中 @@ -951,6 +1073,7 @@ export default { this.uncheckAllWithSameId(idToUncheck, "documenter"); }); } + this.updateSelectedDataText('documenter', 'documenterSelectedDataText'); }, constructionHandleCheckChange(data, checked, indeterminate) { if (!checked) { // 如果节点被取消选中 @@ -959,6 +1082,7 @@ export default { this.uncheckAllWithSameId(idToUncheck, "construction"); }); } + this.updateSelectedDataText('construction', 'constructionSelectedDataText'); }, materialmanHandleCheckChange(data, checked, indeterminate) { if (!checked) { // 如果节点被取消选中 @@ -967,6 +1091,7 @@ export default { this.uncheckAllWithSameId(idToUncheck, "materialman"); }); } + this.updateSelectedDataText('materialman', 'materialmanSelectedDataText'); }, otherHandleCheckChange(data, checked, indeterminate) { if (!checked) { // 如果节点被取消选中 @@ -975,6 +1100,7 @@ export default { this.uncheckAllWithSameId(idToUncheck, "other"); }); } + this.updateSelectedDataText('other', 'otherSelectedDataText'); }, // 第三个参数防止递归影响父节点和子节点的状态 uncheckAllWithSameId(id, type) { @@ -1118,3 +1244,12 @@ export default { } }; + + diff --git a/src/views/process/branchProExamine/index.vue b/src/views/process/branchProExamine/index.vue new file mode 100644 index 0000000..cebb3d2 --- /dev/null +++ b/src/views/process/branchProExamine/index.vue @@ -0,0 +1,979 @@ + + +