From d21d7dd23f15a0ca395a4c9d1b3bb31330ff56c0 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期三, 30 九月 2026 11:27:37 +0800
Subject: [PATCH] 专家费校验

---
 src/views/project/travelexpensecheck/index.vue |   64 +++++++++++++++-----------------
 1 files changed, 30 insertions(+), 34 deletions(-)

diff --git a/src/views/project/travelexpensecheck/index.vue b/src/views/project/travelexpensecheck/index.vue
index 8591592..3c8ea41 100644
--- a/src/views/project/travelexpensecheck/index.vue
+++ b/src/views/project/travelexpensecheck/index.vue
@@ -33,7 +33,16 @@
           </el-form-item>
         </el-col>
       </el-row>
-      <el-row>
+      <el-row> <el-col :span="5">
+          <el-form-item label="鎶ラ攢绫诲埆" prop="costtype">
+            <el-input v-model="queryParams.costtype" placeholder="璇烽�夋嫨鎶ラ攢绫诲埆" clearable size="small" v-if="0"
+              @keyup.enter.native="handleQuery" />
+            <el-select v-model="queryParams.costtype" placeholder="璇烽�夋嫨鎶ラ攢绫诲埆" clearable size="small">
+              <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
+                :value="dict.label" />
+            </el-select>
+          </el-form-item>
+        </el-col>
         <el-col :span="5">
           <el-form-item label="缁忓姙浜�" prop="username">
             <el-input v-model="queryParams.username" placeholder="璇疯緭鍏ユ姤閿�浜�" clearable size="small"
@@ -46,6 +55,8 @@
               @keyup.enter.native="handleQuery" />
           </el-form-item>
         </el-col>
+      </el-row>
+      <el-row>
         <el-col :span="8">
           <el-form-item label="鐢宠鏃ユ湡" prop="applyTime">
             <el-date-picker format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="value1" type="daterange"
@@ -88,7 +99,7 @@
       </el-table-column>
       <el-table-column label="鎶ラ攢閲戦" width="120" align="center" prop="amountrequested" />
       <el-table-column label="缁忓姙浜�" width="100" align="center" prop="username" />
-      <el-table-column label="鐢宠鏉愭枡鐘舵��" width="140" align="center" prop="checkstatus">
+      <el-table-column label="鏉愭枡棰勫鐘舵��" width="140" align="center" prop="checkstatus">
         <template slot-scope="scope">
           <dict-tag :options="dict.type.sys_stage_type" :value="scope.row.checkstatus" />
         </template>
@@ -564,7 +575,7 @@
               <!-- <file-upload ref="fileUpload" :fileType=fileType :limit="1" :on-success="handleUploadSuccess"></file-upload> -->
               <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple
                 :limit="20" :headers="headers" :on-success="(response, file, fileList) =>
-                    uploadSccess(response, file, fileList)
+                  uploadSccess(response, file, fileList)
                   " :on-preview="downFile" :disabled="dialogType == 'detail'" :on-error="handleUploadError"
                 :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf">
                 <el-button :disabled="dialogType == 'detail'" size="small" type="primary">涓婁紶</el-button>
@@ -667,6 +678,7 @@
 import { getUserProfile } from "@/api/system/user";
 import { getToken } from "@/utils/auth";
 import { setItem, grtItem, removeItem } from "@/utils/storage.js";
+import { moneySum } from "@/utils/money";
 
 export default {
   components: {
@@ -744,7 +756,7 @@
         },
         {
           value: 3,
-          label: "宸叉敹鍒版潗鏂�"
+          label: "宸叉敹鍒扮焊璐ㄦ潗鏂�"
         }
       ],
       // 鏌ヨ鍙傛暟
@@ -1283,41 +1295,25 @@
         });
     },
 
-    //璁$畻璐圭敤鍚堣
+    //璁$畻璐圭敤鍚堣锛堥噾棰濅竴寰嬭蛋绮剧‘杩愮畻锛岀姝� parseFloat 绱姞锛�
     sumTotalFee(scope) {
-      let allSum = 0;
       try {
         for (let i = 0; i < this.rbDetails.length; i++) {
-          let totalFee = 0;
+          const row = this.rbDetails[i];
           //璁$畻褰撳墠鎶ラ攢鍐呭璐圭敤鍚堣
-          if (!isNaN(parseFloat(this.rbDetails[i].trafficexpense))) {
-            totalFee += parseFloat(this.rbDetails[i].trafficexpense);
-          }
-          if (!isNaN(parseFloat(this.rbDetails[i].cityfee))) {
-            totalFee += parseFloat(this.rbDetails[i].cityfee);
-          }
-          if (!isNaN(parseFloat(this.rbDetails[i].hotelexpense))) {
-            totalFee += parseFloat(this.rbDetails[i].hotelexpense);
-          }
-          if (!isNaN(parseFloat(this.rbDetails[i].otherexpense))) {
-            totalFee += parseFloat(this.rbDetails[i].otherexpense);
-          }
-          if (!isNaN(parseFloat(this.rbDetails[i].foodexpenses))) {
-            totalFee += parseFloat(this.rbDetails[i].foodexpenses);
-          }
-          if (!isNaN(parseFloat(this.rbDetails[i].foodallowance))) {
-            totalFee += parseFloat(this.rbDetails[i].foodallowance);
-          }
-          if (!isNaN(parseFloat(this.rbDetails[i].otherfeeamount))) {
-            totalFee += parseFloat(this.rbDetails[i].otherfeeamount);
-          }
-          this.rbDetails[i].total = parseFloat(totalFee).toFixed(2);
-          this.$set(this.rbDetails, scope.$index, this.rbDetails[i]);
-          if (!isNaN(parseFloat(this.rbDetails[i].total))) {
-            allSum += parseFloat(this.rbDetails[i].total);
-          }
+          const totalFee = moneySum([
+            row.trafficexpense,
+            row.cityfee,
+            row.hotelexpense,
+            row.otherexpense,
+            row.foodexpenses,
+            row.foodallowance,
+            row.otherfeeamount
+          ]);
+          row.total = totalFee.toFixed(2);
+          this.$set(this.rbDetails, scope.$index, row);
         }
-        this.form.amountrequested = allSum.toFixed(2);
+        this.form.amountrequested = moneySum(this.rbDetails, "total").toFixed(2);
         this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested);
       } catch { }
     },

--
Gitblit v1.9.3