sale-client 3.6.512 → 3.6.513

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.6.512",
3
+ "version": "3.6.513",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -519,7 +519,13 @@
519
519
  :options='overdueset' placeholder='违约金规则'
520
520
  close-on-select></v-select>
521
521
  </div>
522
-
522
+ <div class="col-sm-4 form-group" :class="[$m.f_seal_number.required ? 'has-error' : '']"
523
+ v-show="(formconfig && formconfig.f_seal_number && formconfig.f_seal_number.required) || !onlyshowmust"
524
+ v-if="getConfigShowItem('f_seal_number')">
525
+ <label for="f_seal_number" class="font_normal_body">&ensp;铅封编号</label>
526
+ <input type="text" class="input_search" style="width:60%" v-model="row.f_seal_number" placeholder='铅封编号'
527
+ v-validate:f_comments=getConfigValidate("f_seal_number",false)>
528
+ </div>
523
529
  <template v-if="config.stuckFlowmeterShow">
524
530
  <div class="col-sm-4 form-group">
525
531
  <label class="font_normal_body" title="控制器通经">控制器通经</label>
@@ -137,6 +137,10 @@
137
137
  <label class = "col-sm-5 " >抄表册册序号</label>
138
138
  <span class = "col-sm-7">{{data?data.f_meter_book_sort:dafault.f_meter_book_sort}}</span>
139
139
  </div>
140
+ <div class="row">
141
+ <label class = "col-sm-5 " >铅封编号</label>
142
+ <span class = "col-sm-7">{{data?data.f_seal_number:dafault.f_seal_number}}</span>
143
+ </div>
140
144
  <div class="row">
141
145
  <label class = "col-sm-5 " >安装位置</label>
142
146
  <span class = "col-sm-7">{{data?data.f_position:dafault.f_position}}</span>
@@ -197,6 +201,7 @@ export default {
197
201
  f_price_name: '****',
198
202
  f_meter_brand: '****',
199
203
  f_balance: 0,
204
+ f_seal_number: '****',
200
205
  f_user_type: '**',
201
206
  f_remanent_gas: 0,
202
207
  f_position: '****',
@@ -148,7 +148,7 @@ export default {
148
148
  return {
149
149
  imgdelete: '/images/mainicon/deletedevice.png',
150
150
  imgadd: '/images/mainicon/adddevice.png',
151
- devicetypes: [{label: '调压器', value: '调压器'}, {label: '报警器', value: '报警器'}, {label: '切断阀', value: '切断阀'}],
151
+ devicetypes: this.$appdata.getParam('表具设备类型'),
152
152
  devicesinfoShow: false
153
153
  }
154
154
  },
@@ -0,0 +1,273 @@
1
+ import Vue from 'vue'
2
+ import co from 'co'
3
+
4
+ let cancelUserGen = function * (data, type) {
5
+ console.log('销户。。', data)
6
+ if (type === '销户') {
7
+ let owe = yield Vue.resetpost('rs/logic/hasOweWithUser', {data: {f_userinfo_id: data.f_userinfo_id}}, {resolveMsg: null, rejectMsg: null})
8
+ console.log('销户看是否有欠费', owe.data)
9
+ let hasHandplan = yield Vue.resetpost('rs/sql/saleSingleTable', {data: {tablename: 't_handplan', condition: `f_meter_state = '未抄表' and f_userinfo_id = '${data.f_userinfo_id}'`}}, {resolveMsg: null, rejectMsg: null})
10
+ console.log('是否有未抄表数据', hasHandplan.data)
11
+ if (owe.data === 1 && hasHandplan.data.length > 0) {
12
+ Vue.showAlert('该客户还有欠费,不能销户!!', 'danger', 0)
13
+ } else {
14
+ yield Vue.resetpost('rs/logic/saveSingleCancellation', data, {resolveMsg: `${type}成功`, rejectMsg: `${type}失败`}).then(res => {
15
+ if (res && res.data) {
16
+ if (type === '销户') {
17
+ if (!(res.data.isaudit === null)) {
18
+ if (res.data.isaudit === 1) {
19
+ Vue.showAlert('提交成功,等待管理审核!', 'success', 2000)
20
+ return
21
+ }
22
+ }
23
+ }
24
+ Vue.showAlert('销户成功', 'success', 2000)
25
+ }
26
+ })
27
+ }
28
+ } else {
29
+ Vue.resetpost('rs/logic/saveSingleCancellation', data, {resolveMsg: `${type}成功`, rejectMsg: `${type}失败`})
30
+ }
31
+ }
32
+ //
33
+ // let cancelAllUserGen = function * (data, type, infoIds) {
34
+ // console.log('FileService销户。。', infoIds)
35
+ //
36
+ // let owe = yield Vue.resetpost('rs/logic/hasBatchOweWithUser', {data: {infoIds:infoIds}}, {resolveMsg: null, rejectMsg: null})
37
+ // console.log('销户看是否有欠费或未抄表记录', owe.data)
38
+ // var alertInfo='用户'
39
+ // if(owe.data.unsuccessUser.length>0){
40
+ // owe.data.unsuccessUser.forEach((item)=>{
41
+ // alertInfo=alertInfo+item.f_user_name+','
42
+ // })
43
+ // alertInfo=alertInfo.substr(0,alertInfo.length-1)
44
+ // }
45
+ // alertInfo+='有欠费记录'
46
+ // if(owe.data.successUser.length>0){
47
+ // Vue.resetpost('rs/logic/saveCancellation', owe.data.successUser, {resolveMsg: `${type}成功`, rejectMsg: `${type}失败`}).then((res)=>{
48
+ // if (owe.data.unsuccessUser.length>0) {
49
+ // Vue.showAlert( `${alertInfo},已成功销户${res.data.successnum}户`, 'info', 3000)
50
+ // }else{
51
+ // Vue.showAlert(`已成功销户${res.data.successnum}户`, 'info', 3000)
52
+ // }
53
+ // })
54
+ // }else{
55
+ // Vue.showAlert('没有可以销户的用户', 'info', 3000)
56
+ // }
57
+ //
58
+ // }
59
+
60
+ let FileService = {
61
+ install (Vue, options) {
62
+ // 给vue增添对话框显示方法
63
+ Vue.FileService = Vue.prototype.$FileService = FileService
64
+ },
65
+
66
+ fileSave (data) {
67
+ console.log('档案保存,,,,,', data, Vue.$login.f)
68
+ let result = Object.assign({}, result, data.baseinfo.base)
69
+ result.f_userinfo_id = result.f_userinfo_id ? result.f_userinfo_id + '' : null
70
+ result.f_cost_type = result.f_cost_type.length > 0 ? result.f_cost_type[0] : ''
71
+ result.f_credentials = result.f_credentials.length > 0 ? result.f_credentials[0] : ''
72
+ result.f_paper_type = result.f_paper_type.length > 0 ? result.f_paper_type[0] : ''
73
+ result.f_predeposit = result.f_predeposit ? result.f_predeposit : 0
74
+ result.f_people_num = result.f_people_num ? result.f_people_num : 0
75
+ result.f_paper_comments = result.f_paper_comments ? result.f_paper_comments : null
76
+
77
+ if (result.f_slice_area instanceof Array) {
78
+ result.f_slice_area = result.f_slice_area.length > 0 ? result.f_slice_area[0] : null
79
+ }
80
+ if (data.baseinfo.base.f_cost_type[0] === '银行代扣') {
81
+ let bank = Object.assign({}, bank, data.baseinfo.bank)
82
+ result.infobank = bank
83
+ result.infobank.f_bank_name = bank.f_bank_name.length > 0 ? bank.f_bank_name[0] : ''
84
+ }
85
+ // 获取分公司id (通过ids拆分)
86
+ result.f_filialeid = data.f_filialeid
87
+ if (result.f_userinfo_id === null) {
88
+ result.f_createfile_person = Vue.$login.f.name
89
+ result.f_createfile_date = Vue.$login.toStandardTimeString()
90
+
91
+ result.f_operator = Vue.$login.f.name
92
+ result.f_operatorid = Vue.$login.f.id
93
+ result.f_orgid = Vue.$login.f.orgid
94
+ result.f_orgname = Vue.$login.f.orgs
95
+ result.f_depid = Vue.$login.f.depids
96
+ result.f_depname = Vue.$login.f.deps
97
+ }
98
+
99
+ // 档案变更时,获取档案登录人信息进行操作记录的保存
100
+ result.f_operator_record = Vue.$login.f.name
101
+ result.f_operatorid_record = Vue.$login.f.id
102
+ result.f_orgid_record = Vue.$login.f.orgid
103
+ result.f_orgname_record = Vue.$login.f.orgs
104
+ result.f_depid_record = Vue.$login.f.depids
105
+ result.f_depname_record = Vue.$login.f.deps
106
+ result.f_user_state = result.f_user_state.length > 0 ? result.f_user_state[0] : '正常'
107
+ result.userfiles = []
108
+ // 表具信息
109
+ data.meterinfo.forEach((item) => {
110
+ // item.f_user_id = result.f_user_id ? result.f_user_id : null
111
+ let meter = Object.assign({}, meter, item)
112
+ if (meter.f_user_id) {
113
+ meter.f_user_id = meter.f_user_id
114
+ }
115
+ meter.f_filialeid = data.f_filialeid
116
+ meter.f_position = meter.f_position.length > 0 ? meter.f_position[0] : null
117
+ meter.f_gasbrand_id = meter.gasbrand[0].id
118
+ meter.f_show_way = meter.f_show_way ? meter.f_show_way[0] : null
119
+ meter.f_inputtor = meter.f_inputtor.length > 0 ? meter.f_inputtor[0] : null
120
+ meter.f_install_person = meter.f_install_person && meter.f_install_person.length > 0 ? meter.f_install_person[0] : null
121
+ meter.f_aroundmeter = meter.f_aroundmeter.length > 0 ? meter.f_aroundmeter[0] : null
122
+ meter.f_meter_base = isNaN(meter.f_meter_base) || meter.f_meter_base === '' ? 0.00 : (meter.f_meter_base - 0).toFixed(4)
123
+ meter.f_remanent_gas = isNaN(meter.f_remanent_gas) || meter.f_remanent_gas === '' ? 0.00 : (meter.f_remanent_gas - 0).toFixed(4)
124
+ meter.f_price_ratio = meter.f_price_ratio ? meter.f_price_ratio : null
125
+ meter.f_fire_state = meter.f_fire_state1 ? '1' : '0'
126
+ meter.f_gasmodel_id = meter.gasmodel[0].id
127
+ meter.f_meter_classify = meter.gasbrand[0].f_meter_type
128
+ meter.f_user_type = meter.f_user_type.length > 0 ? meter.f_user_type[0] : ''
129
+ meter.f_price_id = meter.pricename[0].f_price_id
130
+ meter.f_gasproperties = meter.f_gasproperties.length > 0 ? meter.f_gasproperties[0] : ''
131
+ meter.f_adjustable_id = meter.f_adjustable.length > 0 ? meter.f_adjustable[0].id : null
132
+ meter.f_table_state = '正常'
133
+ if (!meter.f_userfiles_id) {
134
+ // 气表状态需要根据表型判断是否需要开通操作 目前物联网表需要做开通操作
135
+ meter.f_whether_hairpin = !item.gasbrand[0].f_meter_type.includes('机表') ? '未发' : '无卡'
136
+ meter.f_input_person = Vue.$login.f.name
137
+ meter.f_input_date = Vue.$login.toStandardTimeString()
138
+ meter.f_initial_base = meter.f_meter_base
139
+ meter.f_card_password = item.gasbrand[0].f_card_password
140
+ meter.f_operator = Vue.$login.f.name
141
+ meter.f_operatorid = Vue.$login.f.id
142
+ meter.f_orgid = Vue.$login.f.orgid
143
+ meter.f_orgname = Vue.$login.f.orgs
144
+ meter.f_depid = Vue.$login.f.depids
145
+ meter.f_depname = Vue.$login.f.deps
146
+ }
147
+ // 之前建立的是卡表在档案中改成了物联网表(需验证建立的卡表是不是未发,如果是未发,表状态给成待开通)后端处理
148
+
149
+ meter.img = meter.img ? meter.img : {content: null, filename: null}
150
+ meter.img.content = meter.img.content ? meter.img.content : null
151
+ meter.img.filename = meter.img.filename ? meter.img.filename : null
152
+ result.userfiles.push(meter)
153
+ })
154
+ let devices = []
155
+ data.devicesinfo.forEach((item) => {
156
+ let device = Object.assign({}, device, item)
157
+ device.f_user_id = data.meterinfo[0].f_user_id ? data.meterinfo[0].f_user_id : null
158
+ device.f_devices_type = device.f_devices_type[0]
159
+ device.f_state = device.f_state ? device.f_state : '有效'
160
+ device.f_devices_no = device.f_devices_no ? device.f_devices_no : null
161
+ device.f_brand = device.f_brand ? device.f_brand : null
162
+ device.f_devices_model = device.f_devices_model ? device.f_devices_model : null
163
+ device.f_devices_num = device.f_devices_num ? device.f_devices_num : null
164
+ device.img = device.img ? device.img : {content: null, filename: null}
165
+ device.img.content = device.img.content ? device.img.content : null
166
+ device.img.filename = device.img.filename ? device.img.filename : null
167
+ if (!device.id) {
168
+ device.f_input_person = Vue.$login.f.name
169
+ device.f_input_date = Vue.$login.toStandardTimeString()
170
+ }
171
+ devices.push(device)
172
+ })
173
+
174
+ // 组织地址数据,更新地址管理中的数据
175
+ // 地址信息
176
+ let address = {}
177
+ address = {
178
+ id: data.addressinfo.id,
179
+ f_pcd: data.addressinfo.f_pcd,
180
+ f_pcd_id: data.addressinfo.f_pcd_id,
181
+ f_area: data.addressinfo.f_area ? data.addressinfo.f_area : null,
182
+ f_slice_area: data.addressinfo.f_slice_area,
183
+ f_street: data.addressinfo.f_street ? data.addressinfo.f_street : null,
184
+ f_street_id: data.addressinfo.f_street_id ? data.addressinfo.f_street_id : null,
185
+ f_residential_area: data.addressinfo.f_residential_area ? data.addressinfo.f_residential_area : null,
186
+ f_residential_area_id: data.addressinfo.f_residential_area_id ? data.addressinfo.f_residential_area_id : null,
187
+ f_building: data.addressinfo.f_building,
188
+ f_building_suffix: data.addressinfo.f_building_suffix,
189
+ f_unit: data.addressinfo.f_unit,
190
+ f_unit_suffix: data.addressinfo.f_unit_suffix,
191
+ f_floor: data.addressinfo.f_floor,
192
+ f_floor_suffix: data.addressinfo.f_floor_suffix,
193
+ f_room: data.addressinfo.f_room,
194
+ f_room_suffix: data.addressinfo.f_room_suffix,
195
+ f_address: data.addressinfo.f_address,
196
+ f_create_date: Vue.$login.toStandardTimeString(),
197
+ f_create_person: Vue.$login.f.name,
198
+ f_filialeid: Vue.$login.f.orgid,
199
+ f_operator: Vue.$login.f.name,
200
+ f_operatorid: Vue.$login.f.id,
201
+ f_orgid: Vue.$login.f.orgid,
202
+ f_orgname: Vue.$login.f.orgs,
203
+ f_depid: Vue.$login.f.depids,
204
+ f_depname: Vue.$login.f.deps
205
+ }
206
+ console.log('档案要保存了end ', result, devices, address)
207
+ return Vue.resetpost('rs/logic/fileSave', {data: {userinfo: result, devices: devices, address: address, limit_gas: data.limit_gas}})
208
+ },
209
+ batchOperate (model, type) {
210
+ let operateType = type
211
+ if (type === '启用') {
212
+ operateType = '销户启用'
213
+ }
214
+ let data = {
215
+ f_operat_type: operateType,
216
+ f_describe: `${Vue.$login.f.name}对客户${model.userinfo.f_user_name}进行销户`,
217
+ f_user_id: model.userinfo.f_user_id,
218
+ f_user_name: model.userinfo.f_user_name,
219
+ f_state: type === '启用' ? '正常' : '销户',
220
+ f_comments: model.f_reason,
221
+ f_operator: Vue.$login.f.name,
222
+ f_operatorid: Vue.$login.f.id,
223
+ f_orgid: Vue.$login.f.orgid,
224
+ f_orgname: Vue.$login.f.orgs,
225
+ f_depid: Vue.$login.f.depids,
226
+ f_depname: Vue.$login.f.deps,
227
+ f_userinfo_id: model.userinfo.f_userinfo_id,
228
+ f_meternumber: model.userinfo.f_meternumber,
229
+ f_userfiles_id: model.userinfo.f_userfiles_id
230
+ }
231
+ if (type === '启用') {
232
+ data.f_describe = `${Vue.$login.f.name}对客户${model.userinfo.f_user_name}进行启用`
233
+ }
234
+ let cancelUser = cancelUserGen(data, type)
235
+ return co(cancelUser)
236
+ }
237
+ // batchOperate (model, type, infoIds) {
238
+ // console.log("infoIds!!!!!",infoIds)
239
+ // let operateType = type
240
+ // if (type === '启用') {
241
+ // operateType = '销户启用'
242
+ // }
243
+ // let data=[]
244
+ // let describe= `${Vue.$login.f.name}对客户`
245
+ // model.userinfo.forEach((item) => {
246
+ // let param={
247
+ // f_user_id: item.f_user_id,
248
+ // f_userinfo_id :item.f_userinfo_id,
249
+ // f_user_name: item.f_user_name,
250
+ // f_state: '有效',
251
+ // f_user_state: '销户',
252
+ // f_comments: model.f_reason,
253
+ // f_operat_type:'销户',
254
+ // f_operator: Vue.$login.f.name,
255
+ // f_operatorid: Vue.$login.f.id,
256
+ // f_orgid: Vue.$login.f.orgid,
257
+ // f_orgname: Vue.$login.f.orgs,
258
+ // f_depid: Vue.$login.f.depids,
259
+ // f_depname: Vue.$login.f.deps,
260
+ // f_describe:`${Vue.$login.f.name}进行批量销户`
261
+ // }
262
+ // data.push(param)
263
+ // describe+=item.f_user_name+','
264
+ // })
265
+ // describe=describe.substr(0,describe.length-1)
266
+ // describe+= '进行'+type
267
+ // console.log("===========describe",infoIds)
268
+ // let cancelUser = cancelAllUserGen(data, type, infoIds)
269
+ // return co(cancelUser)
270
+ // }
271
+ }
272
+
273
+ export default FileService
@@ -1,6 +1,9 @@
1
1
  // 分公司特殊组件页面注册
2
2
  import Vue from 'vue'
3
+ import FileService from './FileService'
4
+
3
5
  export default function () {
6
+ Vue.use(FileService)
4
7
  // 用气设备信息
5
8
  Vue.component('file-user-device-info', (resolve) => { require(['./UserDeviceInfoTest.vue'], resolve) })
6
9
  // 其他收费欠费收缴