From 3873d3c350c8c1edd7bfdc8afe08c9e78f56d968 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期四, 22 十月 2026 23:24:20 +0800
Subject: [PATCH] 调整费用申请模式

---
 src/views/project/fund/ethicalExpertFeeApply/index.vue | 1145 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 847 insertions(+), 298 deletions(-)

diff --git a/src/views/project/fund/ethicalExpertFeeApply/index.vue b/src/views/project/fund/ethicalExpertFeeApply/index.vue
index 176db36..c6a74c6 100644
--- a/src/views/project/fund/ethicalExpertFeeApply/index.vue
+++ b/src/views/project/fund/ethicalExpertFeeApply/index.vue
@@ -1,199 +1,461 @@
 <!--  -->
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="70px">
-      <el-row align="left">
-        <el-col :span="6">
-          <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="6">
-          <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>
-        </el-col>
-        <el-col :span="6">
-          <el-form-item label="鎹愮尞鑰�" prop="name">
-            <el-input v-model="queryParams.donorname" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" clearable size="small"
-              @keyup.enter.native="handleQuery" />
-          </el-form-item>
-        </el-col>
-        <el-col :span="6">
-          <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>
-        </el-col>
-      </el-row>
-    </el-form>
     <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>
-          <el-table v-loading="loading" border 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" />
-              </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="9">
-                <el-form-item label="鎹愮尞缂栧彿">
-                  <el-input v-model="curCase.donorno" :disabled="true"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="9">
-                <el-form-item label="濮撳悕">
-                  <el-input v-model="curCase.name" :disabled="true"></el-input>
-                </el-form-item>
-              </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 type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
-                  v-hasPermi="['project:ethicalfund:add']">鏂板鐢宠鍗�</el-button>
+                <el-button
+                  type="primary"
+                  plain
+                  icon="el-icon-plus"
+                  size="mini"
+                  @click="handleAdd"
+                  v-hasPermi="['project:ethicalfund:add']"
+                  >鏂板鐢宠鍗�</el-button
+                >
               </el-col>
             </el-row>
             <el-row>
-              <el-table v-loading="loading" border :data="donateconsolationfundList">
-                <el-table-column label="鐢宠鏃ユ湡" align="center" prop="applyTime" width="150px">
+              <el-table
+                v-loading="loading"
+                border
+                :data="donateconsolationfundList"
+                :row-class-name="rowClassName"
+              >
+                <el-table-column
+                  label="鐢宠鏃ユ湡"
+                  align="center"
+                  prop="applyTime"
+                  width="150px"
+                >
                   <template slot-scope="scope">
                     <span>{{
                       parseTime(scope.row.applyTime, "{y}-{m}-{d}")
                     }}</span>
                   </template>
                 </el-table-column>
-                <el-table-column label="鐢宠浜�" align="center" prop="username" width="120px" />
-                <el-table-column label="鐢宠閲戦" align="center" prop="pretaxcost" width="200px" />
-                <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="recordstatus">
+                <el-table-column
+                  label="鐢宠浜�"
+                  align="center"
+                  prop="username"
+                  width="120px"
+                />
+                <el-table-column
+                  label="鐢宠閲戦"
+                  align="center"
+                  prop="pretaxcost"
+                  width="200px"
+                />
+                <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="recordstatus"
+                >
                   <template slot-scope="scope">
-                    <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" />
+                    <dict-tag
+                      :options="dict.type.sys_recordstatus"
+                      :value="scope.row.recordstatus"
+                    />
                   </template>
                 </el-table-column>
-                <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" />
+                    <dict-tag
+                      :options="dict.type.sys_stage_type"
+                      :value="scope.row.checkstatus"
+                    />
                   </template>
                 </el-table-column>
+                <el-table-column
+                  label="鎹愮尞鑰�"
+                  align="center"
+                  prop="donorname"
+                  width="110px"
+                  show-overflow-tooltip
+                />
                 <!--
                 <el-table-column label="鑱旂郴鐢佃瘽" align="center" prop="phone" width="150px" />
                 <el-table-column label="宸ヤ綔鍗曚綅" align="center" prop="unitname" width="220px" />
                 -->
-                <el-table-column label="鎿嶄綔" fixed="right" align="center" class-name="small-padding fixed-width"
-                  width="280px">
+                <el-table-column
+                  label="鎿嶄綔"
+                  fixed="right"
+                  align="center"
+                  class-name="small-padding fixed-width"
+                  width="280px"
+                >
                   <template slot-scope="scope">
-                    <el-button v-if="scope.row.recordstatus == -1 ||
-                      scope.row.recordstatus == 1
-                      " size="mini" type="text" icon="el-icon-edit" @click="handleup(scope.row)">涓婃姤</el-button>
-                    <el-button v-if="scope.row.recordstatus == -1 ||
-                      scope.row.recordstatus == 1
-                      " size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
-                      v-hasPermi="['project:ethicalfund:edit']">淇敼</el-button>
-                    <el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">鏌ョ湅</el-button>
-                    <el-button v-if="scope.row.recordstatus == -1 ||
-                      scope.row.recordstatus == 1
-                      " size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
-                      v-hasPermi="['project:ethicalfund:delete']">鍒犻櫎</el-button>
-                    <el-button size="mini" type="text" icon="el-icon-download" @click="mixExport(scope.row.id)"
-                      v-hasPermi="['project:ethicalfund:download']">涓嬭浇</el-button>
+                    <el-button
+                      v-if="
+                        scope.row.recordstatus == -1 ||
+                          scope.row.recordstatus == 1
+                      "
+                      size="mini"
+                      type="text"
+                      icon="el-icon-edit"
+                      @click="handleup(scope.row)"
+                      >涓婃姤</el-button
+                    >
+                    <el-button
+                      v-if="
+                        scope.row.recordstatus == -1 ||
+                          scope.row.recordstatus == 1
+                      "
+                      size="mini"
+                      type="text"
+                      icon="el-icon-edit"
+                      @click="handleUpdate(scope.row)"
+                      >淇敼</el-button
+                    >
+                    <el-button
+                      size="mini"
+                      type="text"
+                      icon="el-icon-view"
+                      @click="handleDetail(scope.row)"
+                      >鏌ョ湅</el-button
+                    >
+                    <el-button
+                      v-if="
+                        scope.row.recordstatus == -1 ||
+                          scope.row.recordstatus == 1
+                      "
+                      size="mini"
+                      type="text"
+                      @click="handleDelete(scope.row)"
+                      ><span class="button-delete"
+                        ><i class="el-icon-delete"></i>鍒犻櫎</span
+                      ></el-button
+                    >
+                    <el-button
+                      size="mini"
+                      type="text"
+                      icon="el-icon-download"
+                      @click="mixExport(scope.row.id)"
+                      >涓嬭浇</el-button
+                    >
                   </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 :visible.sync="dialogOpen" :close-on-click-modal="false" width="1400px" :title="title"
-      style="text-align: center" v-loading="loading">
+    <el-dialog
+      :visible.sync="dialogOpen"
+      :close-on-click-modal="false"
+      width="1400px"
+      :title="title"
+      style="text-align: center"
+      v-loading="loading"
+    >
       <el-form ref="form" :model="form" label-width="120px" :rules="rules">
         <el-row style="text-align: left">
           <el-col :span="5">
             <el-form-item label="鐢宠鏃ユ湡" prop="applyTime">
-              <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 HH:mm:ss"
+                placeholder="鐢宠鏃ユ湡"
+              >
               </el-date-picker>
             </el-form-item>
           </el-col>
           <el-col :span="5">
             <el-form-item label="缁忓姙浜�" prop="username">
-              <el-select v-model="form.username" placeholder="缁忓姙浜�" clearable filterable allow-create style="width: 100%">
-                <el-option v-for="dict in userlist" :key="dict.index" :label="dict.nickname"
-                  :value="dict.nickname"></el-option>
+              <el-select
+                v-model="form.username"
+                placeholder="缁忓姙浜�"
+                clearable
+                filterable
+                allow-create
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="dict in userlist"
+                  :key="dict.index"
+                  :label="dict.nickname"
+                  :value="dict.nickname"
+                ></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="5">
             <el-form-item label="鎵�灞炵粍鍒�" prop="deptmentname">
-              <el-input v-model="form.deptmentname" placeholder="璇疯緭鍏ユ墍灞炵粍鍒�" clearable />
+              <el-input
+                v-model="form.deptmentname"
+                placeholder="璇疯緭鍏ユ墍灞炵粍鍒�"
+                clearable
+              />
             </el-form-item>
           </el-col>
           <el-col :span="5">
             <el-form-item label="缁勯暱" prop="managername">
-              <el-input v-model="form.managername" placeholder="璇疯緭鍏ョ粍闀�" clearable />
+              <el-input
+                v-model="form.managername"
+                placeholder="璇疯緭鍏ョ粍闀�"
+                clearable
+              />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row style="text-align: left">
           <el-col :span="5">
             <el-form-item label="鐢宠绫诲瀷">
-              <el-radio v-model="form.applytype" label="2">浼︾悊瀹℃煡涓撳璐圭敵璇�</el-radio>
-            </el-form-item> </el-col><el-col :span="10">
+              <el-radio v-model="form.applytype" label="2"
+                >浼︾悊瀹℃煡涓撳璐圭敵璇�</el-radio
+              >
+            </el-form-item> </el-col
+          ><el-col :span="10">
             <el-form-item label="鐢宠璇存槑" prop="remark">
               <el-input v-model="form.remark" placeholder="鐢宠璇存槑" />
             </el-form-item>
           </el-col>
           <el-col :span="5">
             <el-form-item label="鎹愮尞鑰�" prop="donorname">
-              <el-input :disabled="true" v-model="form.donorname" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" clearable />
+              <el-input
+                :disabled="true"
+                v-model="form.donorname"
+                placeholder="璇疯緭鍏ユ崘鐚�呭鍚�"
+                clearable
+              />
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row style="text-align: left"><el-col :span="5">
+        <el-row style="text-align: left"
+          ><el-col :span="5">
             <el-form-item label="鐢宠閲戦" prop="amountrequested">
-              <el-input v-model="form.amountrequested" placeholder="鐢宠閲戦" :disabled="true" />
+              <el-input
+                v-model="form.amountrequested"
+                placeholder="鐢宠閲戦"
+                :disabled="true"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="5">
             <el-form-item label="绋庡墠閲戦" prop="pretaxcost">
-              <el-input v-model="form.pretaxcost" placeholder="绋庡墠閲戦鍚堣" :disabled="true" />
+              <el-input
+                v-model="form.pretaxcost"
+                placeholder="绋庡墠閲戦鍚堣"
+                :disabled="true"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="5">
             <el-form-item label="绋庡悗閲戦" prop="pretaxcost">
-              <el-input v-model="form.taxedcost" placeholder="绋庡悗閲戦鍚堣" :disabled="true" />
+              <el-input
+                v-model="form.taxedcost"
+                placeholder="绋庡悗閲戦鍚堣"
+                :disabled="true"
+              />
             </el-form-item>
           </el-col>
           <el-col :span="5">
             <el-form-item label="瀹℃牳鐘舵��" prop="recordstatus">
               <!-- <el-input v-model="form.recordstatus" placeholder="瀹℃牳鎰忚" /> -->
-              <el-select v-model="form.recordstatus" placeholder="璇烽�夋嫨瀹℃牳鐘舵��" clearable size="small" :disabled="true">
-                <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label"
-                  :value="dict.value" />
+              <el-select
+                v-model="form.recordstatus"
+                placeholder="璇烽�夋嫨瀹℃牳鐘舵��"
+                clearable
+                size="small"
+                :disabled="true"
+              >
+                <el-option
+                  v-for="dict in dict.type.sys_recordstatus"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
               </el-select>
             </el-form-item>
           </el-col>
@@ -212,131 +474,297 @@
         </el-row>
         <el-row style="margin-bottom: 10px">
           <el-col :span="4">
-            <el-button @click.native.prevent="addAlls" type="primary" size="small">
+            <el-button
+              @click.native.prevent="addAlls"
+              type="primary"
+              size="small"
+            >
               瀵煎叆鏈嶅姟椤圭洰
             </el-button>
           </el-col>
         </el-row>
         <el-row style="margin-top: 5px; margin-bottom: 5px">
           <el-table :data="fundDetailArr" border highlight-current-row>
-            <el-table-column prop="orderno" align="center" label="鎺掑簭" width="80">
+            <el-table-column
+              prop="orderno"
+              align="center"
+              label="鎺掑簭"
+              width="80"
+            >
               <template slot-scope="scope">
                 <el-input v-model="scope.row.orderno" placeholder="鎺掑簭" />
               </template>
             </el-table-column>
-            <el-table-column prop="itemtype" align="center" label="璐圭敤绫诲瀷" width="220">
+            <el-table-column
+              prop="itemtype"
+              align="center"
+              label="璐圭敤绫诲瀷"
+              width="220"
+            >
               <template slot-scope="scope">
-                <el-select v-model="scope.row.applytype" placeholder="璐圭敤绫诲瀷" @change="LoadItemTypeArr(scope.row)">
-                  <el-option v-for="dict in fundtypeArr" :key="dict.value" :label="dict.label"
-                    :value="dict.value"></el-option>
+                <el-select
+                  v-model="scope.row.applytype"
+                  placeholder="璐圭敤绫诲瀷"
+                  @change="LoadItemTypeArr(scope.row)"
+                >
+                  <el-option
+                    v-for="dict in fundtypeArr"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.value"
+                  ></el-option>
                 </el-select>
               </template>
             </el-table-column>
-            <el-table-column prop="itemtype" align="center" label="鏈嶅姟椤圭洰" width="260">
+            <el-table-column
+              prop="itemtype"
+              align="center"
+              label="鏈嶅姟椤圭洰"
+              width="260"
+            >
               <template slot-scope="scope">
-                <el-select v-model="scope.row.itemid" placeholder="鏈嶅姟椤圭洰" @change="select(scope.row)" clearable filterable
-                  allow-create :filter-method="val => SearchItem(val, scope)">
-                  <el-option v-for="dict in scope.row.itemArr" :key="dict.index" :label="dict.itemName"
-                    :value="dict.id"></el-option>
+                <el-select
+                  v-model="scope.row.itemid"
+                  placeholder="鏈嶅姟椤圭洰"
+                  @change="select(scope.row)"
+                  clearable
+                  filterable
+                  allow-create
+                  :filter-method="val => SearchItem(val, scope)"
+                >
+                  <el-option
+                    v-for="dict in scope.row.itemArr"
+                    :key="dict.index"
+                    :label="dict.itemName"
+                    :value="dict.id"
+                  ></el-option>
                 </el-select>
               </template>
             </el-table-column>
 
-            <el-table-column prop="beneficiaryno" align="center" label="濮撳悕" width="120" v-if="form.applytype != 3">
+            <el-table-column
+              prop="beneficiaryno"
+              align="center"
+              label="濮撳悕"
+              width="120"
+              v-if="form.applytype != 3"
+            >
               <template slot-scope="scope">
-                <el-button type="primary" plain @click="ShowDetailDialog(scope, 'name')">{{ scope.row.beneficiaryname
-                }}</el-button>
+                <el-button
+                  type="primary"
+                  plain
+                  @click="ShowDetailDialog(scope, 'name')"
+                  >{{ scope.row.beneficiaryname }}</el-button
+                >
                 <!-- <el-input
                   v-model="scope.row.beneficiaryname"
                   placeholder="濮撳悕"
                           /> -->
               </template>
             </el-table-column>
-            <el-table-column prop="servicesscopename" align="center" label="璐圭敤璇存槑" width="180">
+            <el-table-column
+              prop="servicesscopename"
+              align="center"
+              label="璐圭敤璇存槑"
+              width="180"
+            >
               <template slot-scope="scope">
-                <el-select v-model="scope.row.servicesscopename" placeholder="璐圭敤璇存槑" clearable allow-create filterable
-                  @change="selectremark(scope.row)">
-                  <el-option v-for="dict in fundblock" :key="dict.expensedescribe" :label="dict.expensedescribe"
-                    :value="dict.expensedescribe"></el-option>
+                <el-select
+                  v-model="scope.row.servicesscopename"
+                  placeholder="璐圭敤璇存槑"
+                  clearable
+                  allow-create
+                  filterable
+                  @change="selectremark(scope.row)"
+                >
+                  <el-option
+                    v-for="dict in fundblock"
+                    :key="dict.expensedescribe"
+                    :label="dict.expensedescribe"
+                    :value="dict.expensedescribe"
+                  ></el-option>
                 </el-select>
               </template>
             </el-table-column>
-            <el-table-column prop="amount" align="center" label="绋庡墠閲戦" width="120" v-if="form.applytype != 3">
+            <el-table-column
+              prop="amount"
+              align="center"
+              label="绋庡墠閲戦"
+              width="120"
+              v-if="form.applytype != 3"
+            >
               <template slot-scope="scope">
-                <el-input v-model="scope.row.amount" placeholder="绋庡墠閲戦" @blur="val => {
-                    sumTotalFee();
-                  }
-                  " />
+                <el-input
+                  v-model="scope.row.amount"
+                  placeholder="绋庡墠閲戦"
+                  @blur="
+                    val => {
+                      sumTotalFee();
+                    }
+                  "
+                />
               </template>
             </el-table-column>
 
-            <el-table-column prop="taxedamount" align="center" label="绋庡悗閲戦" width="120" v-if="form.applytype != '3'">
+            <el-table-column
+              prop="taxedamount"
+              align="center"
+              label="绋庡悗閲戦"
+              width="120"
+              v-if="form.applytype != '3'"
+            >
               <template slot-scope="scope">
-                <el-input v-model="scope.row.taxedamount" placeholder="绋庡悗閲戦" @blur="val => {
-                    sumTotalFee();
-                  }
-                  " />
+                <el-input
+                  v-model="scope.row.taxedamount"
+                  placeholder="绋庡悗閲戦"
+                  @blur="
+                    val => {
+                      sumTotalFee();
+                    }
+                  "
+                />
               </template>
             </el-table-column>
-            <el-table-column prop="unitno" align="center" label="鍗曚綅" width="220">
+            <el-table-column
+              prop="unitno"
+              align="center"
+              label="鍗曚綅"
+              width="220"
+            >
               <template slot-scope="scope">
-                <el-button type="primary" plain @click="ShowDetailDialog(scope, 'unit')">{{ scope.row.unitname
-                }}</el-button>
+                <el-button
+                  type="primary"
+                  plain
+                  @click="ShowDetailDialog(scope, 'unit')"
+                  >{{ scope.row.unitname }}</el-button
+                >
               </template>
             </el-table-column>
 
-            <el-table-column prop="quantity" align="center" label="鏁伴噺" width="120" v-if="form.applytype == '3'">
+            <el-table-column
+              prop="quantity"
+              align="center"
+              label="鏁伴噺"
+              width="120"
+              v-if="form.applytype == '3'"
+            >
               <template slot-scope="scope">
-                <el-input v-model="scope.row.quantity" placeholder="鏁伴噺" @blur="val => {
-                    sumTotalFee();
-                  }
-                  " />
+                <el-input
+                  v-model="scope.row.quantity"
+                  placeholder="鏁伴噺"
+                  @blur="
+                    val => {
+                      sumTotalFee();
+                    }
+                  "
+                />
               </template>
             </el-table-column>
 
-            <el-table-column prop="price" align="center" label="浠锋牸" width="120" v-if="form.applytype == '3'">
+            <el-table-column
+              prop="price"
+              align="center"
+              label="浠锋牸"
+              width="120"
+              v-if="form.applytype == '3'"
+            >
               <template slot-scope="scope">
-                <el-input v-model="scope.row.price" placeholder="浠锋牸" @blur="val => {
-                    sumTotalFee();
-                  }
-                  " />
+                <el-input
+                  v-model="scope.row.price"
+                  placeholder="浠锋牸"
+                  @blur="
+                    val => {
+                      sumTotalFee();
+                    }
+                  "
+                />
               </template>
             </el-table-column>
 
-            <el-table-column prop="remark" align="center" label="澶囨敞" width="210" v-if="form.applytype == '3'">
+            <el-table-column
+              prop="remark"
+              align="center"
+              label="澶囨敞"
+              width="210"
+              v-if="form.applytype == '3'"
+            >
               <template slot-scope="scope">
                 <el-input v-model="scope.row.remark" placeholder="澶囨敞" />
               </template>
             </el-table-column>
 
-            <el-table-column prop="title" align="center" label="鑱岀О" width="120" v-if="form.applytype != '3'">
+            <el-table-column
+              prop="title"
+              align="center"
+              label="鑱岀О"
+              width="120"
+              v-if="form.applytype != '3'"
+            >
               <template slot-scope="scope">
                 <el-input v-model="scope.row.title" placeholder="鑱岀О" />
               </template>
             </el-table-column>
-            <el-table-column prop="idcardno" align="center" label="韬唤璇佸彿" width="200" v-if="form.applytype != '3'">
+            <el-table-column
+              prop="idcardno"
+              align="center"
+              label="韬唤璇佸彿"
+              width="200"
+              v-if="form.applytype != '3'"
+            >
               <template slot-scope="scope">
                 <el-input v-model="scope.row.idcardno" placeholder="韬唤璇佸彿" />
               </template>
             </el-table-column>
-            <el-table-column prop="depositbank" align="center" label="寮�鎴烽摱琛�" width="200" v-if="form.applytype != '3'">
+            <el-table-column
+              prop="depositbank"
+              align="center"
+              label="寮�鎴烽摱琛�"
+              width="200"
+              v-if="form.applytype != '3'"
+            >
               <template slot-scope="scope">
-                <el-input v-model="scope.row.depositbank" placeholder="寮�鎴烽摱琛�" />
+                <el-input
+                  v-model="scope.row.depositbank"
+                  placeholder="寮�鎴烽摱琛�"
+                />
               </template>
             </el-table-column>
 
-            <el-table-column prop="bankcardno" align="center" label="閾惰鍗″彿" width="210" v-if="form.applytype != '3'">
+            <el-table-column
+              prop="bankcardno"
+              align="center"
+              label="閾惰鍗″彿"
+              width="210"
+              v-if="form.applytype != '3'"
+            >
               <template slot-scope="scope">
-                <el-input v-model="scope.row.bankcardno" placeholder="閾惰鍗″彿" />
+                <el-input
+                  v-model="scope.row.bankcardno"
+                  placeholder="閾惰鍗″彿"
+                />
               </template>
             </el-table-column>
-            <el-table-column fixed="right" align="center" label="鎿嶄綔" width="120" v-if="dialogType == 'edit'">
+            <el-table-column
+              fixed="right"
+              align="center"
+              label="鎿嶄綔"
+              width="120"
+              v-if="dialogType == 'edit'"
+            >
               <template slot-scope="scope">
-                <el-button type="text" size="mini" @click="addRow(scope.$index)">鏂板</el-button>
-                <el-button @click.native.prevent="
-                  deleteRows(scope.row, scope.$index, fundDetailArr)
-                  " type="text" size="small">
-                  鍒犻櫎
+                <el-button type="text" size="mini" @click="addRow(scope.$index)"
+                  >鏂板</el-button
+                >
+                <el-button
+                  @click.native.prevent="
+                    deleteRows(scope.row, scope.$index, fundDetailArr)
+                  "
+                  type="text"
+                  size="small"
+                >
+                  <span class="button-delete"
+                    ><i class="el-icon-delete"></i>鍒犻櫎</span
+                  >
                 </el-button>
               </template>
             </el-table-column>
@@ -385,55 +813,139 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="鐢宠闄勪欢锛�" align="left" prop="annexbankcard">
-              <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple
-                :limit="20" :headers="headers" :on-success="(response, file, fileList) =>
+              <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)
-                  " :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>
+                "
+                :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
+                >
               </el-upload>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row v-if="dialogType == 'detail'">
           <el-table :data="fundflowList" border>
-            <el-table-column label="瀹℃牳浜�" align="center" width="120" prop="checkusername" />
-            <el-table-column label="瀹℃牳鏃ユ湡" align="center" width="160" prop="createTime" />
-            <el-table-column label="瀹℃牳缁撴灉" align="center" width="200" prop="flowconclusion"><template
-                slot-scope="scope"><span v-if="scope.row.flowconclusion == 1">閫氳繃</span><span
-                  v-if="scope.row.flowconclusion == 2">涓嶉�氳繃</span></template>
+            <el-table-column
+              label="瀹℃牳浜�"
+              align="center"
+              width="120"
+              prop="checkusername"
+            />
+            <el-table-column
+              label="瀹℃牳鏃ユ湡"
+              align="center"
+              width="160"
+              prop="createTime"
+            />
+            <el-table-column
+              label="瀹℃牳缁撴灉"
+              align="center"
+              width="200"
+              prop="flowconclusion"
+              ><template slot-scope="scope"
+                ><span v-if="scope.row.flowconclusion == 1">閫氳繃</span
+                ><span v-if="scope.row.flowconclusion == 2"
+                  >涓嶉�氳繃</span
+                ></template
+              >
             </el-table-column>
-            <el-table-column label="瀹℃牳澶囨敞" align="center" prop="flowcontent" />
+            <el-table-column
+              label="瀹℃牳澶囨敞"
+              align="center"
+              prop="flowcontent"
+            />
           </el-table>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm" v-if="dialogType == 'edit'">淇� 瀛�</el-button>
+        <el-button
+          type="primary"
+          @click="submitForm"
+          v-if="dialogType == 'edit'"
+          >淇� 瀛�</el-button
+        >
         <!-- <el-button type="success" @click="print">鎵� 鍗�</el-button> -->
         <el-button @click="cancel">鍙� 娑�</el-button>
       </div>
     </el-dialog>
 
-    <el-dialog :visible.sync="detailInfoDialogShow" :close-on-click-modal="false" :title="'淇℃伅淇敼'"
-      style="text-align: center" v-loading="loading" width="500px">
+    <el-dialog
+      :visible.sync="detailInfoDialogShow"
+      :close-on-click-modal="false"
+      :title="'淇℃伅淇敼'"
+      style="text-align: center"
+      v-loading="loading"
+      width="500px"
+    >
       <el-form ref="funddetailForm" :model="funddetailForm" label-width="120px">
         <el-row>
           <el-col :span="24" v-if="detailInfoDialogShowType == 'name'">
-            <el-form-item align="left" label="濮撳悕" prop="beneficiaryname" label-width="80px">
-              <el-select filterable allow-create ref="beneficiaryname" default-first-option
-                v-model="funddetailForm.beneficiaryname" placeholder="璇烽�夋嫨" style="width: 100%">
-                <el-option v-for="item in arrr3" :key="item.reportNo" :label="item.reportName" :value="item.reportName">
+            <el-form-item
+              align="left"
+              label="濮撳悕"
+              prop="beneficiaryname"
+              label-width="80px"
+            >
+              <el-select
+                filterable
+                allow-create
+                ref="beneficiaryname"
+                default-first-option
+                v-model="funddetailForm.beneficiaryname"
+                placeholder="璇烽�夋嫨"
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in arrr3"
+                  :key="item.reportNo"
+                  :label="item.reportName"
+                  :value="item.reportName"
+                >
                 </el-option>
               </el-select>
             </el-form-item>
           </el-col>
 
           <el-col :span="24" v-if="detailInfoDialogShowType == 'unit'">
-            <el-form-item align="left" label="鍗曚綅" prop="unitno" label-width="80px">
-              <el-select v-model="funddetailForm.unitno" placeholder="鍗曚綅" clearable filterable allow-create
-                style="width: 100%">
-                <el-option v-for="(spec, index) in unitList" :key="index" :label="spec.organizationname"
-                  :value="spec.organizationid"></el-option>
+            <el-form-item
+              align="left"
+              label="鍗曚綅"
+              prop="unitno"
+              label-width="80px"
+            >
+              <el-select
+                v-model="funddetailForm.unitno"
+                placeholder="鍗曚綅"
+                clearable
+                filterable
+                allow-create
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="(spec, index) in unitList"
+                  :key="index"
+                  :label="spec.organizationname"
+                  :value="spec.organizationid"
+                ></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -441,7 +953,9 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <el-button @click="detailInfoDialogShow = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="ConfirmDetailDialog()">纭� 瀹�</el-button>
+        <el-button type="primary" @click="ConfirmDetailDialog()"
+          >纭� 瀹�</el-button
+        >
       </span>
     </el-dialog>
   </div>
@@ -506,6 +1020,7 @@
 import { getUserProfile } from "@/api/system/user";
 import { listFundflow } from "@/api/project/fundflow";
 import { getToken } from "@/utils/auth";
+import { moneySum, moneyAdd, moneySub, moneyMul, moneyRound } from "@/utils/money";
 
 export default {
   //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
@@ -557,11 +1072,19 @@
       },
       fundQueryParam: {
         pageNum: 1,
-        pageSize: 100,
+        pageSize: 10,
         infoid: null,
         applytype: "2",
-        createBy: null
+        createBy: null,
+        // 鎶ラ攢鍗曠瓫閫夋潯浠�
+        donorname: null,
+        recordstatus: null
       },
+      // 鍙充晶鎶ラ攢鍗曟�绘暟锛堢敤浜庡垎椤碉級
+      fundTotal: 0,
+      // 銆岄�夋嫨鎹愮尞妗堜緥銆嶅璇濇锛堟柊澧炵敵璇峰崟鏃朵娇鐢級
+      caseDialogVisible: false,
+      casePickerMode: "",
       // 琛ㄥ崟鍙傛暟
       form: {},
       // 琛ㄥ崟鏍¢獙
@@ -648,55 +1171,23 @@
     },
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
-      if (this.curCase.id) {
-        this.$router.push({
-          path: "/finance/applyDetail/",
-          query: {
-            id: 0,
-            businessType: "2",
-            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.dialogOpen = true;
-        this.title = "娣诲姞璐圭敤鐢宠";
-        this.dialogType = "edit";
-        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.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.fundDetailArr = [];
-        this.fundflowList = [];
-        this.addRow();
-      } 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: "2",
+          operationType: "add",
+          curCase: this.curCase
+        }
+      });
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
@@ -724,8 +1215,8 @@
         //闄勪欢澶勭悊
         this.fileList = this.form.annexbankcard
           ? this.form.annexbankcard
-            .split(",")
-            .map(item => ({ url: item, name: item }))
+              .split(",")
+              .map(item => ({ url: item, name: item }))
           : [];
 
         getownFundDetail(id).then(async res => {
@@ -768,8 +1259,8 @@
         //闄勪欢澶勭悊
         this.fileList = this.form.annexbankcard
           ? this.form.annexbankcard
-            .split(",")
-            .map(item => ({ url: item, name: item }))
+              .split(",")
+              .map(item => ({ url: item, name: item }))
           : [];
 
         listFundflow(listFundflowparams).then(res => {
@@ -797,7 +1288,7 @@
       const ids = row.id || this.ids;
       this.$modal
         .confirm("鏄惁纭鍒犻櫎璇ヨ褰曪紵")
-        .then(function () {
+        .then(function() {
           return delFund(ids);
         })
         .then(() => {
@@ -811,7 +1302,7 @@
           this.getfundList();
           this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         })
-        .catch(() => { });
+        .catch(() => {});
     },
     /** 涓婃姤鎸夐挳鎿嶄綔 */
     handleup(row) {
@@ -825,7 +1316,18 @@
           //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍
           row.recordstatus = "0";
           var currenttime = new Date();
-          row.applyTime = currenttime.getFullYear() + "-" + (currenttime.getMonth()+1) + "-" + currenttime.getDate() + " " + currenttime.getHours() + ":" + currenttime.getMinutes() + ":" + currenttime.getSeconds();
+          row.applyTime =
+            currenttime.getFullYear() +
+            "-" +
+            (currenttime.getMonth() + 1) +
+            "-" +
+            currenttime.getDate() +
+            " " +
+            currenttime.getHours() +
+            ":" +
+            currenttime.getMinutes() +
+            ":" +
+            currenttime.getSeconds();
 
           updateFund(row).then(response => {
             if (response.code == 200) {
@@ -863,7 +1365,7 @@
           this.$download.name(response.msg);
           this.exportLoading = false;
         })
-        .catch(() => { });
+        .catch(() => {});
     },
 
     /** 鎻愪氦鎸夐挳 */
@@ -895,15 +1397,11 @@
             // } catch {
             //   tempDetail.unitname = tempDetail.unitno;
             // }
-            if (!isNaN(parseFloat(tempDetail.amount))) {
-              totalPreTaxAmount += parseFloat(tempDetail.amount);
-              totalAmount += parseFloat(tempDetail.amount);
-            }
-            if (!isNaN(parseFloat(tempDetail.taxedamount))) {
-              totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
-              totalAmount += parseFloat(tempDetail.taxedamount);
-            }
           }
+          //閲戦涓�寰嬭蛋绮剧‘杩愮畻锛岀姝� parseFloat 绱姞
+          totalPreTaxAmount = moneySum(this.fundDetailArr, "amount");
+          totalAfterTaxAmount = moneySum(this.fundDetailArr, "taxedamount");
+          totalAmount = moneyAdd(totalPreTaxAmount, totalAfterTaxAmount);
           try {
             this.form.unitname = this.$refs.orgSelecter.getOptionByValue(
               this.form.unitno
@@ -943,9 +1441,9 @@
                   tempData.itemid = tempItemArr[itemIndex].id;
                 }
                 if (tempData.id > 0) {
-                  updateFunddetail(tempData).then(response2 => { });
+                  updateFunddetail(tempData).then(response2 => {});
                 } else {
-                  addFunddetail(tempData).then(response2 => { });
+                  addFunddetail(tempData).then(response2 => {});
                 }
               }
             });
@@ -1033,18 +1531,60 @@
     //鐐瑰嚮鎹愮尞妗堜緥鍒楄〃瑙﹀彂鏂规硶
     selectDonotor(row, column, event) {
       this.curCase = row;
-      this.getfundList();
+      if (this.casePickerMode === "add") {
+        // 浠庛�屾柊澧炵敵璇峰崟銆嶈繘鍏ワ細閫夊畬妗堜緥鐩存帴璺冲埌鐢宠鍗曞~鍐欓〉
+        this.casePickerMode = "";
+        this.caseDialogVisible = false;
+        this.goApplyAdd();
+      }
+    },
+
+    /** 鎸夊綋鍓� fundQueryParam 鏌ヨ鍙充晶鎶ラ攢鍗曞垪琛� */
+    listFundData() {
+      this.loading = true;
+      listFund(this.fundQueryParam).then(response => {
+        this.loading = false;
+        this.donateconsolationfundList = response.rows;
+        this.fundTotal = response.total;
+      });
+    },
+
+    /** 鎶ラ攢鍗曠瓫閫夛細鎼滅储 */
+    handleQueryFund() {
+      this.fundQueryParam.pageNum = 1;
+      this.listFundData();
+    },
+
+    /** 鎶ラ攢鍗曠瓫閫夛細閲嶇疆锛堟竻绌烘潯浠朵笌宸查�夋渚嬶紝鍥炲埌璇ョ櫥褰曚汉鍏ㄩ儴鍗曟嵁锛� */
+    resetFundQuery() {
+      this.fundQueryParam.donorname = null;
+      this.fundQueryParam.recordstatus = null;
+      this.getAllfundList();
+    },
+
+    /** 妫�绱㈠叏閮細鍙栨秷妗堜緥閫夋嫨涓庣瓫閫夋潯浠讹紝鏌ヨ褰撳墠鐧诲綍浜虹殑鍏ㄩ儴浼︾悊瀹℃煡鍗曟嵁 */
+    getAllfundList() {
+      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();
     },
 
     //鑾峰彇妗堜緥涓撳璐圭敤鐢宠鍗�
     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();
     },
 
     select(row) {
@@ -1271,49 +1811,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();
     },
 
@@ -1374,7 +1910,7 @@
             console.log(url);
             const link = document.createElement("a");
             link.href = url;
-            const name=fileUrl["downloadName"]
+            const name = fileUrl["downloadName"];
             link.setAttribute("download", name); // 鏇挎崲file.pdf涓哄疄闄呯殑鏂囦欢鍚�
             document.body.appendChild(link);
             link.click();
@@ -1509,7 +2045,7 @@
     },
 
     //鏂囦欢涓婁紶
-    handleUploadError() { },
+    handleUploadError() {},
     remove(file) {
       this.fileList.splice(this.fileList.indexOf(file), 1);
     },
@@ -1587,16 +2123,23 @@
       }
       this.fundDetailArr[tempIndex] = singleDetail;
       this.detailInfoDialogShow = false;
+    },
+    rowClassName({ row, column, rowIndex, columnIndex }) {
+      if (row.recordstatus == -1 && row.backflowlevel != null) {
+        return "error-row";
+      }
+      return "";
     }
   },
 
   //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛�
   created() {
     this.getUnitList();
-    this.getList();
-    this.getBaseInfoList();
+    // 妗堜緥鍒楄〃宸茬Щ鍏ャ�岄�夋嫨鎹愮尞妗堜緥銆嶅璇濇锛屾墦寮�瀵硅瘽妗嗘椂鍐嶆煡璇�
     this.getlistUser();
     this.getCurFundType();
+    // 棣栧睆灞曠ず褰撳墠鐧诲綍浜虹殑鍏ㄩ儴浼︾悊瀹℃煡鍗曟嵁
+    this.getAllfundList();
   },
   //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛�
   mounted() {
@@ -1604,15 +2147,21 @@
     this.getUsermsg();
     this.getlistExternalperson();
   },
-  beforeCreate() { }, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠
-  beforeMount() { }, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠
-  beforeUpdate() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠
-  updated() { }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗
-  beforeDestroy() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓�
-  destroyed() { }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴�
-  activated() { } //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂
+  beforeCreate() {}, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠
+  beforeMount() {}, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠
+  beforeUpdate() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠
+  updated() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗
+  beforeDestroy() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓�
+  destroyed() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴�
+  activated() {} //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂
 };
 </script>
-<style scoped>
+<style lang="scss" scoped>
 /* @import url(); 寮曞叆鍏叡css绫� */
+.button-delete {
+  color: rgb(236, 69, 69);
+}
+::v-deep.el-table .error-row {
+  background: #fcebeb;
+}
 </style>

--
Gitblit v1.9.3