telephone-clients 4.0.0-1-89 → 4.0.0-1-90

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.
Files changed (32) hide show
  1. package/package.json +2 -2
  2. package/src/components/pc/MaintenanceWorker.vue +152 -0
  3. package/src/components/pc/NewRepairPaper.vue +704 -704
  4. package/src/components/pc/NewRepairTablePaper.vue +442 -442
  5. package/src/components/pc/WorkHistory.vue +650 -650
  6. package/src/components/pc/WorkListNew.vue +838 -838
  7. package/src/components/sendsingle/onlinecharge.vue +424 -424
  8. package/src/components/workorder/ChangeMeterPageNew.vue +663 -663
  9. package/src/components/workorder/ChangeMeterUserInfo.vue +130 -130
  10. package/src/components/workorder/RepairFirstV.vue +736 -736
  11. package/src/components/workorder/RepairInfo.vue +178 -178
  12. package/src/components/workorder/RepairOrderT.vue +713 -713
  13. package/src/components/workorder/oldMeterPage.vue +104 -104
  14. package/src/components/workorder/repairFirstTable.vue +715 -715
  15. package/src/filiale/jinhong/android/FaultAll.vue +936 -936
  16. package/src/filiale/jinhong/android/ZHihuanFirst.vue +540 -540
  17. package/src/filiale/jinhong/pc/WorkListAllNew.vue +884 -884
  18. package/src/filiale/jinhong/telephone.js +10 -10
  19. package/src/filiale/jinhong/telephoneAndroid.js +13 -13
  20. package/src/filiale/meihekou/android/Othercharge.vue +454 -454
  21. package/src/filiale/meihekou/android/PhoneStandWorkNew.vue +692 -692
  22. package/src/filiale/meihekou/android/ServiceOnlineQuery.vue +477 -477
  23. package/src/filiale/meihekou/pc/WorkListAllNew.vue +925 -901
  24. package/src/filiale/meihekou/pc/WorkListNew.vue +1103 -1049
  25. package/src/filiale/meihekou/telephoneAndroid.js +26 -26
  26. package/src/filiale/xinjiangdexin/telephone.js +16 -16
  27. package/src/filiale/xinliansihui/android/FaultAll.vue +923 -923
  28. package/src/filiale/xinliansihui/android/RepairFirstV.vue +734 -734
  29. package/src/filiale/xinliansihui/android/RepairOrderT.vue +713 -713
  30. package/src/main.js +1 -1
  31. package/src/telephone-android.js +425 -425
  32. package/src/telephone.js +799 -796
@@ -1,454 +1,454 @@
1
- <template>
2
- <div style="height: auto;width: 100%">
3
- <div partial>
4
- <div class="row app-row">
5
- <div class="col-xs-4" style="margin-top: 5px;">
6
- <img src="../../../assets/购气缴费.png" style="width: 20px;margin-bottom: 5px" alt="">
7
- <label class="font text-left">收费类型</label>
8
- </div>
9
- <div class="col-xs-8">
10
- <v-select
11
- placeholder='请选择'
12
- :options='chargesize'
13
- :value.sync="model.f_brand_spec"
14
- v-model="model.f_brand_spec"
15
- close-on-select
16
- style="margin-bottom: 10px;"
17
- width="78%"
18
- value-single
19
- style="margin-bottom: 15px"
20
- ></v-select>
21
- </div>
22
- </div>
23
- <!--<div class="row app-row">
24
- <div class="col-xs-4" style="margin-top: 5px;">
25
- <img src="../../../assets/购气缴费.png" style="width: 20px;margin-bottom: 5px" alt="">
26
- <label class="font text-left">品名规格</label>
27
- </div>
28
- <div class="col-xs-8">
29
- <v-select
30
- placeholder='请选择'
31
- :options='specification'
32
- :value.sync="model.f_typename"
33
- v-model="model.f_typename"
34
- close-on-select
35
- style="margin-bottom: 10px;"
36
- width="78%"
37
- value-single
38
- ></v-select>
39
- </div>
40
- </div>
41
- <div class="row app-row">
42
- <div class="col-xs-4" style="margin-top: 5px;">
43
- <img src="../../../assets/购气缴费.png" style="width: 20px;margin-bottom: 5px" alt="">
44
- <label class="font text-left">型&nbsp;&nbsp;号</label>
45
- </div>
46
- <div class="col-xs-8">
47
- <v-select
48
- placeholder='请选择'
49
- :options='modeltype'
50
- :value.sync="model.f_typenumber"
51
- v-model="model.f_typenumber"
52
- close-on-select
53
- style="margin-bottom: 10px;"
54
- width="78%"
55
- value-single
56
- ></v-select>
57
- </div>
58
- </div>-->
59
- <div class="row app-row">
60
- <div class="col-xs-4" style="margin-top: 5px;">
61
- <img src="../../../assets/购气缴费.png" style="width: 20px;margin-bottom: 5px" alt="">
62
- <label class="font text-left">收款方式</label>
63
- </div>
64
- <div class="col-xs-8">
65
- <v-select
66
- placeholder='请选择'
67
- :options='paytype'
68
- :value.sync="model.f_payment"
69
- v-model="model.f_payment"
70
- close-on-select
71
- style="margin-bottom: 10px;"
72
- width="78%"
73
- value-single
74
- style="margin-bottom: 15px"
75
- ></v-select>
76
- </div>
77
- </div>
78
- <div class="row app-row">
79
- <div class="col-xs-4">
80
- <img src="../../../assets/购气缴费.png" style="width: 20px;margin-bottom: 5px" alt="">
81
- <label class="font text-left">单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;价</label>
82
- </div>
83
- <div class="col-xs-8">
84
- <input type="number" class ="search_input input-font" v-model="model.f_unitprice" />
85
- </div>
86
- </div>
87
- <div class="row app-row">
88
- <div class="col-xs-4">
89
- <img src="../../../assets/购气缴费.png" style="width: 20px;margin-bottom: 5px" alt="">
90
- <label class="font text-left">数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;量</label>
91
- </div>
92
- <div class="col-xs-8">
93
- <input type="number" class ="search_input input-font" v-model="model.f_number" />
94
- </div>
95
- </div>
96
-
97
- <div class="row app-row">
98
- <div class="col-xs-4">
99
- <img src="../../../assets/购气缴费.png" style="width: 20px;margin-bottom: 5px" alt="">
100
- <label class="font text-left">&nbsp;收&emsp;&emsp;款</label>
101
- </div>
102
- <div class="col-xs-8">
103
- <input type="number" class ="search_input input-font" v-model="model.f_collection" />
104
- </div>
105
- </div>
106
-
107
- <div class="row app-row">
108
- <div class="col-xs-4" style="margin-top: 5px;">
109
- <img src="../../../assets/购气缴费.png" style="width: 20px;margin-bottom: 5px" alt="">
110
- <label class="font text-left">&nbsp;备&emsp;&emsp;注</label>
111
- </div>
112
- <div class="clo-xs-8">
113
- <input type="text" class ="search_input input-font" v-model="model.f_comments" rows="1"
114
- placeholder="备注">
115
- </div>
116
- </div>
117
- <!--<div class="row app-row">
118
- <label class="font text-left">付款方式</label>
119
- </div>-->
120
- <div class="row text-center" style="margin-top: 25px;">
121
- <button type="button" id="determine" class="btn btn-lg btn-font btn-color" style="width: 28%;border-radius: 5px" :disabled="isDetermine" @click="confirm()">确认</button>
122
- <!--<button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;" @click="clean()">取消</button>-->
123
- </div>
124
- </div>
125
-
126
-
127
- </div>
128
- </template>
129
-
130
- <script>
131
- import Vue from 'vue'
132
- import {HttpResetClass} from "vue-client";
133
-
134
- export default {
135
- title: "购气缴费",
136
- prop:['row'],
137
-
138
- data() {
139
- return {
140
- isDetermine:false,
141
- paytype: [{label: "现金缴费", value: "现金缴费"}, {label: "建行支付", value: "建行支付"}],
142
- specification: [{label: "规格1", value: "规格1"}, {label: "规格2", value: "规格2"}], // 规格
143
- modeltype: [{label: "型号1", value: "型号1"}, {label: "型号2", value: "型号2"}], // 型号
144
- chargesize: [{label: "三通费", value: "三通费"}, {label: "报警器", value: "报警器"}, {label: "材料费", value: "材料费"}, {label: "其他费用", value: "其他费用"}],
145
- shuclass: 'col-xs-12 col-sm-12 col-md-12 form-input-group mg8 css_div',
146
- model: {
147
- f_unitprice: 0,
148
- f_number: 0,
149
- f_collection: 0,//付款额
150
- f_brand_spec: '',// 类型
151
- f_typename: '',// 品名
152
- f_typenumber: '',// 型号
153
- f_comments: '',
154
- f_payment: '建行支付',
155
- f_serial_id: ''// 流水号
156
- },
157
- filiale: '' // 支付的分公司
158
-
159
- }
160
- },
161
- computed: {
162
-
163
- },
164
- ready() {
165
- //tag
166
- this.paytype = this.$appdata.getParam('支付方式')
167
- this.chargesize = this.$appdata.getParam('其他收费类型')
168
- // this.row = { f_user_id:'1001',f_userfiles_id:'1002',f_userinfo_id:'1003'}
169
- //tag)
170
- //tag)
171
- this.model.f_userfiles_id = this.row.f_userfiles_id
172
- this.model.f_userinfo_code = this.row.f_userinfo_code
173
- this.model.f_filialeids = `('${this.row.f_filialeid}')`
174
- this.model.f_user_id = this.row.f_user_id
175
- this.model.f_card_id = this.row.f_card_id
176
- this.model.f_total_gas = this.row.f_total_gas
177
- this.model.f_operator = Vue.user.name
178
- this.model.f_operatorid = Vue.user.id
179
- this.model.f_orgid = Vue.user.orgid
180
- this.model.f_orgname = Vue.user.orgs
181
- this.model.f_depid = Vue.user.depids
182
- this.model.f_depname = Vue.user.deps
183
- },
184
- methods: {
185
- myverify () {
186
- let flag = false
187
- if (!this.model.f_brand_spec || this.model.f_brand_spec == '' ) {
188
- this.$showMessage('请选择收费类型')
189
- return flag
190
- }
191
- /*if (!this.model.f_typename || this.model.f_typename == '' ) {
192
- this.$showMessage('请选择收费品名')
193
- return flag
194
- }
195
- if (!this.model.f_typenumber || this.model.f_typenumber == '' ) {
196
- this.$showMessage('请选择收费型号')
197
- return flag
198
- }*/
199
- if (!this.model.f_unitprice || this.model.f_unitprice <= 0 ) {
200
- this.$showMessage('单价异常!')
201
- return flag
202
- }
203
- if (!this.model.f_number || this.model.f_number <= 0 ) {
204
- this.$showMessage('数量异常!')
205
- return flag
206
- }
207
- if (!this.model.f_collection || this.model.f_collection <= 0 ) {
208
- this.$showMessage('收款异常!')
209
- return flag
210
- }
211
- if (!this.model.f_payment || this.model.f_payment == '' ) {
212
- this.$showMessage('请选择收费类型!')
213
- return flag
214
- }
215
- flag = true
216
- return flag
217
- },
218
- f_collection() {
219
- //tag;
220
- //tag;
221
- return this.model.f_collection = this.model.f_number * this.model.f_unitprice;
222
- },
223
- async confirm() {
224
- //tag
225
- if (this.myverify()) {
226
- this.$showMessage(`确定对客户${this.row.f_user_name}进行其他收费吗?`, ['confirm', 'cancel']).then(async (res) => {
227
- if (res === 'confirm') {
228
- if (this.model.f_payment == '建行支付') {
229
- this.isDetermine = true
230
- // 去支付界面
231
- let _this = this
232
- let pardate = {
233
- _this: _this,
234
- title: '二维码收款',
235
- safe: true
236
- }
237
- _this.$dispatch('gotoson', pardate)
238
- //tag
239
- let parameter = {
240
- model:this.model,
241
- money: this.model.f_collection
242
- }
243
- //tag)
244
- _this.$goto('create_qrcode', {row: parameter}, 'self', _this.payback)
245
- } else if (this.model.f_payment == '现金支付') {
246
- this.isDetermine = true
247
- //tag
248
- this.saveCharges()
249
-
250
- } else {
251
- //tag
252
- this.$showMessage(`暂不支持${this.model.f_payment}`)
253
- }
254
- }
255
- })
256
- }
257
-
258
-
259
- },
260
- payback(msg) {
261
- //tag
262
- //tag
263
- if (msg) {
264
- //tag
265
- this.model.f_serial_id = msg.f_serial_id
266
- this.saveCharges()
267
- }else {
268
- //tag
269
- this.$showMessage('支付失败!')
270
- }
271
- },
272
- saveCharges () {
273
- //tag
274
- //tag
275
- let data = {
276
- f_userfiles_id: this.row.f_userfiles_id, // id
277
- f_user_id: this.row.f_user_id,
278
- f_userinfo_id: this.row.f_userinfo_id,
279
- f_collection: this.model.f_collection,
280
- f_comments: this.model.f_comments,
281
- f_payment: this.model.f_payment,
282
- f_user_name: this.row.f_user_name,
283
- f_depname: Vue.user.deps,
284
- f_depid : Vue.user.depids,
285
- f_orgid : Vue.user.orgid,
286
- f_orgname : Vue.user.orgs,
287
- f_operator: Vue.user.name,
288
- f_operatorid: Vue.user.id,
289
- otherdetail: [
290
- {
291
- f_brand_spec: this.model.f_brand_spec, // 类型
292
- f_typename: this.model.f_typename.name, //规格
293
- f_typenumber: this.model.f_typenumber.name, //型号
294
- f_number: this.model.f_number, //数量
295
- f_unitprice: this.model.f_unitprice //单价
296
- }
297
- ]
298
- }
299
- //tag)
300
- let http4 = new HttpResetClass()
301
- // http4.load('POST',`/af-telephone/rs/logic/wxthirdothercharge`, data, {}
302
- http4.load('POST',`${this.$androidUtil.getProxyUrl()}/af-telephone/rs/logic/wxthirdothercharge`, data, {}
303
- ).then(res => {
304
- //tag
305
- //tag)
306
- if (res) {
307
- this.$showMessage('其他收费成功!是否打印小票?', ['confirm', 'cancel']).then((res) => {
308
- if (res === 'confirm') {
309
- this.PrintReceipt()
310
- }else {
311
- this.$dispatch('confirm')
312
- }
313
- })
314
- }else {
315
- this.$showMessage('购气缴费失败!!!')
316
- // 是否进行退费
317
- }
318
- })
319
- },
320
- PrintReceipt() {
321
- //tag
322
- // 清空打印内容
323
- let printContent = []
324
- // 抬头
325
- var comName = '梅河口天然气'
326
- printContent.push({type: 3, text: comName, fontsize: 3, isbold: true, align: 'center'})
327
- printContent.push({type: 3, text: '手 持 POS 其 他 收 费 凭 证', fontsize: 3, isbold: true, align: 'center'})
328
- printContent.push({type: 3, text: '----------------------------', fontsize: 3, isbold: true, align: 'center'})
329
- // 小票信息
330
- printContent.push({type: 3, text: '用户编号:' + this.row.f_userinfo_code, fontsize: 2, isbold: true, align: 'left'})
331
- printContent.push({type: 3, text: '用户姓名:' + this.row.f_user_name, fontsize: 2, isbold: true, align: 'left'})
332
- printContent.push({type: 3, text: '用户地址:' + this.row.f_address, fontsize: 2, isbold: true, align: 'left'})
333
- printContent.push({type: 3, text: '收费类型:'+ this.model.f_brand_spec , fontsize: 2, isbold: true, align: 'left'})
334
- printContent.push({type: 3, text: '本次缴费:' + this.model.f_collection + '元', fontsize: 2, isbold: true, align: 'left'})
335
- printContent.push({type: 3, text: '大写金额:' + Vue.PosUtil.convertCurrency(this.model.f_collection), fontsize: 2, isbold: true, align: 'left'})
336
- printContent.push({type: 3, text: '支付日期:' + Vue.PosUtil.getNowDate('yyyy-MM-dd'), fontsize: 2, isbold: true, align: 'left'})
337
- printContent.push({type: 3, text: '支付流水号:' + this.model.f_serial_id, fontsize: 2, isbold: true, align: 'left'})
338
- printContent.push({type: 3, text: '操作员:' + Vue.user.name, fontsize: 2, isbold: true, align: 'left'})
339
- printContent.push({type: 3, text: '----------------------------', fontsize: 3, isbold: true, align: 'center'})
340
- printContent.push({type: 3, text: '', fontsize: 3, isbold: true, align: 'center'})
341
- // 走纸
342
- printContent.push({type: 4, value: 5, unit: 'pixel'})
343
- // 打印
344
- let print = HostApp.print(JSON.stringify(printContent))
345
- if (print.code === 200) {
346
- this.$showMessage('打印成功!是否二次打印?', ['confirm', 'cancel']).then((res) => {
347
- if (res === 'confirm') {
348
- //tag
349
- let print2 = HostApp.print(JSON.stringify(printContent))
350
- if (print2.code === 200) {
351
- this.$showMessage('打印成功!是否返回上一层?', ['confirm', 'cancel']).then((res) => {
352
- if (res === 'confirm') {
353
- //tag
354
- this.$dispatch('confirm')
355
- }
356
- })
357
- }else {
358
- this.$showMessage('打印失败')
359
- }
360
- }else {
361
- this.$dispatch('confirm')
362
- }
363
- })
364
-
365
- }else {
366
- this.$showMessage('打印失败!请检查POS纸张、电量等,确认无误点击确认再次打印', ['confirm', 'cancel']).then((res) => {
367
- if (res === 'confirm') {
368
- //tag
369
- let print2 = HostApp.print(JSON.stringify(printContent))
370
- if (print2.code === 200) {
371
- this.$showMessage('打印成功!是否二次打印?', ['confirm', 'cancel']).then((res) => {
372
- if (res === 'confirm') {
373
- //tag
374
- let print2 = HostApp.print(JSON.stringify(printContent))
375
- if (print2.code === 200) {
376
- this.$showMessage('打印成功!是否返回上一层?', ['confirm', 'cancel']).then((res) => {
377
- if (res === 'confirm') {
378
- //tag
379
- this.$dispatch('confirm')
380
- }
381
- })
382
- }else {
383
- this.$showMessage('打印失败')
384
- }
385
- }else {
386
- this.$dispatch('confirm')
387
- }
388
- })
389
- }else {
390
- this.$showMessage('打印失败!请检查POS纸张、电池电量!')
391
- }
392
- }
393
- })
394
- }
395
- },
396
- clean() {
397
- //tag
398
- this.model.f_brand_spec = '请选择';
399
- this.model.f_payment = '微信支付';
400
- this.model.f_number = '';
401
- this.model.f_unitprice = '';
402
- this.model.f_collection = '';
403
- this.model.f_comments = '';
404
- },
405
- },
406
- watch: {
407
- 'model.f_number' (val) {
408
- if (val) {
409
- //tag;
410
- //tag;
411
- this.model.f_collection = this.model.f_number * this.model.f_unitprice;
412
- }
413
- },
414
- 'model.f_unitprice' (val) {
415
- if (val) {
416
- //tag;
417
- //tag;
418
- this.model.f_collection = this.model.f_number * this.model.f_unitprice;
419
- }
420
- }
421
- }
422
- }
423
-
424
- </script>
425
-
426
- <style scoped>
427
- .app-row {
428
- background-color: white;
429
- padding: 10px 10px 0 10px;
430
- border-bottom: 1px solid rgba(235, 235, 235, 0.7);
431
- }
432
- .search_input {
433
- border: 0;
434
- outline: none;
435
- }
436
- .font{
437
- font: 15px PingFang-SC-Medium;
438
- color: #666666;
439
- }
440
- .input-font{
441
- font: 15px PingFang-SC-Medium;
442
- color: #333333;
443
- }
444
- .btn-color{
445
- background-color: #FFFFFF;
446
- border-radius: 10px ;
447
- border: 1px solid #499EDF;
448
- }
449
- .btn-font{
450
- font:600 16px PingFang-SC-Bold;
451
- color: #499EDF;
452
- }
453
- </style>
454
-
1
+ <template>
2
+ <div style="height: auto;width: 100%">
3
+ <div partial>
4
+ <div class="row app-row">
5
+ <div class="col-xs-4" style="margin-top: 5px;">
6
+ <img src="../../../assets/购气缴费.png" style="width: 20px;margin-bottom: 5px" alt="">
7
+ <label class="font text-left">收费类型</label>
8
+ </div>
9
+ <div class="col-xs-8">
10
+ <v-select
11
+ placeholder='请选择'
12
+ :options='chargesize'
13
+ :value.sync="model.f_brand_spec"
14
+ v-model="model.f_brand_spec"
15
+ close-on-select
16
+ style="margin-bottom: 10px;"
17
+ width="78%"
18
+ value-single
19
+ style="margin-bottom: 15px"
20
+ ></v-select>
21
+ </div>
22
+ </div>
23
+ <!--<div class="row app-row">
24
+ <div class="col-xs-4" style="margin-top: 5px;">
25
+ <img src="../../../assets/购气缴费.png" style="width: 20px;margin-bottom: 5px" alt="">
26
+ <label class="font text-left">品名规格</label>
27
+ </div>
28
+ <div class="col-xs-8">
29
+ <v-select
30
+ placeholder='请选择'
31
+ :options='specification'
32
+ :value.sync="model.f_typename"
33
+ v-model="model.f_typename"
34
+ close-on-select
35
+ style="margin-bottom: 10px;"
36
+ width="78%"
37
+ value-single
38
+ ></v-select>
39
+ </div>
40
+ </div>
41
+ <div class="row app-row">
42
+ <div class="col-xs-4" style="margin-top: 5px;">
43
+ <img src="../../../assets/购气缴费.png" style="width: 20px;margin-bottom: 5px" alt="">
44
+ <label class="font text-left">型&nbsp;&nbsp;号</label>
45
+ </div>
46
+ <div class="col-xs-8">
47
+ <v-select
48
+ placeholder='请选择'
49
+ :options='modeltype'
50
+ :value.sync="model.f_typenumber"
51
+ v-model="model.f_typenumber"
52
+ close-on-select
53
+ style="margin-bottom: 10px;"
54
+ width="78%"
55
+ value-single
56
+ ></v-select>
57
+ </div>
58
+ </div>-->
59
+ <div class="row app-row">
60
+ <div class="col-xs-4" style="margin-top: 5px;">
61
+ <img src="../../../assets/购气缴费.png" style="width: 20px;margin-bottom: 5px" alt="">
62
+ <label class="font text-left">收款方式</label>
63
+ </div>
64
+ <div class="col-xs-8">
65
+ <v-select
66
+ placeholder='请选择'
67
+ :options='paytype'
68
+ :value.sync="model.f_payment"
69
+ v-model="model.f_payment"
70
+ close-on-select
71
+ style="margin-bottom: 10px;"
72
+ width="78%"
73
+ value-single
74
+ style="margin-bottom: 15px"
75
+ ></v-select>
76
+ </div>
77
+ </div>
78
+ <div class="row app-row">
79
+ <div class="col-xs-4">
80
+ <img src="../../../assets/购气缴费.png" style="width: 20px;margin-bottom: 5px" alt="">
81
+ <label class="font text-left">单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;价</label>
82
+ </div>
83
+ <div class="col-xs-8">
84
+ <input type="number" class ="search_input input-font" v-model="model.f_unitprice" />
85
+ </div>
86
+ </div>
87
+ <div class="row app-row">
88
+ <div class="col-xs-4">
89
+ <img src="../../../assets/购气缴费.png" style="width: 20px;margin-bottom: 5px" alt="">
90
+ <label class="font text-left">数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;量</label>
91
+ </div>
92
+ <div class="col-xs-8">
93
+ <input type="number" class ="search_input input-font" v-model="model.f_number" />
94
+ </div>
95
+ </div>
96
+
97
+ <div class="row app-row">
98
+ <div class="col-xs-4">
99
+ <img src="../../../assets/购气缴费.png" style="width: 20px;margin-bottom: 5px" alt="">
100
+ <label class="font text-left">&nbsp;收&emsp;&emsp;款</label>
101
+ </div>
102
+ <div class="col-xs-8">
103
+ <input type="number" class ="search_input input-font" v-model="model.f_collection" />
104
+ </div>
105
+ </div>
106
+
107
+ <div class="row app-row">
108
+ <div class="col-xs-4" style="margin-top: 5px;">
109
+ <img src="../../../assets/购气缴费.png" style="width: 20px;margin-bottom: 5px" alt="">
110
+ <label class="font text-left">&nbsp;备&emsp;&emsp;注</label>
111
+ </div>
112
+ <div class="clo-xs-8">
113
+ <input type="text" class ="search_input input-font" v-model="model.f_comments" rows="1"
114
+ placeholder="备注">
115
+ </div>
116
+ </div>
117
+ <!--<div class="row app-row">
118
+ <label class="font text-left">付款方式</label>
119
+ </div>-->
120
+ <div class="row text-center" style="margin-top: 25px;">
121
+ <button type="button" id="determine" class="btn btn-lg btn-font btn-color" style="width: 28%;border-radius: 5px" :disabled="isDetermine" @click="confirm()">确认</button>
122
+ <!--<button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;" @click="clean()">取消</button>-->
123
+ </div>
124
+ </div>
125
+
126
+
127
+ </div>
128
+ </template>
129
+
130
+ <script>
131
+ import Vue from 'vue'
132
+ import {HttpResetClass} from "vue-client";
133
+
134
+ export default {
135
+ title: "购气缴费",
136
+ prop:['row'],
137
+
138
+ data() {
139
+ return {
140
+ isDetermine:false,
141
+ paytype: [{label: "现金缴费", value: "现金缴费"}, {label: "建行支付", value: "建行支付"}],
142
+ specification: [{label: "规格1", value: "规格1"}, {label: "规格2", value: "规格2"}], // 规格
143
+ modeltype: [{label: "型号1", value: "型号1"}, {label: "型号2", value: "型号2"}], // 型号
144
+ chargesize: [{label: "三通费", value: "三通费"}, {label: "报警器", value: "报警器"}, {label: "材料费", value: "材料费"}, {label: "其他费用", value: "其他费用"}],
145
+ shuclass: 'col-xs-12 col-sm-12 col-md-12 form-input-group mg8 css_div',
146
+ model: {
147
+ f_unitprice: 0,
148
+ f_number: 0,
149
+ f_collection: 0,//付款额
150
+ f_brand_spec: '',// 类型
151
+ f_typename: '',// 品名
152
+ f_typenumber: '',// 型号
153
+ f_comments: '',
154
+ f_payment: '建行支付',
155
+ f_serial_id: ''// 流水号
156
+ },
157
+ filiale: '' // 支付的分公司
158
+
159
+ }
160
+ },
161
+ computed: {
162
+
163
+ },
164
+ ready() {
165
+ //tag
166
+ this.paytype = this.$appdata.getParam('支付方式')
167
+ this.chargesize = this.$appdata.getParam('其他收费类型')
168
+ // this.row = { f_user_id:'1001',f_userfiles_id:'1002',f_userinfo_id:'1003'}
169
+ //tag)
170
+ //tag)
171
+ this.model.f_userfiles_id = this.row.f_userfiles_id
172
+ this.model.f_userinfo_code = this.row.f_userinfo_code
173
+ this.model.f_filialeids = `('${this.row.f_filialeid}')`
174
+ this.model.f_user_id = this.row.f_user_id
175
+ this.model.f_card_id = this.row.f_card_id
176
+ this.model.f_total_gas = this.row.f_total_gas
177
+ this.model.f_operator = Vue.user.name
178
+ this.model.f_operatorid = Vue.user.id
179
+ this.model.f_orgid = Vue.user.orgid
180
+ this.model.f_orgname = Vue.user.orgs
181
+ this.model.f_depid = Vue.user.depids
182
+ this.model.f_depname = Vue.user.deps
183
+ },
184
+ methods: {
185
+ myverify () {
186
+ let flag = false
187
+ if (!this.model.f_brand_spec || this.model.f_brand_spec == '' ) {
188
+ this.$showMessage('请选择收费类型')
189
+ return flag
190
+ }
191
+ /*if (!this.model.f_typename || this.model.f_typename == '' ) {
192
+ this.$showMessage('请选择收费品名')
193
+ return flag
194
+ }
195
+ if (!this.model.f_typenumber || this.model.f_typenumber == '' ) {
196
+ this.$showMessage('请选择收费型号')
197
+ return flag
198
+ }*/
199
+ if (!this.model.f_unitprice || this.model.f_unitprice <= 0 ) {
200
+ this.$showMessage('单价异常!')
201
+ return flag
202
+ }
203
+ if (!this.model.f_number || this.model.f_number <= 0 ) {
204
+ this.$showMessage('数量异常!')
205
+ return flag
206
+ }
207
+ if (!this.model.f_collection || this.model.f_collection <= 0 ) {
208
+ this.$showMessage('收款异常!')
209
+ return flag
210
+ }
211
+ if (!this.model.f_payment || this.model.f_payment == '' ) {
212
+ this.$showMessage('请选择收费类型!')
213
+ return flag
214
+ }
215
+ flag = true
216
+ return flag
217
+ },
218
+ f_collection() {
219
+ //tag;
220
+ //tag;
221
+ return this.model.f_collection = this.model.f_number * this.model.f_unitprice;
222
+ },
223
+ async confirm() {
224
+ //tag
225
+ if (this.myverify()) {
226
+ this.$showMessage(`确定对客户${this.row.f_user_name}进行其他收费吗?`, ['confirm', 'cancel']).then(async (res) => {
227
+ if (res === 'confirm') {
228
+ if (this.model.f_payment == '建行支付') {
229
+ this.isDetermine = true
230
+ // 去支付界面
231
+ let _this = this
232
+ let pardate = {
233
+ _this: _this,
234
+ title: '二维码收款',
235
+ safe: true
236
+ }
237
+ _this.$dispatch('gotoson', pardate)
238
+ //tag
239
+ let parameter = {
240
+ model:this.model,
241
+ money: this.model.f_collection
242
+ }
243
+ //tag)
244
+ _this.$goto('create_qrcode', {row: parameter}, 'self', _this.payback)
245
+ } else if (this.model.f_payment == '现金支付') {
246
+ this.isDetermine = true
247
+ //tag
248
+ this.saveCharges()
249
+
250
+ } else {
251
+ //tag
252
+ this.$showMessage(`暂不支持${this.model.f_payment}`)
253
+ }
254
+ }
255
+ })
256
+ }
257
+
258
+
259
+ },
260
+ payback(msg) {
261
+ //tag
262
+ //tag
263
+ if (msg) {
264
+ //tag
265
+ this.model.f_serial_id = msg.f_serial_id
266
+ this.saveCharges()
267
+ }else {
268
+ //tag
269
+ this.$showMessage('支付失败!')
270
+ }
271
+ },
272
+ saveCharges () {
273
+ //tag
274
+ //tag
275
+ let data = {
276
+ f_userfiles_id: this.row.f_userfiles_id, // id
277
+ f_user_id: this.row.f_user_id,
278
+ f_userinfo_id: this.row.f_userinfo_id,
279
+ f_collection: this.model.f_collection,
280
+ f_comments: this.model.f_comments,
281
+ f_payment: this.model.f_payment,
282
+ f_user_name: this.row.f_user_name,
283
+ f_depname: Vue.user.deps,
284
+ f_depid : Vue.user.depids,
285
+ f_orgid : Vue.user.orgid,
286
+ f_orgname : Vue.user.orgs,
287
+ f_operator: Vue.user.name,
288
+ f_operatorid: Vue.user.id,
289
+ otherdetail: [
290
+ {
291
+ f_brand_spec: this.model.f_brand_spec, // 类型
292
+ f_typename: this.model.f_typename.name, //规格
293
+ f_typenumber: this.model.f_typenumber.name, //型号
294
+ f_number: this.model.f_number, //数量
295
+ f_unitprice: this.model.f_unitprice //单价
296
+ }
297
+ ]
298
+ }
299
+ //tag)
300
+ let http4 = new HttpResetClass()
301
+ // http4.load('POST',`/af-telephone/rs/logic/wxthirdothercharge`, data, {}
302
+ http4.load('POST',`${this.$androidUtil.getProxyUrl()}/af-telephone/rs/logic/wxthirdothercharge`, data, {}
303
+ ).then(res => {
304
+ //tag
305
+ //tag)
306
+ if (res) {
307
+ this.$showMessage('其他收费成功!是否打印小票?', ['confirm', 'cancel']).then((res) => {
308
+ if (res === 'confirm') {
309
+ this.PrintReceipt()
310
+ }else {
311
+ this.$dispatch('confirm')
312
+ }
313
+ })
314
+ }else {
315
+ this.$showMessage('购气缴费失败!!!')
316
+ // 是否进行退费
317
+ }
318
+ })
319
+ },
320
+ PrintReceipt() {
321
+ //tag
322
+ // 清空打印内容
323
+ let printContent = []
324
+ // 抬头
325
+ var comName = '梅河口天然气'
326
+ printContent.push({type: 3, text: comName, fontsize: 3, isbold: true, align: 'center'})
327
+ printContent.push({type: 3, text: '手 持 POS 其 他 收 费 凭 证', fontsize: 3, isbold: true, align: 'center'})
328
+ printContent.push({type: 3, text: '----------------------------', fontsize: 3, isbold: true, align: 'center'})
329
+ // 小票信息
330
+ printContent.push({type: 3, text: '用户编号:' + this.row.f_userinfo_code, fontsize: 2, isbold: true, align: 'left'})
331
+ printContent.push({type: 3, text: '用户姓名:' + this.row.f_user_name, fontsize: 2, isbold: true, align: 'left'})
332
+ printContent.push({type: 3, text: '用户地址:' + this.row.f_address, fontsize: 2, isbold: true, align: 'left'})
333
+ printContent.push({type: 3, text: '收费类型:'+ this.model.f_brand_spec , fontsize: 2, isbold: true, align: 'left'})
334
+ printContent.push({type: 3, text: '本次缴费:' + this.model.f_collection + '元', fontsize: 2, isbold: true, align: 'left'})
335
+ printContent.push({type: 3, text: '大写金额:' + Vue.PosUtil.convertCurrency(this.model.f_collection), fontsize: 2, isbold: true, align: 'left'})
336
+ printContent.push({type: 3, text: '支付日期:' + Vue.PosUtil.getNowDate('yyyy-MM-dd'), fontsize: 2, isbold: true, align: 'left'})
337
+ printContent.push({type: 3, text: '支付流水号:' + this.model.f_serial_id, fontsize: 2, isbold: true, align: 'left'})
338
+ printContent.push({type: 3, text: '操作员:' + Vue.user.name, fontsize: 2, isbold: true, align: 'left'})
339
+ printContent.push({type: 3, text: '----------------------------', fontsize: 3, isbold: true, align: 'center'})
340
+ printContent.push({type: 3, text: '', fontsize: 3, isbold: true, align: 'center'})
341
+ // 走纸
342
+ printContent.push({type: 4, value: 5, unit: 'pixel'})
343
+ // 打印
344
+ let print = HostApp.print(JSON.stringify(printContent))
345
+ if (print.code === 200) {
346
+ this.$showMessage('打印成功!是否二次打印?', ['confirm', 'cancel']).then((res) => {
347
+ if (res === 'confirm') {
348
+ //tag
349
+ let print2 = HostApp.print(JSON.stringify(printContent))
350
+ if (print2.code === 200) {
351
+ this.$showMessage('打印成功!是否返回上一层?', ['confirm', 'cancel']).then((res) => {
352
+ if (res === 'confirm') {
353
+ //tag
354
+ this.$dispatch('confirm')
355
+ }
356
+ })
357
+ }else {
358
+ this.$showMessage('打印失败')
359
+ }
360
+ }else {
361
+ this.$dispatch('confirm')
362
+ }
363
+ })
364
+
365
+ }else {
366
+ this.$showMessage('打印失败!请检查POS纸张、电量等,确认无误点击确认再次打印', ['confirm', 'cancel']).then((res) => {
367
+ if (res === 'confirm') {
368
+ //tag
369
+ let print2 = HostApp.print(JSON.stringify(printContent))
370
+ if (print2.code === 200) {
371
+ this.$showMessage('打印成功!是否二次打印?', ['confirm', 'cancel']).then((res) => {
372
+ if (res === 'confirm') {
373
+ //tag
374
+ let print2 = HostApp.print(JSON.stringify(printContent))
375
+ if (print2.code === 200) {
376
+ this.$showMessage('打印成功!是否返回上一层?', ['confirm', 'cancel']).then((res) => {
377
+ if (res === 'confirm') {
378
+ //tag
379
+ this.$dispatch('confirm')
380
+ }
381
+ })
382
+ }else {
383
+ this.$showMessage('打印失败')
384
+ }
385
+ }else {
386
+ this.$dispatch('confirm')
387
+ }
388
+ })
389
+ }else {
390
+ this.$showMessage('打印失败!请检查POS纸张、电池电量!')
391
+ }
392
+ }
393
+ })
394
+ }
395
+ },
396
+ clean() {
397
+ //tag
398
+ this.model.f_brand_spec = '请选择';
399
+ this.model.f_payment = '微信支付';
400
+ this.model.f_number = '';
401
+ this.model.f_unitprice = '';
402
+ this.model.f_collection = '';
403
+ this.model.f_comments = '';
404
+ },
405
+ },
406
+ watch: {
407
+ 'model.f_number' (val) {
408
+ if (val) {
409
+ //tag;
410
+ //tag;
411
+ this.model.f_collection = this.model.f_number * this.model.f_unitprice;
412
+ }
413
+ },
414
+ 'model.f_unitprice' (val) {
415
+ if (val) {
416
+ //tag;
417
+ //tag;
418
+ this.model.f_collection = this.model.f_number * this.model.f_unitprice;
419
+ }
420
+ }
421
+ }
422
+ }
423
+
424
+ </script>
425
+
426
+ <style scoped>
427
+ .app-row {
428
+ background-color: white;
429
+ padding: 10px 10px 0 10px;
430
+ border-bottom: 1px solid rgba(235, 235, 235, 0.7);
431
+ }
432
+ .search_input {
433
+ border: 0;
434
+ outline: none;
435
+ }
436
+ .font{
437
+ font: 15px PingFang-SC-Medium;
438
+ color: #666666;
439
+ }
440
+ .input-font{
441
+ font: 15px PingFang-SC-Medium;
442
+ color: #333333;
443
+ }
444
+ .btn-color{
445
+ background-color: #FFFFFF;
446
+ border-radius: 10px ;
447
+ border: 1px solid #499EDF;
448
+ }
449
+ .btn-font{
450
+ font:600 16px PingFang-SC-Bold;
451
+ color: #499EDF;
452
+ }
453
+ </style>
454
+