From be47dc22ea72ba989f75419181284dca0021d018 Mon Sep 17 00:00:00 2001
From: heimawl <1785969728@qq.com>
Date: 星期四, 10 八月 2023 11:13:16 +0800
Subject: [PATCH] 11

---
 src/views/project/travelexpenseslist/index.vue | 1647 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 1,189 insertions(+), 458 deletions(-)

diff --git a/src/views/project/travelexpenseslist/index.vue b/src/views/project/travelexpenseslist/index.vue
index 85f18fc..81e70dc 100644
--- a/src/views/project/travelexpenseslist/index.vue
+++ b/src/views/project/travelexpenseslist/index.vue
@@ -1,47 +1,85 @@
-
 <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-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-input
+              v-model="queryParams.username"
+              placeholder="璇疯緭鍏ョ粡鍔炰汉"
+              clearable
+              size="small"
+              @keyup.enter.native="handleQuery"
+            />
           </el-form-item>
         </el-col>
-
-        <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-select>
-          </el-form-item>
-        </el-col>
-      </el-row>
-
-      <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 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-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
           <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-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>
@@ -49,43 +87,98 @@
 
     <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-column type="selection" width="55" align="center" /> -->
-      <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" />
-        </template>
-      </el-table-column>
-      <!--
+    <el-table
+      border
+      v-loading="loading"
+      :data="reimbursementList"
+      @selection-change="handleSelectionChange"
+    >
+      <!-- <el-table-column type="selection" width="55" align="center" /> 
       <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" />
         </template>
       </el-table-column>-->
-      <el-table-column label="鐢宠鏃堕棿" width="120" align="center" prop="createTime">
+      <el-table-column
+        label="鐢宠鏃堕棿"
+        width="150"
+        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><!--
+      <el-table-column
+        label="瀹℃牳鐘舵��"
+        align="center"
+        prop="recordstatus"
+        width="160"
+      >
+        <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="username"
+      />
+      <!--
       <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
+        label="鎶ラ攢閲戦"
+        width="150"
+        align="center"
+        prop="amountrequested"
+      >
       </el-table-column>
-      <el-table-column label="鍑哄樊浜嬬敱" align="center" width="280" prop="reason">
-      </el-table-column>
+      <el-table-column
+        label="鎵�灞炵粍鍒�"
+        width="150"
+        align="center"
+        prop="deptmentname"
+      />
+      <el-table-column
+        label="缁勯暱"
+        width="150"
+        align="center"
+        prop="managername"
+      />
+      <el-table-column label="鍑哄樊浜嬬敱" align="center" prop="reason" />
       <!-- <el-table-column label="鑱旂郴鐢佃瘽" width="120" align="center" prop="phone">
       </el-table-column>
       <el-table-column label="寮�鎴烽摱琛�" width="180" align="center" prop="depositbank">
@@ -94,59 +187,151 @@
       </el-table-column>
       <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="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width" width="300">
+      <el-table-column
+        label="鎹愮尞鑰�"
+        width="150"
+        align="center"
+        prop="donorname"
+      />
+      <el-table-column
+        label="鎿嶄綔"
+        align="center"
+        fixed="right"
+        class-name="small-padding fixed-width"
+        width="210"
+      >
         <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="1400px" 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="5">
+        <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
+                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-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="5">
-            <el-form-item label="鍖哄煙缁勯暱" prop="managername">
-              <el-input v-model="form.managername" placeholder="鍖哄煙缁勯暱" />
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label="鎵�灞炵粍鍒�" prop="deptmentname">
+              <el-input v-model="form.deptmentname" placeholder="鎵�灞炵粍鍒�" />
+              <!--<treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="璇烽�夋嫨褰掑睘閮ㄩ棬" />-->
             </el-form-item>
           </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-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="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>
@@ -155,18 +340,36 @@
         <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-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-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
+                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>
@@ -268,114 +471,268 @@
           </el-col>
           </el-row>
           -->
-        <el-row>
+        <el-row style="margin-top: 25px; margin-bottom: 5px">
           <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">
+            <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">
+            <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">
+            <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">
+            <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
+                  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">
+            <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 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-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">
+            <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
+                  :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="getdays(scope.row)"
+                >
                 </el-date-picker>
               </template>
             </el-table-column>
-            <el-table-column prop="endtime" slot="" label="缁撴潫鏃ユ湡" align="center" fixed width="150">
+            <el-table-column
+              prop="endtime"
+              slot=""
+              label="缁撴潫鏃ユ湡"
+              align="center"
+              fixed
+              width="150"
+            >
               <template slot-scope="scope">
-                <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
+                  :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="getdays(scope.row)"
+                >
                 </el-date-picker>
               </template>
             </el-table-column>
-            <el-table-column prop="departure" slot="" label="鍑哄彂鍦�" align="center" width="100">
+            <el-table-column
+              prop="departure"
+              slot=""
+              label="鍑哄彂鍦�"
+              align="center"
+              width="100"
+            >
               <template slot-scope="scope">
                 <el-input v-model="scope.row.departure" placeholder="鍑哄彂鍦�" />
               </template>
             </el-table-column>
-            <el-table-column label="鍒拌揪鍦�" prop="destination2" align="center" width="140">
+            <el-table-column
+              label="鍒拌揪鍦�"
+              prop="destination"
+              align="center"
+              width="140"
+            >
               <template slot-scope="scope">
                 <!--  <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
+                  filterable
+                  allow-create
+                  v-model="scope.row.destination"
+                  value-key="value"
+                  placeholder="鍒拌揪鍦�"
+                  @change="getallowance(scope.row)"
+                >
+                  <el-option
+                    v-for="dict in dict.type.sys_area_name"
+                    :key="dict.value"
+                    :label="dict.label"
+                    :value="dict.label"
+                  ></el-option>
                 </el-select>
               </template>
             </el-table-column>
             <el-table-column prop="days" label="澶╂暟" width="65" align="center">
               <template slot-scope="scope">
-                <el-input v-model="scope.row.days" @blur="getStandard(scope.row)" placeholder="澶╂暟" />
+                <el-input
+                  v-model="scope.row.days"
+                  @blur="getallowance(scope.row)"
+                  placeholder="澶╂暟"
+                />
               </template>
             </el-table-column>
-            <el-table-column prop="traffictype" label="鍑哄彂浜ら�氬伐鍏�" align="center" width="100">
+            <el-table-column
+              prop="traffictype"
+              label="鍑哄彂浜ら�氬伐鍏�"
+              align="center"
+              width="100"
+            >
               <template slot-scope="scope">
-                <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
+                  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">
+            <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
+                  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">
+            <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();
-                }
-                  " />
+                <el-input
+                  v-model="scope.row.trafficexpense"
+                  placeholder="浜ら�氳垂"
+                  @blur="
+                    val => {
+                      sumRowFee(scope.row);
+                    }
+                  "
+                />
               </template>
             </el-table-column>
             <!--
@@ -383,156 +740,353 @@
               <template slot-scope="scope">
                 <el-input v-model="scope.row.cityfee" placeholder="甯傚唴浜ら�氳垂" @blur="
                   (val) => {
-                    sumTotalFee();
+                    sumRowFee(scope.row);
                   }
                 ">{{ 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 => {
+                      sumRowFee(scope.row);
+                    }
+                  "
+                />
               </template>
             </el-table-column>
 
-            <el-table-column prop="foodexpenses" 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.foodexpenses" placeholder="浼欓璐规姤閿�" @blur="(val) => {
-                  sumTotalFee();
-                }
-                  " />
+                <el-input
+                  v-model="scope.row.foodexpenses"
+                  placeholder="浼欓璐规姤閿�"
+                  @blur="
+                    val => {
+                      sumRowFee(scope.row);
+                    }
+                  "
+                />
               </template>
             </el-table-column>
-            <el-table-column prop="foodallowance" label="浼欓琛ュ姪" align="center" width="80">
+            <el-table-column
+              prop="foodallowance"
+              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.foodallowance"
+                  placeholder="浼欓璐硅ˉ鍔�"
+                  @blur="
+                    val => {
+                      sumRowFee(scope.row);
+                    }
+                  "
+                />
               </template>
             </el-table-column>
-            <el-table-column prop="otherexpense" label="鍏潅璐硅ˉ鍔�" align="center" width="80">
+            <el-table-column
+              prop="otherexpense"
+              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.otherexpense"
+                  placeholder="鏉傝垂"
+                  @blur="
+                    val => {
+                      sumRowFee(scope.row);
+                    }
+                  "
+                />
               </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 => {
+                      sumRowFee(scope.row);
+                    }
+                  "
+                />
               </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="addDetailRow(scope.$index)">鏂板</el-button>
-                <el-button @click.native.prevent="deleteDetailRow(scope.$index, rbDetails, 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>
+        <el-row style="margin-top: 25px; margin-bottom: 5px">
           <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">
+            <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">
+            <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">
+            <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">
+            <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
+                  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">
+            <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-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">
+            <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">
+            <el-table-column
+              prop="bankcardno"
+              slot=""
+              label="閾惰鍗″彿"
+              align="center"
+              fixed
+              width="200"
+            >
               <template slot-scope="scope">
-                <el-input v-model="scope.row.bankcardno" placeholder="閾惰鍗″彿" />
+                <el-input
+                  v-model="scope.row.bankcardno"
+                  placeholder="閾惰鍗″彿"
+                />
               </template>
             </el-table-column>
-            <el-table-column prop="amount" slot="" label="鎵撴閲戦" align="center" fixed width="130">
+            <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">
+            <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> </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
+                  clearable
+                  size="small"
+                  style="width: 100%"
+                  v-model="scope.row.paiddate"
+                  type="date"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  placeholder="鎵撴鏃ユ湡"
+                  :disabled="true"
+                >
                 </el-date-picker>
               </template>
             </el-table-column>
-            <el-table-column label="鎿嶄綔" align="center" width="100" v-if="dialogType == 'edit'">
+            <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
+                  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>
 
         <!--
@@ -564,9 +1118,8 @@
               <el-input v-model="form.financedirector" placeholder="璐㈠姟閮ㄤ富浠�" />
             </el-form-item>
           </el-col>
-        </el-row>
-                                                                                                -->
-        <el-row>
+        </el-row> -->
+        <el-row style="margin-top: 25px; margin-bottom: 5px">
           <el-col :span="14">
             <!--
           <el-form-item label="鏂囦欢鍦板潃" prop="fileurl">
@@ -575,30 +1128,76 @@
                                                                                               -->
             <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="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>
             </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>
@@ -606,8 +1205,14 @@
 </template>
 
 <script>
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import { listDonatebaseinfo } from "@/api/project/donatebaseinfo";
-import { listReimbursementpayee, addReimbursementpayee, updateReimbursementpayee } from "@/api/project/reimbursementpayee";
+import {
+  listReimbursementpayee,
+  addReimbursementpayee,
+  updateReimbursementpayee
+} from "@/api/project/reimbursementpayee";
 import {
   listReimbursement,
   getReimbursement,
@@ -616,7 +1221,7 @@
   updateReimbursement,
   exportReimbursement,
   getdownload,
-  fundSubmit,
+  fundSubmit
 } from "@/api/project/reimbursement";
 import {
   addReimbursementdetail,
@@ -625,19 +1230,21 @@
   getReimbursementdetaillist,
   delReimbursementdetail,
   addOrupdateReimbursementdetaillist,
-  getTravelStandard,
+  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 { getUser, getUserProfile } from "@/api/system/user";
+import { treeselect } from "@/api/system/dept";
 import { getSubsidy } from "@/api/project/travelcity";
 import { listReportname, listUser } from "@/api/project/organization";
 import { getToken } from "@/utils/auth";
 export default {
   components: {
-    Li_area_select,
+    Treeselect,
+    Li_area_select
   },
   name: "Funddetail",
   dicts: [
@@ -648,8 +1255,7 @@
     "sys_recordstatus",
     "sys_travelexpensebelong",
     "sys_traffictype",
-    "sys_area_name",
-    "sys_traffictype"
+    "sys_area_name"
   ],
   data() {
     return {
@@ -663,12 +1269,14 @@
       personsExpert: [],
       //鍏ㄩ儴浜哄憳
       personsList: [],
-      //涓嬫媺鍙互閫夋嫨浜哄憳鍒楄〃  
+      //涓嬫媺鍙互閫夋嫨浜哄憳鍒楄〃
       personsSel: [],
+      // 閮ㄩ棬鏍戦�夐」
+      deptOptions: undefined,
 
       costtypeobj: {
         value: 0,
-        label: "",
+        label: ""
       },
 
       options: regionDataPlus,
@@ -676,7 +1284,7 @@
       searchAddress: {
         sheng: "",
         shi: "",
-        qu: "",
+        qu: ""
       },
       value1: "",
       // 閬僵灞�
@@ -709,45 +1317,48 @@
         remark: null,
         departure: null,
         endtime: null,
-        destination2: null,
+        destination: null,
         uploadFlag: null,
         uploadTime: null,
         // orderByColumn: "createTime",
         orderByColumn: "id",
-        isAsc: "desc",
+        isAsc: "desc"
       },
       queryParams2: {
         persontype: null,
-        arriveAddr: null,
+        arriveAddr: null
+      },
+      feesParams: {
+        beneficiaryNo: null,
+        starttime: null,
+        endtime: null
       },
       //鏌ヨ浠樻
       queryParamsPayee: {
-        rbid: null,
+        rbid: null
       },
       // 琛ㄥ崟鍙傛暟
       form: {},
       reimbursementList: [],
+
       // 琛ㄥ崟鏍¢獙
       rules: {
-        costtype: [
-          { required: true, message: "璇烽�夋嫨鎶ラ攢褰掔被", trigger: "blur" },
-        ],
-        username: [
-          { required: true, message: "璇烽�夋嫨濉姤浜�", trigger: "blur" },
-        ],
-        travelers: [
-          { required: true, message: "璇烽�夋嫨鎶ラ攢浜�", trigger: "blur" },
+        createTime: [
+          { required: true, message: "璇疯緭鍏ュ~鎶ユ棩鏈�", trigger: "blur" }
         ],
         reason: [
-          { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" },
+          { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" }
         ],
+        deptmentname: [
+          { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" }
+        ]
       },
       //璐圭敤鐢宠鍗昮orm
       applicationForm: {
         applicationType: null,
         donorno: null,
         donorname: null,
-        bigstrmoney: null,
+        bigstrmoney: null
       },
 
       rbDetails: [],
@@ -771,8 +1382,8 @@
       arriveAddr: null,
 
       headers: {
-        Authorization: "Bearer " + getToken(),
-      },
+        Authorization: "Bearer " + getToken()
+      }
     };
   },
 
@@ -786,14 +1397,14 @@
 
   mounted() {
     //鑾峰彇鎹愮尞鑰呭鍚�
-    listDonatebaseinfo().then((res) => {
+    listDonatebaseinfo().then(res => {
       let list = res.rows;
       let baseinfolist = [];
       this.donatorList = list;
-      list.forEach((element) => {
+      list.forEach(element => {
         baseinfolist.push({
           infoid: element.id,
-          name: element.name,
+          name: element.name
         });
       });
 
@@ -804,13 +1415,15 @@
 
     //鑾峰彇鐧诲綍鑰呬俊鎭�
     this.getUsermsg();
+    //鑾峰彇閮ㄩ棬淇℃伅
+    //this.getTreeselect();
   },
 
   methods: {
-    handleUploadError() { },
+    handleUploadError() {},
 
     remove(file) {
-      this.fileList.splice(this.fileList.indexOf(file), 1)
+      this.fileList.splice(this.fileList.indexOf(file), 1);
     },
 
     handleExceed() {
@@ -826,37 +1439,44 @@
         this.$modal.msgSuccess(response.msg);
         this.fileList.push({ name: response.fileName, url: response.fileName });
       } else {
-        this.$modal.msgError(response.msg);
+        console.log(response.msg);;
       }
     },
 
     //鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
     getUsermsg() {
-      getUserProfile().then((response) => {
+      getUserProfile().then(response => {
         this.defaultperson = response.data;
         this.standardlevel = response.data.standardlevel;
+      });
+    },
+
+    /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
+    getTreeselect() {
+      treeselect().then(response => {
+        this.deptOptions = response.data;
       });
     },
 
     //鑾峰彇浜哄憳鍒楄〃
     getPersonList() {
       //鑾峰彇OPO鍗忚皟鍛樺悕鍗�
-      listReportname("xty1").then((res) => {
+      listReportname("xty1").then(res => {
         this.personsXty = res.data;
         this.personsList = this.personsXty;
 
         //OPO涓撹亴浜哄憳鍚嶅崟
-        listReportname("zzry").then((res) => {
+        listReportname("zzry").then(res => {
           this.personsZzry = res.data;
           this.personsList = this.personsList.concat(this.personsZzry);
 
           //OPO绠$悊浜哄憳鍚嶅崟
-          listReportname("fzr").then((res) => {
+          listReportname("fzr").then(res => {
             this.personsManager = res.data;
             this.personsList = this.personsList.concat(this.personsManager);
 
             //OPO涓撳鍚嶅崟
-            listReportname("expert").then((res) => {
+            listReportname("expert").then(res => {
               this.personsExpert = res.data;
               this.personsList = this.personsList.concat(this.personsExpert);
             });
@@ -884,9 +1504,9 @@
 
     //鑾峰彇璁剧疆浜哄憳璐﹀彿淇℃伅
     getAccountinfo() {
-      this.coltravelers.map((res) => {
+      this.coltravelers.map(res => {
         if (res.reportName == this.form.travelers) {
-          getInfoBytheUserNo(res.reportNo).then((res) => {
+          getInfoBytheUserNo(res.reportNo).then(res => {
             this.form.depositbank = res.data.depositbank;
             this.form.bankcardno = res.data.bankcardno;
             this.form.phone = res.data.telephone;
@@ -898,13 +1518,13 @@
     //鑾峰彇璁剧疆浜哄憳璐﹀彿淇℃伅
     getAccountinfo2(row, personType) {
       let dataArr = [];
-      if (personType == '涓撹亴浜哄憳') {
+      if (personType == "涓撹亴浜哄憳") {
         dataArr = this.personsZzry;
-      } else if (personType == '鍗忚皟鍛�') {
+      } else if (personType == "鍗忚皟鍛�") {
         dataArr = this.personsXty;
-      } else if (personType == '涓撳') {
+      } else if (personType == "涓撳") {
         dataArr = this.personsExpert;
-      } else if (personType == '绠$悊浜哄憳') {
+      } else if (personType == "绠$悊浜哄憳") {
         dataArr = this.personsManager;
       }
 
@@ -912,12 +1532,12 @@
         if (dataArr[m].reportName == row.personname) {
           row.bankname = dataArr[m].depositbank;
           row.bankcardno = dataArr[m].bankcardno;
-        };
+        }
       }
     },
 
-    //璁$畻琛ュ姪
-    getallowance(row) {
+    //璁$畻鏃ユ湡
+    getdays(row) {
       if (
         row.starttime != "" &&
         row.starttime != null &&
@@ -925,52 +1545,62 @@
         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);    //鎶婄浉宸殑姣鏁拌浆鎹负澶╂暟
-        */
+        row.days = (
+          Math.floor(
+            Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) /
+              (1000 * 3600 * 24)
+          ) + 1
+        ).toString();
       } else {
-        row.days = ''
-      };
+        row.days = 0;
+      }
 
+      //璁$畻琛ュ姪
+      this.getallowance(row);
+    },
+
+    //璁$畻琛ュ姪
+    getallowance(row) {
+      console.log("ro", row);
       //鍏潅璐硅ˉ鍔╋細鏉窞妗愬簮锛屽缓寰凤紝娣冲畨60锛屾澀宸炲叾浠栧湴鍖�0锛岄潪鏉窞鍦板尯80
-      if (row.destination2 != "") {
-        var str = row.destination2;
+      if (row.destination != "") {
+        var tempStr = row.destination;
+
         //楠岃瘉鍩庡競
-        ////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 };
+        if (tempStr == "鏉窞") {
+          row.otherexpense = "";
+        } else if (
+          tempStr == "鏉窞-妗愬簮" ||
+          tempStr == "鏉窞-寤哄痉" ||
+          tempStr == "鏉窞-娣冲畨"
+        ) {
+          row.otherexpense = (parseInt(row.days) * 60).toString();
+        } else {
+          row.otherexpense = (parseInt(row.days) * 80).toString();
+        }
       }
 
       //浼欓璐硅ˉ鍔╋細鍩庡競锛堣タ钘忥紝鏂扮枂锛岄潚娴�.120锛夛紙鍏朵粬100锛�
-      row.foodallowance = parseInt(row.days) * 100
+      row.foodallowance = (parseInt(row.days) * 100).toString();
 
       //璁$畻鍚堣
-      this.sumTotalFee();
+      this.sumRowFee(row);
     },
 
     getallowance2(row, val2) {
-      // this.getallowance(row);
       this.arriveAddr = val2;
       this.queryParams2.arriveAddr;
       this.queryParams2.personType = row;
-      if (row.persontype != undefined && row.persontype == "鍗忚皟鍛�" || row.persontype == "绠$悊浜哄憳") {
+      if (
+        (row.persontype != undefined && row.persontype == "鍗忚皟鍛�") ||
+        row.persontype == "绠$悊浜哄憳"
+      ) {
         this.loading = true;
-        getSubsidy(val2).then((response) => {
+        getSubsidy(val2).then(response => {
           this.loading = false;
           row.otherexpense = response.data.others;
           row.foodallowance = response.data.food;
         });
-
       }
     },
 
@@ -992,10 +1622,11 @@
             .format("YYYY-MM-DD"),
           paprovincecode: this.$refs["residenceSelect_" + row.index].getSheng(),
           patowncode: this.$refs["residenceSelect_" + row.index].getQu(),
-          standardlevel: this.standardlevel,
+          standardlevel: this.standardlevel
         };
+
         getTravelStandard(info)
-          .then((response) => {
+          .then(response => {
             let fee = 0;
             for (let i = 0; i < response.data.length; i++) {
               fee += response.data[i].reimbursementamout;
@@ -1003,7 +1634,7 @@
             row.hotelexpense = fee;
           })
           .finally(() => {
-            this.sumTotalFee(row);
+            this.sumTotalFee();
           });
       }
     },
@@ -1016,13 +1647,14 @@
         row.searchAddress.shi != "" &&
         row.searchAddress.qu != ""
       ) {
-        row.destination2 =
+        row.destination =
           row.searchAddress.sheng +
           row.searchAddress.shi +
           row.searchAddress.qu;
         row.travelprovincename = row.searchAddress.sheng;
-        row.travelprovince =
-          this.$refs["residenceSelect_" + row.index].getSheng();
+        row.travelprovince = this.$refs[
+          "residenceSelect_" + row.index
+        ].getSheng();
         row.travelcityname = row.searchAddress.shi;
         row.travelcity = this.$refs["residenceSelect_" + row.index].getShi();
         row.traveltownname = row.searchAddress.qu;
@@ -1064,7 +1696,7 @@
     //鑾峰彇鎹愮尞鑰呭熀鏈俊鎭細鎹愮尞缂栧彿銆佹崘鐚�呭鍚�
     selectbaseinfo() {
       let list = this.donatorList;
-      list.forEach((item) => {
+      list.forEach(item => {
         if (item.id == this.form.infoid) {
           this.form.donorno = item.donorno;
           this.form.donorname = item.name;
@@ -1078,7 +1710,7 @@
 
     gettable(e) {
       const id = e.id;
-      getdownload(e.id).then((res) => {
+      getdownload(e.id).then(res => {
         var fileUrl = res;
         //鑾峰彇褰撳墠缃戝潃
         var urlBase = process.env.VUE_APP_BASE_API;
@@ -1108,21 +1740,19 @@
     /** 鏌ヨ鎶ラ攢鐢宠鍒楄〃 */
     getList() {
       this.loading = true;
-      listReimbursement(this.queryParams).then((response) => {
+      listReimbursement(this.queryParams).then(response => {
         this.reimbursementList = response.rows;
         this.total = response.total;
         this.loading = false;
-
       });
     },
     // 鍙栨秷鎸夐挳
     cancel() {
       this.open = false;
-
     },
     // 琛ㄥ崟閲嶇疆
     reset() {
-      this.fileList = []
+      this.fileList = [];
       this.form = {
         ceshi: {},
         bigstrmoney: null,
@@ -1165,7 +1795,7 @@
         uploadflag: null,
         uploadtime: null,
         costtype: null,
-        costtypename: null,
+        costtypename: null
       };
       this.rbDetails = [];
       this.rbPayees = [];
@@ -1178,9 +1808,9 @@
 
     // 涓嬭浇鏂囦欢
     downFile(item) {
-      const url = process.env.VUE_APP_BASE_API + item.url
-      var a = document.createElement('a');
-      var event = new MouseEvent('click');
+      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);
@@ -1208,46 +1838,130 @@
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.id);
+      this.ids = selection.map(item => item.id);
       this.single = selection.length !== 1;
       this.multiple = !selection.length;
     },
 
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
+      console.log("defaultperson",this.defaultperson);
+      this.$router.push({
+        path: "/finance/travelexpenseslist/Modifydetails/",
+        query: { id: 0, pos: 1,routerparam:this.defaultperson}
+      });
+
       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.form.username = this.defaultperson.nickName;
+      this.form.deptmentname = this.defaultperson.dept.deptName;
+      this.form.deptmentno = this.defaultperson.dept.deptId;
+      this.form.managername = this.defaultperson.dept.leader;
+
       this.addDetailRow(0);
       this.addPayeeRow(0);
     },
 
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
+      this.$router.push({
+        path: "/finance/travelexpenseslist/Modifydetails/",
+        query: { id: row.id, pos: 2 }
+      });
       this.dialogType = "edit";
       this.reset();
-      this.open = true;
+      // this.open = true;
       this.title = "淇敼鎶ラ攢鐢宠";
 
       //鑾峰彇鎶ラ攢涓讳俊鎭�
       const id = row.id || this.ids;
-      getReimbursement(id).then((response) => {
+      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 + "";
-
 
         let ids = response.data.id;
         //鑾峰彇鎶ラ攢鏄庣粏淇℃伅
-        getReimbursementdetaillist(ids).then((res) => {
+        getReimbursementdetaillist(ids).then(res => {
           this.rbDetails = res.data;
-          if (this.rbDetails.length==0) {this.addDetailRow(0);}  
-          //瑙f瀽鍑哄樊鍦板潃
+          if (this.rbDetails.length == 0) {
+            this.addDetailRow(0);
+          }
+
+          for (let i = 0; i < this.rbDetails.length; i++) {
+            this.sumRowFee(this.rbDetails[i]);
+            //瑙f瀽鍑哄樊鍦板潃
+            /*
+              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);
+          }
+        });
+      });
+    },
+
+    /** 鏌ョ湅鎸夐挳鎿嶄綔 */
+    handleDetail(row) {
+      this.$router.push({
+        path: "/finance/travelexpenseslist/Modifydetails/",
+        query: { id: row.id, pos: 3 }
+      });
+      
+      this.dialogType = "detail";
+      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.form.recordstatus = response.data.recordstatus + "";
+
+        let ids = response.data.id;
+        let listFundflowparams = {
+          fundid: row.id,
+          fundtype: 1
+        };
+        listFundflow(listFundflowparams).then(res => {
+          this.fundflowList = res.rows;
+        });
+
+        //鎶ラ攢鏄庣粏
+        getReimbursementdetaillist(ids).then(res => {
+          this.rbDetails = res.data;
           /*
           for (let i = 0; i < this.rbDetails.length; i++) {
             this.rbDetails[i].index = i;
@@ -1258,72 +1972,24 @@
             };
           }
           */
-          //瀹炴椂鍚堣閲戦
-          //this.sumTotalFee();
         });
 
-        //鑾峰彇鎶ラ攢鎵撴淇℃伅
-        this.queryParamsPayee.rbid=ids;
-        listReimbursementpayee(this.queryParamsPayee).then((res) => {
+        if (this.rbDetails.length > 0) 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.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.form.recordstatus = response.data.recordstatus + "";
-
-        let ids = response.data.id;
-        let listFundflowparams = {
-          fundid: row.id,
-          fundtype: 1,
-        };
-        listFundflow(listFundflowparams).then((res) => {
-          this.fundflowList = res.rows;
-        });
-        //鎶ラ攢鏄庣粏
-        getReimbursementdetaillist(ids).then((res) => {
-          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,
-            };
+          if (this.rbPayees.length == 0) {
+            this.addPayeeRow(0);
           }
-          //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) => {
+      this.$refs["form"].validate(valid => {
         if (valid) {
           /**
            let indexErrTime = this.rbDetails.findIndex((item) => {
@@ -1346,11 +2012,11 @@
              });
              return;
            }
-  
+     
            let emptyStartTimeindex = this.rbDetails.findIndex(
              (item) => item.starttime == null || item.starttime == undefined || item.starttime == ""
            );
-  
+     
            if (emptyStartTimeindex > -1) {
              this.$message({
                message: "绗�" + (emptyStartTimeindex + 1) + "琛屽嚭鍙戞棩鏈熶负绌�",
@@ -1358,11 +2024,11 @@
              });
              return;
            }
-  
+     
            let emptyEndTimeindex = this.rbDetails.findIndex(
              (item) => item.endtime == null || item.endtime == undefined || item.endtime == ""
            );
-  
+     
            if (emptyEndTimeindex > -1) {
              this.$message({
                message: "绗�" + (emptyEndTimeindex + 1) + "琛屽埌杈炬棩鏈熶负绌�",
@@ -1370,7 +2036,7 @@
              });
              return;
            }           
-
+    
           //璐圭敤褰掑睘
           let belongArr = this.dict.type.sys_travelexpensebelong;
           let costtypeindex = belongArr.findIndex(
@@ -1388,72 +2054,80 @@
           }
 
           //鏍¢獙璇锋閲戦鍚堣鏄惁绛変簬鎶ラ攢鍗曢噾棰�
-          if (this.form.amountrequested != this.rbPayees.reduce((amount, item) => amount + Number(item.amount), 0.0)) {
+          if (
+            this.form.amountrequested !=
+            this.rbPayees.reduce(
+              (amount, item) => amount + Number(item.amount),
+              0.0
+            )
+          ) {
             this.$message({
-              message: "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛�",
-              type: "warning",
+              message:
+                "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛�",
+              type: "warning"
             });
             return;
           }
 
-          const rbDetails = [...this.rbDetails]
-          const rbPayees = [...this.rbPayees]
+          const rbDetails = [...this.rbDetails];
+          const rbPayees = [...this.rbPayees];
           if (this.form.id != null) {
-            updateReimbursement(this.form).then((res) => {
-              //淇濆瓨鏄庣粏
-              for (let i = 0; i < rbDetails.length; i++) {
-                if (rbDetails[i].rbid != null) {
-                  updateReimbursementdetail(rbDetails[i]);
-                } else {
+            updateReimbursement(this.form)
+              .then(res => {
+                //淇濆瓨鏄庣粏
+                for (let i = 0; i < rbDetails.length; i++) {
+                  if (rbDetails[i].rbid != null) {
+                    updateReimbursementdetail(rbDetails[i]);
+                  } else {
+                    //rbid鍏宠仈涓昏〃Id
+                    rbDetails[i].rbid = this.form.id;
+                    addReimbursementdetail(rbDetails[i]);
+                  }
+                }
+
+                //淇濆瓨璐︽埛
+                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 = this.form.id;
+                  rbDetails[i].rbid = response.data;
                   addReimbursementdetail(rbDetails[i]);
                 }
-              }
 
-              //淇濆瓨璐︽埛
-              for (let i = 0; i < rbPayees.length; i++) {
-                if (rbPayees[i].rbid != null) {
-                  updateReimbursementpayee(rbPayees[i]);
-                } else {
+                //淇濆瓨璐﹀彿
+                for (let i = 0; i < rbPayees.length; i++) {
                   //rbid鍏宠仈涓昏〃Id
-                  rbPayees[i].rbid = this.form.id;
+                  rbPayees[i].rbid = response.data;
                   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("鏂板鎶ラ攢鍗曚繚瀛樺け璐ワ紒");
-            });
+                this.$modal.msgSuccess("鏂板鎶ラ攢鍗曚繚瀛樻垚鍔�!");
+                this.open = false;
+                this.getList();
+              })
+              .catch(err => {
+                this.$modal.msgError("鏂板鎶ラ攢鍗曚繚瀛樺け璐ワ紒");
+              });
           }
         }
       });
@@ -1464,7 +2138,7 @@
       const ids = row.id || this.ids;
       this.$modal
         .confirm("鏄惁纭鍒犻櫎璇ユ潯璁板綍锛�")
-        .then(function () {
+        .then(function() {
           // 鍒犻櫎details鍐呯殑鏁版嵁
           return delReimbursement(ids);
         })
@@ -1473,7 +2147,7 @@
           this.getList();
           this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
         })
-        .catch(() => { });
+        .catch(() => {});
     },
 
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
@@ -1485,11 +2159,11 @@
           this.exportLoading = true;
           return exportReimbursement(queryParams);
         })
-        .then((response) => {
+        .then(response => {
           this.$download.name(response.msg);
           this.exportLoading = false;
         })
-        .catch(() => { });
+        .catch(() => {});
     },
 
     //鏂板涓�琛�
@@ -1499,17 +2173,18 @@
         searchAddress: {
           sheng: "",
           shi: "",
-          qu: "",
+          qu: ""
         },
         id: null,
         rbid: null,
         starttime: null,
         departure: null,
         endtime: null,
-        destination2: null,
+        destination: null,
         days: null,
         trafficexpense: 0,
         traffictype: null,
+        traffictype2: null,
         cityfee: 0,
         hotelexpense: 0,
         invoicecount: null,
@@ -1531,7 +2206,7 @@
         orderno: null,
         personname2: null,
         personname: null,
-        destination: null,
+        destination: null
       };
       if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
         this.rbDetails.push(rowData);
@@ -1554,7 +2229,7 @@
         remark: null,
         orderno: null,
         personname: null,
-        amount: null,
+        amount: null
       };
       if (rowIndex == undefined || rowIndex == null || rowIndex <= 0) {
         this.rbPayees.push(rowData);
@@ -1570,12 +2245,12 @@
       this.$confirm("鏄惁纭鍒犻櫎?", "鎻愮ず", {
         confirmButtonText: "纭畾",
         cancelButtonText: "鍙栨秷",
-        type: "success",
+        type: "success"
       })
         .then(() => {
           console.log(row);
           if (row.id !== null) {
-            delReimbursementdetail(row.id).then((res) => {
+            delReimbursementdetail(row.id).then(res => {
               this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
               rows.splice(index, 1);
               this.recountOrderNo();
@@ -1597,20 +2272,20 @@
       this.$confirm("鏄惁纭鍒犻櫎?", "鎻愮ず", {
         confirmButtonText: "纭畾",
         cancelButtonText: "鍙栨秷",
-        type: "success",
+        type: "success"
       })
         .then(() => {
           console.log(row);
           if (row.id !== null) {
-            delReimbursementdetail(row.id).then((res) => {
+            delReimbursementdetail(row.id).then(res => {
               this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
               rows.splice(index, 1);
               this.recountOrderNo2();
-              // this.sumTotalFee();
+              this.sumTotalFee();
             });
           } else {
             rows.splice(index, 1);
-            //this.sumTotalFee();
+            this.sumTotalFee();
             this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
             this.recountOrderNo2();
           }
@@ -1637,24 +2312,24 @@
       this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", {
         confirmButtonText: "纭畾",
         cancelButtonText: "鍙栨秷",
-        type: "warning",
+        type: "warning"
       })
         .then(() => {
           //璋冪敤宸梾璐逛笂鎶ユ帴鍙�
           let tempParam = {
-            fundid: row.id,
+            fundid: row.id
           };
-          fundSubmit(tempParam).then((response) => {
+          fundSubmit(tempParam).then(response => {
             if (response.code == 200) {
               this.getList();
               this.$message({
                 type: "success",
-                message: "涓婃姤鎴愬姛",
+                message: "涓婃姤鎴愬姛"
               });
             } else {
               this.$message({
                 type: "error",
-                message: "涓婃姤澶辫触",
+                message: "涓婃姤澶辫触"
               });
             }
             this.loading = false;
@@ -1663,14 +2338,71 @@
         .catch(() => {
           this.$message({
             type: "info",
-            message: "宸插彇娑堢敵璇�",
+            message: "宸插彇娑堢敵璇�"
           });
         });
+    },
+
+    //璁$畻涓�琛屽悎璁�
+    //璁$畻褰撳墠琛屾姤閿�鍐呭璐圭敤鍚堣
+    sumRowFee(row) {
+      let totalFee = 0;
+      if (!isNaN(parseFloat(row.trafficexpense))) {
+        totalFee += parseFloat(row.trafficexpense);
+      }
+      if (!isNaN(parseFloat(row.cityfee))) {
+        totalFee += parseFloat(row.cityfee);
+      }
+      if (!isNaN(parseFloat(row.hotelexpense))) {
+        totalFee += parseFloat(row.hotelexpense);
+      }
+      if (!isNaN(parseFloat(row.otherexpense))) {
+        totalFee += parseFloat(row.otherexpense);
+      }
+      if (!isNaN(parseFloat(row.foodexpenses))) {
+        totalFee += parseFloat(row.foodexpenses);
+      }
+      if (!isNaN(parseFloat(row.foodallowance))) {
+        totalFee += parseFloat(row.foodallowance);
+      }
+      if (!isNaN(parseFloat(row.otherfeeamount))) {
+        totalFee += parseFloat(row.otherfeeamount);
+      }
+      row.total = totalFee;
+
+      /*
+      if (!isNaN(parseFloat(this.rbDetails[rowIndex].trafficexpense))) {
+        totalFee += parseFloat(this.rbDetails[rowIndex].trafficexpense);
+      }
+      if (!isNaN(parseFloat(this.rbDetails[rowIndex].cityfee))) {
+        totalFee += parseFloat(this.rbDetails[rowIndex].cityfee);
+      }
+      if (!isNaN(parseFloat(this.rbDetails[rowIndex].hotelexpense))) {
+        totalFee += parseFloat(this.rbDetails[rowIndex].hotelexpense);
+      }
+      if (!isNaN(parseFloat(this.rbDetails[rowIndex].otherexpense))) {
+        totalFee += parseFloat(this.rbDetails[rowIndex].otherexpense);
+      }
+      if (!isNaN(parseFloat(this.rbDetails[rowIndex].foodexpenses))) {
+        totalFee += parseFloat(this.rbDetails[rowIndex].foodexpenses);
+      }
+      if (!isNaN(parseFloat(this.rbDetails[rowIndex].foodallowance))) {
+        totalFee += parseFloat(this.rbDetails[rowIndex].foodallowance);
+      }
+      if (!isNaN(parseFloat(this.rbDetails[rowIndex].otherfeeamount))) {
+        totalFee += parseFloat(this.rbDetails[rowIndex].otherfeeamount);
+      }
+      this.rbDetails[rowIndex].total = parseFloat(totalFee).toFixed(2);
+      this.$set(this.rbDetails, rowIndex, this.rbDetails[rowIndex]);
+      */
+      //閲嶆柊璁$畻鏁翠釜鎶ラ攢鍗曠殑鍚堣
+      this.sumTotalFee();
     },
 
     //璁$畻璐圭敤鍚堣
     sumTotalFee() {
       let allSum = 0;
+
       //鎹愮尞鑰呭灞炶垂鐢�
       if (!isNaN(parseFloat(this.form.donoramount))) {
         allSum += parseFloat(this.form.donoramount);
@@ -1679,10 +2411,11 @@
       //鎶ラ攢鏄庣粏璐圭敤
       try {
         for (let i = 0; i < this.rbDetails.length; i++) {
+          /*
           let totalFee = 0;
           //璁$畻褰撳墠鎶ラ攢鍐呭璐圭敤鍚堣
-          if (!isNaN(parseFloat(this.rbDetails[i].trafficexpense))) {
-            totalFee += parseFloat(this.rbDetails[i].trafficexpense);
+          if (!isNaN(parseFloat(this.rbDetails[i].total))) {
+            totalFee += parseFloat(this.rbDetails[i].total);
           }
           if (!isNaN(parseFloat(this.rbDetails[i].cityfee))) {
             totalFee += parseFloat(this.rbDetails[i].cityfee);
@@ -1704,6 +2437,8 @@
           }
           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);
           }
@@ -1711,28 +2446,24 @@
 
         this.form.amountrequested = allSum.toFixed(2);
         this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested);
-      } catch { }
-    },
-
-    getDetailArr(rbid) {
-      getReimbursementdetaillist(rbid).then((res) => {
-        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();
-      });
+      } catch {}
     },
 
     //閲戦鏁板瓧杞崲鎴愬ぇ鍐�
     convertCurrency(money) {
       //姹夊瓧鐨勬暟瀛�
-      var cnNums = new Array("闆�", "澹�", "璐�", "鍙�", "鑲�", "浼�", "闄�", "鏌�", "鎹�", "鐜�");
+      var cnNums = new Array(
+        "闆�",
+        "澹�",
+        "璐�",
+        "鍙�",
+        "鑲�",
+        "浼�",
+        "闄�",
+        "鏌�",
+        "鎹�",
+        "鐜�"
+      );
       //鍩烘湰鍗曚綅
       var cnIntRadice = new Array("", "鎷�", "浣�", "浠�");
       //瀵瑰簲鏁存暟閮ㄥ垎鎵╁睍鍗曚綅
@@ -1816,7 +2547,7 @@
         chineseStr += cnInteger;
       }
       return chineseStr;
-    },
-  },
+    }
+  }
 };
-</script>
\ No newline at end of file
+</script>

--
Gitblit v1.9.3