| | |
| | | 全选 |
| | | </a-checkbox> |
| | | </div> |
| | | <a-form-model-item prop="receiver"> |
| | | <a-form-model-item prop="receiver" style="margin-bottom: 6px"> |
| | | <a-tree-select |
| | | show-search |
| | | tree-checkable |
| | |
| | | > |
| | | </a-tree-select> |
| | | </a-form-model-item> |
| | | <a-checkbox :checked="withLeaders" @change="isAddLeaders" style="margin-bottom: 24px" :disabled="disable"> |
| | | 同时发信息给本级领导 |
| | | </a-checkbox> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <b style="margin-bottom: 6px">平级接收人选择:</b> |
| | | <div style="display:flex;justify-content: space-between;align-items: center;"> |
| | | <b>平级接收人选择:</b> |
| | | <a-checkbox :checked="checkSlAll" @change="checkSlChange" :disabled="disable"> |
| | | 全选 |
| | | </a-checkbox> |
| | | </div> |
| | | <a-form-model-item> |
| | | <a-select mode="multiple" placeholder="选择平级接收单位" v-model="form.recipient" @change="handle" :disabled="disable"> |
| | | <a-select-option v-for="item in filteredOptions" :key="item.id" :value="item.id"> |
| | | {{ item.recipientName }} |
| | | {{ item.recipientName }}({{item.company}} {{item.phone}}) |
| | | </a-select-option> |
| | | </a-select> |
| | | </a-form-model-item> |
| | |
| | | </a-button> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :gutter="24" style="display: flex;justify-content: right;align-items: center" v-if="title=='信息转发'"> |
| | | <a-col :span="12"> |
| | | <a-row :gutter="24" style="display: flex;justify-content: right;align-items: center" v-if="title=='信息转发' || title=='信息修改'"> |
| | | <a-col :span="12" v-if="title=='信息转发'"> |
| | | <b style="margin-bottom: 6px">选择审批领导:</b> |
| | | <a-form-model-item prop="reviewId"> |
| | | <a-select show-search v-model="form.reviewId" placeholder="请选择审批领导"> |
| | |
| | | </a-select> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12" style="display: flex;justify-content: right"> |
| | | <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)"> |
| | | 确认转发 |
| | | </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> |
| | | </a-col> |
| | | </a-row> |
| | | </div> |
| | | |
| | | <div class="right"> |
| | | <h2>短信预览</h2> |
| | | <div class="mobile"> |
| | |
| | | import {getAreaWithUserIfo, getPeerRecipient, getLeaders, delRecipient} from '@/api/user' |
| | | import {getUserInfo} from "@/util/storage"; |
| | | import Cookies from "js-cookie"; |
| | | import {massSend, msgSend} from "@/api/send"; |
| | | import {massSend, msgSend, msgUpdate} from "@/api/send"; |
| | | import {postReview} from "@/api/review"; |
| | | import axios from "axios"; |
| | | import {deleteFile} from "@/api/list"; |
| | |
| | | acceptingUnitIds: [], |
| | | peerRecipientIds: [] |
| | | }, |
| | | sendLeaders: [], |
| | | checkAll: false, |
| | | checkSlAll: false, |
| | | withLeaders: false, |
| | | areaUsers: [], |
| | | replaceFields: { |
| | | children:'children', |
| | |
| | | methods: { |
| | | openMod(type,data){ |
| | | const t = this |
| | | t.getLeaders() |
| | | t.form.acceptingUnitIds = [] |
| | | t.form.peerRecipientIds = [] |
| | | if(type == 'review' || type == 'view') { |
| | | t.sendLeaders = [] |
| | | if(type == 'review' || type == 'view' || type == 'edit') { |
| | | t.sendLeaders = data.acceptingUnitIds.filter(i=>i.roleId == 2) |
| | | data.acceptingUnitIds = data.acceptingUnitIds.filter(i=>i.roleId == 3) |
| | | if(t.sendLeaders.length>0){ |
| | | t.withLeaders = true |
| | | }else{ |
| | | t.withLeaders = false |
| | | } |
| | | for(let i in data){ |
| | | if(t.isValidKey(i,t.form)){ |
| | | t.form[i] = data[i] |
| | |
| | | if(type == 'review'){ |
| | | t.title = '信息审核' |
| | | t.disable = false |
| | | }else if(type == 'edit'){ |
| | | t.title = '信息修改' |
| | | t.disable = false |
| | | }else{ |
| | | t.title = '信息详情' |
| | | t.disable = true |
| | |
| | | t.fileList = [] |
| | | } |
| | | t.title = '信息转发' |
| | | t.getLeaders() |
| | | t.disable = false |
| | | } |
| | | t.visible = true |
| | |
| | | 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 = this.findNodeById(this.areaUsers,t.userInfo.districtId)?.type |
| | | t.unittype = t.findNodeById(res.data.data,t.userInfo.districtId)?.type |
| | | }else{ |
| | | console.log('暂无数据') |
| | | } |
| | |
| | | const t = this |
| | | this.checkAll = !this.checkAll |
| | | if(t.checkAll == true){ |
| | | t.form.receiver = t.traverseTree(t.areaUsers[0]) |
| | | t.form.receiver = t.traverseTree(t.areaUsers) |
| | | }else{ |
| | | t.form.receiver = [] |
| | | } |
| | | }, |
| | | |
| | | //选择平级部门部分 |
| | | handle(selectedItems) { |
| | | const t = this |
| | | if(t.form.recipient.length == t.filteredOptions.length){ |
| | | 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) |
| | | }else{ |
| | | t.form.recipient = [] |
| | | } |
| | | }, |
| | | |
| | | isAddLeaders(e) { |
| | | const t = this |
| | | t.withLeaders = !t.withLeaders |
| | | if(e.target.checked){ |
| | | // if(t.userInfo.role.id == 3){ |
| | | t.sendLeaders = [] |
| | | for(let i of t.leaders){ |
| | | const {realName,...data} = i |
| | | const { id: recipienterId, name: recipienterName, phone: recipienterPhone,...rest} = data |
| | | const obj = { recipienterId, recipienterName, recipienterPhone, province: null,city: null,area: null,town: null,receiveUnit: t.userInfo.company,unittype: t.userInfo.unittype,roleId: 2,...rest} |
| | | t.sendLeaders.push(obj) |
| | | } |
| | | // } |
| | | }else{ |
| | | t.sendLeaders = [] |
| | | } |
| | | }, |
| | | |
| | |
| | | const obj = { recipienterId, recipienterName, recipienterPhone, receiveUnit,...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){ |
| | |
| | | }else{ |
| | | this.$message.error(res.data.msg) |
| | | } |
| | | this.visible = false |
| | | this.$emit('refresh') |
| | | this.$refs.ruleForm.clearValidate() |
| | | this.$refs.ruleForm.resetFields() |
| | | this.delList = [] |
| | | this.fileList = [] |
| | | this.visible = false |
| | | this.$emit('refresh') |
| | | }) |
| | | }else{ |
| | | const {receiver,recipient,id,...data} = this.form |
| | | msgSend(data).then( res =>{ |
| | | if(res.data.code == 100){ |
| | | this.$message.success('信息已提交审核') |
| | | this.deleteFile() |
| | | }else{ |
| | | this.$message.error(res.data.msg) |
| | | } |
| | | this.visible = false |
| | | this.$emit('refresh') |
| | | this.$refs.ruleForm.clearValidate() |
| | | this.$refs.ruleForm.resetFields() |
| | | this.delList = [] |
| | | this.fileList = [] |
| | | }) |
| | | if(this.title == '信息转发'){ |
| | | const {receiver,recipient,id,...data} = this.form |
| | | msgSend(data).then( res =>{ |
| | | if(res.data.code == 100){ |
| | | this.$message.success('信息已提交审核') |
| | | this.deleteFile() |
| | | }else{ |
| | | this.$message.error(res.data.msg) |
| | | } |
| | | this.$refs.ruleForm.clearValidate() |
| | | this.$refs.ruleForm.resetFields() |
| | | this.delList = [] |
| | | this.fileList = [] |
| | | this.visible = false |
| | | this.$emit('refresh') |
| | | }) |
| | | }else{ |
| | | const {receiver,recipient,reviewId,...data} = this.form |
| | | msgUpdate(data).then( res =>{ |
| | | if(res.data.code == 100){ |
| | | this.$message.success('信息已提交审核') |
| | | this.deleteFile() |
| | | }else{ |
| | | this.$message.error(res.data.msg) |
| | | } |
| | | this.$refs.ruleForm.clearValidate() |
| | | this.$refs.ruleForm.resetFields() |
| | | this.delList = [] |
| | | this.fileList = [] |
| | | this.visible = false |
| | | this.$emit('refresh') |
| | | }) |
| | | } |
| | | } |
| | | }else{ |
| | | console.log('error submit!!'); |
| | |
| | | // 将树状数据所有id和name放入对象数组 |
| | | traverseTree(treeData) { |
| | | let result = []; |
| | | function traverse(node) { |
| | | result.push({ label: node.name, value: node.id }); |
| | | if (node.children && node.children.length > 0) { |
| | | for (let child of node.children) { |
| | | traverse(child); |
| | | function traverse(data) { |
| | | for(const node of data){ |
| | | if(node.users && node.users.length>0) { |
| | | result.push({label: node.name, value: node.id}); |
| | | if (node.children && node.children.length > 0) { |
| | | traverse(node.children); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | }, |
| | | onSelect() { |
| | | console.log(...arguments); |
| | | }, |
| | | //选择平级部门部分 |
| | | handle(selectedItems) { |
| | | this.selectedItems = selectedItems; |
| | | }, |
| | | handleRisk(selectedItems) { |
| | | // this.selectedItems = selectedItems; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .ant-radio-button-wrapper-checked { |
| | | /* 自定义禁用样式 */ |
| | | /* 例如,修改文本颜色和背景颜色 */ |
| | | color: #fff; |
| | | background-color: #1890ff; |
| | | } |
| | | |
| | | /deep/.ant-select-disabled{ |
| | | color: @blackText; |
| | | |
| | | .ant-select-selection{ |
| | | background: #fff; |
| | | |
| | | .ant-select-selection__choice{ |
| | | color: @blackText; |
| | | background: #fafafa; |
| | | } |
| | | } |
| | | } |
| | | </style> |