From 1c678c6fc8bbb7974ceb57d95c96e3ed2f4c2676 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 01 九月 2023 16:45:30 +0800
Subject: [PATCH] Merge branch 'master' of http://116.62.18.175:6699/r/~yxh/opo-web
---
src/views/project/travelexpenseapply/travelexpensedetail/index.vue | 1033 ++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 845 insertions(+), 188 deletions(-)
diff --git a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
index 15cffd2..9670383 100644
--- a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
+++ b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
@@ -3,19 +3,36 @@
<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-row
+ ><el-col :span="5">
<el-form-item label="鐢宠鏃ユ湡" prop="createTime">
- <el-date-picker style="width: 100%" v-model="form.createTime" type="date" value-format="yyyy-MM-dd HH:mm:ss"
- placeholder="鐢宠鏃ユ湡">
+ <el-date-picker
+ style="width: 100%"
+ v-model="form.createTime"
+ type="date"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="鐢宠鏃ユ湡"
+ >
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="缁忓姙浜�" prop="username">
- <el-select v-model="form.username" clearable filterable allow-create ref="getReportname"
- default-first-option placeholder="璇烽�夋嫨">
- <el-option v-for="item in personsList" :key="item.reportNo" :label="item.reportName"
- :value="item.reportName">
+ <el-select
+ v-model="form.username"
+ clearable
+ filterable
+ allow-create
+ ref="getReportname"
+ default-first-option
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="item in personsList"
+ :key="item.reportNo"
+ :label="item.reportName"
+ :value="item.reportName"
+ >
</el-option>
</el-select>
</el-form-item>
@@ -40,8 +57,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>
@@ -50,17 +77,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>
@@ -166,194 +212,441 @@
<el-col :span="20">鎶ラ攢鏄庣粏</el-col>
</el-row>
<el-row>
- <el-table :data="rbDetails" border highlight-current-row :summary-method="getSummaries" show-summary>
- <el-table-column prop="orderno" slot="" label="搴忓彿" align="center" fixed width="65">
+ <el-table
+ :data="rbDetails"
+ ref="table"
+ border
+ highlight-current-row
+ :summary-method="getSummaries"
+ 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">
+ <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, '/'))
- );
+ <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)">
+ }"
+ 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, '/'))
- );
+ <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)">
+ }"
+ 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>
- <!--
- <el-table-column prop="cityfee" label="甯傚唴浜ら�氳垂" align="center" width="100">
+ <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
+ 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">
+ <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" fixed="right">
+ <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">
+ <el-table-column
+ fixed="right"
+ label="鎿嶄綔"
+ align="center"
+ width="120"
+ >
<template slot-scope="scope">
- <el-button type="text" size="mini" @click="addDetailRow(scope.$index)"
- v-if="operationType == 'edit'">鏂板</el-button>
- <el-button @click.native.prevent="
- deleteDetailRow(scope.$index, rbDetails, scope.row)
- " type="text" size="small" v-if="operationType == 'edit'">鍒犻櫎</el-button>
- <el-button @click.native.prevent="
- Filepopup(scope.$index, rbDetails, scope.row)
- " type="text" size="small">绁ㄦ嵁</el-button>
+ <el-button
+ type="text"
+ size="mini"
+ @click="addDetailRow(scope.$index)"
+ v-if="operationType == 'edit'"
+ >鏂板</el-button
+ >
+ <el-button
+ @click.native.prevent="
+ deleteDetailRow(scope.$index, rbDetails, scope.row)
+ "
+ type="text"
+ size="small"
+ v-if="operationType == 'edit'"
+ >鍒犻櫎</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>
@@ -362,60 +655,153 @@
<el-col :span="20">鎵撴鏄庣粏</el-col>
</el-row>
<el-row style="margin-top: 5px">
- <el-table :data="rbPayees" border highlight-current-row :summary-method="getSummaries" show-summary>
- <el-table-column prop="orderno" slot="" label="搴忓彿" align="center" fixed width="65">
+ <el-table
+ :data="rbPayees"
+ border
+ highlight-current-row
+ :summary-method="getSummaries"
+ 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">
+ <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>
+ <el-table-column
+ prop="remark"
+ slot=""
+ label="璇锋璇存槑"
+ align="center"
+ fixed
+ >
<template slot-scope="scope">
<el-input v-model="scope.row.remark" placeholder="璇存槑" />
</template>
@@ -428,33 +814,74 @@
</el-date-picker>
</template>
</el-table-column>-->
- <el-table-column label="鎿嶄綔" align="center" width="100" v-if="operationType == 'edit'">
+ <el-table-column
+ label="鎿嶄綔"
+ align="center"
+ width="100"
+ v-if="operationType == '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>
- <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType != 'edit'">
+ <el-row
+ style="margin-top: 25px; margin-bottom: 5px"
+ v-if="operationType != 'edit'"
+ >
<el-col :span="20">瀹℃牳璁板綍</el-col>
</el-row>
- <el-row v-if="operationType != 'edit'">
+ <el-row v-if="operationType != 'add'">
<el-table :data="fundflowList" border>
- <el-table-column label="瀹℃牳浜�" align="center" width="150" prop="checkusername" />
- <el-table-column label="瀹℃牳鏃ユ湡" align="center" width="200" 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="200"
+ prop="createTime"
+ />
+ <el-table-column
+ label="瀹℃牳浜�"
+ align="center"
+ width="150"
+ prop="checkusername"
+ />
+ <el-table-column
+ label="瀹℃牳缁撴灉"
+ align="center"
+ width="200"
+ prop="flowconclusion"
+ >
+ <template slot-scope="scope">
+ <span v-if="scope.row.flowconclusion == 1">閫氳繃</span>
+ <span v-if="scope.row.flowconclusion == 2">涓嶉�氳繃</span>
+ </template>
</el-table-column>
- <el-table-column label="瀹℃牳澶囨敞" align="center" prop="flowcontent" />
+ <el-table-column
+ label="瀹℃牳澶囨敞"
+ align="center"
+ prop="flowcontent"
+ />
</el-table>
</el-row>
- <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType == 'check'">
+ <el-row
+ style="margin-top: 25px; margin-bottom: 5px"
+ v-if="operationType == 'check'"
+ >
<el-col :span="7">
<el-form-item label="瀹℃牳缁撴灉" align="left">
<el-radio-group v-model="checkObj.flowlevelone" align="left">
@@ -473,8 +900,18 @@
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="submitForm" v-if="operationType == 'edit'">淇� 瀛�</el-button>
- <el-button type="primary" @click="checksubmit" v-if="operationType == 'check'">鎻� 浜�</el-button>
+ <el-button
+ type="primary"
+ @click="submitForm"
+ v-if="operationType == 'edit'"
+ >淇� 瀛�</el-button
+ >
+ <el-button
+ type="primary"
+ @click="checksubmit"
+ v-if="operationType == 'check'"
+ >鎻� 浜�</el-button
+ >
<!--<el-button @click="cancel">閫� 鍑�</el-button>-->
</div>
</div>
@@ -483,12 +920,31 @@
<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="operationType == 'detail'" :on-error="handleUploadError"
- :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf">
- <el-button :disabled="operationType == 'detail'" size="small" type="primary">涓婁紶</el-button>
+ <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="operationType == 'detail'"
+ :on-error="handleUploadError"
+ :on-exceed="handleExceed"
+ :on-remove="remove"
+ accept="image/*,.pdf"
+ >
+ <el-button
+ :disabled="operationType == 'detail'"
+ size="small"
+ type="primary"
+ >涓婁紶</el-button
+ >
</el-upload>
</div>
<!-- <div
@@ -502,10 +958,34 @@
</div>
<div v-if="this.previewpdf" class="pdfimgmin">
- <img :src="pdfimg" />
+ <!-- <img :src="pdfimg" /> -->
+ <el-image
+ style="width: 95%; height: 90%"
+ :src="pdfimg"
+ :preview-src-list="pdfimgsrcList"
+ >
+ <!-- <div slot="error" class="image-slot">
+ <i class="el-icon-picture-outline"></i>
+ </div> -->
+ </el-image>
</div>
<div v-else class="pdfimgmins">{{ hintitle }}</div>
</div>
+ </el-dialog>
+ <el-dialog title="鎻愮ず" :visible.sync="Savereminder" width="30%">
+ <el-alert
+ :title="
+ '鎮ㄥ凡娣诲姞' +
+ totalquantity +
+ '鏉℃暟鎹紝涓洪槻姝㈡暟鎹涪澶辨槸鍚︽彁浜や繚瀛樺啀缁х画娣诲姞銆�'
+ "
+ type="warning"
+ >
+ </el-alert>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="unsave">鍙� 娑�</el-button>
+ <el-button type="primary" @click="Savenow">纭� 瀹�</el-button>
+ </span>
</el-dialog>
</div>
</template>
@@ -591,6 +1071,10 @@
value: 0,
label: ""
},
+ pdfimgsrcList: [],
+ Savereminder: false, //鎻愰啋淇濆瓨寮规
+ Reminderquantity: 0, //鎻愰啋鏁伴噺
+ totalquantity: 0, //鎬绘暟閲�
hintitle: "閫変腑宸︿晶宸蹭笂浼犳枃浠堕瑙堟煡鐪�",
atpresent: "",
@@ -608,6 +1092,11 @@
loading: true,
// 瀵煎嚭閬僵灞�
exportLoading: false,
+ // 缃戠粶璇锋眰澶�
+ Networkheader: null,
+
+ // 褰撳墠鍗曟嵁ID
+ curId: 0,
// 閫変腑鏁扮粍
ids: [],
// 闈炲崟涓鐢�
@@ -699,6 +1188,8 @@
},
created() {
+ this.Getnetworkheader();
+
//鑾峰彇璁板綍鍒楄〃
// this.getList();
@@ -735,23 +1226,41 @@
mounted() {
//閫夋嫨涓氬姟绫诲瀷:1銆佹柊澧烇紱2銆佷慨鏀癸紱3銆佹煡鐪�
- let ids = this.$route.query.id;
+ let curId = this.$route.query.id;
let pos = this.$route.query.pos;
this.defaultperson = this.$route.query.routerparam;
if (pos == 1) {
- this.handleAdd(ids);
+ this.handleAdd(curId);
} else if (pos == 2) {
- this.handleUpdate(ids);
+ this.handleUpdate(curId);
} else if (pos == 3) {
- this.handleDetail(ids);
+ this.handleDetail(curId);
} else if (pos == 4) {
- this.handleCheck(ids);
+ this.handleCheck(curId);
}
+ },
+ updated() {
+ this.$nextTick(() => {
+ this.$refs["table"].doLayout();
+ });
},
methods: {
- handleUploadError() { },
-
+ handleUploadError() {},
+ // 鑾峰彇璇锋眰澶�
+ Getnetworkheader() {
+ console.log(window.location.href);
+ let string = window.location.href;
+ if (string.includes("9091")) {
+ const index = string.indexOf("9091");
+ this.Networkheader = string.slice(0, index + 4); // 鎴彇9091鍙婂叾鍓嶉儴瀛楃
+ console.log(this.Networkheader);
+ } else {
+ const index = string.indexOf("8032");
+ this.Networkheader = string.slice(0, index + 4); // 鎴彇8032鍙婂叾鍓嶉儴瀛楃
+ console.log(this.Networkheader);
+ }
+ },
remove(file, fileList) {
const rbDetails = [...this.rbDetails];
this.fileListto.splice(this.fileListto.indexOf(file), 1);
@@ -765,13 +1274,19 @@
//鏂囦欢涓婁紶鎴愬姛鍥炶皟
uploadSccess(response, file, fileList) {
this.rbDetails;
-
//鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆
if (response.code == 200) {
this.form.filename = file.raw.name;
this.$modal.msgSuccess(response.msg);
- this.fileListto.push({ name: file.name, url: response.url });
+ this.fileListto.push({
+ name: file.name,
+ url: response.fileName
+ });
+ // this.fileListto.push({
+ // name: file.name,
+ // url: response.url
+ // });
this.rbDetails[this.atpresent].annexfilesList = this.fileListto;
} else {
console.log(response.msg);
@@ -781,8 +1296,14 @@
Filepopup(index, rows, row) {
this.atpresent = index;
this.pdfVisible = true;
+ console.log(this.rbDetails[index]);
if (this.rbDetails[index].annexfilesList) {
this.fileListto = this.rbDetails[index].annexfilesList;
+ console.log(this.fileListto);
+ this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url;
+ console.log(this.pdfimg);
+ this.pdfimgsrcList = [];
+ this.pdfimgsrcList.push(this.pdfimg);
} else {
this.fileListto = [];
this.pdfimg = "";
@@ -802,9 +1323,12 @@
} else if (name[1] == "jpg" || "png") {
this.previewpdf = true;
if (item.url) {
- this.pdfimg = item.url;
+ this.pdfimg = this.Networkheader + "/prod-api" + item.url;
+ this.pdfimgsrcList = [];
+ this.pdfimgsrcList.push(this.pdfimg);
+ console.log(this.pdfimg);
} else {
- this.pdfimg = item.response.url;
+ this.pdfimg = this.Networkheader + "/prod-api" + item.response.url;
}
} else {
this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
@@ -818,6 +1342,9 @@
treeselect().then(response => {
this.deptOptions = response.data;
});
+ },
+ cellCilicksa(row) {
+ console.log(row);
},
//鑾峰彇浜哄憳鍒楄〃
@@ -910,7 +1437,7 @@
row.days = (
Math.floor(
Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) /
- (1000 * 3600 * 24)
+ (1000 * 3600 * 24)
) + 1
).toString();
} else {
@@ -947,7 +1474,17 @@
}
//浼欓璐硅ˉ鍔╋細鍩庡競锛堣タ钘忥紝鏂扮枂锛岄潚娴�.120锛夛紙鍏朵粬100锛�
- row.foodallowance = (parseInt(row.days) * 100).toString();
+ if (tempStr == "鏉窞") {
+ row.foodallowance = "";
+ } else if (
+ tempStr == "瑗胯棌" ||
+ tempStr == "鏂扮枂" ||
+ tempStr == "闈掓捣"
+ ) {
+ row.foodallowance = (parseInt(row.days) * 120).toString();
+ } else {
+ row.foodallowance = (parseInt(row.days) * 100).toString();
+ }
//璁$畻鍚堣
this.sumRowFee(row);
@@ -1092,6 +1629,7 @@
this.loading = true;
listReimbursement(this.queryParams).then(response => {
this.reimbursementList = response.rows;
+ console.log(this.reimbursementList);
this.total = response.total;
this.loading = false;
});
@@ -1207,7 +1745,7 @@
},
/** 淇敼鎸夐挳鎿嶄綔 */
- handleUpdate(ids) {
+ handleUpdate(curId) {
// this.$router.push({
// path: "/finance/travelexpenseslist/Modifydetails/",
// query: { id: ids }
@@ -1219,19 +1757,17 @@
this.title = "鎶ラ攢鐢宠淇敼";
//鑾峰彇鎶ラ攢涓讳俊鎭�
- const id = ids || this.ids;
- getReimbursement(id).then(response => {
+ getReimbursement(curId).then(response => {
this.form = response.data;
this.fileListto = this.form.annexfiles
? this.form.annexfiles
- .split(",")
- .map(item => ({ url: item, name: item }))
+ .split(",")
+ .map(item => ({ url: item, name: item }))
: [];
this.form.recordstatus = response.data.recordstatus + "";
- let ids = response.data.id;
//鑾峰彇鎶ラ攢鏄庣粏淇℃伅
- getReimbursementdetaillist(ids).then(res => {
+ getReimbursementdetaillist(curId).then(res => {
this.rbDetails = res.data;
console.log(this.rbDetails);
if (this.rbDetails.length == 0) {
@@ -1254,12 +1790,22 @@
});
//鑾峰彇鎶ラ攢鎵撴淇℃伅
- this.queryParamsPayee.rbid = ids;
+ this.queryParamsPayee.rbid = curId;
listReimbursementpayee(this.queryParamsPayee).then(res => {
this.rbPayees = res.rows;
if (this.rbPayees.length == 0) {
this.addPayeeRow(0);
}
+ });
+
+ //瀹℃牳鐘舵��
+ this.form.recordstatus = response.data.recordstatus + "";
+ let listFundflowparams = {
+ fundid: curId,
+ fundtype: 1
+ };
+ listFundflow(listFundflowparams).then(res => {
+ this.fundflowList = res.rows;
});
});
},
@@ -1278,8 +1824,8 @@
//绁ㄦ嵁
this.fileListto = this.form.annexfiles
? this.form.annexfiles
- .split(",")
- .map(item => ({ url: item, name: item }))
+ .split(",")
+ .map(item => ({ url: item, name: item }))
: [];
//瀹℃牳鐘舵��
@@ -1339,8 +1885,8 @@
//绁ㄦ嵁
this.fileListto = this.form.annexfiles
? this.form.annexfiles
- .split(",")
- .map(item => ({ url: item, name: item }))
+ .split(",")
+ .map(item => ({ url: item, name: item }))
: [];
//瀹℃牳鐘舵��
@@ -1408,8 +1954,10 @@
checkfund(checkfundobj).then(res => {
this.reset();
this.open = false;
- this.getList();
this.$modal.msgSuccess("鎻愪氦瀹℃牳鎴愬姛!");
+ // 鍏抽棴绐楀彛
+ this.$store.dispatch("tagsView/delView", this.$route);
+ this.$router.go(-1);
});
},
@@ -1526,7 +2074,9 @@
this.open = false;
// 鍏抽棴绐楀彛
+ this.$store.dispatch("tagsView/delView", this.$route);
this.$router.go(-1);
+
// this.getList();
// })
// .catch(err => {
@@ -1554,6 +2104,7 @@
this.open = false;
// 鍏抽棴绐楀彛
+ this.$store.dispatch("tagsView/delView", this.$route);
this.$router.go(-1);
})
.catch(err => {
@@ -1569,7 +2120,7 @@
const ids = row.id || this.ids;
this.$modal
.confirm("鏄惁纭鍒犻櫎璇ユ潯璁板綍锛�")
- .then(function () {
+ .then(function() {
// 鍒犻櫎details鍐呯殑鏁版嵁
return delReimbursement(ids);
})
@@ -1578,7 +2129,7 @@
this.getList();
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
})
- .catch(() => { });
+ .catch(() => {});
},
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
@@ -1594,7 +2145,101 @@
this.$download.name(response.msg);
this.exportLoading = false;
})
- .catch(() => { });
+ .catch(() => {});
+ },
+ // 鍙栨秷鎻愰啋
+ unsave() {
+ this.Savereminder = false;
+ this.Reminderquantity = 0;
+ },
+ // 鎺ュ彈鎻愰啋绔嬪埢淇濆瓨
+ Savenow() {
+ this.Savereminder = false;
+ this.Reminderquantity = 0;
+ this.totalquantity = 0;
+ this.$refs["form"].validate(valid => {
+ if (valid) {
+ //绁ㄦ嵁鏂囦欢澶勭悊
+ 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];
+ 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.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("鏂板鎶ラ攢鍗曚繚瀛樻垚鍔�!");
+ })
+ .catch(err => {
+ this.$modal.msgError("鏂板鎶ラ攢鍗曚繚瀛樺け璐ワ紒");
+ });
+ }
+ }
+ });
},
//鏂板涓�琛�
@@ -1639,11 +2284,17 @@
personname: null,
destination: null
};
+ if (this.Reminderquantity >= 5) {
+ this.Savereminder = true;
+ return;
+ }
if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
this.rbDetails.push(rowData);
} else {
this.rbDetails.splice(rowIndex + 1, 0, rowData);
}
+ this.Reminderquantity++;
+ this.totalquantity++;
for (let i = 0; i < this.rbDetails.length; i++) {
this.rbDetails[i].orderno = i + 1;
}
@@ -1662,11 +2313,17 @@
personname: null,
amount: null
};
+ if (this.Reminderquantity >= 5) {
+ this.Savereminder = true;
+ return;
+ }
if (rowIndex == undefined || rowIndex == null || rowIndex <= 0) {
this.rbPayees.push(rowData);
} else {
this.rbPayees.splice(rowIndex + 1, 0, rowData);
}
+ this.Reminderquantity++;
+ this.totalquantity++;
for (let i = 0; i < this.rbPayees.length; i++) {
this.rbPayees[i].orderno = i + 1;
}
@@ -1877,7 +2534,7 @@
this.form.amountrequested = allSum.toFixed(2);
this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested);
- } catch { }
+ } catch {}
},
//閲戦鏁板瓧杞崲鎴愬ぇ鍐�
--
Gitblit v1.9.3