| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | :visible.sync="visible" |
| | | width="100%"> |
| | | <el-form :model="form" label-position="top" ref="paramRef" :rules="rules"> |
| | | <el-form-item label="通知方式" prop="title"> |
| | | <el-checkbox-group v-model="form.title"> |
| | | <el-checkbox label="美食/餐厅线上活动" name="1"></el-checkbox> |
| | | <el-checkbox label="地推活动" name="2"></el-checkbox> |
| | | <el-checkbox label="线下主题活动" name="3"></el-checkbox> |
| | | <el-checkbox label="单纯品牌曝光" name="4"></el-checkbox> |
| | | :title="title" |
| | | :visible.sync="visible" |
| | | :isDownload="true" |
| | | width="100%" |
| | | @downloadFile="downloadFile" |
| | | @confirm="confirm"> |
| | | <el-form :model="form" label-position="top" ref="paramRef"> |
| | | <el-form-item label="通知方式"> |
| | | <el-checkbox-group v-model="form.type"> |
| | | <el-checkbox label="短信"></el-checkbox> |
| | | <el-checkbox label="邮件"></el-checkbox> |
| | | </el-checkbox-group> |
| | | </el-form-item> |
| | | <el-form-item label="通知接收人" prop="companyId"> |
| | | <div style="display: flex; flex-direction: column;"> |
| | | <div style="display: flex; align-items: center; margin-bottom: 20px;"> |
| | | <span style="font-size: 14px; color: black; margin-right: 10px;">张三</span> |
| | | <el-select v-model="form.companyId" placeholder="请选择"> |
| | | <el-option label="区域一" value="0"></el-option> |
| | | <el-option label="区域二" value="1"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div style="display: flex; align-items: center;"> |
| | | <span style="font-size: 14px; color: black; margin-right: 10px;">XXXX公司</span> |
| | | <el-select v-model="form.companyId" placeholder="请选择"> |
| | | <el-option label="区域一" value="0"></el-option> |
| | | <el-option label="区域二" value="1"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <el-form-item label="通知接收人"> |
| | | <div style="display: flex; align-items: center; margin-bottom: 10px;" v-for="(item, index) in userList" :key="index"> |
| | | <span style="margin-right: 15px; font-size: 15px; color: #222222;">{{item.customerName}}</span> |
| | | <el-select v-model="item.userId" placeholder="请选择"> |
| | | <el-option |
| | | v-for="(item, index) in item.memberList" |
| | | :key="index" |
| | | :label="item.name" |
| | | :value="item.id" /> |
| | | </el-select> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | <script> |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import { getNoticeCustomerData, downloadCallFeeDoc, sendSmsEmail } from '@/api/ywContractBill' |
| | | export default { |
| | | name: "call", |
| | | components: { GlobalWindow }, |
| | | extends: BaseOpera, |
| | | data() { |
| | | return { |
| | | ids: null, |
| | | form: { |
| | | title: '1', |
| | | companyId: '0' |
| | | type: [] |
| | | }, |
| | | rules: { |
| | | title: [{ required: true, message: '请输入' }], |
| | | companyId: [{ required: true, message: '请选择' }], |
| | | } |
| | | userList: [] |
| | | } |
| | | }, |
| | | methods: { |
| | | |
| | | open (title, ids) { |
| | | this.title = title |
| | | this.ids = ids |
| | | this.form.type = [] |
| | | this.userList = [] |
| | | this.visible = true |
| | | this.getUser() |
| | | }, |
| | | downloadFile() { |
| | | downloadCallFeeDoc(this.ids) |
| | | .then(response => { |
| | | this.download(response) |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | }, |
| | | getUser() { |
| | | getNoticeCustomerData(this.ids) |
| | | .then(res => { |
| | | this.userList = res |
| | | }) |
| | | }, |
| | | confirm() { |
| | | if (this.form.type.length === 0) return this.$message.warning('通知方式不能为空') |
| | | let arr = this.userList.map(item => { |
| | | return { |
| | | billId: item.billId, |
| | | sendEmail: this.form.type.includes('邮件') ? 1 : 0, |
| | | sendSms: this.form.type.includes('短信') ? 1 : 0, |
| | | userId: item.userId |
| | | } |
| | | }) |
| | | sendSmsEmail(arr).then(res => { |
| | | this.$message.success('发送成功!') |
| | | this.visible = false |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |