From bd02920548b2c867704f64d6feff0d96e0227fcc Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期三, 17 五月 2023 09:41:51 +0800
Subject: [PATCH] 修改了财务审批
---
src/views/project/travelexpenseslist/index.vue | 171 ++++++++++++++++++++++++++++-----------------------------
1 files changed, 84 insertions(+), 87 deletions(-)
diff --git a/src/views/project/travelexpenseslist/index.vue b/src/views/project/travelexpenseslist/index.vue
index c59d141..6c1658e 100644
--- a/src/views/project/travelexpenseslist/index.vue
+++ b/src/views/project/travelexpenseslist/index.vue
@@ -3,13 +3,14 @@
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-row>
+ <!--
<el-col :span="6">
<el-form-item label="鍑哄樊浜�" prop="travelers">
<el-input v-model="queryParams.travelers" placeholder="璇疯緭鍏ュ嚭宸汉" clearable size="small"
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
-
+-->
<el-col :span="6">
<el-form-item label="缁忓姙浜�" prop="username">
<el-input v-model="queryParams.username" placeholder="璇疯緭鍏ョ粡鍔炰汉" clearable size="small"
@@ -17,6 +18,13 @@
</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>
+ </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"
@@ -27,18 +35,7 @@
</el-select>
</el-form-item>
</el-col>
- </el-row>
-
- <el-row>
- <el-col :span="8">
- <el-form-item label="鎶ラ攢鏃ユ湡" prop="createTime">
- <el-date-picker format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="value1" type="daterange" @blur="onpick"
- range-separator="鑷�" start-placeholder="鎶ラ攢寮�濮嬫棩鏈�" end-placeholder="鎶ラ攢缁撴潫鏃ユ湡" @keyup.enter.native="handleQuery">
- </el-date-picker>
- </el-form-item>
- </el-col>
-
- <el-col :span="6">
+ <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>
@@ -62,7 +59,7 @@
<el-table border v-loading="loading" :data="reimbursementList" @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="55" align="center" /> -->
- <el-table-column label="璁板綍鐘舵��" align="center" prop="recordstatus" width="180">
+ <el-table-column label="瀹℃牳鐘舵��" align="center" prop="recordstatus" width="160">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_recordstatus" :value="scope.row.recordstatus" />
</template>
@@ -73,18 +70,18 @@
<dict-tag :options="dict.type.sys_travelexpensebelong" :value="scope.row.costtype" />
</template>
</el-table-column>-->
- <el-table-column label="鐢宠鏃堕棿" width="120" align="center" prop="createTime">
+ <el-table-column label="鐢宠鏃堕棿" width="150" align="center" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
- <el-table-column label="缁忓姙浜�" width="120" align="center" prop="username">
+ <el-table-column label="缁忓姙浜�" width="150" align="center" prop="username">
</el-table-column><!--
<el-table-column label="鍑哄樊浜�" width="180" align="center" prop="travelers">
</el-table-column>-->
- <el-table-column label="鎶ラ攢閲戦" width="120" align="center" prop="amountrequested">
+ <el-table-column label="鎶ラ攢閲戦" width="150" align="center" prop="amountrequested">
</el-table-column>
- <el-table-column label="鍑哄樊浜嬬敱" align="center" width="280" prop="reason">
+ <el-table-column label="鍑哄樊浜嬬敱" align="center" width="500" prop="reason">
</el-table-column>
<!-- <el-table-column label="鑱旂郴鐢佃瘽" width="120" align="center" prop="phone">
</el-table-column>
@@ -94,9 +91,9 @@
</el-table-column>
<el-table-column label="鎶ラ攢鍚堣" align="center" prop="financechecher"/>-->
<!-- <el-table-column label="璐㈠姟瀹℃牳" width="120" align="center" prop="financechecher" /> -->
- <el-table-column label="鎹愮尞鑰�" width="120" align="center" prop="donorname">
+ <el-table-column label="鎹愮尞鑰�" width="150" align="center" prop="donorname">
</el-table-column>
- <el-table-column label="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width" width="300">
+ <el-table-column label="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width">
<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>
@@ -143,9 +140,9 @@
</el-form-item>
</el-col>
- <el-col :span="5">
+ <el-col :span="5">
<el-form-item label="鎹愮尞鑰�" prop="infoid">
- <el-select v-model="form.infoid" @change="selectbaseinfo" filterable placeholder="璇烽�夋嫨鎹愮尞鑰�">
+ <el-select v-model="form.infoid" @change="selectbaseinfo" filterable disabled placeholder="璇烽�夋嫨鎹愮尞鑰�">
<el-option v-for="item in baselist" :key="item.index" :label="item.name" :value="item.infoid">
</el-option>
</el-select>
@@ -168,6 +165,13 @@
<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="20">
+ <el-form-item label="鍑哄樊浜嬬敱" prop="reason">
+ <el-input v-model="form.reason" placeholder="鍑哄樊浜嬬敱" />
</el-form-item>
</el-col>
</el-row>
@@ -290,17 +294,17 @@
</template>
</el-table-column>
- <el-table-column prop="persontype" slot="" label="浜哄憳绫诲埆" align="center" fixed width="120">
+ <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.value"></el-option>
+ :value="dict.label"></el-option>
</el-select>
</template>
</el-table-column>
- <el-table-column prop="personname" slot="" label="璐圭敤浜哄憳" align="center" fixed width="120">
+ <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)">
@@ -337,7 +341,7 @@
<el-input v-model="scope.row.departure" placeholder="鍑哄彂鍦�" />
</template>
</el-table-column>
- <el-table-column label="鍒拌揪鍦�" prop="destination2" align="center" width="120">
+ <el-table-column label="鍒拌揪鍦�" prop="destination2" align="center" width="140">
<template slot-scope="scope">
<!-- <el-input v-model="scope.row.destination" placeholder="鍒拌揪鍦�" @blur="getallowance(scope.row)" /> -->
@@ -477,16 +481,16 @@
</template>
</el-table-column>
- <el-table-column prop="persontype" slot="" label="浜哄憳绫诲埆" align="center" fixed width="120">
+ <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.value"></el-option>
+ :value="dict.label"></el-option>
</el-select>
</template>
</el-table-column>
- <el-table-column prop="personname" slot="" label="鏀舵浜�" align="center" fixed width="130">
+ <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)">
@@ -649,7 +653,6 @@
"sys_travelexpensebelong",
"sys_traffictype",
"sys_area_name",
- "sys_traffictype"
],
data() {
return {
@@ -727,16 +730,11 @@
// 琛ㄥ崟鍙傛暟
form: {},
reimbursementList: [],
+
// 琛ㄥ崟鏍¢獙
rules: {
- costtype: [
- { required: true, message: "璇烽�夋嫨鎶ラ攢褰掔被", trigger: "blur" },
- ],
- username: [
- { required: true, message: "璇烽�夋嫨濉姤浜�", trigger: "blur" },
- ],
- travelers: [
- { required: true, message: "璇烽�夋嫨鎶ラ攢浜�", trigger: "blur" },
+ createTime: [
+ { required: true, message: "璇疯緭鍏ュ~鎶ユ棩鏈�", trigger: "blur" },
],
reason: [
{ required: true, message: "璇疯緭鍏ュ嚭宸簨鐢�", trigger: "blur" },
@@ -869,15 +867,15 @@
getPersons(row) {
//涓撹亴浜哄憳-1,鍗忚皟鍛�-2,涓撳-3,瀹跺睘-4,鍏朵粬浜哄憳-5
let tmpList = null;
- if (row.persontype == "1") {
+ if (row.persontype == "涓撹亴浜哄憳") {
this.personsSel = this.personsZzry;
- } else if (row.persontype == "2") {
+ } else if (row.persontype == "鍗忚皟鍛�") {
this.personsSel = this.personsXty;
- } else if (row.persontype == "3") {
+ } else if (row.persontype == "涓撳") {
this.personsSel = this.personsExpert;
- } else if (row.persontype == "4") {
+ } else if (row.persontype == "瀹跺睘") {
this.personsSel = tmpList;
- } else if (row.persontype == "5") {
+ } else if (row.persontype == "绠$悊浜哄憳") {
this.personsSel = this.personsManager;
}
},
@@ -898,13 +896,13 @@
//鑾峰彇璁剧疆浜哄憳璐﹀彿淇℃伅
getAccountinfo2(row, personType) {
let dataArr = [];
- if (personType == 1) {
+ if (personType == '涓撹亴浜哄憳') {
dataArr = this.personsZzry;
- } else if (personType == 2) {
+ } else if (personType == '鍗忚皟鍛�') {
dataArr = this.personsXty;
- } else if (personType == 3) {
+ } else if (personType == '涓撳') {
dataArr = this.personsExpert;
- } else if (personType == 5) {
+ } else if (personType == '绠$悊浜哄憳') {
dataArr = this.personsManager;
}
@@ -925,34 +923,29 @@
row.endtime != null
) {
//璁$畻澶╂暟
- row.days = 1 + Math.floor(Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) / (1099 * 3699 * 24))
-
- /*let aDate, oDate1, oDate2, Date_end,Date_start;
- Date_end = row.endtime.split(" "); //灏嗘椂闂翠互绌烘牸鍒掑垎涓轰袱涓暟缁� 绗竴涓暟缁勬槸 2019-05-20 绗簩涓暟缁勬槸 00锛�00锛�00
- aDate = Date_end[0].split("-"); //鑾峰彇绗竴涓暟缁勭殑鍊�
- oDate1 = new Date(aDate[0], aDate[1], aDate[2]); //灏嗗墠鍗婁釜鏁扮粍浠�-鎷嗗垎锛屾瘡涓�涓槸涓�涓暟鍊�
-
- Date_start = row.starttime.split(" ");
- aDate = Date_start[0].split("-");
- oDate2 = new Date(aDate[0], aDate[1], aDate[2]);
- row.days = 1+parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); //鎶婄浉宸殑姣鏁拌浆鎹负澶╂暟
- */
+ row.days = (Math.floor(Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) / (1000 * 3600 * 24)) + 1).toString()
} else {
- row.days = ''
+ row.days = '';
};
//鍏潅璐硅ˉ鍔╋細鏉窞妗愬簮锛屽缓寰凤紝娣冲畨60锛屾澀宸炲叾浠栧湴鍖�0锛岄潪鏉窞鍦板尯80
if (row.destination2 != "") {
- var str = row.destination2;
+ var tempStr = row.destination2;
+
//楠岃瘉鍩庡競
- ////if (str.indexOf("妗愬簮锛屽缓寰凤紝娣冲畨") !== -1) { };
- if (str.includes("鏉窞")) { row.otherexpense = parseInt(row.days) * 0 }
- else if (str.includes("妗愬簮") || str.includes("寤哄痉") || str.includes("娣冲畨")) { row.otherexpense = parseInt(row.days) * 60 }
- else { row.otherexpense = parseInt(row.days) * 80 };
+ if (tempStr == "鏉窞") {
+ row.otherexpense = '';
+ }
+ else if (tempStr == "鏉窞-妗愬簮" || tempStr == "鏉窞-寤哄痉" || tempStr == "鏉窞-娣冲畨") {
+ row.otherexpense = (parseInt(row.days) * 60).toString();
+ }
+ else {
+ row.otherexpense = (parseInt(row.days) * 80).toString();
+ };
}
//浼欓璐硅ˉ鍔╋細鍩庡競锛堣タ钘忥紝鏂扮枂锛岄潚娴�.120锛夛紙鍏朵粬100锛�
- row.foodallowance = parseInt(row.days) * 100
+ row.foodallowance = (parseInt(row.days) * 100).toString();
//璁$畻鍚堣
this.sumTotalFee();
@@ -963,7 +956,7 @@
this.arriveAddr = val2;
this.queryParams2.arriveAddr;
this.queryParams2.personType = row;
- if (row.persontype != undefined && row.persontype == "2" || row.persontype == "5") {
+ if (row.persontype != undefined && row.persontype == "鍗忚皟鍛�" || row.persontype == "绠$悊浜哄憳") {
this.loading = true;
getSubsidy(val2).then((response) => {
this.loading = false;
@@ -994,6 +987,7 @@
patowncode: this.$refs["residenceSelect_" + row.index].getQu(),
standardlevel: this.standardlevel,
};
+
getTravelStandard(info)
.then((response) => {
let fee = 0;
@@ -1122,7 +1116,7 @@
},
// 琛ㄥ崟閲嶇疆
reset() {
- this.fileList = []
+ this.fileList = [];
this.form = {
ceshi: {},
bigstrmoney: null,
@@ -1216,20 +1210,23 @@
/** 鏂板鎸夐挳鎿嶄綔 */
handleAdd() {
this.reset();
+
+ this.open = true;
+ this.title = "鏂板鎶ラ攢鐢宠";
this.dialogType = "edit";
this.fundflowList = [];
this.form.username = this.defaultperson.nickName;
this.form.userno = this.defaultperson.userName;
this.addDetailRow(0);
this.addPayeeRow(0);
- this.open = true;
- this.title = "娣诲姞鎶ラ攢鐢宠";
},
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
this.dialogType = "edit";
this.reset();
+ this.open = true;
+ this.title = "淇敼鎶ラ攢鐢宠";
//鑾峰彇鎶ラ攢涓讳俊鎭�
const id = row.id || this.ids;
@@ -1243,7 +1240,7 @@
//鑾峰彇鎶ラ攢鏄庣粏淇℃伅
getReimbursementdetaillist(ids).then((res) => {
this.rbDetails = res.data;
- if (this.rbDetails.length==0) {this.addDetailRow(0);}
+ if (this.rbDetails.length == 0) { this.addDetailRow(0); }
//瑙f瀽鍑哄樊鍦板潃
/*
for (let i = 0; i < this.rbDetails.length; i++) {
@@ -1260,21 +1257,21 @@
});
//鑾峰彇鎶ラ攢鎵撴淇℃伅
- this.queryParamsPayee.rbid=ids;
+ this.queryParamsPayee.rbid = ids;
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); }
});
});
-
- this.open = true;
- this.title = "淇敼鎶ラ攢鐢宠";
},
/** 鏌ョ湅鎸夐挳鎿嶄綔 */
handleDetail(row) {
this.dialogType = "detail";
+ this.title = "鏌ョ湅鎶ラ攢鐢宠";
+
this.reset();
+ this.open = true;
const id = row.id || this.ids;
@@ -1308,15 +1305,14 @@
//this.sumTotalFee();
});
- //璐︽埛
- getReimbursementpayeelist(ids).then((res) => {
- this.rbPayees = res.data;
+ //璐︽埛
+ this.queryParamsPayee.rbid = ids;
+ listReimbursementpayee(this.queryParamsPayee).then((res) => {
+ this.rbPayees = res.rows;
+ if (this.rbPayees.length == 0) { this.addPayeeRow(0); }
});
});
-
- this.open = true;
- this.title = "鏌ョ湅鎶ラ攢鐢宠";
},
/** 鎻愪氦鎸夐挳 */
@@ -1344,11 +1340,11 @@
});
return;
}
-
+
let emptyStartTimeindex = this.rbDetails.findIndex(
(item) => item.starttime == null || item.starttime == undefined || item.starttime == ""
);
-
+
if (emptyStartTimeindex > -1) {
this.$message({
message: "绗�" + (emptyStartTimeindex + 1) + "琛屽嚭鍙戞棩鏈熶负绌�",
@@ -1356,11 +1352,11 @@
});
return;
}
-
+
let emptyEndTimeindex = this.rbDetails.findIndex(
(item) => item.endtime == null || item.endtime == undefined || item.endtime == ""
);
-
+
if (emptyEndTimeindex > -1) {
this.$message({
message: "绗�" + (emptyEndTimeindex + 1) + "琛屽埌杈炬棩鏈熶负绌�",
@@ -1368,7 +1364,7 @@
});
return;
}
-
+
//璐圭敤褰掑睘
let belongArr = this.dict.type.sys_travelexpensebelong;
let costtypeindex = belongArr.findIndex(
@@ -1508,6 +1504,7 @@
days: null,
trafficexpense: 0,
traffictype: null,
+ traffictype2: null,
cityfee: 0,
hotelexpense: 0,
invoicecount: null,
--
Gitblit v1.9.3