From a2299a6d4a6f99e9c11132138f5d3e9ec68f03ea Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 06 六月 2025 19:19:34 +0800
Subject: [PATCH] 开发更新

---
 admin/src/views/finance/components/flowingWater.vue |   62 +++++++++++++++++++++++--------
 1 files changed, 46 insertions(+), 16 deletions(-)

diff --git a/admin/src/views/finance/components/flowingWater.vue b/admin/src/views/finance/components/flowingWater.vue
index a2490c2..8eed2b8 100644
--- a/admin/src/views/finance/components/flowingWater.vue
+++ b/admin/src/views/finance/components/flowingWater.vue
@@ -3,7 +3,7 @@
       @confirm="confirm">
         <div class="main">
             <div class="main_content">
-                <el-form :model="form" label-position="top" ref="paramRef" :rules="rules">
+                <el-form :model="form" label-position="top" ref="form" :rules="rules">
                     <div class="head">
                         <div class="m_title">娴佹按淇℃伅</div>
                     </div>
@@ -17,16 +17,16 @@
                         <el-form-item label="璁¤垂鍛ㄦ湡" required>
                             <el-input v-model="form.date" disabled placeholder="璇疯緭鍏�" v-trim />
                         </el-form-item>
-                        <el-form-item label="搴旀敹閲戦" prop="receivableFee">
-                            <el-input v-model="form.receivableFee" placeholder="璇疯緭鍏�" v-trim />
+                        <el-form-item :label="`搴�${form.needReceivableFeeCopy > 0 ? '鏀�' : '浠�'}閲戦`" required>
+                            <el-input v-model="form.receivableFee" disabled placeholder="璇疯緭鍏�" v-trim />
                         </el-form-item>
-                        <el-form-item label="瀹炴敹閲戦" prop="actReceivableFee">
+                        <el-form-item :label="`瀹�${form.needReceivableFeeCopy > 0 ? '鏀�' : '浠�'}閲戦`" prop="actReceivableFee">
                             <el-input v-model="form.actReceivableFee" placeholder="璇疯緭鍏�" v-trim />
                         </el-form-item>
-                        <el-form-item label="鍏ヨ处鏃ユ湡" prop="actPayDate">
+                        <el-form-item :label="`${form.needReceivableFeeCopy > 0 ? '鍏�' : '鍑�'}璐︽棩鏈焋" prop="actPayDate">
                             <el-date-picker type="date" v-model="form.actPayDate" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨" />
                         </el-form-item>
-                        <el-form-item label="鏀舵鏂瑰紡" prop="payType">
+                        <el-form-item :label="`${form.needReceivableFeeCopy > 0 ? '鏀�' : '浠�'}娆炬柟寮廯" prop="payType">
                             <el-select v-model="form.payType" placeholder="璇烽�夋嫨">
                                 <el-option label="鐜伴噾" :value="1"></el-option>
                                 <el-option label="缃戦摱杞处" :value="2"></el-option>
@@ -77,7 +77,6 @@
 <script>
   import GlobalWindow from '@/components/common/GlobalWindow'
   import BaseOpera from '@/components/base/BaseOpera'
-  import { rules } from './config'
   import { ywAccountList } from '@/api/bill'
   import { create } from '@/api/ywContractRevenue'
   import { Message, Loading } from 'element-ui'
@@ -101,6 +100,7 @@
           contractId: '',
           startDate: '',
           endDate: '',
+          receivableFee: '',
           date: '',
           companyId: '',
           actReceivableFee: '',
@@ -110,10 +110,23 @@
           remark: '',
           accountId: '',
           multifileList: [],
-          costTypeName: ''
+          costTypeName: '',
+          needReceivableFeeCopy: ''
         },
-        rules,
-
+        rules: {
+          receivableFee: [
+            { required: true, message: '璇疯緭鍏�', trigger: 'blur' }
+          ],
+          actPayDate: [
+            { required: true, message: '璇烽�夋嫨', trigger: 'blur' }
+          ],
+          payType: [
+            { required: true, message: '璇烽�夋嫨', trigger: 'blur' }
+          ],
+          accountId: [
+            { required: true, message: '璇烽�夋嫨', trigger: 'blur' }
+          ]
+        },
         loadingInstance: null,
         uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/uploadBatch',
         uploadData: {
@@ -123,11 +136,28 @@
       }
     },
     methods: {
+      getDayTime () {
+        const today = new Date();
+        const year = today.getFullYear();
+        const month = today.getMonth() + 1;
+        const day = today.getDate();
+        return `${year}-${month < 10 ? '0' + month : month}-${day < 10 ? '0' + day : day}`;
+      },
       confirm () {
-        create(this.form)
-          .then(res => {
-            console.log(res)
-          })
+        this.$refs.form.validate((valid) => {
+          if (!valid) return
+          this.isWorking = true
+          create(this.form)
+            .then(() => {
+              this.visible = false
+              this.$tip.apiSuccess('鍒涘缓鎴愬姛')
+              this.$emit('success')
+              this.$emit('refresh')
+            })
+            .finally(() => {
+              this.isWorking = false
+            })
+        })
       },
       handleRent() {
         this.$refs.MemberSearchRef.openModal()
@@ -184,7 +214,6 @@
           }
         })
         const item = file.data[0]
-        console.log(item)
         this.form.multifileList.push({ ...item, fileurl: item.imgaddr, name: item.originname, userName: this.userInfo.realname, createTime: this.getDay() })
       },
       close() {
@@ -194,11 +223,12 @@
         this.title = title
         this.visible = true
         this.$nextTick(() => {
+          this.$refs.form.resetFields();
           for (const key in this.form) {
             this.form[key] = target[key]
           }
+          this.form.actPayDate = this.getDayTime()
         })
-        console.log(this.form)
         this.getDates(target.companyId)
       }
     }

--
Gitblit v1.9.3