From 0c14c70cbc02619b516dd92f1cee3d74b2b1f4a3 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期四, 11 五月 2023 15:07:06 +0800
Subject: [PATCH] 修改了报销单计算补助

---
 src/views/project/travelexpenseslist/index.vue | 1878 ++++++++++++++++++++++++++++------------------------------
 1 files changed, 912 insertions(+), 966 deletions(-)

diff --git a/src/views/project/travelexpenseslist/index.vue b/src/views/project/travelexpenseslist/index.vue
index 235d96c..85f18fc 100644
--- a/src/views/project/travelexpenseslist/index.vue
+++ b/src/views/project/travelexpenseslist/index.vue
@@ -1,60 +1,29 @@
 
 <template>
   <div class="app-container">
-    <el-form
-      :model="queryParams"
-      ref="queryForm"
-      :inline="true"
-      v-show="showSearch"
-      label-width="68px"
-    >
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-row>
         <el-col :span="6">
           <el-form-item label="鍑哄樊浜�" prop="travelers">
-            <el-input
-              v-model="queryParams.travelers"
-              placeholder="璇疯緭鍏ュ嚭宸汉"
-              clearable
-              size="small"
-              @keyup.enter.native="handleQuery"
-            />
+            <el-input v-model="queryParams.travelers" placeholder="璇疯緭鍏ュ嚭宸汉" clearable size="small"
+              @keyup.enter.native="handleQuery" />
           </el-form-item>
         </el-col>
 
         <el-col :span="6">
-          <el-form-item label="鎶ラ攢浜�" prop="username">
-            <el-input
-              v-model="queryParams.username"
-              placeholder="璇疯緭鍏ユ姤閿�浜�"
-              clearable
-              size="small"
-              @keyup.enter.native="handleQuery"
-            />
+          <el-form-item label="缁忓姙浜�" prop="username">
+            <el-input v-model="queryParams.username" placeholder="璇疯緭鍏ョ粡鍔炰汉" clearable size="small"
+              @keyup.enter.native="handleQuery" />
           </el-form-item>
         </el-col>
 
-        <el-col :span="6">       
+        <el-col :span="6">
           <el-form-item label="瀹℃牳鐘舵��" prop="recordstatus">
-            <el-input
-              v-model="queryParams.recordstatus"
-              placeholder="璇烽�夋嫨瀹℃牳鐘舵��"
-              clearable
-              size="small"
-              v-if="0"
-              @keyup.enter.native="handleQuery"
-            />
-            <el-select
-              v-model="queryParams.recordstatus"
-              placeholder="璇烽�夋嫨瀹℃牳鐘舵��"
-              clearable
-              size="small"
-            >
-              <el-option
-                v-for="dict in dict.type.sys_recordstatus"
-                :key="dict.value"
-                :label="dict.label"
-                :value="dict.value"
-              />
+            <el-input v-model="queryParams.recordstatus" placeholder="璇烽�夋嫨瀹℃牳鐘舵��" clearable size="small" v-if="0"
+              @keyup.enter.native="handleQuery" />
+            <el-select v-model="queryParams.recordstatus" placeholder="璇烽�夋嫨瀹℃牳鐘舵��" clearable size="small">
+              <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>
@@ -63,834 +32,573 @@
       <el-row>
         <el-col :span="8">
           <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 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="6">
           <el-form-item>
-        <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-form-item>
+            <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-form-item>
         </el-col>
       </el-row>
-
-      
     </el-form>
 
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          >鏂板</el-button
-        >
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">鏂板</el-button>
         <!-- v-hasPermi="['project:funddetail: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-button type="warning" plain icon="el-icon-download" size="mini" :loading="exportLoading"
+          @click="handleExport">瀵煎嚭</el-button>
       </el-col>
       <!-- v-hasPermi="['project:funddetail:export']" -->
-      <right-toolbar
-        :showSearch.sync="showSearch"
-        @queryTable="getList"
-      ></right-toolbar>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table
-      border
-      v-loading="loading"
-      :data="reimbursementList"
-      @selection-change="handleSelectionChange"
-    >
+    <el-table border v-loading="loading" :data="reimbursementList" @selection-change="handleSelectionChange">
       <!-- <el-table-column type="selection" width="55" align="center" /> -->
-      <el-table-column
-        label="璁板綍鐘舵��"
-        align="center"
-        prop="recordstatus"
-        width="180"
-      >
+      <el-table-column label="璁板綍鐘舵��" align="center" prop="recordstatus" width="180">
         <template slot-scope="scope">
-          <dict-tag
-            :options="dict.type.sys_recordstatus"
-            :value="scope.row.recordstatus"
-          />
+          <dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" />
         </template>
       </el-table-column>
-      <el-table-column
-        label="鎶ラ攢浜虹被鍒�"
-        width="120"
-        align="center"
-        prop="costtype"
-      >
+      <!--
+      <el-table-column label="鎶ラ攢浜虹被鍒�" width="120" align="center" prop="costtype">
         <template slot-scope="scope">
-          <dict-tag
-            :options="dict.type.sys_travelexpensebelong"
-            :value="scope.row.costtype"
-          />
+          <dict-tag :options="dict.type.sys_travelexpensebelong" :value="scope.row.costtype" />
         </template>
-      </el-table-column>
-      <el-table-column
-        label="鐢宠鏃堕棿"
-        width="120"
-        align="center"
-        prop="createTime"
-      >
+      </el-table-column>-->
+      <el-table-column label="鐢宠鏃堕棿" width="120" 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="鎶ラ攢浜�"
-        width="120"
-        align="center"
-        prop="username"
-      >
+      <el-table-column label="缁忓姙浜�" width="120" align="center" prop="username">
+      </el-table-column><!--
+      <el-table-column label="鍑哄樊浜�" width="180" align="center" prop="travelers">
+      </el-table-column>-->
+      <el-table-column label="鎶ラ攢閲戦" width="120" align="center" prop="amountrequested">
       </el-table-column>
-      <el-table-column
-        label="鍑哄樊浜�"
-        width="180"
-        align="center"
-        prop="travelers"
-      >
+      <el-table-column label="鍑哄樊浜嬬敱" align="center" width="280" prop="reason">
       </el-table-column>
-      <el-table-column
-        label="鎶ラ攢閲戦"
-        width="120"
-        align="center"
-        prop="amountrequested"
-      >
+      <!-- <el-table-column label="鑱旂郴鐢佃瘽" width="120" align="center" prop="phone">
       </el-table-column>
-      <el-table-column
-        label="鍑哄樊浜嬬敱"
-        align="center"
-        width="280"
-        prop="reason"
-      >
+      <el-table-column label="寮�鎴烽摱琛�" width="180" align="center" prop="depositbank">
       </el-table-column>
-      <el-table-column label="鑱旂郴鐢佃瘽" width="120" align="center" prop="phone">
+      <el-table-column label="閾惰鍗″彿" width="180" align="center" prop="bankcardno">
       </el-table-column>
-      <el-table-column
-        label="寮�鎴烽摱琛�"
-        width="180"
-        align="center"
-        prop="depositbank"
-      >
+      <el-table-column label="鎶ラ攢鍚堣" align="center" prop="financechecher"/>-->
+      <!-- <el-table-column label="璐㈠姟瀹℃牳" width="120" align="center" prop="financechecher" /> -->
+      <el-table-column label="鎹愮尞鑰�" width="120" align="center" prop="donorname">
       </el-table-column>
-      <el-table-column
-        label="閾惰鍗″彿"
-        width="180"
-        align="center"
-        prop="bankcardno"
-      >
-      </el-table-column>
-      <!-- <el-table-column label="鎶ラ攢鍚堣" align="center" prop="financechecher">
-      </el-table-column> -->
-      <!-- <el-table-column
-        label="璐㈠姟瀹℃牳"
-        width="120"
-        align="center"
-        prop="financechecher"
-      >
-      </el-table-column> -->
-      <el-table-column
-        label="鎹愮尞鑰�"
-        width="120"
-        align="center"
-        prop="donorname"
-      >
-      </el-table-column>
-      <el-table-column
-        label="鎿嶄綔"
-        align="center"
-        fixed="right"
-        class-name="small-padding fixed-width"
-        width="270"
-      >
+      <el-table-column label="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width" width="300">
         <template slot-scope="scope">
-          <el-button
-            v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1"
-            size="mini"
-            type="text"
-            icon="el-icon-upload2"
-            @click="handleup(scope.row)"
-            >涓婃姤</el-button
-          >
-          <el-button
-            v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1"
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            >淇敼</el-button
-          >
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @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-upload2" @click="handleup(scope.row)">涓婃姤</el-button>
+          <el-button v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1" size="mini" type="text"
+            icon="el-icon-edit" @click="handleUpdate(scope.row)">淇敼</el-button>
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)">鏌ョ湅</el-button>
           <!-- v-hasPermi="['project:funddetail:edit']" -->
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-download"
-            @click="gettable(scope.row)"
-          >
-            涓嬭浇
-          </el-button>
+          <el-button size="mini" type="text" icon="el-icon-download" @click="gettable(scope.row)"> 涓嬭浇 </el-button>
           <!-- v-hasPermi="['project:funddetail:edit']" -->
-          <el-button
-            v-if="scope.row.recordstatus == -1 || scope.row.recordstatus == 1"
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(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)">鍒犻櫎</el-button>
           <!-- v-hasPermi="['project:funddetail:remove']" -->
         </template>
       </el-table-column>
     </el-table>
     <!-- v-hasPermi="['project:donateconsolationfund:edit']" -->
 
-    <pagination
-      v-show="total > 0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
 
     <!-- 娣诲姞鎴栦慨鏀硅垂鐢ㄧ敵璇锋槑缁嗗璇濇 -->
-    <el-dialog
-      :title="title"
-      :visible.sync="open"
-      :close-on-click-modal="false"
-      width="1600px"
-      append-to-body
-      @close="reset"
-     
-    >
+    <el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="1400px" append-to-body
+      @close="reset">
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-        <el-row>
-          <el-col :span="7">
-            <!-- <el-form-item label="澶囨敞" prop="reason">
-              <el-input v-model="form.reason" placeholder="涓撹亴浜哄憳 鍗忚皟鍛�" />
-            </el-form-item> --><el-form-item label="鎶ラ攢浜�" prop="username">
-              <el-select
-                v-model="form.username"
-                clearable
-                filterable
-                allow-create
-                ref="getReportname"
-                default-first-option
-                placeholder="璇烽�夋嫨"
-              >
-                <el-option
-                  v-for="item in reporters"
-                  :key="item.reportNo"
-                  :label="item.reportName"
-                  :value="item.reportName"
-                >
+        <el-row><el-col :span="5">
+            <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
+              <el-date-picker 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" clearable filterable allow-create ref="getReportname"
+                default-first-option placeholder="璇烽�夋嫨">
+                <el-option v-for="item in personsList" :key="item.reportNo" :label="item.reportName"
+                  :value="item.reportName">
                 </el-option>
               </el-select>
             </el-form-item>
-          </el-col>
-
-          <el-col :span="8">
-            <el-form-item label="鎹愮尞缂栧彿" prop="donorno">
-              <el-input
-                disabled
-                v-model="form.donorno"
-                placeholder="鎹愮尞缂栧彿"
-              />
+          </el-col><el-col :span="5">
+            <el-form-item label="鍖哄煙缁勯暱" prop="managername">
+              <el-input v-model="form.managername" placeholder="鍖哄煙缁勯暱" />
             </el-form-item>
           </el-col>
-          <el-col :span="7">
+
+          <el-col :span="5">
             <el-form-item label="鎹愮尞鑰�" prop="infoid">
-              <el-select
-                v-model="form.infoid"
-                @change="selectbaseinfo"
-                filterable
-                placeholder="璇烽�夋嫨鎹愮尞鑰�"
-              >
-                <el-option
-                  v-for="item in baselist"
-                  :key="item.index"
-                  :label="item.name"
-                  :value="item.infoid"
-                >
+              <el-select v-model="form.infoid" @change="selectbaseinfo" filterable placeholder="璇烽�夋嫨鎹愮尞鑰�">
+                <el-option v-for="item in baselist" :key="item.index" :label="item.name" :value="item.infoid">
                 </el-option>
               </el-select>
             </el-form-item>
           </el-col>
         </el-row>
+        <el-row style="margin-top: 10px">
+          <el-col :span="5">
+            <el-form-item label="鎶ラ攢閲戦" prop="amountrequested">
+              <el-input :disabled="true" v-model="form.amountrequested" placeholder="鎶ラ攢鍚堣閲戦" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="10">
+            <el-form-item label="澶у啓閲戦" prop="bigstrmoney">
+              <el-input :disabled="true" v-model="form.bigstrmoney" placeholder="鎶ラ攢澶у啓閲戦" />
+            </el-form-item>
+          </el-col><el-col :span="5">
+            <el-form-item label="瀹℃牳鐘舵��" prop="flowlevel">
+              <el-select v-model="form.recordstatus" placeholder="璇烽�夋嫨瀹℃牳鐘舵��" clearable :disabled="true" size="small">
+                <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-row>
+        <!--
         <el-row>
-          <el-col :span="7">
-            <el-form-item label="鍑哄樊浜哄垎绫�" prop="costtype">
-              <el-select
-                v-model="form.costtype"
-                value-key="value"
-                placeholder="璇烽�夋嫨鍑哄樊浜哄垎绫�"
-                @change="getTravelers"
-              >
-                <el-option
-                  v-for="dict in dict.type.sys_travelexpensebelong"
-                  :key="dict.value"
-                  :label="dict.label"
-                  :value="dict.value"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="鍑哄樊浜�" prop="travelers">
-              <el-select
-                v-model="form.travelers"
-                clearable
-                filterable
-                allow-create
-                ref="getReportname"
-                default-first-option
-                placeholder="璇烽�夋嫨"
-                @change="selectedTraveler"
-              >
-                <el-option
-                  v-for="item in travelers"
-                  :key="item.reportNo"
-                  :label="item.reportName"
-                  :value="item.reportName"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="7">
-            <el-form-item label="鍖哄煙缁勯暱" prop="managername">
-              <el-input v-model="form.managername" placeholder="鍖哄煙缁勯暱" />
-            </el-form-item> </el-col></el-row
-        ><el-row>
           <el-col :span="15">
             <el-form-item label="鍑哄樊浜嬬敱" prop="reason">
               <el-input v-model="form.reason" placeholder="鍑哄樊浜嬬敱" />
             </el-form-item>
           </el-col>
-          <el-col :span="7">
-            <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
-              <el-date-picker
-                style="width: 100%"
-                v-model="form.createTime"
-                type="date"
-                value-format="yyyy-MM-dd HH:mm:ss"
-                placeholder="鐢宠鏃ユ湡"
-              >
-              </el-date-picker>
+          <el-col :span="5">
+            <el-form-item label="鎶ラ攢鍒嗙被" prop="costtype">
+              <el-select v-model="form.costtype" value-key="value" placeholder="璇烽�夋嫨鍑哄樊浜哄垎绫�" @change="getTravelers">
+                <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
+                  :value="dict.value"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label="鍑哄樊浜�" prop="travelers">
+              <el-select v-model="form.travelers" clearable filterable allow-create ref="getReportname"
+                default-first-option placeholder="璇烽�夋嫨" @change="getAccountinfo()">
+                <el-option v-for="item in travelers" :key="item.reportNo" :label="item.reportName"
+                  :value="item.reportName">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label="鏀舵閾惰" prop="depositbank">
+              <el-input v-model="form.depositbank" 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="鑱旂郴鐢佃瘽" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
-          <el-col :span="22">
-            <el-form-item label="澶囨敞" prop="remark">
-              <el-input v-model="form.remark" placeholder="澶囨敞" />
+          <el-col :span="20"><el-divider></el-divider></el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="5">
+            <el-form-item label="瀹跺睘璐圭敤" prop="donoramount">
+              <el-input :disabled="true" v-model="form.donoramount" placeholder="瀹跺睘璐圭敤" @blur="
+                (val) => {
+                  sumTotalFee();
+                }
+              " onchange="if(/[^0-9.]/.test(this.value)){alert('璇锋纭緭鍏ユ暣鏁版暟瀛楁垨灏忔暟锛�');this.value='';}" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="15">
+            <el-form-item label="璐圭敤璇存槑" prop="donorremark">
+              <el-input :disabled="true" v-model="form.donorremark" placeholder="瀹跺睘璐圭敤璇存槑" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
-          <el-col :span="8"> </el-col>
+          <el-col :span="5">
+            <el-form-item label="瀹跺睘浜烘暟" prop="donorrelatives">
+              <el-input v-model="form.donorrelatives" placeholder="瀹跺睘浜烘暟" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label="鏀舵浜�" prop="donorpayee">
+              <el-input v-model="form.donorpayee" placeholder="浜插睘鏀舵浜�" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label="鏀舵閾惰" prop="donorbank">
+              <el-input v-model="form.donorbank" placeholder="瀹跺睘閾惰" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label="閾惰鍗″彿" prop="donorbankcard">
+              <el-input v-model="form.donorbankcard" placeholder="閾惰鍗″彿" />
+            </el-form-item>
+          </el-col>
         </el-row>
-        <!-- <el-row type="flex" :gutter="10" align="right" class="mb8">
+                -->
+        <!-- 
+        <el-row type="flex" :gutter="10" align="right" class="mb8">
           <el-col :span="6">
             <el-button
               type="primary"
               plain
               icon="el-icon-plus"
               size="mini"
-              @click="addRow"
+              @click="addDetailRow"
               >鏂板涓�琛�</el-button
             >
           </el-col>
-        </el-row> -->
+          </el-row>
+          -->
         <el-row>
-          <el-table :data="applicationDetailArr" border highlight-current-row >
-            <el-table-column
-              prop="orderno"
-              slot=""
-              label="搴忓彿"
-              align="center"
-              fixed
-              width="80"
-            >
+          <el-col :span="20">鎶ラ攢鏄庣粏褰曞叆锛�</el-col>
+        </el-row>
+        <el-row>
+          <el-table :data="rbDetails" border highlight-current-row>
+            <el-table-column prop="orderno" slot="" label="搴忓彿" align="center" fixed width="65">
               <template slot-scope="scope">
                 <el-input v-model="scope.row.orderno" placeholder="搴忓彿" />
               </template>
             </el-table-column>
-            <el-table-column
-              prop="starttime"
-              slot=""
-              label="鍑哄彂鏃ユ湡"
-              fixed
-              align="center"
-              width="150"
-            >
+            <!--涓婚敭銆佸涓嶅睍绀�-->
+            <el-table-column prop="id" slot="" label="涓婚敭" align="center" fixed width="95" v-if="false">
               <template slot-scope="scope">
-                <el-date-picker
-                  clearable
-                  size="small"
-                  style="width: 100%"
-                  v-model="scope.row.starttime"
-                  type="date"
-                  value-format="yyyy-MM-dd HH:mm:ss"
-                  placeholder="鍑哄彂鏃ユ湡"
-                  @change="getStandard(scope.row)"
-                >
-                </el-date-picker>
+                <el-input v-model="scope.row.id" placeholder="id" />
+              </template>
+            </el-table-column>
+            <el-table-column prop="rbid" slot="" label="澶栭敭" align="center" fixed width="95" v-if="false">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.rbid" placeholder="rbid" />
               </template>
             </el-table-column>
 
-            <el-table-column
-              prop="departure"
-              slot=""
-              label="鍑哄彂鍦扮偣"
-              align="center"
-              width="200"
-              fixed
-            >
+            <el-table-column prop="persontype" slot="" label="浜哄憳绫诲埆" align="center" fixed width="130">
               <template slot-scope="scope">
-                <el-input
-                  v-model="scope.row.departure"
-                  placeholder="鍑哄彂鍦扮偣"
-                />
+                <el-select v-model="scope.row.persontype" value-key="value" placeholder="浜哄憳绫诲埆"
+                  @change="getPersons(scope.row)">
+                  <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
+                    :value="dict.label"></el-option>
+
+                </el-select>
               </template>
             </el-table-column>
-            <el-table-column
-              prop="endtime"
-              slot=""
-              label="鍒拌揪鏃ユ湡"
-              align="center"
-              width="150"
-              fixed
-            >
+            <el-table-column prop="personname" slot="" label="璐圭敤浜哄憳" align="center" fixed width="110">
               <template slot-scope="scope">
-                <el-date-picker
-                  clearable
-                  size="small"
-                  style="width: 100%"
-                  v-model="scope.row.endtime"
-                  type="date"
-                  value-format="yyyy-MM-dd HH:mm:ss"
-                  placeholder="鍒拌揪鏃ユ湡"
-                >
+                <el-select v-model="scope.row.personname" clearable filterable allow-create default-first-option
+                  placeholder="璇烽�夋嫨" @focus1="getPersons(scope.row)">
+                  <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName"
+                    :value="item.reportName">
+                  </el-option>
+                </el-select>
+              </template>
+            </el-table-column>
+            <el-table-column prop="starttime" slot="" label="寮�濮嬫棩鏈�" fixed align="center" width="150">
+              <template slot-scope="scope">
+                <el-date-picker :picker-options="{
+                  disabledDate: time => {
+                    if (scope.row.endtime) { return time.getTime() > new Date(scope.row.endtime.replace(/-/g, '/')) }
+                  }
+                }" clearable size="small" style="width: 100%" v-model="scope.row.starttime" type="date"
+                  value-format="yyyy-MM-dd HH:mm:ss" placeholder="寮�濮嬫棩鏈�" @blur="getallowance(scope.row)">
                 </el-date-picker>
               </template>
             </el-table-column>
-            <el-table-column
-              label="鍒拌揪鍦扮偣"
-              prop="destination"
-              align="center"
-              width="200"
-            >
+            <el-table-column prop="endtime" slot="" label="缁撴潫鏃ユ湡" align="center" fixed width="150">
               <template slot-scope="scope">
-                <el-input
-                  v-model="scope.row.destination"
-                  placeholder="鍒拌揪鍦扮偣"
-                />
+                <el-date-picker :picker-options="{
+                  disabledDate: time => {
+                    if (scope.row.starttime) { return time.getTime() < new Date(scope.row.starttime.replace(/-/g, '/')) }
+                  }
+                }" clearable size="small" style="width: 100%" v-model="scope.row.endtime" type="date"
+                  value-format="yyyy-MM-dd HH:mm:ss" placeholder="缁撴潫鏃ユ湡" @blur="getallowance(scope.row)">
+                </el-date-picker>
               </template>
             </el-table-column>
-            <el-table-column prop="days" label="澶╂暟" width="70" align="center">
+            <el-table-column prop="departure" slot="" label="鍑哄彂鍦�" align="center" width="100">
               <template slot-scope="scope">
-                <el-input
-                  v-model="scope.row.days"
-                  @blur="getStandard(scope.row)"
-                  placeholder="澶╂暟"
-                />
+                <el-input v-model="scope.row.departure" placeholder="鍑哄彂鍦�" />
               </template>
             </el-table-column>
-            <el-table-column
-              prop="traffictype"
-              label="浜ら�氬伐鍏�"
-              align="center"
-              width="120"
-            >
+            <el-table-column label="鍒拌揪鍦�" prop="destination2" align="center" width="140">
               <template slot-scope="scope">
-                <el-input
-                  v-model="scope.row.traffictype"
-                  placeholder="浜ら�氬伐鍏�"
-                />
+                <!--  <el-input v-model="scope.row.destination" placeholder="鍒拌揪鍦�" @blur="getallowance(scope.row)" /> -->
+
+                <el-select filterable allow-create v-model="scope.row.destination" value-key="value" placeholder="鍒拌揪鍦�"
+                  @change="getallowance2(scope.row, scope.row.destination)">
+                  <el-option v-for="dict in dict.type.sys_area_name" :key="dict.value" :label="dict.label"
+                    :value="dict.value"></el-option>
+
+                </el-select>
               </template>
             </el-table-column>
-            <el-table-column
-              prop="trafficexpense"
-              label="浜ら�氳垂"
-              align="center"
-              width="80"
-            >
+            <el-table-column prop="days" label="澶╂暟" width="65" align="center">
               <template slot-scope="scope">
-                <el-input
-                  v-model="scope.row.trafficexpense"
-                  placeholder="浜ら�氳垂"
-                  @blur="
-                    (val) => {
-                      sumTotalFee();
-                    }
-                  "
-                />
+                <el-input v-model="scope.row.days" @blur="getStandard(scope.row)" placeholder="澶╂暟" />
               </template>
             </el-table-column>
-            <el-table-column
-              prop="cityfee"
-              label="甯傚唴浜ら�氳垂"
-              align="center"
-              width="100"
-            >
+            <el-table-column prop="traffictype" label="鍑哄彂浜ら�氬伐鍏�" align="center" width="100">
               <template slot-scope="scope">
-                <el-input
-                  v-model="scope.row.cityfee"
-                  placeholder="甯傚唴浜ら�氳垂"
-                  @blur="
-                    (val) => {
-                      sumTotalFee();
-                    }
-                  "
-                  >{{ Number(scope.row.cityfee).toFixed(2) }}
+                <el-select v-model="scope.row.traffictype" placeholder="鍑哄彂浜ら�氬伐鍏�">
+                  <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label"
+                    :value="dict.label"></el-option>
+                </el-select>
+              </template>
+            </el-table-column>
+            <el-table-column prop="traffictype2" label="杩斿洖浜ら�氬伐鍏�" align="center" width="100">
+              <template slot-scope="scope">
+                <el-select v-model="scope.row.traffictype2" placeholder="杩斿洖浜ら�氬伐鍏�">
+                  <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label"
+                    :value="dict.label"></el-option>
+                </el-select>
+              </template>
+            </el-table-column>
+            <el-table-column prop="trafficexpense" label="浜ら�氳垂" align="center" width="80">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.trafficexpense" placeholder="浜ら�氳垂" @blur="(val) => {
+                  sumTotalFee();
+                }
+                  " />
+              </template>
+            </el-table-column>
+            <!--
+            <el-table-column prop="cityfee" label="甯傚唴浜ら�氳垂" align="center" width="100">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.cityfee" placeholder="甯傚唴浜ら�氳垂" @blur="
+                  (val) => {
+                    sumTotalFee();
+                  }
+                ">{{ Number(scope.row.cityfee).toFixed(2) }}
                 </el-input>
               </template>
             </el-table-column>
-            <el-table-column
-              prop="hotelexpense"
-              label="浣忓璐�"
-              align="center"
-              width="80"
-            >
+                                                                                                                                      -->
+            <el-table-column prop="hotelexpense" label="浣忓璐�" align="center" width="80">
               <template slot-scope="scope">
-                <el-input
-                  v-model="scope.row.hotelexpense"
-                  placeholder="浣忓璐�"
-                  @blur="
-                    (val) => {
-                      sumTotalFee();
-                    }
-                  "
-                />
+                <el-input v-model="scope.row.hotelexpense" placeholder="浣忓璐�" @blur="(val) => {
+                  sumTotalFee();
+                }
+                  " />
               </template>
             </el-table-column>
-            <el-table-column
-              prop="otherexpense"
-              label="鏉傝垂"
-              align="center"
-              width="80"
-            >
+
+            <el-table-column prop="foodexpenses" label="椁愯垂鎶ラ攢" align="center" width="80">
               <template slot-scope="scope">
-                <el-input
-                  v-model="scope.row.otherexpense"
-                  placeholder="鏉傝垂"
-                  @blur="
-                    (val) => {
-                      sumTotalFee();
-                    }
-                  "
-                />
+                <el-input v-model="scope.row.foodexpenses" placeholder="浼欓璐规姤閿�" @blur="(val) => {
+                  sumTotalFee();
+                }
+                  " />
               </template>
             </el-table-column>
-            <el-table-column
-              prop="foodexpenses"
-              label="浼欓璐规姤閿�"
-              align="center"
-              width="100"
-            >
+            <el-table-column prop="foodallowance" label="浼欓琛ュ姪" align="center" width="80">
               <template slot-scope="scope">
-                <el-input
-                  v-model="scope.row.foodexpenses"
-                  placeholder="浼欓璐规姤閿�"
-                  @blur="
-                    (val) => {
-                      sumTotalFee();
-                    }
-                  "
-                />
+                <el-input v-model="scope.row.foodallowance" placeholder="浼欓璐硅ˉ鍔�" @blur="(val) => {
+                  sumTotalFee();
+                }
+                  " />
               </template>
             </el-table-column>
-            <el-table-column
-              prop="foodallowance"
-              label="浼欓璐硅ˉ鍔�"
-              align="center"
-              width="100"
-            >
+            <el-table-column prop="otherexpense" label="鍏潅璐硅ˉ鍔�" align="center" width="80">
               <template slot-scope="scope">
-                <el-input
-                  v-model="scope.row.foodallowance"
-                  placeholder="浼欓璐硅ˉ鍔�"
-                  @blur="
-                    (val) => {
-                      sumTotalFee();
-                    }
-                  "
-                />
+                <el-input v-model="scope.row.otherexpense" placeholder="鏉傝垂" @blur="(val) => {
+                  sumTotalFee();
+                }
+                  " />
               </template>
             </el-table-column>
-            <el-table-column
-              prop="otherfeeamount"
-              label="鍏朵粬璐圭敤"
-              align="center"
-              width="90"
-            >
+
+            <el-table-column prop="otherfeeamount" label="鍏朵粬璐圭敤" align="center" width="90">
               <template slot-scope="scope">
-                <el-input
-                  v-model="scope.row.otherfeeamount"
-                  placeholder="鍏朵粬璐圭敤"
-                  @blur="
-                    (val) => {
-                      sumTotalFee();
-                    }
-                  "
-                />
+                <el-input v-model="scope.row.otherfeeamount" placeholder="鍏朵粬璐圭敤" @blur="(val) => {
+                  sumTotalFee();
+                }
+                  " />
               </template>
             </el-table-column>
-            <el-table-column
-              prop="departure"
-              slot=""
-              label="鍏朵粬璐圭敤璇存槑"
-              align="center"
-              width="120"
-            >
+            <el-table-column prop="departure" slot="" label="鍏朵粬璐圭敤璇存槑" align="center" width="120">
               <template slot-scope="scope">
-                <el-input
-                  v-model="scope.row.otherfeedesc"
-                  placeholder="鍏朵粬璐圭敤璇存槑"
-                />
+                <el-input v-model="scope.row.otherfeedesc" placeholder="鍏朵粬璐圭敤璇存槑" />
               </template>
             </el-table-column>
-            <el-table-column
-              prop="total"
-              label="鍚堣"
-              align="center"
-              width="110"
-            >
+
+            <el-table-column prop="total" label="鍚堣" align="center" width="110">
               <template slot-scope="scope">
                 <el-input v-model="scope.row.total" placeholder="鍚堣" />
               </template>
             </el-table-column>
-            <el-table-column
-              fixed="right"
-              label="鎿嶄綔"
-              align="center"
-              width="120"
-              v-if="dialogType == 'edit'"
-            >
+            <el-table-column fixed="right" label="鎿嶄綔" align="center" 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="
-                    deleteRow(scope.$index, applicationDetailArr, scope.row)
-                  "
-                  type="text"
-                  size="small"
-                >
+                <el-button type="text" size="mini" @click="addDetailRow(scope.$index)">鏂板</el-button>
+                <el-button @click.native.prevent="deleteDetailRow(scope.$index, rbDetails, scope.row)
+                  " type="text" size="small">
                   鍒犻櫎
                 </el-button>
               </template>
             </el-table-column>
           </el-table>
         </el-row>
-        <el-row style="margin-top: 10px">
-          <el-col :span="7">
-            <el-form-item label="鎶ラ攢鍚堣" prop="amountrequested">
-              <el-input v-model="form.amountrequested" placeholder="鎶ラ攢鍚堣" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="澶у啓" prop="bigstrmoney">
-              <el-input v-model="form.bigstrmoney" placeholder="棰嗘閲戦" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="7">
-            <el-form-item label="棰嗘閲戦" prop="amountrequested">
-              <el-input v-model="form.amountrequested" placeholder="棰嗘閲戦" />
-            </el-form-item>
-          </el-col>
+        <el-row>
+          <el-col :span="20">鎶ラ攢璇锋鏄庣粏锛�</el-col>
         </el-row>
+        <el-row style="margin-top: 30px">
+          <el-table :data="rbPayees" border highlight-current-row>
+            <el-table-column prop="orderno" slot="" label="搴忓彿" align="center" fixed width="65">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.orderno" placeholder="搴忓彿" />
+              </template>
+            </el-table-column>
+
+            <!--涓婚敭銆佸閿笉灞曠ず-->
+            <el-table-column prop="id" slot="" label="涓婚敭" align="center" fixed width="95" v-if="false">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.id" placeholder="id" />
+              </template>
+            </el-table-column>
+            <el-table-column prop="rbid" slot="" label="澶栭敭" align="center" fixed width="95" v-if="false">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.rbid" placeholder="rbid" />
+              </template>
+            </el-table-column>
+
+            <el-table-column prop="persontype" slot="" label="浜哄憳绫诲埆" align="center" fixed width="130">
+              <template slot-scope="scope">
+                <el-select v-model="scope.row.persontype" value-key="value" placeholder="浜哄憳绫诲埆"
+                  @change="getPersons(scope.row)">
+                  <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label"
+                    :value="dict.label"></el-option>
+                </el-select>
+              </template>
+            </el-table-column>
+            <el-table-column prop="personname" slot="" label="鏀舵浜�" align="center" fixed width="110">
+              <template slot-scope="scope">
+                <el-select v-model="scope.row.personname" clearable filterable allow-create ref="getReportname"
+                  default-first-option placeholder="璇烽�夋嫨" @change="getAccountinfo2(scope.row, scope.row.persontype)">
+                  <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName"
+                    :value="item.reportName">
+                  </el-option>
+                </el-select>
+              </template>
+            </el-table-column>
+            <el-table-column prop="bankname" slot="" label="閾惰鍚嶇О" align="center" fixed width="200">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.bankname" placeholder="閾惰鍚嶇О" />
+              </template>
+            </el-table-column>
+            <el-table-column prop="bankcardno" slot="" label="閾惰鍗″彿" align="center" fixed width="200">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.bankcardno" placeholder="閾惰鍗″彿" />
+              </template>
+            </el-table-column>
+            <el-table-column prop="amount" slot="" label="鎵撴閲戦" align="center" fixed width="130">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.amount" placeholder="鎵撴閲戦" />
+              </template>
+            </el-table-column>
+            <el-table-column prop="remark" slot="" label="璇锋璇存槑" align="center" fixed width="280">
+              <template slot-scope="scope">
+                <el-input v-model="scope.row.remark" placeholder="璇存槑" />
+              </template>
+            </el-table-column><el-table-column prop="paiddate" slot="" label="鎵撴鏃ユ湡" fixed align="center" width="150">
+              <template slot-scope="scope">
+                <el-date-picker clearable size="small" style="width: 100%" v-model="scope.row.paiddate" type="date"
+                  value-format="yyyy-MM-dd HH:mm:ss" placeholder="鎵撴鏃ユ湡" :disabled="true" @blur="getallowance(scope.row)">
+                </el-date-picker>
+              </template>
+            </el-table-column>
+            <el-table-column label="鎿嶄綔" align="center" width="100" v-if="dialogType == 'edit'">
+              <template slot-scope="scope">
+                <el-button type="text" size="mini" @click="addPayeeRow(scope.$index)">鏂板</el-button>
+                <el-button @click.native.prevent="deletePayeeRow(scope.$index, rbPayees, scope.row)
+                  " type="text" size="small">
+                  鍒犻櫎
+                </el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+
+        </el-row>
+
+        <!--
         <el-row>
           <el-col :span="7">
-            <el-form-item label="寮�鎴烽摱琛�" prop="depositbank">
-              <el-input v-model="form.depositbank" placeholder="寮�鎴烽摱琛�" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8">
-            <el-form-item label="閾惰璐﹀彿" prop="bankcardno">
-              <el-input v-model="form.bankcardno" placeholder="寮�鎴烽摱琛�" />
+            <el-form-item label="涓績璐熻矗浜�" prop="opochecker">
+              <el-input v-model="form.opochecker" placeholder="涓績璐熻矗浜�" />
             </el-form-item>
           </el-col>
           <el-col :span="7">
-            <el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
-              <el-input v-model="form.phone" placeholder="鑱旂郴鐢佃瘽" />
+            <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-row>
-        <el-col :span="7">
-          <el-form-item label="涓績璐熻矗浜�" prop="opochecker">
-            <el-input v-model="form.opochecker" placeholder="涓績璐熻矗浜�" />
-          </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-row>
           <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="璐㈠姟閮ㄤ富浠�" prop="financedirector">
-              <el-input
-                v-model="form.financedirector"
-                placeholder="璐㈠姟閮ㄤ富浠�"
-              />
+              <el-input v-model="form.officedirector" placeholder="鍔炲叕瀹や富浠�" />
             </el-form-item>
           </el-col>
           <el-col :span="7">
-            <el-form-item label="瀹℃牳鐘舵��" prop="flowlevel">
-              <el-select
-                v-model="form.recordstatus"
-                placeholder="璇烽�夋嫨瀹℃牳鐘舵��"
-                clearable
-                :disabled="true"
-                size="small"
-              >
-                <el-option
-                  v-for="dict in dict.type.sys_recordstatus"
-                  :key="dict.value"
-                  :label="dict.label"
-                  :value="dict.value"
-                />
-              </el-select>
+            <el-form-item label="璐㈠姟閮ㄤ富浠�" prop="financedirector">
+              <el-input v-model="form.financedirector" placeholder="璐㈠姟閮ㄤ富浠�" />
             </el-form-item>
           </el-col>
         </el-row>
+                                                                                                -->
         <el-row>
-          <el-col :span="24">
-            <!-- <el-form-item label="鏂囦欢鍦板潃" prop="fileurl">
+          <el-col :span="14">
+            <!--
+          <el-form-item label="鏂囦欢鍦板潃" prop="fileurl">
               <el-input v-model="form.fileurl" placeholder="璇疯緭鍏ユ枃浠跺湴鍧�" />
-            </el-form-item> -->
+          </el-form-item>
+                                                                                              -->
             <el-form-item label="鏂囦欢涓婁紶" align="left" prop="annexfiles">
               <!-- <file-upload ref="fileUpload" :fileType=fileType :limit="1" :on-success="handleUploadSuccess"></file-upload> -->
-              <el-upload
-                size="mini"
-                class="upload-demo"
-                :action="uploadFileUrl"
-                :file-list="fileList"
-                multiple
-                :limit="5"
-                :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 size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple :limit="5"
+                :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>
             </el-form-item>
           </el-col>
         </el-row>
-
         <el-row v-if="dialogType == 'detail'">
           <el-table :data="fundflowList" border>
-            <el-table-column
-              label="瀹℃牳浜�"
-              align="center"
-              width="120"
-              prop="checkusername"
-            />
-            <el-table-column
-              label="瀹℃牳鏃ユ湡"
-              align="center"
-              width="160"
-              prop="createTime"
-            />
-            <el-table-column
-              label="瀹℃牳缁撴灉"
-              align="center"
-              width="200"
-              prop="flowconclusion"
-              ><template slot-scope="scope"
-                ><span v-if="scope.row.flowconclusion == 1">閫氳繃</span
-                ><span v-if="scope.row.flowconclusion == 2"
-                  >涓嶉�氳繃</span
-                ></template
-              >
+            <el-table-column label="瀹℃牳浜�" align="center" width="120" prop="checkusername" />
+            <el-table-column label="瀹℃牳鏃ユ湡" align="center" width="160" prop="createTime" />
+            <el-table-column label="瀹℃牳缁撴灉" align="center" width="200" prop="flowconclusion"><template
+                slot-scope="scope"><span v-if="scope.row.flowconclusion == 1">閫氳繃</span><span
+                  v-if="scope.row.flowconclusion == 2">涓嶉�氳繃</span></template>
             </el-table-column>
-            <el-table-column
-              label="瀹℃牳澶囨敞"
-              align="center"
-              prop="flowcontent"
-            />
+            <el-table-column label="瀹℃牳澶囨敞" align="center" prop="flowcontent" />
           </el-table>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button
-          type="primary"
-          @click="submitForm"
-          v-if="dialogType == 'edit'"
-          >淇� 瀛�</el-button
-        >
+        <el-button type="primary" @click="submitForm" v-if="dialogType == 'edit'">淇� 瀛�</el-button>
         <el-button @click="cancel">鍙� 娑�</el-button>
       </div>
     </el-dialog>
@@ -899,6 +607,7 @@
 
 <script>
 import { listDonatebaseinfo } from "@/api/project/donatebaseinfo";
+import { listReimbursementpayee, addReimbursementpayee, updateReimbursementpayee } from "@/api/project/reimbursementpayee";
 import {
   listReimbursement,
   getReimbursement,
@@ -907,32 +616,24 @@
   updateReimbursement,
   exportReimbursement,
   getdownload,
-  //鑾峰彇鍦板競瀵瑰簲鍩哄噯閲戦
-  getstandardRMB,
   fundSubmit,
 } from "@/api/project/reimbursement";
-import { regionDataPlus, CodeToText } from "element-china-area-data";
 import {
   addReimbursementdetail,
   updateReimbursementdetail,
   listReimbursementdetailid,
   getReimbursementdetaillist,
   delReimbursementdetail,
-  delReimbursementdetailrbid,
+  addOrupdateReimbursementdetaillist,
   getTravelStandard,
 } from "@/api/project/reimbursementdetail";
-
+import { listFundflow } from "@/api/project/fundflow";
 import { getInfoBytheUserNo } from "@/api/project/externalperson";
-
+import { regionDataPlus, CodeToText } from "element-china-area-data";
 import Li_area_select from "@/components/Address";
 import { getUserProfile } from "@/api/system/user";
-import {
-  listOrganization,
-  getOrganization,
-  listReportname,
-  listUser,
-} from "@/api/project/organization";
-import { listFundflow } from "@/api/project/fundflow";
+import { getSubsidy } from "@/api/project/travelcity";
+import { listReportname, listUser } from "@/api/project/organization";
 import { getToken } from "@/utils/auth";
 export default {
   components: {
@@ -946,16 +647,30 @@
     "sys_financeitemtype",
     "sys_recordstatus",
     "sys_travelexpensebelong",
+    "sys_traffictype",
+    "sys_area_name",
+    "sys_traffictype"
   ],
   data() {
     return {
-      reporters: [],
-      travelers: [],
+      //OPO鍗忚皟鍛�
+      personsXty: [],
+      //OPO涓撹亴浜哄憳
+      personsZzry: [],
+      //OPO绠$悊浜哄憳
+      personsManager: [],
+      //OPO涓撳
+      personsExpert: [],
+      //鍏ㄩ儴浜哄憳
+      personsList: [],
+      //涓嬫媺鍙互閫夋嫨浜哄憳鍒楄〃  
+      personsSel: [],
+
       costtypeobj: {
         value: 0,
         label: "",
       },
-      userlist: [],
+
       options: regionDataPlus,
       selectedOptions: [],
       searchAddress: {
@@ -994,11 +709,20 @@
         remark: null,
         departure: null,
         endtime: null,
-        destination: null,
+        destination2: null,
         uploadFlag: null,
         uploadTime: null,
-        orderByColumn: "createTime",
+        // orderByColumn: "createTime",
+        orderByColumn: "id",
         isAsc: "desc",
+      },
+      queryParams2: {
+        persontype: null,
+        arriveAddr: null,
+      },
+      //鏌ヨ浠樻
+      queryParamsPayee: {
+        rbid: null,
       },
       // 琛ㄥ崟鍙傛暟
       form: {},
@@ -1009,7 +733,13 @@
           { required: true, message: "璇烽�夋嫨鎶ラ攢褰掔被", trigger: "blur" },
         ],
         username: [
-          { required: true, message: "璇疯緭鍏ユ姤閿�浜�", trigger: "blur" },
+          { required: true, message: "璇烽�夋嫨濉姤浜�", trigger: "blur" },
+        ],
+        travelers: [
+          { required: true, message: "璇烽�夋嫨鎶ラ攢浜�", trigger: "blur" },
+        ],
+        reason: [
+          { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" },
         ],
       },
       //璐圭敤鐢宠鍗昮orm
@@ -1019,59 +749,75 @@
         donorname: null,
         bigstrmoney: null,
       },
-      applicationDetailArr: [],
+
+      rbDetails: [],
+      rbPayees: [],
       arrr2: [],
       baselist: [],
-      balist: [],
+      donatorList: [],
       standardlevel: 0,
       defaultperson: {},
       fundflowList: [],
       showApproveRecordDialog: false,
       dialogType: "edit",
-       uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
-         //鏂囦欢鍒楄〃
+
+      //涓婁紶鍙戠エ鏂囦欢璺緞
+      uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
+      //鏂囦欢鍒楄〃
       fileList: [],
-        headers: {
+      //浜哄憳绫诲埆
+      persontype: null,
+      //鍒拌揪鍦�
+      arriveAddr: null,
+
+      headers: {
         Authorization: "Bearer " + getToken(),
       },
     };
   },
+
   created() {
+    //鑾峰彇璁板綍鍒楄〃
     this.getList();
-    this.getlistUser();
-    this.selectReporters();
+
+    //鑾峰彇鎶ラ攢涓殑浜哄憳淇℃伅
+    this.getPersonList();
   },
+
   mounted() {
+    //鑾峰彇鎹愮尞鑰呭鍚�
     listDonatebaseinfo().then((res) => {
-      // console.log("base鍩虹琛ㄦ暟鎹�", res.rows);
       let list = res.rows;
       let baseinfolist = [];
-      this.balist = list;
+      this.donatorList = list;
       list.forEach((element) => {
         baseinfolist.push({
           infoid: element.id,
           name: element.name,
         });
       });
-      // console.log("缁勫悎鐨勬柊鏁扮粍", baseinfolist);
+
       if (baseinfolist != 0) {
         this.baselist = baseinfolist;
-        // console.log("11111111", this.baselist);
       }
     });
+
+    //鑾峰彇鐧诲綍鑰呬俊鎭�
     this.getUsermsg();
   },
+
   methods: {
-    handleUploadError() {},
+    handleUploadError() { },
+
     remove(file) {
-     
-      this.fileList.splice(this.fileList.indexOf(file),1)
-      
+      this.fileList.splice(this.fileList.indexOf(file), 1)
     },
-       handleExceed() {
+
+    handleExceed() {
       this.$message.error(`涓婁紶鏂囦欢鏁伴噺涓嶈兘瓒呰繃 ${5} 涓�!`);
     },
-     //鏂囦欢涓婁紶鎴愬姛鍥炶皟
+
+    //鏂囦欢涓婁紶鎴愬姛鍥炶皟
     uploadSccess(response, file, fileList) {
       //鑾峰彇闄勪欢淇℃伅浣嶇疆
       if (response.code == 200) {
@@ -1082,61 +828,63 @@
       } else {
         this.$modal.msgError(response.msg);
       }
-      //console.log("涓婁紶鏂囦欢鍚庯細" + JSON.stringify(this.fileList));
-    },
-    selectReporters() {
-      //涓撳浜哄憳鍒楄〃
-      let arr = ["xty1", "zzry", "fzr"];
-      let arrreportlist = [];
-      for (let i = 0; i < arr.length; i++) {
-        this.arrr2 = [];
-        listReportname(arr[i]).then((res) => {
-          this.arrr2 = res.data;
-          this.reporters = this.reporters.concat(this.arrr2);
-          // console.log("adadadadasdsad", this.reporters);
-        });
-      }
     },
 
-    //鑾峰彇鍑哄樊浜哄垪琛�
-    getTravelers() {
-      //涓撹亴浜哄憳-1,鍗忚皟鍛�-2,涓撳-3,瀹跺睘-4,鍏朵粬浜哄憳-5
-      let travelertype = "";
-      if (this.form.costtype == 1) {
-        travelertype = "zzry";
-      } else if (this.form.costtype == 2) {
-        travelertype = "xty1";
-      } else if (this.form.costtype == 3) {
-        travelertype = "expert";
-      } else if (this.form.costtype == 4) {
-        travelertype = "jiashu";
-      } else if (this.form.costtype == 5) {
-        travelertype = "fzr";
-      }
-
-      listReportname(travelertype).then((res) => {
-        this.travelers = res.data;
-      });
-    },
-
-    selectcosttype() {
-      this.form.costtype = this.costtypeobj.value;
-      this.form.costtypename = this.costtypeobj.label;
-    },
-
+    //鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
     getUsermsg() {
       getUserProfile().then((response) => {
         this.defaultperson = response.data;
         this.standardlevel = response.data.standardlevel;
       });
     },
-    getlistUser() {
-      listUser().then((res) => {
-        this.userlist = res.data;
+
+    //鑾峰彇浜哄憳鍒楄〃
+    getPersonList() {
+      //鑾峰彇OPO鍗忚皟鍛樺悕鍗�
+      listReportname("xty1").then((res) => {
+        this.personsXty = res.data;
+        this.personsList = this.personsXty;
+
+        //OPO涓撹亴浜哄憳鍚嶅崟
+        listReportname("zzry").then((res) => {
+          this.personsZzry = res.data;
+          this.personsList = this.personsList.concat(this.personsZzry);
+
+          //OPO绠$悊浜哄憳鍚嶅崟
+          listReportname("fzr").then((res) => {
+            this.personsManager = res.data;
+            this.personsList = this.personsList.concat(this.personsManager);
+
+            //OPO涓撳鍚嶅崟
+            listReportname("expert").then((res) => {
+              this.personsExpert = res.data;
+              this.personsList = this.personsList.concat(this.personsExpert);
+            });
+          });
+        });
       });
     },
-    selectedTraveler() {
-      this.travelers.map((res) => {
+
+    //鑾峰彇涓�涓被鍒殑浜哄憳鍒楄〃
+    getPersons(row) {
+      //涓撹亴浜哄憳-1,鍗忚皟鍛�-2,涓撳-3,瀹跺睘-4,鍏朵粬浜哄憳-5
+      let tmpList = null;
+      if (row.persontype == "涓撹亴浜哄憳") {
+        this.personsSel = this.personsZzry;
+      } else if (row.persontype == "鍗忚皟鍛�") {
+        this.personsSel = this.personsXty;
+      } else if (row.persontype == "涓撳") {
+        this.personsSel = this.personsExpert;
+      } else if (row.persontype == "瀹跺睘") {
+        this.personsSel = tmpList;
+      } else if (row.persontype == "绠$悊浜哄憳") {
+        this.personsSel = this.personsManager;
+      }
+    },
+
+    //鑾峰彇璁剧疆浜哄憳璐﹀彿淇℃伅
+    getAccountinfo() {
+      this.coltravelers.map((res) => {
         if (res.reportName == this.form.travelers) {
           getInfoBytheUserNo(res.reportNo).then((res) => {
             this.form.depositbank = res.data.depositbank;
@@ -1145,6 +893,85 @@
           });
         }
       });
+    },
+
+    //鑾峰彇璁剧疆浜哄憳璐﹀彿淇℃伅
+    getAccountinfo2(row, personType) {
+      let dataArr = [];
+      if (personType == '涓撹亴浜哄憳') {
+        dataArr = this.personsZzry;
+      } else if (personType == '鍗忚皟鍛�') {
+        dataArr = this.personsXty;
+      } else if (personType == '涓撳') {
+        dataArr = this.personsExpert;
+      } else if (personType == '绠$悊浜哄憳') {
+        dataArr = this.personsManager;
+      }
+
+      for (let m = 0; m < dataArr.length; m++) {
+        if (dataArr[m].reportName == row.personname) {
+          row.bankname = dataArr[m].depositbank;
+          row.bankcardno = dataArr[m].bankcardno;
+        };
+      }
+    },
+
+    //璁$畻琛ュ姪
+    getallowance(row) {
+      if (
+        row.starttime != "" &&
+        row.starttime != null &&
+        row.endtime != "" &&
+        row.endtime != null
+      ) {
+        //璁$畻澶╂暟
+        row.days = 1 + Math.floor(Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) / (1099 * 3699 * 24))
+
+        /*let aDate, oDate1, oDate2, Date_end,Date_start;
+        Date_end = row.endtime.split(" "); //灏嗘椂闂翠互绌烘牸鍒掑垎涓轰袱涓暟缁�  绗竴涓暟缁勬槸 2019-05-20 绗簩涓暟缁勬槸 00锛�00锛�00
+        aDate = Date_end[0].split("-"); //鑾峰彇绗竴涓暟缁勭殑鍊�
+        oDate1 = new Date(aDate[0], aDate[1], aDate[2]);  //灏嗗墠鍗婁釜鏁扮粍浠�-鎷嗗垎锛屾瘡涓�涓槸涓�涓暟鍊�
+
+        Date_start = row.starttime.split(" ");
+        aDate = Date_start[0].split("-");
+        oDate2 = new Date(aDate[0], aDate[1], aDate[2]);
+        row.days = 1+parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24);    //鎶婄浉宸殑姣鏁拌浆鎹负澶╂暟
+        */
+      } else {
+        row.days = ''
+      };
+
+      //鍏潅璐硅ˉ鍔╋細鏉窞妗愬簮锛屽缓寰凤紝娣冲畨60锛屾澀宸炲叾浠栧湴鍖�0锛岄潪鏉窞鍦板尯80
+      if (row.destination2 != "") {
+        var str = row.destination2;
+        //楠岃瘉鍩庡競
+        ////if (str.indexOf("妗愬簮锛屽缓寰凤紝娣冲畨") !== -1) { };
+        if (str.includes("鏉窞")) { row.otherexpense = parseInt(row.days) * 0 }
+        else if (str.includes("妗愬簮") || str.includes("寤哄痉") || str.includes("娣冲畨")) { row.otherexpense = parseInt(row.days) * 60 }
+        else { row.otherexpense = parseInt(row.days) * 80 };
+      }
+
+      //浼欓璐硅ˉ鍔╋細鍩庡競锛堣タ钘忥紝鏂扮枂锛岄潚娴�.120锛夛紙鍏朵粬100锛�
+      row.foodallowance = parseInt(row.days) * 100
+
+      //璁$畻鍚堣
+      this.sumTotalFee();
+    },
+
+    getallowance2(row, val2) {
+      // this.getallowance(row);
+      this.arriveAddr = val2;
+      this.queryParams2.arriveAddr;
+      this.queryParams2.personType = row;
+      if (row.persontype != undefined && row.persontype == "鍗忚皟鍛�" || row.persontype == "绠$悊浜哄憳") {
+        this.loading = true;
+        getSubsidy(val2).then((response) => {
+          this.loading = false;
+          row.otherexpense = response.data.others;
+          row.foodallowance = response.data.food;
+        });
+
+      }
     },
 
     getStandard(row) {
@@ -1180,6 +1007,7 @@
           });
       }
     },
+
     selcetdestination(row) {
       console.log("鐩殑鍦伴�夋嫨浜嬩欢", row, row.searchAddress);
       //row.searchAddress = this.searchAddress;
@@ -1188,7 +1016,7 @@
         row.searchAddress.shi != "" &&
         row.searchAddress.qu != ""
       ) {
-        row.destination =
+        row.destination2 =
           row.searchAddress.sheng +
           row.searchAddress.shi +
           row.searchAddress.qu;
@@ -1232,20 +1060,22 @@
       }
       return area;
     },
+
+    //鑾峰彇鎹愮尞鑰呭熀鏈俊鎭細鎹愮尞缂栧彿銆佹崘鐚�呭鍚�
     selectbaseinfo() {
-      console.log("infoid", this.form.infoid);
-      let list = this.balist;
+      let list = this.donatorList;
       list.forEach((item) => {
         if (item.id == this.form.infoid) {
-          //  console.log('鐩稿悓鐨�',item.id,item)
           this.form.donorno = item.donorno;
           this.form.donorname = item.name;
         }
       });
     },
+
     onpick(e) {
       // console.log(e,this.value1)
     },
+
     gettable(e) {
       const id = e.id;
       getdownload(e.id).then((res) => {
@@ -1274,24 +1104,24 @@
       //   aEle.click();
       // });
     },
+
     /** 鏌ヨ鎶ラ攢鐢宠鍒楄〃 */
     getList() {
       this.loading = true;
       listReimbursement(this.queryParams).then((response) => {
-        console.log("宸梾璐规暟鎹垪琛�:", response);
         this.reimbursementList = response.rows;
         this.total = response.total;
         this.loading = false;
+
       });
     },
     // 鍙栨秷鎸夐挳
     cancel() {
       this.open = false;
-      
+
     },
     // 琛ㄥ崟閲嶇疆
     reset() {
-     
       this.fileList = []
       this.form = {
         ceshi: {},
@@ -1337,25 +1167,25 @@
         costtype: null,
         costtypename: null,
       };
-      this.applicationDetailArr = [];
+      this.rbDetails = [];
+      this.rbPayees = [];
       this.resetForm("form");
     },
     //
     handup(e) {
       console.log("涓婃姤", e);
     },
+
     // 涓嬭浇鏂囦欢
     downFile(item) {
-    
       const url = process.env.VUE_APP_BASE_API + item.url
-        var a = document.createElement('a');
-                    var event = new MouseEvent('click');
-                    a.download = item.name;
-                    a.href = url;
-                    a.dispatchEvent(event);
-             
-
+      var a = document.createElement('a');
+      var event = new MouseEvent('click');
+      a.download = item.name;
+      a.href = url;
+      a.dispatchEvent(event);
     },
+
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
       // console.log('pop',this.value1)
@@ -1370,6 +1200,7 @@
       this.queryParams.pageNum = 1;
       this.getList();
     },
+
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
       this.resetForm("queryForm");
@@ -1381,56 +1212,83 @@
       this.single = selection.length !== 1;
       this.multiple = !selection.length;
     },
+
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
       this.reset();
+      
+      this.open = true;
+      this.title = "鏂板鎶ラ攢鐢宠";
       this.dialogType = "edit";
       this.fundflowList = [];
       this.form.username = this.defaultperson.nickName;
       this.form.userno = this.defaultperson.userName;
-      this.addRow();
-      this.open = true;
-      this.title = "娣诲姞鎶ラ攢鐢宠";
+      this.addDetailRow(0);
+      this.addPayeeRow(0);
     },
+
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
-     this.dialogType = "edit";
+      this.dialogType = "edit";
       this.reset();
+      this.open = true;
+      this.title = "淇敼鎶ラ攢鐢宠";
+
+      //鑾峰彇鎶ラ攢涓讳俊鎭�
       const id = row.id || this.ids;
       getReimbursement(id).then((response) => {
         this.form = response.data;
-        this.fileList = this.form.annexfiles ? this.form.annexfiles.split(",").map(item => ({url: item, name: item } )) : []
+        this.fileList = this.form.annexfiles ? this.form.annexfiles.split(",").map(item => ({ url: item, name: item })) : []
         this.form.recordstatus = response.data.recordstatus + "";
-        this.open = true;
-        this.title = "淇敼鎶ラ攢鐢宠";
-        let ids = response.data.id;
 
+
+        let ids = response.data.id;
+        //鑾峰彇鎶ラ攢鏄庣粏淇℃伅
         getReimbursementdetaillist(ids).then((res) => {
-          this.applicationDetailArr = res.data;
-          for (let i = 0; i < this.applicationDetailArr.length; i++) {
-            this.applicationDetailArr[i].index = i;
-            this.applicationDetailArr[i].searchAddress = {
-              sheng: this.applicationDetailArr[i].travelprovincename,
-              shi: this.applicationDetailArr[i].travelcityname,
-              qu: this.applicationDetailArr[i].traveltownname,
+          this.rbDetails = res.data;
+          if (this.rbDetails.length==0) {this.addDetailRow(0);}  
+          //瑙f瀽鍑哄樊鍦板潃
+          /*
+          for (let i = 0; i < this.rbDetails.length; i++) {
+            this.rbDetails[i].index = i;
+            this.rbDetails[i].searchAddress = {
+              sheng: this.rbDetails[i].travelprovincename,
+              shi: this.rbDetails[i].travelcityname,
+              qu: this.rbDetails[i].traveltownname,
             };
           }
-          this.sumTotalFee();
+          */
+          //瀹炴椂鍚堣閲戦
+          //this.sumTotalFee();
+        });
+
+        //鑾峰彇鎶ラ攢鎵撴淇℃伅
+        this.queryParamsPayee.rbid=ids;
+        listReimbursementpayee(this.queryParamsPayee).then((res) => {
+          this.rbPayees = res.rows;
+          if (this.rbPayees.length==0) {this.addPayeeRow(0);}      
         });
       });
     },
+
     /** 鏌ョ湅鎸夐挳鎿嶄綔 */
     handleDetail(row) {
       this.dialogType = "detail";
-      this.reset();
+      this.title = "鏌ョ湅鎶ラ攢鐢宠";
+
+      this.reset(); 
+      this.open = true;
       const id = row.id || this.ids;
+
+
       getReimbursement(id).then((response) => {
         this.form = response.data;
-        this.fileList = this.form.annexfiles ? this.form.annexfiles.split(",").map(item => ({url: item, name: item } )) : []
-       
+        //闄勪欢
+        this.fileList = this.form.annexfiles ? this.form.annexfiles.split(",").map(item => ({ url: item, name: item })) : []
+
+        //瀹℃牳鐘舵��
         this.form.recordstatus = response.data.recordstatus + "";
-        this.open = true;
-        this.title = "鏌ョ湅鎶ラ攢鐢宠";
+
         let ids = response.data.id;
         let listFundflowparams = {
           fundid: row.id,
@@ -1439,133 +1297,168 @@
         listFundflow(listFundflowparams).then((res) => {
           this.fundflowList = res.rows;
         });
+        //鎶ラ攢鏄庣粏
         getReimbursementdetaillist(ids).then((res) => {
-          this.applicationDetailArr = res.data;
-          for (let i = 0; i < this.applicationDetailArr.length; i++) {
-            this.applicationDetailArr[i].index = i;
-            this.applicationDetailArr[i].searchAddress = {
-              sheng: this.applicationDetailArr[i].travelprovincename,
-              shi: this.applicationDetailArr[i].travelcityname,
-              qu: this.applicationDetailArr[i].traveltownname,
+          this.rbDetails = res.data;
+          for (let i = 0; i < this.rbDetails.length; i++) {
+            this.rbDetails[i].index = i;
+            this.rbDetails[i].searchAddress = {
+              sheng: this.rbDetails[i].travelprovincename,
+              shi: this.rbDetails[i].travelcityname,
+              qu: this.rbDetails[i].traveltownname,
             };
           }
           //this.sumTotalFee();
         });
+
+        //璐︽埛        
+        this.queryParamsPayee.rbid=ids;
+        listReimbursementpayee(this.queryParamsPayee).then((res) => {
+          this.rbPayees = res.rows;
+          if (this.rbPayees.length==0) {this.addPayeeRow(0);}      
+        });
+
       });
     },
+
     /** 鎻愪氦鎸夐挳 */
     submitForm() {
       this.$refs["form"].validate((valid) => {
         if (valid) {
-          let indexErrTime = this.applicationDetailArr.findIndex((item) => {
-            if (item.endtime && item.starttime) {
-              let d = this.$moment(item.endtime).diff(
-                this.$moment(item.starttime),
-                "d"
-              );
-              if (d < 0) {
-                return true;
-              } else {
-                return false;
-              }
-            } else {
-              false;
-            }
-          });
+          /**
+           let indexErrTime = this.rbDetails.findIndex((item) => {
+             if (item.endtime && item.starttime) {
+               let d = this.$moment(item.endtime).diff(this.$moment(item.starttime), "d");
+               if (d < 0) {
+                 return true;
+               } else {
+                 return false;
+               }
+             } else {
+               false;
+             }
+           });
+          
+           if (indexErrTime > -1) {
+             this.$message({
+               message: "绗�" + (indexErrTime + 1) + "琛屽埌杈炬棩鏈熸棭浜庡嚭鍙戞棩鏈�",
+               type: "warning",
+             });
+             return;
+           }
+  
+           let emptyStartTimeindex = this.rbDetails.findIndex(
+             (item) => item.starttime == null || item.starttime == undefined || item.starttime == ""
+           );
+  
+           if (emptyStartTimeindex > -1) {
+             this.$message({
+               message: "绗�" + (emptyStartTimeindex + 1) + "琛屽嚭鍙戞棩鏈熶负绌�",
+               type: "warning",
+             });
+             return;
+           }
+  
+           let emptyEndTimeindex = this.rbDetails.findIndex(
+             (item) => item.endtime == null || item.endtime == undefined || item.endtime == ""
+           );
+  
+           if (emptyEndTimeindex > -1) {
+             this.$message({
+               message: "绗�" + (emptyEndTimeindex + 1) + "琛屽埌杈炬棩鏈熶负绌�",
+               type: "warning",
+             });
+             return;
+           }           
 
-          if (indexErrTime > -1) {
-            this.$message({
-              message: "绗�" + (indexErrTime + 1) + "琛屽埌杈炬棩鏈熸棭浜庡嚭鍙戞棩鏈�",
-              type: "warning",
-            });
-            return;
-          }
-
-          let emptyStartTimeindex = this.applicationDetailArr.findIndex(
-            (item) =>
-              item.starttime == null ||
-              item.starttime == undefined ||
-              item.starttime == ""
-          );
-
-          if (emptyStartTimeindex > -1) {
-            this.$message({
-              message: "绗�" + (emptyStartTimeindex + 1) + "琛屽嚭鍙戞棩鏈熶负绌�",
-              type: "warning",
-            });
-            return;
-          }
-
-          let emptyEndTimeindex = this.applicationDetailArr.findIndex(
-            (item) =>
-              item.endtime == null ||
-              item.endtime == undefined ||
-              item.endtime == ""
-          );
-
-          if (emptyEndTimeindex > -1) {
-            this.$message({
-              message: "绗�" + (emptyEndTimeindex + 1) + "琛屽埌杈炬棩鏈熶负绌�",
-              type: "warning",
-            });
-            return;
-          }
-
+          //璐圭敤褰掑睘
           let belongArr = this.dict.type.sys_travelexpensebelong;
           let costtypeindex = belongArr.findIndex(
             (item) => this.form.costtype == item.value
           );
-           let list = this.fileList;
-          if (list.length > 0) {
-            this.form.annexfiles = list.map(item => item.url).join(",");
-          }
           if (costtypeindex > -1) {
             this.form.costtypename = belongArr[costtypeindex].label;
           }
+          */
+
+          //闄勪欢鏂囦欢澶勭悊
+          let list = this.fileList;
+          if (list.length > 0) {
+            this.form.annexfiles = list.map(item => item.url).join(",");
+          }
+
+          //鏍¢獙璇锋閲戦鍚堣鏄惁绛変簬鎶ラ攢鍗曢噾棰�
+          if (this.form.amountrequested != this.rbPayees.reduce((amount, item) => amount + Number(item.amount), 0.0)) {
+            this.$message({
+              message: "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛�",
+              type: "warning",
+            });
+            return;
+          }
+
+          const rbDetails = [...this.rbDetails]
+          const rbPayees = [...this.rbPayees]
           if (this.form.id != null) {
-            updateReimbursement(this.form).then((response) => {
-              // console.log('鏇存柊涓昏〃鐨勪俊鎭�',response);
-              for (let i = 0; i < this.applicationDetailArr.length; i++) {
-                if (this.applicationDetailArr[i].rbid != null) {
-                  updateReimbursementdetail(this.applicationDetailArr[i]);
+            updateReimbursement(this.form).then((res) => {
+              //淇濆瓨鏄庣粏
+              for (let i = 0; i < rbDetails.length; i++) {
+                if (rbDetails[i].rbid != null) {
+                  updateReimbursementdetail(rbDetails[i]);
                 } else {
-                  this.applicationDetailArr[i].rbid = this.form.id;
-                  addReimbursementdetail(this.applicationDetailArr[i]);
+                  //rbid鍏宠仈涓昏〃Id
+                  rbDetails[i].rbid = this.form.id;
+                  addReimbursementdetail(rbDetails[i]);
                 }
               }
-              this.$modal.msgSuccess("淇敼鎴愬姛");
-              this.open = false;
-              this.getList();
-            });
-          } else {
-            this.form.recordstatus = -1;
-            const applicationDetailArr = [...this.applicationDetailArr]
-            addReimbursement(this.form).then((response) => {
-              this.$modal.msgSuccess("鏂板鎴愬姛");
-              this.open = false;
-              this.getList();
-              console.log(
-                "涓昏〃鏂板鎴愬姛浜嗭細",
-                response,
-                this.applicationDetailArr
-              );
-              listReimbursementdetailid().then((res) => {
-                let id = res.data;
-                for (let i = 0; i < applicationDetailArr.length; i++) {
-                  applicationDetailArr[i].rbid = id;
-               
-                  addReimbursementdetail(applicationDetailArr[i]);
-                }
-                console.log("idaaaaaa:", res,id,this.applicationDetailArr);
-              });
-              //details鏂板
 
-              // applicationDetailArr
+              //淇濆瓨璐︽埛
+              for (let i = 0; i < rbPayees.length; i++) {
+                if (rbPayees[i].rbid != null) {
+                  updateReimbursementpayee(rbPayees[i]);
+                } else {
+                  //rbid鍏宠仈涓昏〃Id
+                  rbPayees[i].rbid = this.form.id;
+                  addReimbursementpayee(rbPayees[i]);
+                }
+              }
+
+              this.$modal.msgSuccess("淇敼鎶ラ攢鍗曚繚瀛樻垚鍔�!");
+              this.open = false;
+              this.getList();
+
+            }).catch(err => {
+              this.$modal.msgError("淇敼鎶ラ攢鍗曚繚瀛樺け璐ワ紒");
+            });
+          }
+          else {
+            this.form.recordstatus = -1;
+            addReimbursement(this.form).then((response) => {
+              //淇濆瓨鏄庣粏
+              for (let i = 0; i < rbDetails.length; i++) {
+                //rbid鍏宠仈涓昏〃Id
+                rbDetails[i].rbid = response.data;
+                addReimbursementdetail(rbDetails[i]);
+              }
+
+              //淇濆瓨璐﹀彿
+              for (let i = 0; i < rbPayees.length; i++) {
+                //rbid鍏宠仈涓昏〃Id
+                rbPayees[i].rbid = response.data;
+                addReimbursementpayee(rbPayees[i]);
+              }
+
+              this.$modal.msgSuccess("鏂板鎶ラ攢鍗曚繚瀛樻垚鍔�!");
+              this.open = false;
+              this.getList();
+
+            }).catch(err => {
+              this.$modal.msgError("鏂板鎶ラ攢鍗曚繚瀛樺け璐ワ紒");
             });
           }
         }
       });
     },
+
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
       const ids = row.id || this.ids;
@@ -1580,8 +1473,9 @@
           this.getList();
           this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         })
-        .catch(() => {});
+        .catch(() => { });
     },
+
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
       const queryParams = this.queryParams;
@@ -1595,13 +1489,13 @@
           this.$download.name(response.msg);
           this.exportLoading = false;
         })
-        .catch(() => {});
+        .catch(() => { });
     },
 
     //鏂板涓�琛�
-    addRow(rowIndex) {
+    addDetailRow(rowIndex) {
       let rowData = {
-        //index: this.applicationDetailArr.length,
+        //index: this.rbDetails.length,
         searchAddress: {
           sheng: "",
           shi: "",
@@ -1612,7 +1506,7 @@
         starttime: null,
         departure: null,
         endtime: null,
-        destination: null,
+        destination2: null,
         days: null,
         trafficexpense: 0,
         traffictype: null,
@@ -1635,18 +1529,44 @@
         uploadTime: null,
         total: 0,
         orderno: null,
+        personname2: null,
+        personname: null,
+        destination: null,
       };
       if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
-        this.applicationDetailArr.push(rowData);
+        this.rbDetails.push(rowData);
       } else {
-        this.applicationDetailArr.splice(rowIndex + 1, 0, rowData);
+        this.rbDetails.splice(rowIndex + 1, 0, rowData);
       }
-      for (let i = 0; i < this.applicationDetailArr.length; i++) {
-        this.applicationDetailArr[i].orderno = i + 1;
+      for (let i = 0; i < this.rbDetails.length; i++) {
+        this.rbDetails[i].orderno = i + 1;
       }
     },
 
-    deleteRow(index, rows, row) {
+    addPayeeRow(rowIndex) {
+      let rowData = {
+        id: null,
+        personType: null,
+        personname: null,
+        bankname: null,
+        bankcardno: null,
+        paiddate: null,
+        remark: null,
+        orderno: null,
+        personname: null,
+        amount: null,
+      };
+      if (rowIndex == undefined || rowIndex == null || rowIndex <= 0) {
+        this.rbPayees.push(rowData);
+      } else {
+        this.rbPayees.splice(rowIndex + 1, 0, rowData);
+      }
+      for (let i = 0; i < this.rbPayees.length; i++) {
+        this.rbPayees[i].orderno = i + 1;
+      }
+    },
+
+    deleteDetailRow(index, rows, row) {
       this.$confirm("鏄惁纭鍒犻櫎?", "鎻愮ず", {
         confirmButtonText: "纭畾",
         cancelButtonText: "鍙栨秷",
@@ -1673,16 +1593,47 @@
         });
     },
 
+    deletePayeeRow(index, rows, row) {
+      this.$confirm("鏄惁纭鍒犻櫎?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "success",
+      })
+        .then(() => {
+          console.log(row);
+          if (row.id !== null) {
+            delReimbursementdetail(row.id).then((res) => {
+              this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+              rows.splice(index, 1);
+              this.recountOrderNo2();
+              // this.sumTotalFee();
+            });
+          } else {
+            rows.splice(index, 1);
+            //this.sumTotalFee();
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+            this.recountOrderNo2();
+          }
+        })
+        .catch(() => {
+          //鍑犵偣鍙栨秷鐨勬彁绀�
+        });
+    },
+    //閲嶆柊璁$畻鎺掑簭
     recountOrderNo() {
-      for (let i = 0; i < this.applicationDetailArr.length; i++) {
-        this.applicationDetailArr[i].orderno = i + 1;
+      for (let i = 0; i < this.rbDetails.length; i++) {
+        this.rbDetails[i].orderno = i + 1;
+      }
+    },
+    //閲嶆柊璁$畻鎺掑簭
+    recountOrderNo2() {
+      for (let i = 0; i < this.rbPayees.length; i++) {
+        this.rbPayees[i].orderno = i + 1;
       }
     },
 
     //涓婃姤
     handleup(row) {
-      console.log("rowrowrowrow", row);
-
       this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", {
         confirmButtonText: "纭畾",
         cancelButtonText: "鍙栨秷",
@@ -1719,74 +1670,69 @@
 
     //璁$畻璐圭敤鍚堣
     sumTotalFee() {
-      // debugger;
       let allSum = 0;
+      //鎹愮尞鑰呭灞炶垂鐢�
+      if (!isNaN(parseFloat(this.form.donoramount))) {
+        allSum += parseFloat(this.form.donoramount);
+      }
+
+      //鎶ラ攢鏄庣粏璐圭敤
       try {
-        for (let i = 0; i < this.applicationDetailArr.length; i++) {
+        for (let i = 0; i < this.rbDetails.length; i++) {
           let totalFee = 0;
           //璁$畻褰撳墠鎶ラ攢鍐呭璐圭敤鍚堣
-          if (!isNaN(parseFloat(this.applicationDetailArr[i].trafficexpense))) {
-            totalFee += parseFloat(this.applicationDetailArr[i].trafficexpense);
+          if (!isNaN(parseFloat(this.rbDetails[i].trafficexpense))) {
+            totalFee += parseFloat(this.rbDetails[i].trafficexpense);
           }
-          if (!isNaN(parseFloat(this.applicationDetailArr[i].cityfee))) {
-            totalFee += parseFloat(this.applicationDetailArr[i].cityfee);
+          if (!isNaN(parseFloat(this.rbDetails[i].cityfee))) {
+            totalFee += parseFloat(this.rbDetails[i].cityfee);
           }
-          if (!isNaN(parseFloat(this.applicationDetailArr[i].hotelexpense))) {
-            totalFee += parseFloat(this.applicationDetailArr[i].hotelexpense);
+          if (!isNaN(parseFloat(this.rbDetails[i].hotelexpense))) {
+            totalFee += parseFloat(this.rbDetails[i].hotelexpense);
           }
-          if (!isNaN(parseFloat(this.applicationDetailArr[i].otherexpense))) {
-            totalFee += parseFloat(this.applicationDetailArr[i].otherexpense);
+          if (!isNaN(parseFloat(this.rbDetails[i].otherexpense))) {
+            totalFee += parseFloat(this.rbDetails[i].otherexpense);
           }
-          if (!isNaN(parseFloat(this.applicationDetailArr[i].foodexpenses))) {
-            totalFee += parseFloat(this.applicationDetailArr[i].foodexpenses);
+          if (!isNaN(parseFloat(this.rbDetails[i].foodexpenses))) {
+            totalFee += parseFloat(this.rbDetails[i].foodexpenses);
           }
-          if (!isNaN(parseFloat(this.applicationDetailArr[i].foodallowance))) {
-            totalFee += parseFloat(this.applicationDetailArr[i].foodallowance);
+          if (!isNaN(parseFloat(this.rbDetails[i].foodallowance))) {
+            totalFee += parseFloat(this.rbDetails[i].foodallowance);
           }
-          if (!isNaN(parseFloat(this.applicationDetailArr[i].otherfeeamount))) {
-            totalFee += parseFloat(this.applicationDetailArr[i].otherfeeamount);
+          if (!isNaN(parseFloat(this.rbDetails[i].otherfeeamount))) {
+            totalFee += parseFloat(this.rbDetails[i].otherfeeamount);
           }
-          this.applicationDetailArr[i].total = parseFloat(totalFee).toFixed(2);
-          this.$set(this.applicationDetailArr, i, this.applicationDetailArr[i]);
-          if (!isNaN(parseFloat(this.applicationDetailArr[i].total))) {
-            allSum += parseFloat(this.applicationDetailArr[i].total);
+          this.rbDetails[i].total = parseFloat(totalFee).toFixed(2);
+          this.$set(this.rbDetails, i, this.rbDetails[i]);
+          if (!isNaN(parseFloat(this.rbDetails[i].total))) {
+            allSum += parseFloat(this.rbDetails[i].total);
           }
         }
+
         this.form.amountrequested = allSum.toFixed(2);
         this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested);
-      } catch {}
+      } catch { }
     },
 
     getDetailArr(rbid) {
       getReimbursementdetaillist(rbid).then((res) => {
-        this.applicationDetailArr = res.data;
-        for (let i = 0; i < this.applicationDetailArr.length; i++) {
-          this.applicationDetailArr[i].index = i;
-          this.applicationDetailArr[i].searchAddress = {
-            sheng: this.applicationDetailArr[i].travelprovincename,
-            shi: this.applicationDetailArr[i].travelcityname,
-            qu: this.applicationDetailArr[i].traveltownname,
+        this.rbDetails = res.data;
+        for (let i = 0; i < this.rbDetails.length; i++) {
+          this.rbDetails[i].index = i;
+          this.rbDetails[i].searchAddress = {
+            sheng: this.rbDetails[i].travelprovincename,
+            shi: this.rbDetails[i].travelcityname,
+            qu: this.rbDetails[i].traveltownname,
           };
         }
         this.sumTotalFee();
       });
     },
 
-    //閲戦澶у啓
+    //閲戦鏁板瓧杞崲鎴愬ぇ鍐�
     convertCurrency(money) {
       //姹夊瓧鐨勬暟瀛�
-      var cnNums = new Array(
-        "闆�",
-        "澹�",
-        "璐�",
-        "鍙�",
-        "鑲�",
-        "浼�",
-        "闄�",
-        "鏌�",
-        "鎹�",
-        "鐜�"
-      );
+      var cnNums = new Array("闆�", "澹�", "璐�", "鍙�", "鑲�", "浼�", "闄�", "鏌�", "鎹�", "鐜�");
       //鍩烘湰鍗曚綅
       var cnIntRadice = new Array("", "鎷�", "浣�", "浠�");
       //瀵瑰簲鏁存暟閮ㄥ垎鎵╁睍鍗曚綅

--
Gitblit v1.9.3