From 0e10e10157b90002b99996914eaf1e5574924ddf Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期一, 12 十月 2026 11:15:50 +0800
Subject: [PATCH] 修改了报销校验

---
 src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue |   79 +++++++++++++++++++--------------------
 1 files changed, 38 insertions(+), 41 deletions(-)

diff --git a/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue b/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
index e817a85..3751a16 100644
--- a/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
+++ b/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
@@ -75,30 +75,30 @@
               <span>{{ parseTime(scope.row.applyTime, "{y}-{m}-{d}") }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="鐢宠閲戦" align="center" prop="pretaxcost" width="200px" />
-          <el-table-column label="缁忓姙浜�" align="center" prop="username" width="150px" />
-          <el-table-column label="鐢宠鏉愭枡鐘舵��" width="140" align="center" prop="checkFlag">
+          <el-table-column label="鐢宠閲戦" align="center" prop="pretaxcost" width="120px" />
+          <el-table-column label="缁忓姙浜�" align="center" prop="username" width="90px" />
+          <el-table-column label="鏉愭枡棰勫鐘舵��" width="140px" align="center" prop="checkFlag">
             <template slot-scope="scope">
               <dict-tag :options="dict.type.sys_stage_type" :value="scope.row.checkstatus" />
             </template>
           </el-table-column>
-          <el-table-column label="瀹℃牳鐘舵��" align="center" prop="recordstatus" width="200">
+          <el-table-column label="瀹℃牳鐘舵��" align="center" prop="recordstatus" width="140px">
             <template slot-scope="scope">
               <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" />
             </template>
           </el-table-column>
-          <el-table-column label="涓◣璁$畻鎯呭喌" align="center" prop="recordstatus" width="200">
+          <!-- <el-table-column label="涓◣璁$畻鎯呭喌" align="center" prop="recordstatus" width="120px">
             <template slot-scope="scope">
               <dict-tag :options="dict.type.sys_tax" :value="scope.row.istax" />
             </template>
-          </el-table-column>
-          <el-table-column label="鎵�灞炵粍鍒�" align="center" prop="deptmentname" width="200px" />
-          <el-table-column label="缁勯暱" align="center" prop="managername" width="150px" />
-          <el-table-column label="鎹愮尞鑰�" align="center" prop="donorname" width="120px" />
+          </el-table-column> -->
+          <el-table-column label="鎵�灞炵粍鍒�" align="center" prop="deptmentname" width="140px" />
+          <el-table-column label="缁勯暱" align="center" prop="managername" width="90px" />
+          <el-table-column label="鎹愮尞鑰�" align="center" prop="donorname" width="90px" />
           <el-table-column label="澶囨敞" align="center" prop="remark" />
           <!--<el-table-column label="鎹愮尞缂栧彿" align="center" prop="donorno" />
           <el-table-column label="璐㈠姟瀹℃牳" align="center" prop="financechecher" width="140" />-->
-          <el-table-column label="鎿嶄綔" fixed="right" align="center" class-name="small-padding fixed-width" width="260px">
+          <el-table-column label="鎿嶄綔" fixed="right" align="center" class-name="small-padding fixed-width" width="200px">
             <template slot-scope="scope">
               <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.checkFlag == 0"
                 @click="handleDetail(scope.row)">璇︽儏</el-button>
@@ -311,8 +311,8 @@
           <el-col :span="7">
             <el-form-item label="鐢宠鏃ユ湡" prop="applyTime">
               <!-- <el-input v-model="form.donorno" placeholder="璇疯緭鍏ョ敵璇锋棩鏈�" /> -->
-              <el-date-picker clearable style="width: 100%" v-model="form.applyTime" type="date"
-                value-format="yyyy-MM-dd HH:mm:ss" placeholder="鐢宠鏃ユ湡">
+              <el-date-picker clearable style="width: 100%" v-model="form.applyTime" type="date" format="yyyy-MM-dd"
+                value-format="yyyy-MM-dd" placeholder="鐢宠鏃ユ湡">
               </el-date-picker>
             </el-form-item>
           </el-col>
@@ -362,7 +362,7 @@
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="dundcheck" v-if="dialogType == 'edit'">瀹℃牳</el-button>
+        <el-button type="primary" :loading="checkSubmitLoading" :disabled="checkSubmitLoading" @click="dundcheck" v-if="dialogType == 'edit'">瀹℃牳</el-button>
         <el-button @click="cancel">鍙栨秷</el-button>
       </div>
     </el-dialog>
@@ -437,6 +437,7 @@
 
 // 瀵煎叆鏈湴瀛樺偍鐨勬柟娉�
 import { setItem, grtItem, removeItem } from "@/utils/storage.js";
+import { moneySum, moneyAdd, moneySub, moneyMul, moneyRound } from "@/utils/money";
 
 export default {
   components: {
@@ -460,6 +461,7 @@
   ],
   data() {
     return {
+      checkSubmitLoading: false,
       arrr2: [],
       arrr3: [],
       //璐圭敤绫诲瀷鏁扮粍
@@ -565,7 +567,7 @@
         },
         {
           value: 2,
-          label: "瀹℃煡閫氳繃绛夊緟閭瘎绾歌川鏉愭枡"
+          label: "瀹℃煡閫氳繃绛夊緟绾歌川鏉愭枡"
         },
         {
           value: 3,
@@ -692,6 +694,7 @@
       });
     },
     dundcheck() {
+      if (this.checkSubmitLoading) return;
       // this.$em
 
       //console.log("1234567", this.form.flowlevelone, this.form.flowconclusion);
@@ -708,7 +711,9 @@
         this.$modal.msgError("璇烽�夋嫨瀹℃牳缁撹!");
         return;
       }
+      this.checkSubmitLoading = true;
       checkfund(checkfundobj).then(res => {
+        this.checkSubmitLoading = false;
         if (res.code == 200) {
           console.log("瀹℃牳璐圭敤", res);
           this.dialogOpen = false;
@@ -717,11 +722,7 @@
           this.getlistbypower();
         } else {
           this.dialogOpen = false;
-          if (res.msg) {
-            this.$modal.msgError("鎿嶄綔澶辫");
-          } else {
-            this.$modal.msgError(res.msg);
-          }
+          this.$modal.msgError(res.msg || "鎿嶄綔澶辫触");
         }
       });
     },
@@ -1469,49 +1470,45 @@
       });
     },
 
-    //璁$畻鎬婚噾棰�
+    //璁$畻鎬婚噾棰濓紙閲戦涓�寰嬭蛋绮剧‘杩愮畻锛岀姝� parseFloat 绱姞锛�
     sumTotalFee() {
-      let allSum = 0;
+      const detailsArr = [];
       let preTaxSum = 0;
       let taxedSum = 0;
       if (this.form.applytype != null) {
         for (let i = 0; i < this.fundDetailArr.length; i++) {
+          const detail = this.fundDetailArr[i];
           let totalFee = 0;
-          let taxFee = 0;
           if (this.form.applytype == 1 || this.form.applytype == 2) {
-            //璁$畻褰撳墠鎶ラ攢鍐呭璐圭敤鍚堣
-            if (!isNaN(parseFloat(this.fundDetailArr[i].amount))) {
-              totalFee += parseFloat(this.fundDetailArr[i].amount);
-              taxFee += parseFloat(this.fundDetailArr[i].amount);
-              preTaxSum += parseFloat(this.fundDetailArr[i].amount);
+            //璁$畻褰撳墠鎶ラ攢鍐呭璐圭敤鍚堣锛氱◣鍓� - 鎵g◣
+            if (!isNaN(parseFloat(detail.amount))) {
+              totalFee = moneyAdd(totalFee, detail.amount);
+              preTaxSum = moneyAdd(preTaxSum, detail.amount);
             }
-            if (!isNaN(parseFloat(this.fundDetailArr[i].taxamount))) {
-              totalFee -= parseFloat(this.fundDetailArr[i].taxamount);
-              taxFee -= parseFloat(this.fundDetailArr[i].taxamount);
+            if (!isNaN(parseFloat(detail.taxamount))) {
+              totalFee = moneySub(totalFee, detail.taxamount);
             }
             //taxedamount
-            if (!isNaN(parseFloat(this.fundDetailArr[i].taxedamount))) {
-              taxedSum += parseFloat(this.fundDetailArr[i].taxedamount);
+            if (!isNaN(parseFloat(detail.taxedamount))) {
+              taxedSum = moneyAdd(taxedSum, detail.taxedamount);
             }
           } else if (this.form.applytype == 3) {
             if (
-              !isNaN(parseFloat(this.fundDetailArr[i].price)) &&
-              !isNaN(parseFloat(this.fundDetailArr[i].quantity))
+              !isNaN(parseFloat(detail.price)) &&
+              !isNaN(parseFloat(detail.quantity))
             ) {
-              totalFee +=
-                parseFloat(this.fundDetailArr[i].price) *
-                parseFloat(this.fundDetailArr[i].quantity);
+              totalFee = moneyMul(detail.price, detail.quantity);
             }
           }
           // if (!isNaN(parseFloat(taxFee))) {
           //   this.fundDetailArr[i].taxedamount = taxFee.toFixed(2);
           // }
-          allSum += totalFee;
+          detailsArr.push(totalFee);
         }
       }
-      this.form.amountrequested = allSum.toFixed(2);
-      this.form.pretaxcost = preTaxSum.toFixed(2);
-      this.form.taxedcost = taxedSum.toFixed(2);
+      this.form.amountrequested = moneyRound(moneySum(detailsArr)).toFixed(2);
+      this.form.pretaxcost = moneyRound(preTaxSum).toFixed(2);
+      this.form.taxedcost = moneyRound(taxedSum).toFixed(2);
       this.$forceUpdate();
       console.log(this.form);
     },

--
Gitblit v1.9.3