From 0e0853569be92bf60ec8d57eb870bf719ca77060 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=AF=E5=B0=8F=E7=8E=8B=E5=91=80=5C24601?= <819653817@qq.com> Date: Wed, 31 Jul 2024 15:12:38 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=9B=9E=E6=98=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/organization/organization.vue | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/views/modules/base/organization/organization.vue b/src/views/modules/base/organization/organization.vue index c53791e5f..0e68de892 100644 --- a/src/views/modules/base/organization/organization.vue +++ b/src/views/modules/base/organization/organization.vue @@ -1755,6 +1755,7 @@ export default { // 调用递归函数提取 level 与 agencyId 组合成的字符串 this.extractLevelAndAgencyId(this.orgOptions[0], targetAgencyIds, result); // 将 Set 对象转换为数组 + const manageScopeArray = Array.from(result); const url = "/gov/org/staff/editstaff"; let params = { @@ -2137,11 +2138,10 @@ export default { // 修改人员 async xiuPeo (row) { console.log("修改人员"); + console.log(row); this.modifyPeo = true; this.peoForm.orgType = "agency"; - this.userStaffId = row.staffId; - const url = "/gov/org/staff/editstaffinit"; let params = { staffId: row.staffId, @@ -2152,9 +2152,9 @@ export default { this.peoForm.name = data.name; this.peoForm.mobile = data.mobile; this.peoForm.post = data.workType; - // this.peoForm.gender = data.gender === 1 ? '男' : '女' this.peoForm.gender = data.gender; this.peoForm.idCard = data.idCard; + this.peoForm.agencyName=data.agencyName; // 已有的权限(角色) let existedRoleArr = []; data.newRoleList.forEach(function (sysRole) { @@ -2164,24 +2164,25 @@ export default { }); this.peoForm.newRoles = existedRoleArr; var paths = this.findParentPath(this.orgOptions[0], data.manageScopes); + console.log(paths,"shskdjfhkjsaf"); this.peoForm.manageScopes = paths; } else { this.$message.error(msg); } }, findParentPath(data,agencyIds) { + console.log(data,agencyIds,"dskck"); let paths = []; - function findPathRecursive(agencyId, node, path) { - if (node.agencyId === agencyId) { + console.log(agencyId, node, path); + if (node.id === agencyId) { path.push(agencyId); paths.push(path.slice()); // Make a copy of the path array before pushing return true; } - - if (node.subAgencyList) { - for (let i = 0; i < node.subAgencyList.length; i++) { - if (findPathRecursive(agencyId, node.subAgencyList[i], path.concat(node.agencyId))) { + if (node.manageScopes) { + for (let i = 0; i < node.manageScopes.length; i++) { + if (findPathRecursive(agencyId, node.manageScopes[i], path.concat(node.id))) { return true; } } @@ -2193,7 +2194,7 @@ export default { agencyIds.forEach(agencyId => { findPathRecursive(agencyId, data, []); }); - + console.log(paths,"paths"); return paths; }, // 修改社区人员 From 2777aa62aa61177737586189c9f22e37fe08d815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=AF=E5=B0=8F=E7=8E=8B=E5=91=80=5C24601?= <819653817@qq.com> Date: Fri, 2 Aug 2024 09:47:13 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E9=80=9A=E8=AE=AF=E5=BD=95=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E7=BB=84=E7=BB=87=E8=BF=9B=E8=A1=8C=E5=9B=9E=E6=98=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/organization/organization.vue | 86 +++++++++---------- 1 file changed, 42 insertions(+), 44 deletions(-) diff --git a/src/views/modules/base/organization/organization.vue b/src/views/modules/base/organization/organization.vue index 0e68de892..586fdd937 100644 --- a/src/views/modules/base/organization/organization.vue +++ b/src/views/modules/base/organization/organization.vue @@ -1346,14 +1346,13 @@ export default { orgOptionProps :{ multiple: true, emitPath: true, - value: 'id', - label: 'label', - children: 'children', - checkStrictly: true, - lazy: true, - lazyLoad: (node, resolve) => { - this.loadOptions(node, resolve) - }, + value: 'agencyId', + label: 'agencyName', + children: 'subAgencyList', + checkStrictly: true + // lazyLoad: (node, resolve) => { + // this.loadOptions(node, resolve) + // }, }, dialogVisiblePeoAgency:false,//通过组织添加 @@ -1421,40 +1420,42 @@ export default { methods: { getOrgTreeList () { this.$http - .get('/actual/base/communityBuilding/tree/initTree', {}) + .post('/gov/org/customeragency/agencygridtree', {}) .then(({ data: res }) => { if (res.code !== 0) { return this.$message.error(res.msg) } else { + console.log('获取组织树成功', res.data) this.orgOptions = [] this.orgOptions.push(res.data) + console.log(this.orgOptions,"sdkfhkjdfs"); } }) .catch(() => { return this.$message.error('网络错误') }) }, - async loadOptions(node, resolve) { - let data1 =node.data; - if (data1.level == 'district') { - resolve(this.orgOptions); - - } else { - if(data1.level !== "building"){ - const url = "/actual/base/communityBuilding/tree/nextTreeNode"; - let params = { - level:data1.level, - id:data1.id - }; - const { data, code, msg } =await requestGet(url, params); - data1.children=data - resolve(data); - }else{ - return resolve() - } - - } - }, + // async loadOptions(node, resolve) { + // let data1 =node.data; + // if (data1.level == 'district') { + // resolve(this.orgOptions); + + // } else { + // if(data1.level !== "building"){ + // const url = "/actual/base/communityBuilding/tree/nextTreeNode"; + // let params = { + // level:data1.level, + // id:data1.id + // }; + // const { data, code, msg } =await requestGet(url, params); + // data1.children=data + // resolve(data); + // }else{ + // return resolve() + // } + + // } + // }, // 点击后获取id handleChangeTransferCascader (e) { function findItem (valueArr, coll) { @@ -1790,14 +1791,12 @@ export default { // 递归函数,遍历 JSON 对象提取所有的 level 与 agencyId 组合成的字符串 extractLevelAndAgencyId(obj, agencyIds, result) { - if (obj && typeof obj === 'object') { - console.log(obj,"1111"); - if (obj.level && obj.id && agencyIds.includes(obj.id)) { - result.add(`${obj.level}:${obj.id}`); + if (obj.level && obj.agencyId && agencyIds.includes(obj.agencyId)) { + result.add(`${obj.level}:${obj.agencyId}`); } - if (Array.isArray(obj.children)) { - obj.children.forEach(subObj => { + if (Array.isArray(obj.subAgencyList)) { + obj.subAgencyList.forEach(subObj => { this.extractLevelAndAgencyId(subObj, agencyIds, result); }); } @@ -2149,6 +2148,8 @@ export default { }; const { data, code, msg } = await requestPost(url, params); if (code === 0) { + console.log("修改人员", data); + this.peoForm.name = data.name; this.peoForm.mobile = data.mobile; this.peoForm.post = data.workType; @@ -2164,7 +2165,6 @@ export default { }); this.peoForm.newRoles = existedRoleArr; var paths = this.findParentPath(this.orgOptions[0], data.manageScopes); - console.log(paths,"shskdjfhkjsaf"); this.peoForm.manageScopes = paths; } else { this.$message.error(msg); @@ -2173,16 +2173,15 @@ export default { findParentPath(data,agencyIds) { console.log(data,agencyIds,"dskck"); let paths = []; - function findPathRecursive(agencyId, node, path) { - console.log(agencyId, node, path); - if (node.id === agencyId) { + function findPathRecursive(agencyId, node, path) {; + if (node.agencyId === agencyId) { path.push(agencyId); paths.push(path.slice()); // Make a copy of the path array before pushing return true; } - if (node.manageScopes) { - for (let i = 0; i < node.manageScopes.length; i++) { - if (findPathRecursive(agencyId, node.manageScopes[i], path.concat(node.id))) { + if (node.subAgencyList) { + for (let i = 0; i < node.subAgencyList.length; i++) { + if (findPathRecursive(agencyId, node.subAgencyList[i], path.concat(node.agencyId))) { return true; } } @@ -2190,7 +2189,6 @@ export default { return false; } - agencyIds.forEach(agencyId => { findPathRecursive(agencyId, data, []); }); From fd282503eae38683bd725475bb89887349b0b4f5 Mon Sep 17 00:00:00 2001 From: duanliangtao <48194157+duanliangtao@users.noreply.github.com> Date: Mon, 5 Aug 2024 15:52:36 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E5=B1=85=E6=B0=91=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=8F=B0=E4=B8=9C=E9=9C=80=E6=B1=82=E7=9A=84?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=8C=E6=B6=89=E5=8F=8A=EF=BC=9A=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E3=80=81=E4=BA=8B=E4=BB=B6=E5=88=97=E8=A1=A8=E3=80=81?= =?UTF-8?q?=E7=9D=A3=E5=8A=9E=E5=82=AC=E5=8A=9E=E3=80=81=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E7=9A=84=E9=A2=9C=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/shequzhili/eventOld/cpts/add.vue | 60 ++++++++++- .../modules/shequzhili/eventOld/eventList.vue | 101 +++++++++++++++++- 2 files changed, 155 insertions(+), 6 deletions(-) diff --git a/src/views/modules/shequzhili/eventOld/cpts/add.vue b/src/views/modules/shequzhili/eventOld/cpts/add.vue index 56d644e51..659ca86ed 100644 --- a/src/views/modules/shequzhili/eventOld/cpts/add.vue +++ b/src/views/modules/shequzhili/eventOld/cpts/add.vue @@ -13,7 +13,30 @@ @change="handleChangeAgency" clearable> - + + + 事件上报 + 城管事件 + + + + + + + + + + + + + + + + + + + +
@@ -21,7 +44,7 @@ @click="handleShowPersonList">居民信息中选择
- + @@ -132,6 +155,7 @@ var geocoder; // 新建一个正逆地址解析类 function iniFmData() { return { + demandType:"report",// 诉求类型 gridId: "", //所属网格 reportUserId: "", // 上报人ID name: "", // 上报人姓名 @@ -148,6 +172,7 @@ function iniFmData() { // operationType: '0',// 处理方式 // content: '',//回复内容 // status: '',// 处理中:processing;已办结:closed_case + responsibleUnit:"yes", }; } @@ -233,13 +258,25 @@ export default { components: {}, computed: { dataRule() { + const isReport = this.formData.demandType === "report"; + const isChengguan = this.formData.responsibleUnit === "yes"; return { gridId: [ { required: true, message: "所属网格不能为空", trigger: "blur" }, ], - name: [{ required: true, message: "上报人不能为空", trigger: "change" }], + demandType: [ + { required: true, message: "诉求类型不能为空", trigger: "blur" }, + ], + responsibleUnit: [ + { required: true, message: "有无责任单位不能为空", trigger: "blur" }, + ], + name: [{ required: isReport, message: "上报人不能为空", trigger: "change" }], mobile: [ - { required: true, message: "联系电话不能为空", trigger: "blur" }, + { required: isReport, message: "联系电话不能为空", trigger: "blur" }, + ], + responsibleName: [{ required: isChengguan, message: "责任人不能为空", trigger: "change" }], + responsibleMobile: [ + { required: isChengguan, message: "联系电话不能为空", trigger: "blur" }, ], // idCard: [ // { required: true, message: "证件号不能为空", trigger: "blur" }, @@ -311,6 +348,10 @@ export default { ); this.obj.level = this.sarr[this.sarr.length - 1].level }, + handleDemandTypeChange() { + this.$refs.ref_form1.clearValidate(); // 清除所有验证 + this.formData.demandType = this.formData.demandType; // 重新设置诉求类型 + }, getLastItem(list, vals, key) { let LIST = list || []; for (let item of LIST) { @@ -440,13 +481,22 @@ export default { app.util.validateRule(messageObj); return false; } else { - if (!formVltHelper.userOrMobile(this.formData.mobile)) { + if (this.formData.demandType === "report" && !formVltHelper.userOrMobile(this.formData.mobile)) { this.$message({ type: "error", message: "联系电话格式有误", }); return false; } + + if (this.formData.demandType === "chengguan" && this.formData.responsibleUnit === "yes" && !formVltHelper.userOrMobile(this.formData.responsibleMobile)) { + this.$message({ + type: "error", + message: "责任人电话格式有误", + }); + return false; + } + const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //证件号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X if ( this.formData.idCard && diff --git a/src/views/modules/shequzhili/eventOld/eventList.vue b/src/views/modules/shequzhili/eventOld/eventList.vue index bc7664961..c523e0f3e 100644 --- a/src/views/modules/shequzhili/eventOld/eventList.vue +++ b/src/views/modules/shequzhili/eventOld/eventList.vue @@ -87,6 +87,15 @@ + + + + + + + 取消标记 + 督办催办 + @selection-change="handleSelectionChange" :height="maxTableHeight" :row-class-name="tableRowClassName"> @@ -160,6 +170,12 @@ + + + + + + @@ -252,6 +268,19 @@ 取消 + + + + + + + + + @@ -357,6 +386,21 @@ export default { }, ], + overPeriodArray: [ + { + value: "0", + label: "2天以下", + }, + { + value: "1", + label: "3-4天", + }, + { + value: "2", + label: "4天以上", + }, + ], + qudaoArray: [ { value: "0", @@ -424,9 +468,14 @@ export default { eventDetailData: {}, showVoice: false, + showSupervise: false, selVoiceUrl: "", multipleSelection: [], + + superviseFrom:{ + content: "", + }, }; }, computed: { @@ -477,6 +526,19 @@ export default { }); }, + tableRowClassName({ row }) { + switch (row.overPeriod) { + case '0': + return 'row-over-period-0'; + case '1': + return 'row-over-period-1'; + case '2': + return 'row-over-period-2'; + default: + return 'row-default'; + } + }, + // 查看 handleLook(row) { let { name,reportUserId } = row @@ -527,6 +589,28 @@ export default { this.$message.error(msg); } }, + async handleSuperviseEvent(){ + this.showSupervise = true; + }, + + async doSuperviseEvent() { + const url = "/governance/icEventOld/doSuperviseEvent"; + if (this.multipleSelection.length == 0) { + this.$message.warning('请选择督办催办的事件') + return + } + let params = { + icEventIdList: this.multipleSelection, + content: this.superviseFrom.content, + }; + const { data, code, msg } = await requestPost(url, params); + if (code === 0) { + this.$message.success("督办催办成功"); + this.getTableData(); + } else { + this.$message.error(msg); + } + }, handleSearch(val) { this.pageNo = 1; @@ -893,3 +977,18 @@ export default { color: #fff; } + + From f5124546cb69e415140d27068a22aa64740fd963 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=AF=E5=B0=8F=E7=8E=8B=E5=91=80=5C24601?= <819653817@qq.com> Date: Wed, 7 Aug 2024 16:09:21 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E5=8F=98=E4=B8=BAlevel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shequzhili/eventOld/cpts/process-form-designate.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/modules/shequzhili/eventOld/cpts/process-form-designate.vue b/src/views/modules/shequzhili/eventOld/cpts/process-form-designate.vue index be3cd8530..3d5265f0f 100644 --- a/src/views/modules/shequzhili/eventOld/cpts/process-form-designate.vue +++ b/src/views/modules/shequzhili/eventOld/cpts/process-form-designate.vue @@ -205,11 +205,11 @@ export default { handleChangeAgency(val) { let obj = this.$refs["agencyIdArray"].getCheckedNodes()[0].data if (obj) { - this.formData.orgType = obj.level === 'grid' ? 'grid' : 'agency' + this.formData.level = obj.level === 'grid' ? 'grid' : 'agency' this.formData.deptId = obj.agencyId this.formData.deptName = obj.agencyName } else { - this.form.orgType = '' + this.form.level = '' this.form.orgId = '' } }, From 70b5be4aba92c80dfed6f92f3313d33e5d162e27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=AF=E5=B0=8F=E7=8E=8B=E5=91=80=5C24601?= <819653817@qq.com> Date: Wed, 7 Aug 2024 16:57:59 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=9B=B4=E6=94=B9agencyI?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/components/resiSearch.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/components/resiSearch.vue b/src/views/components/resiSearch.vue index 0fe1709a6..117a1f435 100644 --- a/src/views/components/resiSearch.vue +++ b/src/views/components/resiSearch.vue @@ -1066,6 +1066,7 @@ export default { val, "agencyId" ); + this.form.agencyId=this.sarr[this.sarr.length - 1].agencyId this.form.level = this.sarr[this.sarr.length - 1].level; this.getValiheList() }, From 4233770ac42dfbb9a5e246202e3b5e00498307f2 Mon Sep 17 00:00:00 2001 From: duanliangtao <48194157+duanliangtao@users.noreply.github.com> Date: Thu, 8 Aug 2024 18:08:32 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E6=8C=87=E6=B4=BE=E6=97=B6=E7=9A=84?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E9=80=9A=E7=9F=A5=E3=80=81=E5=82=AC=E5=8A=9E?= =?UTF-8?q?=E7=9D=A3=E5=8A=9E=E3=80=81=E4=BA=8B=E4=BB=B6=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E7=AD=89=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shequzhili/eventOld/cpts/event-detail.vue | 21 +++++++++++++++++++ .../eventOld/cpts/process-form-designate.vue | 7 +++++++ .../modules/shequzhili/eventOld/eventList.vue | 1 + 3 files changed, 29 insertions(+) diff --git a/src/views/modules/shequzhili/eventOld/cpts/event-detail.vue b/src/views/modules/shequzhili/eventOld/cpts/event-detail.vue index ef8eb445d..280d76df7 100644 --- a/src/views/modules/shequzhili/eventOld/cpts/event-detail.vue +++ b/src/views/modules/shequzhili/eventOld/cpts/event-detail.vue @@ -81,6 +81,27 @@ 联系电话: {{ info.mobile }} +
+ 有无责任单位: + {{ info.responsibleUnit==="yes" ? "有": "无" }} +
+
+ 责任人: + {{ info.responsibleName }} +
+
+ 联系电话: + {{ info.responsibleMobile }} +
+
+ 短信通知部门负责人 +
+
@@ -64,6 +70,7 @@ export default { categoryId: "",//事件分类 deptId: "", //指派部门 deptName: "", + sendMsg:0, categoryList: [], files: [] //附件 }, diff --git a/src/views/modules/shequzhili/eventOld/eventList.vue b/src/views/modules/shequzhili/eventOld/eventList.vue index c523e0f3e..0b874f404 100644 --- a/src/views/modules/shequzhili/eventOld/eventList.vue +++ b/src/views/modules/shequzhili/eventOld/eventList.vue @@ -610,6 +610,7 @@ export default { } else { this.$message.error(msg); } + this.showSupervise = false; }, handleSearch(val) {