|
@@ -24,9 +24,9 @@
|
|
|
</template>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
- <template slot="chargeCycleUnit">
|
|
|
+ <template slot="chargeCycle">
|
|
|
<div class="form-item-flex">
|
|
|
- <el-select v-model="formData.chargeCycleUnit" class="select" disabled>
|
|
|
+ <el-select v-model="formData.chargeCycle" class="select" disabled>
|
|
|
<el-option label="1" :value="1"></el-option>
|
|
|
</el-select>
|
|
|
<div class="widthFlex">个月</div>
|
|
@@ -34,14 +34,34 @@
|
|
|
</template>
|
|
|
<template slot="lateFee">
|
|
|
<div class="form-item-flex">
|
|
|
- <el-input-number
|
|
|
+ <!-- <el-input-number
|
|
|
v-model="formData.lateFee"
|
|
|
:precision="2"
|
|
|
controls-position="right"
|
|
|
:step="0.1"
|
|
|
:min="0"
|
|
|
:max="100"
|
|
|
- ></el-input-number>
|
|
|
+ @change="lateAdd"
|
|
|
+ >
|
|
|
+ <i slot="suffix" style="font-style: normal; margin-right: 10px">℃</i>
|
|
|
+ </el-input-number> -->
|
|
|
+ <el-input
|
|
|
+ class="input-number"
|
|
|
+ v-model="formData.lateFee"
|
|
|
+ :precision="2"
|
|
|
+ controls-position="right"
|
|
|
+ :step="0.1"
|
|
|
+ :min="0"
|
|
|
+ :max="100"
|
|
|
+ >
|
|
|
+ <i slot="suffix" style="font-style: normal; margin-right: 60px"
|
|
|
+ >‰
|
|
|
+ <div class="input-button">
|
|
|
+ <span class="button down" @click="lateAdd('-')"><i class="el-icon-arrow-down"></i></span>
|
|
|
+ <span class="button up" @click="lateAdd('+')"><i class="el-icon-arrow-up"></i></span>
|
|
|
+ </div>
|
|
|
+ </i>
|
|
|
+ </el-input>
|
|
|
<el-tooltip class="item" effect="light" placement="right">
|
|
|
<div slot="content" v-html="lateFeeMsg"></div>
|
|
|
<img src="@/assets/img/menuicon/icon_tishi_zhengchang.png" alt="" />
|
|
@@ -64,9 +84,13 @@
|
|
|
<div v-if="formData.chargeType === 2">阶梯水量(吨)</div>
|
|
|
<div v-if="formData.chargeType === 3">阶梯电量(度)</div>
|
|
|
<el-input class="input100" v-model="item.quantity" placeholder="请输入用量"></el-input>
|
|
|
- <div class="sunm" @click="addPrice" v-if="index === 0 && formData.ladderList.length < 5"><i class="zoniot_font zoniot-icon-tianjia1"></i></div>
|
|
|
+ <div class="sunm" @click="addPrice" v-if="index === 0 && formData.ladderList.length < 5">
|
|
|
+ <i class="zoniot_font zoniot-icon-tianjia1"></i>
|
|
|
+ </div>
|
|
|
<div class="sunm" v-else style="cursor: inherit"></div>
|
|
|
- <div class="sunm" @click="delePrice" v-if="index === 0 && formData.ladderList.length > 1"><i class="zoniot_font zoniot-icon-shanjian"></i></div>
|
|
|
+ <div class="sunm" @click="delePrice" v-if="index === 0 && formData.ladderList.length > 1">
|
|
|
+ <i class="zoniot_font zoniot-icon-shanjian"></i>
|
|
|
+ </div>
|
|
|
<div class="sunm" v-else style="cursor: inherit"></div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -84,7 +108,9 @@ export default {
|
|
|
chargeName: '',
|
|
|
chargeMode: '',
|
|
|
chargePrice: '',
|
|
|
+ chargeCycle: '',
|
|
|
chargeCycleUnit: 1,
|
|
|
+ lateFee: 0.0,
|
|
|
remark: '',
|
|
|
ladderList: [
|
|
|
{
|
|
@@ -130,8 +156,8 @@ export default {
|
|
|
},
|
|
|
{
|
|
|
label: '计费周期',
|
|
|
- prop: 'chargeCycleUnit',
|
|
|
- slot: 'chargeCycleUnit'
|
|
|
+ prop: 'chargeCycle',
|
|
|
+ slot: 'chargeCycle'
|
|
|
},
|
|
|
{
|
|
|
label: '收滞纳金',
|
|
@@ -268,6 +294,25 @@ export default {
|
|
|
this.cols[0][12 - a].offShow = true;
|
|
|
}
|
|
|
},
|
|
|
+ lateAdd(fu) {
|
|
|
+ if (this.formData.lateFee == null || this.formData.lateFee == undefined) {
|
|
|
+ this.formData.lateFee = 0.0;
|
|
|
+ }
|
|
|
+ let newx = Number(Number(this.formData.lateFee).toFixed(2));
|
|
|
+ if (newx >= 0) {
|
|
|
+ if (fu === '-') {
|
|
|
+ if (newx <= 0) {
|
|
|
+ this.formData.lateFee = 0.0;
|
|
|
+ } else {
|
|
|
+ this.formData.lateFee = Number(Number(this.formData.lateFee - 0.1).toFixed(2));
|
|
|
+ }
|
|
|
+ } else if (fu === '+') {
|
|
|
+ this.formData.lateFee = Number(Number(this.formData.lateFee + 0.1).toFixed(2));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.formData.lateFee = 0.0;
|
|
|
+ }
|
|
|
+ },
|
|
|
submit() {
|
|
|
new Promise((resolve) => {
|
|
|
this.$refs.form.validate(resolve);
|
|
@@ -280,6 +325,7 @@ export default {
|
|
|
var loading = this.$loading();
|
|
|
let url = '/sc-charge/scChargeStrategy/add';
|
|
|
if (this.params.todo === 'edit') {
|
|
|
+ formData.id = this.params.data.id;
|
|
|
url = '/sc-charge/scChargeStrategy/update';
|
|
|
}
|
|
|
this.$http
|
|
@@ -309,7 +355,7 @@ export default {
|
|
|
};
|
|
|
if (this.formData.chargeType === 1) {
|
|
|
installData.chargePrice = this.formData.chargePrice;
|
|
|
- installData.chargeCycleUnit = this.formData.chargeCycleUnit;
|
|
|
+ installData.chargeCycle = this.formData.chargeCycle;
|
|
|
installData.lateFee = this.formData.lateFee;
|
|
|
installData.arrearsDays = this.formData.arrearsDays;
|
|
|
installData.generationRules = this.formData.generationRules;
|
|
@@ -317,7 +363,7 @@ export default {
|
|
|
if (this.formData.chargeMode === 2) {
|
|
|
installData.chargePrice = this.formData.chargePrice;
|
|
|
} else {
|
|
|
- installData.chargeCycleUnit = this.formData.chargeCycleUnit;
|
|
|
+ installData.chargeCycle = this.formData.chargeCycle;
|
|
|
installData.ladderList = this.formData.ladderList;
|
|
|
}
|
|
|
}
|
|
@@ -341,7 +387,7 @@ export default {
|
|
|
created() {
|
|
|
if (this.params.todo == 'edit') {
|
|
|
Object.assign(this.formData, this.params.data);
|
|
|
- this.formData.ladderList = JSON.parse(this.formData.chargePriceLadder) || this.formData.ladderList;
|
|
|
+ this.formData.ladderList = JSON.parse(this.formData.chargePriceLadder) || this.formData.ladderList;
|
|
|
}
|
|
|
}
|
|
|
};
|
|
@@ -352,13 +398,39 @@ export default {
|
|
|
}
|
|
|
.form-item-flex {
|
|
|
display: flex;
|
|
|
- /deep/ .el-input-number--small {
|
|
|
- width: 110px;
|
|
|
- }
|
|
|
+
|
|
|
.input {
|
|
|
width: 110px;
|
|
|
margin: 0 15px 0 12px;
|
|
|
}
|
|
|
+ .input-number {
|
|
|
+ width: 110px;
|
|
|
+ .input-button {
|
|
|
+ line-height: 15px;
|
|
|
+ .up {
|
|
|
+ position: absolute;
|
|
|
+ top: 2px;
|
|
|
+ height: 16px;
|
|
|
+ width: 25px;
|
|
|
+ right: -4px;
|
|
|
+ border-radius: 0px 4px 0 0;
|
|
|
+ background: #f5f7fa;
|
|
|
+ border-bottom: 1px solid #dcdfe6;
|
|
|
+ border-left: 1px solid #dcdfe6;
|
|
|
+ }
|
|
|
+ .down {
|
|
|
+ position: absolute;
|
|
|
+ bottom: 1px;
|
|
|
+ height: 16px;
|
|
|
+ width: 25px;
|
|
|
+ right: -4px;
|
|
|
+ background: #f5f7fa;
|
|
|
+ border-radius: 0 0 4px 0;
|
|
|
+ border-top: 1px solid #dcdfe6;
|
|
|
+ border-left: 1px solid #dcdfe6;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
.input100 {
|
|
|
width: 100px;
|
|
|
}
|