From b417a422c08ceabd31fa7feaba42fd8a7b1e86d2 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期六, 18 一月 2025 09:14:08 +0800 Subject: [PATCH] 1 --- admin/src/views/finance/components/call.vue | 89 ++++++++++++++++++++++++++------------------ 1 files changed, 53 insertions(+), 36 deletions(-) diff --git a/admin/src/views/finance/components/call.vue b/admin/src/views/finance/components/call.vue index d2504cc..2660506 100644 --- a/admin/src/views/finance/components/call.vue +++ b/admin/src/views/finance/components/call.vue @@ -1,24 +1,29 @@ <template> <GlobalWindow - :title="title" - :visible.sync="visible" - width="100%" - @confirm="confirm"> - <el-form :model="form" label-position="top" ref="paramRef" :rules="rules"> - <el-form-item label="閫氱煡鏂瑰紡" prop="type"> + :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="userId"> - <el-select v-model="form.userId" placeholder="璇烽�夋嫨"> - <el-option - v-for="(item, index) in userList" - :key="index" - :label="item.realname" - :value="item.id" /> - </el-select> + <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> </GlobalWindow> @@ -27,46 +32,58 @@ <script> import GlobalWindow from '@/components/common/GlobalWindow' import BaseOpera from '@/components/base/BaseOpera' - import { getUserList } from '@/api/system/user' + import { getNoticeCustomerData, downloadCallFeeDoc, sendSmsEmail } from '@/api/ywContractBill' export default { name: "call", components: { GlobalWindow }, extends: BaseOpera, data() { return { - info: null, + ids: null, form: { - type: [], - userId: '' - }, - rules: { - type: [{ required: true, message: '璇烽�夋嫨', trigger: 'blur' }], - userId: [{ required: true, message: '璇烽�夋嫨', trigger: 'blur' }] + type: [] }, userList: [] } }, - created () { - this.getUser() - }, methods: { - open (title, target) { + open (title, ids) { this.title = title - this.info = target + this.ids = ids + this.form.type = [] + this.userList = [] this.visible = true + this.getUser() }, - getUser() { - getUserList({}) - .then(res => { - this.userList = res - }) - }, + 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() { - this.$refs.paramRef.validate((valid) => { - if (!valid) { - return + 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 + }) } } } -- Gitblit v1.9.3