sale-client 3.6.518 → 3.6.520

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.
File without changes
@@ -0,0 +1,2 @@
1
+ #Thu Apr 10 10:42:44 CST 2025
2
+ gradle.version=5.2.1
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.6.518",
3
+ "version": "3.6.520",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -107,6 +107,11 @@
107
107
  style="width: 60%">
108
108
  </res-select>
109
109
  </div>
110
+ <div class="form-group col-sm-3">
111
+ <label class="font_normal_body">证件号</label>
112
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_idnumber" placeholder='证件号'
113
+ condition="f_idnumber like '%{}%'">
114
+ </div>
110
115
  <div class="form-group col-sm-3">
111
116
  <label class="font_normal_body">卡&emsp;&emsp;号</label>
112
117
  <input type="text" class="input_search" style="width:60%" v-model="model.f_card_id" placeholder='卡号'
@@ -226,24 +226,11 @@ let asyncMachineMeterCenter = async function (self) {
226
226
  // 开始打票
227
227
  if (self.config.hasPrint) {
228
228
  if (self.printInvoiceType.indexOf(self.data.f_print) === -1) {
229
- if (self.$login.r.includes('非民用纸质票据拆分')) {
230
- if (self.row.f_user_type === '非民用') {
231
- self.billData.url = 'rs/report/fmy_machine_bill'
232
- }
233
- }
234
- if (self.config.hasBillManage) {
235
- // 启用发票管理,获取票据管理中的票号并存储记录
236
- self.data.id = res.data
237
- self.data.f_bill_type = '机表收费'
238
- self.data.f_bill_style = self.data.f_print[0]
239
- self.print = true
240
- } else {
241
- // 如果不欠费就用下边的预存收据
229
+ if (self.model.f_print[0] == '热敏收据') {
230
+ self.billData.url = 'rs/report/machine_bill_thermal'
242
231
  if (self.$parent.$children[0].selecteds) {
243
- console.log('1111111', self.$parent.$children[0].selecteds)
244
232
  if (self.$parent.$children[0].selectedRows === 0) {
245
- console.log('22222222', self.$parent.$children[0].selectedRows)
246
- self.billData.url = 'rs/report/pre_sell'
233
+ self.billData.url = 'rs/report/pre_sell_thermal'
247
234
  }
248
235
  // 获取选中的handplan的id
249
236
  self.data.handid = ''
@@ -251,12 +238,44 @@ let asyncMachineMeterCenter = async function (self) {
251
238
  self.data.handid = self.data.handid + "','" + row.handplan_id
252
239
  })
253
240
  } else {
254
- console.log('3333333')
255
241
  self.billData.url = 'rs/report/pre_sell'
256
242
  self.data.handid = ''
257
243
  }
258
244
  self.data.id = res.data
259
245
  self.print = true
246
+ } else {
247
+ if (self.$login.r.includes('非民用纸质票据拆分')) {
248
+ if (self.row.f_user_type === '非民用') {
249
+ self.billData.url = 'rs/report/fmy_machine_bill'
250
+ }
251
+ }
252
+ if (self.config.hasBillManage) {
253
+ // 启用发票管理,获取票据管理中的票号并存储记录
254
+ self.data.id = res.data
255
+ self.data.f_bill_type = '机表收费'
256
+ self.data.f_bill_style = self.data.f_print[0]
257
+ self.print = true
258
+ } else {
259
+ // 如果不欠费就用下边的预存收据
260
+ if (self.$parent.$children[0].selecteds) {
261
+ console.log('1111111', self.$parent.$children[0].selecteds)
262
+ if (self.$parent.$children[0].selectedRows === 0) {
263
+ console.log('22222222', self.$parent.$children[0].selectedRows)
264
+ self.billData.url = 'rs/report/pre_sell'
265
+ }
266
+ // 获取选中的handplan的id
267
+ self.data.handid = ''
268
+ self.$parent.$children[0].selecteds.forEach((row, index) => {
269
+ self.data.handid = self.data.handid + "','" + row.handplan_id
270
+ })
271
+ } else {
272
+ console.log('3333333')
273
+ self.billData.url = 'rs/report/pre_sell'
274
+ self.data.handid = ''
275
+ }
276
+ self.data.id = res.data
277
+ self.print = true
278
+ }
260
279
  }
261
280
  } else if (self.data.f_print[0] === '国税发票') {
262
281
  // TODO
@@ -197,15 +197,21 @@ let overChargeGen = async function (self) {
197
197
  }
198
198
  if (self.config.hasPrint && !self.$login.r.includes('不打印发票')) {
199
199
  if (self.printInvoiceType.indexOf(self.model.f_print) === -1) {
200
- if (self.config.hasBillManage) {
201
- // 启用发票管理,获取票据管理中的票号并存储记录
202
- self.row.id = res.data
203
- self.row.f_bill_type = '超用收费'
204
- self.row.f_bill_style = self.model.f_print[0]
200
+ if (self.model.f_print[0] == '热敏收据') {
201
+ self.billData.url = 'rs/report/overuse_bill_thermal'
202
+ self.row.id = res.data.id
205
203
  self.print = true
206
204
  } else {
207
- self.row.id = res.data
208
- self.print = true
205
+ if (self.config.hasBillManage) {
206
+ // 启用发票管理,获取票据管理中的票号并存储记录
207
+ self.row.id = res.data
208
+ self.row.f_bill_type = '超用收费'
209
+ self.row.f_bill_style = self.model.f_print[0]
210
+ self.print = true
211
+ } else {
212
+ self.row.id = res.data
213
+ self.print = true
214
+ }
209
215
  }
210
216
  } else {
211
217
  if (self.printInvoiceType.indexOf(self.model.f_print[0]) !== -1) {
@@ -0,0 +1,544 @@
1
+ import Vue from 'vue'
2
+ import co from 'co'
3
+
4
+ let disableGen = function * (data, owedisable) {
5
+ let owe = yield Vue.resetpost('rs/sql/getOverdue', {data: {f_userfiles_id: data.f_userfile_id + ''}}, {resolveMsg: null, rejectMsg: null})
6
+ console.log('表具停用看是否有欠费', owe.data)
7
+ let hasHandplan = yield Vue.resetpost('rs/sql/saleSingleTable', {data: {tablename: 't_handplan', condition: `f_meter_state = '未抄表' and f_userfiles_id = '${data.f_userfile_id + ''}'`}}, {resolveMsg: null, rejectMsg: null})
8
+ console.log('是否有未抄表数据', hasHandplan.data)
9
+ if(owedisable){
10
+ if (owe.data.length > 0 && hasHandplan.data.length > 0) {
11
+ Vue.showAlert('该表具还有欠费或者未抄表数据!!', 'danger', 0)
12
+ }
13
+ yield Vue.resetpost('rs/entity/t_disable', data, {resolveMsg: '表具停用成功', rejectMsg: '表具停用失败'})
14
+
15
+ }else{
16
+ if (owe.data.length > 0 && hasHandplan.data.length > 0) {
17
+ Vue.showAlert('该表具还有欠费或者未抄表数据,不能停用!!', 'danger', 0)
18
+ } else {
19
+ yield Vue.resetpost('rs/entity/t_disable', data, {resolveMsg: '表具停用成功', rejectMsg: '表具停用失败'})
20
+ }
21
+ }
22
+ }
23
+
24
+ let LogicService = {
25
+ install (Vue, options) {
26
+ // 给vue增添对话框显示方法
27
+ Vue.LogicService = Vue.prototype.$LogicService = LogicService
28
+ },
29
+
30
+ // 总分表
31
+ addSplit (total_id, split_tables) {
32
+ let data = {
33
+ total_id: total_id,
34
+ split_ids: split_tables
35
+ }
36
+ console.log('终于到总分表保存了,,,,', data)
37
+ return Vue.resetpost('rs/logic/totalsplit', {data: data}, {resolveMsg: '成功建立总分表关系', rejectMsg: '建立总分表关系出错!!!'})
38
+ },
39
+
40
+ // 表具启用
41
+ meterEnable (model, row) {
42
+ let data = {
43
+ f_userfiles_id: {
44
+ f_userfiles_id: row.f_userfiles_id,
45
+ f_table_state: '正常',
46
+ version: row.version
47
+ },
48
+ f_userfile_id: row.f_userfiles_id,
49
+ f_user_id: row.f_user_id,
50
+ record_userinfo: row.f_userinfo_id,
51
+ f_userinfo_id: row.f_userinfo_id,
52
+ f_user_name: row.f_user_name,
53
+ f_comments: model.f_reason[0],
54
+ f_othereason: model.f_othereason,
55
+ f_operat_type: '启用',
56
+ f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}进行表具启用操作`,
57
+ f_state: '有效',
58
+ f_operator: Vue.$login.f.name,
59
+ f_operatorid: Vue.$login.f.id,
60
+ f_orgid: Vue.$login.f.orgid,
61
+ f_orgname: Vue.$login.f.orgs,
62
+ f_depid: Vue.$login.f.depids,
63
+ f_depname: Vue.$login.f.deps,
64
+ f_zoneid: Vue.$login.f.zoneid,
65
+ f_zones: Vue.$login.f.zones
66
+ }
67
+ return Vue.resetpost('rs/entity/t_enable', data, {resolveMsg: '表具启用成功', rejectMsg: '表具启用失败'})
68
+ },
69
+
70
+ // 表具停用
71
+ meterDisable (model, row, owedisable) {
72
+ let data = {
73
+ f_userfiles_id: {
74
+ f_userfiles_id: row.f_userfiles_id,
75
+ f_table_state: '停用',
76
+ version: row.version
77
+ },
78
+ f_userfile_id: row.f_userfiles_id,
79
+ f_user_id: row.f_user_id,
80
+ f_userinfo_id: row.f_userinfo_id,
81
+ f_user_phone: row.f_user_phone,
82
+ f_user_name: row.f_user_name,
83
+ f_comments: model.f_reason[0],
84
+ f_othereason: model.f_othereason,
85
+ f_operat_type: '停用',
86
+ f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}进行表具停用操作`,
87
+ f_state: '有效',
88
+ f_operator: Vue.$login.f.name,
89
+ f_operatorid: Vue.$login.f.id,
90
+ f_orgid: Vue.$login.f.orgid,
91
+ f_orgname: Vue.$login.f.orgs,
92
+ f_depid: Vue.$login.f.depids,
93
+ f_depname: Vue.$login.f.deps,
94
+ f_zoneid: Vue.$login.f.zoneid,
95
+ f_zones: Vue.$login.f.zones
96
+ }
97
+ let disable = disableGen(data, owedisable)
98
+ return co(disable)
99
+ },
100
+
101
+ // 其他收费
102
+ otherCharge (model, row) {
103
+ let data = {
104
+ f_time_date: model.f_time_date,
105
+ f_serial_id: model.f_serial_id,
106
+ record_userinfo: row.f_userinfo_id,
107
+ f_serial_number: model.f_serial_number,
108
+ f_userfiles_id: row.f_userfiles_id,
109
+ f_user_id: row.f_user_id,
110
+ f_user_name: row.f_user_name,
111
+ f_address: row.f_address,
112
+ f_user_type: row.f_user_type,
113
+ f_gasproperties: row.f_gasproperties,
114
+ // f_number: model.f_number,
115
+ // f_unitprice: model.f_unitprice,
116
+ f_collection: model.f_collection,
117
+ f_comments: model.f_comments,
118
+ f_payment: model.f_payment[0],
119
+ f_voucher_number: model.f_voucher_number,
120
+ f_bill_style: model.f_print[0],
121
+ // f_brand_spec: model.f_brand_spec[0],
122
+ f_userinfo_id: row.f_userinfo_id,
123
+ f_service_person: model.f_service_person[0],
124
+ f_operat_type: '其他收费',
125
+ f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}进行其他收费操作`,
126
+ f_state: '有效',
127
+ f_operator: Vue.$login.f.name,
128
+ f_operatorid: Vue.$login.f.id,
129
+ f_orgid: Vue.$login.f.orgid,
130
+ f_orgname: Vue.$login.f.orgs,
131
+ f_depid: Vue.$login.f.depids,
132
+ f_depname: Vue.$login.f.deps,
133
+ f_zoneid: Vue.$login.f.zoneid,
134
+ f_zones: Vue.$login.f.zones,
135
+ // 其他费用信息
136
+ t_userfees: model.t_userfees,
137
+ f_fee_type: model.f_fee_type[0],
138
+ f_fee_time: model.f_fee_time[0],
139
+ otherdetail: model.otherdetail
140
+ }
141
+ return Vue.resetpost('rs/logic/sale_othercharge_logic', data, {resolveMsg: '其他收费成功', rejectMsg: '其他收费失败'})
142
+ },
143
+ otherChargeData (model, row) {
144
+ let data = {
145
+ f_time_date: model.f_time_date,
146
+ f_serial_id: model.f_serial_id,
147
+ record_userinfo: row.f_userinfo_id,
148
+ f_serial_number: model.f_serial_number,
149
+ f_userfiles_id: row.f_userfiles_id,
150
+ f_user_id: row.f_user_id,
151
+ f_user_name: row.f_user_name,
152
+ f_address: row.f_address,
153
+ f_user_type: row.f_user_type,
154
+ f_gasproperties: row.f_gasproperties,
155
+ // f_number: model.f_number,
156
+ // f_unitprice: model.f_unitprice,
157
+ f_collection: model.f_collection,
158
+ f_comments: model.f_comments,
159
+ f_payment: model.f_payment[0],
160
+ f_voucher_number: model.f_voucher_number,
161
+ f_bill_style: model.f_print[0],
162
+ // f_brand_spec: model.f_brand_spec[0],
163
+ f_userinfo_id: row.f_userinfo_id,
164
+ f_service_person: model.f_service_person[0],
165
+ f_operat_type: '其他收费',
166
+ f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}进行其他收费操作`,
167
+ f_state: '有效',
168
+ f_operator: Vue.$login.f.name,
169
+ f_operatorid: Vue.$login.f.id,
170
+ f_orgid: Vue.$login.f.orgid,
171
+ f_orgname: Vue.$login.f.orgs,
172
+ f_depid: Vue.$login.f.depids,
173
+ f_depname: Vue.$login.f.deps,
174
+ f_zoneid: Vue.$login.f.zoneid,
175
+ f_zones: Vue.$login.f.zones,
176
+ // 其他费用信息
177
+ t_userfees: model.t_userfees,
178
+ f_fee_type: model.f_fee_type[0],
179
+ f_fee_time: model.f_fee_time[0],
180
+ otherdetail: model.otherdetail
181
+ }
182
+ return data
183
+ },
184
+ otherChargeByPay (model, row) {
185
+ let data = {
186
+ f_serial_id: model.f_serial_id,
187
+ nopay_id: model.nopay_id,
188
+ record_userinfo: row.f_userinfo_id,
189
+ f_userfiles_id: row.f_userfiles_id,
190
+ f_user_id: row.f_user_id,
191
+ f_user_name:row.f_user_name,
192
+ f_address:row.f_address,
193
+ f_user_type:row.f_user_type,
194
+ f_gasproperties:row.f_gasproperties,
195
+ // f_number: model.f_number,
196
+ // f_unitprice: model.f_unitprice,
197
+ f_collection: model.f_collection,
198
+ f_comments: model.f_comments,
199
+ f_payment: model.f_payment[0],
200
+ f_voucher_number: model.f_voucher_number,
201
+ f_bill_style: model.f_print[0],
202
+ // f_brand_spec: model.f_brand_spec[0],
203
+ f_userinfo_id: row.f_userinfo_id,
204
+ f_service_person: model.f_service_person[0],
205
+ f_operat_type: '其他收费',
206
+ f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}进行其他收费操作`,
207
+ f_state: '有效',
208
+ f_operator: Vue.$login.f.name,
209
+ f_operatorid: Vue.$login.f.id,
210
+ f_orgid: Vue.$login.f.orgid,
211
+ f_orgname: Vue.$login.f.orgs,
212
+ f_depid: Vue.$login.f.depids,
213
+ f_depname: Vue.$login.f.deps,
214
+ f_zoneid: Vue.$login.f.zoneid,
215
+ f_zones: Vue.$login.f.zones,
216
+ // 其他费用信息
217
+ t_userfees: model.t_userfees,
218
+ otherdetail: model.otherdetail
219
+ }
220
+ return Vue.resetpost('rs/logic/sale_othercharge_bypay', data, {resolveMsg: '其他收费成功', rejectMsg: '其他收费失败'})
221
+ },
222
+ // 维修收费
223
+ repairCharge (model, row) {
224
+ let data = {
225
+ record_userinfo: row.f_userinfo_id,
226
+ f_userfiles_id: row.f_userfiles_id,
227
+ f_user_id: row.f_user_id,
228
+ // f_number: model.f_number,
229
+ // f_unitprice: model.f_unitprice,
230
+ f_collection: model.f_collection,
231
+ f_comments: model.f_comments,
232
+ f_payment: model.f_payment[0],
233
+ f_voucher_number: model.f_voucher_number,
234
+ f_bill_style: model.f_print[0],
235
+ // f_brand_spec: model.f_brand_spec[0],
236
+ f_userinfo_id: row.f_userinfo_id,
237
+ f_service_person: model.f_service_person[0],
238
+ f_operat_type: '维修收费',
239
+ f_describe: `${Vue.$login.f.name}对客户${row.f_user_name}进行维修收费操作`,
240
+ f_state: '有效',
241
+ f_operator: Vue.$login.f.name,
242
+ f_operatorid: Vue.$login.f.id,
243
+ f_orgid: Vue.$login.f.orgid,
244
+ f_orgname: Vue.$login.f.orgs,
245
+ f_depid: Vue.$login.f.depids,
246
+ f_depname: Vue.$login.f.deps,
247
+ f_zoneid: Vue.$login.f.zoneid,
248
+ f_zones: Vue.$login.f.zones,
249
+ // 其他费用信息
250
+ t_userfees: model.t_userfees,
251
+ f_fee_type: model.f_fee_type[0],
252
+ f_fee_time: model.f_fee_time[0],
253
+ otherdetail: model.otherdetail
254
+ }
255
+ return Vue.resetpost('rs/logic/repaircharge', data, {resolveMsg: '维修收费成功', rejectMsg: '维修收费失败'})
256
+ },
257
+ // 过户管理
258
+ changeAccount (model) {
259
+ // console.log('过户。,。。', model)
260
+ return Vue.resetpost('rs/logic/transferSave', {data: {model: model}}, {resolveMsg: '过户成功', rejectMsg: '过户失败'})
261
+ },
262
+
263
+ updateGasPrice (data) {
264
+ // 批量变更气价
265
+ return Vue.resetpost('rs/logic/updateBatchPrice', data, {resolveMsg: '批量修改成功', rejectMsg: '批量变更气价失败'})
266
+ },
267
+ // 增加气表品牌
268
+ addGasBrand (model, Arrlist) {
269
+ let data = {
270
+ f_meter_brand: model.f_meter_brand,
271
+ f_manufacturers: model.f_manufacturers,
272
+ f_meter_type: model.f_meter_type,
273
+ f_police_gas: model.f_police_gas ? model.f_police_gas : 0,
274
+ f_cardnumber: model.f_cardnumber,
275
+ f_card_password: model.f_card_password,
276
+ f_topup_ceil: model.f_topup_ceil ? model.f_topup_ceil : 0,
277
+ f_overdr_lines: model.f_overdr_lines ? model.f_overdr_lines : 0,
278
+ f_meter_limit: model.f_meter_limit ? model.f_meter_limit : 0,
279
+ f_checkout_limit: model.f_checkout_limit ? model.f_checkout_limit : 0,
280
+ f_is_replacement: model.f_is_replacement ? model.f_is_replacement : '',
281
+ f_alias: model.f_alias,
282
+ f_isdecimal: model.f_isdecimal,
283
+ f_collection_type: model.f_collection_type,
284
+ f_calculation: model.f_calculation,
285
+ f_system_settlement: model.f_system_settlement,
286
+ f_comments: model.f_comments,
287
+ f_is_check: model.f_is_check,
288
+ f_is_step: model.f_is_step,
289
+ f_priority: model.f_priority,
290
+ f_support_purchase: model.f_support_purchase,
291
+ f_issupport_feededuction: model.f_issupport_feededuction,
292
+ f_dynamic_expire: model.f_dynamic_expire,
293
+ f_hascard: model.f_hascard,
294
+ f_share_times: model.f_share_times,
295
+ f_share_open: model.f_share_open,
296
+ f_operatorid: Vue.$login.f.id,
297
+ f_operator: Vue.$login.f.name,
298
+ f_orgid: Vue.$login.f.orgid,
299
+ f_orgname: Vue.$login.f.orgs,
300
+ f_depid: Vue.$login.f.depids,
301
+ f_depname: Vue.$login.f.deps,
302
+
303
+ gasmodellist: Arrlist
304
+ }
305
+ return Vue.resetpost('rs/logic/addGasBrand', {data: data}, {resolveMsg: '添加气表成功', rejectMsg: '增加气表失败'})
306
+ },
307
+ // 修改气表品牌
308
+ modifyGasBrand (model, Arrlist) {
309
+ console.log('气表品牌保存,,', model)
310
+ model.f_operatorid = Vue.$login.f.id
311
+ model.f_operator = Vue.$login.f.name
312
+ model.f_orgid = Vue.$login.f.orgid
313
+ model.f_orgname = Vue.$login.f.orgs
314
+ model.f_depid = Vue.$login.f.depids
315
+ model.f_depname = Vue.$login.f.deps
316
+ return Vue.resetpost('rs/logic/updataGasBrand', {data: {data: model, gasmodellist: Arrlist}}, {resolveMsg: '修改气表品牌成功', rejectMsg: '修改气表品牌失败'})
317
+ },
318
+ // 删除气表品牌
319
+ delGasBrand (row) {
320
+ console.log(row)
321
+ return Vue.resetpost('rs/logic/delGasBrand', {data: {id: row.id, f_orgid: Vue.$login.f.orgid}})
322
+ },
323
+ deleteUsingOrg (row) {
324
+ console.log(row)
325
+ return Vue.resetpost('rs/logic/deleteUsingOrg', {data: {id: row.f_gasbrand_id, f_orgid: row.f_orgid}})
326
+ },
327
+ createMessage (data) {
328
+ return Vue.resetpost('rs/logic/messageBatchOperate', data, {resolveMsg: '生成短信成功', rejectMsg: '生成短信失败'})
329
+ },
330
+ createCustomMessage (data) {
331
+ return Vue.resetpost('rs/customMessage/send', {data: data}, {resolveMsg: null, rejectMsg: null})
332
+ },
333
+ createMessageNew (data) {
334
+ return Vue.resetpost('rs/logic/messageBatchOperateNew', data, {resolveMsg: '生成短信成功', rejectMsg: '生成短信失败'})
335
+ },
336
+ helpInfo (model) {
337
+ let data = {
338
+ id: model.id,
339
+ f_allowed_user: model.f_allowed_user,
340
+ f_allowed_company: model.f_allowed_company,
341
+ f_password: model.f_password,
342
+ f_operator: model.f_operator
343
+ }
344
+ return Vue.resetpost('rs/logic/helpInfoAdd', {data: data})
345
+ },
346
+ del (model) {
347
+ let data = {
348
+ id: model.id
349
+ }
350
+ return Vue.resetpost('rs/logic/delHelpRow', {data: data})
351
+ },
352
+
353
+ // 抄表册
354
+ gasMeterBook (model, row) {
355
+ console.log('表册信息保存,,', model)
356
+ let data = {
357
+ f_book_code: model.f_book_code,
358
+ f_book_name: model.f_book_name,
359
+ f_inputtor: model.f_inputtor,
360
+ f_period: model.f_period,
361
+ f_hand_begin_date: model.f_hand_begin_date,
362
+ f_hand_end_date: model.f_hand_end_date,
363
+ f_hand_month: model.f_hand_month ? model.f_hand_month : null,
364
+ f_book_remark: model.f_book_remark,
365
+ f_filiale_id: model.f_filiale_id,
366
+ f_filiale_name: model.f_filiale_name,
367
+ f_comments: model.f_comments,
368
+ f_state: '有效',
369
+ f_book_state: model.f_book_state,
370
+ f_meterbook_end_date:model.f_meterbook_end_date,
371
+ f_operatorid: Vue.$login.f.id,
372
+ f_operator: Vue.$login.f.name,
373
+ f_orgid: model.f_filiale_id,
374
+ f_orgname: model.f_filiale_name,
375
+ f_depid: Vue.$login.f.depids,
376
+ f_depname: Vue.$login.f.deps,
377
+ f_book_slice_area: model.f_book_slice_area,
378
+ userid: Vue.$login.f.id,
379
+ type: '添加'
380
+ }
381
+
382
+ if (row && row.id != null) {
383
+ data.id = row.id
384
+ data.version = row.version
385
+ data.type = '修改'
386
+ }
387
+ console.log('data提交之前', data)
388
+ return Vue.resetpost('rs/logic/saveMeterBook', {data: data})
389
+ },
390
+ gasPrice (model, row, blodid) {
391
+ let data = {
392
+ f_blodid: blodid,
393
+ f_price_type: model.f_price_type,
394
+ f_price_name: model.f_price_name,
395
+ f_user_type: model.f_user_type,
396
+ f_gasproperties: model.f_gasproperties,
397
+ f_perform_date: model.f_perform_date,
398
+ f_end_date: '2099-12-31 23:59:59',
399
+ f_islow_income: model.f_islow_income - 0,
400
+ f_limit_cycle: model.f_limit_cycle ? model.f_limit_cycle : 0,
401
+ f_limit_gas: model.f_limit_gas ? model.f_limit_gas : 0,
402
+
403
+ // 阶梯相关字段
404
+ f_stairmonths: null,
405
+ f_population_base: null,
406
+ f_stair_start_date: null,
407
+ f_add_price: model.f_add_price,
408
+ f_isheat: model.f_isheat - 0,
409
+ f_deduction_way: model.f_deduction_way,
410
+ // 采暖季相关字段
411
+ f_heat_start_date: model.f_heat_start_date ? model.f_heat_start_date : null,
412
+ f_heat_cycle: model.f_heat_cycle ? model.f_heat_cycle : null,
413
+
414
+ f_priority: model.f_priority,
415
+ f_comments: model.f_comments,
416
+ f_state: '有效',
417
+ f_operatorid: Vue.$login.f.id,
418
+ f_operator: Vue.$login.f.name,
419
+ f_orgid: Vue.$login.f.orgid,
420
+ f_orgname: Vue.$login.f.orgs,
421
+ f_depid: Vue.$login.f.depids,
422
+ f_depname: Vue.$login.f.deps,
423
+
424
+ // 所属分公司
425
+ f_filialeid: model.f_filialeid,
426
+ f_filialename: model.f_filialename,
427
+
428
+ detailprice: model.detailprice,
429
+ f_processid: model.f_processid,
430
+ userid: Vue.$login.f.id,
431
+ audit: model.audit,
432
+ type: '添加'
433
+ }
434
+ if(model.f_priceStates && model.f_priceStates=='否'){
435
+ data.f_end_date=null
436
+ }
437
+ if (model.toBeUsePriceId && model.toBeUsePriceVersion) {
438
+ // 待使用 气价的id
439
+ data.toBeUsePriceId = model.toBeUsePriceId
440
+ data.toBeUsePriceVersion = model.toBeUsePriceVersion
441
+ }
442
+
443
+ if (model.limit_gas) {
444
+ data.limit_gas = model.limit_gas
445
+ }
446
+
447
+ if (data.purchaselimit) {
448
+ data.purchaselimit.forEach((item, index) => {
449
+ data.purchaselimit[index].value = model.purchaselimit[index].value
450
+ })
451
+ }
452
+ if (data.f_price_type === '固定气价') {
453
+ if (data.detailprice[0].id) {
454
+ delete data.detailprice[0].id
455
+ }
456
+ data.detailprice[0].f_price_name = 1
457
+ } else if (data.f_price_type === '混合气价') {
458
+ if (delete data.detailprice[0].id) {
459
+ delete data.detailprice[0].id
460
+ }
461
+ data.detailprice[0].f_price_name = 1
462
+ data.detailprice[0].f_mixprice = model.detailprice[0].f_mixprice[0]
463
+ if (delete data.detailprice[1].id) {
464
+ delete data.detailprice[1].id
465
+ }
466
+ data.detailprice[1].f_price_name = 2
467
+ data.detailprice[1].f_mixprice = model.detailprice[1].f_mixprice[0]
468
+ } else if (data.f_price_type === '阶梯气价') {
469
+ data.f_stairmonths = model.f_stairmonths
470
+ data.f_population_base = model.f_population_base
471
+ data.f_stair_start_date = model.f_stair_start_date
472
+ data.detailprice.forEach((item, index) => {
473
+ data.detailprice[index].f_price_name = index + 1
474
+ if (index === 0){
475
+ data.detailprice[index].f_available_gas = data.detailprice[index].f_gas
476
+ } else {
477
+ data.detailprice[index].f_available_gas = data.detailprice[index].f_gas-data.detailprice[index-1].f_gas
478
+ }
479
+
480
+ if (data.detailprice[index].id) {
481
+ if (delete data.detailprice[index].id) {
482
+ delete data.detailprice[index].id
483
+ }
484
+ } else if (data.detailprice[index].f_ratio) {
485
+ data.detailprice[index].f_ratio = null
486
+ } else if (!data.detailprice[index].f_add_gas) {
487
+ data.detailprice[index].f_add_gas = 0
488
+ } else if (!data.detailprice[index].f_add_gas_heat) {
489
+ data.detailprice[index].f_add_gas_heat = 0
490
+ }
491
+ })
492
+ }
493
+ if (row && row.id != null) {
494
+ data.oldprice = {
495
+ id: row.id
496
+ }
497
+ data.type = '修改'
498
+ data.f_price_id = row.f_price_id
499
+ data.f_version = (row.f_version - 0)
500
+ }
501
+ console.log('data提交之前', data)
502
+ return Vue.resetpost('rs/logic/gasprice', {data: data})
503
+ },
504
+ basicLiving (model, row) {
505
+ console.log('看传过来的model')
506
+ console.log(model)
507
+ let data = {
508
+ f_userinfo_id: model.f_userinfo_id,
509
+ f_userfiles_id: model.f_userfiles_id,
510
+ f_start_date: model.f_start_date,
511
+ f_end_date: model.f_end_date,
512
+ // f_period: model.f_period,
513
+ f_state: '有效',
514
+ f_price_id: model.f_price_id,
515
+ f_operatorid: Vue.$login.f.id,
516
+ f_operator: Vue.$login.f.name,
517
+ f_orgid: Vue.$login.f.orgid,
518
+ f_orgname: Vue.$login.f.orgs,
519
+ f_depid: Vue.$login.f.depids,
520
+ f_depname: Vue.$login.f.deps,
521
+
522
+ type: '添加'
523
+ }
524
+ if (row && row.id != null) {
525
+ data.oldbasicliving = {
526
+ id: row.id
527
+ }
528
+ data.type = '修改'
529
+ }
530
+ console.log('data提交之前', data)
531
+ return Vue.resetpost('rs/logic/addBasicLiving', {data: data})
532
+ },
533
+ sendMessage (condition) {
534
+ return Vue.resetpost('rs/logic/sendSms', {condition: condition})
535
+ },
536
+ deletMessage (condition) {
537
+ return Vue.resetpost('rs/logic/deleteSms', {condition: condition}, {resolveMsg: '删除短信成功', rejectMsg: '删除短信失败'})
538
+ },
539
+ deletAllMessage (condition) {
540
+ return Vue.resetpost('rs/logic/deleteSms', {condition: condition, operate: 'all'}, {resolveMsg: '删除短信成功', rejectMsg: '删除短信失败'})
541
+ }
542
+ }
543
+
544
+ export default LogicService
@@ -0,0 +1,118 @@
1
+ <template>
2
+ <div class="auto">
3
+ <validator name='v'>
4
+ <form class="form-horizontal">
5
+ <div class="row">
6
+ <div class="col-sm-4 form-group">
7
+ <label for="f_reason" class="font_normal_body">停用原因</label>
8
+ <v-select v-model="model.f_reason"
9
+ placeholder='停用原因'
10
+ :value.sync="model.f_reason"
11
+ :options='reason'
12
+ v-ref:reason
13
+ close-on-select ></v-select>
14
+ </div>
15
+ </div>
16
+ <div class="row" style="margin-top:1px;">
17
+ <div class="col-sm-8 form-group">
18
+ <label for="f_reason" class="font_normal_body">备&emsp;&emsp;注</label>
19
+ <input class="input_search" style="width:80%" v-model="model.f_othereason" placeholder="备注"/>
20
+ </div>
21
+ </div>
22
+ </form>
23
+ <div style="text-align:right;">
24
+ <button class="button_search button_spacing" @click="confirm()" :disabled='!$v.valid'>确认</button>
25
+ <button class="button_clear" @click="clean()" >取消</button>
26
+ </div>
27
+ </validator>
28
+ </div>
29
+ <upload :blodid="blodid" :businessid="randomBusinessId" isremark="true" :deleteimg="true" fusetype="停用"></upload>
30
+ </template>
31
+ <script>
32
+ import LogicService from "../plugins/LogicService";
33
+ /**
34
+ *综合业务
35
+ 表具停用组件
36
+ */
37
+
38
+ let asyncMachineMeterCenter = async function (self){
39
+ await self.$getConfig(self,'disableGen')
40
+ console.log('欠费禁用config', self.config)
41
+ self.data.disable = self.config.disableGen
42
+ }
43
+
44
+ export default {
45
+ title: '表具停用',
46
+ props: ['row'],
47
+ data () {
48
+ return {
49
+ config: {
50
+ disableGen: true
51
+ },
52
+ disable:true,
53
+ blodid: '',
54
+ showupload: true,
55
+ model: {},
56
+ randomBusinessId: '',
57
+ reason: this.$appdata.getParam('停用原因')
58
+ }
59
+ },
60
+ ready () {
61
+ this.blodid = this.row.f_userinfo_id
62
+ this.getRandomId()
63
+ asyncMachineMeterCenter(this)
64
+ },
65
+ methods: {
66
+ getRandomId () {
67
+ this.randomBusinessId = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
68
+ let res = Math.random() * 16 | 0
69
+ let v = c == 'x' ? res : (res & 0x3 | 0x8)
70
+ return v.toString(16)
71
+ })
72
+ },
73
+ async confirm () {
74
+ await LogicService.meterDisable(this.model, this.row, this.disable)
75
+ let array = [{
76
+ f_user_id: this.row.f_user_id,
77
+ f_userfiles_id: this.row.f_userfiles_id,
78
+ f_alias: this.row.f_alias,
79
+ f_userinfo_id: this.row.f_userinfo_id,
80
+ f_orgname: this.$login.f.orgs,
81
+ f_orgid: this.$login.f.orgid,
82
+ f_meternumber: this.row.f_meternumber
83
+ }]
84
+ if (this.row.f_meter_type === '物联网表') {
85
+ await this.$resetpost('rs/logic/iot_instructUpdateAndDelect',
86
+ {
87
+ data: {
88
+ data1: {
89
+ f_apply_type: '阀门控制',
90
+ userid: array,
91
+ nowDate: new Date(),
92
+ f_apply_value: '关阀',
93
+ f_apply_beizhu: '表具停用自动关阀',
94
+ f_apply_operator: this.$login.f.name
95
+ },
96
+ data2: {
97
+ userid: array,
98
+ instructtype: '阀门控制',
99
+ isOpen: '关阀',
100
+ instructTitle: '手动关阀',
101
+ reasonInfo: '表具停用自动关阀',
102
+ f_instruct_state: '待发送',
103
+ inputtor: this.$login.f.name
104
+ }
105
+ }
106
+ })
107
+ }
108
+ this.$dispatch('success')
109
+ },
110
+ clean () {
111
+ this.$dispatch('refresh')
112
+ }
113
+ }
114
+ }
115
+ </script>
116
+
117
+ <style>
118
+ </style>
@@ -25,4 +25,6 @@ export default function () {
25
25
  Vue.component('card-meter-center', (resolve) => { require(['./business/CardMeterCenter'], resolve) })
26
26
  // 交费具体信息金额
27
27
  Vue.component('meter-operate-maintain', (resolve) => { require(['./components/revenue/MeterOperatemain'], resolve) })
28
+ // 表具停用
29
+ Vue.component('disable-manage', (resolve) => { require(['./components/revenue/DisableManage'], resolve) })
28
30
  }
@@ -362,25 +362,31 @@
362
362
  // 开始打票
363
363
  if (self.config.hasPrint && !self.$login.r.includes('不打印发票')) {
364
364
  if (self.model.f_print.indexOf('电子发票') == -1) {
365
- if (self.$login.r.includes('非民用纸质票据拆分')) {
366
- if (self.row.f_user_type === '非民用') {
367
- self.billData.url = 'rs/report/fmy_card_bill'
368
- }
369
- }
370
- if (self.row.f_meter_type === '金额卡表' && self.$appdata.getSingleValue('金额气量区分卡表票据')) {
371
- self.billData.url = 'rs/report/fee_card_bill'
372
- }
373
- if (self.config.hasBillManage) {
374
- // 启用发票管理,获取票据管理中的票号并存储记录
375
- self.row.id = res
376
- self.row.f_bill_type = '卡表收费'
377
- self.row.f_bill_style = self.model.f_print[0]
378
- self.row.f_url = 'http://192.168.50.77:31039/report/jmreport/shareView/787097260170534912'
365
+ if (self.model.f_print[0] == '热敏收据') {
366
+ self.billData.url = 'rs/report/card_bill_thermal'
367
+ self.row.id = res.data.id
379
368
  self.print = true
380
369
  } else {
381
- self.row.id = res
382
- self.row.f_url = 'http://192.168.50.77:31039/report/jmreport/shareView/787097260170534912'
383
- self.print = true
370
+ if (self.$login.r.includes('非民用纸质票据拆分')) {
371
+ if (self.row.f_user_type === '非民用') {
372
+ self.billData.url = 'rs/report/fmy_card_bill'
373
+ }
374
+ }
375
+ if (self.row.f_meter_type === '金额卡表' && self.$appdata.getSingleValue('金额气量区分卡表票据')) {
376
+ self.billData.url = 'rs/report/fee_card_bill'
377
+ }
378
+ if (self.config.hasBillManage) {
379
+ // 启用发票管理,获取票据管理中的票号并存储记录
380
+ self.row.id = res
381
+ self.row.f_bill_type = '卡表收费'
382
+ self.row.f_bill_style = self.model.f_print[0]
383
+ self.row.f_url = 'http://192.168.50.77:31039/report/jmreport/shareView/787097260170534912'
384
+ self.print = true
385
+ } else {
386
+ self.row.id = res
387
+ self.row.f_url = 'http://192.168.50.77:31039/report/jmreport/shareView/787097260170534912'
388
+ self.print = true
389
+ }
384
390
  }
385
391
  } else {
386
392
  if (self.model.f_print[0] === '电子发票') {
@@ -327,24 +327,30 @@
327
327
  await self.$resetpost('rs/logic/updatefiles', data)
328
328
  console.log('物联网收费返回。。。', res.data.id)
329
329
  // 开始打票
330
- console.log('开始打票', self.config)
330
+ console.log('开始打票', self.config, self.model)
331
331
  if (self.config.hasPrint) {
332
332
  if (self.model.f_print.indexOf('电子发票') == -1) {
333
- console.log('self.config.hasBillManage', self.config.hasBillManage)
334
- if (self.$login.r.includes('非民用纸质票据拆分')) {
335
- if (self.row.f_user_type === '非民用') {
336
- self.billData.url = 'rs/report/fmy_iot_bill'
337
- }
338
- }
339
- if (self.config.hasBillManage) {
340
- // 启用发票管理,获取票据管理中的票号并存储记录
333
+ if (self.model.f_print[0] == '热敏收据') {
334
+ self.billData.url = 'rs/report/iot_bill_thermal'
341
335
  self.row.id = res.data.id
342
- self.row.f_bill_type = '物联网收费'
343
- self.row.f_bill_style = self.model.f_print[0]
344
336
  self.print = true
345
337
  } else {
346
- self.row.id = res.data.id
347
- self.print = true
338
+ console.log('self.config.hasBillManage', self.config.hasBillManage)
339
+ if (self.$login.r.includes('非民用纸质票据拆分')) {
340
+ if (self.row.f_user_type === '非民用') {
341
+ self.billData.url = 'rs/report/fmy_iot_bill'
342
+ }
343
+ }
344
+ if (self.config.hasBillManage) {
345
+ // 启用发票管理,获取票据管理中的票号并存储记录
346
+ self.row.id = res.data.id
347
+ self.row.f_bill_type = '物联网收费'
348
+ self.row.f_bill_style = self.model.f_print[0]
349
+ self.print = true
350
+ } else {
351
+ self.row.id = res.data.id
352
+ self.print = true
353
+ }
348
354
  }
349
355
  } else if (self.config.printType === '国税发票') {
350
356
  // TODO
@@ -238,19 +238,25 @@
238
238
  // 开始打票
239
239
  if (self.config.hasPrint) {
240
240
  if (self.model.f_print.indexOf('电子发票') == -1) {
241
- if (self.config.hasBillManage) {
242
- // 启用发票管理,获取票据管理中的票号并存储记录
243
- self.row.id = res
244
- self.row.f_bill_type = '卡表收费'
245
- self.row.f_bill_style = self.model.f_print[0]
246
- self.row.f_preamount = self.model.f_preamount
247
- self.row.f_url = 'http://192.168.50.77:31039/report/jmreport/shareView/787097260170534912'
248
- self.row.f_collection = self.model.f_collection
241
+ if (self.model.f_print[0] == '热敏收据') {
242
+ self.billData.url = 'rs/report/card_bill_thermal'
243
+ self.row.id = res.data.id
249
244
  self.print = true
250
245
  } else {
251
- self.row.id = res
252
- self.row.f_url = 'http://192.168.50.77:31039/report/jmreport/shareView/787097260170534912'
253
- self.print = true
246
+ if (self.config.hasBillManage) {
247
+ // 启用发票管理,获取票据管理中的票号并存储记录
248
+ self.row.id = res
249
+ self.row.f_bill_type = '卡表收费'
250
+ self.row.f_bill_style = self.model.f_print[0]
251
+ self.row.f_preamount = self.model.f_preamount
252
+ self.row.f_url = 'http://192.168.50.77:31039/report/jmreport/shareView/787097260170534912'
253
+ self.row.f_collection = self.model.f_collection
254
+ self.print = true
255
+ } else {
256
+ self.row.id = res
257
+ self.row.f_url = 'http://192.168.50.77:31039/report/jmreport/shareView/787097260170534912'
258
+ self.print = true
259
+ }
254
260
  }
255
261
  } else {
256
262
  if (self.model.f_print[0] === '电子发票') {
@@ -106,7 +106,7 @@
106
106
  <script>
107
107
  import UserPaperInfoTest from './../../components/FilesManage/UserPaperInfoTest'
108
108
  import {HttpResetClass} from 'vue-client'
109
- import * as Util from '../../util'
109
+ import * as Util from '../../Util'
110
110
 
111
111
  let getFileGen = async function (self, data) {
112
112
  let http = new HttpResetClass()