From f878059d0f45680476140635715880167957e605 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期四, 20 七月 2023 17:39:42 +0800
Subject: [PATCH] yxh
---
src/views/project/travelexpenseslist.rar | 0
src/views/project/travelexpenseslist/index.vue | 1322 +++++++++++++++-----
package.json | 1
src/views/project/travelexpenseslist/Modifydetails/index.vue | 2358 ++++++++++++++++++++++++++++++++++++++
4 files changed, 3,344 insertions(+), 337 deletions(-)
diff --git a/package.json b/package.json
index e503fb4..42d06a2 100644
--- a/package.json
+++ b/package.json
@@ -62,6 +62,7 @@
"vue-count-to": "1.0.13",
"vue-cropper": "0.5.5",
"vue-meta": "^2.4.0",
+ "vue-pdf": "^4.3.0",
"vue-router": "3.4.9",
"vue-year-picker": "^1.1.0",
"vuedraggable": "2.24.3",
diff --git a/src/views/project/travelexpenseslist.rar b/src/views/project/travelexpenseslist.rar
new file mode 100644
index 0000000..14d769e
--- /dev/null
+++ b/src/views/project/travelexpenseslist.rar
Binary files differ
diff --git a/src/views/project/travelexpenseslist/Modifydetails/index.vue b/src/views/project/travelexpenseslist/Modifydetails/index.vue
new file mode 100644
index 0000000..10d6c0a
--- /dev/null
+++ b/src/views/project/travelexpenseslist/Modifydetails/index.vue
@@ -0,0 +1,2358 @@
+<template>
+ <div class="Modifydetailscla">
+ <div class="boxdiv">
+ <div class="top-text">{{ title }}</div>
+ <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+ <el-row
+ ><el-col :span="5">
+ <el-form-item label="鐢宠鏃ユ湡" prop="createTime">
+ <el-date-picker
+ 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="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-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="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="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="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="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-col :span="6">
+ <el-button
+ type="primary"
+ plain
+ icon="el-icon-plus"
+ size="mini"
+ @click="addDetailRow"
+ >鏂板涓�琛�</el-button
+ >
+ </el-col>
+ </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 show-summary>
+ <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
+ 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="getdays(scope.row)"
+ >
+ </el-date-picker>
+ </template>
+ </el-table-column>
+ <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="getdays(scope.row)"
+ >
+ </el-date-picker>
+ </template>
+ </el-table-column>
+ <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="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="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="getallowance(scope.row)"
+ placeholder="澶╂暟"
+ />
+ </template>
+ </el-table-column>
+ <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>
+ </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 => {
+ sumRowFee(scope.row);
+ }
+ "
+ />
+ </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) => {
+ 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"
+ >
+ <template slot-scope="scope">
+ <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"
+ >
+ <template slot-scope="scope">
+ <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"
+ >
+ <template slot-scope="scope">
+ <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"
+ >
+ <template slot-scope="scope">
+ <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"
+ >
+ <template slot-scope="scope">
+ <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"
+ >
+ <template slot-scope="scope">
+ <el-input
+ v-model="scope.row.otherfeedesc"
+ placeholder="鍏朵粬璐圭敤璇存槑"
+ />
+ </template>
+ </el-table-column>
+
+ <el-table-column
+ prop="total"
+ label="鍚堣"
+ align="center"
+ width="110"
+ fixed="right"
+ >
+ <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'"
+ >
+ <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>
+ <el-button
+ @click.native.prevent="
+ Filepopup(scope.$index, rbDetails, scope.row)
+ "
+ type="text"
+ size="small"
+ >
+ 鏂囦欢
+ </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </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 show-summary>
+ <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"
+ >
+ </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 v-if="dialogType == 'detail'">
+ <el-table :data="fundflowList" border>
+ <el-table-column
+ label="瀹℃牳浜�"
+ align="center"
+ width="120"
+ prop="checkusername"
+ />
+ <el-table-column
+ label="瀹℃牳鏃ユ湡"
+ align="center"
+ width="160"
+ prop="createTime"
+ />
+ <el-table-column
+ label="瀹℃牳缁撴灉"
+ align="center"
+ width="200"
+ prop="flowconclusion"
+ ><template slot-scope="scope"
+ ><span v-if="scope.row.flowconclusion == 1">閫氳繃</span
+ ><span v-if="scope.row.flowconclusion == 2"
+ >涓嶉�氳繃</span
+ ></template
+ >
+ </el-table-column>
+ <el-table-column
+ label="瀹℃牳澶囨敞"
+ align="center"
+ prop="flowcontent"
+ />
+ </el-table>
+ </el-row>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button
+ type="primary"
+ @click="submitForm"
+ v-if="dialogType == 'edit'"
+ >淇� 瀛�</el-button
+ >
+ <el-button @click="cancel">鍙� 娑�</el-button>
+ </div>
+ </div>
+
+ <el-dialog :title="pdftitle" :visible.sync="pdfVisible" width="50%">
+ <div class="pdfimg">
+ <div class="box-pdf">
+ <div>
+ <el-upload
+ size="mini"
+ class="upload-demo"
+ :action="uploadFileUrl"
+ :file-list="fileListto"
+ multiple
+ :limit="20"
+ :headers="headers"
+ :on-success="
+ (response, file, fileList) =>
+ uploadSccess(response, file, fileList)
+ "
+ :on-preview="downFile"
+ :disabled="dialogType == 'detail'"
+ :on-error="handleUploadError"
+ :on-exceed="handleExceed"
+ :on-remove="remove"
+ accept="image/*,.pdf"
+ >
+ <el-button
+ :disabled="dialogType == 'detail'"
+ size="small"
+ type="primary"
+ >涓婁紶</el-button
+ >
+ </el-upload>
+ </div>
+ <!-- <div
+ class="pdftit"
+ @click="pdffn(item)"
+ v-for="item in fileList"
+ :key="item.name"
+ >
+ {{ item.name }}
+ </div> -->
+ </div>
+
+ <div v-if="this.previewpdf" class="pdfimgmin">
+ <img :src="pdfimg" />
+ </div>
+ <div v-else class="pdfimgmins">{{ hintitle }}</div>
+ </div>
+ </el-dialog>
+
+ <!-- <div class="container">
+ <pdf :src="iframeurl"></pdf>
+ </div> -->
+ <!-- <embed :src="iframeurl" type="application/pdf" width="1000" height="800" /> -->
+ </div>
+</template>
+
+<script>
+import pdf from "vue-pdf";
+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 {
+ listReimbursement,
+ getReimbursement,
+ delReimbursement,
+ addReimbursement,
+ updateReimbursement,
+ exportReimbursement,
+ getdownload,
+ fundSubmit
+} from "@/api/project/reimbursement";
+import {
+ addReimbursementdetail,
+ updateReimbursementdetail,
+ listReimbursementdetailid,
+ getReimbursementdetaillist,
+ delReimbursementdetail,
+ 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 { 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: {
+ Treeselect,
+ Li_area_select,
+ pdf
+ },
+ name: "Funddetail",
+ dicts: [
+ "sys_finsubject",
+ "sys_0_1",
+ "sys_fund_type",
+ "sys_financeitemtype",
+ "sys_recordstatus",
+ "sys_travelexpensebelong",
+ "sys_traffictype",
+ "sys_area_name"
+ ],
+ data() {
+ return {
+ //OPO鍗忚皟鍛�
+ personsXty: [],
+ //OPO涓撹亴浜哄憳
+ personsZzry: [],
+ //OPO绠$悊浜哄憳
+ personsManager: [],
+ //OPO涓撳
+ personsExpert: [],
+ //鍏ㄩ儴浜哄憳
+ personsList: [],
+ //涓嬫媺鍙互閫夋嫨浜哄憳鍒楄〃
+ personsSel: [],
+ // 閮ㄩ棬鏍戦�夐」
+ deptOptions: undefined,
+ pdftitle: "",
+ pdfimg: "",
+ pdfVisible: false,
+ costtypeobj: {
+ value: 0,
+ label: ""
+ },
+ hintitle: "閫変腑宸︿晶宸蹭笂浼犳枃浠堕瑙堟煡鐪�",
+ atpresent: "",
+ iframeurl: "",
+ options: regionDataPlus,
+ selectedOptions: [],
+ searchAddress: {
+ sheng: "",
+ shi: "",
+ qu: ""
+ },
+ value1: "",
+ previewpdf: false,
+ // 閬僵灞�
+ loading: true,
+ // 瀵煎嚭閬僵灞�
+ exportLoading: false,
+ // 閫変腑鏁扮粍
+ ids: [],
+ // 闈炲崟涓鐢�
+ single: true,
+ // 闈炲涓鐢�
+ multiple: true,
+ // 鏄剧ず鎼滅储鏉′欢
+ showSearch: true,
+ // 鎬绘潯鏁�
+ total: 0,
+ // 璐圭敤鐢宠鏄庣粏琛ㄦ牸鏁版嵁
+ funddetailList: [],
+ // 寮瑰嚭灞傛爣棰�
+ title: "",
+ // 鏄惁鏄剧ず寮瑰嚭灞�
+ open: false,
+ queryParams2: {
+ persontype: null,
+ arriveAddr: null
+ },
+ feesParams: {
+ beneficiaryNo: null,
+ starttime: null,
+ endtime: null
+ },
+ //鏌ヨ浠樻
+ queryParamsPayee: {
+ rbid: null
+ },
+ // 琛ㄥ崟鍙傛暟
+ form: {},
+ reimbursementList: [],
+
+ // 琛ㄥ崟鏍¢獙
+ rules: {
+ createTime: [
+ { required: true, message: "璇疯緭鍏ュ~鎶ユ棩鏈�", trigger: "blur" }
+ ],
+ reason: [
+ { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" }
+ ],
+ deptmentname: [
+ { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" }
+ ]
+ },
+ //璐圭敤鐢宠鍗昮orm
+ applicationForm: {
+ applicationType: null,
+ donorno: null,
+ donorname: null,
+ bigstrmoney: null
+ },
+
+ rbDetails: [],
+ rbPayees: [],
+ arrr2: [],
+ baselist: [],
+ donatorList: [],
+ standardlevel: 0,
+ defaultperson: {},
+ fundflowList: [],
+ showApproveRecordDialog: false,
+ dialogType: "edit",
+
+ //涓婁紶鍙戠エ鏂囦欢璺緞
+ uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
+ //鏂囦欢鍒楄〃
+ fileList: [],
+ fileListto: [],
+ //浜哄憳绫诲埆
+ persontype: null,
+ //鍒拌揪鍦�
+ arriveAddr: null,
+
+ headers: {
+ Authorization: "Bearer " + getToken()
+ }
+ };
+ },
+
+ created() {
+ //鑾峰彇璁板綍鍒楄〃
+ this.getList();
+ this.gainee();
+ //鑾峰彇鎶ラ攢涓殑浜哄憳淇℃伅
+ this.getPersonList();
+ },
+
+ mounted() {
+ //鑾峰彇鎹愮尞鑰呭鍚�
+ listDonatebaseinfo().then(res => {
+ let list = res.rows;
+ let baseinfolist = [];
+ this.donatorList = list;
+ list.forEach(element => {
+ baseinfolist.push({
+ infoid: element.id,
+ name: element.name
+ });
+ });
+
+ if (baseinfolist != 0) {
+ this.baselist = baseinfolist;
+ }
+ });
+
+ //鑾峰彇鐧诲綍鑰呬俊鎭�
+ this.getUsermsg();
+ //鑾峰彇閮ㄩ棬淇℃伅
+ //this.getTreeselect();
+ },
+
+ methods: {
+ handleUploadError() {},
+
+ remove(file, fileList) {
+ const rbDetails = [...this.rbDetails];
+ this.fileListto.splice(this.fileListto.indexOf(file), 1);
+ console.log(file);
+ console.log(this.fileListto);
+ rbDetails[this.atpresent].annexfilesList = this.fileListto;
+ },
+
+ handleExceed() {
+ this.$message.error(`涓婁紶鏂囦欢鏁伴噺涓嶈兘瓒呰繃 ${5} 涓�!`);
+ },
+
+ //鏂囦欢涓婁紶鎴愬姛鍥炶皟
+ uploadSccess(response, file, fileList) {
+ console.log(response);
+ console.log(file);
+ console.log(fileList);
+ this.rbDetails;
+
+ //鑾峰彇闄勪欢淇℃伅浣嶇疆
+ if (response.code == 200) {
+ this.form.filename = file.raw.name;
+ console.log(this.fileList);
+
+ this.$modal.msgSuccess(response.msg);
+ this.fileListto.push({ name: file.name, url: response.url });
+ console.log(this.fileListto);
+ this.rbDetails[this.atpresent].annexfilesList = this.fileListto;
+ } else {
+ this.$modal.msgError(response.msg);
+ }
+ },
+ // 鐐瑰嚮鏂囦欢
+ Filepopup(index, rows, row) {
+ console.log(index, rows, row);
+ this.atpresent = index;
+ console.log(this.atpresent);
+ this.pdfVisible = true;
+ if (this.rbDetails[index].annexfilesList) {
+ this.fileListto = this.rbDetails[index].annexfilesList;
+ } else {
+ this.fileListto = [];
+ this.pdfimg = "";
+ this.pdftitle = "";
+ }
+ },
+
+ // 鐐瑰嚮宸蹭笂浼犳枃浠�
+ downFile(item) {
+ console.log(item);
+ this.pdftitle = item.name;
+ let name = item.name.split(".");
+ if (name[1] == "pdf") {
+ this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮");
+ this.previewpdf = false;
+ this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
+ } else if (name[1] == "jpg" || "png") {
+ this.previewpdf = true;
+ if (item.url) {
+ this.pdfimg = item.url;
+ } else {
+ this.pdfimg = item.response.url;
+ }
+ } else {
+ this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
+ this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮");
+ this.previewpdf = false;
+ }
+ },
+
+ //鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
+ getUsermsg() {
+ 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 => {
+ 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);
+ });
+ });
+ });
+ });
+ },
+
+ //鑾峰彇涓�涓被鍒殑浜哄憳鍒楄〃
+ 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;
+ this.form.bankcardno = res.data.bankcardno;
+ this.form.phone = res.data.telephone;
+ });
+ }
+ });
+ },
+
+ //鑾峰彇璁剧疆浜哄憳璐﹀彿淇℃伅
+ 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;
+ }
+ }
+ },
+
+ //璁$畻鏃ユ湡
+ getdays(row) {
+ if (
+ row.starttime != "" &&
+ row.starttime != null &&
+ row.endtime != "" &&
+ row.endtime != null
+ ) {
+ //璁$畻澶╂暟
+ row.days = (
+ Math.floor(
+ Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) /
+ (1000 * 3600 * 24)
+ ) + 1
+ ).toString();
+ } else {
+ row.days = 0;
+ }
+
+ //璁$畻琛ュ姪
+ this.getallowance(row);
+ },
+
+ //璁$畻琛ュ姪
+ getallowance(row) {
+ console.log("ro", row);
+ //鍏潅璐硅ˉ鍔╋細鏉窞妗愬簮锛屽缓寰凤紝娣冲畨60锛屾澀宸炲叾浠栧湴鍖�0锛岄潪鏉窞鍦板尯80
+ if (row.destination != "") {
+ var tempStr = row.destination;
+
+ //楠岃瘉鍩庡競
+ 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).toString();
+
+ //璁$畻鍚堣
+ this.sumRowFee(row);
+ },
+
+ getStandard(row) {
+ if (
+ row.searchAddress.sheng != "" &&
+ row.searchAddress.shi != "" &&
+ row.searchAddress.qu != "" &&
+ row.starttime != "" &&
+ row.starttime != null &&
+ row.days != ""
+ ) {
+ //璁$畻浣忓璐�
+ let info = {
+ pabegindate: this.$moment(row.starttime).format("YYYY-MM-DD"),
+ pacitycode: this.$refs["residenceSelect_" + row.index].getShi(),
+ paenddate: this.$moment(row.starttime)
+ .add(row.days, "day")
+ .format("YYYY-MM-DD"),
+ paprovincecode: this.$refs["residenceSelect_" + row.index].getSheng(),
+ patowncode: this.$refs["residenceSelect_" + row.index].getQu(),
+ standardlevel: this.standardlevel
+ };
+
+ getTravelStandard(info)
+ .then(response => {
+ let fee = 0;
+ for (let i = 0; i < response.data.length; i++) {
+ fee += response.data[i].reimbursementamout;
+ }
+ row.hotelexpense = fee;
+ })
+ .finally(() => {
+ this.sumTotalFee();
+ });
+ }
+ },
+
+ selcetdestination(row) {
+ console.log("鐩殑鍦伴�夋嫨浜嬩欢", row, row.searchAddress);
+ //row.searchAddress = this.searchAddress;
+ if (
+ row.searchAddress.sheng != "" &&
+ row.searchAddress.shi != "" &&
+ row.searchAddress.qu != ""
+ ) {
+ 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.travelcityname = row.searchAddress.shi;
+ row.travelcity = this.$refs["residenceSelect_" + row.index].getShi();
+ row.traveltownname = row.searchAddress.qu;
+ row.traveltown = this.$refs["residenceSelect_" + row.index].getQu();
+ this.getStandard(row);
+ }
+ },
+
+ getCodeToText(codeArray) {
+ // 鍙傛暟 codeStr,
+ // if (null === codeStr && null === codeArray) {
+ // return null;
+ // } else if (null === codeArray) {
+ // codeArray = codeStr.split(",");
+ // }
+
+ let area = "";
+ switch (codeArray.length) {
+ case 1:
+ area += CodeToText[codeArray[0]];
+ break;
+ case 2:
+ area += CodeToText[codeArray[0]] + "/" + CodeToText[codeArray[1]];
+ break;
+ case 3:
+ area +=
+ CodeToText[codeArray[0]] +
+ "/" +
+ CodeToText[codeArray[1]] +
+ "/" +
+ CodeToText[codeArray[2]];
+ break;
+ default:
+ break;
+ }
+ return area;
+ },
+
+ //鑾峰彇鎹愮尞鑰呭熀鏈俊鎭細鎹愮尞缂栧彿銆佹崘鐚�呭鍚�
+ selectbaseinfo() {
+ let list = this.donatorList;
+ list.forEach(item => {
+ if (item.id == this.form.infoid) {
+ 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 => {
+ var fileUrl = res;
+ //鑾峰彇褰撳墠缃戝潃
+ var urlBase = process.env.VUE_APP_BASE_API;
+ var curWWWPath = window.document.location.href;
+ var pos = curWWWPath.indexOf(window.document.location.pathname);
+ // 鍒涘缓a鏍囩
+ var aEle = document.createElement("a");
+ aEle.href =
+ curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
+ aEle.click();
+ });
+
+ // downloadconfirmationinfo(id).then((response) => {
+ // var fileUrl = response;
+ // //鑾峰彇褰撳墠缃戝潃
+ // var urlBase = process.env.VUE_APP_BASE_API;
+ // var curWWWPath = window.document.location.href;
+ // var pos = curWWWPath.indexOf(window.document.location.pathname);
+ // // 鍒涘缓a鏍囩
+ // var aEle = document.createElement("a");
+ // aEle.href =
+ // curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
+ // aEle.click();
+ // });
+ },
+
+ /** 鏌ヨ鎶ラ攢鐢宠鍒楄〃 */
+ getList() {
+ this.loading = true;
+ listReimbursement(this.queryParams).then(response => {
+ this.reimbursementList = response.rows;
+ this.total = response.total;
+ this.loading = false;
+ });
+ },
+ // 鍙栨秷鎸夐挳
+ cancel() {
+ this.open = false;
+ },
+ // 琛ㄥ崟閲嶇疆
+ reset() {
+ this.fileListto = [];
+ this.form = {
+ ceshi: {},
+ bigstrmoney: null,
+ id: null,
+ delFlag: null,
+ createBy: null,
+ createTime: null,
+ updateBy: null,
+ updateTime: null,
+ userno: null,
+ username: null,
+ idcardtype: null,
+ idcardno: null,
+ phone: null,
+ depositbank: null,
+ bankcardno: null,
+ branchbankname: null,
+ annexbankcard: null,
+ annexfiles: null,
+ amountrequested: null,
+ prepaidamount: null,
+ invoicecount: null,
+ attachcount: null,
+ managerno: null,
+ managername: null,
+ deptmentno: null,
+ deptmentname: null,
+ opochecker: null,
+ finvicepresident: null,
+ busvicepresident: null,
+ officedirector: null,
+ financedirector: null,
+ financechecher: null,
+ infoid: null,
+ donorno: null,
+ bigstrmoney: null,
+ remark: null,
+ reason: null,
+ recordstatus: "-1",
+ uploadflag: null,
+ uploadtime: null,
+ costtype: null,
+ costtypename: null
+ };
+ this.rbDetails = [];
+ this.rbPayees = [];
+ this.resetForm("form");
+ },
+ //
+ handup(e) {
+ console.log("涓婃姤", e);
+ },
+
+ /** 鎼滅储鎸夐挳鎿嶄綔 */
+ handleQuery() {
+ // console.log('pop',this.value1)
+ if (this.value1.length > 0) {
+ this.queryParams.starttime = this.value1[0] + " 00:00:00";
+ this.queryParams.endtime = this.value1[1] + " 00:00:00";
+ console.log("寮�濮嬫椂闂�", this.queryParams.starttime);
+ }
+ // this.queryParams.pacitycode= this.$refs["residenceSelect"].getShi();
+ // this.queryParams.paprovincecode= this.$refs["residenceSelect" ].getSheng();
+ // this.queryParams.patowncode= this.$refs["residenceSelect" ].getQu();
+ this.queryParams.pageNum = 1;
+ this.getList();
+ },
+
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.resetForm("queryForm");
+ this.handleQuery();
+ },
+ // 澶氶�夋閫変腑鏁版嵁
+ handleSelectionChange(selection) {
+ this.ids = selection.map(item => item.id);
+ this.single = selection.length !== 1;
+ this.multiple = !selection.length;
+ },
+
+ /** 鏂板鎸夐挳鎿嶄綔 */
+ handleAdd() {
+ this.reset();
+
+ this.open = true;
+ this.title = "鏂板鎶ラ攢鐢宠";
+ this.dialogType = "edit";
+ this.fundflowList = [];
+
+ 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);
+ },
+ gainee() {
+ let ids = this.$route.query.id;
+ let pos = this.$route.query.pos;
+ console.log(ids, pos);
+ if (pos == 2) {
+ this.handleDetail(ids);
+ } else if (pos == 1) {
+ this.handleUpdate(ids);
+ }
+ },
+
+ /** 淇敼鎸夐挳鎿嶄綔 */
+ handleUpdate(ids) {
+ this.$router.push({
+ path: "/finance/travelexpenseslist/Modifydetails/",
+ query: { id: ids }
+ });
+ this.dialogType = "edit";
+ this.reset();
+ // this.open = true;
+ this.title = "鎶ラ攢鐢宠淇敼";
+
+ //鑾峰彇鎶ラ攢涓讳俊鎭�
+ const id = ids || this.ids;
+ getReimbursement(id).then(response => {
+ this.form = response.data;
+ this.fileListto = 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 => {
+ this.rbDetails = res.data;
+ console.log(this.rbDetails);
+ 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(ids) {
+ this.dialogType = "detail";
+ this.title = "鎶ラ攢鐢宠璇︽儏";
+
+ this.reset();
+ this.open = true;
+ const id = ids || this.ids;
+
+ getReimbursement(id).then(response => {
+ this.form = response.data;
+ //闄勪欢
+ this.fileListto = 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: ids,
+ 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.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);
+ }
+ });
+ });
+ },
+
+ /** 鎻愪氦淇濆瓨鎸夐挳 */
+ submitForm() {
+ this.$refs["form"].validate(valid => {
+ if (valid) {
+ /**
+ 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;
+ }
+
+ //璐圭敤褰掑睘
+ let belongArr = this.dict.type.sys_travelexpensebelong;
+ let costtypeindex = belongArr.findIndex(
+ (item) => this.form.costtype == item.value
+ );
+ if (costtypeindex > -1) {
+ this.form.costtypename = belongArr[costtypeindex].label;
+ }
+ */
+
+ //闄勪欢鏂囦欢澶勭悊
+ let list = this.fileListto;
+ console.log(list);
+
+ //鏍¢獙璇锋閲戦鍚堣鏄惁绛変簬鎶ラ攢鍗曢噾棰�
+ 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];
+ console.log(rbDetails);
+ console.log(rbPayees);
+ if (this.form.id != null) {
+ console.log(this.form);
+ 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 = 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;
+ this.$modal
+ .confirm("鏄惁纭鍒犻櫎璇ユ潯璁板綍锛�")
+ .then(function() {
+ // 鍒犻櫎details鍐呯殑鏁版嵁
+ return delReimbursement(ids);
+ })
+ .then(() => {
+ delReimbursementdetail(ids);
+ this.getList();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ })
+ .catch(() => {});
+ },
+
+ /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+ handleExport() {
+ const queryParams = this.queryParams;
+ this.$modal
+ .confirm("鏄惁纭瀵煎嚭鎵�鏈夋姤閿�鐢宠鏁版嵁椤癸紵")
+ .then(() => {
+ this.exportLoading = true;
+ return exportReimbursement(queryParams);
+ })
+ .then(response => {
+ this.$download.name(response.msg);
+ this.exportLoading = false;
+ })
+ .catch(() => {});
+ },
+
+ //鏂板涓�琛�
+ addDetailRow(rowIndex) {
+ let rowData = {
+ //index: this.rbDetails.length,
+ searchAddress: {
+ sheng: "",
+ shi: "",
+ qu: ""
+ },
+ id: null,
+ rbid: null,
+ starttime: null,
+ departure: null,
+ endtime: null,
+ destination: null,
+ days: null,
+ trafficexpense: 0,
+ traffictype: null,
+ traffictype2: null,
+ cityfee: 0,
+ hotelexpense: 0,
+ invoicecount: null,
+ attachcount: null,
+ otherexpense: 0,
+ foodexpenses: 0,
+ foodallowance: 0,
+ otherfeeamount: 0,
+ annexfiles: null,
+ remark: null,
+ delFlag: null,
+ createBy: null,
+ createTime: null,
+ updateBy: null,
+ updateTime: null,
+ uploadFlag: null,
+ uploadTime: null,
+ total: 0,
+ orderno: null,
+ personname2: null,
+ personname: null,
+ destination: null
+ };
+ if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
+ this.rbDetails.push(rowData);
+ } else {
+ this.rbDetails.splice(rowIndex + 1, 0, rowData);
+ }
+ for (let i = 0; i < this.rbDetails.length; i++) {
+ this.rbDetails[i].orderno = i + 1;
+ }
+ },
+
+ 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: "鍙栨秷",
+ type: "success"
+ })
+ .then(() => {
+ console.log(row);
+ if (row.id !== null) {
+ delReimbursementdetail(row.id).then(res => {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ rows.splice(index, 1);
+ this.recountOrderNo();
+ this.sumTotalFee();
+ });
+ } else {
+ rows.splice(index, 1);
+ this.sumTotalFee();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ this.recountOrderNo();
+ }
+ })
+ .catch(() => {
+ //鍑犵偣鍙栨秷鐨勬彁绀�
+ });
+ },
+
+ 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.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) {
+ this.$confirm("鏄惁纭灏嗙櫥璁拌褰曚笂鎶ワ紵", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ })
+ .then(() => {
+ //璋冪敤宸梾璐逛笂鎶ユ帴鍙�
+ let tempParam = {
+ fundid: row.id
+ };
+ fundSubmit(tempParam).then(response => {
+ if (response.code == 200) {
+ this.getList();
+ this.$message({
+ type: "success",
+ message: "涓婃姤鎴愬姛"
+ });
+ } else {
+ this.$message({
+ type: "error",
+ message: "涓婃姤澶辫触"
+ });
+ }
+ this.loading = false;
+ });
+ })
+ .catch(() => {
+ this.$message({
+ type: "info",
+ 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);
+ }
+
+ //鎶ラ攢鏄庣粏璐圭敤
+ try {
+ for (let i = 0; i < this.rbDetails.length; i++) {
+ /*
+ let totalFee = 0;
+ //璁$畻褰撳墠鎶ラ攢鍐呭璐圭敤鍚堣
+ 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);
+ }
+ if (!isNaN(parseFloat(this.rbDetails[i].hotelexpense))) {
+ totalFee += parseFloat(this.rbDetails[i].hotelexpense);
+ }
+ if (!isNaN(parseFloat(this.rbDetails[i].otherexpense))) {
+ totalFee += parseFloat(this.rbDetails[i].otherexpense);
+ }
+ if (!isNaN(parseFloat(this.rbDetails[i].foodexpenses))) {
+ totalFee += parseFloat(this.rbDetails[i].foodexpenses);
+ }
+ if (!isNaN(parseFloat(this.rbDetails[i].foodallowance))) {
+ totalFee += parseFloat(this.rbDetails[i].foodallowance);
+ }
+ if (!isNaN(parseFloat(this.rbDetails[i].otherfeeamount))) {
+ totalFee += parseFloat(this.rbDetails[i].otherfeeamount);
+ }
+ 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 {}
+ },
+
+ //閲戦鏁板瓧杞崲鎴愬ぇ鍐�
+ convertCurrency(money) {
+ //姹夊瓧鐨勬暟瀛�
+ var cnNums = new Array(
+ "闆�",
+ "澹�",
+ "璐�",
+ "鍙�",
+ "鑲�",
+ "浼�",
+ "闄�",
+ "鏌�",
+ "鎹�",
+ "鐜�"
+ );
+ //鍩烘湰鍗曚綅
+ var cnIntRadice = new Array("", "鎷�", "浣�", "浠�");
+ //瀵瑰簲鏁存暟閮ㄥ垎鎵╁睍鍗曚綅
+ var cnIntUnits = new Array("", "涓�", "浜�", "鍏�");
+ //瀵瑰簲灏忔暟閮ㄥ垎鍗曚綅
+ var cnDecUnits = new Array("瑙�", "鍒�", "姣�", "鍘�");
+ //鏁存暟閲戦鏃跺悗闈㈣窡鐨勫瓧绗�
+ var cnInteger = "鏁�";
+ //鏁村瀷瀹屼互鍚庣殑鍗曚綅
+ var cnIntLast = "鍏�";
+ //鏈�澶у鐞嗙殑鏁板瓧
+ var maxNum = 999999999999999.9999;
+ //閲戦鏁存暟閮ㄥ垎
+ var integerNum;
+ //閲戦灏忔暟閮ㄥ垎
+ var decimalNum;
+ //杈撳嚭鐨勪腑鏂囬噾棰濆瓧绗︿覆
+ var chineseStr = "";
+ //鍒嗙閲戦鍚庣敤鐨勬暟缁勶紝棰勫畾涔�
+ var parts;
+ if (money == "") {
+ return "";
+ }
+ money = parseFloat(money);
+ if (money >= maxNum) {
+ //瓒呭嚭鏈�澶у鐞嗘暟瀛�
+ return "";
+ }
+ if (money == 0) {
+ chineseStr = cnNums[0] + cnIntLast + cnInteger;
+ return chineseStr;
+ }
+ //杞崲涓哄瓧绗︿覆
+ money = money.toString();
+ if (money.indexOf(".") == -1) {
+ integerNum = money;
+ decimalNum = "";
+ } else {
+ parts = money.split(".");
+ integerNum = parts[0];
+ decimalNum = parts[1].substr(0, 4);
+ }
+ //鑾峰彇鏁村瀷閮ㄥ垎杞崲
+ if (parseInt(integerNum, 10) > 0) {
+ var zeroCount = 0;
+ var IntLen = integerNum.length;
+ for (var i = 0; i < IntLen; i++) {
+ var n = integerNum.substr(i, 1);
+ var p = IntLen - i - 1;
+ var q = p / 4;
+ var m = p % 4;
+ if (n == "0") {
+ zeroCount++;
+ } else {
+ if (zeroCount > 0) {
+ chineseStr += cnNums[0];
+ }
+ //褰掗浂
+ zeroCount = 0;
+ chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
+ }
+ if (m == 0 && zeroCount < 4) {
+ chineseStr += cnIntUnits[q];
+ }
+ }
+ chineseStr += cnIntLast;
+ }
+ //灏忔暟閮ㄥ垎
+ if (decimalNum != "") {
+ var decLen = decimalNum.length;
+ for (var i = 0; i < decLen; i++) {
+ var n = decimalNum.substr(i, 1);
+ if (n != "0") {
+ chineseStr += cnNums[Number(n)] + cnDecUnits[i];
+ }
+ }
+ }
+ if (chineseStr == "") {
+ chineseStr += cnNums[0] + cnIntLast + cnInteger;
+ } else if (decimalNum == "") {
+ chineseStr += cnInteger;
+ }
+ return chineseStr;
+ }
+ }
+};
+</script>
+
+<style lang="scss" scoped>
+.Modifydetailscla {
+ padding: 10px;
+ .boxdiv {
+ font-size: 18px;
+ padding: 0 30px;
+ padding-bottom: 60px;
+ .top-text {
+ text-align: center;
+
+ font-size: 23px;
+ font-weight: 600;
+ margin: 20px 0;
+ margin-bottom: 50px;
+ }
+ .dialog-footer {
+ text-align: left;
+ margin-top: 10px;
+ }
+ }
+}
+.upload-demo {
+ text-align: center;
+}
+.pdfimg {
+ display: flex; // text-align: center;
+ width: 100%;
+ height: 600px;
+ .box-pdf {
+ width: 200px;
+ padding-top: 20px;
+ margin-right: 30px;
+ border: 1px solid #dcdfe6;
+ -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+ 0 0 6px 0 rgba(0, 0, 0, 0.04);
+ }
+ .pdftit {
+ width: 200px;
+ padding: 20px;
+ font-size: 18px;
+ }
+ .pdftit:hover {
+ background: #c0cef7;
+ }
+ .pdfimgmin {
+ width: 60%;
+ img {
+ width: 100%;
+ }
+ }
+ .pdfimgmins {
+ font-size: 28px;
+ width: 60%;
+ text-align: center;
+ }
+}
+</style>
diff --git a/src/views/project/travelexpenseslist/index.vue b/src/views/project/travelexpenseslist/index.vue
index f153007..774f67c 100644
--- a/src/views/project/travelexpenseslist/index.vue
+++ b/src/views/project/travelexpenseslist/index.vue
@@ -1,7 +1,12 @@
-
<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">
@@ -13,31 +18,68 @@
-->
<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="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-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>
@@ -45,42 +87,97 @@
<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="鎶ラ攢浜虹被鍒�" 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="150" 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="瀹℃牳鐘舵��" align="center" prop="recordstatus" width="160">
+ <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" />
+ <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="150"
+ align="center"
+ prop="username"
+ />
<!--
<el-table-column label="鍑哄樊浜�" width="180" align="center" prop="travelers">
</el-table-column>-->
- <el-table-column label="鎶ラ攢閲戦" width="150" align="center" prop="amountrequested">
+ <el-table-column
+ label="鎶ラ攢閲戦"
+ width="150"
+ align="center"
+ prop="amountrequested"
+ >
</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="鎵�灞炵粍鍒�"
+ 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>
@@ -90,44 +187,115 @@
</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="150" align="center" prop="donorname" />
- <el-table-column label="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width">
+ <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-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>
@@ -152,8 +320,18 @@
</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>
@@ -162,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>
@@ -280,108 +476,263 @@
</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="getdays(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="getdays(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="destination" 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="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
+ 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="getallowance(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) => {
- sumRowFee(scope.row);
- }
- " />
+ <el-input
+ v-model="scope.row.trafficexpense"
+ placeholder="浜ら�氳垂"
+ @blur="
+ val => {
+ sumRowFee(scope.row);
+ }
+ "
+ />
</template>
</el-table-column>
<!--
@@ -396,64 +747,144 @@
</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) => {
- sumRowFee(scope.row);
- }
- " />
+ <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) => {
- sumRowFee(scope.row);
- }
- " />
+ <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) => {
- sumRowFee(scope.row);
- }
- " />
+ <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) => {
- sumRowFee(scope.row);
- }
- " />
+ <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) => {
- sumRowFee(scope.row);
- }
- " />
+ <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>
@@ -465,80 +896,197 @@
</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">
+ <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>
<!--
@@ -580,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="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
+ 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>
@@ -614,7 +1208,11 @@
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,
@@ -623,7 +1221,7 @@
updateReimbursement,
exportReimbursement,
getdownload,
- fundSubmit,
+ fundSubmit
} from "@/api/project/reimbursement";
import {
addReimbursementdetail,
@@ -632,13 +1230,13 @@
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 { getUser,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";
@@ -646,7 +1244,7 @@
export default {
components: {
Treeselect,
- Li_area_select,
+ Li_area_select
},
name: "Funddetail",
dicts: [
@@ -657,7 +1255,7 @@
"sys_recordstatus",
"sys_travelexpensebelong",
"sys_traffictype",
- "sys_area_name",
+ "sys_area_name"
],
data() {
return {
@@ -671,14 +1269,14 @@
personsExpert: [],
//鍏ㄩ儴浜哄憳
personsList: [],
- //涓嬫媺鍙互閫夋嫨浜哄憳鍒楄〃
- personsSel: [],
+ //涓嬫媺鍙互閫夋嫨浜哄憳鍒楄〃
+ personsSel: [],
// 閮ㄩ棬鏍戦�夐」
deptOptions: undefined,
costtypeobj: {
value: 0,
- label: "",
+ label: ""
},
options: regionDataPlus,
@@ -686,7 +1284,7 @@
searchAddress: {
sheng: "",
shi: "",
- qu: "",
+ qu: ""
},
value1: "",
// 閬僵灞�
@@ -724,20 +1322,20 @@
uploadTime: null,
// orderByColumn: "createTime",
orderByColumn: "id",
- isAsc: "desc",
+ isAsc: "desc"
},
queryParams2: {
persontype: null,
- arriveAddr: null,
+ arriveAddr: null
},
feesParams: {
beneficiaryNo: null,
starttime: null,
- endtime: null,
+ endtime: null
},
//鏌ヨ浠樻
queryParamsPayee: {
- rbid: null,
+ rbid: null
},
// 琛ㄥ崟鍙傛暟
form: {},
@@ -746,21 +1344,21 @@
// 琛ㄥ崟鏍¢獙
rules: {
createTime: [
- { required: true, message: "璇疯緭鍏ュ~鎶ユ棩鏈�", trigger: "blur" },
+ { required: true, message: "璇疯緭鍏ュ~鎶ユ棩鏈�", trigger: "blur" }
],
reason: [
- { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" },
+ { required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" }
],
deptmentname: [
- { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" },
- ],
+ { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" }
+ ]
},
//璐圭敤鐢宠鍗昮orm
applicationForm: {
applicationType: null,
donorno: null,
donorname: null,
- bigstrmoney: null,
+ bigstrmoney: null
},
rbDetails: [],
@@ -784,8 +1382,8 @@
arriveAddr: null,
headers: {
- Authorization: "Bearer " + getToken(),
- },
+ Authorization: "Bearer " + getToken()
+ }
};
},
@@ -799,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
});
});
@@ -822,10 +1420,10 @@
},
methods: {
- handleUploadError() { },
+ handleUploadError() {},
remove(file) {
- this.fileList.splice(this.fileList.indexOf(file), 1)
+ this.fileList.splice(this.fileList.indexOf(file), 1);
},
handleExceed() {
@@ -847,7 +1445,7 @@
//鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
getUsermsg() {
- getUserProfile().then((response) => {
+ getUserProfile().then(response => {
this.defaultperson = response.data;
this.standardlevel = response.data.standardlevel;
});
@@ -863,22 +1461,22 @@
//鑾峰彇浜哄憳鍒楄〃
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);
});
@@ -906,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;
@@ -920,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;
}
@@ -934,18 +1532,28 @@
if (dataArr[m].reportName == row.personname) {
row.bankname = dataArr[m].depositbank;
row.bankcardno = dataArr[m].bankcardno;
- };
+ }
}
},
//璁$畻鏃ユ湡
getdays(row) {
- if (row.starttime != "" && row.starttime != null && row.endtime != "" && row.endtime != null) {
+ if (
+ row.starttime != "" &&
+ row.starttime != null &&
+ row.endtime != "" &&
+ row.endtime != null
+ ) {
//璁$畻澶╂暟
- row.days = (Math.floor(Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) / (1000 * 3600 * 24)) + 1).toString()
+ row.days = (
+ Math.floor(
+ Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) /
+ (1000 * 3600 * 24)
+ ) + 1
+ ).toString();
} else {
row.days = 0;
- };
+ }
//璁$畻琛ュ姪
this.getallowance(row);
@@ -953,27 +1561,29 @@
//璁$畻琛ュ姪
getallowance(row) {
- console.log("ro",row);
+ console.log("ro", row);
//鍏潅璐硅ˉ鍔╋細鏉窞妗愬簮锛屽缓寰凤紝娣冲畨60锛屾澀宸炲叾浠栧湴鍖�0锛岄潪鏉窞鍦板尯80
if (row.destination != "") {
var tempStr = row.destination;
//楠岃瘉鍩庡競
if (tempStr == "鏉窞") {
- row.otherexpense = '';
- }
- else if (tempStr == "鏉窞-妗愬簮" || tempStr == "鏉窞-寤哄痉" || tempStr == "鏉窞-娣冲畨") {
+ row.otherexpense = "";
+ } else if (
+ tempStr == "鏉窞-妗愬簮" ||
+ tempStr == "鏉窞-寤哄痉" ||
+ tempStr == "鏉窞-娣冲畨"
+ ) {
row.otherexpense = (parseInt(row.days) * 60).toString();
- }
- else {
+ } else {
row.otherexpense = (parseInt(row.days) * 80).toString();
- };
+ }
}
//浼欓璐硅ˉ鍔╋細鍩庡競锛堣タ钘忥紝鏂扮枂锛岄潚娴�.120锛夛紙鍏朵粬100锛�
row.foodallowance = (parseInt(row.days) * 100).toString();
- //璁$畻鍚堣
+ //璁$畻鍚堣
this.sumRowFee(row);
},
@@ -981,14 +1591,16 @@
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;
});
-
}
},
@@ -1010,11 +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;
@@ -1040,8 +1652,9 @@
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;
@@ -1083,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;
@@ -1097,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;
@@ -1127,17 +1740,15 @@
/** 鏌ヨ鎶ラ攢鐢宠鍒楄〃 */
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() {
@@ -1184,7 +1795,7 @@
uploadflag: null,
uploadtime: null,
costtype: null,
- costtypename: null,
+ costtypename: null
};
this.rbDetails = [];
this.rbPayees = [];
@@ -1197,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);
@@ -1227,7 +1838,7 @@
},
// 澶氶�夋閫変腑鏁版嵁
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;
},
@@ -1253,24 +1864,33 @@
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
+ this.$router.push({
+ path: "finance/travelexpenseslist/Modifydetails/",
+ query: { id: row.id, pos: 1 }
+ });
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); }
+ if (this.rbDetails.length == 0) {
+ this.addDetailRow(0);
+ }
for (let i = 0; i < this.rbDetails.length; i++) {
this.sumRowFee(this.rbDetails[i]);
@@ -1290,15 +1910,21 @@
//鑾峰彇鎶ラ攢鎵撴淇℃伅
this.queryParamsPayee.rbid = ids;
- listReimbursementpayee(this.queryParamsPayee).then((res) => {
+ listReimbursementpayee(this.queryParamsPayee).then(res => {
this.rbPayees = res.rows;
- if (this.rbPayees.length == 0) { this.addPayeeRow(0); }
+ if (this.rbPayees.length == 0) {
+ this.addPayeeRow(0);
+ }
});
});
},
/** 鏌ョ湅鎸夐挳鎿嶄綔 */
handleDetail(row) {
+ this.$router.push({
+ path: "/finance/travelexpenseslist/Modifydetails/",
+ query: { id: row.id, pos: 2 }
+ });
this.dialogType = "detail";
this.title = "鏌ョ湅鎶ラ攢鐢宠";
@@ -1306,11 +1932,14 @@
this.open = true;
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 + "";
@@ -1318,14 +1947,14 @@
let ids = response.data.id;
let listFundflowparams = {
fundid: row.id,
- fundtype: 1,
+ fundtype: 1
};
- listFundflow(listFundflowparams).then((res) => {
+ listFundflow(listFundflowparams).then(res => {
this.fundflowList = res.rows;
});
//鎶ラ攢鏄庣粏
- getReimbursementdetaillist(ids).then((res) => {
+ getReimbursementdetaillist(ids).then(res => {
this.rbDetails = res.data;
/*
for (let i = 0; i < this.rbDetails.length; i++) {
@@ -1341,20 +1970,20 @@
if (this.rbDetails.length > 0) this.sumTotalFee();
-
- //浠樻淇℃伅
+ //浠樻淇℃伅
this.queryParamsPayee.rbid = ids;
- listReimbursementpayee(this.queryParamsPayee).then((res) => {
+ listReimbursementpayee(this.queryParamsPayee).then(res => {
this.rbPayees = res.rows;
- if (this.rbPayees.length == 0) { this.addPayeeRow(0); }
+ 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) => {
@@ -1419,72 +2048,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("鏂板鎶ラ攢鍗曚繚瀛樺け璐ワ紒");
+ });
}
}
});
@@ -1495,7 +2132,7 @@
const ids = row.id || this.ids;
this.$modal
.confirm("鏄惁纭鍒犻櫎璇ユ潯璁板綍锛�")
- .then(function () {
+ .then(function() {
// 鍒犻櫎details鍐呯殑鏁版嵁
return delReimbursement(ids);
})
@@ -1504,7 +2141,7 @@
this.getList();
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
})
- .catch(() => { });
+ .catch(() => {});
},
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
@@ -1516,11 +2153,11 @@
this.exportLoading = true;
return exportReimbursement(queryParams);
})
- .then((response) => {
+ .then(response => {
this.$download.name(response.msg);
this.exportLoading = false;
})
- .catch(() => { });
+ .catch(() => {});
},
//鏂板涓�琛�
@@ -1530,7 +2167,7 @@
searchAddress: {
sheng: "",
shi: "",
- qu: "",
+ qu: ""
},
id: null,
rbid: null,
@@ -1563,7 +2200,7 @@
orderno: null,
personname2: null,
personname: null,
- destination: null,
+ destination: null
};
if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
this.rbDetails.push(rowData);
@@ -1586,7 +2223,7 @@
remark: null,
orderno: null,
personname: null,
- amount: null,
+ amount: null
};
if (rowIndex == undefined || rowIndex == null || rowIndex <= 0) {
this.rbPayees.push(rowData);
@@ -1602,12 +2239,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();
@@ -1629,12 +2266,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.recountOrderNo2();
@@ -1669,24 +2306,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;
@@ -1695,7 +2332,7 @@
.catch(() => {
this.$message({
type: "info",
- message: "宸插彇娑堢敵璇�",
+ message: "宸插彇娑堢敵璇�"
});
});
},
@@ -1803,13 +2440,24 @@
this.form.amountrequested = allSum.toFixed(2);
this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested);
- } catch { }
+ } catch {}
},
//閲戦鏁板瓧杞崲鎴愬ぇ鍐�
convertCurrency(money) {
//姹夊瓧鐨勬暟瀛�
- var cnNums = new Array("闆�", "澹�", "璐�", "鍙�", "鑲�", "浼�", "闄�", "鏌�", "鎹�", "鐜�");
+ var cnNums = new Array(
+ "闆�",
+ "澹�",
+ "璐�",
+ "鍙�",
+ "鑲�",
+ "浼�",
+ "闄�",
+ "鏌�",
+ "鎹�",
+ "鐜�"
+ );
//鍩烘湰鍗曚綅
var cnIntRadice = new Array("", "鎷�", "浣�", "浠�");
//瀵瑰簲鏁存暟閮ㄥ垎鎵╁睍鍗曚綅
@@ -1893,7 +2541,7 @@
chineseStr += cnInteger;
}
return chineseStr;
- },
- },
+ }
+ }
};
-</script>
\ No newline at end of file
+</script>
--
Gitblit v1.9.3