From 128aec95c834751e587e7f6615310ffbe3b13b64 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 27 九月 2023 16:37:53 +0800
Subject: [PATCH] 11

---
 src/views/project/fund/medicalCostApply/index.vue           |  401 ------
 src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue |   21 
 src/api/project/organization.js                             |    7 
 src/views/project/fund/performanceApply/index.vue           |  555 ++++++++
 src/views/project/fundcheck/officeExpenseCheck/index.vue    |   13 
 src/views/project/fund/performancedetails/index.vue         | 2100 ++++++++++++++++++++++++++++++++
 src/views/project/fund/applyDetail/index.vue                |  124 -
 src/views/project/fund/expertFeeApply/index.vue             |    4 
 src/views/project/fund/applyDetail0/index.vue               |    2 
 src/views/project/fund/ethicalExpertFeeApply/index.vue      |    4 
 src/views/project/fundcheck/medicalCostCheck/index.vue      |   13 
 src/views/project/fundcheck/expertFeeCheck/index.vue        |   15 
 src/views/project/fund/officeExpenseApply/index.vue         |    4 
 src/views/project/fundcheck/performanceCheck/index.vue      |  595 +++++++++
 src/views/project/travelexpenseapply/index.vue              |   13 
 15 files changed, 3,364 insertions(+), 507 deletions(-)

diff --git a/src/api/project/organization.js b/src/api/project/organization.js
index 38ab1b2..a44f002 100644
--- a/src/api/project/organization.js
+++ b/src/api/project/organization.js
@@ -15,6 +15,13 @@
     method: 'get',
   })
 }
+// 鏌ヨ缁╂晥浜哄憳鍒楄〃
+export function listperformance(userType) {
+  return request({
+    url: '/externalperson/group/getPersonInfo/' + userType,
+    method: 'get',
+  })
+}
 
 
 // 鏌ヨ鏈烘瀯绠$悊鍒楄〃
diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue
index 943e623..b9cf296 100644
--- a/src/views/project/fund/applyDetail/index.vue
+++ b/src/views/project/fund/applyDetail/index.vue
@@ -72,18 +72,7 @@
               }}</el-radio>
             </el-form-item>
           </el-col>
-          <!-- <el-col :span="5">
-            <el-form-item label="閾惰鍚嶇О" prop="bankname">
-              <el-input v-model="form.bankname" placeholder="璇疯緭鍏ラ摱琛屽悕绉�" />
-            </el-form-item> </el-col
-          ><el-col :span="5">
-            <el-form-item label="閾惰璐﹀彿" prop="bankcardno">
-              <el-input
-                v-model="form.bankcardno"
-                placeholder="璇疯緭鍏ラ摱琛岃处鍙�"
-              />
-            </el-form-item>
-          </el-col> -->
+
           <el-col :span="5">
             <el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
               <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
@@ -109,42 +98,6 @@
           </el-col>
         </el-row>
         <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-form-item>
-          </el-col>
-          -->
-
-          <!--
-          <el-col :span="5">
-            <el-form-item label="搴旂即绋�" prop="taxcost" v-if="businessType == '1' || businessType == '2'">
-              <el-input v-model="form.taxcost" 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-form-item>
-          </el-col>-->
-          <el-col :span="5">
-            <el-form-item label="棰勫鐘舵��" prop="infoid">
-              <el-select
-                v-model="form.checkstatus"
-                filterable
-                placeholder="璇烽�夋嫨棰勫鐘舵��"
-              >
-                <el-option
-                  v-for="item in baselisttages"
-                  :key="item.id"
-                  :label="item.name"
-                  :value="item.id"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
           <el-col :span="8">
             <el-form-item label="鐢宠璇存槑" prop="remark">
               <el-input v-model="form.remark" placeholder="鐢宠璇存槑" />
@@ -762,8 +715,27 @@
             />
           </el-table>
         </el-row>
+
         <el-row
           style="margin-top: 25px; margin-bottom: 5px"
+          v-if="operationType == 'check'"
+        >
+          <el-col :span="7">
+            <el-form-item label="棰勫鐘舵��" prop="infoid">
+              <el-radio-group
+                v-model="form.checkstatus"
+                align="left"
+                :disabled="userprofile.nickName != '闄堟厱鍗�'"
+              >
+                <el-radio label="1">寰呴瀹�</el-radio>
+                <el-radio label="2">棰勫閫氳繃绛夊緟鏉愭枡</el-radio>
+                <el-radio label="3">宸叉敹鍒版姤閿�鏉愭枡</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row
+          style="margin-top: 5px; margin-bottom: 5px"
           v-if="operationType == 'check'"
         >
           <el-col :span="7">
@@ -775,6 +747,7 @@
             </el-form-item>
           </el-col>
         </el-row>
+
         <el-row v-if="operationType == 'check'">
           <el-col :span="17">
             <el-form-item label="瀹℃牳澶囨敞" align="left">
@@ -1828,6 +1801,8 @@
       this.reset();
 
       getFund(this.curId).then(response => {
+        console.log(response.data, "鍒濆");
+
         this.form = response.data;
         sessionStorage.removeItem("apiform");
 
@@ -1878,6 +1853,8 @@
       this.reset();
 
       getFund(this.curId).then(response => {
+        console.log(response.data, "鍒濆");
+
         this.form = response.data;
         sessionStorage.removeItem("apiform");
         sessionStorage.setItem("apiform", JSON.stringify(this.form));
@@ -1924,6 +1901,7 @@
       this.reset();
 
       getFund(this.curId).then(response => {
+        console.log(response.data, "鍒濆");
         this.form = response.data;
         sessionStorage.removeItem("apiform");
 
@@ -2003,9 +1981,9 @@
           //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍
           this.form.recordstatus = 0;
           if (!this.form.id) {
-            this.form.id = this.$route.query.id
+            this.form.id = this.$route.query.id;
           }
-          
+
           updateFund(this.form).then(response => {
             if (response.code == 200) {
               this.$message({
@@ -2136,44 +2114,6 @@
               ].subjecttypename;
             }
             this.rbDetails[i] = tempDetail;
-            /*
-            //璁$畻涓◣            
-            //if (isNaN(parseFloat(tempDetail.taxedamount)))
-            //鑾峰彇鍙傛暟
-            this.taxParam.beneficiaryNo = tempDetail.beneficiaryno;
-            this.taxParam.startTime = this.form.createTime.substring(0, 10);
-            // 璁$畻绋庡悗閲戦
-            if (tempDetail.taxedamount == undefined || tempDetail.taxedamount == null || tempDetail.taxedamount == 0 || tempDetail.taxedamount == '') {
-              //鑾峰彇鍙傛暟
-              this.taxParam.money = tempDetail.amount.toString();
-              getTaxByBeneFiciaryNo(this.taxParam).then((res) => {
-                if (res.code == 200) {
-                  tempDetail.taxamount = res.data;
-                  tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount;
-                  this.rbDetails[k] = tempDetail;
-           
-                  this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
-                  this.totalAmount += parseFloat(tempDetail.amount);
-                }
-              });
-            }
-           
-            // 璁$畻绋庡墠銆佺◣璐广�佺◣鍚庨噾棰�
-            if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') {
-              //鑾峰彇鍙傛暟
-              this.taxParam.money = tempDetail.taxedamount.toString();
-              getTaxBeforeByAfterMoney(this.taxParam).then((res) => {
-                if (res.code == 200) {
-                  tempDetail.taxamount = res.data.nowTax;
-                  tempDetail.amount = parseFloat(res.data.nowTaxBeforeMoney);
-                  this.rbDetails[k] = tempDetail;
-           
-                  this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
-                  this.totalAmount += parseFloat(tempDetail.amount);
-                }
-              });
-            }
-            */
           }
           //璁$畻褰撳墠琛屾姤閿�鍐呭璐圭敤鍚堣锛岀◣鍓嶉噾棰濓紙amount锛夈�佹墸绋庨噾棰濓紙taxamount锛夈�佺◣鍚庨噾棰濓紙taxedamount锛�
           if (this.businessType == "2") {
@@ -2265,6 +2205,7 @@
           );
           sessionStorage.setItem("apiform", JSON.stringify(this.form));
           addorupdateFund(this.form).then(response => {
+            console.log(this.form);
             console.log(response, "淇濆瓨杩斿弬");
             if (response.code === 200) {
               this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒");
@@ -2292,6 +2233,10 @@
 
     //瀹℃壒鎻愪氦
     checksubmit() {
+      if (this.form.checkstatus != 3 && this.userprofile.nickName == "闄堟厱鍗�") {
+        this.$modal.msgError("璇风‘璁ゆ敹鍒版潗鏂欏悗鍐嶆彁浜ゅ鏍革紒");
+        return;
+      }
       let checkFundObj = {
         // fundid: this.checkObj.fundid,
         fundid: this.curId,
@@ -2319,6 +2264,7 @@
     getUserProfile() {
       getUserProfile().then(res => {
         this.userprofile = res.data;
+        console.log(this.userprofile);
         this.standardlevel = res.data.standardlevel;
         if (
           this.userprofile.userName == "admin" ||
@@ -2482,6 +2428,7 @@
     //鑾峰彇鏈嶅姟椤圭洰
     getRowFeeItems(rowindex, row) {
       let list = this.feeItemTypes.filter(r => r.itemType == row.applytype);
+      console.log(list[0]);
       row.itemlist = list[0].itemDetails;
       this.$set(this.rbDetails, rowindex, row);
     },
@@ -2637,7 +2584,6 @@
       //鑾峰彇鍙傛暟
       // this.taxParam.beneficiaryNo = row.beneficiaryno;
       // this.taxParam.startTime = this.form.createTime.substring(0, 10);
-
       // if (type == "A") {
       //   // 璁$畻涓◣銆佺◣鍚庨噾棰�
       //   this.taxParam.money = row.amount.toString();
diff --git a/src/views/project/fund/applyDetail0/index.vue b/src/views/project/fund/applyDetail0/index.vue
index c503c02..450aca3 100644
--- a/src/views/project/fund/applyDetail0/index.vue
+++ b/src/views/project/fund/applyDetail0/index.vue
@@ -65,7 +65,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="5">
-            <el-form-item label="鎹愮尞鑰�" prop="name">
+            <el-form-item label="鎹愮尞鑰�" prop="donorname">
               <el-input :disabled="true" v-model="form.donorname" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" />
             </el-form-item>
           </el-col>
diff --git a/src/views/project/fund/ethicalExpertFeeApply/index.vue b/src/views/project/fund/ethicalExpertFeeApply/index.vue
index e6f7b9e..e3502bf 100644
--- a/src/views/project/fund/ethicalExpertFeeApply/index.vue
+++ b/src/views/project/fund/ethicalExpertFeeApply/index.vue
@@ -158,8 +158,8 @@
             </el-form-item>
           </el-col>
           <el-col :span="5">
-            <el-form-item label="鎹愮尞鑰�" prop="name">
-              <el-input :disabled="true" v-model="form.name" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" clearable />
+            <el-form-item label="鎹愮尞鑰�" prop="donorname">
+              <el-input :disabled="true" v-model="form.donorname" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" clearable />
             </el-form-item>
           </el-col>
         </el-row>
diff --git a/src/views/project/fund/expertFeeApply/index.vue b/src/views/project/fund/expertFeeApply/index.vue
index 131be04..f762887 100644
--- a/src/views/project/fund/expertFeeApply/index.vue
+++ b/src/views/project/fund/expertFeeApply/index.vue
@@ -389,10 +389,10 @@
             </el-form-item>
           </el-col>-->
           <el-col :span="5">
-            <el-form-item label="鎹愮尞鑰�" prop="name">
+            <el-form-item label="鎹愮尞鑰�" prop="donorname">
               <el-input
                 :disabled="true"
-                v-model="form.name"
+                v-model="form.donorname"
                 placeholder="璇疯緭鍏ユ崘鐚�呭鍚�"
               />
             </el-form-item>
diff --git a/src/views/project/fund/medicalCostApply/index.vue b/src/views/project/fund/medicalCostApply/index.vue
index ad18885..f8c3558 100644
--- a/src/views/project/fund/medicalCostApply/index.vue
+++ b/src/views/project/fund/medicalCostApply/index.vue
@@ -116,408 +116,7 @@
         </el-card>
       </el-col>
     </el-row>
-    <!-- 娣诲姞鎴栦慨鏀硅垂鐢ㄧ敵璇峰崟 -->
-    <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="createTime">
-              <el-date-picker clearable style="width: 100%" v-model="form.createTime" type="date"
-                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>
-            </el-form-item>
-          </el-col>
-          <el-col :span="5">
-            <el-form-item label="鎵�灞炵粍鍒�" prop="deptmentname">
-              <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-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="3">鍖诲鎴愭湰鐢宠</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="name">
-              <el-input :disabled="true" v-model="form.name" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" clearable />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <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-form-item>
-          </el-col>
-          <!--<el-col :span="5">
-            <el-form-item label="绋庡墠閲戦" prop="pretaxcost">
-              <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-form-item>
-          </el-col>
-          <el-col :span="5">
-            <el-form-item label="瀹℃牳鐘舵��" prop="recordstatus">
-              <el-input v-if="0" 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>
-            </el-form-item>
-          </el-col>-->
-          <!--
-          <el-col :span="5">
-            <el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
-              <el-input v-model="form.phone" placeholder="璇疯緭鍏ョ敵璇疯�呯殑鑱旂郴鏂瑰紡" clearable />
-            </el-form-item>
-          </el-col>
-          <el-col :span="5">
-            <el-form-item label="宸ヤ綔鍗曚綅" prop="unitno">
-              <org-selecter ref="orgSelecter" :org-type="'3'" v-model="form.unitno" />
-            </el-form-item>
-          </el-col>-->
-        </el-row>
-        <el-row style="margin-bottom: 10px">
-          <el-col :span="4">
-            <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="fundDetails" border highlight-current-row>
-            <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">
-              <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>
-              </template>
-            </el-table-column>
-            <el-table-column prop="itemtype" align="center" label="鏈嶅姟椤圭洰" width="260">
-              <template slot-scope="scope">
-                <el-select v-model="scope.row.itemid" placeholder="鏈嶅姟椤圭洰" clearable filterable allow-create
-                  @change="select(scope.row)" :filter-method="val => SearchItem(val, scope)">
-                  <el-option v-for="dict in scope.row.itemArr" :key="dict.id" :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">
-              <template slot-scope="scope">
-                <el-button type="primary" plain @click="ShowDetailDialog(scope, 'name')">{{ scope.row.beneficiaryname
-                }}</el-button>
-              </template>
-            </el-table-column>
-            <!-- <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>
-              </template>
-                              </el-table-column> -->
-            <el-table-column prop="amount" align="center" label="绋庡墠閲戦" width="120" v-if="form.applytype != 3">
-              <template slot-scope="scope">
-                <el-select v-model="scope.row.amount" placeholder="绋庡墠閲戦" clearable filterable allow-create
-                  @change="selectamount(scope.row)">
-                  <el-option v-for="dict in fundblock" :key="dict.expensedescribe" :label="dict.expense"
-                    :value="dict.expense"></el-option>
-                </el-select>
-                <!--
-                <el-input
-                  v-model="scope.row.amount"
-                  placeholder="绋庡墠閲戦"
-                  @change="selectamount(scope.row)"
-                  @blur="
-                    (val) => {
-                      sumTotalFee(scope.row);
-                    }
-                  " />
-                    -->
-              </template>
-            </el-table-column>
-            <el-table-column prop="taxamount" align="center" label="鎵g◣" width="120" v-if="form.applytype != '3'">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.taxamount" placeholder="鎵g◣" @blur="val => {
-                  sumTotalFee(scope.row);
-                }
-                  " />
-              </template>
-            </el-table-column>
-            <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="绋庡悗閲戦" />
-              </template>
-            </el-table-column>
-            <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(scope.row);
-                }
-                  " />
-              </template>
-            </el-table-column>
-            <el-table-column prop="quantity" align="center" label="鏁伴噺" width="80" v-if="form.applytype == '3'">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.quantity" placeholder="鏁伴噺" @blur="val => {
-                  sumTotalFee(scope.row);
-                }
-                  " />
-              </template>
-            </el-table-column>
-
-            <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(scope.row);
-                }
-                  " />
-              </template>
-            </el-table-column>
-            <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>
-              </template>
-            </el-table-column>
-            <el-table-column prop="depositbank" align="center" label="寮�鎴烽摱琛�" width="200">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.depositbank" placeholder="寮�鎴烽摱琛�" />
-              </template>
-            </el-table-column>
-            <el-table-column prop="bankcardno" align="center" label="閾惰鍗″彿" width="210">
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.bankcardno" placeholder="閾惰鍗″彿" />
-              </template>
-            </el-table-column>
-            <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'">
-              <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'">
-              <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'">
-              <template slot-scope="scope">
-                <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'">
-              <template slot-scope="scope">
-                <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'">
-              <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, fundDetails)
-                  " type="text" size="small">
-                  鍒犻櫎
-                </el-button>
-                <el-button @click.native.prevent="
-                  Filepopup(scope.$index, fundDetails, scope.row)
-                  " type="text" size="small">
-                  绁ㄦ嵁
-                </el-button>
-              </template>
-            </el-table-column>
-          </el-table>
-        </el-row>
-        <!-- <el-row>
-          <el-col :span="4">
-            <el-button
-              type="primary"
-              plain
-              icon="el-icon-plus"
-              size="mini"
-              @click="addRow"
-              >鏂板鎴愭湰璐圭敤</el-button
-            >
-          </el-col>
-        </el-row> 
-        <el-row>          
-          <el-col :span="7">
-            <el-form-item label="棰勬敮閲戦" prop="prepaidamount">
-              <el-input v-model="form.prepaidamount" placeholder="鐢宠閲戦" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="7">
-            <el-form-item label="OPO涓績绛惧瓧" prop="opochecker">
-              <el-input v-model="form.opochecker" placeholder="opo涓績绛惧瓧" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="璐㈠姟鍓櫌闀�" prop="finvicepresident">
-              <el-input v-model="form.finvicepresident" placeholder="璐㈠姟鍓櫌闀�" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="7">
-            <el-form-item label="涓氬姟鍓櫌闀�" prop="busvicepresident">
-              <el-input v-model="form.busvicepresident" placeholder="涓氬姟鍓櫌闀�" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="7">
-            <el-form-item label="鍔炲叕瀹や富浠�" prop="officedirector">
-              <el-input v-model="form.officedirector" placeholder="璇疯緭鍏ュ姙鍏涓讳换" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="璐㈠姟閮ㄨ礋璐d汉" prop="financedirector">
-              <el-input v-model="form.financedirector" placeholder="璇疯緭鍏ヨ储鍔¢儴璐熻矗浜�" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="7">
-            <el-form-item label="璐㈠姟瀹℃牳" prop="financechecher">
-              <el-input v-model="form.financechecher" placeholder="璇疯緭鍏ヨ储鍔″鏍�" />
-            </el-form-item>
-          </el-col>             
-        </el-row> -->
-        <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) =>
-                  uploadSccess(response, file, fileList)
-                  " :on-preview="downFile" :disabled="dialogType == 'detail'" :on-error="handleUploadError"
-                :on-exceed="handleExceed" :on-remove="handleremove" 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>
-            <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="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-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-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="(item, index) in bankaccountlist" :key="index" :label="item.reportName"
-                  :value="item.reportNo"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="detailInfoDialogShow = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="ConfirmDetailDialog()">纭� 瀹�</el-button>
-      </span>
-    </el-dialog>
-
-    <el-dialog :title="pdftitle" :visible.sync="pdfVisible" width="50%">
-      <div class="pdfimg">
-        <div class="box-pdf">
-          <div>
-            <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" 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>
-            </el-upload>
-          </div>
-          <!-- <div
-            class="pdftit"
-            @click="pdffn(item)"
-            v-for="item in fileList"
-            :key="item.name"
-          >
-            {{ item.name }}
-          </div> -->
-        </div>
-
-        <div v-if="this.previewpdf" class="pdfimgmin">
-          <img :src="pdfimg" />
-        </div>
-        <div v-else class="pdfimgmins">{{ hintitle }}</div>
-      </div>
-    </el-dialog>
   </div>
 </template>
 
diff --git a/src/views/project/fund/officeExpenseApply/index.vue b/src/views/project/fund/officeExpenseApply/index.vue
index bfa4d90..da46cc8 100644
--- a/src/views/project/fund/officeExpenseApply/index.vue
+++ b/src/views/project/fund/officeExpenseApply/index.vue
@@ -119,8 +119,8 @@
             </el-form-item>
           </el-col>
           <el-col :span="5">
-            <el-form-item label="鎹愮尞鑰�" prop="name">
-              <el-input :disabled="true" v-model="form.name" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" clearable />
+            <el-form-item label="鎹愮尞鑰�" prop="donorname">
+              <el-input :disabled="true" v-model="form.donorname" placeholder="璇疯緭鍏ユ崘鐚�呭鍚�" clearable />
             </el-form-item>
           </el-col>
         </el-row>
diff --git a/src/views/project/fund/performanceApply/index.vue b/src/views/project/fund/performanceApply/index.vue
new file mode 100644
index 0000000..91629d0
--- /dev/null
+++ b/src/views/project/fund/performanceApply/index.vue
@@ -0,0 +1,555 @@
+<!--  -->
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      :inline="true"
+      label-width="70px"
+    >
+      <el-row align="left">
+        <el-col :span="5">
+          <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="5">
+          <el-form-item label="閲戦" prop="money" style="float: left">
+            <el-input
+              v-model="queryParams.money"
+              placeholder="璇疯緭鍏ョ敵璇蜂汉閲戦"
+              clearable
+              size="small"
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+        </el-col>
+        <el-col :span="7">
+          <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
+            <el-date-picker
+              format="yyyy-MM-dd"
+              value-format="yyyy-MM-dd"
+              v-model="value1"
+              type="daterange"
+              @blur="onpick"
+              range-separator="鑷�"
+              start-placeholder="鎶ラ攢鐢宠寮�濮嬫棩鏈�"
+              end-placeholder="鎶ラ攢鐢宠缁撴潫鏃ユ湡"
+              @keyup.enter.native="handleQuery"
+            >
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :span="5">
+          <el-form-item label="瀹℃壒鐘舵��" prop="CHECKFLAG" style="float: left">
+            <el-select
+              v-model="queryParams.CHECKFLAG"
+              placeholder="璇烽�夋嫨"
+              style="width: 100%"
+            >
+              <el-option
+                v-for="item in checkFlagOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="4">
+          <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 :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          >鏂板</el-button
+        >
+        <!-- v-hasPermi="['project:medicalfund:add']" -->
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          :loading="exportLoading"
+          @click="handleExport"
+          >瀵煎嚭</el-button
+        >
+      </el-col>
+      <!-- v-hasPermi="['project:medicalfund:export']" -->
+      <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> -->
+    </el-row>
+    <el-table v-loading="loading" border :data="donateconsolationfundList">
+      <el-table-column
+        label="鐢宠鏃ユ湡"
+        align="center"
+        prop="createTime"
+        width="180px"
+      >
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="鐢宠浜�"
+        align="center"
+        prop="username"
+        width="150px"
+      />
+      <el-table-column
+        label="鐢宠閲戦"
+        align="center"
+        prop="pretaxcost"
+        width="150px"
+      />
+
+      <el-table-column
+        label="瀹℃牳鐘舵��"
+        width="150"
+        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="150"
+        align="center"
+        prop="performancetype"
+      >
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.sys_performance_type"
+            :value="scope.row.performancetype"
+          />
+        </template>
+      </el-table-column>
+      <el-table-column label="澶囨敞" align="center" prop="remark" />
+      <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: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 || 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
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+  </div>
+</template>
+
+<script>
+//杩欓噷鍙互瀵煎叆鍏朵粬鏂囦欢锛堟瘮濡傦細缁勪欢锛屽伐鍏穓s锛岀涓夋柟鎻掍欢js锛宩son鏂囦欢锛屽浘鐗囨枃浠剁瓑绛夛級
+//渚嬪锛歩mport 銆婄粍浠跺悕绉般�� from '銆婄粍浠惰矾寰勩��';
+import {
+  onelistFund,
+  listFund,
+  getFund,
+  delFund,
+  addFund,
+  updateFund,
+  getdownloadYX,
+  getdownloadBX
+} from "@/api/project/fund";
+import {
+  delFunddetail,
+  addFunddetail,
+  getownFundDetail
+} from "@/api/project/funddetail";
+
+import Li_area_select from "@/components/Address";
+import OrgSelecter from "@/views/project/components/orgselect";
+import { getToken } from "@/utils/auth";
+
+export default {
+  //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+  components: {
+    Li_area_select,
+    OrgSelecter
+  },
+  name: "fundApply",
+  dicts: [
+    "sys_recordstatus",
+    "sys_OrganizationType",
+    "sys_DonationStatus",
+    "sys_depositbank",
+    "sys_FamilyRelation",
+    "sys_IDType",
+    "sys_ConsolationType",
+    "sys_fund_type",
+    "sys_finsubject",
+    "sys_financeitemtype",
+    "sys_expensetype",
+    "sys_performance_type"
+  ],
+  data() {
+    //杩欓噷瀛樻斁鏁版嵁
+    return {
+      businesstype: "4",
+      // 閬僵灞�
+      loading: true,
+      // 瀵煎嚭閬僵灞�
+      exportLoading: false,
+      total: 0,
+      queryParams: {
+        organizationname: null,
+        organizationtype: null,
+        pageNum: 1,
+        pageSize: 10,
+        name: null,
+        idcardno: null,
+        residenceprovince: null,
+        residencecity: null,
+        residencetown: null,
+        recordstate: null,
+        treatmenthospitalname: null,
+        donorno: null,
+        reportername: null,
+        reporttime: null
+      },
+      checkFlagOptions: [
+        {
+          value: 0,
+          label: "宸插鎵�"
+        },
+        {
+          value: 1,
+          label: "寰呭鎵�"
+        },
+        {
+          value: 2,
+          label: "鍏ㄩ儴"
+        }
+      ],
+      fundQueryParam: {
+        infoid: null,
+        applytype: "5",
+        createBy: null,
+        organizationname: null,
+        organizationtype: null,
+        pageNum: 1,
+        pageSize: 10,
+        name: null,
+        idcardno: null,
+        residenceprovince: null,
+        residencecity: null,
+        residencetown: null,
+        recordstate: null,
+        treatmenthospitalname: null,
+        donorno: null,
+        reportername: null,
+        reporttime: null
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      //鎹愮尞妗堜緥鍒楄〃鏁版嵁
+      donatebaseinfoList: [],
+      //鏄惁鏄剧ず璐圭敤鐢宠寮圭獥
+      dialogOpen: false,
+      //璐圭敤鐢宠琛ㄥ崟title
+      applyFormTitle: "",
+
+      // 鎹愮尞浜洪亾鎱伴棶閲戣〃鏍兼暟鎹�
+      donateconsolationfundList: [],
+
+      //鏄庣粏璁板綍
+      fundDetails: [],
+
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      itemArr: [],
+      //鐢ㄦ埛
+      userlist: [],
+      //閾惰璐﹀彿
+      bankaccountlist: [],
+      //鏈烘瀯鍗曚綅
+      unitList: [],
+      //璐圭敤绫诲瀷鏁扮粍
+      fundtypeArr: [],
+      defaultperson: {},
+      fundblock: [],
+      fundtypeArrAll: [],
+      dialogType: "edit",
+
+      detailInfoDialogShow: false,
+      detailInfoDialogShowType: "",
+      funddetailForm: {
+        beneficiaryname: null,
+        beneficiaryno: null,
+        unitno: null,
+        unitname: null,
+        index: null
+      },
+
+      //闄勪欢鍒楄〃
+      fileList: [],
+      //涓婁紶闄勪欢璺緞
+      uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
+      headers: {
+        Authorization: "Bearer " + getToken()
+      }
+    };
+  },
+  //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康
+  computed: {},
+  //鐩戞帶data涓殑鏁版嵁鍙樺寲
+  watch: {},
+  //鏂规硶闆嗗悎
+  methods: {
+    handleup(row) {
+      console.log(row);
+      this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
+      })
+        .then(() => {
+          //鏌ユ壘鏄惁瀛樺湪鐧昏瀹屾垚璁板綍
+          //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍
+          row.recordstatus = 0;
+
+          updateFund(row).then(response => {
+            if (response.code == 200) {
+              this.$message({
+                type: "success",
+                message: "鐢宠鎴愬姛"
+              });
+            } else {
+              this.$message({
+                type: "error",
+                message: "鐢宠澶辫触"
+              });
+            }
+            this.loading = false;
+          });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "宸插彇娑堢敵璇�"
+          });
+        });
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.daterangeReporttime = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.$router.push({
+        path: "/finance/performancedetails/",
+        query: { id: 0, businessType: "5", operationType: "add" }
+      });
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.$router.push({
+        path: "/finance/performancedetails/",
+        query: { id: row.id, businessType: "5", operationType: "update" }
+      });
+    },
+
+    /** 鏌ョ湅鎸夐挳鎿嶄綔 */
+    handleDetail(row) {
+      this.$router.push({
+        path: "/finance/performancedetails/",
+        query: { id: row.id, businessType: "5", operationType: "detail" }
+      });
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$modal
+        .confirm("鏄惁纭瀵煎嚭鎵�鏈夋姤閿�鐢宠鏁版嵁椤癸紵")
+        .then(() => {
+          this.exportLoading = true;
+          return exportReimbursement(queryParams);
+        })
+        .then(response => {
+          this.$download.name(response.msg);
+          this.exportLoading = false;
+        })
+        .catch(() => {});
+    },
+
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal
+        .confirm("鏄惁纭鍒犻櫎璇ヨ褰曪紵")
+        .then(function() {
+          return delFund(ids);
+        })
+        .then(() => {
+          getownFundDetail(ids).then(res => {
+            let listdetails = res.data;
+            for (let i = 0; i < listdetails.length; i++) {
+              delFunddetail(listdetails[i].id);
+            }
+          });
+          this.getList();
+          this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+        })
+        .catch(() => {});
+    },
+
+    /** 鏌ヨ鍒楄〃 */
+    getList() {
+      this.loading = true;
+      this.queryParams.params = {};
+      console.log(21);
+      listFund(this.fundQueryParam).then(response => {
+        console.log(11);
+        this.loading = false;
+        this.donateconsolationfundList = response.rows;
+      });
+    },
+    // 鎹愮尞鑰呭尰瀛︾粺璁℃墦鍗�
+    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"
+          });
+        }
+      });
+    },
+
+    //姹囨�绘墦鍗�
+    totaldayin(e) {
+      // const id =this.row.id
+      getdownloadBX(e).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"
+          });
+        }
+      });
+    },
+    // 涓嬭浇鎸夐挳
+    mixExport(id) {
+      this.dayin2(id);
+      //this.totaldayin(id);
+    }
+  },
+  //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛�
+  created() {
+    this.getList();
+  },
+
+  //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛�
+  mounted() {},
+
+  beforeCreate() {}, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠
+  beforeMount() {}, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠
+  beforeUpdate() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠
+  updated() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗
+  beforeDestroy() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓�
+  destroyed() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴�
+  activated() {} //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂
+};
+</script>
+<style scoped>
+/* @import url(); 寮曞叆鍏叡css绫� */
+</style>
diff --git a/src/views/project/fund/performancedetails/index.vue b/src/views/project/fund/performancedetails/index.vue
new file mode 100644
index 0000000..a1c7577
--- /dev/null
+++ b/src/views/project/fund/performancedetails/index.vue
@@ -0,0 +1,2100 @@
+<!--  -->
+<template>
+  <div class="Modifydetailscla">
+    <div class="boxdiv">
+      <div class="top-text">{{ title }}</div>
+      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+        <el-row>
+          <el-col :span="5">
+            <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
+              <el-date-picker
+                clearable
+                style="width: 100%"
+                v-model="form.createTime"
+                type="date"
+                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%"
+                @change="getUserAccount"
+              >
+                <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-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label="缁勯暱" prop="managername">
+              <el-input
+                v-model="form.managername"
+                placeholder="璇疯緭鍏ョ粍闀�"
+                clearable
+              />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="5">
+            <el-form-item label="鐢宠鍗曠被鍨�">
+              <el-select
+                v-model="form.performancetype"
+                filterable
+                placeholder="璇烽�夋嫨鐢宠鍗曠姸鎬�"
+              >
+                <el-option
+                  v-for="item in PerformanceType"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
+              <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
+            </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-form-item>
+          </el-col>
+        </el-row>
+        <el-row style="text-align: left">
+          <el-col :span="5">
+            <el-form-item label="棰勫鐘舵��" prop="infoid">
+              <el-select
+                v-model="form.checkstatus"
+                filterable
+                placeholder="璇烽�夋嫨棰勫鐘舵��"
+              >
+                <el-option
+                  v-for="item in baselisttages"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="鐢宠璇存槑" prop="remark">
+              <el-input v-model="form.remark" placeholder="鐢宠璇存槑" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: 5px; margin-bottom: 5px" />
+        <el-row v-if="jurisdiction">
+          <el-alert
+            title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��"
+            type="warning"
+            show-icon
+          >
+          </el-alert>
+        </el-row>
+        <el-row>
+          <el-col :span="3"
+            ><div style="margin-bottom: 15px;">
+              <el-button
+                type="success"
+                icon="el-icon-download"
+                @click="Batchentry"
+                >鎵归噺褰曞叆</el-button
+              >
+            </div></el-col
+          >
+        </el-row>
+        <el-row v-if="operationType == 'check'">
+          <el-col :span="3"
+            ><div style="margin-bottom: 15px;">
+              <el-button
+                type="success"
+                icon="el-icon-edit-outline"
+                @click="Manualcalculationfn"
+                >璁$畻鏄庣粏</el-button
+              >
+            </div></el-col
+          >
+        </el-row>
+        <el-row>
+          <el-table
+            :data="rbDetails"
+            v-loading="loading"
+            max-height="800"
+            border
+            highlight-current-row
+          >
+            <el-table-column
+              prop="orderno"
+              align="center"
+              label="搴忓彿"
+              width="88"
+            >
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.orderno" placeholder="搴忓彿" />
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="applytype"
+              align="center"
+              label="鏈嶅姟绫诲瀷"
+              width="200"
+            >
+              <template slot-scope="scope">
+                <el-select
+                  v-model="scope.row.applytype"
+                  placeholder="璇烽�夋嫨鏈嶅姟绫诲瀷"
+                  @change="verifyFeeItemType(scope.row)"
+                >
+                  <el-option
+                    v-for="dict in rowfeeItemTypes"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.value"
+                  ></el-option>
+                </el-select>
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="itemid"
+              align="center"
+              label="鏈嶅姟椤圭洰"
+              width="260"
+            >
+              <template slot-scope="scope">
+                <el-select
+                  v-model="scope.row.itemid"
+                  placeholder="璇烽�夋嫨鏈嶅姟椤圭洰"
+                  filterable
+                  @change="verifyFeeItem(scope.row)"
+                  :filter-method="val => searchItemType(val, scope)"
+                >
+                  <el-option
+                    v-for="dict in scope.row.itemlist"
+                    :key="dict.id"
+                    :label="dict.itemName"
+                    :value="dict.id"
+                  ></el-option>
+                </el-select>
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="amount"
+              align="center"
+              label="绋庡墠閲戦"
+              width="120"
+            >
+              <template slot-scope="scope">
+                <el-input
+                  v-model="scope.row.amount"
+                  placeholder="绋庡墠閲戦"
+                  @blur="
+                    val => {
+                      calculateTax(scope.row, 'A');
+                    }
+                  "
+                />
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="taxedamount"
+              align="center"
+              label="绋庡悗閲戦"
+              width="120"
+            >
+              <template slot-scope="scope">
+                <el-input
+                  v-model="scope.row.taxedamount"
+                  placeholder="绋庡悗閲戦"
+                  @blur="
+                    val => {
+                      calculateTax(scope.row, 'B');
+                    }
+                  "
+                />
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="beneficiaryname"
+              align="center"
+              label="濮撳悕"
+              width="250"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  type="primary"
+                  plain
+                  @click="ShowDetailDialog(scope, 'expert')"
+                  >{{
+                    scope.row.beneficiaryname
+                      ? scope.row.beneficiaryname
+                      : "鐐瑰嚮閫夋嫨"
+                  }}</el-button
+                >
+              </template>
+            </el-table-column>
+
+            <el-table-column
+              prop="depositbank"
+              align="center"
+              label="寮�鎴烽摱琛�"
+              width="200"
+            >
+              <template slot-scope="scope">
+                <el-input
+                  v-model="scope.row.depositbank"
+                  placeholder="寮�鎴烽摱琛�"
+                />
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="bankcardno"
+              align="center"
+              label="閾惰甯愬彿"
+              width="210"
+            >
+              <template slot-scope="scope">
+                <el-input
+                  v-model="scope.row.bankcardno"
+                  placeholder="閾惰甯愬彿"
+                />
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="remark"
+              align="center"
+              width="330"
+              label="澶囨敞"
+            >
+              <template slot-scope="scope">
+                <el-input
+                  type="textarea"
+                  :rows="2"
+                  v-model="scope.row.remark"
+                  placeholder="澶囨敞"
+                />
+              </template>
+            </el-table-column>
+            <el-table-column
+              fixed="right"
+              align="center"
+              label="鎿嶄綔"
+              width="180"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  type="text"
+                  size="mini"
+                  @click="addRow(scope.$index)"
+                  v-if="
+                    operationType == 'add' ||
+                      operationType == 'update' ||
+                      operationType == 'check'
+                  "
+                  >鏂板</el-button
+                >
+                <el-button
+                  @click.native.prevent="
+                    deleteRows(scope.row, scope.$index, rbDetails)
+                  "
+                  type="text"
+                  size="small"
+                  v-if="
+                    operationType == 'add' ||
+                      operationType == 'update' ||
+                      operationType == 'check'
+                  "
+                >
+                  鍒犻櫎
+                </el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-row>
+
+        <el-row
+          v-if="
+            operationType == 'detail' ||
+              operationType == 'check' ||
+              operationType == 'update'
+          "
+        >
+          <el-table :data="fundflowList" border>
+            <el-table-column
+              label="瀹℃牳鏃ユ湡"
+              align="center"
+              width="160"
+              prop="createTime"
+            />
+            <el-table-column
+              label="瀹℃牳浜�"
+              align="center"
+              width="120"
+              prop="checkusername"
+            />
+            <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>
+        </el-row>
+        <el-row
+          style="margin-top: 25px; margin-bottom: 5px"
+          v-if="operationType == 'check'"
+        >
+          <el-col :span="7">
+            <el-form-item label="瀹℃牳缁撴灉" align="left">
+              <el-radio-group v-model="checkObj.flowlevelone" align="left">
+                <el-radio label="1">閫氳繃</el-radio>
+                <el-radio label="2">涓嶉�氳繃</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row v-if="operationType == 'check'">
+          <el-col :span="17">
+            <el-form-item label="瀹℃牳澶囨敞" align="left">
+              <el-input v-model="checkObj.flowconclusion" placeholder="澶囨敞" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button
+          type="primary"
+          @click="submitForm"
+          v-if="
+            operationType == 'add' ||
+              operationType == 'update' ||
+              ismanager == true ||
+              beforehandType == '1'
+          "
+          >鎻愪氦淇濆瓨</el-button
+        >
+        <el-button
+          type="success"
+          @click="handleup"
+          v-if="operationType == 'add' || operationType == 'update'"
+          >涓婃姤</el-button
+        >
+        <el-button
+          type="primary"
+          @click="checksubmit"
+          v-if="operationType == 'check' && beforehandType != '1'"
+          >鎻愪氦瀹℃牳</el-button
+        >
+        <el-button @click="cancel">鍏� 闂�</el-button>
+      </div>
+    </div>
+
+    <el-dialog
+      :visible.sync="showSelectionDialog"
+      :close-on-click-modal="false"
+      :title="'涓汉淇℃伅閫夋嫨'"
+      width="500px"
+      style="text-align: center"
+      v-loading="loading"
+    >
+      <el-form ref="funddetailForm" :model="funddetailForm">
+        <el-row>
+          <el-select
+            v-model="funddetailForm.userName"
+            filterable
+            remote
+            reserve-keyword
+            placeholder="璇疯緭鍏ュ叧閿瘝"
+            :remote-method="remoteMethod"
+            :loading="loadingperformance"
+          >
+            <el-option
+              v-for="item in optionsperformance"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-row>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="showSelectionDialog = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="ConfirmDetailDialog()"
+          >纭� 瀹�</el-button
+        >
+      </span>
+    </el-dialog>
+    <el-dialog title="鎻愮ず" :visible.sync="Savereminder" width="30%">
+      <el-alert
+        :title="
+          '鎮ㄥ凡娣诲姞' +
+            totalquantity +
+            '鏉℃暟鎹紝涓洪槻姝㈡暟鎹涪澶辨槸鍚︽彁浜や繚瀛樺啀缁х画娣诲姞銆�'
+        "
+        type="warning"
+      >
+      </el-alert>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="unsave">鍙� 娑�</el-button>
+        <el-button type="primary" @click="Savenow">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
+
+    <!-- 鎵归噺閫夊彇 -->
+    <el-dialog
+      title="鎵归噺鐢熸垚鏄庣粏淇℃伅"
+      :visible.sync="batchdialogVisible"
+      width="40%"
+    >
+      <div style="max-height: 330px; overflow-y: auto">
+        <el-checkbox
+          :indeterminate="isIndeterminate"
+          v-model="checkAll"
+          @change="handleCheckAllChange"
+          >鍏ㄩ��</el-checkbox
+        >
+        <div style="margin: 15px 0;"></div>
+        <el-checkbox-group
+          v-model="checkedCities"
+          @change="handleCheckedCitiesChange"
+        >
+          <el-checkbox
+            border
+            v-for="city in cityOptions"
+            :label="city"
+            :key="city.userNo"
+            >{{ city.userName }}</el-checkbox
+          >
+        </el-checkbox-group>
+      </div>
+
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="batchdialogVisible = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="BatchentryFn">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {
+  listDonatebaseinfo,
+  getDonatebaseinfo
+} from "@/api/project/donatebaseinfo";
+import debounce from "lodash/debounce";
+import {
+  getFund,
+  delFund,
+  updateFund,
+  getdownloadLW,
+  checkfund,
+  getdownloadBX,
+  addorupdateFund,
+  ManualCalculation,
+  getdetailsByItemId
+} from "@/api/project/fund";
+
+import {
+  delFunddetail,
+  getownFundDetail,
+  getItemNames,
+  getFundTypeAll
+} from "@/api/project/funddetail";
+
+import { listFundflow } from "@/api/project/fundflow";
+
+import {
+  listOrganization,
+  getOrganization,
+  listReportname,
+  listperformance,
+  listUser
+} from "@/api/project/organization";
+
+import {
+  listExternalperson,
+  addExternalperson,
+  updateExternalperson,
+  exportExternalperson
+} from "@/api/project/externalperson";
+
+import { listItemexpense } from "@/api/project/itemexpense";
+
+import { getUserProfile } from "@/api/system/user";
+import Li_area_select from "@/components/Address";
+import OrgSelecter from "@/views/project/components/orgselect";
+import { getToken } from "@/utils/auth";
+
+export default {
+  //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+  components: {
+    Li_area_select,
+    OrgSelecter
+  },
+  name: "fundApply",
+
+  dicts: ["sys_DonationStatus", "sys_recordstatus", "sys_professionaltitle"],
+
+  data() {
+    //杩欓噷瀛樻斁鏁版嵁
+    return {
+      // 閬僵灞�
+      loading: false,
+      // 瀵煎嚭閬僵灞�
+      exportLoading: false,
+      usernamedata: "",
+      jurisdiction: false,
+      Routinglevel: 1,
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      experthear: "",
+      spocewl: "",
+      //璐圭敤鐢宠琛ㄥ崟title
+      title: "",
+      //鐢宠鍗曠被鍨�
+      businessType: "0",
+      businessName: "",
+      //鎿嶄綔绫诲瀷
+      operationType: "",
+      //褰撳墠鍗曟嵁id
+      curId: 0,
+      //褰撳墠閫変腑鎹愮尞妗堜緥
+      curCase: {},
+      total: 0,
+      // 褰撳墠鐢ㄦ埛淇℃伅
+      userprofile: {},
+      //绯荤粺鐢ㄦ埛鍒楄〃
+      userlist: [],
+      //鎵�鏈変汉鍛樿〃
+      personlist: [],
+      //涓撳鍒楄〃
+      expertlist: [],
+      //鍖荤枟鏈烘瀯鍒楄〃
+      unitList: [],
+      //璐圭敤鎶ラ攢鏈烘瀯鍒楄〃
+      feeUnitList: [],
+      batchdialogVisible: false,
+      itemlist: [],
+      cityOptions: [],
+      checkAll: false,
+      checkedCities: [],
+      Personnelforname: null,
+      unitforname: null,
+      isIndeterminate: true,
+
+      //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳
+      ismanager: false,
+      //涓撳璐归�夋嫨锛�1鏄笓瀹跺簱锛�2鏄柊澧�
+      expertfrom: "1",
+      baselisttages: [
+        {
+          id: 1,
+          name: "寰呴瀹�"
+        },
+        {
+          id: 2,
+          name: "棰勫閫氳繃绛夊緟鏉愭枡"
+        },
+        {
+          id: 3,
+          name: "宸叉敹鍒版姤閿�鏉愭枡"
+        }
+      ],
+      PerformanceType: [
+        {
+          id: 1,
+          name: "鏈堝害缁╂晥"
+        },
+        {
+          id: 2,
+          name: "瀛e害缁╂晥"
+        },
+        {
+          id: 3,
+          name: "骞村害缁╂晥"
+        }
+      ],
+
+      //鎹愮尞妗堜緥鍒楄〃
+      donateList: [],
+      //璐圭敤鏄庣粏鍒楄〃
+      rbDetails: [],
+      formData: {},
+      amount: 0.0,
+      totalPreTaxAmount: 0.0,
+      totalAfterTaxAmount: 0.0,
+      totalAmount: 0.0,
+      tableDatatop: [],
+      optionsperformance: [],
+      valueperformance: [],
+      listperformancea: [],
+      loadingperformance: false,
+
+      //璐圭敤绫诲瀷鏁扮粍
+      feeItemTypes: [],
+
+      //琛岃褰曠殑璐圭敤绫诲瀷鏁扮粍
+      rowfeeItemTypes: [{ label: "绠$悊鎴愭湰", value: "9" }],
+
+      //璐圭敤璇存槑
+      feeBlocks: [],
+
+      fundflowList: [],
+      // 闅忔満鏁�
+      randomnumber: "",
+
+      //涓撳/鍗曚綅閫夋嫨锛歟xpert/unit
+      selectionType: "",
+      showSelectionDialog: false,
+      //绋庡墠閲戦鏍囬锛氫笓瀹惰垂-绋庡墠閲戦锛涘尰瀛︽垚鏈�佸姙鍏垂鐢�-閲戦
+      amountLabel: "绋庡墠閲戦",
+
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        createTime: [
+          { required: true, message: "璇疯緭鍏ュ~鎶ユ棩鏈�", trigger: "blur" }
+        ],
+        reason: [
+          { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" }
+        ],
+        deptmentname: [
+          { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" }
+        ]
+      },
+
+      funddetailForm: {
+        index: null,
+        userName: null,
+        beneficiaryname: null,
+        beneficiaryno: null,
+        unitno: null,
+        unitname: null,
+        expertname: null,
+        expertidcardno: null,
+        expertunitno: null,
+        expertunitname: null,
+        experttitle: null,
+        expertdepositbank: null,
+        expertbankcardno: null
+      },
+
+      expertform: {
+        id: null,
+        address: null,
+        bankcardno: null,
+        branchbankname: null,
+        createBy: null,
+        createTime: null,
+        del_flag: null,
+        depositbank: null,
+        idcardno: null,
+        personnelunitno: null,
+        pym: null,
+        remark: null,
+        searchValue: null,
+        sex: null,
+        telephone: null,
+        title: null,
+        unitname: null,
+        unitno: null,
+        updateBy: null,
+        updateTime: null,
+        username: null,
+        userno: null,
+        userstatus: 1,
+        usertype: null,
+        wbm: null
+      },
+      //瀹℃壒鍙傛暟
+      checkObj: {
+        flowlevelone: null,
+        flowconclusion: null,
+        fundid: null
+      },
+
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        organizationname: null,
+        organizationtype: null,
+        pageNum: 1,
+        pageSize: 10,
+        name: null,
+        idcardno: null,
+        residenceprovince: null,
+        residencecity: null,
+        residencetown: null,
+        recordstate: null,
+        treatmenthospitalname: null,
+        donorno: null,
+        reportername: null,
+        reporttime: null
+      },
+
+      fundQueryParam: {
+        pageNum: 1,
+        pageSize: 100,
+        infoid: null,
+        applytype: "0",
+        createBy: null
+      },
+
+      expertQueryParam: {
+        pageNum: 1,
+        pageSize: 10000,
+        userno: null,
+        username: null,
+        usertype: null
+      },
+
+      //璁$畻涓◣鍙傛暟
+      taxParam: {
+        beneficiaryNo: "",
+        money: "0",
+        startTime: ""
+      },
+      beforehandType: null,
+      //鏈嶅姟璐圭敤鍙傛暟
+      expenseQueryParams: {
+        pageNum: 1,
+        pageSize: 10000,
+        itemid: null,
+        expense: null,
+        expensedescribe: null,
+        usestate: null
+      },
+
+      //绁ㄦ嵁鏂囦欢
+      pdftitle: "",
+      pdfimg: "",
+      pdfimgsrcList: [],
+      pdfVisible: false,
+      previewpdf: false,
+      hintitle: "璇蜂笂浼犳枃浠跺悗鏌ョ湅",
+      atpresent: "",
+      Savereminder: false, //鎻愰啋淇濆瓨寮规
+      Reminderquantity: 0, //鎻愰啋鏁伴噺
+      totalquantity: 0, //鎬绘暟閲�
+      Modifyornot: 0 //鏄惁淇敼
+    };
+  },
+
+  //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康
+  computed: {},
+  //鐩戞帶data涓殑鏁版嵁鍙樺寲
+  watch: {},
+  //鏂规硶闆嗗悎
+  methods: {
+    bbaaccss(val) {},
+    // 娴忚鍣ㄩ〉闈㈠叧闂垨鍒锋柊鎻愮ず
+    beforeunloadHandler(e) {
+      if (
+        (JSON.stringify(this.form) == sessionStorage.getItem("apiform") &&
+          JSON.stringify(this.rbDetails) ==
+            sessionStorage.getItem("apifunddetail")) ||
+        !sessionStorage.getItem("apifunddetail")
+      ) {
+      } else {
+        this._beforeUnload_time = new Date().getTime();
+        e = e || window.event;
+        if (e) {
+          e.returnValue = "鍏抽棴鎻愮ず";
+        }
+        return "鍏抽棴鎻愮ず";
+      }
+    },
+
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        applytype: "0",
+        userno: null,
+        username: null,
+        deptmentname: null,
+        deptmentno: null,
+        managername: null,
+        infoid: null,
+        donorno: null,
+        delFlag: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        familyrelations: null,
+        name: null,
+        remark: null,
+        doname: null,
+        unitname: null,
+        unitno: null,
+        sex: null,
+        idcardtype: null,
+        idcardno: null,
+        phone: null,
+        donorname: null,
+        depositbank: null,
+        bankprovince: null,
+        bankprovincename: null,
+        bankcity: null,
+        bankcityname: null,
+        banktown: null,
+        banktownname: null,
+        branchbankname: null,
+        bankcardno: null,
+        annexbankcard: null,
+        annexregistform: null,
+        consolationmoney: null,
+        servicetypename: null,
+        servicesscope: null,
+        servicesscopename: null
+      };
+      this.resetForm("form");
+      //娓呯┖闄勪欢
+      // this.fileList = [];
+    },
+    /** 閫氳繃鍙傛暟鑾峰彇涓氬姟绫诲瀷 */
+    getroute() {
+      console.log(11);
+      //閫夋嫨涓氬姟绫诲瀷:1銆佹柊澧烇紱2銆佷慨鏀癸紱3銆佹煡鐪�
+      this.curId = this.$route.query.id;
+      this.businessType = this.$route.query.businessType;
+      this.operationType = this.$route.query.operationType;
+      this.beforehandType = this.$route.query.beforehandType;
+      console.log(1);
+      //鑾峰彇璐圭敤椤圭洰绫诲瀷
+      this.getFeeTypes();
+      this.businessName = "缁╂晥鐢宠鍗�";
+      this.getUnitList();
+      console.log(2);
+
+      if (this.operationType == "add") {
+        this.title = this.businessName + "鏂板缓";
+        this.handleAdd();
+      } else if (this.operationType == "update") {
+        this.title = this.businessName + "淇敼";
+        console.log(this.title);
+        this.handleUpdate();
+      } else if (this.operationType == "detail") {
+        this.title = this.businessName + "鏌ョ湅";
+        this.jurisdiction = true;
+        this.handleDetail();
+      } else if (this.operationType == "check") {
+        this.title = this.businessName + "瀹℃牳";
+        this.handleCheck();
+      }
+    },
+
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      console.log("鏂板");
+      //鍒濆鍖�
+      this.istrue += 2;
+      this.reset();
+      /** businessType锛�1锛氫笓瀹惰垂锛�2锛氫鸡鐞嗕笓瀹惰垂锛�3锛氬尰瀛︽垚鏈紱4锛氬姙鍏垂鐢�*/
+      this.form.applytype = this.businessType;
+      //鍒濆鍖栨槑缁�
+      this.rbDetails = [];
+      this.addRow(0);
+    },
+
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate() {
+      this.isopen = 0;
+      this.reset();
+
+      getFund(this.curId).then(response => {
+        this.form = response.data;
+        sessionStorage.removeItem("apiform");
+
+        sessionStorage.setItem("apiform", JSON.stringify(this.form));
+
+        //鏄庣粏澶勭悊
+        getownFundDetail(this.curId).then(res => {
+          this.rbDetails = res.data;
+
+          if (this.rbDetails.length > 0) {
+            for (let m = 0; m < this.rbDetails.length; m++) {
+              this.rbDetails[m].itemlist = [];
+              this.getRowFeeItems(m, this.rbDetails[m]);
+
+              //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭�
+              this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter(
+                r => r.itemid == this.rbDetails[m].itemid
+              );
+            }
+
+            sessionStorage.removeItem("apifunddetail");
+            sessionStorage.setItem(
+              "apifunddetail",
+              JSON.stringify(this.rbDetails)
+            );
+          } else {
+            this.addRow(0);
+          }
+        });
+        let listFundflowparams = {
+          fundid: this.curId,
+          fundtype: 2
+        };
+        listFundflow(listFundflowparams).then(res => {
+          this.fundflowList = res.rows;
+        });
+      });
+    },
+
+    /** 鏌ョ湅鎸夐挳鎿嶄綔 */
+    handleDetail() {
+      this.isopen = 0;
+      this.reset();
+      getFund(this.curId).then(response => {
+        this.form = response.data;
+        sessionStorage.removeItem("apiform");
+        sessionStorage.setItem("apiform", JSON.stringify(this.form));
+        //涓氬姟鏄庣粏
+        getownFundDetail(this.curId).then(res => {
+          this.rbDetails = res.data;
+          console.log("this.feeBlocks", this.feeBlocks);
+          for (let m = 0; m < this.rbDetails.length; m++) {
+            this.rbDetails[m].itemlist = [];
+            this.getRowFeeItems(m, this.rbDetails[m]);
+
+            //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭�
+            this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter(
+              r => r.itemid == this.rbDetails[m].itemid
+            );
+            console.log(
+              "this.rbDetails[m].rowfeeblocks",
+              this.rbDetails[m].rowfeeblocks
+            );
+          }
+
+          if (this.rbDetails.length == 0) {
+            this.addRow(0);
+          }
+        });
+        //涓氬姟娴佺▼
+        let listFundflowparams = {
+          fundid: this.curId,
+          fundtype: 2
+        };
+        listFundflow(listFundflowparams).then(res => {
+          this.fundflowList = res.rows;
+        });
+      });
+    },
+
+    /** 鏌ョ湅鎸夐挳鎿嶄綔 */
+    handleCheck() {
+      this.isopen = 0;
+      this.reset();
+
+      getFund(this.curId).then(response => {
+        this.form = response.data;
+        sessionStorage.removeItem("apiform");
+        sessionStorage.setItem("apiform", JSON.stringify(this.form));
+        //涓氬姟鏄庣粏
+        getownFundDetail(this.curId).then(res => {
+          this.rbDetails = res.data;
+          for (let m = 0; m < this.rbDetails.length; m++) {
+            this.rbDetails[m].itemlist = [];
+            this.getRowFeeItems(m, this.rbDetails[m]);
+
+            //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭�
+            this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter(
+              r => r.itemid == this.rbDetails[m].itemid
+            );
+          }
+
+          if (this.rbDetails.length == 0) {
+            this.addRow(0);
+          }
+        });
+
+        //涓氬姟娴佺▼
+        let listFundflowparams = {
+          fundid: this.curId,
+          fundtype: 2
+        };
+        listFundflow(listFundflowparams).then(res => {
+          this.fundflowList = res.rows;
+        });
+      });
+    },
+
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete() {
+      this.$modal
+        .confirm("鏄惁纭鍒犻櫎璇ヨ褰曪紵")
+        .then(function() {
+          return delFund(this.curId);
+        })
+        .then(() => {
+          getownFundDetail(this.curId).then(res => {
+            let listdetails = res.data;
+            for (let i = 0; i < listdetails.length; i++) {
+              delFunddetail(listdetails[i].id);
+            }
+          });
+          this.getfundList();
+          this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+        })
+        .catch(() => {});
+    },
+
+    /** 涓婃姤鎸夐挳鎿嶄綔 */
+    handleup() {
+      if (
+        (JSON.stringify(this.form) == sessionStorage.getItem("apiform") &&
+          JSON.stringify(this.rbDetails) ==
+            sessionStorage.getItem("apifunddetail")) ||
+        !sessionStorage.getItem("apifunddetail")
+      ) {
+      } else {
+        this.$message.error("璇蜂繚瀛樺悗鍐嶈繘琛屼笂鎶�");
+        return;
+      }
+      this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
+      })
+        .then(() => {
+          //鏌ユ壘鏄惁瀛樺湪鐧昏瀹屾垚璁板綍
+          //鍒ゆ柇鏄惁瀛樺湪涓婃姤璁板綍
+          this.form.recordstatus = 0;
+          if (!this.form.id) {
+            this.form.id = this.$route.query.id;
+          }
+
+          updateFund(this.form).then(response => {
+            if (response.code == 200) {
+              this.$message({
+                type: "success",
+                message: "鐢宠鎴愬姛"
+              });
+              this.cancel();
+            } else {
+              this.$message({
+                type: "error",
+                message: "鐢宠澶辫触"
+              });
+            }
+            this.loading = false;
+          });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "宸插彇娑堢敵璇�"
+          });
+        });
+    },
+    generateRandomString(length) {
+      const characters =
+        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
+      let randomString = "";
+      for (let i = 0; i < length; i++) {
+        randomString += characters.charAt(
+          Math.floor(Math.random() * characters.length)
+        );
+      }
+      return randomString;
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm: debounce(function() {
+      if (!this.randomnumber) {
+        this.randomnumber = this.generateRandomString(9);
+        this.form.randomnumber = this.randomnumber;
+      }
+
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.formData = this.form;
+
+          //淇濆瓨鍓嶆牎楠屾暟鎹�
+          for (let k = 0; k < this.rbDetails.length; k++) {
+            let tempDetail = this.rbDetails[k];
+            if (tempDetail.itemid == null) {
+              this.$modal.msgWarning(
+                "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
+                  (k + 1).toString() +
+                  "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�"
+              );
+              return;
+            }
+
+            if (this.businessType == "1") {
+              if (tempDetail.servicesscope == null) {
+                this.$modal.msgWarning(
+                  "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
+                    (k + 1).toString() +
+                    "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�"
+                );
+                return;
+              }
+
+              if (tempDetail.beneficiaryno == null) {
+                this.$modal.msgWarning(
+                  "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
+                    (k + 1).toString() +
+                    "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�"
+                );
+                return;
+              }
+            }
+          }
+
+          //澶勭悊鏄庣粏
+          for (let i = 0; i < this.rbDetails.length; i++) {
+            let tempDetail = this.rbDetails[i];
+            //鑾峰彇鏈嶅姟椤圭洰鏄庣粏
+            let tempitemlist = tempDetail.itemlist;
+            let itemIndex = tempitemlist.findIndex(
+              item => tempDetail.itemid == item.id
+            );
+            if (itemIndex > -1) {
+              tempDetail.itemname = tempitemlist[itemIndex].itemName;
+              tempDetail.itemid = tempitemlist[itemIndex].id;
+            }
+            //鑾峰彇applytypename銆佹湇鍔¤垂鐢ㄥぇ绫�
+            let applytypeIndex = this.rowfeeItemTypes.findIndex(
+              item => tempDetail.applytype == item.value
+            );
+            if (applytypeIndex > -1) {
+              tempDetail.applytypename = this.rowfeeItemTypes[
+                applytypeIndex
+              ].label;
+              tempDetail.subjecttype = this.rowfeeItemTypes[
+                applytypeIndex
+              ].subjecttype;
+              tempDetail.subjecttypename = this.rowfeeItemTypes[
+                applytypeIndex
+              ].subjecttypename;
+            }
+            this.rbDetails[i] = tempDetail;
+          }
+          //璁$畻褰撳墠琛屾姤閿�鍐呭璐圭敤鍚堣锛岀◣鍓嶉噾棰濓紙amount锛夈�佹墸绋庨噾棰濓紙taxamount锛夈�佺◣鍚庨噾棰濓紙taxedamount锛�
+          if (this.businessType == "2") {
+            for (let j = 0; j < this.rbDetails.length; j++) {
+              let tempDetail = this.rbDetails[j];
+              if (
+                isNaN(parseFloat(tempDetail.amount)) ||
+                parseFloat(tempDetail.amount) == 0
+              ) {
+                this.$modal.msgWarning(
+                  "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
+                    (j + 1).toString() +
+                    "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�"
+                );
+                return;
+              }
+            }
+          } else if (this.businessType == "3" || this.businessType == "4") {
+            for (let j = 0; j < this.rbDetails.length; j++) {
+              let tempDetail = this.rbDetails[j];
+              if (
+                isNaN(parseFloat(tempDetail.amount)) ||
+                parseFloat(tempDetail.amount) == 0
+              ) {
+                this.$modal.msgWarning(
+                  "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
+                    (j + 1).toString() +
+                    "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�"
+                );
+                return;
+              }
+              if (
+                isNaN(parseFloat(tempDetail.taxamount)) ||
+                parseFloat(tempDetail.taxamount) == 0
+              ) {
+                tempDetail.taxedamount = parseFloat(tempDetail.amount);
+              } else {
+                tempDetail.taxedamount =
+                  parseFloat(tempDetail.amount) +
+                  parseFloat(tempDetail.taxamount);
+              }
+            }
+          }
+          //淇濆瓨鏁版嵁
+          this.loading = true;
+          this.form.serviceFunddetails = 0;
+          this.rbDetails.map(item => {
+            this.form.serviceFunddetails += item.amount;
+          });
+          this.form.serviceFunddetails = this.rbDetails;
+
+          if (this.form.id != null) {
+          } else {
+            this.form.recordstatus = -1;
+          }
+
+          sessionStorage.setItem(
+            "apifunddetail",
+            JSON.stringify(this.rbDetails)
+          );
+          sessionStorage.setItem("apiform", JSON.stringify(this.form));
+          addorupdateFund(this.form).then(response => {
+            console.log(response, "淇濆瓨杩斿弬");
+            if (response.code === 200) {
+              this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒");
+              this.$store.dispatch("tagsView/delView", this.$route);
+              this.$router.push({
+                path: "/finance/performancedetails/",
+                query: {
+                  id: response.data,
+                  businessType: "5",
+                  operationType: "update"
+                }
+              });
+              this.Routinglevel++;
+            } else {
+              this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg);
+            }
+          });
+          //鍏抽棴绐楀彛
+          this.loading = false;
+          // this.getfundList();
+        }
+      });
+    }, 500),
+
+    //瀹℃壒鎻愪氦
+    checksubmit() {
+      let checkFundObj = {
+        // fundid: this.checkObj.fundid,
+        fundid: this.curId,
+        flowconclusion: this.checkObj.flowlevelone,
+        flowcontent: this.checkObj.flowconclusion
+      };
+      checkfund(checkFundObj).then(res => {
+        //鍏抽棴绐楀彛
+        this.reset();
+        this.$modal.msgSuccess("瀹℃牳瀹屾垚!");
+        this.$store.dispatch("tagsView/delView", this.$route);
+        this.$router.go(-1);
+      });
+    },
+
+    // 鍏抽棴鎸夐挳
+    cancel() {
+      console.log(-this.Routinglevel);
+      this.$store.dispatch("tagsView/delView", this.$route);
+      this.$router.go(-this.Routinglevel);
+    },
+
+    //鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
+    getUserProfile() {
+      getUserProfile().then(res => {
+        this.userprofile = res.data;
+        this.standardlevel = res.data.standardlevel;
+        if (
+          this.userprofile.userName == "admin" ||
+          this.userprofile.userName == "001" ||
+          this.userprofile.userName == "047"
+        ) {
+          this.ismanager = true;
+        } else {
+          this.ismanager = false;
+        }
+        if (this.operationType == "add") {
+          this.form.username = this.userprofile.nickName;
+          this.form.userno = this.userprofile.userName;
+          this.form.deptmentname = this.userprofile.dept.deptName;
+          this.form.deptmentno = this.userprofile.dept.deptId;
+          this.form.managername = this.userprofile.dept.leader;
+          this.form.phone = this.userprofile.phonenumber;
+          if (this.businessType == "4") {
+            this.getUserAccount();
+          }
+        }
+      });
+    },
+
+    //鑾峰彇绯荤粺鐢ㄦ埛鍒楄〃
+    getUserList() {
+      listUser().then(res => {
+        this.userlist = res.data;
+      });
+    },
+
+    //鑾峰彇鎵�鏈変笓瀹�/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯鍒楄〃
+    getExternalList() {
+      listExternalperson().then(res => {
+        this.personlist = res.rows;
+        for (let j = 0; j < this.personlist.length; j++) {
+          //鑾峰彇璐圭敤鎶ラ攢鏈烘瀯鍒楄〃
+          if (this.personlist[j].usertype == "org") {
+            this.feeUnitList.push({
+              id: this.personlist[j].id,
+              reportNo: this.personlist[j].userno,
+              reportName: this.personlist[j].username,
+              depositbank: this.personlist[j].depositbank,
+              branchbankname: this.personlist[j].branchbankname,
+              bankcardno: this.personlist[j].bankcardno
+            });
+          }
+          //涓撳浜哄憳鍒楄〃
+          else if (res.rows[j].usertype == "expert") {
+            this.expertlist.push({
+              expertNo: this.personlist[j].id,
+              exportName: this.personlist[j].username
+            });
+          }
+        }
+      });
+    },
+
+    //鑾峰彇缁忓姙浜鸿处鍙蜂俊鎭�
+    getUserAccount() {
+      this.personlist.map(res => {
+        if (res.username == this.form.username) {
+          this.form.bankname = res.depositbank; //res.branchbankname銆乺es.depositbank;
+          this.form.bankcardno = res.bankcardno;
+          this.form.phone = res.telephone;
+        }
+      });
+    },
+
+    //鑾峰彇涓撳浜哄憳鍒楄〃
+    getExpertList() {
+      let types = ["expert"];
+      let templist = [];
+      for (let i = 0; i < types.length; i++) {
+        templist = [];
+        listReportname(types[i]).then(res => {
+          for (let j = 0; j < res.data.length; j++) {
+            templist.push({
+              reportName: res.data[j].reportName,
+              reportNo: res.data[j].reportNo
+            });
+          }
+          this.expertlist = this.expertlist.concat(templist);
+        });
+      }
+    },
+
+    //鑾峰彇璐圭敤鏈烘瀯鍒楄〃
+    getFeeUnitList() {
+      listReportname("org").then(res => {
+        this.feeUnitList = res.data;
+        console.log(this.feeUnitList);
+      });
+    },
+
+    //鑾峰彇鍖荤枟鏈烘瀯鍒楄〃
+    getUnitList() {
+      listOrganization(3).then(response => {
+        for (let i = 0; i < response.rows.length; i++) {
+          this.unitList.push({
+            //organizationid: response.rows[i].organizationid,
+            organizationid: response.rows[i].id,
+            organizationname: response.rows[i].organizationname
+          });
+        }
+      });
+    },
+
+    //鑾峰彇鎹愮尞妗堜緥鍒楄〃
+    getBaseInfoList() {
+      this.loading = true;
+      listDonatebaseinfo(this.queryParams).then(response => {
+        this.donateList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+
+    //鑾峰彇鏈嶅姟璐圭敤绫诲瀷銆佹湇鍔¢」鐩�佹湇鍔¤鏄�
+    getFeeTypes() {
+      //鑾峰彇鏈嶅姟璐圭敤绫诲瀷銆佹湇鍔¢」鐩�
+      getFundTypeAll(5).then(res => {
+        let dataList = res.data;
+        //鑾峰彇鏈嶅姟璐圭敤鏈嶅姟椤圭洰
+        this.feeItemTypes = dataList;
+        console.log(this.feeItemTypes);
+        //鑾峰彇鏈嶅姟璐圭敤绫诲瀷
+        this.rowfeeItemTypes = [];
+        for (let m = 0; m < dataList.length; m++) {
+          this.rowfeeItemTypes.push({
+            value: dataList[m].itemType,
+            label: dataList[m].itemTypeName,
+            subjecttype: dataList[m].subjecttype,
+            subjecttypename: dataList[m].subjecttypename
+          });
+        }
+        console.log(this.rowfeeItemTypes);
+        console.log(this.feeItemTypes);
+      });
+
+      //鑾峰彇鏈嶅姟璐圭敤璇存槑鍒楄〃
+      this.loading = true;
+      listItemexpense(this.expenseQueryParams).then(response => {
+        response.rows.forEach(item => {
+          this.feeBlocks.push({
+            servicesscope: JSON.stringify(item.id),
+            itemid: item.itemid,
+            expense: item.expense,
+            expensedescribe: item.expensedescribe,
+            remark: item.expensedescribe
+          });
+        });
+        this.loading = false;
+      });
+    },
+
+    //鑾峰彇鏈嶅姟椤圭洰
+    getRowFeeItems(rowindex, row) {
+      let list = this.feeItemTypes.filter(r => r.itemType == row.applytype);
+      row.itemlist = list[0].itemDetails;
+      this.$set(this.rbDetails, rowindex, row);
+    },
+
+    //鍔犺浇鏈嶅姟椤圭洰
+    verifyFeeItemType(row) {
+      let list = this.feeItemTypes.filter(r => r.itemType == row.applytype);
+      row.itemlist = list[0].itemDetails;
+      row.itemid = null;
+      this.$forceUpdate();
+    },
+
+    //鏍¢獙鏀惰垂椤圭洰
+    verifyFeeItem(row) {
+      row.itemlist.map(res => {
+        if (row.itemid === res.id) {
+          row.remark = res.itemDescribe;
+          row.itemcode = res.itemCode;
+        }
+      });
+      //鍒ゆ柇鏀惰垂椤圭洰鏄惁閲嶅
+
+      var repeatNum = 0;
+      this.rbDetails.map(res => {
+        if (res.applytype === row.applytype && res.itemid == row.itemid) {
+          repeatNum++;
+        }
+      });
+      if (repeatNum > 1) {
+        this.$modal.msgWarning("鎮ㄥ凡缁忔彁浜よ繃璇ユ湇鍔¢」鐩簡");
+      }
+
+      //鑾峰彇璐圭敤椤圭洰鐨勮缁嗕俊鎭�
+
+      row.servicesscope = null;
+      row.servicesscopename = "";
+      row.amount = 0.0;
+      row.taxamount = 0.0;
+      row.taxedamount = 0.0;
+
+      row.rowfeeblocks = this.feeBlocks.filter(r => r.itemid == row.itemid);
+      if (row.rowfeeblocks.length == 1) {
+        row.servicesscope = row.rowfeeblocks[0].servicesscope;
+        row.servicesscopename = row.rowfeeblocks[0].expensedescribe;
+        if (row.servicesscopename.includes("绋庡悗")) {
+          row.amount = 0.0;
+          row.taxamount = 0.0;
+          row.taxedamount = row.rowfeeblocks[0].expense;
+        } else {
+          row.amount = row.rowfeeblocks[0].expense;
+          row.taxamount = 0.0;
+          row.taxedamount = 0.0;
+        }
+      }
+    },
+
+    //绛涙煡鍑哄搴旂殑璐圭敤椤圭洰
+    searchItemType(val, scope) {
+      let result = [];
+      if (val != "") {
+        let tempitemlist = scope.row.itemlist;
+        for (let i = 0; i < tempitemlist.length; i++) {
+          let pym = tempitemlist[i].itempinyin;
+          if (pym != null && pym != undefined && pym != "") {
+            if (pym.indexOf(val) != -1) {
+              result.push(tempitemlist[i]);
+            }
+          }
+        }
+        scope.row.itemlist = result;
+      } else {
+        getItemNames(scope.row.applytype).then(res => {
+          scope.row.itemlist = res.data;
+          //this.$set(this.rbDetails, rowindex, row);
+        });
+      }
+    },
+
+    //璁$畻閲戦
+    calculateTax(row, type) {
+      let targetValue = 0;
+      for (let i = 0; i < this.rbDetails.length; i++) {
+        if (!this.rbDetails[i].amount) {
+          this.rbDetails[i].amount = 0;
+        }
+        targetValue += parseFloat(this.rbDetails[i].amount); // 鍋囪姣忎釜瀵硅薄涓殑鐗瑰畾鍊煎瓨鍌ㄥ湪'specificValue'灞炴�т笅
+      }
+      console.log(targetValue, "鍚堣");
+      this.form.pretaxcost = targetValue;
+    },
+
+    unsave() {
+      this.Savereminder = false;
+      this.Reminderquantity = 0;
+    },
+    // 鎺ュ彈鎻愰啋绔嬪埢淇濆瓨
+    Savenow() {
+      if (!this.randomnumber) {
+        this.randomnumber = this.generateRandomString(9);
+        this.form.randomnumber = this.randomnumber;
+      }
+      this.Savereminder = false;
+      this.Reminderquantity = 0;
+      this.totalquantity = 0;
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.formData = this.form;
+          // let totalPreTaxAmount = 0.0;
+          // let totalAfterTaxAmount = 0.0;
+          // let totalAmount = 0.0;
+
+          //淇濆瓨鍓嶆牎楠屾暟鎹�
+          for (let k = 0; k < this.rbDetails.length; k++) {
+            let tempDetail = this.rbDetails[k];
+            if (tempDetail.itemid == null) {
+              this.$modal.msgWarning(
+                "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
+                  (k + 1).toString() +
+                  "琛岀殑鏈嶅姟椤圭洰鏈�夋嫨锛岃鍏堥�夋嫨鏈嶅姟椤圭洰鍚庡啀鎻愪氦淇濆瓨锛�"
+              );
+              return;
+            }
+
+            if (this.businessType == "1") {
+              if (tempDetail.servicesscope == null) {
+                this.$modal.msgWarning(
+                  "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
+                    (k + 1).toString() +
+                    "琛岀殑璐圭敤璇存槑鏈�夋嫨,璇烽�夋嫨璐圭敤璇存槑鍚庡啀鎻愪氦淇濆瓨锛�"
+                );
+                return;
+              }
+
+              if (tempDetail.beneficiaryno == null) {
+                this.$modal.msgWarning(
+                  "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
+                    (k + 1).toString() +
+                    "琛岀殑鏈嶅姟浜哄憳濮撳悕涓洪�夋嫨,璇烽�夋嫨浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�"
+                );
+                return;
+              }
+            }
+          }
+
+          //澶勭悊鏄庣粏
+          for (let i = 0; i < this.rbDetails.length; i++) {
+            let tempDetail = this.rbDetails[i];
+            //鑾峰彇鏈嶅姟椤圭洰鏄庣粏
+            let tempitemlist = tempDetail.itemlist;
+            let itemIndex = tempitemlist.findIndex(
+              item => tempDetail.itemid == item.id
+            );
+            if (itemIndex > -1) {
+              tempDetail.itemname = tempitemlist[itemIndex].itemName;
+              tempDetail.itemid = tempitemlist[itemIndex].id;
+            }
+
+            //鑾峰彇applytypename銆佹湇鍔¤垂鐢ㄥぇ绫�
+            let applytypeIndex = this.rowfeeItemTypes.findIndex(
+              item => tempDetail.applytype == item.value
+            );
+            if (applytypeIndex > -1) {
+              tempDetail.applytypename = this.rowfeeItemTypes[
+                applytypeIndex
+              ].label;
+              tempDetail.subjecttype = this.rowfeeItemTypes[
+                applytypeIndex
+              ].subjecttype;
+              tempDetail.subjecttypename = this.rowfeeItemTypes[
+                applytypeIndex
+              ].subjecttypename;
+            }
+            this.rbDetails[i] = tempDetail;
+          }
+          for (let j = 0; j < this.rbDetails.length; j++) {
+            let tempDetail = this.rbDetails[j];
+            if (
+              isNaN(parseFloat(tempDetail.amount)) ||
+              parseFloat(tempDetail.amount) == 0
+            ) {
+              this.$modal.msgWarning(
+                "鏈嶅姟椤圭洰琛ㄤ腑锛岀" +
+                  (j + 1).toString() +
+                  "琛岀殑閲戦鏈緭鍏ワ紝璇峰厛杈撳叆閲戦鍚庡啀鎻愪氦淇濆瓨锛�"
+              );
+              return;
+            }
+            if (
+              isNaN(parseFloat(tempDetail.taxamount)) ||
+              parseFloat(tempDetail.taxamount) == 0
+            ) {
+              tempDetail.taxedamount = parseFloat(tempDetail.amount);
+            } else {
+              tempDetail.taxedamount =
+                parseFloat(tempDetail.amount) +
+                parseFloat(tempDetail.taxamount);
+            }
+          }
+
+          //淇濆瓨鏁版嵁
+          this.loading = true;
+          this.form.serviceFunddetails = 0;
+          this.rbDetails.map(item => {
+            this.form.serviceFunddetails += item.amount;
+          });
+          this.form.serviceFunddetails = this.rbDetails;
+
+          if (this.form.id != null) {
+          } else {
+            this.form.recordstatus = -1;
+          }
+
+          addorupdateFund(this.form).then(response => {
+            if (response.code === 200) {
+              this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒");
+              this.getroute();
+              this.getExternalList();
+              this.getUserList();
+              this.getUserProfile();
+            } else {
+              this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg);
+            }
+          });
+
+          //鍏抽棴绐楀彛
+          this.loading = false;
+          // this.getfundList();
+        }
+      });
+    },
+    // 鍏ㄩ��
+    handleCheckAllChange(val) {
+      this.checkedCities = val ? this.cityOptions : [];
+      this.isIndeterminate = false;
+    },
+    handleCheckedCitiesChange(value) {
+      let checkedCount = value.length;
+      this.checkAll = checkedCount === this.cityOptions.length;
+      this.isIndeterminate =
+        checkedCount > 0 && checkedCount < this.cityOptions.length;
+    },
+    // 鎵嬪姩璁$畻
+    Manualcalculationfn() {
+      ManualCalculation(this.rbDetails).then(res => {
+        console.log(res);
+        if (res.code == 200) {
+          sessionStorage.removeItem("apiform");
+          sessionStorage.removeItem("apifunddetail");
+          sessionStorage.setItem(
+            "apifunddetail",
+            JSON.stringify(this.rbDetails)
+          );
+          sessionStorage.setItem("apiform", JSON.stringify(this.form));
+          this.$router.go(0);
+        } else {
+          // this.$message({
+          //   type: "error",
+          //   message: "鐢宠澶辫触"
+          // });
+        }
+      });
+    },
+    // 鎵归噺褰曞叆鐐瑰嚮
+    Batchentry() {
+      // ethical
+      this.listperformance();
+      this.batchdialogVisible = true;
+    },
+    listperformance() {
+      listperformance(1).then(res => {
+        this.cityOptions = res.data;
+        this.listperformancea = [];
+        this.listperformancea = this.cityOptions.map(item => {
+          return { value: item.userName, label: item.userName };
+        });
+        console.log(this.cityOptions, "缁╂晥鎵归噺");
+      });
+    },
+    // 纭褰曞叆
+    BatchentryFn() {
+      this.checkedCities.forEach(item => {
+        let rowData = {
+          orderno: null,
+          fundid: null,
+          beneficiaryname: item.userName,
+          beneficiaryno: item.usertNo,
+          unitname: item.unitname,
+          unitno: null,
+          uintuserno: null,
+          title: item.title,
+          idcardtype: null,
+          idcardno: item.idcrad,
+          sex: null,
+          familyrelations: null,
+          phone: null,
+          depositbank: item.depositBank,
+          bankcardno: item.bankCardNo,
+          branchbankname: item.branchbankname,
+          annexbankcard: null,
+          annexregistform: null,
+          applytype: "9",
+          applytypename: "绠$悊鎴愭湰",
+          itemid: 68,
+          itemcode: "68",
+          itemname: "缁╂晥宸ヨ祫",
+          itemtype: null,
+          amount: 200,
+          prepaidamount: null,
+          taxamount: null,
+          invoicecount: null,
+          taxedamount: null,
+          attachcount: null,
+          remark: null,
+          recordstatus: "-1",
+          delFlag: null,
+          createBy: null,
+          createTime: null,
+          updateBy: null,
+          updateTime: null,
+          uploadflag: null,
+          uploadtime: null,
+          itemlist: [{ id: 68, itemName: "缁╂晥宸ヨ祫" }],
+          servicesscope: null,
+          rowfeeblocks: [],
+          annexfiles: null
+        };
+
+        this.rbDetails.push(rowData);
+      });
+      for (let i = 0; i < this.checkedCities.length + 1; i++) {
+        this.rbDetails[i].orderno = i + 1;
+      }
+      this.calculateTax();
+      this.batchdialogVisible = false;
+      console.log(this.rowfeeItemTypes);
+    },
+    //鏂板涓�琛�
+    addRow(rowIndex) {
+      let rowData = {
+        orderno: null,
+        id: null,
+        fundid: null,
+        beneficiaryname: null,
+        beneficiaryno: null,
+        unitname: null,
+        unitno: null,
+        uintuserno: null,
+        title: null,
+        idcardtype: null,
+        idcardno: null,
+        sex: null,
+        familyrelations: null,
+        phone: null,
+        depositbank: null,
+        bankcardno: null,
+        branchbankname: null,
+        annexbankcard: null,
+        annexregistform: null,
+        applytype: null,
+        itemid: null,
+        itemname: null,
+        itemcode: null,
+        itemtype: null,
+        amount: null,
+        prepaidamount: null,
+        taxamount: null,
+        invoicecount: null,
+        taxedamount: null,
+        attachcount: null,
+        remark: null,
+        recordstatus: "-1",
+        delFlag: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        uploadflag: null,
+        uploadtime: null,
+        itemlist: [],
+        servicesscope: null,
+        rowfeeblocks: [],
+        annexfiles: null
+      };
+      // if (this.Reminderquantity >= 5) {
+      //   this.Savereminder = true;
+      //   return;
+      // }
+      console.log(12);
+
+      if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
+        this.rbDetails.push(rowData);
+        console.log(13);
+      } else {
+        this.rbDetails.splice(rowIndex + 1, 0, rowData);
+        console.log(14);
+      }
+      this.Reminderquantity++;
+      this.totalquantity++;
+      for (let i = 0; i < this.rbDetails.length; i++) {
+        this.rbDetails[i].orderno = i + 1;
+      }
+    },
+
+    deleteRows(row, index, rows) {
+      this.$confirm("鍒犻櫎鏁版嵁鍚庡皢涓嶈兘鎭㈠锛岀‘璁よ鍒犻櫎鍚�?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "success"
+      })
+        .then(() => {
+          if (this.rbDetails.length == 1) {
+            this.addRow(0);
+          }
+          if (row.id !== null) {
+            delFunddetail(row.id).then(res => {
+              if (res.code === 200) {
+                this.$confirm("鍒犻櫎鏁版嵁鎴愬姛", "鎻愮ず", {
+                  confirmButtonText: "纭畾",
+                  cancelButtonText: "鍙栨秷",
+                  type: "success"
+                }).then(() => {
+                  this.$set(rows, rows.splice(index, 1));
+                  getownFundDetail(this.form.id).then(res => {
+                    this.$set(this.rbDetails, res.data);
+                    for (let i = 0; i < this.rbDetails.length; i++) {
+                      this.rbDetails[i].orderno = i + 1;
+                    }
+                    this.calculateTax();
+                    // this.rbDetails = res.data
+                  });
+                });
+              }
+            });
+          } else {
+            rows.splice(index, 1);
+            this.calculateTax();
+          }
+        })
+        .catch(() => {
+          //鍑犵偣鍙栨秷鐨勬彁绀�
+        });
+      //鍏ㄩ儴鍒犻櫎鍚庢坊鍔犱竴鏉℃柊琛�
+    },
+    //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨
+    ShowDetailDialog(spoce, showType) {
+      this.spocewl = spoce;
+      this.selectionType = showType;
+      this.selectionType = this.experthear;
+      this.expertfrom = "1";
+      console.log(spoce);
+      this.funddetailForm.index = spoce.$index;
+      this.funddetailForm.beneficiaryno = spoce.row.beneficiaryno;
+      this.funddetailForm.beneficiaryname = spoce.row.beneficiaryname;
+      this.funddetailForm.unitno = spoce.row.unitno;
+      this.funddetailForm.unitname = spoce.row.unitname;
+      this.funddetailForm.expertname = "";
+      this.funddetailForm.expertidcardno = "";
+      this.funddetailForm.expertunitno = "";
+      this.funddetailForm.expertunitname = "";
+      this.funddetailForm.experttitle = "";
+      this.funddetailForm.expertdepositbank = "";
+      this.funddetailForm.expertbankcardno = "";
+      this.showSelectionDialog = true;
+    },
+
+    //涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨
+    ConfirmDetailDialog() {
+      let tempIndex = this.funddetailForm.index;
+      let tempExpertName = this.funddetailForm.userName;
+      let singleDetail = this.rbDetails[tempIndex];
+
+      //浠庝笓瀹跺垪琛ㄨ幏鍙栦俊鎭�
+      this.cityOptions.map(res => {
+        if (tempExpertName == res.userName) {
+          singleDetail.beneficiaryno = res.userno;
+          singleDetail.beneficiaryname = res.userName;
+          singleDetail.bankcardno = res.bankCardNo;
+          singleDetail.branchbankname = res.branchbankname;
+          singleDetail.depositbank = res.depositBank;
+          singleDetail.idcardno = res.bankCardNo;
+          singleDetail.phone = res.telephone;
+          singleDetail.title = res.title;
+          singleDetail.unitname = res.unitname;
+          singleDetail.unitno = parseInt(res.unitno);
+        }
+      });
+      this.rbDetails[tempIndex] = singleDetail;
+      this.showSelectionDialog = false;
+    },
+    remoteMethod(query) {
+      console.log(this.listperformancea);
+      if (query !== "") {
+        this.loadingperformance = true;
+        setTimeout(() => {
+          this.loadingperformance = false;
+          this.optionsperformance = this.listperformancea.filter(item => {
+            return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1;
+          });
+        }, 200);
+      } else {
+        this.optionsperformance = [];
+      }
+    }
+  },
+
+  //鐢熷懡鍛ㄦ湡 - 鍒涘缓瀹屾垚锛堝彲浠ヨ闂綋鍓峵his瀹炰緥锛�
+  created() {
+    //鑾峰彇璺敱鍙傛暟
+    this.getroute();
+    this.getExternalList();
+    this.getFeeUnitList();
+    this.listperformance();
+  },
+
+  //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛�
+  mounted() {
+    window.addEventListener("beforeunload", e => this.beforeunloadHandler(e));
+    this.getUserList();
+    this.getUserProfile();
+  },
+
+  destroyed() {
+    window.removeEventListener("beforeunload", e => this.beforeunloadFn(e));
+  }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴�
+  activated() {} //濡傛灉椤甸潰鏈塳eep-alive缂撳瓨鍔熻兘锛岃繖涓嚱鏁颁細瑙﹀彂
+};
+</script>
+
+<style lang="scss" scoped>
+.Modifydetailscla {
+  padding: 10px;
+
+  .boxdiv {
+    font-size: 18px;
+    padding: 0 30px;
+    padding-bottom: 60px;
+
+    .top-text {
+      text-align: center;
+      font-size: 23px;
+      font-weight: 600;
+      margin: 20px 0;
+      margin-bottom: 50px;
+    }
+
+    .dialog-footer {
+      text-align: left;
+      margin-top: 10px;
+    }
+  }
+}
+
+.upload-demo {
+  text-align: center;
+}
+
+.pdfimg {
+  display: flex; // text-align: center;
+  width: 100%;
+  height: 600px;
+
+  .box-pdf {
+    width: 400px;
+    padding-top: 20px;
+    margin-right: 30px;
+    border: 1px solid #dcdfe6;
+    -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+      0 0 6px 0 rgba(0, 0, 0, 0.04);
+    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); // <- Add this to fix.
+  }
+
+  .pdftit {
+    width: 200px;
+    padding: 20px;
+    font-size: 18px;
+  }
+
+  .pdftit:hover {
+    background: #c0cef7;
+  }
+
+  .pdfimgmin {
+    width: 60%;
+
+    img {
+      width: 100%;
+    }
+  }
+
+  .pdfimgmins {
+    font-size: 28px;
+    width: 60%;
+    text-align: center;
+  }
+}
+
+::v-deep .el-input--medium .el-input__inner {
+  height: 36px;
+  line-height: 36px;
+  text-align: center;
+}
+
+::v-deep .el-alert__title {
+  font-size: 25px;
+  line-height: 25px;
+}
+
+::v-deep .el-checkbox.is-bordered + .el-checkbox.is-bordered {
+  margin-left: 0 !important;
+  margin-bottom: 10px;
+}
+</style>
diff --git a/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue b/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
index 74630a4..137f820 100644
--- a/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
+++ b/src/views/project/fundcheck/ethicalExpertFeeCheck/index.vue
@@ -63,6 +63,20 @@
             </el-select>
           </el-form-item>
         </el-col>
+
+      </el-row>
+      <el-row>
+        <el-col :span="5">
+          <el-form-item label="鎹愮尞鑰�" prop="donorname" style="float: left">
+            <el-input
+              v-model="queryParams.donorname"
+              placeholder="璇疯緭鍏ョ敵璇蜂汉鎹愮尞鑰�"
+              clearable
+              size="small"
+              @keyup.enter.native="flowconclusion"
+            />
+          </el-form-item>
+        </el-col>
         <el-col :span="6">
           <el-button
             type="primary"
@@ -128,11 +142,6 @@
             prop="managername"
             width="150px"
           />
-          <!-- <el-table-column label="宸ヤ綔鍗曚綅" align="center"  prop="unitname" width="230px" /> -->
-          <!-- <el-table-column label="鑱旂郴鐢佃瘽" align="center"  prop="phone"  width="160"  /> -->
-          <!-- <el-table-column label="绋庡悗閲戦" align="center" prop="taxedcost" width="120px" />
-          <el-table-column label="鐢宠閲戦" align="center" prop="amountrequested" width="120px" />
-          <el-table-column label="棰勬敮璐圭敤" align="center" prop="prepaidamount" width="120px" /> -->
           <el-table-column
             label="瀹℃牳鐘舵��"
             align="center"
@@ -173,7 +182,7 @@
             fixed="right"
             align="center"
             class-name="small-padding fixed-width"
-            width="160px"
+            width="260px"
           >
             <template slot-scope="scope">
               <el-button
diff --git a/src/views/project/fundcheck/expertFeeCheck/index.vue b/src/views/project/fundcheck/expertFeeCheck/index.vue
index 90d6299..c3cc7b7 100644
--- a/src/views/project/fundcheck/expertFeeCheck/index.vue
+++ b/src/views/project/fundcheck/expertFeeCheck/index.vue
@@ -41,6 +41,17 @@
         </el-col> -->
       </el-row>
       <el-row>
+        <el-col :span="5">
+          <el-form-item label="鎹愮尞鑰�" prop="donorname" style="float: left">
+            <el-input
+              v-model="queryParams.donorname"
+              placeholder="璇疯緭鍏ョ敵璇蜂汉鎹愮尞鑰�"
+              clearable
+              size="small"
+              @keyup.enter.native="flowconclusion"
+            />
+          </el-form-item>
+        </el-col>
         <el-col :span="3">
           <div style="margin-bottom: 15px;">
             <el-button
@@ -105,7 +116,7 @@
           <el-table-column label="澶囨敞" align="center" prop="remark" />
           <!--<el-table-column label="鎹愮尞缂栧彿" align="center" prop="donorno" />
           <el-table-column label="璐㈠姟瀹℃牳" align="center" prop="financechecher" width="140" />-->
-          <el-table-column label="鎿嶄綔" fixed="right" align="center" class-name="small-padding fixed-width" width="160px">
+          <el-table-column label="鎿嶄綔" fixed="right" align="center" class-name="small-padding fixed-width" width="260px">
             <template slot-scope="scope">
               <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.checkFlag == 0"
                 @click="handleDetail(scope.row)">璇︽儏</el-button>
@@ -320,7 +331,7 @@
                 <el-input v-model="scope.row.bankcardno" placeholder="閾惰鍗″彿" />
               </template>
             </el-table-column>
-            <el-table-column fixed="right" align="center" label="鎿嶄綔" width="120">
+            <el-table-column fixed="right" align="center" label="鎿嶄綔" width="200">
               <template slot-scope="scope">
                 <el-button @click="saveRows(scope.row, scope.$index)" type="text" size="small" v-if="show === 1">
                   淇濆瓨
diff --git a/src/views/project/fundcheck/medicalCostCheck/index.vue b/src/views/project/fundcheck/medicalCostCheck/index.vue
index d59a34a..17d2f03 100644
--- a/src/views/project/fundcheck/medicalCostCheck/index.vue
+++ b/src/views/project/fundcheck/medicalCostCheck/index.vue
@@ -88,6 +88,17 @@
         </el-col> -->
       </el-row>
       <el-row>
+        <el-col :span="5">
+          <el-form-item label="鎹愮尞鑰�" prop="donorname" style="float: left">
+            <el-input
+              v-model="queryParams.donorname"
+              placeholder="璇疯緭鍏ョ敵璇蜂汉鎹愮尞鑰�"
+              clearable
+              size="small"
+              @keyup.enter.native="flowconclusion"
+            />
+          </el-form-item>
+        </el-col>
         <el-col :span="4">
           <div style="margin-bottom: 15px;">
             <el-button
@@ -720,7 +731,7 @@
               fixed="right"
               align="center"
               label="鎿嶄綔"
-              width="120"
+              width="200"
             >
               <template slot-scope="scope">
                 <el-button
diff --git a/src/views/project/fundcheck/officeExpenseCheck/index.vue b/src/views/project/fundcheck/officeExpenseCheck/index.vue
index e1eca67..2055fa4 100644
--- a/src/views/project/fundcheck/officeExpenseCheck/index.vue
+++ b/src/views/project/fundcheck/officeExpenseCheck/index.vue
@@ -69,6 +69,17 @@
         </el-col> -->
       </el-row>
       <el-row>
+        <el-col :span="5">
+          <el-form-item label="鎹愮尞鑰�" prop="donorname" style="float: left">
+            <el-input
+              v-model="queryParams.donorname"
+              placeholder="璇疯緭鍏ョ敵璇蜂汉鎹愮尞鑰�"
+              clearable
+              size="small"
+              @keyup.enter.native="flowconclusion"
+            />
+          </el-form-item>
+        </el-col>
         <el-col :span="4">
           <div style="margin-bottom: 15px;">
             <el-button
@@ -219,9 +230,9 @@
                 type="text"
                 icon="el-icon-download"
                 @click="totaldayin(scope.row.id)"
-                v-hasPermi="['project:donateconsolationfund:download']"
                 >涓嬭浇</el-button
               >
+              <!-- v-hasPermi="['project:donateconsolationfund:download']" -->
 
               <!-- 鏂板瀹℃牳椤甸潰 -->
               <!-- <el-button
diff --git a/src/views/project/fundcheck/performanceCheck/index.vue b/src/views/project/fundcheck/performanceCheck/index.vue
new file mode 100644
index 0000000..c7cae40
--- /dev/null
+++ b/src/views/project/fundcheck/performanceCheck/index.vue
@@ -0,0 +1,595 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      :inline="true"
+      v-show="showSearch"
+      label-width="120px"
+    >
+      <el-row align="left">
+        <el-col :span="5">
+          <el-form-item label="缁忓姙浜�" prop="name">
+            <el-input
+              v-model="queryParams.name"
+              placeholder="璇疯緭鍏ョ粡鍔炰汉"
+              clearable
+              size="small"
+              @keyup.enter.native="flowconclusion"
+            />
+          </el-form-item>
+        </el-col>
+        <el-col :span="7">
+          <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
+            <el-date-picker
+              format="yyyy-MM-dd"
+              @change="selectapplication"
+              value-format="yyyy-MM-dd"
+              v-model="createTime"
+              type="daterange"
+              range-separator="鑷�"
+              start-placeholder="鐢宠寮�濮嬫棩鏈�"
+              end-placeholder="鐢宠缁撴潫鏃ユ湡"
+              @keyup.enter.native="flowconclusion"
+            >
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :span="5">
+          <el-form-item label="閲戦" prop="money" style="float: left">
+            <el-input
+              v-model="queryParams.money"
+              placeholder="璇疯緭鍏ョ敵璇蜂汉閲戦"
+              clearable
+              size="small"
+              @keyup.enter.native="flowconclusion"
+            />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="5">
+          <el-form-item label="瀹℃壒鐘舵��" prop="CHECKFLAG" style="float: left">
+            <el-select
+              v-model="queryParams.CHECKFLAG"
+              placeholder="璇烽�夋嫨"
+              style="width: 100%"
+            >
+              <el-option
+                v-for="item in checkFlagOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="4">
+          <div style="margin-bottom: 15px;">
+            <el-button
+              type="primary"
+              icon="el-icon-search"
+              size="mini"
+              @click="flowconclusion"
+              >鎼滅储</el-button
+            >
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+              >閲嶇疆</el-button
+            >
+          </div>
+        </el-col>
+      </el-row>
+    </el-form>
+    <el-form ref="infoform" label-width="100px">
+      <el-row>
+        <el-table
+          v-loading="loading"
+          border
+          :data="donateconsolationfundList"
+          @selection-change="handleSelectionChange"
+        >
+          <el-table-column
+            label="鐢宠鏃ユ湡"
+            width="180"
+            align="center"
+            prop="createTime"
+          >
+            <template slot-scope="scope">
+              <span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="缁忓姙浜�"
+            align="center"
+            prop="username"
+            width="150px"
+          />
+          <el-table-column
+            label="鐢宠閲戦"
+            align="center"
+            prop="pretaxcost"
+            width="200px"
+          />
+          <el-table-column
+            label="缁╂晥绫诲瀷"
+            width="150"
+            align="center"
+            prop="Performancetype"
+          >
+            <template slot-scope="scope">
+              <dict-tag
+                :options="dict.type.sys_performance_type"
+                :value="scope.row.Performancetype"
+              />
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="瀹℃牳鐘舵��"
+            align="center"
+            prop="recordstatus"
+            width="200"
+          >
+            <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="remark" />
+          <el-table-column
+            label="鎿嶄綔"
+            fixed="right"
+            align="center"
+            class-name="small-padding fixed-width"
+            width="260px"
+          >
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-edit"
+                v-if="scope.row.checkFlag == 0"
+                @click="handleDetail(scope.row)"
+                >璇︽儏</el-button
+              >
+              <el-button
+                v-if="scope.row.checkFlag == 1"
+                size="mini"
+                type="text"
+                icon="el-icon-edit"
+                @click="beforehandCheck(scope.row)"
+                >棰勫鏍�</el-button
+              >
+              <el-button
+                v-if="scope.row.checkFlag == 1"
+                size="mini"
+                type="text"
+                icon="el-icon-edit"
+                @click="handleCheck(scope.row)"
+                >瀹℃牳</el-button
+              >
+              <!-- v-hasPermi="['project:donateconsolationfund:edit']" -->
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-download"
+                @click="totaldayin(scope.row.id)"
+                v-hasPermi="['project:donateconsolationfund:download']"
+                >涓嬭浇</el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table>
+
+        <pagination
+          v-show="total > 0"
+          :total="total"
+          :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize"
+          @pagination="getlistbypower"
+        />
+      </el-row>
+    </el-form>
+
+
+  </div>
+</template>
+
+<script>
+import {
+  onelistFund,
+  listFund,
+  getFund,
+  delFund,
+  addFund,
+  updateFund,
+  exportFund,
+  getdownloadLW,
+  getdownloadSH,
+  getdownloadSS,
+  getdownloadYX,
+  getdownloadBX,
+  checkfund,
+  listbypower,
+  getdetailsByItemId,
+  addFundSharedInfo
+} from "@/api/project/fund";
+import {
+  onelistFunds,
+  listFunddetails,
+  listFunddetail,
+  getFunddetail,
+  delFunddetail,
+  addFunddetail,
+  getownFundDetail,
+  updateFunddetail,
+  exportFunddetail,
+  getItemNames,
+  getFundType,
+  getFundTypeAll,
+  listcountItem
+} from "@/api/project/funddetail";
+import {
+  listOrganization,
+  getOrganization,
+  listReportname,
+  listUser
+} from "@/api/project/organization";
+import {
+  listFundflow,
+  getFundflow,
+  delFundflow,
+  addFundflow,
+  updateFundflow,
+  exportFundflow
+} from "@/api/project/fundflow";
+
+import {
+  listExternalperson,
+  getExternalperson,
+  getInfoBytheUserNo,
+  delExternalperson,
+  addExternalperson,
+  updateExternalperson,
+  exportExternalperson
+} from "@/api/project/externalperson";
+import {
+  listDonatebaseinfo,
+  getDonatebaseinfo
+} from "@/api/project/donatebaseinfo";
+import Li_area_select from "@/components/Address";
+import OrgSelecter from "@/views/project/components/orgselect";
+import { getUserProfile } from "@/api/system/user";
+import { getToken } from "@/utils/auth";
+import { setItem, grtItem, removeItem } from "@/utils/storage.js";
+
+export default {
+  components: {
+    Li_area_select,
+    OrgSelecter
+  },
+  name: "Donateconsolationfund",
+  dicts: [
+    "sys_recordstatus",
+    "sys_OrganizationType",
+    "sys_DonationStatus",
+    "sys_depositbank",
+    "sys_FamilyRelation",
+    "sys_IDType",
+    "sys_ConsolationType",
+    "sys_fund_type",
+    "sys_finsubject",
+    "sys_financeitemtype",
+    "sys_consolationfundlevel",
+    "sys_stage_type"
+  ],
+  data() {
+    return {
+      arrr2: [],
+      arrr3: [],
+      //璐圭敤绫诲瀷鏁扮粍
+      fundtypeArr: [],
+      show: 0,
+      createTime: [],
+      newobj: {
+        flowlevelone: null,
+        flowconclusion: null,
+        fundid: null
+      },
+      showFirstapprovelevel: false,
+      showSecondapprovelevel: false,
+      showThirdapprovelevel: false,
+      bankprovince: {
+        sheng: "",
+        shi: "",
+        qu: "",
+        organizationname: null
+      },
+      openbtn: true,
+      isopen: 0,
+      istrue: 1,
+      reporters: [],
+      lunlilaowu: [],
+      arrid: [],
+      a: "",
+      idss: "",
+      updatedatas: {},
+      //褰撳墠閫変腑鎹愮尞鑰呭鍚�
+      curdonordoname: "",
+      //褰撳墠閫変腑鎹愮尞鑰呮渚嬬紪鍙�
+      curdonorno: "",
+      // 閬僵灞�
+      loading: true,
+      // 瀵煎嚭閬僵灞�
+      exportLoading: false,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 鎹愮尞浜洪亾鎱伴棶閲戣〃鏍兼暟鎹�
+      donateconsolationfundList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      //鎹愮尞妗堜緥鍒楄〃鏁版嵁
+      // donationCaseTableData:[],
+      donatebaseinfoList: [],
+
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      checkFlagOptions: [
+        {
+          value: 0,
+          label: "宸插鎵�"
+        },
+        {
+          value: 1,
+          label: "寰呭鎵�"
+        },
+        {
+          value: 2,
+          label: "鍏ㄩ儴"
+        }
+      ],
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        APPLICANT: null,
+        APPLICATIONBEGTIME: null,
+        APPLICATIONENDTIME: null,
+        CHECKFLAG: 1,
+        APPLYTYPE: 5,
+        money: null
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        username: [
+          { required: true, message: "璇疯緭鍏ョ敵璇蜂汉濮撳悕", trigger: "blur" }
+        ],
+        createTime: [
+          { required: true, message: "璇疯緭鍏ョ敵璇锋棩鏈�", trigger: "blur" }
+        ],
+        amountrequested: [
+          { required: true, message: "璇疯緭鍏ョ敵璇烽噾棰�", trigger: "blur" }
+        ]
+      },
+      //褰撳墠閫変腑鎹愮尞妗堜緥
+      curCase: {},
+      //鏄惁鏄剧ず璐圭敤鐢宠寮圭獥
+      dialogOpen: false,
+      // title: "",
+      //璐圭敤鐢宠琛ㄥ崟title
+      applyFormTitle: "",
+      //璐圭敤鐢宠鍗昮orm
+      applicationForm: {},
+      fundDetailArr: [],
+      fundflowList: [],
+      organspeciallist: [],
+      yitibody: [],
+      donoryixue: [],
+      jiashumoney: [],
+      itemArr: [],
+      allnum: [],
+      userlist: [],
+      approveLevel: 5,
+      fundtypeArrAll: [],
+      dialogType: "edit",
+
+      //闄勪欢鍒楄〃
+      fileList: [],
+      //涓婁紶闄勪欢璺緞
+      uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
+      headers: {
+        Authorization: "Bearer " + getToken()
+      }
+    };
+  },
+  watch: {},
+  created() {
+    this.resetForm();
+    this.getUsermsg();
+  },
+
+  mounted() {
+    if (grtItem("officeExpenseCheck")) {
+      this.queryParams = grtItem("officeExpenseCheck");
+    }
+    this.getlistOrganization();
+    //his.getlistUser();
+    this.getlistbypower();
+  },
+
+  methods: {
+    selectapplication() {
+      this.queryParams.APPLICATIONBEGTIME = this.createTime[0];
+      this.queryParams.APPLICATIONENDTIME = this.createTime[1];
+    },
+    getlistbypower() {
+      this.loading = true;
+      // this.queryParams.params = {};
+      console.log("this.queryParams", this.queryParams);
+      listbypower(this.queryParams).then(res => {
+        removeItem("officeExpenseCheck");
+        setItem("officeExpenseCheck", this.queryParams);
+        this.loading = false;
+        let list = res.rows;
+        this.total = res.total;
+        this.donateconsolationfundList = list;
+      });
+    },
+    getlistOrganization() {
+      listOrganization().then(res => {});
+    },
+
+    totaldayin(e) {
+      // const id =this.row.id
+      getdownloadBX(e).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"
+          });
+        }
+      });
+    },
+
+    isopenvalue(index) {
+      this.isopen = index;
+    },
+
+    tojust(e) {
+      let username = "111";
+      getFund(e).then(res => {
+        username = res.data.username;
+        this.$modal
+          .confirm('鏄惁纭閫氳繃"' + username + '"鐨勮垂鐢ㄧ敵璇凤紵')
+          .then(function() {
+            getFund(e).then(res => {
+              let data = res.data;
+              let financechecher = "宸插鏍�";
+              data.financechecher = financechecher;
+              // data.recordstatus = "閮ㄩ棬宸查�氳繃";
+              const username = data.username;
+              return updateFund(data);
+            });
+          })
+          .then(() => {
+            this.getList();
+            this.getlistbypower();
+            this.$modal.msgSuccess("瀹℃牳鎴愬姛");
+          });
+      });
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    flowconclusion() {
+      this.queryParams.pageNum = 1;
+      this.getlistbypower();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.daterangeReporttime = [];
+      this.resetForm("queryForm");
+      this.getlistbypower();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
+    },
+    beforehandCheck(row) {
+      this.$router.push({
+        path: "/finance/performancedetails/",
+        query: {
+          id: row.id,
+          businessType: "5",
+          beforehandType: "1",
+          operationType: "check"
+        }
+      });
+    },
+    /** 瀹℃牳鎸夐挳鎿嶄綔 */
+    handleCheck(row) {
+      this.$router.push({
+        path: "/finance/performancedetails/",
+        query: {
+          id: row.id,
+          businessType: "5",
+          operationType: "check"
+        }
+      });
+      return;
+    },
+
+    //鏌ョ湅瀹℃牳璇︽儏
+    handleDetail(row) {
+      this.$router.push({
+        path: "/finance/performancedetails/",
+        query: {
+          id: row.id,
+          businessType: "5",
+          operationType: "detail"
+        }
+      });
+      return;
+    },
+    getto() {
+      const infoid = this.curCase.id;
+      const aaa = {
+        infoid: infoid,
+        count: this.idss
+      };
+      listFunddetails(aaa).then(res => {});
+    },
+    getUsermsg() {
+      getUserProfile().then(response => {
+        // this.defaultperson = response.data;
+        // this.standardlevel = response.data.standardlevel;
+        if (
+          response.data.userName === "001" ||
+          response.data.userName === "002" ||
+          response.data.userName === "admin"
+        ) {
+          this.show = 1;
+        } else {
+          this.show = 3;
+        }
+      });
+    },
+  }
+};
+</script>
diff --git a/src/views/project/travelexpenseapply/index.vue b/src/views/project/travelexpenseapply/index.vue
index 24412c3..faf9fc8 100644
--- a/src/views/project/travelexpenseapply/index.vue
+++ b/src/views/project/travelexpenseapply/index.vue
@@ -68,6 +68,19 @@
             </el-select>
           </el-form-item>
         </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="5">
+          <el-form-item label="鎹愮尞鑰�" prop="donorname" style="float: left">
+            <el-input
+              v-model="queryParams.donorname"
+              placeholder="璇疯緭鍏ョ敵璇蜂汉鎹愮尞鑰�"
+              clearable
+              size="small"
+              @keyup.enter.native="flowconclusion"
+            />
+          </el-form-item>
+        </el-col>
         <el-col :span="4">
           <el-form-item>
             <el-button

--
Gitblit v1.9.3