|
@@ -2,7 +2,7 @@
|
|
|
<el-dialog
|
|
<el-dialog
|
|
|
:visible.sync="showDialog"
|
|
:visible.sync="showDialog"
|
|
|
:title="title"
|
|
:title="title"
|
|
|
- width="85%"
|
|
|
|
|
|
|
+ width="90%"
|
|
|
:modal-append-to-body="true"
|
|
:modal-append-to-body="true"
|
|
|
style="text-align:left;"
|
|
style="text-align:left;"
|
|
|
@close="closeDialog"
|
|
@close="closeDialog"
|
|
@@ -18,16 +18,16 @@
|
|
|
<el-input v-model="formModel.payee" placeholder="请输入收款方" class="input-form-main"></el-input>
|
|
<el-input v-model="formModel.payee" placeholder="请输入收款方" class="input-form-main"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="收款账户:" prop="collectionAccountId">
|
|
<el-form-item label="收款账户:" prop="collectionAccountId">
|
|
|
- <el-input v-model="formModel.collectionAccountId" style="display:none"></el-input>
|
|
|
|
|
- <el-input v-model="formModel.collectionAccountName" placeholder="请输入收款方" class="input-form-main" readonly="readonly"></el-input>
|
|
|
|
|
- <!-- <el-select v-model="formModel.collectionAccountId" class="input-form-main" >
|
|
|
|
|
|
|
+ <!-- <el-input v-model="formModel.collectionAccountId" style="display:none"></el-input>
|
|
|
|
|
+ <el-input v-model="formModel.collectionAccountName" placeholder="请输入收款方" class="input-form-main" readonly="readonly"></el-input> -->
|
|
|
|
|
+ <el-select v-model="formModel.collectionAccountId" class="input-form-main" >
|
|
|
<el-option
|
|
<el-option
|
|
|
v-for="collectionAccount in collectionAccountList"
|
|
v-for="collectionAccount in collectionAccountList"
|
|
|
:key="collectionAccount.id"
|
|
:key="collectionAccount.id"
|
|
|
:label="collectionAccount.name"
|
|
:label="collectionAccount.name"
|
|
|
:value="collectionAccount.id"
|
|
:value="collectionAccount.id"
|
|
|
></el-option>
|
|
></el-option>
|
|
|
- </el-select> -->
|
|
|
|
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="缴费单位:" prop="companyId">
|
|
<el-form-item label="缴费单位:" prop="companyId">
|
|
|
<el-select v-model="formModel.companyId" filterable class="input-form-main" @change="handleCompanyChange">
|
|
<el-select v-model="formModel.companyId" filterable class="input-form-main" @change="handleCompanyChange">
|
|
@@ -57,13 +57,17 @@
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<h3>账单信息</h3>
|
|
<h3>账单信息</h3>
|
|
|
- <el-table :data="formModel.billPushGoodsList" show-summary :summary-method="getSummaries">
|
|
|
|
|
- <el-table-column type="index" label="序号" width="50"></el-table-column>
|
|
|
|
|
|
|
+ <el-table
|
|
|
|
|
+ class="compact-table"
|
|
|
|
|
+ :data="formModel.billPushGoodsList"
|
|
|
|
|
+ show-summary :summary-method="getSummaries">
|
|
|
|
|
+ <el-table-column prop="sort" type="index" label="序号" width="50"></el-table-column>
|
|
|
|
|
+
|
|
|
<el-table-column prop="goodsId" label="收费项目" width="150">
|
|
<el-table-column prop="goodsId" label="收费项目" width="150">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
<el-input v-model="scope.row.goodTypeId" style="display:none"></el-input>
|
|
<el-input v-model="scope.row.goodTypeId" style="display:none"></el-input>
|
|
|
- <el-select v-model="scope.row.goodsId" placeholder="请选择" style="width:150px;" @change="handGoodsChange(scope)">
|
|
|
|
|
|
|
+ <el-select v-model="scope.row.goodsId" placeholder="请选择" style="width:150px;" @change="handGoodsChange(scope)" size="mini">
|
|
|
<el-option
|
|
<el-option
|
|
|
v-for="result in goodsList"
|
|
v-for="result in goodsList"
|
|
|
:key="result.id"
|
|
:key="result.id"
|
|
@@ -74,7 +78,7 @@
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column prop="beginEndTime" label="起止时间" width="400">
|
|
|
|
|
|
|
+ <el-table-column prop="beginEndTime" label="起止时间" width="380">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<el-form-item
|
|
<el-form-item
|
|
|
:prop="'billPushGoodsList.' + scope.$index + '.beginEndTime'"
|
|
:prop="'billPushGoodsList.' + scope.$index + '.beginEndTime'"
|
|
@@ -88,51 +92,52 @@
|
|
|
end-placeholder="结束时间"
|
|
end-placeholder="结束时间"
|
|
|
placeholder="选择时间范围"
|
|
placeholder="选择时间范围"
|
|
|
value-format="yyyy-MM-dd"
|
|
value-format="yyyy-MM-dd"
|
|
|
|
|
+ size="mini"
|
|
|
>
|
|
>
|
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column prop="numStr" label="数量" width="360">
|
|
|
|
|
|
|
+ <el-table-column prop="numStr" label="数量" width="320">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<el-form-item
|
|
<el-form-item
|
|
|
:prop="'billPushGoodsList.' + scope.$index + '.numStr'"
|
|
:prop="'billPushGoodsList.' + scope.$index + '.numStr'"
|
|
|
:rules="ruleValidate['numStr']"
|
|
:rules="ruleValidate['numStr']"
|
|
|
>
|
|
>
|
|
|
<template v-if="scope.row.goodTypeId=='7'">
|
|
<template v-if="scope.row.goodTypeId=='7'">
|
|
|
- <el-input style="width:100px" placeholder="起码" v-model.number="scope.row.numStr" @change="handStartChange(scope)"></el-input>
|
|
|
|
|
- -<el-input style="width:100px" placeholder="止码" v-model.number="scope.row.numStr2" @change="handStartChange(scope)"></el-input>
|
|
|
|
|
- =<el-input style="width:100px" v-model.number="scope.row.numStr3" @change="handNumChange(scope)"></el-input>
|
|
|
|
|
|
|
+ <el-input style="width:85px" placeholder="起码" v-model.number="scope.row.numStr" @change="handStartChange(scope)" size="mini"></el-input>
|
|
|
|
|
+ -<el-input style="width:85px" placeholder="止码" v-model.number="scope.row.numStr2" @change="handStartChange(scope)" size="mini"></el-input>
|
|
|
|
|
+ =<el-input style="width:85px" v-model.number="scope.row.numStr3" @change="handNumChange(scope)" size="mini"></el-input>
|
|
|
</template>
|
|
</template>
|
|
|
<template v-else>
|
|
<template v-else>
|
|
|
- <el-input placeholder="数量" v-model.number="scope.row.numStr3" @change="handNumChange(scope)"></el-input>
|
|
|
|
|
|
|
+ <el-input placeholder="数量" v-model.number="scope.row.numStr3" @change="handNumChange(scope)" size="mini"></el-input>
|
|
|
</template>
|
|
</template>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column prop="standard" label="收费标准" width="150">
|
|
|
|
|
|
|
+ <el-table-column prop="standard" label="收费标准(元)" width="120">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<el-form-item
|
|
<el-form-item
|
|
|
:prop="'billPushGoodsList.' + scope.$index + '.standard'"
|
|
:prop="'billPushGoodsList.' + scope.$index + '.standard'"
|
|
|
:rules="ruleValidate['standard']"
|
|
:rules="ruleValidate['standard']"
|
|
|
>
|
|
>
|
|
|
<el-input v-model="scope.row.unit" style="display:none"></el-input>
|
|
<el-input v-model="scope.row.unit" style="display:none"></el-input>
|
|
|
- <el-input placeholder="收费标准" v-model="scope.row.standard" ></el-input>
|
|
|
|
|
|
|
+ <el-input placeholder="收费标准" v-model="scope.row.standard" size="mini"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column prop="totalFee" label="合计金额" width="150">
|
|
|
|
|
|
|
+ <el-table-column prop="totalFee" label="合计金额(元)" width="120">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<el-form-item
|
|
<el-form-item
|
|
|
:prop="'billPushGoodsList.' + scope.$index + '.totalFee'"
|
|
:prop="'billPushGoodsList.' + scope.$index + '.totalFee'"
|
|
|
:rules="ruleValidate['totalFee']"
|
|
:rules="ruleValidate['totalFee']"
|
|
|
>
|
|
>
|
|
|
- <el-input placeholder="合计金额" v-model="scope.row.totalFee" readonly="readonly"></el-input>
|
|
|
|
|
|
|
+ <el-input placeholder="合计金额" :value="fmtMoney(scope.row.totalFee)" readonly="readonly" size="mini"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
|
|
- <el-table-column label="操作" width="200" fixed="right">
|
|
|
|
|
|
|
+ <el-table-column label="操作" width="100" fixed="right">
|
|
|
<template slot-scope="{row}">
|
|
<template slot-scope="{row}">
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
|
<i class="el-icon-delete my-font" @click="handleDelete(row)"></i>
|
|
<i class="el-icon-delete my-font" @click="handleDelete(row)"></i>
|
|
@@ -188,9 +193,10 @@ export default {
|
|
|
billPushGoodsList:[],
|
|
billPushGoodsList:[],
|
|
|
removeBillPushGoodsList:[],
|
|
removeBillPushGoodsList:[],
|
|
|
personId:0,
|
|
personId:0,
|
|
|
- personName:""
|
|
|
|
|
|
|
+ personName:"",
|
|
|
|
|
+ checkinInfoId:"",
|
|
|
},
|
|
},
|
|
|
- beginEndTime:"",
|
|
|
|
|
|
|
+ beginEndTime: null,
|
|
|
personList:[],
|
|
personList:[],
|
|
|
goodsList:[],
|
|
goodsList:[],
|
|
|
collectionAccountList:[],
|
|
collectionAccountList:[],
|
|
@@ -239,6 +245,7 @@ export default {
|
|
|
companyPaymentApi.findByCheckInId(formData).then((response)=>{
|
|
companyPaymentApi.findByCheckInId(formData).then((response)=>{
|
|
|
var jsonData = response.data;
|
|
var jsonData = response.data;
|
|
|
this.formModel.personId = jsonData.data.id;
|
|
this.formModel.personId = jsonData.data.id;
|
|
|
|
|
+ this.formModel.checkinInfoId = jsonData.data.checkinInfoId;
|
|
|
|
|
|
|
|
self.$set(self.formModel, 'personName', jsonData.data.name);
|
|
self.$set(self.formModel, 'personName', jsonData.data.name);
|
|
|
});
|
|
});
|
|
@@ -246,34 +253,36 @@ export default {
|
|
|
handleSubmit() {
|
|
handleSubmit() {
|
|
|
var self = this;
|
|
var self = this;
|
|
|
|
|
|
|
|
- var billPushGoodsList = this.formModel.billPushGoodsList;
|
|
|
|
|
|
|
+ //增加转型,避免直接修改formModel
|
|
|
|
|
+ var requestData = JSON.parse(JSON.stringify(self.formModel));
|
|
|
|
|
+
|
|
|
|
|
+ var billPushGoodsList = requestData.billPushGoodsList;
|
|
|
|
|
|
|
|
for(var i=0;i<billPushGoodsList.length;i++){
|
|
for(var i=0;i<billPushGoodsList.length;i++){
|
|
|
billPushGoodsList[i].sortNo = i+1;
|
|
billPushGoodsList[i].sortNo = i+1;
|
|
|
billPushGoodsList[i].beginDate = billPushGoodsList[i].beginEndTime[0];
|
|
billPushGoodsList[i].beginDate = billPushGoodsList[i].beginEndTime[0];
|
|
|
billPushGoodsList[i].endDate = billPushGoodsList[i].beginEndTime[1]
|
|
billPushGoodsList[i].endDate = billPushGoodsList[i].beginEndTime[1]
|
|
|
- billPushGoodsList[i].beginEndTime="";
|
|
|
|
|
|
|
+ billPushGoodsList[i].beginEndTime=null;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- var removeBillPushGoodsList = this.formModel.removeBillPushGoodsList;
|
|
|
|
|
|
|
+ var removeBillPushGoodsList = requestData.removeBillPushGoodsList;
|
|
|
|
|
|
|
|
for(var j=0;j<removeBillPushGoodsList.length;j++){
|
|
for(var j=0;j<removeBillPushGoodsList.length;j++){
|
|
|
removeBillPushGoodsList[j].sortNo = j+1;
|
|
removeBillPushGoodsList[j].sortNo = j+1;
|
|
|
removeBillPushGoodsList[j].beginDate = removeBillPushGoodsList[j].beginEndTime[0];
|
|
removeBillPushGoodsList[j].beginDate = removeBillPushGoodsList[j].beginEndTime[0];
|
|
|
removeBillPushGoodsList[j].endDate = removeBillPushGoodsList[j].beginEndTime[1]
|
|
removeBillPushGoodsList[j].endDate = removeBillPushGoodsList[j].beginEndTime[1]
|
|
|
- removeBillPushGoodsList[j].beginEndTime="";
|
|
|
|
|
|
|
+ removeBillPushGoodsList[j].beginEndTime=null;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
this.$refs["form"].validate(valid => {
|
|
this.$refs["form"].validate(valid => {
|
|
|
if (valid) {
|
|
if (valid) {
|
|
|
(function() {
|
|
(function() {
|
|
|
- var id = self.formModel.id;
|
|
|
|
|
|
|
+ var id = requestData.id;
|
|
|
|
|
|
|
|
-
|
|
|
|
|
if (id == null || id.length == 0) {
|
|
if (id == null || id.length == 0) {
|
|
|
- return billPushApi.add(self.formModel);
|
|
|
|
|
|
|
+ return billPushApi.add(requestData);
|
|
|
} else {
|
|
} else {
|
|
|
- return billPushApi.update(self.formModel);
|
|
|
|
|
|
|
+ return billPushApi.update(requestData);
|
|
|
}
|
|
}
|
|
|
})().then(function(response) {
|
|
})().then(function(response) {
|
|
|
var jsonData = response.data;
|
|
var jsonData = response.data;
|
|
@@ -301,7 +310,7 @@ export default {
|
|
|
this.formModel.billPushGoodsList.push({
|
|
this.formModel.billPushGoodsList.push({
|
|
|
sortNo: this.formModel.billPushGoodsList.length + 1,
|
|
sortNo: this.formModel.billPushGoodsList.length + 1,
|
|
|
goodsId: "",
|
|
goodsId: "",
|
|
|
- beginEndTime: "",
|
|
|
|
|
|
|
+ beginEndTime: null,
|
|
|
numStr: "",
|
|
numStr: "",
|
|
|
numStr2: "",
|
|
numStr2: "",
|
|
|
numStr3: "",
|
|
numStr3: "",
|
|
@@ -318,7 +327,7 @@ export default {
|
|
|
billPushGoodsList.splice(index+1,0,{
|
|
billPushGoodsList.splice(index+1,0,{
|
|
|
sortNo: index + 2,
|
|
sortNo: index + 2,
|
|
|
goodsId: "",
|
|
goodsId: "",
|
|
|
- beginEndTime: "",
|
|
|
|
|
|
|
+ beginEndTime: null,
|
|
|
numStr: "",
|
|
numStr: "",
|
|
|
numStr2: "",
|
|
numStr2: "",
|
|
|
numStr3: "",
|
|
numStr3: "",
|
|
@@ -338,22 +347,26 @@ export default {
|
|
|
getSummaries(param) {
|
|
getSummaries(param) {
|
|
|
const { columns, data } = param;
|
|
const { columns, data } = param;
|
|
|
const sums = [];
|
|
const sums = [];
|
|
|
|
|
+
|
|
|
columns.forEach((column, index) => {
|
|
columns.forEach((column, index) => {
|
|
|
if (index === 0) {
|
|
if (index === 0) {
|
|
|
sums[index] = '合计';
|
|
sums[index] = '合计';
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
const values = data.map(item => Number(item[column.property]));
|
|
const values = data.map(item => Number(item[column.property]));
|
|
|
|
|
+
|
|
|
if (!values.every(value => isNaN(value))) {
|
|
if (!values.every(value => isNaN(value))) {
|
|
|
sums[5] = values.reduce((prev, curr) => {
|
|
sums[5] = values.reduce((prev, curr) => {
|
|
|
- const value = Number(curr);
|
|
|
|
|
- if (!isNaN(value)) {
|
|
|
|
|
- return prev + curr;
|
|
|
|
|
- } else {
|
|
|
|
|
- return prev;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ const value = Number(curr);
|
|
|
|
|
+ if (!isNaN(value)) {
|
|
|
|
|
+ return prev + curr;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return prev;
|
|
|
|
|
+ }
|
|
|
}, 0);
|
|
}, 0);
|
|
|
- sums[5] ;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ sums[5] = this.fmtMoney(sums[5]);
|
|
|
} else {
|
|
} else {
|
|
|
sums[index] = '';
|
|
sums[index] = '';
|
|
|
}
|
|
}
|
|
@@ -361,6 +374,16 @@ export default {
|
|
|
|
|
|
|
|
return sums;
|
|
return sums;
|
|
|
},
|
|
},
|
|
|
|
|
+ fmtMoney(value){
|
|
|
|
|
+ const num = Number(value);
|
|
|
|
|
+
|
|
|
|
|
+ if (!isNaN(num)) {
|
|
|
|
|
+ return num.toFixed(2);
|
|
|
|
|
+ }
|
|
|
|
|
+ else{
|
|
|
|
|
+ return num;
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
handGoodsChange(scope){
|
|
handGoodsChange(scope){
|
|
|
var row = scope.row;
|
|
var row = scope.row;
|
|
|
|
|
|
|
@@ -456,9 +479,9 @@ export default {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
</script>
|
|
</script>
|
|
|
-<style scoped>
|
|
|
|
|
|
|
+<style rel="stylesheet/scss" lang="scss" scoped>
|
|
|
.input-form-main{
|
|
.input-form-main{
|
|
|
- width: 300px;
|
|
|
|
|
|
|
+ width: 250px;
|
|
|
}
|
|
}
|
|
|
.link-span{
|
|
.link-span{
|
|
|
margin-right: 20px;
|
|
margin-right: 20px;
|
|
@@ -474,4 +497,10 @@ export default {
|
|
|
.user-panel {
|
|
.user-panel {
|
|
|
margin: 10px auto;
|
|
margin: 10px auto;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+.compact-table{
|
|
|
|
|
+ .el-form-item {
|
|
|
|
|
+ margin-bottom: 5px;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
</style>
|
|
</style>
|