| | |
| | | </a-form-model-item>
|
| | | </a-col>
|
| | | </a-row>
|
| | | <span><b>发布单位:</b>{{form.publishingUnit}}</span>
|
| | | <br /><br />
|
| | | <!-- <span><b>发布单位:</b>{{form.publishingUnit}}</span>-->
|
| | | <!-- <br /><br />-->
|
| | | <!-- 子单位-->
|
| | | <a-row :gutter="24">
|
| | | <a-col :span="12">
|
| | |
| | | </a-checkbox>
|
| | | </div>
|
| | | <a-form-model-item prop="recipient">
|
| | | <a-select mode="multiple" placeholder="选择平级接收单位" v-model="form.recipient" @change="handle"
|
| | | :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"-->
|
| | | <!-- :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"
|
| | | 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>
|
| | | </a-row>
|
| | |
| | | </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>
|
| | |
| | | <h2>短信预览</h2>
|
| | | <div class="mobile">
|
| | | <div class="mesg">
|
| | | <P>【自然灾害风险预警提示】{{form.content}}<br>发布单位:{{form.publishingUnit}}</P>
|
| | | <P>【新疆自然灾害预警中心】{{form.content}}</P>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | |
| | | import {
|
| | | 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,
|
| | | treeData,
|
| | | userInfo: {},
|
| | | unittype: null,
|
| | | wrapperCol: {
|
| | |
| | | trigger: 'blur'
|
| | | }],
|
| | | content: [{
|
| | | required: true,
|
| | | message: '请输入信息内容',
|
| | | trigger: 'blur'
|
| | | required: true,
|
| | | validator: validateContent,
|
| | | trigger: 'blur'
|
| | | }],
|
| | | timeout: [{
|
| | | required: true,
|
| | |
| | | components: {},
|
| | | created() {
|
| | | const t = this
|
| | | t.treeData = []
|
| | | t.getAreaUsers()
|
| | | t.areaUsers = JSON.parse(localStorage.getItem('areaUsers'))
|
| | | const {
|
| | |
| | | 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('暂无数据')
|
| | | }
|
| | |
| | | this.$message.warning(res.data.msg);
|
| | | }
|
| | | },
|
| | |
|
| | | getPj(){
|
| | | this.treeData = []
|
| | | this.getSameLevel()
|
| | | },
|
| | | // 获取接收单位
|
| | | async getAreaUsers() {
|
| | | let t = this
|
| | |
| | | //选择平级部门部分
|
| | | handle(selectedItems) {
|
| | | const t = this
|
| | | if (t.form.recipient.length == t.filteredOptions.length) {
|
| | | t.checkSlAll = true
|
| | | } else {
|
| | | t.checkSlAll = false
|
| | | }
|
| | | // if (t.form.recipient.length == t.filteredOptions.length) {
|
| | | // t.checkSlAll = true
|
| | | // } else {
|
| | | // t.checkSlAll = false
|
| | | // }
|
| | | const group = t.treeData.map(item => item.value)
|
| | | if (group.length === t.form.recipient.length && group.every((v,i) => v === t.form.recipient[i])) {
|
| | | t.checkSlAll = true
|
| | | } else {
|
| | | t.checkSlAll = false
|
| | | }
|
| | | },
|
| | |
|
| | | checkSlChange(e) {
|
| | | const t = this
|
| | | t.checkSlAll = !t.checkSlAll
|
| | | if (t.checkSlAll == true) {
|
| | | t.form.recipient = t.filteredOptions.map(i => i.id)
|
| | | // t.form.recipient = t.filteredOptions.map(i => i.id)
|
| | | t.form.recipient = t.treeData.map(item => item.value)
|
| | | } else {
|
| | | t.form.recipient = []
|
| | | }
|
| | |
| | | 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,
|
| | |
| | | }
|
| | |
|
| | | }
|
| | | </style> |
| | | </style>
|