| | |
| | | :title="title" |
| | | :visible="visible" |
| | | centered |
| | | width="50%" |
| | | width="75%" |
| | | @cancel="handleCancel" |
| | | :afterClose="clearMod" |
| | | :footer="null" |
| | |
| | | <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 |
| | |
| | | > |
| | | </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;"> |
| | |
| | | </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> |
| | |
| | | </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> |
| | |
| | | <h2>短信预览</h2> |
| | | <div class="mobile"> |
| | | <div class="mesg"> |
| | | <P>【自然灾害风险预警提示】{{form.content}}<br>发布单位:{{form.publishingUnit}}</P> |
| | | <P>【防灾减灾工作提示】{{form.content}}</P> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | 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() { |
| | |
| | | title: '信息审核', |
| | | disable: true, |
| | | visible: false, |
| | | SHOW_PARENT, |
| | | treeData, |
| | | confirmLoading: false, |
| | | leaders: [], |
| | | userInfo: {}, |
| | |
| | | disasterType: undefined, |
| | | warningLevel: undefined, |
| | | content: '', |
| | | directViewUrl: '', |
| | | publishingUnit: '', |
| | | districtId: null, |
| | | attachments: [], |
| | |
| | | }, |
| | | riskOptions: [ |
| | | {name: '地震',value: 1}, |
| | | {name: '洪涝',value: 2}, |
| | | {name: '气象',value: 3}, |
| | | {name: '泥石流',value: 4}, |
| | | {name: '地质灾害',value: 4}, |
| | | {name: '水旱',value: 5}, |
| | | {name: '森林草原火灾',value: 6} |
| | | ], |
| | |
| | | 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 = [] |
| | |
| | | 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 { |
| | |
| | | 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('暂无数据') |
| | | } |
| | |
| | | // 获取接收单位 |
| | | 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 |
| | | }, |
| | | |
| | | // 获取领导 |
| | |
| | | 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(){ |
| | |
| | | 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{ |
| | |
| | | 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('获取文件失败') |
| | | } |