sale-client 3.4.110 → 3.4.113

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 (101) hide show
  1. package/.gradle/4.4/fileChanges/last-build.bin +0 -0
  2. package/.gradle/4.4/fileHashes/fileHashes.bin +0 -0
  3. package/.gradle/4.4/fileHashes/fileHashes.lock +0 -0
  4. package/build/dev-server.js +7 -7
  5. package/npm +0 -0
  6. package/package.json +1 -1
  7. package/src/components/FilesManage/MeterinfoTest.vue +0 -1
  8. package/src/components/FilesManage/TemplateManage.vue +167 -167
  9. package/src/components/FilesManage/UserGeneralInfoTest.vue +4 -2
  10. package/src/components/FilesManageNew/UserEssentialInfoTest.vue +1 -1
  11. package/src/components/FilesManageNew/UserGeneralInfoTest.vue +7 -7
  12. package/src/components/charge/business/CardChangeFill.vue +4 -4
  13. package/src/components/charge/business/CardMeterCenter.vue +4 -4
  14. package/src/components/charge/business/FilesComplete.vue +253 -253
  15. package/src/components/charge/business/IOTMeterCenter.vue +801 -801
  16. package/src/components/charge/business/refund/IOTRefund.vue +236 -236
  17. package/src/components/charge/business/refund/RefundManage.vue +28 -28
  18. package/src/components/chargeNew/thirdSurplus.vue +2 -0
  19. package/src/components/meterBook/MeterManger.vue +61 -61
  20. package/src/components/revenue/Common/MeterMessage.vue +184 -184
  21. package/src/components/revenue/HandManager/MeterBookList.vue +488 -488
  22. package/src/components/revenue/HandManager/MeterBookUser.vue +702 -702
  23. package/src/components/revenue/HandManager/OverdueSet.vue +45 -45
  24. package/src/components/revenue/base/leftview/MixPriceInfo.vue +60 -60
  25. package/src/components/revenue/base/leftview/SafeCheck.vue +311 -311
  26. package/src/components/revenue/base/leftview/Stairinfo.vue +156 -156
  27. package/src/components/revenue/base/leftview/meterinfodetail.vue +195 -195
  28. package/src/components/revenue/base/rightview/CardList.vue +477 -478
  29. package/src/components/revenue/comprehen/ComprehenOperation/OtherGas/OtherGas.vue +5 -1
  30. package/src/components/revenue/comprehen/ComprehenOperation/removeTable.vue +1 -1
  31. package/src/components/revenue/comprehen/Maintenance/hand/handListMaintain.vue +33 -10
  32. package/src/components/revenue/comprehen/Maintenance/revenue/StockListmain.vue +7 -7
  33. package/src/components/revenue/comprehen/SpecialUser/BlackList/BlackList.vue +1 -1
  34. package/src/components/revenue/comprehen/SpecialUser/BlackList/BlackListManage.vue +1 -1
  35. package/src/components/revenue/comprehen/handAudit/MeterReadAudit.vue +342 -342
  36. package/src/components/revenue/comprehen/replacement/replacementHandInfoRecord.vue +155 -155
  37. package/src/components/revenue/comprehen/wechatpay/WeChat.vue +62 -62
  38. package/src/components/revenue/machineHandManage/machineDown.vue +1105 -1105
  39. package/src/components/revenue/machineHandManage/machineHand.vue +1 -5
  40. package/src/components/webMeter/MeterManage/WebMeterBatchOperationValve.vue +8 -4
  41. package/src/filiale/{weinan → WEINAN}/AutomaticPurse.vue +0 -0
  42. package/src/filiale/{weinan → WEINAN}/CardList.vue +0 -0
  43. package/src/filiale/{weinan → WEINAN}/CardMeterCenter.vue +0 -0
  44. package/src/filiale/{weinan → WEINAN}/CardMeterChargeCancel.vue +0 -0
  45. package/src/filiale/{weinan → WEINAN}/ChangeMeter.vue +0 -0
  46. package/src/filiale/{weinan → WEINAN}/ChargeList.vue +0 -0
  47. package/src/filiale/{weinan → WEINAN}/ChargeManageNew.vue +0 -0
  48. package/src/filiale/{weinan → WEINAN}/ChargeQueryUser.vue +0 -0
  49. package/src/filiale/{weinan → WEINAN}/ChargeRecordQuery.vue +0 -0
  50. package/src/filiale/{weinan → WEINAN}/DisableManage.vue +0 -0
  51. package/src/filiale/{weinan → WEINAN}/EnableManage.vue +0 -0
  52. package/src/filiale/{weinan → WEINAN}/FileAddressManage.vue +0 -0
  53. package/src/filiale/{weinan → WEINAN}/FileUserAddress.vue +0 -0
  54. package/src/filiale/{weinan → WEINAN}/HighMeter.vue +0 -0
  55. package/src/filiale/{weinan → WEINAN}/IOTMeterCenter.vue +0 -0
  56. package/src/filiale/{weinan → WEINAN}/MachineMeterCenter.vue +0 -0
  57. package/src/filiale/{weinan → WEINAN}/MeterMessage.vue +0 -0
  58. package/src/filiale/{weinan → WEINAN}/MeterinfoTest.vue +0 -0
  59. package/src/filiale/{weinan → WEINAN}/OffGasAddGas.vue +0 -0
  60. package/src/filiale/{weinan → WEINAN}/OtherGas.vue +0 -0
  61. package/src/filiale/{weinan → WEINAN}/OverUseCharge.vue +0 -0
  62. package/src/filiale/{weinan → WEINAN}/RecordCancel.vue +0 -0
  63. package/src/filiale/{weinan → WEINAN}/RecordQueryUser.vue +0 -0
  64. package/src/filiale/{weinan → WEINAN}/ReplaceCardManage.vue +0 -0
  65. package/src/filiale/{weinan → WEINAN}/ShowCardSellGas.vue +0 -0
  66. package/src/filiale/{weinan → WEINAN}/Stairinfo.vue +0 -0
  67. package/src/filiale/{weinan → WEINAN}/TransferManage.vue +0 -0
  68. package/src/filiale/{weinan → WEINAN}/UserBaseInfoNew.vue +0 -0
  69. package/src/filiale/{weinan → WEINAN}/UserEssentialInfoTest.vue +0 -0
  70. package/src/filiale/{weinan → WEINAN}/UserGeneralInfoTest.vue +0 -0
  71. package/src/filiale/{weinan → WEINAN}/UserInfoDetailManageNew.vue +0 -0
  72. package/src/filiale/{weinan → WEINAN}/Userinfo.vue +0 -0
  73. package/src/filiale/{weinan → WEINAN}/gasmove.vue +0 -0
  74. package/src/filiale/{weinan → WEINAN}/meterinfodetail.vue +0 -0
  75. package/src/filiale/{weinan → WEINAN}/plugins/FileManageService.js +0 -0
  76. package/src/filiale/{weinan → WEINAN}/plugins/getTimeService.js +0 -0
  77. package/src/filiale/{weinan → WEINAN}/sale.js +0 -0
  78. package/src/filiale/{weinan → WEINAN}/sale.js~Stashed changes +0 -0
  79. package/src/filiale/{weinan → WEINAN}/static/mainicon//347/237/251/345/275/2421828.png +0 -0
  80. package/src/filiale/alashan/PrintBill.vue +116 -116
  81. package/src/filiale/jingwei/CardHand.vue +742 -742
  82. package/src/filiale/macheng/FilesManageNew/FileUserFiles.vue +743 -0
  83. package/src/filiale/macheng/FilesManageNew/UserEssentialInfoTest.vue +21 -1
  84. package/src/filiale/macheng/UserEssentialInfoTest.vue +4 -2
  85. package/src/filiale/meihekou/MeterinfoTest.vue +0 -1
  86. package/src/filiale/meihekou/PrintBill.vue +140 -140
  87. package/src/filiale/meihekou/ReissueBill.vue +322 -322
  88. package/src/filiale/qianneng/FilesManage/MeterinfoTest.vue +0 -1
  89. package/src/filiale/qianneng/HandManager.vue +1838 -1838
  90. package/src/filiale/qianneng/OtherChargeNew.vue +6 -2
  91. package/src/filiale/qianneng/revenue/comprehen/closeaccount/Batchmanage.vue +58 -58
  92. package/src/filiale/qianneng/sale.js +30 -30
  93. package/src/filiale/qingtongxia/UserGeneralInfoTest.vue +538 -533
  94. package/src/filiale/rongcheng/FilesManageNew/UserGeneralInfoTest.vue +608 -608
  95. package/src/filiale/rongchuang/OtherGas.vue +329 -329
  96. package/src/filiale/tongchuan/CardList.vue +482 -482
  97. package/src/filiale/zhongsheng/rightview/CardList.vue +492 -492
  98. package/src/filiale/zhongsheng/wechatpay/WeChatPayDetail.vue +469 -469
  99. package/src/main.js +1 -1
  100. package/src/plugins/CardService.js +1798 -1798
  101. package/src/plugins/ChangeMeterService.js +756 -756
@@ -1,756 +1,756 @@
1
- import Vue from 'vue'
2
- import co from 'co'
3
-
4
- // let overChargeGen = function * (model, row) {
5
- // let result = yield co(overCharge(model, row))
6
- // }
7
- let changeMeterGen = async function (model, row) {
8
- if (row.f_meter_type === '机表' || row.f_meter_type === '远传表') {
9
- row.f_user_id = row.f_user_id + ''
10
- row.f_userinfo_id = row.f_userinfo_id + ''
11
- let handplan = {
12
- f_last_tablebase: row.f_meter_base,
13
- f_tablebase: model.f_tablebase - 0,
14
- f_whether_pay: '否',
15
- f_oughtamount: (model.f_tablebase - 0) - (row.f_meter_base - 0),
16
- f_meter_state: '已抄表',
17
- f_input_person: Vue.$login.f.name,
18
-
19
- f_operator: Vue.$login.f.name,
20
- f_operatorid: Vue.$login.f.id,
21
- f_orgid: Vue.$login.f.orgid,
22
- f_orgname: Vue.$login.f.orgs,
23
- f_depid: Vue.$login.f.depids,
24
- f_depname: Vue.$login.f.deps,
25
-
26
- f_hand_date: Vue.$login.toStandardTimeString(),
27
- f_input_date: Vue.$login.toStandardTimeString(),
28
- f_end_date: Vue.$login.addDate(Vue.$login.toStandardTimeString(), model.lazy),
29
- f_price_id: row.f_price_id,
30
- f_stairprice_id: row.f_stairprice_id,
31
- userfile: row.f_user_id,
32
- // record_userinfo: row.f_userinfo_id,
33
- f_userinfo_id: row.f_userinfo_id,
34
- f_user_name: row.f_user_name,
35
- f_user_type: row.f_user_type,
36
- f_gasproperties: row.f_gasproperties,
37
- f_address: row.f_address,
38
- f_meter_brand: row.f_meter_brand,
39
- f_meter_style: row.f_meter_style,
40
- f_meternumber: row.f_meternumber
41
- }
42
- return Vue.resetpost('rs/logic/machineOwe', {data: {row: row, handplan: handplan}}, {resolveMsg: null, rejectMsg: null})
43
- } else if (row.f_meter_type === '气量卡表') {
44
- let overuse = {
45
- f_overuseamount: (model.f_tablebase - 0) - (row.f_total_gas - 0),
46
- f_overusefee: '',
47
- f_whether_pay: '否',
48
- f_user_id: row.f_user_id + '',
49
- // record_userinfo: row.f_userinfo_id + '',
50
- f_userinfo_id: row.f_userinfo_id + '',
51
- f_user_name: row.f_user_name,
52
- f_address: row.f_address,
53
- f_operat_type: '卡表超用',
54
- f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}的${row.f_meter_brand}表进行超用收费操作`,
55
- f_state: '有效',
56
-
57
- f_operator: Vue.$login.f.name,
58
- f_operatorid: Vue.$login.f.id,
59
- f_orgid: Vue.$login.f.orgid,
60
- f_orgname: Vue.$login.f.orgs,
61
- f_depid: Vue.$login.f.depids,
62
- f_depname: Vue.$login.f.deps
63
- }
64
-
65
- // 获得应交金额
66
- // let result = yield co(Vue.CommonService.gasCalculate(row, data.f_overuseamount))
67
- // data.f_overusefee = result.data.chargenum
68
-
69
- return Vue.resetpost('rs/logic/cardMeterOwe', {data: {row: row, overuse: overuse}}, {resolveMsg: null, rejectMsg: '超用收费存库失败'})
70
- // return Vue.resetpost('rs/entity/t_overuse', data, {resolveMsg: null, rejectMsg: null})
71
- } else if (row.f_meter_type === '物联网表') {
72
- let data = {
73
- f_user_id: row.f_user_id + '',
74
- f_meter_base: model.f_tablebase - 0,
75
-
76
- f_operator: Vue.$login.f.name,
77
- f_operatorid: Vue.$login.f.id,
78
- f_orgid: Vue.$login.f.orgid,
79
- f_orgname: Vue.$login.f.orgs,
80
- f_depid: Vue.$login.f.depids,
81
- f_depname: Vue.$login.f.deps
82
- }
83
- // 获得应交气量
84
- // let result = yield co(Vue.CommonService.feeCalculate(row, (0 - (model.f_tablebase - 0))))
85
- // data.f_overuseamount = result.data.gas
86
- return Vue.resetpost('rs/logic/iotMeterOwe', {data: data}, {resolveMsg: null, rejectMsg: '物联网表结算失败!!!'})
87
- } else if (row.f_meter_type === '金额卡表') {
88
- let overuse = {
89
- f_overusefee: (0 - (model.f_tablebase - 0)),
90
- f_whether_pay: '否',
91
- f_state: '有效',
92
- f_user_id: row.f_user_id + '',
93
- // record_userinfo: row.f_userinfo_id + '',
94
- f_userinfo_id: row.f_userinfo_id + '',
95
- f_user_name: row.f_user_name,
96
- f_address: row.f_address,
97
- f_operat_type: '卡表超用',
98
- f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}的${row.f_meter_brand}表进行超用收费操作`,
99
-
100
- f_operator: Vue.$login.f.name,
101
- f_operatorid: Vue.$login.f.id,
102
- f_orgid: Vue.$login.f.orgid,
103
- f_orgname: Vue.$login.f.orgs,
104
- f_depid: Vue.$login.f.depids,
105
- f_depname: Vue.$login.f.deps
106
- }
107
- // 获得应交气量
108
- // let result = yield co(Vue.CommonService.feeCalculate(row, (0 - (model.f_tablebase - 0))))
109
- // data.f_overuseamount = result.data.gas
110
- return Vue.resetpost('rs/logic/feeMeterOwe', {data: {row: row, overuse: overuse}}, {resolveMsg: null, rejectMsg: '超用收费存库失败'})
111
- }
112
- }
113
-
114
- // 只换表
115
- let onlyChangeNewMeterGen = function * (model, data) {
116
- let result
117
- try {
118
- let cardState = yield co(Vue.resetpost('http://127.0.0.1:8003/hasCard', {data: {}}, {resolveMsg: null, rejectMsg: null}))
119
- if (JSON.parse(cardState.data).state === 1) {
120
- // 存库
121
- result = yield Vue.resetpost('rs/logic/changeMeter', {data: data}, {resolveMsg: null, rejectMsg: '换表失败'})
122
- // 获取气价和售气情况参数
123
- let cardParams = yield co(getParamGen(result.data.cardnumber, model.metermessage.gasbrand[0].f_alias, data.f_user_id))
124
- //
125
- // 写卡
126
- let params = {
127
- factory: model.metermessage.gasbrand[0].f_alias,
128
- kmm: '000000', // 卡密码,写卡后返回新密码, 不论补卡还是先开户都没有密码
129
- kzt: '0', // 卡状态,0开户卡,1用户卡(0新开户,1补卡)
130
- kh: result.data.cardnumber, // 卡号
131
- yhh: data.f_meterid, // 用户号,档案中自己输
132
- ql: 0, // 预购气量
133
- csql: 0, // 上次购气量,新开户为0
134
- ccsql: 0, // 上上次购气量,新开户为0
135
- cs: 1, // 求购气次数,先开户为1
136
- ljgql: 0, // 当前累计购气量
137
- bkcs: 0, // 新开户卡,为0
138
- ljyql: 0, // 累积用气量,有些表要累加原来用气量,新开户卡,为0
139
- bjql: model.metermessage.gasbrand[0].f_police_gas, // 报警气量,t_gasbrand表中
140
- czsx: model.metermessage.gasbrand[0].f_topup_ceil, // 充值上线,t_gasbrand表中
141
- tzed: model.metermessage.gasbrand[0].f_overdr_lines, // 透支额度,t_gasbrand表中
142
- cssqrq: '', // 上次售气日期,格式为YYYYMMDD
143
- // sxrq: model.f_startdate, // 生效日期,价格管理中取
144
- meterid: model.metermessage.f_meternumber, // 表号
145
- dqdm: row.f_area_code, // 精益工业地区代码
146
- klx: data.f_coding // 购气金额
147
- }
148
- params = Object.assign({}, Vue.CommonService.writeCardParams(cardParams), params)
149
- let cardRes = yield co(Vue.resetpost('http://127.0.0.1:8003/WriteNewCard', params, {resolveMsg: null, rejectMsg: '补气卡服务错误'}))
150
- // 卡服务写卡异常,业务逻辑回滚
151
- if (!cardParams || !result || cardRes.data.Err || cardRes.data.Exception) {
152
- let data = {
153
- id: result.data.id
154
- }
155
- yield Vue.resetpost('rs/logic/changeMeterRollback', {data: data}, {resolveMsg: '换表成功,写卡失败', rejectMsg: '换表成功,写卡失败'})
156
- } else {
157
- let change = {
158
- userfiles: {
159
- f_user_id: data.changemeter.f_user_id.f_user_id,
160
- version: data.changemeter.f_user_id.version,
161
- f_card_id: result.data.cardnumber,
162
- f_times: 0,
163
- f_card_password: cardRes.data.Kmm
164
- },
165
- record: {
166
- id: result.data.id,
167
- f_state: '有效'
168
- }
169
- }
170
- yield Vue.resetpost('rs/logic/updatemark', {data: change}, {resolveMsg: '换表成功', rejectMsg: '换表成功,更新状态有效失败'})
171
- }
172
- } else {
173
- Vue.showAlert('请检查卡是否插好!!', 'danger', 3000)
174
- }
175
- } catch (error) {
176
- let msg = ''
177
- if (error.status === 612) {
178
- msg = '请检查读卡器时候连接,或者卡服务是否启动!!'
179
- } else {
180
- msg = '换表失败!!'
181
- let data = {
182
- id: result.data.id
183
- }
184
- yield Vue.resetpost('rs/logic/changeMeterRollback', {data: data}, {resolveMsg: '换表成功,写卡失败', rejectMsg: '换表成功,写卡失败'})
185
- }
186
- Vue.showAlert(msg, 'danger', 0)
187
- }
188
- }
189
-
190
- // let changeNewMeterGen = function * (type, data) {
191
- // if (type === '物联网表') {
192
- // data.changemeter.f_user_id.f_table_state = '未发送'
193
- // }
194
- // return co(Vue.resetpost('rs/logic/changeMeter', {data: data}))
195
- // }
196
-
197
- // 换表并补气
198
- let changeNewMeterGen = async function (model, row) {
199
- let result
200
- try {
201
- // 判断是否补气,如果补气写卡,反之不写卡
202
- console.log('换表并补气呀。。', model, model.isfillgas)
203
- if (model.isCardMeter) {
204
- console.log('换表并补气。。。')
205
- let cardState = await Vue.resetpost('http://127.0.0.1:8003/hasCard', {data: {}}, {resolveMsg: null, rejectMsg: '卡服务判卡函数出错,请联系开发人员'})
206
- if (JSON.parse(cardState.data).state === 1) {
207
- // 获取卡号
208
- let getCardNumber = await Vue.resetpost('rs/logic/getCardNumber', {data: {id: model.metermessage.gasbrand[0].id}}, {resolveMsg: null, rejectMsg: '换表并补气时获取卡号失败!!'})
209
- console.log('获取卡号、、', getCardNumber)
210
- if (getCardNumber.data.cardNumber) {
211
- model.cardNumber = getCardNumber.data.cardNumber + ''
212
- } else {
213
- throw new Error('获取卡号失败!请核实参数管理中的卡号重新发卡售气。')
214
- }
215
-
216
- let data = getChangeData(model, row)
217
- // TODO 清零换表
218
- // 返回卡号
219
- result = await Vue.resetpost('rs/logic/changeMeter', {data: data}, {resolveMsg: null, rejectMsg: '换表并补气卡服务错误'})
220
- // 获取气价和售气情况参数
221
-
222
- let cardParams = await getParamGen(result.data.cardnumber, model.metermessage.gasbrand[0].f_alias, row.f_user_id)
223
- console.log('获取写卡参数,,,,123', cardParams)
224
- // 写卡
225
- let params = {
226
- factory: model.metermessage.gasbrand[0].f_alias,
227
- kmm: '000000', // 卡密码,写卡后返回新密码, 不论补卡还是先开户都没有密码
228
- kzt: '0', // 卡状态,0开户卡,1用户卡(0新开户,1补卡)
229
- kh: result.data.cardnumber, // 卡号
230
- yhh: data.f_meterid, // 用户号,档案中自己输
231
- ql: model.f_pregas, // 预购气量
232
- cs: '1', // 求购气次数,先开户为1
233
- ljgql: model.f_pregas, // 当前累计购气量
234
- bkcs: '0', // 新开户卡,为0
235
- ljyql: '0', // 累积用气量,有些表要累加原来用气量,新开户卡,为0
236
- bjql: model.metermessage.gasbrand[0].f_police_gas, // 报警气量,t_gasbrand表中
237
- czsx: model.metermessage.gasbrand[0].f_topup_ceil, // 充值上线,t_gasbrand表中
238
- tzed: model.metermessage.gasbrand[0].f_overdr_lines, // 透支额度,t_gasbrand表中
239
- cssqrq: '', // 上次售气日期,格式为YYYYMMDD
240
- // sxrq: model.f_startdate, // 生效日期,价格管理中取
241
- meterid: row.f_meternumber, // 表号
242
- money: model.f_preamount,
243
- totalmoney: model.f_preamount,
244
- dqdm: row.f_area_code, // 精益工业地区代码
245
- klx: row.f_coding
246
- }
247
- // 天源表发卡售气时,cs默认给0
248
- if (model.metermessage.gasbrand[0].f_alias && model.metermessage.gasbrand[0].f_alias.includes('TianYuan')) {
249
- console.log('天源表发卡售气时,写卡次数给:', params.cs)
250
- params.cs = '0'
251
- }
252
- params = Object.assign({}, Vue.CommonService.writeCardParams(cardParams), params)
253
- console.log('换表补气写卡参数,,,,', params)
254
- let cardRes = await Vue.resetpost('http://127.0.0.1:8003/WriteNewCard', params, {
255
- resolveMsg: null,
256
- rejectMsg: '换表并补气卡服务错误'
257
- })
258
- console.log('换表写卡返回:', cardRes)
259
- if (!cardParams || !result || cardRes.data.Err || cardRes.data.Exception) {
260
- throw new Error(`卡服务错误:${cardRes.data.Err}${cardRes.data.Exception},请联系开发人员处理!!`)
261
- } else {
262
- // 如果成功修改标识(更新状态为有效),将返回的卡密码写回数据库
263
- let param = {
264
- userfiles: {
265
- f_user_id: data.changemeter.f_user_id.f_user_id,
266
- f_card_id: result.data.cardnumber,
267
- f_card_password: cardRes.data.Kmm
268
- }
269
- }
270
- await Vue.resetpost('rs/logic/changeMeterOK', {data: param}, {
271
- resolveMsg: '换表并补气成功',
272
- rejectMsg: '换表成功之后,更新表档案时出错'
273
- })
274
- return result.data.id
275
- }
276
- } else {
277
- Vue.showAlert('请检查卡是否插好!!', 'danger', 3000)
278
- }
279
- } else {
280
- let data = getChangeData(model, row)
281
- // 直接将状态变为有效,没有必要之后再更新了
282
- data.changemeter.f_state = '有效'
283
- result = await Vue.resetpost('rs/logic/changeMeter', {data: data}, {resolveMsg: '换表成功', rejectMsg: '换表失败'})
284
- console.log('保存完返回:', result)
285
- return result.data.id
286
- }
287
- } catch (error) {
288
- let msg = ''
289
- if (error.status === 612) {
290
- msg = '请检查读卡器时候连接,或者卡服务是否启动!!'
291
- throw new Error(msg)
292
- } else {
293
- await Vue.resetpost('rs/logic/changeMeterRollback', {data: {id: result.data.id, fillgas_id: result.data.fillgas_id}}, {resolveMsg: null, rejectMsg: '换表并补气失败'})
294
- throw error
295
- }
296
- }
297
- }
298
-
299
- // 单独换表补气界面
300
- let AddGasWriteCardGen = function * (model, row) {
301
- let result
302
- try {
303
- let cardState = yield Vue.resetpost('http://127.0.0.1:8003/hasCard', {data: {}}, {resolveMsg: null, rejectMsg: null})
304
- if (JSON.parse(cardState.data).state === 1) {
305
- // 存库
306
- result = yield co(AddGasGen(model, row))
307
- console.log('换表补气查看存库结果:', result)
308
- // 获取气价和售气情况参数
309
- let cardParams = yield co(getParamGen(row.f_card_id, row.f_alias, row.f_user_id))
310
- // 写卡
311
- let params = {
312
- factory: row.f_alias, // 气表厂家
313
- kh: row.f_card_id, // 卡号
314
- kmm: row.f_card_password, // 卡密码,写卡后返回新密码, 不论补卡还是先开户都没有密码
315
- bjql: row.f_police_gas, // 报警气量,t_gasbrand表中
316
- czsx: row.f_topup_ceil, // 充值上线,t_gasbrand表中
317
- tzed: row.f_overdr_lines, // 透支额度,t_gasbrand表中
318
- bkcs: model.f_replace_time, // 补卡次数,从补卡表里通过表编号获得
319
- ql: model.f_pregas, // 预购气量
320
- cs: 1, // 求购气次数,先开户为1
321
- dqdm: row.f_area_code, // 精益工业地区代码
322
- klx: row.f_coding
323
- }
324
- params = Object.assign({}, Vue.CommonService.writeCardParams(cardParams), params)
325
- let cardRes
326
- if (row.f_states === '换表') {
327
- cardRes = yield co(Vue.resetpost('http://127.0.0.1:8003/WriteNewCard', params, {resolveMsg: null, rejectMsg: '补气卡服务错误'}))
328
- } else {
329
- params.cs = row.cardInfo.Times + 1
330
- cardRes = yield co(Vue.resetpost('http://127.0.0.1:8003/WriteGasCard', params, {resolveMsg: null, rejectMsg: '补气卡服务错误'}))
331
- }
332
- // 卡服务写卡异常,业务逻辑回滚
333
- if (!cardParams || !result || cardRes.data.Err || cardRes.data.Exception) {
334
- let data = {
335
- userfile: {
336
- f_user_id: row.f_user_id,
337
- f_remanent_gas: model.f_lastremain_fillgas,
338
- version: 0
339
- },
340
- fillgas_id: result.data + ''
341
- }
342
- yield Vue.resetpost('rs/logic/addGasRoolBack', {data: {userfile: data.userfile, fillgas_id: data.fillgas_id}}, {resolveMsg: '补气失败', rejectMsg: '补气失败'})
343
- } else {
344
- let update = {
345
- userfiles: {
346
- f_user_id: row.f_user_id,
347
- f_meter_base: (row.f_meter_base - 0) + (model.f_pregas - 0),
348
- f_remanent_gas: model.theremain_fillgas,
349
- f_times: 1,
350
- version: 0
351
- },
352
- record: {
353
- id: result.data,
354
- f_state: '有效'
355
- }
356
- }
357
- yield Vue.resetpost('rs/logic/updatemark', {data: update}, {resolveMsg: '补气成功', rejectMsg: '补气修改状态失败'})
358
- }
359
- } else {
360
- Vue.showAlert('请检查卡是否插好!!', 'danger', 3000)
361
- }
362
- } catch (error) {
363
- console.log('换表报错。。。', error)
364
- let msg = ''
365
- if (error.status === 612) {
366
- msg = '请检查读卡器是否连接,或者卡服务是否启动!!'
367
- } else {
368
- msg = '换表补气失败!!'
369
- let data = {
370
- userfile: {
371
- f_user_id: row.f_user_id,
372
- f_remanent_gas: model.f_lastremain_fillgas,
373
- version: 0
374
- },
375
- fillgas_id: result.data + ''
376
- }
377
- Vue.resetpost('rs/logic/addGasRoolBack', {data: {userfile: data.userfile, fillgas_id: data.fillgas_id}}, {resolveMsg: '补气失败', rejectMsg: '补气失败'})
378
- }
379
- Vue.showAlert(msg, 'danger', 0)
380
- }
381
- }
382
-
383
- let AddGasGen = function * (model, row) {
384
- let data = {
385
- fillgas: {
386
- f_meter_brand: row.f_meter_brand,
387
- f_pregas: model.f_pregas,
388
- f_preamount: model.f_preamount,
389
- f_card_id: row.f_card_id,
390
- f_user_type: row.f_user_type,
391
- f_gasproperties: row.f_gasproperties,
392
- f_lastremain_fillgas: model.f_lastremain_fillgas,
393
- f_theremain_fillgas: model.f_theremain_fillgas,
394
-
395
- f_total_gas: (model.f_pregas - 0) + (row.f_total_gas - 0),
396
- f_total_fee: (model.f_preamount - 0) + (row.f_total_fee - 0),
397
-
398
- // 写卡时间在后台单独存储(获取数据库服务器时间)
399
-
400
- f_comments: model.f_reason,
401
- f_type: model.f_type[0],
402
- f_userinfo_id: row.f_userinfo_id,
403
- f_user_id: row.f_user_id,
404
- f_user_name: row.f_user_name,
405
- f_operat_type: '换表补气',
406
- f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}进行换表补气操作`,
407
- f_state: '有效',
408
-
409
- f_operator: Vue.$login.f.name,
410
- f_operatorid: Vue.$login.f.id,
411
- f_orgid: Vue.$login.f.orgid,
412
- f_orgname: Vue.$login.f.orgs,
413
- f_depid: Vue.$login.f.depids,
414
- f_depname: Vue.$login.f.deps,
415
- f_zoneid: Vue.$login.f.zoneid,
416
- f_zones: Vue.$login.f.zones,
417
-
418
- f_user_id: {
419
- f_user_id: row.f_user_id,
420
- f_remanent_gas: model.f_theremain_fillgas,
421
- f_total_gas: (row.f_total_gas - 0) + (model.f_pregas - 0),
422
- version: row.version
423
- }
424
- }
425
- }
426
- data.fillgas.f_user_id.f_times = row.states === '换表' ? 1 : row.cardInfo.Times + 1
427
- return co(Vue.resetpost('rs/logic/changePlus', {data: data}, {resolveMsg: null, rejectMsg: '换表气补气存库失败'}))
428
- }
429
- let getParamGen = async function (cardId, alias, f_user_id) {
430
- let data = {
431
- f_card_id: cardId + '',
432
- f_alias: alias,
433
- f_user_id: f_user_id
434
- }
435
- return await Vue.resetpost('rs/logic/stairCard', {data: data}, {resolveMsg: null, rejectMsg: '获取写卡参数失败'})
436
- }
437
-
438
- // 换表之前判断是够有欠费,和未抄表数据
439
- let isHasOweGen = function * (f_user_id) {
440
- let owe = yield Vue.resetpost('rs/sql/getOverdue', {data: {f_user_id: f_user_id}}, {resolveMsg: null, rejectMsg: '获取欠费信息出错!!'})
441
- console.log('表具停用看是否有欠费', owe.data)
442
- let hasHandplan = yield Vue.resetpost('rs/sql/saleSingleTable', {data: {tablename: 't_handplan', condition: `f_meter_state = '未抄表' and f_user_id = '${f_user_id}'`}}, {resolveMsg: null, rejectMsg: null})
443
- console.log('是否有未抄表数据', hasHandplan.data)
444
- let result = {}
445
- result.owe = owe.data
446
- result.hasHandplan = hasHandplan.data
447
- return result
448
- }
449
-
450
- let getChangeData = function (model, row) {
451
- console.log('看看新表的信息rowrowrow是是..', row)
452
- let result = {
453
- changemeter: {
454
- f_user_id: {
455
- f_user_id: row.f_user_id + '',
456
- f_balance_amount: model.f_balance_amount,
457
- f_balance_gas: model.f_balance_gas,
458
- f_meternumber: model.metermessage.f_meternumber,
459
- f_metertitles: model.metermessage.f_metertitles,
460
- f_meter_classify: model.metermessage.gasbrand[0].f_meter_type,
461
- f_gasbrand_id: model.metermessage.gasbrand[0].id,
462
- f_gasmodel_id: model.metermessage.gasmodel[0].id,
463
- f_remanent_gas: model.f_remanent_gas,
464
- f_card_id: model.cardNumber ? model.cardNumber : null,
465
- f_total_gas: model.f_type[0].includes('换新表') ? model.f_pregas : (row.f_total_gas - 0),
466
- f_total_fee: model.f_type[0].includes('换新表') ? model.f_preamount : (row.f_total_fee - 0),
467
- f_times: 1,
468
- f_meter_base: model.metermessage.f_meter_base,
469
- f_initial_base: model.f_type[0].includes('换新表') ? model.metermessage.f_meter_base : row.f_initial_base,
470
- version: row.version
471
- },
472
- f_userinfo_id: {
473
- f_userinfo_id: row.f_userinfo_id + '',
474
- version: row.userinfo_version,
475
- f_balance: model.f_balance
476
- },
477
- f_user_name: row.f_user_name,
478
- f_user_type: row.f_user_type,
479
- f_gasproperties: row.f_gasproperties,
480
- f_type: model.f_type[0],
481
- f_changemeter_fee: model.f_changemeter_fee ? model.f_changemeter_fee : 0,
482
- f_meternumber: row.f_meternumber,
483
- f_newmeternumber: model.metermessage.f_meternumber,
484
- f_metertitles: row.f_metertitles,
485
- f_newmetertitles: model.metermessage.f_metertitles,
486
- f_card_id: row.f_card_id,
487
- f_newcard_id: model.cardNumber ? model.cardNumber : null,
488
-
489
- f_whether_hairpin: row.f_whether_hairpin,
490
- f_newwhether_hairpin: model.metermessage.gasbrand[0].f_meter_type.includes('卡表') ? '已发' : '无卡',
491
- f_total_gas: row.f_total_gas,
492
- f_newtotal_gas: model.f_type[0].includes('换新表') ? model.f_pregas : (row.f_total_gas - 0),
493
- f_total_fee: row.f_total_fee,
494
- f_newtotal_fee: model.f_type[0].includes('换新表') ? model.f_preamount : (row.f_total_fee - 0),
495
-
496
- f_card_password: row.f_card_password,
497
- f_newcard_password: '',
498
- f_meter_base: row.f_meter_base,
499
- f_using_base: row.f_tablebase,
500
- f_surplus_fee: model.f_preamount,
501
- f_initial_base: row.f_initial_base,
502
- f_newinitial_base: model.metermessage.f_meter_base,
503
- f_times: row.f_times,
504
- f_newtimes: 0,
505
- f_meter_classify: row.f_meter_type,
506
- f_newmeter_classify: model.metermessage.gasbrand[0].f_meter_type,
507
- f_meterid: row.f_meterid,
508
- f_newmeterid: '',
509
- f_remanent_gas: row.f_remanent_gas,
510
- f_newremanent_gas: model.f_remanent_gas,
511
-
512
- // 旧表使用量
513
- f_oldmeter_use: model.metermessage.f_oldmeter_use,
514
- // 物联网表
515
- f_table_state: row.f_table_state,
516
- f_newtable_state: '待发送',
517
- f_valve_state: row.f_valve_state,
518
- f_newvalve_state: '待发送',
519
-
520
- f_balance: row.f_balance,
521
- f_newbalance: model.f_balance,
522
-
523
- f_balance_gas: row.f_balance_gas,
524
- f_newbalance_gas: model.f_balance_gas,
525
- f_balance_amount: row.f_balance_amount,
526
- f_newbalance_amount: model.f_balance_amount,
527
-
528
- f_gasbrand_id: row.f_gasbrand_id,
529
- f_newgasbrand_id: model.metermessage.gasbrand[0].id,
530
- f_gasmodel_id: row.f_gasmodel_id,
531
- f_newgasmodel_id: model.metermessage.gasmodel[0].id,
532
-
533
- f_meter_brand: row.f_meter_brand,
534
- f_newmeter_brand: model.metermessage.gasbrand[0].f_meter_brand,
535
-
536
- f_state: '有效',
537
- f_comments: model.f_reason[0],
538
- f_othereason: model.f_othereason,
539
- f_operat_type: '换表',
540
- f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}进行换新表操作`,
541
-
542
- f_operator: Vue.$login.f.name,
543
- f_operatorid: Vue.$login.f.id,
544
- f_orgid: Vue.$login.f.orgid,
545
- f_orgname: Vue.$login.f.orgs,
546
- f_depid: Vue.$login.f.depids,
547
- f_depname: Vue.$login.f.deps,
548
-
549
- f_change_operator: model.f_change_operator[0],
550
- f_payment: model.f_payment[0],
551
- f_voucher_number: model.f_voucher_number,
552
- f_bill_style: model.f_print[0],
553
- f_changemeter_date: model.f_changemeter_date
554
- },
555
- // 是否换成卡表
556
- changeToCard: model.isCardMeter,
557
- // 是否需要核减气量价格明细
558
- isChargeprice: row.isChargeprice,
559
- chargeprice: {
560
- isneed: row.isChargeprice,
561
- gas: (row.f_newremanent_gas - 0) - (model.f_sumamount - 0) > 0 ? model.f_sumamount : row.f_newremanent_gas,
562
-
563
- f_old_use: model.metermessage.f_oldmeter_use,
564
- f_old_reference: model.metermessage.f_oldmeter_use_reference
565
- },
566
- // 气表品牌,用于获取卡号
567
- gasbrand: model.metermessage.gasbrand[0].f_meter_brand,
568
- fillgas: {
569
- f_card_id: row.f_card_id,
570
- f_pregas: model.f_pregas,
571
- f_preamount: model.f_preamount,
572
- f_user_type: row.f_user_type,
573
- f_gasproperties: row.f_gasproperties,
574
-
575
- f_total_gas: model.f_type[0].includes('换新表') ? model.f_pregas : (row.f_total_gas - 0),
576
- f_total_fee: model.f_type[0].includes('换新表') ? model.f_preamount : (row.f_total_fee - 0),
577
-
578
- f_balance: row.f_balance,
579
- f_curbalance: model.f_balance,
580
- f_lastremain_fillgas: row.f_remanent_gas,
581
- f_theremain_fillgas: model.f_remanent_gas,
582
- f_comments: '换新表时旧表有剩余',
583
- f_type: model.f_type[0].includes('换新表') ? '换表补气' : '清零补气',
584
- f_state: '有效',
585
- f_user_id: row.f_user_id + '',
586
- f_userinfo_id: row.f_userinfo_id,
587
- f_user_name: row.f_user_name,
588
- f_operat_type: model.f_type[0].includes('换新表') ? '换表补气' : '清零补气',
589
- f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}进行补气操作`,
590
-
591
- f_operator: Vue.$login.f.name,
592
- f_operatorid: Vue.$login.f.id,
593
- f_orgid: Vue.$login.f.orgid,
594
- f_orgname: Vue.$login.f.orgs,
595
- f_depid: Vue.$login.f.depids,
596
- f_depname: Vue.$login.f.deps
597
- }
598
- }
599
-
600
- return result
601
- }
602
-
603
- let ChangeMeterService = {
604
- install (Vue, options) {
605
- // 给vue增添对话框显示方法
606
- Vue.ChangeMeterService = Vue.prototype.$ChangeMeterService = ChangeMeterService
607
- },
608
-
609
- // 判断是否有欠费
610
-
611
- isHasOwe (row) {
612
- return co(isHasOweGen(row.f_user_id))
613
- },
614
-
615
- // 换表
616
- changeMeter (model, row) {
617
- return changeMeterGen(model, row)
618
- },
619
-
620
- changeNewMeter (model, row) {
621
- return changeNewMeterGen(model, row)
622
- },
623
- overCharge (model, row) {
624
- let data = {
625
- f_userinfo_id: row.f_userinfo_id,
626
- f_userfiles_id: row.f_userfiles_id,
627
- f_balance: model.f_balance,
628
- f_curbalance: model.f_curbalance,
629
- f_meter_type: row.f_meter_type,
630
- f_preamount: model.f_preamount,
631
- f_pregas: model.f_pregas,
632
- f_total_gas: model.addtotal[0]==='是'?(row.f_total_gas - 0) + (model.f_pregas - 0):(row.f_total_gas - 0),
633
- f_total_fee: model.addtotal[0]==='是'?(row.f_total_fee - 0) + (model.f_preamount - 0):(row.f_total_fee - 0),
634
- f_payment: model.f_payment.toString(),
635
- f_bill_style: model.f_print.toString(),
636
- f_comments: model.f_comments,
637
- f_voucher_number: model.f_voucher_number,
638
- f_price_name: row.f_price_name,
639
- f_price_id: row.f_price_id,
640
- f_stairprice_id: row.f_stairprice_id,
641
- f_user_id: row.f_user_id,
642
- f_user_name: row.f_user_name,
643
- f_user_type: row.f_user_type,
644
- f_gasproperties: row.f_gasproperties,
645
- f_address: row.f_address,
646
- f_meter_brand: row.f_meter_brand,
647
- f_meter_style: row.f_meter_style,
648
- f_meternumber: row.f_meternumber,
649
- f_collection: model.f_collection,
650
- f_serial_id: model.f_serial_id,
651
- f_serial_number: model.f_serial_number,
652
- f_delaypay: 0,
653
- chargeprice: model.chargeprice,
654
- f_overuse_state: '有效',
655
- f_operator: Vue.$login.f.name,
656
- f_operatorid: Vue.$login.f.id,
657
- f_orgid: Vue.$login.f.orgid,
658
- f_orgname: Vue.$login.f.orgs,
659
- f_depid: Vue.$login.f.depids,
660
- f_depname: Vue.$login.f.deps,
661
- f_zoneid: Vue.$login.f.zoneid,
662
- f_zones: Vue.$login.f.zones,
663
-
664
- f_type: '超用收费',
665
- // f_state: '有效',
666
- f_operat_type: '超用收费',
667
- f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}进行超用收费操作`,
668
- f_state: '有效'
669
- }
670
- if (row.f_meter_brand.includes('数码表')) {
671
- data.f_userinfo_id = {
672
- f_userinfo_id: row.f_userinfo_id,
673
- version: row.userinfo_version,
674
- f_balance: model.f_curbalance
675
- }
676
- } else if (row.f_meter_type === '机表') {
677
- delete data.chargeprice
678
- data.f_userinfo_id = {
679
- f_userinfo_id: row.f_userinfo_id,
680
- version: row.userinfo_version,
681
- f_balance: model.f_curbalance
682
- }
683
- } else if (row.f_meter_type === '金额卡表') {
684
- data.f_tablebase = (model.f_pregas - 0) + (row.f_meter_base - 0)
685
- data.f_last_tablebase = row.f_meter_base
686
- data.f_userinfo_id = {
687
- f_userinfo_id: row.f_userinfo_id,
688
- version: row.userinfo_version,
689
- f_balance: model.f_curbalance,
690
- userfiles: {
691
- f_user_id: row.f_user_id,
692
- f_userfiles_id: row.f_userfiles_id,
693
- version: row.version,
694
- f_total_gas:model.addtotal[0]==='是'? (model.f_pregas - 0) + (row.f_total_gas - 0):(row.f_total_gas - 0),
695
- f_total_fee: model.addtotal[0]==='是'?(model.f_preamount - 0) + (row.f_total_fee - 0):(row.f_total_fee - 0)
696
- // f_meter_base: (model.f_pregas - 0) + (row.f_total_gas - 0),
697
- }
698
- }
699
- } else if (row.f_meter_type === '气量卡表') {
700
- data.f_tablebase = (model.f_pregas - 0) + (row.f_meter_base - 0)
701
- data.f_last_tablebase = row.f_meter_base
702
- data.f_userinfo_id = {
703
- f_userinfo_id: row.f_userinfo_id,
704
- version: row.userinfo_version,
705
- f_balance: model.f_curbalance,
706
- userfiles: {
707
- f_user_id: row.f_user_id,
708
- f_userfiles_id: row.f_userfiles_id,
709
- version: row.version,
710
- f_total_gas: model.addtotal[0]==='是'? (model.f_pregas - 0) + (row.f_total_gas - 0):(row.f_total_gas - 0),
711
- f_total_fee: model.addtotal[0]==='是'? (model.f_preamount - 0) + (row.f_total_fee - 0):(row.f_total_fee - 0)
712
- // f_meter_base: (model.f_pregas - 0) + (row.f_total_gas - 0),
713
- }
714
- }
715
- } else if (row.f_meter_type === '物联网表') {
716
- Vue.showAlert('此功能尚未开放,请联系开发人员', 'warning', 3000)
717
- if (row.f_show_way === '按气量') {
718
- data.f_tablebase = model.f_pregas
719
- data.f_last_tablebase = row.f_meter_base
720
- data.f_userinfo_id = {
721
- f_userinfo_id: row.f_userinfo_id,
722
- version: row.userinfo_version,
723
- f_balance: 0,
724
- userfiles: {
725
- f_user_id: model.f_user_id,
726
- f_total_fee: ((model.f_totalcost - 0) + (row.f_total_fee - 0)).toFixed(2),
727
- f_balance_gas: parseFloat(row.f_balance_gas) + parseFloat(model.f_pregas),
728
- // f_meter_base: parseFloat(model.f_pregas) + parseFloat(row.f_meter_base),
729
- version: row.version
730
- }
731
- }
732
- } if (row.f_show_way === '按金额') {
733
- data.f_tablebase = model.f_pregas
734
- data.f_last_tablebase = row.f_meter_base
735
- data.f_userinfo_id = {
736
- f_userinfo_id: row.f_userinfo_id,
737
- version: row.userinfo_version,
738
- f_balance: 0,
739
- userfiles: {
740
- f_user_id: model.f_user_id,
741
- f_total_fee: ((row.f_total_fee - 0) + (model.f_collection - 0)).toFixed(2),
742
- // f_meter_base: parseFloat(model.f_pregas) + parseFloat(row.f_meter_base),
743
- f_balance_amount: parseFloat(model.f_collection) - parseFloat(model.f_preamount),
744
- version: row.version
745
- }
746
- }
747
- }
748
- }
749
- return Vue.resetpost('rs/logic/overCharge', {data: data}, {resolveMsg: '超用收费成功', rejectMsg: '超用收费失败'})
750
- },
751
- AddGasWriteCard (model, row) {
752
- return co(AddGasWriteCardGen(model, row))
753
- }
754
- }
755
-
756
- export default ChangeMeterService
1
+ import Vue from 'vue'
2
+ import co from 'co'
3
+
4
+ // let overChargeGen = function * (model, row) {
5
+ // let result = yield co(overCharge(model, row))
6
+ // }
7
+ let changeMeterGen = async function (model, row) {
8
+ if (row.f_meter_type === '机表' || row.f_meter_type === '远传表') {
9
+ row.f_user_id = row.f_user_id + ''
10
+ row.f_userinfo_id = row.f_userinfo_id + ''
11
+ let handplan = {
12
+ f_last_tablebase: row.f_meter_base,
13
+ f_tablebase: model.f_tablebase - 0,
14
+ f_whether_pay: '否',
15
+ f_oughtamount: (model.f_tablebase - 0) - (row.f_meter_base - 0),
16
+ f_meter_state: '已抄表',
17
+ f_input_person: Vue.$login.f.name,
18
+
19
+ f_operator: Vue.$login.f.name,
20
+ f_operatorid: Vue.$login.f.id,
21
+ f_orgid: Vue.$login.f.orgid,
22
+ f_orgname: Vue.$login.f.orgs,
23
+ f_depid: Vue.$login.f.depids,
24
+ f_depname: Vue.$login.f.deps,
25
+
26
+ f_hand_date: Vue.$login.toStandardTimeString(),
27
+ f_input_date: Vue.$login.toStandardTimeString(),
28
+ f_end_date: Vue.$login.addDate(Vue.$login.toStandardTimeString(), model.lazy),
29
+ f_price_id: row.f_price_id,
30
+ f_stairprice_id: row.f_stairprice_id,
31
+ userfile: row.f_user_id,
32
+ // record_userinfo: row.f_userinfo_id,
33
+ f_userinfo_id: row.f_userinfo_id,
34
+ f_user_name: row.f_user_name,
35
+ f_user_type: row.f_user_type,
36
+ f_gasproperties: row.f_gasproperties,
37
+ f_address: row.f_address,
38
+ f_meter_brand: row.f_meter_brand,
39
+ f_meter_style: row.f_meter_style,
40
+ f_meternumber: row.f_meternumber
41
+ }
42
+ return Vue.resetpost('rs/logic/machineOwe', {data: {row: row, handplan: handplan}}, {resolveMsg: null, rejectMsg: null})
43
+ } else if (row.f_meter_type === '气量卡表') {
44
+ let overuse = {
45
+ f_overuseamount: (model.f_tablebase - 0) - (row.f_total_gas - 0),
46
+ f_overusefee: '',
47
+ f_whether_pay: '否',
48
+ f_user_id: row.f_user_id + '',
49
+ // record_userinfo: row.f_userinfo_id + '',
50
+ f_userinfo_id: row.f_userinfo_id + '',
51
+ f_user_name: row.f_user_name,
52
+ f_address: row.f_address,
53
+ f_operat_type: '卡表超用',
54
+ f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}的${row.f_meter_brand}表进行超用收费操作`,
55
+ f_state: '有效',
56
+
57
+ f_operator: Vue.$login.f.name,
58
+ f_operatorid: Vue.$login.f.id,
59
+ f_orgid: Vue.$login.f.orgid,
60
+ f_orgname: Vue.$login.f.orgs,
61
+ f_depid: Vue.$login.f.depids,
62
+ f_depname: Vue.$login.f.deps
63
+ }
64
+
65
+ // 获得应交金额
66
+ // let result = yield co(Vue.CommonService.gasCalculate(row, data.f_overuseamount))
67
+ // data.f_overusefee = result.data.chargenum
68
+
69
+ return Vue.resetpost('rs/logic/cardMeterOwe', {data: {row: row, overuse: overuse}}, {resolveMsg: null, rejectMsg: '超用收费存库失败'})
70
+ // return Vue.resetpost('rs/entity/t_overuse', data, {resolveMsg: null, rejectMsg: null})
71
+ } else if (row.f_meter_type === '物联网表') {
72
+ let data = {
73
+ f_user_id: row.f_user_id + '',
74
+ f_meter_base: model.f_tablebase - 0,
75
+
76
+ f_operator: Vue.$login.f.name,
77
+ f_operatorid: Vue.$login.f.id,
78
+ f_orgid: Vue.$login.f.orgid,
79
+ f_orgname: Vue.$login.f.orgs,
80
+ f_depid: Vue.$login.f.depids,
81
+ f_depname: Vue.$login.f.deps
82
+ }
83
+ // 获得应交气量
84
+ // let result = yield co(Vue.CommonService.feeCalculate(row, (0 - (model.f_tablebase - 0))))
85
+ // data.f_overuseamount = result.data.gas
86
+ return Vue.resetpost('rs/logic/iotMeterOwe', {data: data}, {resolveMsg: null, rejectMsg: '物联网表结算失败!!!'})
87
+ } else if (row.f_meter_type === '金额卡表') {
88
+ let overuse = {
89
+ f_overusefee: (0 - (model.f_tablebase - 0)),
90
+ f_whether_pay: '否',
91
+ f_state: '有效',
92
+ f_user_id: row.f_user_id + '',
93
+ // record_userinfo: row.f_userinfo_id + '',
94
+ f_userinfo_id: row.f_userinfo_id + '',
95
+ f_user_name: row.f_user_name,
96
+ f_address: row.f_address,
97
+ f_operat_type: '卡表超用',
98
+ f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}的${row.f_meter_brand}表进行超用收费操作`,
99
+
100
+ f_operator: Vue.$login.f.name,
101
+ f_operatorid: Vue.$login.f.id,
102
+ f_orgid: Vue.$login.f.orgid,
103
+ f_orgname: Vue.$login.f.orgs,
104
+ f_depid: Vue.$login.f.depids,
105
+ f_depname: Vue.$login.f.deps
106
+ }
107
+ // 获得应交气量
108
+ // let result = yield co(Vue.CommonService.feeCalculate(row, (0 - (model.f_tablebase - 0))))
109
+ // data.f_overuseamount = result.data.gas
110
+ return Vue.resetpost('rs/logic/feeMeterOwe', {data: {row: row, overuse: overuse}}, {resolveMsg: null, rejectMsg: '超用收费存库失败'})
111
+ }
112
+ }
113
+
114
+ // 只换表
115
+ let onlyChangeNewMeterGen = function * (model, data) {
116
+ let result
117
+ try {
118
+ let cardState = yield co(Vue.resetpost('http://127.0.0.1:8003/hasCard', {data: {}}, {resolveMsg: null, rejectMsg: null}))
119
+ if (JSON.parse(cardState.data).state === 1) {
120
+ // 存库
121
+ result = yield Vue.resetpost('rs/logic/changeMeter', {data: data}, {resolveMsg: null, rejectMsg: '换表失败'})
122
+ // 获取气价和售气情况参数
123
+ let cardParams = yield co(getParamGen(result.data.cardnumber, model.metermessage.gasbrand[0].f_alias, data.f_user_id))
124
+ //
125
+ // 写卡
126
+ let params = {
127
+ factory: model.metermessage.gasbrand[0].f_alias,
128
+ kmm: '000000', // 卡密码,写卡后返回新密码, 不论补卡还是先开户都没有密码
129
+ kzt: '0', // 卡状态,0开户卡,1用户卡(0新开户,1补卡)
130
+ kh: result.data.cardnumber, // 卡号
131
+ yhh: data.f_meterid, // 用户号,档案中自己输
132
+ ql: 0, // 预购气量
133
+ csql: 0, // 上次购气量,新开户为0
134
+ ccsql: 0, // 上上次购气量,新开户为0
135
+ cs: 1, // 求购气次数,先开户为1
136
+ ljgql: 0, // 当前累计购气量
137
+ bkcs: 0, // 新开户卡,为0
138
+ ljyql: 0, // 累积用气量,有些表要累加原来用气量,新开户卡,为0
139
+ bjql: model.metermessage.gasbrand[0].f_police_gas, // 报警气量,t_gasbrand表中
140
+ czsx: model.metermessage.gasbrand[0].f_topup_ceil, // 充值上线,t_gasbrand表中
141
+ tzed: model.metermessage.gasbrand[0].f_overdr_lines, // 透支额度,t_gasbrand表中
142
+ cssqrq: '', // 上次售气日期,格式为YYYYMMDD
143
+ // sxrq: model.f_startdate, // 生效日期,价格管理中取
144
+ meterid: model.metermessage.f_meternumber, // 表号
145
+ dqdm: row.f_area_code, // 精益工业地区代码
146
+ klx: data.f_coding // 购气金额
147
+ }
148
+ params = Object.assign({}, Vue.CommonService.writeCardParams(cardParams), params)
149
+ let cardRes = yield co(Vue.resetpost('http://127.0.0.1:8003/WriteNewCard', params, {resolveMsg: null, rejectMsg: '补气卡服务错误'}))
150
+ // 卡服务写卡异常,业务逻辑回滚
151
+ if (!cardParams || !result || cardRes.data.Err || cardRes.data.Exception) {
152
+ let data = {
153
+ id: result.data.id
154
+ }
155
+ yield Vue.resetpost('rs/logic/changeMeterRollback', {data: data}, {resolveMsg: '换表成功,写卡失败', rejectMsg: '换表成功,写卡失败'})
156
+ } else {
157
+ let change = {
158
+ userfiles: {
159
+ f_user_id: data.changemeter.f_user_id.f_user_id,
160
+ version: data.changemeter.f_user_id.version,
161
+ f_card_id: result.data.cardnumber,
162
+ f_times: 0,
163
+ f_card_password: cardRes.data.Kmm
164
+ },
165
+ record: {
166
+ id: result.data.id,
167
+ f_state: '有效'
168
+ }
169
+ }
170
+ yield Vue.resetpost('rs/logic/updatemark', {data: change}, {resolveMsg: '换表成功', rejectMsg: '换表成功,更新状态有效失败'})
171
+ }
172
+ } else {
173
+ Vue.showAlert('请检查卡是否插好!!', 'danger', 3000)
174
+ }
175
+ } catch (error) {
176
+ let msg = ''
177
+ if (error.status === 612) {
178
+ msg = '请检查读卡器时候连接,或者卡服务是否启动!!'
179
+ } else {
180
+ msg = '换表失败!!'
181
+ let data = {
182
+ id: result.data.id
183
+ }
184
+ yield Vue.resetpost('rs/logic/changeMeterRollback', {data: data}, {resolveMsg: '换表成功,写卡失败', rejectMsg: '换表成功,写卡失败'})
185
+ }
186
+ Vue.showAlert(msg, 'danger', 0)
187
+ }
188
+ }
189
+
190
+ // let changeNewMeterGen = function * (type, data) {
191
+ // if (type === '物联网表') {
192
+ // data.changemeter.f_user_id.f_table_state = '未发送'
193
+ // }
194
+ // return co(Vue.resetpost('rs/logic/changeMeter', {data: data}))
195
+ // }
196
+
197
+ // 换表并补气
198
+ let changeNewMeterGen = async function (model, row) {
199
+ let result
200
+ try {
201
+ // 判断是否补气,如果补气写卡,反之不写卡
202
+ console.log('换表并补气呀。。', model, model.isfillgas)
203
+ if (model.isCardMeter) {
204
+ console.log('换表并补气。。。')
205
+ let cardState = await Vue.resetpost('http://127.0.0.1:8003/hasCard', {data: {}}, {resolveMsg: null, rejectMsg: '卡服务判卡函数出错,请联系开发人员'})
206
+ if (JSON.parse(cardState.data).state === 1) {
207
+ // 获取卡号
208
+ let getCardNumber = await Vue.resetpost('rs/logic/getCardNumber', {data: {id: model.metermessage.gasbrand[0].id}}, {resolveMsg: null, rejectMsg: '换表并补气时获取卡号失败!!'})
209
+ console.log('获取卡号、、', getCardNumber)
210
+ if (getCardNumber.data.cardNumber) {
211
+ model.cardNumber = getCardNumber.data.cardNumber + ''
212
+ } else {
213
+ throw new Error('获取卡号失败!请核实参数管理中的卡号重新发卡售气。')
214
+ }
215
+
216
+ let data = getChangeData(model, row)
217
+ // TODO 清零换表
218
+ // 返回卡号
219
+ result = await Vue.resetpost('rs/logic/changeMeter', {data: data}, {resolveMsg: null, rejectMsg: '换表并补气卡服务错误'})
220
+ // 获取气价和售气情况参数
221
+
222
+ let cardParams = await getParamGen(result.data.cardnumber, model.metermessage.gasbrand[0].f_alias, row.f_user_id)
223
+ console.log('获取写卡参数,,,,123', cardParams)
224
+ // 写卡
225
+ let params = {
226
+ factory: model.metermessage.gasbrand[0].f_alias,
227
+ kmm: '000000', // 卡密码,写卡后返回新密码, 不论补卡还是先开户都没有密码
228
+ kzt: '0', // 卡状态,0开户卡,1用户卡(0新开户,1补卡)
229
+ kh: result.data.cardnumber, // 卡号
230
+ yhh: data.f_meterid, // 用户号,档案中自己输
231
+ ql: model.f_pregas, // 预购气量
232
+ cs: '1', // 求购气次数,先开户为1
233
+ ljgql: model.f_pregas, // 当前累计购气量
234
+ bkcs: '0', // 新开户卡,为0
235
+ ljyql: '0', // 累积用气量,有些表要累加原来用气量,新开户卡,为0
236
+ bjql: model.metermessage.gasbrand[0].f_police_gas, // 报警气量,t_gasbrand表中
237
+ czsx: model.metermessage.gasbrand[0].f_topup_ceil, // 充值上线,t_gasbrand表中
238
+ tzed: model.metermessage.gasbrand[0].f_overdr_lines, // 透支额度,t_gasbrand表中
239
+ cssqrq: '', // 上次售气日期,格式为YYYYMMDD
240
+ // sxrq: model.f_startdate, // 生效日期,价格管理中取
241
+ meterid: row.f_meternumber, // 表号
242
+ money: model.f_preamount,
243
+ totalmoney: model.f_preamount,
244
+ dqdm: row.f_area_code, // 精益工业地区代码
245
+ klx: row.f_coding
246
+ }
247
+ // 天源表发卡售气时,cs默认给0
248
+ if (model.metermessage.gasbrand[0].f_alias && model.metermessage.gasbrand[0].f_alias.includes('TianYuan')) {
249
+ console.log('天源表发卡售气时,写卡次数给:', params.cs)
250
+ params.cs = '0'
251
+ }
252
+ params = Object.assign({}, Vue.CommonService.writeCardParams(cardParams), params)
253
+ console.log('换表补气写卡参数,,,,', params)
254
+ let cardRes = await Vue.resetpost('http://127.0.0.1:8003/WriteNewCard', params, {
255
+ resolveMsg: null,
256
+ rejectMsg: '换表并补气卡服务错误'
257
+ })
258
+ console.log('换表写卡返回:', cardRes)
259
+ if (!cardParams || !result || cardRes.data.Err || cardRes.data.Exception) {
260
+ throw new Error(`卡服务错误:${cardRes.data.Err}${cardRes.data.Exception},请联系开发人员处理!!`)
261
+ } else {
262
+ // 如果成功修改标识(更新状态为有效),将返回的卡密码写回数据库
263
+ let param = {
264
+ userfiles: {
265
+ f_user_id: data.changemeter.f_user_id.f_user_id,
266
+ f_card_id: result.data.cardnumber,
267
+ f_card_password: cardRes.data.Kmm
268
+ }
269
+ }
270
+ await Vue.resetpost('rs/logic/changeMeterOK', {data: param}, {
271
+ resolveMsg: '换表并补气成功',
272
+ rejectMsg: '换表成功之后,更新表档案时出错'
273
+ })
274
+ return result.data.id
275
+ }
276
+ } else {
277
+ Vue.showAlert('请检查卡是否插好!!', 'danger', 3000)
278
+ }
279
+ } else {
280
+ let data = getChangeData(model, row)
281
+ // 直接将状态变为有效,没有必要之后再更新了
282
+ data.changemeter.f_state = '有效'
283
+ result = await Vue.resetpost('rs/logic/changeMeter', {data: data}, {resolveMsg: '换表成功', rejectMsg: '换表失败'})
284
+ console.log('保存完返回:', result)
285
+ return result.data.id
286
+ }
287
+ } catch (error) {
288
+ let msg = ''
289
+ if (error.status === 612) {
290
+ msg = '请检查读卡器时候连接,或者卡服务是否启动!!'
291
+ throw new Error(msg)
292
+ } else {
293
+ await Vue.resetpost('rs/logic/changeMeterRollback', {data: {id: result.data.id, fillgas_id: result.data.fillgas_id}}, {resolveMsg: null, rejectMsg: '换表并补气失败'})
294
+ throw error
295
+ }
296
+ }
297
+ }
298
+
299
+ // 单独换表补气界面
300
+ let AddGasWriteCardGen = function * (model, row) {
301
+ let result
302
+ try {
303
+ let cardState = yield Vue.resetpost('http://127.0.0.1:8003/hasCard', {data: {}}, {resolveMsg: null, rejectMsg: null})
304
+ if (JSON.parse(cardState.data).state === 1) {
305
+ // 存库
306
+ result = yield co(AddGasGen(model, row))
307
+ console.log('换表补气查看存库结果:', result)
308
+ // 获取气价和售气情况参数
309
+ let cardParams = yield co(getParamGen(row.f_card_id, row.f_alias, row.f_user_id))
310
+ // 写卡
311
+ let params = {
312
+ factory: row.f_alias, // 气表厂家
313
+ kh: row.f_card_id, // 卡号
314
+ kmm: row.f_card_password, // 卡密码,写卡后返回新密码, 不论补卡还是先开户都没有密码
315
+ bjql: row.f_police_gas, // 报警气量,t_gasbrand表中
316
+ czsx: row.f_topup_ceil, // 充值上线,t_gasbrand表中
317
+ tzed: row.f_overdr_lines, // 透支额度,t_gasbrand表中
318
+ bkcs: model.f_replace_time, // 补卡次数,从补卡表里通过表编号获得
319
+ ql: model.f_pregas, // 预购气量
320
+ cs: 1, // 求购气次数,先开户为1
321
+ dqdm: row.f_area_code, // 精益工业地区代码
322
+ klx: row.f_coding
323
+ }
324
+ params = Object.assign({}, Vue.CommonService.writeCardParams(cardParams), params)
325
+ let cardRes
326
+ if (row.f_states === '换表') {
327
+ cardRes = yield co(Vue.resetpost('http://127.0.0.1:8003/WriteNewCard', params, {resolveMsg: null, rejectMsg: '补气卡服务错误'}))
328
+ } else {
329
+ params.cs = row.cardInfo.Times + 1
330
+ cardRes = yield co(Vue.resetpost('http://127.0.0.1:8003/WriteGasCard', params, {resolveMsg: null, rejectMsg: '补气卡服务错误'}))
331
+ }
332
+ // 卡服务写卡异常,业务逻辑回滚
333
+ if (!cardParams || !result || cardRes.data.Err || cardRes.data.Exception) {
334
+ let data = {
335
+ userfile: {
336
+ f_user_id: row.f_user_id,
337
+ f_remanent_gas: model.f_lastremain_fillgas,
338
+ version: 0
339
+ },
340
+ fillgas_id: result.data + ''
341
+ }
342
+ yield Vue.resetpost('rs/logic/addGasRoolBack', {data: {userfile: data.userfile, fillgas_id: data.fillgas_id}}, {resolveMsg: '补气失败', rejectMsg: '补气失败'})
343
+ } else {
344
+ let update = {
345
+ userfiles: {
346
+ f_user_id: row.f_user_id,
347
+ f_meter_base: (row.f_meter_base - 0) + (model.f_pregas - 0),
348
+ f_remanent_gas: model.theremain_fillgas,
349
+ f_times: 1,
350
+ version: 0
351
+ },
352
+ record: {
353
+ id: result.data,
354
+ f_state: '有效'
355
+ }
356
+ }
357
+ yield Vue.resetpost('rs/logic/updatemark', {data: update}, {resolveMsg: '补气成功', rejectMsg: '补气修改状态失败'})
358
+ }
359
+ } else {
360
+ Vue.showAlert('请检查卡是否插好!!', 'danger', 3000)
361
+ }
362
+ } catch (error) {
363
+ console.log('换表报错。。。', error)
364
+ let msg = ''
365
+ if (error.status === 612) {
366
+ msg = '请检查读卡器是否连接,或者卡服务是否启动!!'
367
+ } else {
368
+ msg = '换表补气失败!!'
369
+ let data = {
370
+ userfile: {
371
+ f_user_id: row.f_user_id,
372
+ f_remanent_gas: model.f_lastremain_fillgas,
373
+ version: 0
374
+ },
375
+ fillgas_id: result.data + ''
376
+ }
377
+ Vue.resetpost('rs/logic/addGasRoolBack', {data: {userfile: data.userfile, fillgas_id: data.fillgas_id}}, {resolveMsg: '补气失败', rejectMsg: '补气失败'})
378
+ }
379
+ Vue.showAlert(msg, 'danger', 0)
380
+ }
381
+ }
382
+
383
+ let AddGasGen = function * (model, row) {
384
+ let data = {
385
+ fillgas: {
386
+ f_meter_brand: row.f_meter_brand,
387
+ f_pregas: model.f_pregas,
388
+ f_preamount: model.f_preamount,
389
+ f_card_id: row.f_card_id,
390
+ f_user_type: row.f_user_type,
391
+ f_gasproperties: row.f_gasproperties,
392
+ f_lastremain_fillgas: model.f_lastremain_fillgas,
393
+ f_theremain_fillgas: model.f_theremain_fillgas,
394
+
395
+ f_total_gas: (model.f_pregas - 0) + (row.f_total_gas - 0),
396
+ f_total_fee: (model.f_preamount - 0) + (row.f_total_fee - 0),
397
+
398
+ // 写卡时间在后台单独存储(获取数据库服务器时间)
399
+
400
+ f_comments: model.f_reason,
401
+ f_type: model.f_type[0],
402
+ f_userinfo_id: row.f_userinfo_id,
403
+ f_user_id: row.f_user_id,
404
+ f_user_name: row.f_user_name,
405
+ f_operat_type: '换表补气',
406
+ f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}进行换表补气操作`,
407
+ f_state: '有效',
408
+
409
+ f_operator: Vue.$login.f.name,
410
+ f_operatorid: Vue.$login.f.id,
411
+ f_orgid: Vue.$login.f.orgid,
412
+ f_orgname: Vue.$login.f.orgs,
413
+ f_depid: Vue.$login.f.depids,
414
+ f_depname: Vue.$login.f.deps,
415
+ f_zoneid: Vue.$login.f.zoneid,
416
+ f_zones: Vue.$login.f.zones,
417
+
418
+ f_user_id: {
419
+ f_user_id: row.f_user_id,
420
+ f_remanent_gas: model.f_theremain_fillgas,
421
+ f_total_gas: (row.f_total_gas - 0) + (model.f_pregas - 0),
422
+ version: row.version
423
+ }
424
+ }
425
+ }
426
+ data.fillgas.f_user_id.f_times = row.states === '换表' ? 1 : row.cardInfo.Times + 1
427
+ return co(Vue.resetpost('rs/logic/changePlus', {data: data}, {resolveMsg: null, rejectMsg: '换表气补气存库失败'}))
428
+ }
429
+ let getParamGen = async function (cardId, alias, f_user_id) {
430
+ let data = {
431
+ f_card_id: cardId + '',
432
+ f_alias: alias,
433
+ f_user_id: f_user_id
434
+ }
435
+ return await Vue.resetpost('rs/logic/stairCard', {data: data}, {resolveMsg: null, rejectMsg: '获取写卡参数失败'})
436
+ }
437
+
438
+ // 换表之前判断是够有欠费,和未抄表数据
439
+ let isHasOweGen = function * (f_user_id) {
440
+ let owe = yield Vue.resetpost('rs/sql/getOverdue', {data: {f_user_id: f_user_id}}, {resolveMsg: null, rejectMsg: '获取欠费信息出错!!'})
441
+ console.log('表具停用看是否有欠费', owe.data)
442
+ let hasHandplan = yield Vue.resetpost('rs/sql/saleSingleTable', {data: {tablename: 't_handplan', condition: `f_meter_state = '未抄表' and f_user_id = '${f_user_id}'`}}, {resolveMsg: null, rejectMsg: null})
443
+ console.log('是否有未抄表数据', hasHandplan.data)
444
+ let result = {}
445
+ result.owe = owe.data
446
+ result.hasHandplan = hasHandplan.data
447
+ return result
448
+ }
449
+
450
+ let getChangeData = function (model, row) {
451
+ console.log('看看新表的信息rowrowrow是是..', row)
452
+ let result = {
453
+ changemeter: {
454
+ f_user_id: {
455
+ f_user_id: row.f_user_id + '',
456
+ f_balance_amount: model.f_balance_amount,
457
+ f_balance_gas: model.f_balance_gas,
458
+ f_meternumber: model.metermessage.f_meternumber,
459
+ f_metertitles: model.metermessage.f_metertitles,
460
+ f_meter_classify: model.metermessage.gasbrand[0].f_meter_type,
461
+ f_gasbrand_id: model.metermessage.gasbrand[0].id,
462
+ f_gasmodel_id: model.metermessage.gasmodel[0].id,
463
+ f_remanent_gas: model.f_remanent_gas,
464
+ f_card_id: model.cardNumber ? model.cardNumber : null,
465
+ f_total_gas: model.f_type[0].includes('换新表') ? model.f_pregas : (row.f_total_gas - 0),
466
+ f_total_fee: model.f_type[0].includes('换新表') ? model.f_preamount : (row.f_total_fee - 0),
467
+ f_times: 1,
468
+ f_meter_base: model.metermessage.f_meter_base,
469
+ f_initial_base: model.f_type[0].includes('换新表') ? model.metermessage.f_meter_base : row.f_initial_base,
470
+ version: row.version
471
+ },
472
+ f_userinfo_id: {
473
+ f_userinfo_id: row.f_userinfo_id + '',
474
+ version: row.userinfo_version,
475
+ f_balance: model.f_balance
476
+ },
477
+ f_user_name: row.f_user_name,
478
+ f_user_type: row.f_user_type,
479
+ f_gasproperties: row.f_gasproperties,
480
+ f_type: model.f_type[0],
481
+ f_changemeter_fee: model.f_changemeter_fee ? model.f_changemeter_fee : 0,
482
+ f_meternumber: row.f_meternumber,
483
+ f_newmeternumber: model.metermessage.f_meternumber,
484
+ f_metertitles: row.f_metertitles,
485
+ f_newmetertitles: model.metermessage.f_metertitles,
486
+ f_card_id: row.f_card_id,
487
+ f_newcard_id: model.cardNumber ? model.cardNumber : null,
488
+
489
+ f_whether_hairpin: row.f_whether_hairpin,
490
+ f_newwhether_hairpin: model.metermessage.gasbrand[0].f_meter_type.includes('卡表') ? '已发' : '无卡',
491
+ f_total_gas: row.f_total_gas,
492
+ f_newtotal_gas: model.f_type[0].includes('换新表') ? model.f_pregas : (row.f_total_gas - 0),
493
+ f_total_fee: row.f_total_fee,
494
+ f_newtotal_fee: model.f_type[0].includes('换新表') ? model.f_preamount : (row.f_total_fee - 0),
495
+
496
+ f_card_password: row.f_card_password,
497
+ f_newcard_password: '',
498
+ f_meter_base: row.f_meter_base,
499
+ f_using_base: row.f_tablebase,
500
+ f_surplus_fee: model.f_preamount,
501
+ f_initial_base: row.f_initial_base,
502
+ f_newinitial_base: model.metermessage.f_meter_base,
503
+ f_times: row.f_times,
504
+ f_newtimes: 0,
505
+ f_meter_classify: row.f_meter_type,
506
+ f_newmeter_classify: model.metermessage.gasbrand[0].f_meter_type,
507
+ f_meterid: row.f_meterid,
508
+ f_newmeterid: '',
509
+ f_remanent_gas: row.f_remanent_gas,
510
+ f_newremanent_gas: model.f_remanent_gas,
511
+
512
+ // 旧表使用量
513
+ f_oldmeter_use: model.metermessage.f_oldmeter_use,
514
+ // 物联网表
515
+ f_table_state: row.f_table_state,
516
+ f_newtable_state: '待发送',
517
+ f_valve_state: row.f_valve_state,
518
+ f_newvalve_state: '待发送',
519
+
520
+ f_balance: row.f_balance,
521
+ f_newbalance: model.f_balance,
522
+
523
+ f_balance_gas: row.f_balance_gas,
524
+ f_newbalance_gas: model.f_balance_gas,
525
+ f_balance_amount: row.f_balance_amount,
526
+ f_newbalance_amount: model.f_balance_amount,
527
+
528
+ f_gasbrand_id: row.f_gasbrand_id,
529
+ f_newgasbrand_id: model.metermessage.gasbrand[0].id,
530
+ f_gasmodel_id: row.f_gasmodel_id,
531
+ f_newgasmodel_id: model.metermessage.gasmodel[0].id,
532
+
533
+ f_meter_brand: row.f_meter_brand,
534
+ f_newmeter_brand: model.metermessage.gasbrand[0].f_meter_brand,
535
+
536
+ f_state: '有效',
537
+ f_comments: model.f_reason[0],
538
+ f_othereason: model.f_othereason,
539
+ f_operat_type: '换表',
540
+ f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}进行换新表操作`,
541
+
542
+ f_operator: Vue.$login.f.name,
543
+ f_operatorid: Vue.$login.f.id,
544
+ f_orgid: Vue.$login.f.orgid,
545
+ f_orgname: Vue.$login.f.orgs,
546
+ f_depid: Vue.$login.f.depids,
547
+ f_depname: Vue.$login.f.deps,
548
+
549
+ f_change_operator: model.f_change_operator[0],
550
+ f_payment: model.f_payment[0],
551
+ f_voucher_number: model.f_voucher_number,
552
+ f_bill_style: model.f_print[0],
553
+ f_changemeter_date: model.f_changemeter_date
554
+ },
555
+ // 是否换成卡表
556
+ changeToCard: model.isCardMeter,
557
+ // 是否需要核减气量价格明细
558
+ isChargeprice: row.isChargeprice,
559
+ chargeprice: {
560
+ isneed: row.isChargeprice,
561
+ gas: (row.f_newremanent_gas - 0) - (model.f_sumamount - 0) > 0 ? model.f_sumamount : row.f_newremanent_gas,
562
+
563
+ f_old_use: model.metermessage.f_oldmeter_use,
564
+ f_old_reference: model.metermessage.f_oldmeter_use_reference
565
+ },
566
+ // 气表品牌,用于获取卡号
567
+ gasbrand: model.metermessage.gasbrand[0].f_meter_brand,
568
+ fillgas: {
569
+ f_card_id: row.f_card_id,
570
+ f_pregas: model.f_pregas,
571
+ f_preamount: model.f_preamount,
572
+ f_user_type: row.f_user_type,
573
+ f_gasproperties: row.f_gasproperties,
574
+
575
+ f_total_gas: model.f_type[0].includes('换新表') ? model.f_pregas : (row.f_total_gas - 0),
576
+ f_total_fee: model.f_type[0].includes('换新表') ? model.f_preamount : (row.f_total_fee - 0),
577
+
578
+ f_balance: row.f_balance,
579
+ f_curbalance: model.f_balance,
580
+ f_lastremain_fillgas: row.f_remanent_gas,
581
+ f_theremain_fillgas: model.f_remanent_gas,
582
+ f_comments: '换新表时旧表有剩余',
583
+ f_type: model.f_type[0].includes('换新表') ? '换表补气' : '清零补气',
584
+ f_state: '有效',
585
+ f_user_id: row.f_user_id + '',
586
+ f_userinfo_id: row.f_userinfo_id,
587
+ f_user_name: row.f_user_name,
588
+ f_operat_type: model.f_type[0].includes('换新表') ? '换表补气' : '清零补气',
589
+ f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}进行补气操作`,
590
+
591
+ f_operator: Vue.$login.f.name,
592
+ f_operatorid: Vue.$login.f.id,
593
+ f_orgid: Vue.$login.f.orgid,
594
+ f_orgname: Vue.$login.f.orgs,
595
+ f_depid: Vue.$login.f.depids,
596
+ f_depname: Vue.$login.f.deps
597
+ }
598
+ }
599
+
600
+ return result
601
+ }
602
+
603
+ let ChangeMeterService = {
604
+ install (Vue, options) {
605
+ // 给vue增添对话框显示方法
606
+ Vue.ChangeMeterService = Vue.prototype.$ChangeMeterService = ChangeMeterService
607
+ },
608
+
609
+ // 判断是否有欠费
610
+
611
+ isHasOwe (row) {
612
+ return co(isHasOweGen(row.f_user_id))
613
+ },
614
+
615
+ // 换表
616
+ changeMeter (model, row) {
617
+ return changeMeterGen(model, row)
618
+ },
619
+
620
+ changeNewMeter (model, row) {
621
+ return changeNewMeterGen(model, row)
622
+ },
623
+ overCharge (model, row) {
624
+ let data = {
625
+ f_userinfo_id: row.f_userinfo_id,
626
+ f_userfiles_id: row.f_userfiles_id,
627
+ f_balance: model.f_balance,
628
+ f_curbalance: model.f_curbalance,
629
+ f_meter_type: row.f_meter_type,
630
+ f_preamount: model.f_preamount,
631
+ f_pregas: model.f_pregas,
632
+ f_total_gas: model.addtotal[0]==='是'?(row.f_total_gas - 0) + (model.f_pregas - 0):(row.f_total_gas - 0),
633
+ f_total_fee: model.addtotal[0]==='是'?(row.f_total_fee - 0) + (model.f_preamount - 0):(row.f_total_fee - 0),
634
+ f_payment: model.f_payment.toString(),
635
+ f_bill_style: model.f_print.toString(),
636
+ f_comments: model.f_comments,
637
+ f_voucher_number: model.f_voucher_number,
638
+ f_price_name: row.f_price_name,
639
+ f_price_id: row.f_price_id,
640
+ f_stairprice_id: row.f_stairprice_id,
641
+ f_user_id: row.f_user_id,
642
+ f_user_name: row.f_user_name,
643
+ f_user_type: row.f_user_type,
644
+ f_gasproperties: row.f_gasproperties,
645
+ f_address: row.f_address,
646
+ f_meter_brand: row.f_meter_brand,
647
+ f_meter_style: row.f_meter_style,
648
+ f_meternumber: row.f_meternumber,
649
+ f_collection: model.f_collection,
650
+ f_serial_id: model.f_serial_id,
651
+ f_serial_number: model.f_serial_number,
652
+ f_delaypay: 0,
653
+ chargeprice: model.chargeprice,
654
+ f_overuse_state: '有效',
655
+ f_operator: Vue.$login.f.name,
656
+ f_operatorid: Vue.$login.f.id,
657
+ f_orgid: Vue.$login.f.orgid,
658
+ f_orgname: Vue.$login.f.orgs,
659
+ f_depid: Vue.$login.f.depids,
660
+ f_depname: Vue.$login.f.deps,
661
+ f_zoneid: Vue.$login.f.zoneid,
662
+ f_zones: Vue.$login.f.zones,
663
+
664
+ f_type: '超用收费',
665
+ // f_state: '有效',
666
+ f_operat_type: '超用收费',
667
+ f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}进行超用收费操作`,
668
+ f_state: '有效'
669
+ }
670
+ if (row.f_meter_brand.includes('数码表')) {
671
+ data.f_userinfo_id = {
672
+ f_userinfo_id: row.f_userinfo_id,
673
+ version: row.userinfo_version,
674
+ f_balance: model.f_curbalance
675
+ }
676
+ } else if (row.f_meter_type === '机表') {
677
+ delete data.chargeprice
678
+ data.f_userinfo_id = {
679
+ f_userinfo_id: row.f_userinfo_id,
680
+ version: row.userinfo_version,
681
+ f_balance: model.f_curbalance
682
+ }
683
+ } else if (row.f_meter_type === '金额卡表') {
684
+ data.f_tablebase = (model.f_pregas - 0) + (row.f_meter_base - 0)
685
+ data.f_last_tablebase = row.f_meter_base
686
+ data.f_userinfo_id = {
687
+ f_userinfo_id: row.f_userinfo_id,
688
+ version: row.userinfo_version,
689
+ f_balance: model.f_curbalance,
690
+ userfiles: {
691
+ f_user_id: row.f_user_id,
692
+ f_userfiles_id: row.f_userfiles_id,
693
+ version: row.version,
694
+ f_total_gas:model.addtotal[0]==='是'? (model.f_pregas - 0) + (row.f_total_gas - 0):(row.f_total_gas - 0),
695
+ f_total_fee: model.addtotal[0]==='是'?(model.f_preamount - 0) + (row.f_total_fee - 0):(row.f_total_fee - 0)
696
+ // f_meter_base: (model.f_pregas - 0) + (row.f_total_gas - 0),
697
+ }
698
+ }
699
+ } else if (row.f_meter_type === '气量卡表') {
700
+ data.f_tablebase = (model.f_pregas - 0) + (row.f_meter_base - 0)
701
+ data.f_last_tablebase = row.f_meter_base
702
+ data.f_userinfo_id = {
703
+ f_userinfo_id: row.f_userinfo_id,
704
+ version: row.userinfo_version,
705
+ f_balance: model.f_curbalance,
706
+ userfiles: {
707
+ f_user_id: row.f_user_id,
708
+ f_userfiles_id: row.f_userfiles_id,
709
+ version: row.version,
710
+ f_total_gas: model.addtotal[0]==='是'? (model.f_pregas - 0) + (row.f_total_gas - 0):(row.f_total_gas - 0),
711
+ f_total_fee: model.addtotal[0]==='是'? (model.f_preamount - 0) + (row.f_total_fee - 0):(row.f_total_fee - 0)
712
+ // f_meter_base: (model.f_pregas - 0) + (row.f_total_gas - 0),
713
+ }
714
+ }
715
+ } else if (row.f_meter_type === '物联网表') {
716
+ Vue.showAlert('此功能尚未开放,请联系开发人员', 'warning', 3000)
717
+ if (row.f_show_way === '按气量') {
718
+ data.f_tablebase = model.f_pregas
719
+ data.f_last_tablebase = row.f_meter_base
720
+ data.f_userinfo_id = {
721
+ f_userinfo_id: row.f_userinfo_id,
722
+ version: row.userinfo_version,
723
+ f_balance: 0,
724
+ userfiles: {
725
+ f_user_id: model.f_user_id,
726
+ f_total_fee: ((model.f_totalcost - 0) + (row.f_total_fee - 0)).toFixed(2),
727
+ f_balance_gas: parseFloat(row.f_balance_gas) + parseFloat(model.f_pregas),
728
+ // f_meter_base: parseFloat(model.f_pregas) + parseFloat(row.f_meter_base),
729
+ version: row.version
730
+ }
731
+ }
732
+ } if (row.f_show_way === '按金额') {
733
+ data.f_tablebase = model.f_pregas
734
+ data.f_last_tablebase = row.f_meter_base
735
+ data.f_userinfo_id = {
736
+ f_userinfo_id: row.f_userinfo_id,
737
+ version: row.userinfo_version,
738
+ f_balance: 0,
739
+ userfiles: {
740
+ f_user_id: model.f_user_id,
741
+ f_total_fee: ((row.f_total_fee - 0) + (model.f_collection - 0)).toFixed(2),
742
+ // f_meter_base: parseFloat(model.f_pregas) + parseFloat(row.f_meter_base),
743
+ f_balance_amount: parseFloat(model.f_collection) - parseFloat(model.f_preamount),
744
+ version: row.version
745
+ }
746
+ }
747
+ }
748
+ }
749
+ return Vue.resetpost('rs/logic/overCharge', {data: data}, {resolveMsg: '超用收费成功', rejectMsg: '超用收费失败'})
750
+ },
751
+ AddGasWriteCard (model, row) {
752
+ return co(AddGasWriteCardGen(model, row))
753
+ }
754
+ }
755
+
756
+ export default ChangeMeterService