sale-client 3.7.63 → 3.7.64-byls
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/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
- package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
- package/.gradle/5.2.1/gc.properties +0 -0
- package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/.gradle/vcs-1/gc.properties +0 -0
- package/package.json +1 -1
- package/src/filiale/bayan/ChangeSendCard.vue +23 -0
- package/src/filiale/bayan/IotChangeFill.vue +495 -0
- package/src/filiale/bayan/sale.js +2 -0
- package/src/filiale/qingtongxia/MeterinfoTest.vue +827 -0
- package/src/filiale/qingtongxia/sale.js +2 -0
- package/src/plugins/CardService.js +1 -0
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto">
|
|
3
|
+
<card-change-fill v-if="row.f_meter_type.includes('卡表')||(row.f_meter_type.includes('物联网表') && row.f_open_type ==='发卡开户')" :row.sync="row"></card-change-fill>
|
|
4
|
+
<iot-change-fill v-if="row.f_meter_type.includes('物联网表')&& row.f_open_type !=='发卡开户'" :row.sync="row"></iot-change-fill>
|
|
5
|
+
<machine-change-fill v-if="row.f_meter_type.includes('机表')" :row.sync="row"></machine-change-fill>
|
|
6
|
+
</div>
|
|
7
|
+
</template>
|
|
8
|
+
<script>
|
|
9
|
+
import IotChangeFill from './IotChangeFill'
|
|
10
|
+
import CardChangeFill from './../../components/charge/business/CardChangeFill'
|
|
11
|
+
import MachineChangeFill from './../../components/charge/business/machine/MachineChangeFill'
|
|
12
|
+
|
|
13
|
+
export default {
|
|
14
|
+
components: {CardChangeFill, IotChangeFill, MachineChangeFill},
|
|
15
|
+
title: '换表补气',
|
|
16
|
+
data () {
|
|
17
|
+
return {
|
|
18
|
+
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
props: ['row']
|
|
22
|
+
}
|
|
23
|
+
</script>
|
|
@@ -0,0 +1,495 @@
|
|
|
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
|
+
<p class="bg-info text-center" style="padding: 8px;">换表{{showGas ? '补气' : '补费'}}</p>
|
|
7
|
+
|
|
8
|
+
<div class="row">
|
|
9
|
+
<div class="col-sm-4" v-if="showGas">
|
|
10
|
+
<label for="f_pregas" class=" font_normal_body">剩余气量</label>
|
|
11
|
+
<input class="input_search" style="width:60%" type="number"
|
|
12
|
+
v-model="model.f_fill_gas"
|
|
13
|
+
placeholder="剩余补气量" disabled>
|
|
14
|
+
<!--<button type="button" class="btn button_new btn-lg" style="width:13%"-->
|
|
15
|
+
<!--@click="openExplain">-->
|
|
16
|
+
<!--<span class="glyphicon glyphicon-question-sign"></span>-->
|
|
17
|
+
<!--</button>-->
|
|
18
|
+
</div>
|
|
19
|
+
<div class="col-sm-4" v-if="!showGas">
|
|
20
|
+
<label for="f_pregas" class=" font_normal_body">应补金额</label>
|
|
21
|
+
<input class="input_search" style="width:60%" type="number"
|
|
22
|
+
:value="model.f_fill_money" disabled>
|
|
23
|
+
<!--<button type="button" class="btn button_new btn-lg" style="width:13%"-->
|
|
24
|
+
<!--@click="openExplain">-->
|
|
25
|
+
<!--<span class="glyphicon glyphicon-question-sign"></span>-->
|
|
26
|
+
<!--</button>-->
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
<div v-show="remanentfalg">
|
|
30
|
+
<strong style="font-size: large" >【补气提示】:{{remanentstr}}</strong><br/>
|
|
31
|
+
</div>
|
|
32
|
+
<div v-show="false">
|
|
33
|
+
<div class="row" style="margin-top:5px;">
|
|
34
|
+
<div class="col-sm-4">
|
|
35
|
+
<label class=" font_normal_body" title="参数名称:付款方式">收款方式</label>
|
|
36
|
+
<v-select v-model="f_payment"
|
|
37
|
+
placeholder='请选择'
|
|
38
|
+
style="width:60%"
|
|
39
|
+
:value.sync="model.f_payment"
|
|
40
|
+
:options='paytype'
|
|
41
|
+
clear-button></v-select>
|
|
42
|
+
|
|
43
|
+
</div>
|
|
44
|
+
<div class="col-sm-4">
|
|
45
|
+
<label for="f_print" class="font_normal_body">打印格式</label>
|
|
46
|
+
<v-select id="print"
|
|
47
|
+
v-model="f_print"
|
|
48
|
+
placeholder='请选择'
|
|
49
|
+
style="width:60%"
|
|
50
|
+
:value.sync="model.f_print"
|
|
51
|
+
:options='printstyle'
|
|
52
|
+
close-on-select clear-button>
|
|
53
|
+
</v-select>
|
|
54
|
+
|
|
55
|
+
</div>
|
|
56
|
+
<div class="col-sm-4" v-if="model.f_payment[0].includes('POS')">
|
|
57
|
+
<label for="f_voucher_number" class="font_normal_body">凭证号</label>
|
|
58
|
+
<input type="text" class="input_search" style="width:60%" v-model="model.f_voucher_number" placeholder="凭证号">
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
|
|
62
|
+
<div class="row" style="margin-top:5px;">
|
|
63
|
+
|
|
64
|
+
<div class="col-sm-4" v-if="(row.f_balance_gas - 0) < 0">
|
|
65
|
+
<label for="f_balance_gas" class="font_normal_body">超用气量</label>
|
|
66
|
+
<input type="text" class="input_search" style="width:60%" v-model="(0 - row.f_balance_gas)" disabled>
|
|
67
|
+
</div>
|
|
68
|
+
|
|
69
|
+
<div class="col-sm-4" v-if="(row.f_balance_amount - 0) < 0">
|
|
70
|
+
<label for="f_balance_amount" class="font_normal_body">超用金额</label>
|
|
71
|
+
<input type="text" class="input_search" style="width:60%" v-model="(0 - row.f_balance_amount)" disabled>
|
|
72
|
+
</div>
|
|
73
|
+
|
|
74
|
+
<div class="col-sm-4" v-if="showGas"
|
|
75
|
+
:class="[$v.f_pregas.required || $v.f_pregas.dctest ? 'has-error' : 'has-success']">
|
|
76
|
+
<label for="f_pregas" class="font_normal_body">预购气量</label>
|
|
77
|
+
<input id="f_pregas" class="input_search" style="width:60%" type="number" v-model="model.f_pregas"
|
|
78
|
+
@blur="pregas"
|
|
79
|
+
v-validate:f_pregas='{required: true, dctest: [(0 - row.f_balance_gas) < 0 ? 0 : (0 - row.f_balance_gas), ">=" ]}'
|
|
80
|
+
v-scale="[model.f_pregas, 4]">
|
|
81
|
+
</div>
|
|
82
|
+
|
|
83
|
+
<div class="col-sm-4" v-if="!showGas"
|
|
84
|
+
:class="[$v.f_preamount.required || $v.f_preamount.dctest ? 'has-error' : 'has-success']">
|
|
85
|
+
<label for="f_preamount" class="font_normal_body">预购金额</label>
|
|
86
|
+
<input id="f_preamount" class="input_search" style="width:60%" type="number" v-model="model.f_preamount"
|
|
87
|
+
@blur="remstrgas" v-validate:f_preamount='{required: true, dctest: [(0 - row.f_balance_amount) < 0 ? 0 : (0 - row.f_balance_amount) , ">" ]}'
|
|
88
|
+
v-scale="[model.f_preamount, 4]" :disabled="showGas">
|
|
89
|
+
</div>
|
|
90
|
+
|
|
91
|
+
<div class="col-sm-4" v-if="showGas">
|
|
92
|
+
<label for="f_preamount" class="font_normal_body">预购金额</label>
|
|
93
|
+
<input class="input_search" style="width:60%" type="number" v-model="model.f_preamount"
|
|
94
|
+
v-scale="[model.f_preamount, 4]" :disabled="showGas">
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
<div class="row" style="margin-top:5px;">
|
|
98
|
+
<div class="col-sm-12">
|
|
99
|
+
<label for="f_curbalance" class="font_normal_body"> 备注 </label>
|
|
100
|
+
<input class="input_search" style="width:53.5%" v-model="model.f_comments">
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
<div v-if="paymentModel.length >1">
|
|
105
|
+
<div class="row" style="margin-top:10px;" >
|
|
106
|
+
<p class="col-sm-2 text-left" style="padding: 10px;"><img src="../../../../../static/juxing.png"/><strong style="margin-left: 4%">付款明细</strong></p>
|
|
107
|
+
</div>
|
|
108
|
+
<div class="row" style="margin-top:10px;" >
|
|
109
|
+
<div class="col-sm-4 " v-for="pay in paymentModel" >
|
|
110
|
+
<label class="font_normal_body">{{pay.f_payment}}</label>
|
|
111
|
+
<input id="f_money" type="text" class="input_search" style="width:60%" v-model="pay.f_money">
|
|
112
|
+
</div>
|
|
113
|
+
<div class="col-sm-4 ">
|
|
114
|
+
<strong v-if="!islegal" style="color: red">所输入的金额必须等于收款金额</strong>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
</form>
|
|
119
|
+
<validate-bill v-if="hasValidateBill" :data="model" @validate-bill="validateBill"></validate-bill>
|
|
120
|
+
<print-bill :show="print" :bill-data='billData' v-ref:printbill :bill-config='config'
|
|
121
|
+
@printok="printok" @toggle="printCancel" :data='row' ></print-bill>
|
|
122
|
+
<div style="text-align:right;height: 25%;margin-top: 2%">
|
|
123
|
+
<strong style="font-size: large" v-if="!config.notShowFormula && showGas">计算公式:{{calculatedetail ? calculatedetail : ' 暂无'}}</strong><br/>
|
|
124
|
+
<payment-code-button :clickable="!$v.valid || validateOk || !islegal"
|
|
125
|
+
:payment.sync="model.f_payment" :payment-data="paytype"
|
|
126
|
+
@confirm-payment="confirm()">
|
|
127
|
+
</payment-code-button>
|
|
128
|
+
<button class="button_search btn-gn" @click="confirm()" :disabled='!$v.valid || validateOk || !islegal'>确认</button>
|
|
129
|
+
<button class="button_clear btn-gn" @click="clean()">取消</button>
|
|
130
|
+
</div>
|
|
131
|
+
</validator>
|
|
132
|
+
</div>
|
|
133
|
+
|
|
134
|
+
<payment-code v-ref:paymentcode :payment="model.f_payment" :row="row" :money="model.f_collection"></payment-code>
|
|
135
|
+
</div>
|
|
136
|
+
</template>
|
|
137
|
+
<script>
|
|
138
|
+
/**
|
|
139
|
+
*综合业务
|
|
140
|
+
*物联网表收费组件
|
|
141
|
+
*/
|
|
142
|
+
import XML from '../../plugins/ObjTree'
|
|
143
|
+
|
|
144
|
+
let asyncIOTMeterCenter = async function (self) {
|
|
145
|
+
await self.$getConfig(self, 'IotChangeFill')
|
|
146
|
+
console.log('卡表收费config', self.config)
|
|
147
|
+
// 默认打印格式
|
|
148
|
+
self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
|
|
149
|
+
self.model.f_payment = [self.config.payment]
|
|
150
|
+
|
|
151
|
+
self.model.f_use_type = self.config.billType
|
|
152
|
+
self.model.f_bill_type = self.model.f_print
|
|
153
|
+
self.hasValidateBill = self.config.hasBillManage
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
let pregasGen = async function (self) {
|
|
157
|
+
if ((self.model.f_fill_gas - 0) < (self.model.f_pregas - 0)) {
|
|
158
|
+
let calGas = 0
|
|
159
|
+
if (self.row.f_isdecimal === '是') {
|
|
160
|
+
calGas = ((self.model.f_pregas - 0) - (self.model.f_fill_gas - 0)).toFixed(4)
|
|
161
|
+
} else {
|
|
162
|
+
calGas = ((self.model.f_pregas - 0) - (self.model.f_fill_gas - 0)).toFixed(0)
|
|
163
|
+
}
|
|
164
|
+
self.model.f_user_id = self.row.f_user_id
|
|
165
|
+
self.model.f_userfiles_id = self.row.f_userfiles_id
|
|
166
|
+
let getAmount = await self.$CommonService.gasCalculate(self.model, calGas)
|
|
167
|
+
self.model.f_preamount = getAmount.data.chargenum
|
|
168
|
+
Object.assign(self.model, self.model, getAmount.data)
|
|
169
|
+
self.model.chargeprice = getAmount.data.chargeprice
|
|
170
|
+
self.calText(getAmount.data.chargeprice)
|
|
171
|
+
} else {
|
|
172
|
+
self.model.f_preamount = 0
|
|
173
|
+
}
|
|
174
|
+
self.remstrgas()
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
let IOTChargeGen = async function (self) {
|
|
178
|
+
try {
|
|
179
|
+
if (self.paymentModel.length === 0) {
|
|
180
|
+
self.paymentModel = [{
|
|
181
|
+
f_payment: self.model.f_payment[0],
|
|
182
|
+
f_money: self.model.f_preamount
|
|
183
|
+
}]
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
self.model.payments = self.paymentModel
|
|
187
|
+
|
|
188
|
+
let param = {
|
|
189
|
+
f_share_times: self.row.f_share_times,
|
|
190
|
+
f_hascard: self.row.f_hascard,
|
|
191
|
+
f_open_way: self.row.f_open_type,
|
|
192
|
+
f_user_name: self.row.f_user_name,
|
|
193
|
+
f_user_type: self.row.f_user_type,
|
|
194
|
+
f_meter_type: self.row.f_meter_type,
|
|
195
|
+
f_gasproperties: self.row.f_gasproperties,
|
|
196
|
+
f_userinfo_id: self.row.f_userinfo_id,
|
|
197
|
+
f_address: self.row.f_address,
|
|
198
|
+
f_meter_brand: self.row.f_meter_brand,
|
|
199
|
+
f_meternumber: self.row.f_meternumber,
|
|
200
|
+
f_card_id: self.row.f_card_id,
|
|
201
|
+
f_old_total_gas: self.row.f_total_gas,
|
|
202
|
+
f_old_total_fee: self.row.f_total_fee,
|
|
203
|
+
|
|
204
|
+
f_fill_gas: self.model.f_fill_gas ? self.model.f_fill_gas : 0,
|
|
205
|
+
f_fill_money: self.model.f_fill_money ? self.model.f_fill_money : 0,
|
|
206
|
+
|
|
207
|
+
f_remanent_gas: self.row.f_remanent_gas,
|
|
208
|
+
f_remanent_price: self.row.f_remanent_price,
|
|
209
|
+
f_remanent_money: self.row.f_remanent_money,
|
|
210
|
+
f_remanent_type: self.row.f_remanent_type,
|
|
211
|
+
|
|
212
|
+
f_user_id: self.row.f_user_id,
|
|
213
|
+
f_userfiles_id: self.row.f_userfiles_id,
|
|
214
|
+
f_pregas: self.model.f_pregas - 0,
|
|
215
|
+
f_balance: self.row.f_balance,
|
|
216
|
+
f_balance_gas: self.row.f_balance_gas,
|
|
217
|
+
f_balance_amount: self.row.f_balance_amount,
|
|
218
|
+
f_preamount: self.model.f_preamount - 0,
|
|
219
|
+
f_payment: self.model.f_payment.toString(),
|
|
220
|
+
payments: self.model.payments,
|
|
221
|
+
f_print: self.model.f_print.toString(),
|
|
222
|
+
f_voucher_number: self.model.f_voucher_number,
|
|
223
|
+
userinfo_version: self.row.userinfo_version,
|
|
224
|
+
version: self.row.version,
|
|
225
|
+
f_operator: self.$login.f.name,
|
|
226
|
+
f_operatorid: self.$login.f.id,
|
|
227
|
+
f_orgid: self.$login.f.orgid,
|
|
228
|
+
f_orgname: self.$login.f.orgs,
|
|
229
|
+
f_depid: self.$login.f.depids,
|
|
230
|
+
f_depname: self.$login.f.deps,
|
|
231
|
+
f_comments: self.model.f_comments,
|
|
232
|
+
times: self.row.f_iot_times,
|
|
233
|
+
bothGasFee: self.config.bothGasFee,
|
|
234
|
+
// 额外判断
|
|
235
|
+
f_collection_type: self.row.f_collection_type,
|
|
236
|
+
f_calculation: self.row.f_calculation
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
if (self.row.f_remanent_type == 1) {
|
|
240
|
+
if (self.row.f_change_type == '原表换表') {
|
|
241
|
+
param.f_total_gas = (self.row.f_total_gas - 0)
|
|
242
|
+
param.f_total_fee = (self.row.f_total_fee - 0)
|
|
243
|
+
} else {
|
|
244
|
+
// 换新表
|
|
245
|
+
param.f_total_gas = (self.row.f_total_gas - 0) + (self.model.f_pregas - 0)
|
|
246
|
+
param.f_total_fee = (self.row.f_total_fee - 0) + (self.model.f_preamount - 0)
|
|
247
|
+
}
|
|
248
|
+
} else {
|
|
249
|
+
// 清零换表 (不考虑,物联网不存在清零换表)
|
|
250
|
+
if (self.model.f_fill_gas > 0 && !self.showGas) {
|
|
251
|
+
param.f_total_fee = (self.row.f_total_fee - 0) + (self.model.f_preamount - 0) - (self.model.f_fill_money - 0)
|
|
252
|
+
} else {
|
|
253
|
+
param.f_total_gas = (self.row.f_total_gas - 0) + (self.model.f_pregas - self.model.f_fill_gas)
|
|
254
|
+
param.f_total_fee = (self.row.f_total_fee - 0) + (self.model.f_preamount - 0) - (self.model.f_fill_money - 0)
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
// 加入扫码盒付款码支付流水号
|
|
258
|
+
param.f_serial_id = self.$refs.paymentcode.paymentCodeReturnData.f_out_trade_no
|
|
259
|
+
let res = await self.$resetpost('rs/logic/sale_iotRemanentGas', {data: param}, {
|
|
260
|
+
warnMsg: `确定对客户${self.row.f_user_name}进行物联网表缴费吗?`,
|
|
261
|
+
resolveMsg: '物联网收费成功!!',
|
|
262
|
+
rejectMsg: '物联网收费出错!!!'
|
|
263
|
+
})
|
|
264
|
+
|
|
265
|
+
// 开始打票
|
|
266
|
+
console.log('开始打票', self.config)
|
|
267
|
+
if (self.config.hasPrint) {
|
|
268
|
+
console.log('self.config.printType', self.config.printType)
|
|
269
|
+
if (self.config.printType != '电子发票') {
|
|
270
|
+
console.log('self.config.hasBillManage', self.config.hasBillManage)
|
|
271
|
+
if (self.config.hasBillManage) {
|
|
272
|
+
// 启用发票管理,获取票据管理中的票号并存储记录
|
|
273
|
+
self.row.id = res.data.fillgasid
|
|
274
|
+
self.row.f_bill_type = '物联网收费'
|
|
275
|
+
self.row.f_bill_style = self.model.f_print[0]
|
|
276
|
+
self.print = true
|
|
277
|
+
} else {
|
|
278
|
+
self.row.id = res.data.fillgasid
|
|
279
|
+
self.print = true
|
|
280
|
+
}
|
|
281
|
+
} else if (self.config.printType === '国税发票') {
|
|
282
|
+
// TODO
|
|
283
|
+
} else if (self.config.printType === '电子发票') {
|
|
284
|
+
// TODO
|
|
285
|
+
}
|
|
286
|
+
} else {
|
|
287
|
+
self.$dispatch('success')
|
|
288
|
+
}
|
|
289
|
+
} catch (error) {
|
|
290
|
+
if (error.status === 301) {
|
|
291
|
+
self.$dispatch('refresh')
|
|
292
|
+
} else if (error.status === 505){
|
|
293
|
+
self.$showAlert('改数据失败,数据已在其他地方进行修改,请尝试重新操作','danger',0)
|
|
294
|
+
} else {
|
|
295
|
+
if (error) {
|
|
296
|
+
self.$showAlert(error, 'danger', 0)
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
self.$dispatch('refresh')
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
export default {
|
|
305
|
+
title: '物联网表收费',
|
|
306
|
+
data () {
|
|
307
|
+
return {
|
|
308
|
+
config: {
|
|
309
|
+
notShowFormula: false, // 不显示计算公式,默认显示
|
|
310
|
+
hasPrint: false, // 默认打票
|
|
311
|
+
hasBillManage: false, // 默认不启用发票管理
|
|
312
|
+
bothGasFee: false, // 默认 false 金额表加金额 气量表加气量
|
|
313
|
+
billType: '燃气费', // 票据类型(燃气费,其他费用,调用的发票代码不同)
|
|
314
|
+
printType: '普通收据', // 收据/电子票/专用发票/国税发票
|
|
315
|
+
payment: '现金缴费'
|
|
316
|
+
},
|
|
317
|
+
model: {
|
|
318
|
+
f_payment: ['现金缴费'],
|
|
319
|
+
f_pregas: null,
|
|
320
|
+
f_preamount: null,
|
|
321
|
+
f_print: [],
|
|
322
|
+
f_fill_gas: 0,
|
|
323
|
+
f_fill_money: 0,
|
|
324
|
+
f_comments: ''
|
|
325
|
+
},
|
|
326
|
+
showGas: false,
|
|
327
|
+
calculatedetail: '',
|
|
328
|
+
|
|
329
|
+
print: false,
|
|
330
|
+
billData: {
|
|
331
|
+
url: 'rs/report/iot_sell',
|
|
332
|
+
bill: ''
|
|
333
|
+
},
|
|
334
|
+
|
|
335
|
+
// 启用发票管理需要对票号进行验证
|
|
336
|
+
hasValidateBill: false,
|
|
337
|
+
validateOk: false,
|
|
338
|
+
|
|
339
|
+
paymentModel: [],
|
|
340
|
+
|
|
341
|
+
// 补气提示控制
|
|
342
|
+
remanentfalg: false,
|
|
343
|
+
remanentstr: '',
|
|
344
|
+
|
|
345
|
+
// 下拉框值
|
|
346
|
+
paytype: this.$appdata.getParam('付款方式'),
|
|
347
|
+
printstyle: this.$appdata.getParam('打印格式')
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
props: ['row'],
|
|
351
|
+
async ready () {
|
|
352
|
+
this.showGas = (this.row.f_collection_type === '按气量')
|
|
353
|
+
await asyncIOTMeterCenter(this)
|
|
354
|
+
await this.calRemanentMoney()
|
|
355
|
+
},
|
|
356
|
+
watch: {
|
|
357
|
+
'model.f_payment.length' (val) {
|
|
358
|
+
console.log('付款方式多选。。', val)
|
|
359
|
+
if (val > 1 && !this.model.f_preamount) {
|
|
360
|
+
this.model.f_payment = ['现金缴费']
|
|
361
|
+
this.$showAlert('请先计算付款金额', 'warning', 2000)
|
|
362
|
+
} else {
|
|
363
|
+
this.paymentModel = []
|
|
364
|
+
|
|
365
|
+
this.model.f_payment.forEach((res) => {
|
|
366
|
+
let temp = {
|
|
367
|
+
f_payment: res,
|
|
368
|
+
f_money: 0
|
|
369
|
+
}
|
|
370
|
+
this.paymentModel.push(temp)
|
|
371
|
+
})
|
|
372
|
+
this.$resetValidation()
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
},
|
|
376
|
+
methods: {
|
|
377
|
+
async confirm () {
|
|
378
|
+
this.model.f_userinfo_id = this.row.f_userinfo_id
|
|
379
|
+
this.model.f_userfiles_id = this.row.f_userfiles_id
|
|
380
|
+
this.model.f_user_id = this.row.f_user_id
|
|
381
|
+
this.model.userinfo_version = this.row.userinfo_version
|
|
382
|
+
this.model.version = this.row.version
|
|
383
|
+
|
|
384
|
+
this.model.f_operator = this.$login.f.name
|
|
385
|
+
this.model.f_operatorid = this.$login.f.id
|
|
386
|
+
this.model.f_orgid = this.$login.f.orgid
|
|
387
|
+
this.model.f_orgname = this.$login.f.orgs
|
|
388
|
+
this.model.f_depid = this.$login.f.depids
|
|
389
|
+
this.model.f_depname = this.$login.f.deps
|
|
390
|
+
// 先调用付款码支付组件流程
|
|
391
|
+
let ss = await this.$refs.paymentcode.flowPath()
|
|
392
|
+
this.$refs.paymentcode.paymentCodeShow = false
|
|
393
|
+
console.log('付款码操作返回', ss)
|
|
394
|
+
if (!ss.result) return
|
|
395
|
+
|
|
396
|
+
IOTChargeGen(this)
|
|
397
|
+
},
|
|
398
|
+
clean () {
|
|
399
|
+
this.$info('取消操作')
|
|
400
|
+
this.$dispatch('refresh', this.row)
|
|
401
|
+
},
|
|
402
|
+
close () {
|
|
403
|
+
this.print = false
|
|
404
|
+
this.clean()
|
|
405
|
+
},
|
|
406
|
+
printok () {
|
|
407
|
+
this.$dispatch('success')
|
|
408
|
+
},
|
|
409
|
+
validateBill (val) {
|
|
410
|
+
this.validateOk = !val.isOk
|
|
411
|
+
this.billData.bill = val.bill
|
|
412
|
+
},
|
|
413
|
+
printCancel () {
|
|
414
|
+
this.$dispatch('refresh')
|
|
415
|
+
},
|
|
416
|
+
calRemanentMoney () {
|
|
417
|
+
console.log('======', this.row)
|
|
418
|
+
// 计算 应补金额
|
|
419
|
+
let getResult = this.$CommonService.calRemanentMoney(this.row)
|
|
420
|
+
if (this.showGas) {
|
|
421
|
+
this.model.f_pregas = this.model.f_fill_gas = getResult
|
|
422
|
+
this.model.f_preamount = this.config.bothGasFee ? (this.model.f_pregas * this.row.f_remanent_price).toFixed(this.row.f_isdecimal === '否' ? 0 : 4) : 0
|
|
423
|
+
} else {
|
|
424
|
+
this.model.f_preamount = this.model.f_fill_money = getResult
|
|
425
|
+
this.model.f_pregas = this.config.bothGasFee ? ((this.model.f_preamount - 0) / (this.row.f_remanent_price - 0)).toFixed(this.row.f_isdecimal === '否' ? 0 : 4) : 0
|
|
426
|
+
}
|
|
427
|
+
},
|
|
428
|
+
openExplain () {
|
|
429
|
+
|
|
430
|
+
},
|
|
431
|
+
pregas () {
|
|
432
|
+
if (this.model.f_pregas && this.model.f_pregas > 0 && this.model.f_pregas - (0 - this.row.f_balance_gas) >= 0) {
|
|
433
|
+
try {
|
|
434
|
+
pregasGen(this)
|
|
435
|
+
} catch (error) {
|
|
436
|
+
this.$showAlert(`发卡售气划价错误,错误类型:${error}`, 'danger', 0)
|
|
437
|
+
this.$dispatch('error', '发卡售气', this.model, error)
|
|
438
|
+
}
|
|
439
|
+
} else {
|
|
440
|
+
this.model.f_pregas = null
|
|
441
|
+
}
|
|
442
|
+
},
|
|
443
|
+
remstrgas () {
|
|
444
|
+
if (this.row.f_collection_type == '按气量') {
|
|
445
|
+
if (this.model.f_fill_gas > this.model.f_pregas && this.model.f_pregas > 0) {
|
|
446
|
+
this.remanentstr = '您已经成功抵扣' + this.model.f_pregas + '补气量!!,该气量不会产生任何费用'
|
|
447
|
+
this.remanentfalg = true
|
|
448
|
+
} else if (this.model.f_fill_gas < this.model.f_pregas) {
|
|
449
|
+
this.remanentstr = '您已经成功抵扣' + this.model.f_fill_gas + '补气量!!!,该气量不会产生任何费用,并且超出购买' + (this.model.f_pregas - this.model.f_fill_gas) +
|
|
450
|
+
'方气量,超出部分产生费用!'
|
|
451
|
+
this.remanentfalg = true
|
|
452
|
+
} else {
|
|
453
|
+
this.remanentfalg = false
|
|
454
|
+
this.remanentstr = ''
|
|
455
|
+
}
|
|
456
|
+
} else {
|
|
457
|
+
let temp = (this.model.f_fill_money - 0)
|
|
458
|
+
|
|
459
|
+
if (temp > (this.model.f_preamount - 0) && (this.model.f_preamount - 0) > 0) {
|
|
460
|
+
this.remanentstr = '您已经成功抵扣' + this.model.f_preamount + '元!!!,本次不收取费用!!'
|
|
461
|
+
this.remanentfalg = true
|
|
462
|
+
} else if (temp < (this.model.f_preamount - 0)) {
|
|
463
|
+
this.remanentstr = '您已经成功抵扣' + temp + '元!!!,本次将收取' + (this.model.f_preamount - temp) + '元!!!'
|
|
464
|
+
this.remanentfalg = true
|
|
465
|
+
} else {
|
|
466
|
+
this.remanentfalg = false
|
|
467
|
+
this.remanentstr = ''
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
},
|
|
471
|
+
calText (val) {
|
|
472
|
+
let str = ''
|
|
473
|
+
val.forEach((item) => {
|
|
474
|
+
str = str + item.f_price + ' x ' + item.f_gas + '+'
|
|
475
|
+
})
|
|
476
|
+
str = str.slice(0, str.length - 1)
|
|
477
|
+
this.calculatedetail = str
|
|
478
|
+
}
|
|
479
|
+
},
|
|
480
|
+
computed: {
|
|
481
|
+
'islegal' () {
|
|
482
|
+
if (this.paymentModel.length > 1 && this.model.f_preamount) {
|
|
483
|
+
let sum = 0
|
|
484
|
+
this.paymentModel.forEach((res) => {
|
|
485
|
+
sum += (res.f_money - 0)
|
|
486
|
+
})
|
|
487
|
+
|
|
488
|
+
return (this.model.f_preamount - 0) === (sum - 0)
|
|
489
|
+
} else {
|
|
490
|
+
return true
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
</script>
|
|
@@ -79,4 +79,6 @@ export default function () {
|
|
|
79
79
|
Vue.component('transfer-manage', (resolve) => { require(['./TransferManage'], resolve) })
|
|
80
80
|
// pos对账界面
|
|
81
81
|
Vue.component('wechat-validate-manage', (resolve) => { require(['./wechatValidateManage.vue'], resolve) })
|
|
82
|
+
// 换表补卡
|
|
83
|
+
Vue.component('change_fill_sendcard', (resolve) => { require(['./ChangeSendCard'], resolve) })
|
|
82
84
|
}
|