From 457f9c817adef8b003ee6379f493798bae5cbb69 Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期一, 19 五月 2025 09:31:19 +0800 Subject: [PATCH] 修改 --- src/views/Admin/notice.vue | 118 ++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 64 insertions(+), 54 deletions(-) diff --git a/src/views/Admin/notice.vue b/src/views/Admin/notice.vue index 1da15e2..597bb82 100644 --- a/src/views/Admin/notice.vue +++ b/src/views/Admin/notice.vue @@ -79,7 +79,7 @@ </a-col> </a-row> <!-- <span><b>发布单位:</b>{{form.publishingUnit}}</span>--> - <br /><br /> +<!-- <br /><br />--> <!-- 子单位--> <a-row :gutter="24"> <a-col :span="12"> @@ -119,12 +119,14 @@ <a-tree-select v-model="form.recipient" style="width: 100%" + :maxTagCount="3" :tree-data="treeData" tree-checkable placeholder="选择平级接收单位" :show-checked-strategy="SHOW_PARENT" search-placeholder="Please select" @change="handle" + @focus="getPj()" /> </a-form-model-item> </a-col> @@ -140,7 +142,7 @@ </a-form-model-item> </a-col> <a-col :span="12" style="text-align: right"> - <a-button type="primary" style="width: 250px;" @click="confirmSend()" v-preventReClick="1500" + <a-button type="primary" style="width: 250px;" @click="confirmSend()" v-preventReClick="2000" :disabled="userInfo.role.id==1?true:false"> 确认并提交审核 </a-button> @@ -151,7 +153,7 @@ <h2>短信预览</h2> <div class="mobile"> <div class="mesg"> - <P>【自然灾害风险预警提示】{{form.content}}</P> + <P>【新疆自然灾害预警中心】{{form.content}}</P> </div> </div> </div> @@ -177,11 +179,23 @@ deleteFile } from "@/api/list"; import { TreeSelect } from 'ant-design-vue'; + import {verifySimpleContent} from "@/util/validate"; const SHOW_PARENT = TreeSelect.SHOW_PARENT; const treeData = []; export default { name: "notice", data() { + let validateContent = (rule, value, callback)=>{ + if(value === ''){ + callback(new Error('请输入信息内容')) + }else{ + if(!verifySimpleContent(value)){ + callback(new Error('内容不可包含中文中括号【】')) + }else{ + callback() + } + } + } return { value: [], SHOW_PARENT, @@ -282,9 +296,9 @@ trigger: 'blur' }], content: [{ - required: true, - message: '请输入信息内容', - trigger: 'blur' + required: true, + validator: validateContent, + trigger: 'blur' }], timeout: [{ required: true, @@ -317,6 +331,7 @@ components: {}, created() { const t = this + t.treeData = [] t.getAreaUsers() t.areaUsers = JSON.parse(localStorage.getItem('areaUsers')) const { @@ -342,20 +357,18 @@ for (const resKey in res.data.data) { t.filteredOptions = t.filteredOptions.concat(...res.data.data[resKey]); - console.log('t.filteredOptions',t.filteredOptions) const obj = { title: resKey, value: resKey, key: resKey, children: res.data.data[resKey].map(item => { - return { - title: item.recipientName + '(' +item.company +item.phone+ ')', - value: item.id, - key: item.id, - } + item['title'] = item.recipientName + '(' +item.company +item.phone+ ')' + item['value'] = item.id + item['key'] = item.id + return item }) } - t.treeData.push(obj); + t.treeData.push(obj) } } else { console.log('暂无数据') @@ -364,7 +377,10 @@ this.$message.warning(res.data.msg); } }, - + getPj(){ + this.treeData = [] + this.getSameLevel() + }, // 获取接收单位 async getAreaUsers() { let t = this @@ -528,50 +544,45 @@ const newAList = [].concat(...aList) for (let i of newAList) { // const {realName,...data} = i - const { - id: recipienterId, - name: recipienterName, - phone: recipienterPhone, - company: receiveUnit, - realName: recipienterRealName, - registrationId: registrationId, - ...rest - } = i - const obj = { - recipienterId, - recipienterName, - recipienterRealName, - recipienterPhone, - receiveUnit, - registrationId, - ...rest - } + const {id: recipienterId, name: recipienterName, phone: recipienterPhone, company: receiveUnit, realName: recipienterRealName, registrationId: registrationId, ...rest} = i + const obj = {recipienterId, recipienterName, recipienterRealName, recipienterPhone, receiveUnit, registrationId, ...rest} this.form.acceptingUnitIds.push(obj) } this.form.acceptingUnitIds = [...this.form.acceptingUnitIds, ...this.sendLeaders] + + if (this.form.recipient.length > 0) { - const bList = this.form.recipient.map(item => this.filteredOptions.find(i => i.id == - item)) - for (let i of bList) { - const { - id: recipienterId, - recipientName: recipienterName, - phone: recipienterPhone, - company: receiveUnit, - ...rest - } = i - const obj = { - recipienterId, - recipienterName, - recipienterPhone, - receiveUnit, - unittype: this.unittype, - recipienterRealName: recipienterName, - ...rest - } - this.form.peerRecipientIds.push(obj) - } + // const bList = this.form.recipient.map(item => this.filteredOptions.find(i => i.id == item)) + // for (let i of bList) { + // const {id: recipienterId, recipientName: recipienterName, phone: recipienterPhone, company: receiveUnit, ...rest} = i + // const obj = {recipienterId, recipienterName, recipienterPhone, receiveUnit, unittype: this.unittype, recipienterRealName: recipienterName, ...rest} + // this.form.peerRecipientIds.push(obj) + // } + + let bList = [] + for(let i of this.form.recipient){ + for(let j of this.treeData){ + if(j.value == i){ + bList = bList.concat(j.children) + }else{ + if(j.children && j.children.length>0){ + for(let k of j.children){ + if(k.id == i){ + bList.push(k) + } + } + } + } + } + } + for (let i of bList) { + const {id: recipienterId, recipientName: recipienterName, phone: recipienterPhone, company: receiveUnit, id,province,city,area,town,...rest} = i + const obj = {recipienterId, recipienterName, recipienterPhone, receiveUnit, unittype: this.unittype, recipienterRealName: recipienterName, id,province,city,area,town} + this.form.peerRecipientIds.push(obj) + } + } + this.form.attachments = this.fileList.map(i => i.response.data.id) const { receiver, @@ -580,7 +591,6 @@ ...data } = this.form msgSend(data).then(res => { - if (res.data.code == 100) { this.deleteFile() this.$message.success('信息已提交审核') -- Gitblit v1.9.2