From c75027743ea7c3ecc2d0885f01d11d2ad78679a3 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期五, 23 十月 2026 14:23:26 +0800
Subject: [PATCH] Merge branch 'yxh' of http://116.62.18.175:6699/r/~yxh/opo-web

---
 src/views/project/fund/expertFeeApply/index.vue |  497 +++++++++++++++++++++++++++++++-----------------------
 1 files changed, 286 insertions(+), 211 deletions(-)

diff --git a/src/views/project/fund/expertFeeApply/index.vue b/src/views/project/fund/expertFeeApply/index.vue
index 32cc59e..0cd2053 100644
--- a/src/views/project/fund/expertFeeApply/index.vue
+++ b/src/views/project/fund/expertFeeApply/index.vue
@@ -2,119 +2,66 @@
 <template>
   <div class="app-container">
     <el-row>
-      <el-col :span="6">
-        <el-card shadow="never">
-          <!-- 鎹愮尞妗堜緥鍒楄〃 -->
-          <el-row>
-            <el-col :span="10">
-              <el-row type="flex" :gutter="10" align="right" class="mb8">
-              </el-row>
-            </el-col>
-          </el-row>
-          <div>
-            <el-form
-              :model="queryParams"
-              ref="queryForm"
-              :inline="true"
-              label-width="70px"
-            >
-              <el-form-item label="濮撳悕" prop="name">
-                <el-input
-                  v-model="queryParams.name"
-                  placeholder="璇疯緭鍏ュ鍚�"
-                  clearable
-                  size="small"
-                  @keyup.enter.native="handleQuery"
-                />
-              </el-form-item>
-              <el-form-item label="鎹愮尞杩涘害" prop="recordstate">
-                <el-select
-                  v-model="queryParams.recordstate"
-                  placeholder="璇烽�夋嫨璁板綍鐘舵��"
-                  clearable
-                  size="small"
-                >
-                  <el-option
-                    v-for="dict in dict.type.sys_DonationStatus"
-                    :key="dict.value"
-                    :label="dict.label"
-                    :value="dict.value"
-                  />
-                </el-select>
-              </el-form-item>
-              <div style="float: right; margin-bottom: 10px;">
-                <el-button
-                  type="primary"
-                  icon="el-icon-search"
-                  size="mini"
-                  @click="handleQuery"
-                  >鎼滅储</el-button
-                >
-                <el-button
-                  icon="el-icon-refresh"
-                  size="mini"
-                  @click="resetQuery"
-                  >閲嶇疆</el-button
-                >
-              </div>
-            </el-form>
-          </div>
-          <el-table
-            v-loading="loading"
-            highlight-current-row
-            :data="donatebaseinfoList"
-            @row-click="selectDonotor"
-          >
-            <!-- <el-table-column label="鎹愮尞缂栧彿" align="center" prop="donorno" /> -->
-            <el-table-column label="鎹愮尞杩涘害" align="center" prop="recordstate">
-              <template slot-scope="scope">
-                <dict-tag
-                  :options="dict.type.sys_DonationStatus"
-                  :value="scope.row.recordstate"
-                  :key="dict.value"
-                />
-                <!-- :label="dict.label" -->
-              </template>
-            </el-table-column>
-            <el-table-column label="濮撳悕" align="center" prop="name" />
-          </el-table>
-          <pagination
-            v-show="total > 0"
-            :total="total"
-            small
-            :page.sync="queryParams.pageNum"
-            :limit.sync="queryParams.pageSize"
-            @pagination="getBaseInfoList"
-          />
-        </el-card>
-      </el-col>
-      <el-col :span="18">
+      <el-col :span="24">
         <el-card shadow="naver">
           <el-form ref="infoform" label-width="100px">
-            <el-row :gutter="4" align="right" class="mb8">
-              <el-col :span="7">
-                <el-form-item label="鎹愮尞缂栧彿">
-                  <el-input
-                    v-model="curCase.donorno"
-                    :disabled="true"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="8">
-                <el-form-item label="濮撳悕">
-                  <el-input v-model="curCase.name" :disabled="true"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="3">
-                <el-button
-                  type="primary"
-                  icon="el-icon-search"
-                  size="mini"
-                  @click="allgetfundList"
-                  >妫�绱㈠叏閮�</el-button
-                >
-              </el-col>
-            </el-row>
+            <!-- 鎶ラ攢鍗曠瓫閫夛細鎹愮尞鑰呫�佸鎵圭姸鎬� -->
+            <el-form
+              class="opo-query-form"
+              :model="fundQueryParam"
+              ref="fundQueryForm"
+              :inline="true"
+              label-width="82px"
+            >
+              <el-row>
+                <el-col :span="6">
+                  <el-form-item label="鎹愮尞鑰�" prop="donorname">
+                    <el-input
+                      v-model="fundQueryParam.donorname"
+                      placeholder="璇疯緭鍏ユ崘鐚�呭鍚�"
+                      clearable
+                      size="small"
+                      @keyup.enter.native="handleQueryFund"
+                    />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label="瀹℃壒鐘舵��" prop="recordstatus">
+                    <el-select
+                      v-model="fundQueryParam.recordstatus"
+                      placeholder="璇烽�夋嫨瀹℃壒鐘舵��"
+                      clearable
+                      size="small"
+                      style="width: 100%"
+                    >
+                      <el-option
+                        v-for="dict in dict.type.sys_recordstatus"
+                        :key="dict.value"
+                        :label="dict.label"
+                        :value="Number(dict.value)"
+                      />
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label-width="10px">
+                    <el-button
+                      type="primary"
+                      icon="el-icon-search"
+                      size="small"
+                      @click="handleQueryFund"
+                      >鎼滅储</el-button
+                    >
+                    <el-button
+                      icon="el-icon-refresh"
+                      size="small"
+                      @click="resetFundQuery"
+                      >閲嶇疆</el-button
+                    >
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </el-form>
             <el-row :gutter="10" class="mb8">
               <el-col :span="1.5">
                 <el-button
@@ -190,7 +137,7 @@
                   </template>
                 </el-table-column>
                 <el-table-column
-                  label="鐢宠鏉愭枡鐘舵��"
+                  label="鏉愭枡棰勫鐘舵��"
                   width="140"
                   align="center"
                   prop="checkstatus"
@@ -268,6 +215,8 @@
                     <!-- v-hasPermi="['project:expretfund:download']" -->
                   </template>
                 </el-table-column>
+                <!-- 2026-10-22锛氭寜瑕佹眰闅愯棌銆屽姛鑳姐�嶅垪锛堢嚎涓嬫姤閿�锛夛紝闇�瑕佹椂鍙栨秷娉ㄩ噴鍗冲彲鎭㈠ -->
+                <!--
                 <el-table-column
                   fixed="right"
                   align="center"
@@ -287,12 +236,121 @@
                     >
                   </template>
                 </el-table-column>
+                -->
               </el-table>
+              <!-- 鏈�夋嫨妗堜緥鏃跺睍绀鸿鐧诲綍浜哄叏閮ㄤ笓瀹跺姵鍔″崟鎹紝瓒呰繃涓�椤靛彲鐢ㄥ垎椤电炕鐪� -->
+              <pagination
+                v-show="fundTotal > 0"
+                :total="fundTotal"
+                small
+                :page.sync="fundQueryParam.pageNum"
+                :limit.sync="fundQueryParam.pageSize"
+                @pagination="listFundData"
+              />
             </el-row>
           </el-form>
         </el-card>
       </el-col>
     </el-row>
+
+    <!-- 鏂板鐢宠鍗曞墠鍏堥�夋嫨鎹愮尞妗堜緥锛堝師宸︿晶妗堜緥鍒楄〃绉诲埌杩欓噷锛� -->
+    <el-dialog
+      title="閫夋嫨鎹愮尞妗堜緥"
+      :visible.sync="caseDialogVisible"
+      width="760px"
+      append-to-body
+    >
+      <el-form
+        class="opo-query-form"
+        :model="queryParams"
+        ref="queryForm"
+        :inline="true"
+        label-width="70px"
+      >
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="濮撳悕" prop="name">
+              <el-input
+                v-model="queryParams.name"
+                placeholder="璇疯緭鍏ュ鍚�"
+                clearable
+                size="small"
+                @keyup.enter.native="handleQuery"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="鎹愮尞杩涘害" prop="recordstate">
+              <el-select
+                v-model="queryParams.recordstate"
+                placeholder="璇烽�夋嫨璁板綍鐘舵��"
+                clearable
+                size="small"
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="dict in dict.type.sys_DonationStatus"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label-width="10px">
+              <el-button
+                type="primary"
+                icon="el-icon-search"
+                size="small"
+                @click="handleQuery"
+                >鎼滅储</el-button
+              >
+              <el-button icon="el-icon-refresh" size="small" @click="resetQuery"
+                >閲嶇疆</el-button
+              >
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <el-table
+        ref="caseTable"
+        v-loading="loading"
+        border
+        height="380"
+        highlight-current-row
+        :data="donatebaseinfoList"
+        @row-click="selectDonotor"
+      >
+        <el-table-column label="鎹愮尞杩涘害" align="center" prop="recordstate">
+          <template slot-scope="scope">
+            <dict-tag
+              :options="dict.type.sys_DonationStatus"
+              :value="scope.row.recordstate"
+            />
+          </template>
+        </el-table-column>
+        <el-table-column label="濮撳悕" align="center" prop="name" />
+        <el-table-column label="鎿嶄綔" align="center" width="90">
+          <template slot-scope="scope">
+            <el-button type="text" size="mini" @click="selectDonotor(scope.row)"
+              >閫夋嫨</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+        v-show="total > 0"
+        :total="total"
+        small
+        :page.sync="queryParams.pageNum"
+        :limit.sync="queryParams.pageSize"
+        @pagination="getBaseInfoList"
+      />
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="caseDialogVisible = false">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
 
     <!-- 娣诲姞鎴栦慨鏀硅垂鐢ㄧ敵璇峰崟 -->
     <el-dialog
@@ -317,7 +375,7 @@
                 clearable
                 style="width: 100%"
                 v-model="form.applyTime"
-                type="date"
+                type="date" format="yyyy-MM-dd"
                 value-format="yyyy-MM-dd HH:mm:ss"
                 placeholder="鐢宠鏃ユ湡"
               >
@@ -1112,7 +1170,8 @@
   getdownloadYX,
   getdownloadBX,
   addorupdateFund,
-  getdetailsByItemId
+  getdetailsByItemId,
+  validateExpertFee
 } from "@/api/project/fund";
 
 import {
@@ -1159,6 +1218,7 @@
 import OrgSelecter from "@/views/project/components/orgselect";
 import elementIcons from "../../../components/icons/element-icons";
 import { getToken } from "@/utils/auth";
+import { moneySum, moneyAdd, moneySub, moneyMul, moneyRound } from "@/utils/money";
 
 export default {
   //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
@@ -1212,11 +1272,16 @@
       },
       fundQueryParam: {
         pageNum: 1,
-        pageSize: 100,
+        pageSize: 10,
         infoid: null,
         applytype: "1",
-        createBy: null
+        createBy: null,
+        // 鎶ラ攢鍗曠瓫閫夋潯浠�
+        donorname: null,
+        recordstatus: null
       },
+      // 鍙充晶鎶ラ攢鍗曟�绘暟锛堢敤浜庡垎椤碉級
+      fundTotal: 0,
       // 琛ㄥ崟鍙傛暟
       form: {},
       //鎵�鏈変汉鍛樿〃
@@ -1265,6 +1330,9 @@
       donatebaseinfoList: [],
       //褰撳墠閫変腑鎹愮尞妗堜緥
       curCase: {},
+      // 銆岄�夋嫨鎹愮尞妗堜緥銆嶅璇濇锛堟柊澧炵敵璇峰崟鏃朵娇鐢級
+      caseDialogVisible: false,
+      casePickerMode: "",
       //鏄惁鏄剧ず璐圭敤鐢宠寮圭獥
       dialogOpen: false,
       // title: "",
@@ -1360,11 +1428,12 @@
   watch: {},
   //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛�
   created() {
-    this.getList();
-    this.getBaseInfoList();
+    // 妗堜緥鍒楄〃宸茬Щ鍏ャ�岄�夋嫨鎹愮尞妗堜緥銆嶅璇濇锛屾墦寮�瀵硅瘽妗嗘椂鍐嶆煡璇�
     this.getCurFundType();
     this.getUserList();
     this.getUnitList();
+    // 棣栧睆灞曠ず褰撳墠鐧诲綍浜虹殑鍏ㄩ儴涓撳鍔冲姟鍗曟嵁
+    this.allgetfundList();
   },
 
   //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛�
@@ -1408,57 +1477,24 @@
       });
     },
 
-    /** 鏂板鎸夐挳鎿嶄綔 */
+    /** 鏂板鎸夐挳鎿嶄綔锛氬厛寮瑰嚭銆岄�夋嫨鎹愮尞妗堜緥銆嶅璇濇 */
     handleAdd() {
-      if (this.curCase.id) {
-        this.$router.push({
-          path: "/finance/applyDetail/",
-          query: {
-            id: 0,
-            businessType: "1",
-            operationType: "add",
-            curCase: this.curCase
-          }
-        });
-      } else {
-        const h = this.$createElement;
-        this.$message({
-          message: h("p", null, [
-            h("span", null, "璇峰湪宸﹁竟鐨勬崘鐚渚嬭〃閫夋嫨闇�瑕佹搷浣滅殑妗堜緥锛�")
-          ])
-        });
-      }
-      return;
+      this.casePickerMode = "add";
+      this.caseDialogVisible = true;
+      this.getBaseInfoList();
+    },
 
-      if (this.curCase.id) {
-        this.istrue += 2;
-        this.reset();
-        this.queryParams.params = {};
-        this.form.infoid = this.curCase.id;
-        this.form.donorno = this.curCase.donorno;
-        this.form.donorname = this.curCase.name;
-
-        this.form.username = this.defaultperson.nickName;
-        this.form.userno = this.defaultperson.userName;
-        this.form.phone = this.defaultperson.phonenumber;
-        this.form.deptmentname = this.defaultperson.dept.deptName;
-        this.form.deptmentno = this.defaultperson.dept.deptId;
-        this.form.managername = this.defaultperson.dept.leader;
-
-        // this.form.createTime = nowdate;
-        //this.open = true;
-        //this.initFundApplyForm();
-        this.fundDetails = [];
-        this.addRow();
-        this.dialogOpen = true;
-        this.dialogType = "edit";
-        this.title = "璐圭敤鐢宠";
-      } else {
-        const h = this.$createElement;
-        this.$message({
-          message: h("p", null, [h("span", null, "璇峰厛閫夋嫨宸︽柟鎹愮尞妗堜緥 ")])
-        });
-      }
+    /** 鎼哄甫宸查�夋渚嬭烦杞埌鐢宠鍗曞~鍐欓〉 */
+    goApplyAdd() {
+      this.$router.push({
+        path: "/finance/applyDetail/",
+        query: {
+          id: 0,
+          businessType: "1",
+          operationType: "add",
+          curCase: this.curCase
+        }
+      });
     },
 
     /** 淇敼鎸夐挳鎿嶄綔 */
@@ -1824,21 +1860,37 @@
             // });
           }
 
-          addorupdateFund(this.form).then(response => {
-            if (response.code === 200) {
-              this.selectDonotor(this.curCase);
-              this.$modal.msgSuccess("涓撳鍔冲姟璐逛繚瀛樻垚鍔燂紒");
-            } else {
-              this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg);
-            }
-          });
+          // 淇濆瓨鍓嶅厛鍋氫笓瀹跺姵鍔¤垂 9 鏉¤垂鐢ㄦ帶鍒舵牎楠岋紙鍚屼竴妗堜緥绱锛�
+          validateExpertFee(this.form).then(valid => {
+            const errors = (valid && valid.errors) || [];
+            const warnings = (valid && valid.warnings) || [];
 
-          //鍏抽棴绐楀彛
-          this.loading = false;
-          this.dialogOpen = false;
-          // this.getfundList();
-          this.getList();
-          this.selectDonotor(this.curCase);
+            // warnings锛堣鍒� 5銆�6锛変粎鎻愮ず锛屼笉闃绘柇淇濆瓨
+            if (warnings.length > 0) {
+              this.$modal.msgWarning(warnings.join("锛�"));
+            }
+
+            // errors 闃绘柇淇濆瓨锛屼繚鐣欑獥鍙h缁忓姙浜哄厛淇
+            if (errors.length > 0) {
+              this.$modal.msgError(errors.join("锛�"));
+              this.loading = false;
+              return;
+            }
+
+            addorupdateFund(this.form).then(response => {
+              if (response.code === 200) {
+                //鍏抽棴绐楀彛
+                this.loading = false;
+                this.dialogOpen = false;
+                this.selectDonotor(this.curCase);
+                this.$modal.msgSuccess("涓撳鍔冲姟璐逛繚瀛樻垚鍔燂紒");
+                this.getList();
+              } else {
+                this.$modal.msgError("涓撳鍔冲姟璐逛繚瀛樺け璐ワ細" + response.msg);
+                this.loading = false;
+              }
+            });
+          });
         }
       });
     },
@@ -2152,25 +2204,57 @@
     //鐐瑰嚮鎹愮尞妗堜緥鍒楄〃瑙﹀彂鏂规硶
     selectDonotor(row, column, event) {
       this.curCase = row;
-      this.getfundList();
+      if (this.casePickerMode === "add") {
+        // 浠庛�屾柊澧炵敵璇峰崟銆嶈繘鍏ワ細閫夊畬妗堜緥鐩存帴璺冲埌鐢宠鍗曞~鍐欓〉
+        this.casePickerMode = "";
+        this.caseDialogVisible = false;
+        this.goApplyAdd();
+      }
     },
     allgetfundList() {
-      this.loading = true;
+      // 妫�绱㈠叏閮細鍙栨秷宸︿晶妗堜緥閫夋嫨涓庣瓫閫夋潯浠讹紝鏌ヨ褰撳墠鐧诲綍浜虹殑鍏ㄩ儴涓撳鍔冲姟鍗曟嵁
+      this.curCase = {};
+      if (this.$refs.caseTable) {
+        this.$refs.caseTable.setCurrentRow();
+      }
       this.reset();
       this.fundQueryParam.infoid = null;
+      this.fundQueryParam.donorname = null;
+      this.fundQueryParam.recordstatus = null;
+      this.fundQueryParam.pageNum = 1;
+      this.listFundData();
+    },
+    /** 鎶ラ攢鍗曠瓫閫夛細鎼滅储 */
+    handleQueryFund() {
+      this.fundQueryParam.pageNum = 1;
+      this.listFundData();
+    },
+    /** 鎶ラ攢鍗曠瓫閫夛細閲嶇疆锛堟竻绌烘潯浠朵笌宸查�夋渚嬶紝鍥炲埌璇ョ櫥褰曚汉鍏ㄩ儴鍗曟嵁锛� */
+    resetFundQuery() {
+      this.fundQueryParam.donorname = null;
+      this.fundQueryParam.recordstatus = null;
+      this.allgetfundList();
+    },
+    /**
+     * 鎸夊綋鍓� fundQueryParam 鏌ヨ鍙充晶鎶ラ攢鍗曞垪琛�
+     * infoid 涓虹┖ = 褰撳墠鐧诲綍浜虹殑鍏ㄩ儴璇ョ被鍨嬪崟鎹紱鏈夊�� = 鎸囧畾妗堜緥
+     */
+    listFundData() {
+      this.loading = true;
       listFund(this.fundQueryParam).then(response => {
         this.loading = false;
         this.donateconsolationfundList = response.rows;
+        this.fundTotal = response.total;
       });
     },
     getfundList() {
-      this.loading = true;
       this.reset();
+      // 閫変腑妗堜緥鍚庢寜妗堜緥灞曠ず锛屽悓鏃舵竻鎺夊垪琛ㄧ瓫閫夋潯浠讹紝閬垮厤涓や釜鏉′欢鍙犲姞瀵艰嚧绌哄垪琛�
+      this.fundQueryParam.donorname = null;
+      this.fundQueryParam.recordstatus = null;
       this.fundQueryParam.infoid = this.curCase.id;
-      listFund(this.fundQueryParam).then(response => {
-        this.loading = false;
-        this.donateconsolationfundList = response.rows;
-      });
+      this.fundQueryParam.pageNum = 1;
+      this.listFundData();
     },
 
     //瀵煎叆鎵�鏈夐」鐩�
@@ -2451,43 +2535,34 @@
     //璁$畻涓◣
     calculateTax() {},
 
-    //璁$畻鎬婚噾棰�
+    //璁$畻鎬婚噾棰濓紙閲戦涓�寰嬭蛋绮剧‘杩愮畻锛�
     sumTotalFee(row) {
-      let allSum = 0;
+      const detailsArr = [];
       if (this.form.applytype != null) {
         for (let i = 0; i < this.fundDetails.length; i++) {
+          const detail = this.fundDetails[i];
           let totalFee = 0;
-          let taxFee = 0;
           if (this.form.applytype == 1 || this.form.applytype == 2) {
-            //璁$畻褰撳墠鎶ラ攢鍐呭璐圭敤鍚堣
-            if (!isNaN(parseFloat(this.fundDetails[i].amount))) {
-              totalFee += parseFloat(this.fundDetails[i].amount);
-              taxFee += parseFloat(this.fundDetails[i].amount);
+            //璁$畻褰撳墠鎶ラ攢鍐呭璐圭敤鍚堣锛氱◣鍓� - 鎵g◣
+            if (!isNaN(parseFloat(detail.amount))) {
+              totalFee = moneyAdd(totalFee, detail.amount);
             }
-            if (!isNaN(parseFloat(this.fundDetails[i].taxamount))) {
-              totalFee -= parseFloat(this.fundDetails[i].taxamount);
-              taxFee -= parseFloat(this.fundDetails[i].taxamount);
+            if (!isNaN(parseFloat(detail.taxamount))) {
+              totalFee = moneySub(totalFee, detail.taxamount);
             }
           } else if (this.form.applytype == 3) {
             if (
-              !isNaN(parseFloat(this.fundDetails[i].price)) &&
-              !isNaN(parseFloat(this.fundDetails[i].quantity))
+              !isNaN(parseFloat(detail.price)) &&
+              !isNaN(parseFloat(detail.quantity))
             ) {
-              totalFee +=
-                parseFloat(this.fundDetails[i].price) *
-                parseFloat(this.fundDetails[i].quantity);
+              totalFee = moneyMul(detail.price, detail.quantity);
             }
           }
-
-          //绋庡墠銆佺◣鍚庨渶瑕佺嫭绔嬪綍鍏�
-          // if (!isNaN(parseFloat(taxFee))) {
-          //   this.fundDetails[i].taxedamount = taxFee.toFixed(2);
-          // }
-
-          allSum += totalFee;
+          detailsArr.push(totalFee);
         }
       }
-      // this.form.amountrequested = allSum.toFixed(2);
+      // 鍚堣浠嶅湪纭鍙e緞鍚庡惎鐢紱鍏堜繚璇佽绠楁湰韬槸绮剧‘鐨�
+      // this.form.amountrequested = moneyRound(moneySum(detailsArr)).toFixed(2);
       // this.$forceUpdate();
     },
 

--
Gitblit v1.9.3