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/medicalCostApply/index.vue |  458 ++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 293 insertions(+), 165 deletions(-)

diff --git a/src/views/project/fund/medicalCostApply/index.vue b/src/views/project/fund/medicalCostApply/index.vue
index f8c3558..dc2a2e0 100644
--- a/src/views/project/fund/medicalCostApply/index.vue
+++ b/src/views/project/fund/medicalCostApply/index.vue
@@ -1,68 +1,37 @@
 <!--  -->
 <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-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-col> </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"
@@ -70,23 +39,29 @@
               </el-col>
             </el-row>
             <el-row>
-              <el-table v-loading="loading" border :data="donateconsolationfundList">
-                <el-table-column label="鐢宠鏃ユ湡" align="center" prop="createTime" 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.createTime, "{y}-{m}-{d}")
+                      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="username" width="120px" />
                 <el-table-column label="鐢宠閲戦" align="center" prop="pretaxcost" width="200px" />
-                <el-table-column label="鎵�灞炵粍鍒�" align="center" prop="deptmentname" width="220px" />
-                <el-table-column label="缁勯暱" align="center" prop="managername" width="200px" />
                 <el-table-column label="瀹℃牳鐘舵��" align="center" prop="recordstatus">
                   <template slot-scope="scope">
                     <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">
+                  <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="donorname" show-overflow-tooltip />
+                <el-table-column label="鎵�灞炵粍鍒�" align="center" prop="deptmentname"/>
+                <el-table-column label="缁勯暱" align="center" prop="managername" />
                 <!--
                   <el-table-column label="鑱旂郴鐢佃瘽" align="center" prop="phone" width="150px" />
                 <el-table-column label="宸ヤ綔鍗曚綅" align="center" prop="unitname" width="150px" />
@@ -94,29 +69,104 @@
                 <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 ||
+                    <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 ||
+                    " 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:medicalfund: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 ||
+                    " 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" icon="el-icon-delete" @click="handleDelete(scope.row)"
-                      v-hasPermi="['project:medicalfund:delete']">鍒犻櫎</el-button>
-                    <el-button size="mini" type="text" icon="el-icon-download" @click="mixExport(scope.row.id)"
-                      v-hasPermi="['project:medicalfund:download']">涓嬭浇</el-button>
+                    " 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>
+                <!-- 2026-10-22锛氭寜瑕佹眰闅愯棌銆屽姛鑳姐�嶅垪锛堢嚎涓嬫姤閿�锛夛紝闇�瑕佹椂鍙栨秷娉ㄩ噴鍗冲彲鎭㈠ -->
+                <!--
+                <el-table-column
+                  fixed="right"
+                  align="center"
+                  width="120"
+                  label="鍔熻兘"
+                >
+                  <template slot-scope="scope">
+                    <el-button size="mini" v-if="scope.row.uploadStates == 1"
+                      >绾夸笅宸叉姤閿�</el-button
+                    >
+                    <el-button
+                      size="mini"
+                      type="success"
+                      v-else-if="scope.row.uploadStates == 0"
+                      @click="Dooffline(scope.$index, scope.row)"
+                      >绾夸笅鎶ラ攢</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>
   </div>
 </template>
 
@@ -178,6 +228,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寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
@@ -197,7 +248,8 @@
     "sys_fund_type",
     "sys_finsubject",
     "sys_financeitemtype",
-    "sys_expensetype"
+    "sys_expensetype",
+    "sys_stage_type"
   ],
   data() {
     //杩欓噷瀛樻斁鏁版嵁
@@ -227,10 +279,13 @@
 
       fundQueryParam: {
         pageNum: 1,
-        pageSize: 100,
+        pageSize: 10,
         infoid: null,
         applytype: "3",
-        createBy: null
+        createBy: null,
+        // 鎶ラ攢鍗曠瓫閫夋潯浠�
+        donorname: null,
+        recordstatus: null
       },
       // 琛ㄥ崟鍙傛暟
       form: {},
@@ -239,7 +294,7 @@
         username: [
           { required: true, message: "璇疯緭鍏ョ敵璇蜂汉", trigger: "blur" }
         ],
-        createTime: [
+        applyTime: [
           { required: true, message: "璇疯緭鍏ョ敵璇锋棩鏈�", trigger: "blur" }
         ],
         deptmentname: [
@@ -252,6 +307,9 @@
       donatebaseinfoList: [],
       //褰撳墠閫変腑鎹愮尞妗堜緥
       curCase: {},
+      // 銆岄�夋嫨鎹愮尞妗堜緥銆嶅璇濇锛堟柊澧炵敵璇峰崟鏃朵娇鐢級
+      caseDialogVisible: false,
+      casePickerMode: "",
       //鏄惁鏄剧ず璐圭敤鐢宠寮圭獥
       dialogOpen: false,
       // title: "",
@@ -260,6 +318,8 @@
 
       // 鎹愮尞浜洪亾鎱伴棶閲戣〃鏍兼暟鎹�
       donateconsolationfundList: [],
+      // 鍙充晶鎶ラ攢鍗曟�绘暟锛堢敤浜庡垎椤碉級
+      fundTotal: 0,
 
       //鏄庣粏璁板綍
       fundDetails: [],
@@ -313,11 +373,12 @@
   watch: {},
   //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛�
   created() {
-    this.getList();
-    this.getBaseInfoList();
+    // 妗堜緥鍒楄〃宸茬Щ鍏ャ�岄�夋嫨鎹愮尞妗堜緥銆嶅璇濇锛屾墦寮�瀵硅瘽妗嗘椂鍐嶆煡璇�
     this.getCurFundType();
     this.getlistUser();
     // this.getUnitList();
+    // 棣栧睆灞曠ず褰撳墠鐧诲綍浜虹殑鍏ㄩ儴鍖诲鎴愭湰鍗曟嵁
+    this.getAllfundList();
   },
 
   //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛�
@@ -341,12 +402,23 @@
       this.queryParams.pageNum = 1;
       this.getList();
     },
-    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    /** 閲嶇疆鎸夐挳鎿嶄綔锛堟渚嬮�夋嫨瀵硅瘽妗嗗唴鐨勬渚嬫煡璇級 */
     resetQuery() {
       this.daterangeReporttime = [];
 
       this.resetForm("queryForm");
       this.handleQuery();
+    },
+    Dooffline(a, value) {
+      value.uploadStates = 1;
+      value.notes = "绾夸笅宸叉姤閿�";
+      addorupdateFund(value).then(res => {
+        if (res.code == 200) {
+          this.$modal.msgSuccess("璁板綍鎴愬姛");
+        } else {
+          this.$modal.msgError(res.msg);
+        }
+      });
     },
 
     /** 鏌ヨ鎹愮尞浜洪亾鎱伴棶閲戝垪琛� */
@@ -367,53 +439,24 @@
       });
     },
 
-    /** 鏂板鎸夐挳鎿嶄綔 */
+    /** 鏂板鎸夐挳鎿嶄綔锛氬厛寮瑰嚭銆岄�夋嫨鎹愮尞妗堜緥銆嶅璇濇 */
     handleAdd() {
-      if (this.curCase.id) {
-        this.$router.push({
-          path: "/finance/applyDetail/",
-          query: {
-            id: 0,
-            businessType: "3",
-            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.donorno = this.curCase.donorno;
-        this.form.name = this.curCase.name;
-        this.form.infoid = this.curCase.id;
-        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.fundDetails = [];
-        this.addRow();
-        this.dialogOpen = true;
-        this.title = "娣诲姞璐圭敤鐢宠";
-        this.dialogType = "edit";
-      } 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: "3",
+          operationType: "add",
+          curCase: this.curCase,
+        }
+      });
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
@@ -548,7 +591,19 @@
           //鏌ユ壘鏄惁瀛樺湪鐧昏瀹屾垚璁板綍
           //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍
           row.recordstatus = 0;
-
+          var currenttime = new Date();
+          row.applyTime =
+            currenttime.getFullYear() +
+            "-" +
+            (currenttime.getMonth() + 1) +
+            "-" +
+            currenttime.getDate() +
+            " " +
+            currenttime.getHours() +
+            ":" +
+            currenttime.getMinutes() +
+            ":" +
+            currenttime.getSeconds();
           updateFund(row).then(response => {
             if (response.code == 200) {
               this.$message({
@@ -701,20 +756,68 @@
       });
     },
 
-    //鐐瑰嚮鎹愮尞妗堜緥鍒楄〃瑙﹀彂鏂规硶
+    //鐐瑰嚮鎹愮尞妗堜緥鍒楄〃瑙﹀彂鏂规硶锛堟渚嬪垪琛ㄥ凡绉诲叆銆岄�夋嫨鎹愮尞妗堜緥銆嶅璇濇锛�
     selectDonotor(row, column, event) {
       this.curCase = row;
-      this.getfundList();
+      if (this.casePickerMode === "add") {
+        // 浠庛�屾柊澧炵敵璇峰崟銆嶈繘鍏ワ細閫夊畬妗堜緥鐩存帴璺冲埌鐢宠鍗曞~鍐欓〉
+        this.casePickerMode = "";
+        this.caseDialogVisible = false;
+        this.goApplyAdd();
+      }
     },
 
     getfundList() {
-      this.loading = true;
       this.reset();
+      // 閫変腑妗堜緥鍚庢寜妗堜緥灞曠ず锛屽悓鏃舵竻鎺夊垪琛ㄧ瓫閫夋潯浠讹紝閬垮厤涓や釜鏉′欢鍙犲姞瀵艰嚧绌哄垪琛�
+      this.fundQueryParam.donorname = null;
+      this.fundQueryParam.recordstatus = null;
       this.fundQueryParam.infoid = this.curCase.id;
+      this.fundQueryParam.pageNum = 1;
+      this.listFundData();
+    },
+
+    /**
+     * 鎸夊綋鍓� fundQueryParam 鏌ヨ鍙充晶鎶ラ攢鍗曞垪琛�
+     * infoid 涓虹┖ = 褰撳墠鐧诲綍浜虹殑鍏ㄩ儴璇ョ被鍨嬪崟鎹紱鏈夊�� = 鎸囧畾妗堜緥
+     */
+    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();
     },
 
     // 鍙栨秷鎸夐挳
@@ -1007,41 +1110,40 @@
         });
     },
 
-    //璁$畻鎬婚噾棰�
+    //璁$畻鎬婚噾棰濓紙閲戦涓�寰嬭蛋绮剧‘杩愮畻锛岀姝� parseFloat 绱姞锛�
     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);
+              taxFee = moneyAdd(taxFee, 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);
+              taxFee = moneySub(taxFee, 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);
+            this.fundDetails[i].taxedamount = moneyRound(taxFee).toFixed(2);
           }
-          allSum += totalFee;
+          detailsArr.push(totalFee);
         }
       }
       //this.form.amountrequested = allSum.toFixed(2);
-      this.$set(this.form, "amountrequested", allSum.toFixed(2));
+      this.$set(this.form, "amountrequested", moneyRound(moneySum(detailsArr)).toFixed(2));
       //this.$forceUpdate();
     },
 
@@ -1132,22 +1234,35 @@
     // 鎹愮尞鑰呭尰瀛︾粺璁℃墦鍗�
     dayin2(id) {
       getdownloadYX(id).then(res => {
-        if (res.downloadUrl) {
-          var fileUrl = res;
-          //鑾峰彇褰撳墠缃戝潃
-          var urlBase = process.env.VUE_APP_BASE_API;
-          var curWWWPath = window.document.location.href;
-          var pos = curWWWPath.indexOf(window.document.location.pathname);
-          // 鍒涘缓a鏍囩
-          var aEle = document.createElement("a");
-          aEle.href =
-            curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
-          aEle.click();
-          this.$alert("涓嬭浇鎴愬姛", "鎻愮ず", {
-            confirmButtonText: "纭畾",
-            type: "success"
+        var fileUrl = res;
+        //鑾峰彇褰撳墠缃戝潃
+        var urlBase = process.env.VUE_APP_BASE_API;
+        var curWWWPath = window.document.location.href;
+        var pos = curWWWPath.indexOf(window.document.location.pathname);
+        // 鍒涘缓a鏍囩
+        var aEle = document.createElement("a");
+        aEle.href =
+          curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
+        console.log(aEle.href);
+        // 娣诲姞Authorization澶撮儴
+        fetch(aEle.href, {
+          headers: this.headers
+        })
+          .then(response => {
+            // 灏嗘枃浠朵笅杞介摼鎺ヤ綔涓篵lob瀵硅薄杩涜涓嬭浇
+            return response.blob();
+          })
+          .then(blob => {
+            const url = window.URL.createObjectURL(new Blob([blob]));
+            console.log(url);
+            const link = document.createElement("a");
+            link.href = url;
+            const name = fileUrl["downloadName"];
+            link.setAttribute("download", name); // 鏇挎崲file.pdf涓哄疄闄呯殑鏂囦欢鍚�
+            document.body.appendChild(link);
+            link.click();
+            link.parentNode.removeChild(link);
           });
-        }
       });
     },
 
@@ -1268,10 +1383,23 @@
         this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮");
         this.previewpdf = false;
       }
+    },
+    rowClassName({ row, column, rowIndex, columnIndex }) {
+      if (row.recordstatus == -1 && row.backflowlevel != null) {
+        return "error-row";
+      }
+      return "";
     }
   }
 };
 </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