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/components/msgEditMod.vue | 176 +++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 130 insertions(+), 46 deletions(-) diff --git a/src/views/Admin/components/msgEditMod.vue b/src/views/Admin/components/msgEditMod.vue index ac30da2..850b76f 100644 --- a/src/views/Admin/components/msgEditMod.vue +++ b/src/views/Admin/components/msgEditMod.vue @@ -3,7 +3,7 @@ :title="title" :visible="visible" centered - width="50%" + width="75%" @cancel="handleCancel" :afterClose="clearMod" :footer="null" @@ -57,6 +57,14 @@ <a-form-model-item prop="content"> <a-textarea v-model="form.content" placeholder="请输入短信通知内容部分" :auto-size="{ minRows: 3, maxRows: 5 }" :readOnly="disable"/> </a-form-model-item> + <a-row v-if="userInfo.unittype == 1 || title == '信息转发' || title == '信息审核'||title == '信息详情'"> + <a-col :span="24" style="display: flex;align-items: center"> + <b style="margin-bottom: 24px">直览附件URL:</b> + <a-form-model-item style="width: 50%"> + <a-textarea :readonly="title == '信息转发'||title == '信息审核'||title == '信息详情'?true:false" v-model="form.directViewUrl" placeholder="请输入url信息" :auto-size="{ minRows: 1, maxRows: 3 }"/> + </a-form-model-item> + </a-col> + </a-row> <a-row> <a-col :span="12"> <a-upload @@ -116,9 +124,9 @@ > </a-tree-select> </a-form-model-item> - <a-checkbox :checked="withLeaders" @change="isAddLeaders" style="margin-bottom: 24px" :disabled="disable"> - 同时发信息给本级领导 - </a-checkbox> +<!-- <a-checkbox :checked="withLeaders" @change="isAddLeaders" style="margin-bottom: 24px" :disabled="disable">--> +<!-- 同时发信息给本级领导--> +<!-- </a-checkbox>--> </a-col> <a-col :span="12"> <div style="display:flex;justify-content: space-between;align-items: center;"> @@ -128,11 +136,22 @@ </a-checkbox> </div> <a-form-model-item> - <a-select mode="multiple" placeholder="选择平级接收单位" v-model="form.recipient" @change="handle" :disabled="disable" :maxTagCount="3"> - <a-select-option v-for="item in filteredOptions" :key="item.id" :value="item.id"> - {{ item.recipientName }}({{item.company}} {{item.phone}}) - </a-select-option> - </a-select> +<!-- <a-select mode="multiple" placeholder="选择平级接收单位" v-model="form.recipient" @change="handle" :disabled="disable" :maxTagCount="3">--> +<!-- <a-select-option v-for="item in filteredOptions" :key="item.id" :value="item.id">--> +<!-- {{ item.recipientName }}({{item.company}} {{item.phone}})--> +<!-- </a-select-option>--> +<!-- </a-select>--> + <a-tree-select + v-model="form.recipient" + :maxTagCount="3" + style="width: 100%" + :tree-data="treeData" + tree-checkable + placeholder="选择平级接收单位" + :show-checked-strategy="SHOW_PARENT" + search-placeholder="Please select" + @change="handle" + /> </a-form-model-item> </a-col> </a-row> @@ -161,7 +180,7 @@ </a-button> </a-col> <a-col :span="12" style="text-align: right" v-if="title=='信息修改'"> - <a-button type="primary" style="min-width: 140px;margin-right: 12px" @click="confirmSend(4)" :disabled="userInfo.role.id==1?true:false"> + <a-button type="primary" style="min-width: 140px;margin-right: 12px" @click="confirmSend(4)" :disabled="userInfo.role.id==1?true:false" v-preventReClick="1500"> 确认并提交审核 </a-button> </a-col> @@ -171,7 +190,7 @@ <h2>短信预览</h2> <div class="mobile"> <div class="mesg"> - <P>【自然灾害风险预警提示】{{form.content}}<br>发布单位:{{form.publishingUnit}}</P> + <P>【新疆自然灾害预警中心】{{form.content}}</P> </div> </div> </div> @@ -187,6 +206,9 @@ import {postReview} from "@/api/review"; import axios from "axios"; import {deleteFile} from "@/api/list"; +import {TreeSelect} from "ant-design-vue"; +const SHOW_PARENT = TreeSelect.SHOW_PARENT; +const treeData = []; export default { name: "msgEditMod", data() { @@ -194,6 +216,8 @@ title: '信息审核', disable: true, visible: false, + SHOW_PARENT, + treeData, confirmLoading: false, leaders: [], userInfo: {}, @@ -206,6 +230,7 @@ disasterType: undefined, warningLevel: undefined, content: '', + directViewUrl: '', publishingUnit: '', districtId: null, attachments: [], @@ -229,9 +254,8 @@ }, riskOptions: [ {name: '地震',value: 1}, - {name: '洪涝',value: 2}, {name: '气象',value: 3}, - {name: '泥石流',value: 4}, + {name: '地质灾害',value: 4}, {name: '水旱',value: 5}, {name: '森林草原火灾',value: 6} ], @@ -268,18 +292,19 @@ const t = this const { baseUrl } = require('../../../../config/env.' + process.env.NODE_ENV) t.uploadUrl= baseUrl + '/attachment/upload/detail' - t.userInfo = getUserInfo() - t.header.uid = t.userInfo.uid - t.form.districtId = t.userInfo.districtId - t.form.publishingUnit = t.userInfo.company - t.getSameLevel() - t.getAreaUsers() }, computed: {}, methods: { - openMod(type,data){ + openMod(type,data,id){ const t = this t.getLeaders() + t.treeData = [] + t.userInfo = getUserInfo() + t.header.uid = t.userInfo.uid + t.form.districtId = t.userInfo.districtId + t.form.publishingUnit = t.userInfo.company + t.getSameLevel() + t.getAreaUsers() t.form.acceptingUnitIds = [] t.form.peerRecipientIds = [] t.sendLeaders = [] @@ -332,6 +357,10 @@ t.form.warningLevel = data.warningLevel t.form.content = data.content t.form.timeout = data.timeout + t.form.forwardWarnInfoLogId = id + t.form.forwardStatus = 1 + t.form.forwardPath = data.forwardPath + t.form.directViewUrl = data.directViewUrl if(data.attachments && data.attachments.length>0){ t.fileList = data.attachments.map((i)=>{ return { @@ -359,7 +388,22 @@ let res = await getPeerRecipient() if(res.data.code == 100){ if(res.data.data){ - t.filteredOptions = res.data.data + // t.filteredOptions = res.data.data + for (const resKey in res.data.data) { + t.filteredOptions = t.filteredOptions.concat(...res.data.data[resKey]); + const obj = { + title: resKey, + value: resKey, + key: resKey, + children: res.data.data[resKey].map(item => { + item['title'] = item.recipientName + '(' +item.company +item.phone+ ')' + item['value'] = item.id + item['key'] = item.id + return item + }) + } + t.treeData.push(obj) + } }else{ console.log('暂无数据') } @@ -371,20 +415,28 @@ // 获取接收单位 async getAreaUsers(){ let t = this - let res = await getAreaWithUserIfo() - if(res.data.code == 100){ - if(res.data.data){ - // const treeD = [] - t.userTitTree(res.data.data) - // treeD.push(t.findNodeById(res.data.data,t.userInfo.districtId)) - t.areaUsers = t.findNodeById(res.data.data,t.userInfo.districtId).children - t.unittype = t.findNodeById(res.data.data,t.userInfo.districtId)?.type - }else{ - console.log('暂无数据') - } - }else{ - this.$message.warning(res.data.msg); - } + // let res = await getAreaWithUserIfo() + // if(res.data.code == 100){ + // if(res.data.data){ + // // const treeD = [] + // const data = JSON.parse(localStorage.getItem('areaUsers')) + // console.log('data',data); + // console.log('res',res.data) + // t.userTitTree(res.data.data) + // // treeD.push(t.findNodeById(res.data.data,t.userInfo.districtId)) + // t.areaUsers = t.findNodeById(res.data.data,t.userInfo.districtId).children + // t.unittype = t.findNodeById(res.data.data,t.userInfo.districtId)?.type + // }else{ + // console.log('暂无数据') + // } + // }else{ + // this.$message.warning(res.data.msg); + // } + const data = JSON.parse(localStorage.getItem('areaUsers')) + t.areaUsers = data; + t.userTitTree(data) + // t.areaUsers = t.findNodeById(data,t.userInfo.districtId).children + t.unittype = t.findNodeById(data,t.userInfo.districtId)?.type }, // 获取领导 @@ -478,10 +530,16 @@ return file; }); this.fileList = fileList; + console.log(this.fileList,'list') }, removeFile(file){ - this.delList.push(file.response.data.id) + if(this.title == '信息转发'){ + this.delList.push(file.uid) + }else{ + this.delList.push(file.response.data.id) + } + console.log(this.fileList,this.form,'form') }, async deleteFile(){ @@ -510,19 +568,44 @@ const newAList = [].concat(...aList) for(let i of newAList){ // const {realName,...data} = i - const {id:recipienterId,name: recipienterName,phone: recipienterPhone,company: receiveUnit,realName: recipienterRealName,...rest} = i - const obj = { recipienterId, recipienterName, recipienterRealName, recipienterPhone, receiveUnit,...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} + // 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) } } + + if(this.fileList.length == 0){ this.form.attachments = [] }else{ @@ -602,10 +685,11 @@ let blob = new Blob([res.data],{type: res.data.type}) link.style.display = "none"; link.href = URL.createObjectURL(blob); // 创建URL - link.setAttribute("download", file.name); - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); + window.open(link.href) + // link.setAttribute("download", file.name); + // document.body.appendChild(link); + // link.click(); + // document.body.removeChild(link); } else { this.$message.error('获取文件失败') } -- Gitblit v1.9.2