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