sale-client 3.6.172 → 3.6.173
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/components/chargeBatch/CardList.vue +2 -2
- package/src/components/chargeBatch/RecordCancel.vue +2 -0
- package/src/components/revenue/comprehen/SpecialUser/BlackList/BlackListList.vue +8 -0
- package/src/filiale/gehua/PriceChangeCompensation/GroupCompensation.vue +22 -0
- package/src/filiale/gehua/PriceChangeCompensation/GroupJbCompensation.vue +368 -0
- package/src/filiale/gehua/PriceChangeCompensation/OweRecordQuery.vue +184 -0
- package/src/filiale/gehua/PriceChangeCompensation/SurplusRecordDetail.vue +85 -37
- package/src/filiale/gehua/sale.js +4 -0
package/package.json
CHANGED
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
<a @click.stop="$parent.$parent.$parent.operate('票据明细', row)" href="#">票据明细打印</a>
|
|
72
72
|
</li>
|
|
73
73
|
<li
|
|
74
|
-
v-if="(row.type === '批量收费'||row.type === '
|
|
74
|
+
v-if="(row.type === '批量收费'||row.type === '团体调价补费' || row.type === '迁表' || row.type === '拆表' || row.type === '物联网开户' || row.type === '物联网收费' || row.type === '其他收费'|| row.type === '气费减免'||row.type === '维修收费' || row.type === '过户' || row.type === '换新表' || row.type === '气表清零' || row.type === '机表收费' || row.type === '超用收费' || row.type === '其他收费' || row.type === '补卡'|| row.type === '调价补费'|| row.type=='预存缴费' || row.type==='卡表赠气'|| row.type==='物联网赠费'|| row.type==='卡表赠费'|| row.type==='物联网赠气')||row.type==='气损收费'">
|
|
75
75
|
<a @click.stop="$parent.$parent.$parent.operate('撤销', row)" href="#">撤销</a>
|
|
76
76
|
</li>
|
|
77
77
|
<li v-else>
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
<advance-delivery-detail :data="row" v-if="row.type ==='卡表预交' "></advance-delivery-detail>
|
|
134
134
|
<machinemetercenter-detail :data="row" v-if="row.type === '预存缴费'"></machinemetercenter-detail>
|
|
135
135
|
<gasloss-detail :data="row" v-if="row.type === '气损收费'"></gasloss-detail>
|
|
136
|
-
<batch-charge-detail :data="row" v-if="row.type === '批量收费' || row.type === '团体收费' || row.type === '团体退费' || row.type === '团体补费' || row.type === '团体扣费'"></batch-charge-detail>
|
|
136
|
+
<batch-charge-detail :data="row" v-if="row.type === '批量收费'|| row.type === '团体调价补费'|| row.type === '团体调价补费撤销' || row.type === '团体收费' || row.type === '团体退费' || row.type === '团体补费' || row.type === '团体扣费'"></batch-charge-detail>
|
|
137
137
|
</div>
|
|
138
138
|
<div style="margin-top: 8px;background: #FFF;" v-if="!$parent.$parent.$parent.isSelected(row)">
|
|
139
139
|
<span>{{row.f_describe}}</span>
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
v-model="model.f_user_phone">
|
|
28
28
|
</div>
|
|
29
29
|
<div class="form-group col-sm-3 button-range" style="padding-right: 10px">
|
|
30
|
+
<import-excel v-if="$parent.$parent.blackImport === '黑名单导入'" template-name="黑名单用户导入模板" logic-name="BlackListImport" import-json="blacklist.json"></import-excel>
|
|
30
31
|
<button @click="$parent.$parent.search()" class="button_search button_spacing" style="width:80px;margin-left:30px;" v-el:cx>查询</button>
|
|
31
32
|
<button @click="$parent.$parent.add()" class="button_export button_spacing" style="width: max-content;"
|
|
32
33
|
v-el:cx>新增黑名单
|
|
@@ -170,6 +171,7 @@
|
|
|
170
171
|
user: []
|
|
171
172
|
},
|
|
172
173
|
criteriaShow: false,
|
|
174
|
+
blackImport: '',
|
|
173
175
|
model: new PagedList('rs/sql/sale_getBlackList', 20),
|
|
174
176
|
// 公司下拉
|
|
175
177
|
curorgid: [this.$login.f.orgid],
|
|
@@ -196,9 +198,15 @@
|
|
|
196
198
|
ispartial: false
|
|
197
199
|
},
|
|
198
200
|
ready () {
|
|
201
|
+
this.getAuthority()
|
|
199
202
|
this.search()
|
|
200
203
|
},
|
|
201
204
|
methods: {
|
|
205
|
+
getAuthority () {
|
|
206
|
+
if (this.$login.r.find(value => value == '黑名单导入')) {
|
|
207
|
+
this.blackImport = '黑名单导入'
|
|
208
|
+
}
|
|
209
|
+
},
|
|
202
210
|
async getRes (condition, obj) {
|
|
203
211
|
console.log('condition =', condition)
|
|
204
212
|
console.log('obj =', obj)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto">
|
|
3
|
+
<surplus-record-detail :row.sync="row" :civill.sync="civill"></surplus-record-detail>
|
|
4
|
+
<group-jb-compensation :row.sync="row" :civill="civill"></group-jb-compensation>
|
|
5
|
+
</div>
|
|
6
|
+
</template>
|
|
7
|
+
<script>
|
|
8
|
+
import GroupJbCompensation from './GroupJbCompensation'
|
|
9
|
+
import SurplusRecordDetail from './SurplusRecordDetail'
|
|
10
|
+
|
|
11
|
+
export default {
|
|
12
|
+
components: {GroupJbCompensation,SurplusRecordDetail},
|
|
13
|
+
title: '团缴调价补差',
|
|
14
|
+
data () {
|
|
15
|
+
return {
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
props: ['row', 'civill'],
|
|
19
|
+
ready () {
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
</script>
|
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="flex-row">
|
|
3
|
+
<div class="span" style="overflow-y: auto;">
|
|
4
|
+
<validator name='v'>
|
|
5
|
+
<form novalidate class="form-horizontal">
|
|
6
|
+
<div class="row">
|
|
7
|
+
<div class="col-sm-4">
|
|
8
|
+
<label class=" font_normal_body">团体调价补差</label>
|
|
9
|
+
<v-select v-model="f_compensation_type"
|
|
10
|
+
placeholder='请选择'
|
|
11
|
+
:value-single="true"
|
|
12
|
+
:value.sync="model.f_compensation_type"
|
|
13
|
+
:options='compensationTypes'
|
|
14
|
+
close-on-select clear-button></v-select>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="col-sm-4">
|
|
17
|
+
<label class=" font_normal_body" title="参数名称:付款方式">收款方式</label>
|
|
18
|
+
<v-select v-model="f_payment"
|
|
19
|
+
placeholder='请选择'
|
|
20
|
+
:value.sync="model.f_payment"
|
|
21
|
+
:options='paytype'
|
|
22
|
+
close-on-select clear-button></v-select>
|
|
23
|
+
</div>
|
|
24
|
+
<div class="col-sm-4" :class="[$v.printstyle.required ? 'select-error' : '']">
|
|
25
|
+
<label for="f_print" class="font_normal_body">打印格式</label>
|
|
26
|
+
<input type="text" v-show="false" v-model="$refs.printstyle.selectedItems"
|
|
27
|
+
v-validate:printstyle='{required: true }'>
|
|
28
|
+
<v-select id="print"
|
|
29
|
+
v-model="f_print"
|
|
30
|
+
placeholder='请选择'
|
|
31
|
+
:multiple="mulPrint"
|
|
32
|
+
:value.sync="model.f_print"
|
|
33
|
+
:options='printstyle'
|
|
34
|
+
close-on-select clear-button v-ref:printstyle>
|
|
35
|
+
</v-select>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="row" style="margin-top:6px;">
|
|
39
|
+
<div class="col-sm-8">
|
|
40
|
+
<label for="f_comments" class="font_normal_body"> 备注 </label>
|
|
41
|
+
<input class="input_search" style="width:80%" v-model="model.f_comments" rows="1" placeholder="备注">
|
|
42
|
+
</div>
|
|
43
|
+
<div class="col-sm-4"
|
|
44
|
+
:class="[$v.f_preamount.required || $v.f_preamount.dctest ? 'has-error' : 'has-success']">
|
|
45
|
+
<label for="f_collection" class="font_normal_body"
|
|
46
|
+
v-if="model.f_compensation_type == '调价补费'">应补金额</label>
|
|
47
|
+
<label for="f_collection" class="font_normal_body" v-else>应退金额</label>
|
|
48
|
+
<input id="f_collection" class="input_search" style="width:60%" type="number" v-model="model.f_preamount"
|
|
49
|
+
readonly
|
|
50
|
+
v-scale="[model.f_preamount, 4]"
|
|
51
|
+
v-validate:f_preamount='{required: true, dctest: [(model.f_preamount - 0), ">=" ] }'
|
|
52
|
+
placeholder="补费金额">
|
|
53
|
+
</div>
|
|
54
|
+
|
|
55
|
+
</div>
|
|
56
|
+
<div class="row" style="margin-top:6px;">
|
|
57
|
+
<div class="col-sm-4">
|
|
58
|
+
<label for="f_balance" class="font_normal_body">上期结余</label>
|
|
59
|
+
<input class="input_search" style="width:60%" type="number" v-model="model.f_balance"
|
|
60
|
+
v-scale="[model.f_balance, 4]" placeholder="上期结余" disabled>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<div class="col-sm-4">
|
|
64
|
+
<label for="f_curbalance" class="font_normal_body">本期结余</label>
|
|
65
|
+
<input class="input_search" style="width:60%" type="number" v-model="curbalance"
|
|
66
|
+
v-scale="[curbalance, 2]" placeholder="本期结余" disabled>
|
|
67
|
+
</div>
|
|
68
|
+
<div class="col-sm-4"
|
|
69
|
+
:class="[$v.f_collection.required || $v.f_collection.dctest ? 'has-error' : 'has-success']">
|
|
70
|
+
<label for="f_collection" class=" font_normal_body">实际收款</label>
|
|
71
|
+
<input class="input_search" style="width:60%" type="number" v-model="model.f_collection"
|
|
72
|
+
v-scale="[model.f_collection, 4]"
|
|
73
|
+
v-validate:f_preamount='{required: true, dctest: [(model.f_preamount - 0), ">=" ] }'
|
|
74
|
+
placeholder="实际收款">
|
|
75
|
+
</div>
|
|
76
|
+
<div class="row" style="margin-top:6px;">
|
|
77
|
+
<!--<div class="col-sm-4">-->
|
|
78
|
+
<!--<label for="f_change_price" class="font_normal_body">补差单价</label>-->
|
|
79
|
+
<!--<input class="input_search" style="width:60%" type="number" v-model="model.f_change_price"-->
|
|
80
|
+
<!--v-scale="[model.f_change_price, 4]" placeholder="补差单价" readonly>-->
|
|
81
|
+
<!--</div>-->
|
|
82
|
+
<div class="col-sm-4">
|
|
83
|
+
<label for="f_real_amount" class="font_normal_body">补差气量</label>
|
|
84
|
+
<input class="input_search" style="width:60%" type="number" v-model="model.f_real_amount"
|
|
85
|
+
v-scale="[model.f_real_amount, 4]" placeholder="补差气量" readonly>
|
|
86
|
+
</div>
|
|
87
|
+
<div class="col-sm-4" :class="[$v.f_surplus_fee.required ? 'has-error' : 'has-success']">
|
|
88
|
+
<label for="f_surplus_fee" class="font_normal_body">补差金额</label>
|
|
89
|
+
<input class="input_search" style="width:60%" type="number" v-model="model.f_surplus_fee"
|
|
90
|
+
v-scale="[model.f_surplus_fee, 4]" placeholder="补差金额"
|
|
91
|
+
v-validate:f_surplus_fee='{required: true}'>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
</form>
|
|
96
|
+
<validate-bill v-if="hasValidateBill" :data="model" @validate-bill="validateBill"></validate-bill>
|
|
97
|
+
<print-bill :show="print" :bill-config='config' :bill-data='billData' :data='row' @toggle="close"
|
|
98
|
+
@printok="printok" v-ref:printbill></print-bill>
|
|
99
|
+
<div style="text-align:right; height: 25%">
|
|
100
|
+
<strong style="font-size: large"
|
|
101
|
+
v-if="!config.notShowFormula">计算公式:{{ calculatedetail ? calculatedetail : ' 暂无' }}</strong><br/>
|
|
102
|
+
<payment-code-button :clickable="!$v.valid || clickConfirm"
|
|
103
|
+
:payment.sync="model.f_payment" :payment-data="paytype"
|
|
104
|
+
@confirm-payment="confirm()">
|
|
105
|
+
</payment-code-button>
|
|
106
|
+
<button class="button_search btn-gn" type="submit" @click="confirm()" :disabled='!$v.valid || clickConfirm'>
|
|
107
|
+
确认
|
|
108
|
+
</button>
|
|
109
|
+
<button class="button_clear btn-gn" @click="clean()">取消</button>
|
|
110
|
+
</div>
|
|
111
|
+
</validator>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
<payment-code v-ref:paymentcode :payment="model.f_payment" :row="row" :money="model.f_collection"></payment-code>
|
|
115
|
+
<upload :blodid="blodid" v-if="config.showupload" isremark="true" fusetype="团体调价补差"></upload>
|
|
116
|
+
</template>
|
|
117
|
+
<script>
|
|
118
|
+
import {HttpResetClass} from 'vue-client'
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
*综合业务
|
|
122
|
+
*团体调价补差收费组件
|
|
123
|
+
*/
|
|
124
|
+
|
|
125
|
+
let compensationChargeGen = async function (self) {
|
|
126
|
+
try {
|
|
127
|
+
if (self.paymentModel.length === 0) {
|
|
128
|
+
self.paymentModel = [{
|
|
129
|
+
f_payment: self.model.f_payment[0],
|
|
130
|
+
f_money: self.model.f_preamount
|
|
131
|
+
}]
|
|
132
|
+
}
|
|
133
|
+
self.model.payments = self.paymentModel
|
|
134
|
+
|
|
135
|
+
let param = Object.assign({}, {}, self.model)
|
|
136
|
+
param.f_payment = self.model.f_payment.toString()
|
|
137
|
+
param.f_print = self.model.f_print.toString()
|
|
138
|
+
// 加入扫码盒付款码支付流水号
|
|
139
|
+
param.f_serial_id = self.$refs.paymentcode.paymentCodeReturnData.f_out_trade_no
|
|
140
|
+
let res = await self.$resetpost('rs/logic/groupJBCompensation', {data: {model: param, row: self.row}}, {
|
|
141
|
+
warnMsg: `确定对客户${self.row.f_user_name}进行团体调价补差吗?`,
|
|
142
|
+
resolveMsg: '团体调价补差成功!!',
|
|
143
|
+
rejectMsg: '团体调价补差出错!!!'
|
|
144
|
+
})
|
|
145
|
+
// 开始打票
|
|
146
|
+
console.log('开始打票', self.config)
|
|
147
|
+
if (self.config.hasPrint) {
|
|
148
|
+
if (self.config.printType != '电子发票') {
|
|
149
|
+
if (self.config.hasBillManage) {
|
|
150
|
+
// 启用发票管理,获取票据管理中的票号并存储记录
|
|
151
|
+
self.row.id = res.data.id
|
|
152
|
+
self.row.f_bill_type = '团体调价补差'
|
|
153
|
+
self.row.f_bill_style = self.model.f_print[0]
|
|
154
|
+
self.print = true
|
|
155
|
+
} else {
|
|
156
|
+
self.row.id = res.data.id
|
|
157
|
+
self.print = true
|
|
158
|
+
}
|
|
159
|
+
} else if (self.config.printType === '国税发票') {
|
|
160
|
+
// TODO
|
|
161
|
+
} else if (self.config.printType === '电子发票') {
|
|
162
|
+
// TODO
|
|
163
|
+
}
|
|
164
|
+
} else {
|
|
165
|
+
self.$dispatch('success')
|
|
166
|
+
}
|
|
167
|
+
} catch (error) {
|
|
168
|
+
if (error.status === 301) {
|
|
169
|
+
self.$dispatch('refresh')
|
|
170
|
+
} else {
|
|
171
|
+
if (error) {
|
|
172
|
+
self.$showAlert(error, 'danger', 0)
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
self.$dispatch('refresh')
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
let asyncCardMeterCenter = async function (self) {
|
|
180
|
+
await self.$getConfig(self, 'JbCompensation')
|
|
181
|
+
console.log('卡表收费config', self.config)
|
|
182
|
+
self.blodid = self.row.f_userinfo_id
|
|
183
|
+
// 默认打印格式
|
|
184
|
+
self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
|
|
185
|
+
self.model.f_payment = [self.config.payment]
|
|
186
|
+
self.mulPrint = self.config.printType instanceof Array
|
|
187
|
+
let http = new HttpResetClass()
|
|
188
|
+
let getSurplus = await http.load('POST', 'rs/sql/singleTable_OrderBy',
|
|
189
|
+
{
|
|
190
|
+
data: {
|
|
191
|
+
items: 'sum(f_real_amount) f_real_amount,sum(f_surplus_fee) f_surplus_fee',
|
|
192
|
+
tablename: 't_surplus_detail',
|
|
193
|
+
condition: `f_userinfo_id = any(select f_userinfo_id from t_userfiles where f_civill_id = '${self.civill}') and f_state='有效' and f_whether_pay = '否' `,
|
|
194
|
+
orderitem: 'f_surplus_fee'
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
{resolveMsg: null, rejectMsg: null})
|
|
198
|
+
if (getSurplus.data.length > 0) {
|
|
199
|
+
self.model.f_preamount = getSurplus.data[0].f_surplus_fee
|
|
200
|
+
self.model.f_collection = getSurplus.data[0].f_surplus_fee
|
|
201
|
+
self.model.f_surplus_fee = getSurplus.data[0].f_surplus_fee
|
|
202
|
+
self.model.f_real_amount = getSurplus.data[0].f_real_amount
|
|
203
|
+
// self.model.f_change_price=getSurplus.data[0].f_change_price
|
|
204
|
+
}
|
|
205
|
+
//self.model.f_price = getPrice.data[0].f_price
|
|
206
|
+
// 获取当前票号用
|
|
207
|
+
self.model.f_use_type = self.config.billType
|
|
208
|
+
self.model.f_bill_type = self.model.f_print
|
|
209
|
+
self.hasValidateBill = self.config.hasBillManage
|
|
210
|
+
}
|
|
211
|
+
export default {
|
|
212
|
+
title: '机表团体调价补差收费',
|
|
213
|
+
data () {
|
|
214
|
+
return {
|
|
215
|
+
config: {
|
|
216
|
+
notShowFormula: false, // 不显示计算公式,默认显示
|
|
217
|
+
// 控制附件显示
|
|
218
|
+
showupload: false,
|
|
219
|
+
hasPrint: false, // 默认打票
|
|
220
|
+
hasBillManage: false, // 默认不启用发票管理
|
|
221
|
+
billType: '燃气费', // 票据类型(燃气费,其他费用,调用的发票代码不同)
|
|
222
|
+
printType: '普通收据', // 收据/电子票/专用发票/国税发票
|
|
223
|
+
payment: '现金缴费'
|
|
224
|
+
},
|
|
225
|
+
model: {
|
|
226
|
+
f_compensation_type: '调价补费',
|
|
227
|
+
f_print: '',
|
|
228
|
+
f_balance: '',
|
|
229
|
+
f_preamount: '',
|
|
230
|
+
f_payment: '',
|
|
231
|
+
f_collection: '',
|
|
232
|
+
f_surplus_fee: '',
|
|
233
|
+
f_real_amount: ''
|
|
234
|
+
// f_change_price:''
|
|
235
|
+
},
|
|
236
|
+
blodid: '',
|
|
237
|
+
// 启用发票管理需要对票号进行验证
|
|
238
|
+
hasValidateBill: false,
|
|
239
|
+
validateOk: false,
|
|
240
|
+
print: false,
|
|
241
|
+
billData: {
|
|
242
|
+
url: 'rs/report/compensation_bill',
|
|
243
|
+
billnumber: ''
|
|
244
|
+
},
|
|
245
|
+
paymentModel: [],
|
|
246
|
+
mulPrint: false,
|
|
247
|
+
clickConfirm: false, // 控制确认按钮只能点击一次
|
|
248
|
+
// 下拉框值
|
|
249
|
+
paytype: this.$appdata.getParam('付款方式'),
|
|
250
|
+
printstyle: this.$appdata.getParam('打印格式'),
|
|
251
|
+
compensationTypes: [{label: '调价补费', value: '调价补费'}]
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
props: ['row', 'civill'],
|
|
255
|
+
ready () {
|
|
256
|
+
if (this.row) {
|
|
257
|
+
this.model.f_balance = this.row.f_balance
|
|
258
|
+
asyncCardMeterCenter(this)
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
},
|
|
262
|
+
watch: {
|
|
263
|
+
'row' (val) {
|
|
264
|
+
if (val) {
|
|
265
|
+
this.model.f_balance = this.row.f_balance
|
|
266
|
+
asyncCardMeterCenter(this)
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
},
|
|
270
|
+
'model.f_payment.length' (val) {
|
|
271
|
+
console.log('付款方式多选。。', val)
|
|
272
|
+
if (val > 1 && !this.model.f_preamount) {
|
|
273
|
+
this.model.f_payment = ['现金缴费']
|
|
274
|
+
this.$showAlert('请先计算付款金额', 'warning', 2000)
|
|
275
|
+
} else {
|
|
276
|
+
this.paymentModel = []
|
|
277
|
+
|
|
278
|
+
this.model.f_payment.forEach((res) => {
|
|
279
|
+
let temp = {
|
|
280
|
+
f_payment: res,
|
|
281
|
+
f_money: 0
|
|
282
|
+
}
|
|
283
|
+
this.paymentModel.push(temp)
|
|
284
|
+
})
|
|
285
|
+
this.$resetValidation()
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
methods: {
|
|
290
|
+
async confirm () {
|
|
291
|
+
this.clickConfirm = true
|
|
292
|
+
this.$dispatch('no-button')
|
|
293
|
+
this.model.f_userinfo_id = this.row.f_userinfo_id
|
|
294
|
+
this.model.f_userfiles_id = this.row.f_userfiles_id
|
|
295
|
+
this.model.version = this.row.version
|
|
296
|
+
this.model.f_surplus_id = this.row.f_surplus_id
|
|
297
|
+
this.model.f_user_id = this.row.f_user_id
|
|
298
|
+
this.model.f_total_fee = ((this.row.f_total_fee - 0) + (this.model.f_collection - 0)).toFixed(2)
|
|
299
|
+
this.model.f_total_usegas_amount = ((this.row.f_total_usegas_amount - 0) + (this.model.f_collection - 0)).toFixed(2)
|
|
300
|
+
this.model.f_total_gas = (this.row.f_total_gas - 0)
|
|
301
|
+
this.model.f_balance = this.row.f_balance - 0
|
|
302
|
+
this.model.f_curbalance = this.row.f_balance - 0
|
|
303
|
+
this.model.f_user_name = this.row.f_user_name
|
|
304
|
+
this.model.f_user_type = this.row.f_user_type
|
|
305
|
+
this.model.f_meter_type = this.row.f_meter_type
|
|
306
|
+
this.model.f_price_id = this.row.f_price_id
|
|
307
|
+
this.model.f_meter_brand = this.row.f_meter_brand
|
|
308
|
+
this.model.f_meter_style = this.row.f_meter_style
|
|
309
|
+
this.model.f_stairprice_id = this.row.f_stairprice_id
|
|
310
|
+
this.model.f_gasproperties = this.row.f_gasproperties
|
|
311
|
+
this.model.f_address = this.row.f_address
|
|
312
|
+
this.model.f_collection2 = (this.model.f_collection - 0) - (this.model.f_preamount - 0)
|
|
313
|
+
this.model.f_curbalance2 = this.curbalance
|
|
314
|
+
this.model.f_collection = (this.model.f_compensation_type == '调价补费' ? this.model.f_preamount : (0 - this.model.f_preamount))
|
|
315
|
+
this.model.f_times = this.row.f_times
|
|
316
|
+
this.model.f_type = this.model.f_compensation_type
|
|
317
|
+
this.model.f_state = '有效'
|
|
318
|
+
this.model.f_operat_type = this.model.f_compensation_type
|
|
319
|
+
this.model.f_describe = `${this.$login.f.name}对${this.row.f_user_name}进行${this.model.f_compensation_type}操作`
|
|
320
|
+
this.model.f_operator = this.$login.f.name
|
|
321
|
+
this.model.f_operatorid = this.$login.f.id
|
|
322
|
+
this.model.f_orgid = this.row.f_orgid
|
|
323
|
+
this.model.f_orgname = this.row.f_orgname
|
|
324
|
+
this.model.f_depid = this.$login.f.depids
|
|
325
|
+
this.model.f_depname = this.$login.f.deps
|
|
326
|
+
// 先调用付款码支付组件流程
|
|
327
|
+
let ss = await this.$refs.paymentcode.flowPath()
|
|
328
|
+
this.$refs.paymentcode.paymentCodeShow = false
|
|
329
|
+
console.log('付款码操作返回', ss)
|
|
330
|
+
if (!ss.result) return
|
|
331
|
+
compensationChargeGen(this)
|
|
332
|
+
},
|
|
333
|
+
clean () {
|
|
334
|
+
this.$info('取消操作')
|
|
335
|
+
this.$dispatch('refresh', this.row)
|
|
336
|
+
},
|
|
337
|
+
validateBill (val) {
|
|
338
|
+
this.validateOk = !val.isOk
|
|
339
|
+
this.billData.bill = val.bill
|
|
340
|
+
},
|
|
341
|
+
printok () {
|
|
342
|
+
// 收据打完,判断是否还有其他票据进行请求
|
|
343
|
+
for (let i = 0; i < this.model.f_print.length; i++) {
|
|
344
|
+
if (this.model.f_print[i] === '电子发票') {
|
|
345
|
+
this.$CommonService.openEticket(this.row.id, '售气收费')
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
this.$dispatch('success')
|
|
349
|
+
},
|
|
350
|
+
close () {
|
|
351
|
+
this.print = false
|
|
352
|
+
this.clean()
|
|
353
|
+
}
|
|
354
|
+
},
|
|
355
|
+
computed: {
|
|
356
|
+
'curbalance' () {
|
|
357
|
+
if (this.model.f_collection) {
|
|
358
|
+
return ((this.row.f_balance - 0) + ((this.model.f_collection - 0) - (this.model.f_preamount - 0))).toFixed(2)
|
|
359
|
+
} else {
|
|
360
|
+
return this.row.f_balance
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
</script>
|
|
366
|
+
|
|
367
|
+
<style>
|
|
368
|
+
</style>
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="basic-main flex">
|
|
3
|
+
<div style="height: 400px;background:#E6E6FA;">
|
|
4
|
+
<data-grid :model="owe" class="table_sy" partial='list' v-ref:grid>
|
|
5
|
+
<template partial='head'>
|
|
6
|
+
<tr>
|
|
7
|
+
<th>
|
|
8
|
+
<nobr>序号</nobr>
|
|
9
|
+
</th>
|
|
10
|
+
<th>
|
|
11
|
+
<nobr>客户编号</nobr>
|
|
12
|
+
</th>
|
|
13
|
+
<th>
|
|
14
|
+
<nobr>客户姓名</nobr>
|
|
15
|
+
</th>
|
|
16
|
+
<th>
|
|
17
|
+
<nobr>气表类型</nobr>
|
|
18
|
+
</th>
|
|
19
|
+
<th>
|
|
20
|
+
<nobr>欠费期数</nobr>
|
|
21
|
+
</th>
|
|
22
|
+
<th>
|
|
23
|
+
<nobr>欠费区间</nobr>
|
|
24
|
+
</th>
|
|
25
|
+
<th>
|
|
26
|
+
<nobr>上期底数</nobr>
|
|
27
|
+
</th>
|
|
28
|
+
<th>
|
|
29
|
+
<nobr>本期底数</nobr>
|
|
30
|
+
</th>
|
|
31
|
+
<th>
|
|
32
|
+
<nobr>用气量</nobr>
|
|
33
|
+
</th>
|
|
34
|
+
<th>
|
|
35
|
+
<nobr>用气金额</nobr>
|
|
36
|
+
</th>
|
|
37
|
+
<th>
|
|
38
|
+
<nobr>已交金额</nobr>
|
|
39
|
+
</th>
|
|
40
|
+
<th>
|
|
41
|
+
<nobr>应交气费</nobr>
|
|
42
|
+
</th>
|
|
43
|
+
<th>
|
|
44
|
+
<nobr>违约金</nobr>
|
|
45
|
+
</th>
|
|
46
|
+
<th>
|
|
47
|
+
<nobr>合计欠费</nobr>
|
|
48
|
+
</th>
|
|
49
|
+
</tr>
|
|
50
|
+
</template>
|
|
51
|
+
<template partial='body'>
|
|
52
|
+
<tr>
|
|
53
|
+
<td style="text-align:center;white-space:nowrap;">{{ $index + 1 }}</td>
|
|
54
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.f_userinfo_code }}</td>
|
|
55
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.f_user_name }}</td>
|
|
56
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.f_meter_classify }}</td>
|
|
57
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.c }}</td>
|
|
58
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.f_hand_date }}</td>
|
|
59
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.f_last_tablebase }}</td>
|
|
60
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.f_tablebase }}</td>
|
|
61
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.f_oughtamount }}</td>
|
|
62
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.f_oughtfee }}</td>
|
|
63
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.f_debt_money }}</td>
|
|
64
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.f_oughtfee_new }}</td>
|
|
65
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.overdue }}</td>
|
|
66
|
+
<td style="text-align:center;white-space:nowrap;">{{ row.f_oughtfee_all }}</td>
|
|
67
|
+
</tr>
|
|
68
|
+
</template>
|
|
69
|
+
</data-grid>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
<div class="auto" style="margin-top: 1%;">
|
|
73
|
+
<div style="height: auto" class="select-overspread">
|
|
74
|
+
<div class="form-inline" style="height: auto">
|
|
75
|
+
<div class="form-group" v-for="btn in operBtns">
|
|
76
|
+
<button :id="btn.name" type="button" style="color:black"
|
|
77
|
+
:class="[($index === 0) ? 'btn btn-click' : 'btn btn-un-click']" @click="business(btn)">
|
|
78
|
+
<span style="color:black">{{ btn.name }}</span>
|
|
79
|
+
</button>
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
<div v-show="chargeShow" style="height: auto" class="select-overspread">
|
|
83
|
+
<route v-ref:route></route>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
</template>
|
|
88
|
+
|
|
89
|
+
<script>
|
|
90
|
+
import {HttpResetClass} from 'vue-client'
|
|
91
|
+
|
|
92
|
+
export default {
|
|
93
|
+
title: '批量欠费查询',
|
|
94
|
+
data () {
|
|
95
|
+
return {
|
|
96
|
+
owe: {rows: []},
|
|
97
|
+
model: {f_collection: 0},
|
|
98
|
+
civill: null,
|
|
99
|
+
chargeShow: false,
|
|
100
|
+
operBtns: [
|
|
101
|
+
{name: '团体缴费', value: {routeName: 'batch-charge'}},
|
|
102
|
+
{name: '余额退款', value: {routeName: 'group-refund'}},
|
|
103
|
+
{name: '补费扣费', value: {routeName: 'group-fee-deduction'}},
|
|
104
|
+
{name: '制磁条卡', value: {routeName: 'show-citiao_card'}}
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
props: ['searchdata', 'f_civill_id', 'row'],
|
|
109
|
+
ready () {
|
|
110
|
+
this.getsalerecord()
|
|
111
|
+
},
|
|
112
|
+
methods: {
|
|
113
|
+
async getsalerecord () {
|
|
114
|
+
let surplusdata = {
|
|
115
|
+
data: {
|
|
116
|
+
items: '*',
|
|
117
|
+
tablename: 't_surplus_detail',
|
|
118
|
+
condition: `f_userinfo_id = any(select f_userinfo_id from t_userfiles where f_civill_id = '${this.f_civill_id}') and f_state='有效' and f_whether_pay = '否'`,
|
|
119
|
+
orderitem: 'f_userinfo_id'
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
this.$resetpost('rs/sql/singleTable_OrderBy', surplusdata).then((res) => {
|
|
123
|
+
if (res.data.length === 0) {
|
|
124
|
+
this.operBtns = [
|
|
125
|
+
{name: '团体缴费', value: {routeName: 'batch-charge'}},
|
|
126
|
+
{name: '余额退款', value: {routeName: 'group-refund'}},
|
|
127
|
+
{name: '补费扣费', value: {routeName: 'group-fee-deduction'}},
|
|
128
|
+
{name: '制磁条卡', value: {routeName: 'show-citiao_card'}}
|
|
129
|
+
]
|
|
130
|
+
this.getsale()
|
|
131
|
+
} else {
|
|
132
|
+
this.operBtns = [{name: '团体调价补差', value: {routeName: 'group-compensation'}}]
|
|
133
|
+
this.business(this.operBtns[0])
|
|
134
|
+
}
|
|
135
|
+
})
|
|
136
|
+
},
|
|
137
|
+
async getsale () {
|
|
138
|
+
let http = new HttpResetClass()
|
|
139
|
+
if (this.f_civill_id) {
|
|
140
|
+
this.condition = `p.f_civill_id = ${this.f_civill_id}`
|
|
141
|
+
} else {
|
|
142
|
+
let userfiles = Array.from(this.searchdata.keys())
|
|
143
|
+
this.condition = `p.f_userfiles_id in (${userfiles})`
|
|
144
|
+
}
|
|
145
|
+
let record = await http.load('POST', 'rs/logic/batchOwe', {
|
|
146
|
+
data: {
|
|
147
|
+
condition: this.condition,
|
|
148
|
+
f_civill_id: this.f_civill_id
|
|
149
|
+
}
|
|
150
|
+
}, {rejectMsg: '欠费查询出错!!', resolveMsg: null})
|
|
151
|
+
this.owe.rows = record.data.owe
|
|
152
|
+
this.model = Object.assign(this.model, record.data.model)
|
|
153
|
+
this.civill = record.data.civill
|
|
154
|
+
this.business(this.operBtns[0])
|
|
155
|
+
},
|
|
156
|
+
business (btn) {
|
|
157
|
+
// 处理按钮样式
|
|
158
|
+
this.styleChange(btn.name)
|
|
159
|
+
this.chargeShow = true
|
|
160
|
+
this.$refs.route.init(btn.value.routeName, {row: this.row, data: this.model, owe: this.owe, civill: this.f_civill_id})
|
|
161
|
+
},
|
|
162
|
+
styleChange (name) {
|
|
163
|
+
this.operBtns.forEach((res) => {
|
|
164
|
+
if (res.name === name) {
|
|
165
|
+
if (document.getElementById(res.name)) {
|
|
166
|
+
document.getElementById(res.name).style.backgroundColor = '#6aa6e2'
|
|
167
|
+
document.getElementById(res.name).style.color = 'white'
|
|
168
|
+
}
|
|
169
|
+
} else {
|
|
170
|
+
if (document.getElementById(res.name)) {
|
|
171
|
+
document.getElementById(res.name).style.backgroundColor = 'white'
|
|
172
|
+
document.getElementById(res.name).style.color = 'black'
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
})
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
watch: {
|
|
179
|
+
'searchdata' () {
|
|
180
|
+
this.getsalerecord()
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
</script>
|
|
@@ -1,36 +1,58 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div style="height:100%">
|
|
3
|
-
<data-grid :model="model" class="table_sy"
|
|
4
|
-
<template partial='head'
|
|
3
|
+
<data-grid :model="model" class="table_sy" partial='list' v-ref:grid>
|
|
4
|
+
<template partial='head'>
|
|
5
5
|
<tr>
|
|
6
|
-
<th style="text-align: center"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
<th style="text-align: center"
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
<th style="text-align: center">
|
|
7
|
+
<nobr>序号</nobr>
|
|
8
|
+
</th>
|
|
9
|
+
<th style="text-align: center">
|
|
10
|
+
<nobr>一阶补差单价</nobr>
|
|
11
|
+
</th>
|
|
12
|
+
<th style="text-align: center">
|
|
13
|
+
<nobr>二阶补差单价</nobr>
|
|
14
|
+
</th>
|
|
15
|
+
<th style="text-align: center">
|
|
16
|
+
<nobr>三阶补差单价</nobr>
|
|
17
|
+
</th>
|
|
18
|
+
<th style="text-align: center">
|
|
19
|
+
<nobr>补差气量</nobr>
|
|
20
|
+
</th>
|
|
21
|
+
<th style="text-align: center">
|
|
22
|
+
<nobr>补差金额</nobr>
|
|
23
|
+
</th>
|
|
12
24
|
|
|
13
|
-
<th style="text-align: center"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
<th style="text-align: center"
|
|
17
|
-
|
|
25
|
+
<th style="text-align: center">
|
|
26
|
+
<nobr>补差开始时间</nobr>
|
|
27
|
+
</th>
|
|
28
|
+
<th style="text-align: center">
|
|
29
|
+
<nobr>补差结束日期</nobr>
|
|
30
|
+
</th>
|
|
31
|
+
<th style="text-align: center">
|
|
32
|
+
<nobr>缴费状态</nobr>
|
|
33
|
+
</th>
|
|
34
|
+
<th style="text-align: center">
|
|
35
|
+
<nobr>操作时间</nobr>
|
|
36
|
+
</th>
|
|
37
|
+
<th style="text-align: center">
|
|
38
|
+
<nobr>操作人</nobr>
|
|
39
|
+
</th>
|
|
18
40
|
</tr>
|
|
19
41
|
</template>
|
|
20
|
-
<template partial='body'
|
|
21
|
-
<tr
|
|
22
|
-
<td style="text-align: center;">{{$index + 1}}</td>
|
|
23
|
-
<td style="text-align: center;">{{row.f_change_price1}}</td>
|
|
24
|
-
<td style="text-align: center;">{{row.f_change_price2}}</td>
|
|
25
|
-
<td style="text-align: center;">{{row.f_change_price3}}</td>
|
|
26
|
-
<td style="text-align: center;">{{row.f_real_amount}}</td>
|
|
27
|
-
<td style="text-align: center;">{{row.f_surplus_fee}}</td>
|
|
42
|
+
<template partial='body'>
|
|
43
|
+
<tr>
|
|
44
|
+
<td style="text-align: center;">{{ $index + 1 }}</td>
|
|
45
|
+
<td style="text-align: center;">{{ row.f_change_price1 }}</td>
|
|
46
|
+
<td style="text-align: center;">{{ row.f_change_price2 }}</td>
|
|
47
|
+
<td style="text-align: center;">{{ row.f_change_price3 }}</td>
|
|
48
|
+
<td style="text-align: center;">{{ row.f_real_amount }}</td>
|
|
49
|
+
<td style="text-align: center;">{{ row.f_surplus_fee }}</td>
|
|
28
50
|
|
|
29
|
-
<td style="text-align: center;">{{row.f_start_date}}</td>
|
|
30
|
-
<td style="text-align: center;">{{row.f_end_date}}</td>
|
|
31
|
-
<td style="text-align: center;">{{row.f_whether_pay}}</td>
|
|
32
|
-
<td style="text-align: center;">{{row.f_operate_date}}</td>
|
|
33
|
-
<td style="text-align: center;">{{row.f_operator}}</td>
|
|
51
|
+
<td style="text-align: center;">{{ row.f_start_date }}</td>
|
|
52
|
+
<td style="text-align: center;">{{ row.f_end_date }}</td>
|
|
53
|
+
<td style="text-align: center;">{{ row.f_whether_pay }}</td>
|
|
54
|
+
<td style="text-align: center;">{{ row.f_operate_date }}</td>
|
|
55
|
+
<td style="text-align: center;">{{ row.f_operator }}</td>
|
|
34
56
|
</tr>
|
|
35
57
|
</template>
|
|
36
58
|
</data-grid>
|
|
@@ -44,7 +66,7 @@ let asyncReady = async function (self) {
|
|
|
44
66
|
}
|
|
45
67
|
export default {
|
|
46
68
|
title: '调价补差记录',
|
|
47
|
-
props: ['row'],
|
|
69
|
+
props: ['row', 'civill'],
|
|
48
70
|
data () {
|
|
49
71
|
return {
|
|
50
72
|
model: {rows: []}
|
|
@@ -54,19 +76,45 @@ export default {
|
|
|
54
76
|
asyncReady(this)
|
|
55
77
|
},
|
|
56
78
|
methods: {
|
|
57
|
-
async refresh(){
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
79
|
+
async refresh () {
|
|
80
|
+
console.log('团缴id' + this.civill)
|
|
81
|
+
if (!this.civill) {
|
|
82
|
+
if (this.row && this.row.f_userinfo_id) {
|
|
83
|
+
let http = new HttpResetClass()
|
|
84
|
+
var suplusList = await http.load('POST', 'rs/sql/singleTable_OrderBy',
|
|
85
|
+
{
|
|
86
|
+
data: {
|
|
87
|
+
items: '*',
|
|
88
|
+
tablename: 't_surplus_detail',
|
|
89
|
+
condition: `f_userinfo_id = '${this.row.f_userinfo_id}' and f_state='有效' and f_whether_pay = '否'`,
|
|
90
|
+
orderitem: 'f_userinfo_id'
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
{resolveMsg: null, rejectMsg: null})
|
|
94
|
+
this.model.rows = suplusList.data
|
|
95
|
+
}
|
|
96
|
+
} else {
|
|
97
|
+
let http = new HttpResetClass()
|
|
98
|
+
var suplusList1 = await http.load('POST', 'rs/sql/singleTable_OrderBy',
|
|
99
|
+
{
|
|
100
|
+
data: {
|
|
101
|
+
items: '*',
|
|
102
|
+
tablename: 't_surplus_detail',
|
|
103
|
+
condition: `f_userinfo_id = any(select f_userinfo_id from t_userfiles where f_civill_id = '${this.civill}') and f_state='有效' and f_whether_pay = '否'`,
|
|
104
|
+
orderitem: 'f_userinfo_id'
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
{resolveMsg: null, rejectMsg: null})
|
|
108
|
+
this.model.rows = suplusList1.data
|
|
109
|
+
|
|
110
|
+
}
|
|
66
111
|
}
|
|
67
112
|
},
|
|
68
113
|
watch: {
|
|
69
|
-
'row.f_userfiles_id'(){
|
|
114
|
+
'row.f_userfiles_id' () {
|
|
115
|
+
this.refresh()
|
|
116
|
+
},
|
|
117
|
+
'civill' () {
|
|
70
118
|
this.refresh()
|
|
71
119
|
}
|
|
72
120
|
}
|
|
@@ -104,9 +104,13 @@ export default function () {
|
|
|
104
104
|
require(['./ChargeGroupList'], resolve) })
|
|
105
105
|
// 调价补差
|
|
106
106
|
Vue.component('compensation-manage', (resolve) => { require(['./PriceChangeCompensation/CompensationManage'], resolve) })
|
|
107
|
+
// 团体缴费查询列表
|
|
108
|
+
Vue.component('group-compensation', (resolve) => {
|
|
109
|
+
require(['./PriceChangeCompensation/GroupCompensation'], resolve) })
|
|
107
110
|
// 调价补差(新)
|
|
108
111
|
Vue.component('new-price-adjustment', (resolve) => { require(['./NewPriceAdjustment'], resolve) })
|
|
109
112
|
Vue.component('new-price-adjustment-sell', (resolve) => { require(['./NewPriceAdjustmentSell'], resolve) })
|
|
110
113
|
Vue.component('new-price-adjustment-webmeter', (resolve) => { require(['./NewPriceAdjustmentWebmeter'], resolve) })
|
|
111
114
|
Vue.component('new-price-adjustment-manage', (resolve) => { require(['./PriceAdjustmentManage'], resolve) })
|
|
115
|
+
Vue.component('owe-record-query', (resolve) => { require(['./PriceChangeCompensation/OweRecordQuery'], resolve) })
|
|
112
116
|
}
|