|
|
@@ -14,9 +14,9 @@
|
|
|
<el-input v-model="form.employeePhone" disabled></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="报销类型" prop="expenseTypeId">
|
|
|
- <el-select v-model="form.expenseTypeId" placeholder="请选择" style="width: 100%;">
|
|
|
- <el-option v-for="item in posOptions" :key="item.value" :label="item.label"
|
|
|
- :value="item.value">
|
|
|
+ <el-select v-model="form.expenseTypeId" placeholder="请选择" style="width: 100%;" @change="getListByExpenseTypeId()">
|
|
|
+ <el-option v-for="item in typeList" :key="item.id" :label="item.name"
|
|
|
+ :value="item.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
@@ -28,17 +28,17 @@
|
|
|
<el-button style="margin-bottom: 10px;" type="success" size="small" @click="addRow">新增</el-button>
|
|
|
<!--表格里面嵌套表单-->
|
|
|
<el-table border :header-cell-style="{ 'text-align': 'center' }" :cell-style="{ 'text-align': 'center' }"
|
|
|
- :data="form.oaExpenseObj" ref="table" style="width: 100%">
|
|
|
+ :data="form.oaExpenseObjs" ref="table" style="width: 100%">
|
|
|
|
|
|
|
|
|
|
|
|
<el-table-column label="费用项目" width="300">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-form-item :prop="'oaExpenseObj.' + scope.$index + '.expenseItemId'"
|
|
|
+ <el-form-item :prop="'oaExpenseObjs.' + scope.$index + '.expenseItemId'"
|
|
|
:rules="{ required: true, message: '费用项目不能为空', trigger: 'blur' }">
|
|
|
- <el-select v-model="form.oaExpenseObj[scope.$index].expenseItemId" placeholder="请选择费用项目" style="width: 100%;" size="small">
|
|
|
- <el-option v-for="item in posOptions" :key="item.value" :label="item.label"
|
|
|
- :value="item.value">
|
|
|
+ <el-select v-model="form.oaExpenseObjs[scope.$index].expenseItemId" placeholder="请选择费用项目" style="width: 100%;" size="small">
|
|
|
+ <el-option v-for="item in listByExpenseType" :key="item.id" :label="item.name"
|
|
|
+ :value="item.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
@@ -46,18 +46,18 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="金额(元)" width="200">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-form-item :prop="'oaExpenseObj.' + scope.$index + '.money'"
|
|
|
+ <el-form-item :prop="'oaExpenseObjs.' + scope.$index + '.money'"
|
|
|
:rules="{ required: true, message: '金额不能为空', trigger: 'blur' }">
|
|
|
- <el-input v-model="form.oaExpenseObj[scope.$index].money" autocomplete="off" size="small"
|
|
|
+ <el-input v-model="form.oaExpenseObjs[scope.$index].money" autocomplete="off" size="small"
|
|
|
placeholder="金额" oninput="value=value.match(/\d+\.?\d{0,2}/,'')" @input="changeMoney(scope.$index)"></el-input>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="开始日期" width="200">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-form-item :prop="'oaExpenseObj.' + scope.$index + '.startDate'"
|
|
|
+ <el-form-item :prop="'oaExpenseObjs.' + scope.$index + '.startDate'"
|
|
|
:rules="{ required: true, message: '开始日期不能为空', trigger: 'blur' }">
|
|
|
- <el-date-picker value-format="yyyy-MM-dd" v-model="form.oaExpenseObj[scope.$index].startDate" type="date" placeholder="选择日期"
|
|
|
+ <el-date-picker value-format="yyyy-MM-dd" v-model="form.oaExpenseObjs[scope.$index].startDate" type="date" placeholder="选择日期"
|
|
|
style="width: 100%;">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
@@ -65,9 +65,9 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="结束日期" width="200">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-form-item :prop="'oaExpenseObj.' + scope.$index + '.endDate'"
|
|
|
+ <el-form-item :prop="'oaExpenseObjs.' + scope.$index + '.endDate'"
|
|
|
:rules="{ required: true, message: '结束日期不能为空', trigger: 'blur' }">
|
|
|
- <el-date-picker value-format="yyyy-MM-dd" v-model="form.oaExpenseObj[scope.$index].endDate" type="date" placeholder="选择日期"
|
|
|
+ <el-date-picker value-format="yyyy-MM-dd" v-model="form.oaExpenseObjs[scope.$index].endDate" type="date" placeholder="选择日期"
|
|
|
style="width: 100%;">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
@@ -75,16 +75,16 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="说明" width="500">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-form-item :prop="'oaExpenseObj.' + scope.$index + '.remarks'"
|
|
|
+ <el-form-item :prop="'oaExpenseObjs.' + scope.$index + '.remarks'"
|
|
|
:rules="{ required: true, message: '说明不能为空', trigger: 'blur' }">
|
|
|
- <el-input maxlength="20" v-model="form.oaExpenseObj[scope.$index].remarks" autocomplete="off" size="small"
|
|
|
+ <el-input maxlength="20" v-model="form.oaExpenseObjs[scope.$index].remarks" autocomplete="off" size="small"
|
|
|
placeholder="说明名称"></el-input>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column fixed="right" label="操作" width="80">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button :disabled="form.oaExpenseObj.length > 1 ? false : true" style="margin-bottom: 22px;" @click="handleDeleteRow(scope.$index)"
|
|
|
+ <el-button :disabled="form.oaExpenseObjs.length > 1 ? false : true" style="margin-bottom: 22px;" @click="handleDeleteRow(scope.$index)"
|
|
|
type="text" size="small">删除</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
@@ -162,7 +162,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { getDetail, create, reCommit, save, deleteById, closeById } from "@/api/oa/expense"
|
|
|
+import {typeList,listByExpenseTypeId, getDetail, create, reCommit, save, deleteById, closeById } from "@/api/oa/expense"
|
|
|
import { getDate } from "@/utils/dateUtils";
|
|
|
import { getUserProfile } from "@/api/system/user";
|
|
|
import { listDept } from "@/api/system/dept";
|
|
|
@@ -198,7 +198,8 @@ export default {
|
|
|
fileUrl: process.env.VUE_APP_BASE_API + '/admin-api/infra/file/uploaData',
|
|
|
// fileUrl: 'http://192.168.100.249:48080/admin-api/infra/file/uploaData',
|
|
|
// 部门树选项
|
|
|
- posOptions: [],
|
|
|
+ typeList: [],
|
|
|
+ listByExpenseType: [],
|
|
|
deptOptions: [],
|
|
|
nikeNamelist: [],
|
|
|
form: {
|
|
|
@@ -208,7 +209,7 @@ export default {
|
|
|
employeePhone: undefined,
|
|
|
expenseTypeId: undefined,
|
|
|
expenseMonth: undefined,
|
|
|
- oaExpenseObj: [],
|
|
|
+ oaExpenseObjs: [],
|
|
|
totalMoney: undefined,
|
|
|
fileIdList: undefined,
|
|
|
remarks: undefined,
|
|
|
@@ -241,7 +242,8 @@ export default {
|
|
|
},
|
|
|
|
|
|
created() {
|
|
|
- this.getDeptList();
|
|
|
+ this.getTypeList();
|
|
|
+ // this.getDeptList();
|
|
|
},
|
|
|
watch: {
|
|
|
id: {
|
|
|
@@ -257,11 +259,28 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ // 报销类型信息列表
|
|
|
+ getTypeList(){
|
|
|
+ typeList().then(
|
|
|
+ response => {
|
|
|
+ this.typeList = response.data;
|
|
|
+ }
|
|
|
+ );
|
|
|
+ },
|
|
|
+ //获得报销费用项目信息列表
|
|
|
+
|
|
|
+ getListByExpenseTypeId(){
|
|
|
+ listByExpenseTypeId({expenseTypeId:this.form.expenseTypeId}).then(
|
|
|
+ response => {
|
|
|
+ this.listByExpenseType = response.data;
|
|
|
+ }
|
|
|
+ );
|
|
|
+ },
|
|
|
changeMoney(index){
|
|
|
- if(this.form.oaExpenseObj[index].money){
|
|
|
- let money = this.form.oaExpenseObj[index].money;
|
|
|
- this.form.oaExpenseObj[index].money = money;
|
|
|
- let arr = this.form.oaExpenseObj;
|
|
|
+ if(this.form.oaExpenseObjs[index].money){
|
|
|
+ let money = this.form.oaExpenseObjs[index].money;
|
|
|
+ this.form.oaExpenseObjs[index].money = money;
|
|
|
+ let arr = this.form.oaExpenseObjs;
|
|
|
this.form.totalMoney = this.sum(arr);
|
|
|
}
|
|
|
},
|
|
|
@@ -275,7 +294,7 @@ export default {
|
|
|
* 新增行
|
|
|
*/
|
|
|
addRow() {
|
|
|
- this.form.oaExpenseObj.push({
|
|
|
+ this.form.oaExpenseObjs.push({
|
|
|
expenseItemId: '',
|
|
|
money: '',
|
|
|
startDate: '',
|
|
|
@@ -289,8 +308,8 @@ export default {
|
|
|
* @param row
|
|
|
*/
|
|
|
handleDeleteRow(index) {
|
|
|
- this.form.oaExpenseObj.splice(index, 1);
|
|
|
- let arr = this.form.oaExpenseObj;
|
|
|
+ this.form.oaExpenseObjs.splice(index, 1);
|
|
|
+ let arr = this.form.oaExpenseObjs;
|
|
|
this.form.totalMoney = this.sum(arr);
|
|
|
},
|
|
|
getDateStar(ms) {
|
|
|
@@ -348,6 +367,9 @@ export default {
|
|
|
getDetail(val).then(response => {
|
|
|
this.$parent.$parent.detailLoading = false;
|
|
|
this.form = response.data;
|
|
|
+ if(response.data.expenseTypeId){
|
|
|
+ this.getListByExpenseTypeId();
|
|
|
+ }
|
|
|
let files = response.data.fileList;
|
|
|
if (files) {
|
|
|
this.files = [];
|
|
|
@@ -363,7 +385,6 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
if (response.data.auditUserList) {
|
|
|
let auditUserList = response.data.auditUserList;
|
|
|
let peopleList = [];
|
|
|
@@ -379,7 +400,6 @@ export default {
|
|
|
this.nikeNamelist = [];
|
|
|
}
|
|
|
this.tasks = response.data.auditRecordList ? response.data.auditRecordList : [];
|
|
|
-
|
|
|
});
|
|
|
},
|
|
|
/** 查询部门列表 */
|