sale-client 4.2.63 → 4.2.64

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 (50) hide show
  1. package/build/dev-server.js +90 -68
  2. package/index.html +7 -2
  3. package/package.json +1 -1
  4. package/src/App.vue +1 -1
  5. package/src/components/revenue/HandManager/MeterBookUser.vue +726 -726
  6. package/src/components/revenue/comprehen/ComprehenOperation/QrPay/QrPaymentDetailed.vue +423 -423
  7. package/src/components/revenue/comprehen/Maintenance/hand/handOperate.vue +469 -469
  8. package/src/components/revenue/machineHandManage/ArrearsQuery.vue +938 -938
  9. package/src/components/webMeter/MeterManage/WebMeterBatchOperationValve.vue +970 -970
  10. package/src/filiale/alashan/eticket/EticketRecordList.vue +428 -428
  11. package/src/filiale/bayan/ChargeList.vue +1010 -1010
  12. package/src/filiale/bayan/StockListmain.vue +543 -543
  13. package/src/filiale/bazhong/UserInfoDetailManageNew.vue +245 -245
  14. package/src/filiale/bazhong/ic_detail/ChangeMeterQueryUser.vue +370 -370
  15. package/src/filiale/bazhong/sale.js +8 -8
  16. package/src/filiale/beifangshiye/OtherChargeNew.vue +625 -625
  17. package/src/filiale/jinhong/HandList.vue +120 -0
  18. package/src/filiale/jinhong/sale.js +2 -0
  19. package/src/filiale/lixianV3/ArrearsQuery.vue +938 -938
  20. package/src/filiale/lixianV3/InsuranceChargesDetails.vue +425 -425
  21. package/src/filiale/meihekou/common/userinfo_detail/ic_detail/MachineRecordQuery.vue +281 -281
  22. package/src/filiale/qianneng/revenue/sms/AccountMessageList.vue +508 -508
  23. package/src/filiale/ronghao/ArrearsQuery.vue +974 -974
  24. package/src/filiale/ronghao/CardService.js +2144 -2144
  25. package/src/filiale/ronghao/InsuranceManage.vue +58 -58
  26. package/src/filiale/ronghao/MachineChargeService.js +149 -149
  27. package/src/filiale/ronghao/NoCardMeterCenter.vue +534 -534
  28. package/src/filiale/ronghao/PaymentCode.vue +174 -174
  29. package/src/filiale/ronghao/PriceChangeCompensation/CompensationManage.vue +26 -26
  30. package/src/filiale/ronghao/PriceChangeCompensation/IotCompensation.vue +318 -318
  31. package/src/filiale/ronghao/PriceChangeCompensation/JbCompensation.vue +343 -343
  32. package/src/filiale/ronghao/PriceChangeCompensation/SurplusRecordDetail.vue +74 -74
  33. package/src/filiale/ronghao/ReplaceCardManage.vue +415 -415
  34. package/src/filiale/ronghao/Upload.vue +654 -654
  35. package/src/filiale/ronghao/cardDown.vue +1141 -1141
  36. package/src/filiale/ronghao/changemeterOperate.vue +315 -315
  37. package/src/filiale/ronghao/fillgasSpecific.vue +313 -313
  38. package/src/filiale/ronghao/ic_detail/ChargeRecordQuery.vue +106 -106
  39. package/src/filiale/ronghao/ic_detail/WatchCollection.vue +115 -115
  40. package/src/filiale/ronghao/ic_detail/WebHandQueryUser.vue +411 -411
  41. package/src/filiale/ronghao/machineDown.vue +1176 -1176
  42. package/src/filiale/ronghao/replacementSingleInfoOperation.vue +315 -315
  43. package/src/filiale/ronghao/specificInformation.vue +537 -537
  44. package/src/filiale/yangchun/ChargeList.vue +954 -954
  45. package/src/filiale/yangchun/FilesManage/UserGeneralInfoTest.vue +837 -837
  46. package/src/filiale/yangchun/MeterinfoTest.vue +1212 -1212
  47. package/src/filiale/yuncheng/changemeterListMaintain.vue +504 -504
  48. package/src/filiale/zhongsheng/BlackListList.vue +293 -293
  49. package/src/filiale/zhongyi/HandQueryUser.vue +389 -389
  50. package/src/main.js +1 -1
@@ -1,837 +1,837 @@
1
- <template>
2
- <div>
3
- <div style="overflow-y: scroll;height: 92%">
4
- <div style="height: auto;width: 100%">
5
- <div style="margin-bottom: 2%; margin-top: 2%">
6
- <img style="margin-top: -5px" src="../../../../static/images/lefticon/矩形1183.png">
7
- <a style="font-size: 20px;font-weight: 500;">基本信息</a>&nbsp;<a
8
- style="color: #999999;text-decoration: none"></a>
9
- <button class="button_search" style="width: max-content" v-show="data.baseinfo.base.f_user_nature === '单位'"
10
- @click="showUserDevices($index, data.baseinfo)">用户设备信息
11
- </button>
12
- <button class="button_search" style="width: max-content" @click="uploadFiles()">上传/查看附件</button>
13
- <button class="button_search" style="width: max-content" @click="uploadPictures()">拍照</button>
14
- <button class="button_search" style="width: max-content" @click="openBankAccount()"
15
- v-if="data.meterinfo[0].f_user_type[0] === '非民用' && ($login.r.includes('银行开户'))">银行开户
16
- </button>
17
- <div
18
- v-if="hiddenBtn" @click="criteriaShow=!criteriaShow" class="button_spacing"
19
- :class="{'button_shrink_top':!criteriaShow,'button_shrink_bottom':criteriaShow}"
20
- style="float: right;margin-right:1rem"></div>
21
- </div>
22
- <file-user-essential-info :formconfig="config.fileUserEssentialInfo" :usertype="row?row.f_user_type:null"
23
- :userphonelist="data.baseinfo.userphonelist" :baseinfo="data.baseinfo"
24
- :addressinfo="data.addressinfo" @valid="essentialInfo = true"
25
- :onlyshowmust="criteriaShow" @invalid="essentialInfo = false" v-ref:useressential
26
- :isedit="isedit"></file-user-essential-info>
27
- <file-userinfo-device :userinfodevices.sync="userinfodevices" :show_userinfodevices.sync="show_userinfodevices"
28
- :userinfoid='data.baseinfo.base.f_userinfo_id'></file-userinfo-device>
29
- </div>
30
-
31
- <div style="height: auto;width: 100%">
32
- <file-user-meter-info :formconfig="config.fileUserMeterInfo" :meterinfo.sync="data.meterinfo"
33
- :f_filialeid="f_filialeid" :metervalid.sync="meterInfo" :overdueset="overdueset"
34
- :curuser="row"
35
- :onlyshowmust="criteriaShow"
36
- :f_userinfo_id="data.baseinfo.base.f_userinfo_id" :addressinfo="data.addressinfo"
37
- :baseinfo.sync="data.baseinfo.base" v-ref:meter></file-user-meter-info>
38
- </div>
39
-
40
- <div style="height: auto;width: 100%" v-if="permission('开票信息修改')">
41
- <div style="margin-bottom: 2%; margin-top: 2%">
42
- <img style="margin-top: -5px" src="../../../../static/images/lefticon/矩形1183.png">
43
- <span v-if="!usertype">
44
- <a style="font-size: 20px;font-weight: 500;">发票信息</a>&nbsp;<a style="color: #999999"></a>
45
- </span>
46
- <span v-if="usertype">
47
- <a style="font-size: 20px;font-weight: 500;">企业信息</a>&nbsp;<a style="color: #999999"></a>
48
- </span>
49
- </div>
50
- <user-paper-info-test :baseinfo="data.baseinfo"></user-paper-info-test>
51
- </div>
52
-
53
- <!--<div style="height: auto;width: 100%">-->
54
- <!--<div style="margin-bottom: 2%; margin-top: 2%">-->
55
- <!--<img style="margin-top: -5px" src="../../../static/images/lefticon/矩形1183.png">-->
56
- <!--<a style="font-size: 20px;font-weight: 500;">附件信息</a>&nbsp;<a style="color: #999999"></a>-->
57
- <!--</div>-->
58
- <!--<upload :blodid="blodid" isremark="true" fusetype="档案"></upload>-->
59
- <!--</div>-->
60
- </div>
61
-
62
- <div class="form-horizontal auto">
63
- <div class="form-group">
64
- <div style="text-align:right;">
65
-
66
- <button class="button_search" @click="confirm()" :disabled="!(essentialInfo && meterInfo )">确认
67
- </button>
68
- <button class="button_search" style="width: max-content" v-if="haslimit" @click="limitClick">限购配置</button>
69
- <button class="button_clear" @click="cancel()">取消</button>
70
- </div>
71
- </div>
72
- </div>
73
- <limit-gas :show.sync="limitShow" :f_userinfo_id="data.baseinfo.base.f_userinfo_id"
74
- @limit="getLimitGas"></limit-gas>
75
- <modal :show.sync="showfiles" styles="margin-top:50px" v-ref:modal backdrop="false" width="80%" >
76
- <header slot="modal-header" class="modal-header">
77
- <button type="button" class="close" @click="showFilesClose"><span class="glyphicon glyphicon-remove"></span></button>
78
- </header>
79
- <article slot="modal-body">
80
- <upload-idcard :blodid="blodid" isremark="true" @getidinfo="confirmIdCard" style="width:auto"
81
- fusetype="档案信息" v-ref:upload></upload-idcard>
82
- </article>
83
- <footer slot="modal-footer" class="modal-footer">
84
- </footer>
85
- </modal>
86
- <high-meter :show.sync="highmetershow" v-if="highmetershow" @photo-finish="newPhoto"
87
- v-on:confirminfo="confirmIdCard"></high-meter>
88
-
89
- <modal :show.sync="filechangeDetailsShow" v-ref:filechangeDetailsShow backdrop="false"
90
- class="filechangeDetailsShow">
91
- <header slot="modal-header" class="modal-header" style="text-align: center">
92
- <h4 class="modal-title">档案修改明细</h4>
93
- </header>
94
- <article slot="modal-body" class="modal-body">
95
- <data-grid class="list_area table_sy" :model="filechangeDetails" partial='list'>
96
- <template partial='head'>
97
- <th>
98
- <nobr>序号</nobr>
99
- </th>
100
- <th>
101
- <nobr>更改内容</nobr>
102
- </th>
103
- <th>
104
- <nobr>更改前</nobr>
105
- </th>
106
- <th>
107
- <nobr>更改后</nobr>
108
- </th>
109
- </template>
110
- <template partial='body'>
111
- <td>{{ $index + 1 }}</td>
112
- <td>
113
- <nobr>{{ row.f_field_name }}</nobr>
114
- </td>
115
- <td>
116
- <nobr>{{ row.f_used_content }}</nobr>
117
- </td>
118
- <td>
119
- <nobr>{{ row.f_new_content }}</nobr>
120
- </td>
121
- </template>
122
- </data-grid>
123
- <div class="row">
124
- <div class="col-sm-12 form-group">
125
- <label for="f_paper_account" class="col-sm-2 font_normal_body " title="参数:变更原因">变更原因:</label>
126
- <v-select v-model="fileSaveData.reason" style="width:60%"
127
- placeholder='变更原因'
128
- :value.sync="fileSaveData.reason"
129
- :options='reasons'
130
- :value-single="true"
131
- v-ref:reason
132
- close-on-select></v-select>
133
- </div>
134
- </div>
135
- <div class="row">
136
- <div class="col-sm-2"></div>
137
- <input v-if="fileSaveData.reason ==='其他'" class="input_search" style="width:60%" placeholder='修改原因'
138
- v-model="fileSaveData.modifyReason"/>
139
- </div>
140
- </article>
141
- <footer slot="modal-footer" class="modal-footer">
142
- <button type="button" class="btn btn-default" @click='filechangeDetailsShow = false'>取消</button>
143
- <button type="button" class="btn btn-success"
144
- :disabled="!fileSaveData.reason || (fileSaveData.reason === '其他' && !fileSaveData.modifyReason)"
145
- @click='confirmation()'>确认
146
- </button>
147
- </footer>
148
- </modal>
149
- </div>
150
- <work-busy :is-busy="seaching"></work-busy>
151
- </template>
152
-
153
- <script>
154
- import UserPaperInfoTest from './UserPaperInfoTest.vue'
155
- import {HttpResetClass} from 'vue-client'
156
- import * as Util from '../../../Util'
157
-
158
- let getConfigScope = async function (self, name) {
159
- try {
160
- let res = await self.$resetget('/rs/vue/' + name + '.json', {resolveMsg: null, rejectMsg: null, newly: true})
161
- // 如果有表单配置 展示 收起按钮
162
- if (Object.keys(res.data).length > 0) {
163
- self.hiddenBtn = true
164
- }
165
- self.config[name] = res.data
166
- } catch (error) {
167
- // 忽略704,文件找不到异常
168
- if (error.status !== 704) {
169
- throw error
170
- }
171
- }
172
- }
173
- let getFileGen = async function (self, data) {
174
- let http = new HttpResetClass()
175
- try {
176
- await self.$getConfig(self, 'FilesDetail')
177
- } catch (ignore) {
178
- }
179
- let result = await http.load('POST', 'api/af-revenue/logic/filemanage_getFilesDetail', data, {
180
- resolveMsg: null,
181
- rejectMsg: '用户详细信息加载失败,请重新选择,如果多次失败,请检查系统是否正常!',
182
- newly: true
183
- })
184
- self.data = result.data
185
- self.data.meterinfo.forEach((item) => {
186
- item.devicesinfo.forEach((item2) => {
187
- if (item2.img.content) {
188
- if (item2.img.content.startsWith('data:image/')) {
189
- console.log('base64,直接展示不做处理')
190
- } else if (item2.img.content.startsWith('http')) {
191
- console.log('http,直接展示不做处理')
192
- } else if (/^[A-Z]:\\/.test(item2.img.content)) {
193
- // windwos 路径处理
194
- let URL = item2.img.content.substring(item2.img.content.lastIndexOf(':\\') + 2)
195
- // eslint-disable-next-line no-undef
196
- item2.img.content = 'http://' + location.host + '/' + URL
197
- } else if (item2.img.content.startsWith('/usr/local/tomcat/files')) {
198
- // linux 路径处理
199
- // eslint-disable-next-line no-undef
200
- item2.img.content = 'http://' + location.host + '/' + item2.img.content.replace('/usr/local/tomcat/files', 'resource')
201
- }
202
- }
203
- })
204
- })
205
- // 更新地址
206
- // 修改附件临时id为表档案id
207
- self.blodid = self.data.baseinfo.base.f_userinfo_id
208
- console.log('获取档案信息', self.data)
209
- self.checkout()
210
- console.log('附件id', self.blodid)
211
- }
212
-
213
- export default {
214
- title: '综合信息',
215
- props: ['f_filialeid', 'row', 'areainfo', 'haslimit', 'isedit'],
216
- components: {UserPaperInfoTest},
217
- data () {
218
- return {
219
- config: {
220
- hasnumber: false,
221
- adddevices: false,
222
- f_building_suffix: '栋',
223
- f_unit_suffix: '单元',
224
- f_floor_suffix: '层',
225
- f_room_suffix: '室',
226
- fileUserEssentialInfo: {},
227
- fileUserinfoDevice: {},
228
- fileUserMeterInfo: {},
229
- userPaperInfo: {}
230
- },
231
- data: {
232
- baseinfo: {
233
- base: {
234
- f_user_name: '',
235
- f_user_state: '',
236
- f_user_type: '',
237
- f_credentials: '',
238
- f_cost_type: '',
239
- f_bz_type: '',
240
- f_bz_nature: '',
241
- f_paper_type: '',
242
- f_idnumber: ''
243
- },
244
- userinfodevices: [],
245
- bank: {
246
- f_bank_name: ''
247
- },
248
- // 用户备用电话信息
249
- userphonelist: []
250
- },
251
- addressinfo: {
252
- id: '',
253
- f_address: '',
254
- f_address_state: ''
255
- },
256
- meterinfo: [{
257
- f_user_type: '',
258
- f_gasproperties: '',
259
- devicesinfo: [],
260
- fireinfo: {}
261
- }],
262
- devicesinfo: [],
263
- fireinfo: {},
264
- address: {
265
- id: '',
266
- f_address: '',
267
- f_address_state: ''
268
- }
269
- },
270
- show_userinfodevices: false,
271
- userinfodevices: [],
272
- oldAddress: {},
273
- highmetershow: false, // 高拍仪组件控制
274
- showfiles: false,
275
- overdueset: [],
276
- // 子组件验证
277
- essentialInfo: false,
278
- meterInfo: false,
279
- // 是否仅展示必填项
280
- criteriaShow: false,
281
- hiddenBtn: false,
282
- // 地址相关属性
283
- params: {
284
- areas: [],
285
- f_street: [],
286
- f_residential_area: []
287
- },
288
- // 限购相关属性
289
- limitShow: false,
290
- limit_gas: null,
291
- peopleNum: this.$appdata.getSingleValue('默认人口'),
292
- pointsNum: this.$appdata.getSingleValue('默认用气点'),
293
- kitchenType: this.$appdata.getSingleValue('默认厨房类型'),
294
- blodid: '', // 附件的临时id
295
- defaultMeterInfo: '', // 默认的表具信息
296
- fileSaveData: {
297
- // 修改原因
298
- modifyReason: '',
299
- reason: ''
300
- },
301
- // 档案变更明细
302
- filechangeDetails: {rows: []},
303
- filechangeDetailsShow: false,
304
- seaching: false // 保存中
305
- }
306
- },
307
- async ready () {
308
- try {
309
- console.log('开始获取配置文件')
310
- // 获取配置文件 用来展示字段是否展示 是否必填
311
- await getConfigScope(this, 'fileUserEssentialInfo')
312
- await getConfigScope(this, 'fileUserinfoDevice')
313
- await getConfigScope(this, 'fileUserMeterInfo')
314
- await getConfigScope(this, 'userPaperInfo')
315
- } catch (e) {
316
- console.warn(e)
317
- console.warn('获取展示配置失败,按照默认展示')
318
- }
319
- if (this.data.baseinfo.base.f_userinfo_id) {
320
- this.blodid = this.data.baseinfo.base.f_userinfo_id
321
- } else {
322
- this.blodid = '临时id' + Date.now()
323
- }
324
- console.log('ready,,,', this.row)
325
- await this.getOvedueset()
326
- if (this.row) { // 修改用户
327
- await this.areaGen(this.row)
328
- } else if (!this.row) { // 小区批量建档
329
- // 将小区信息转化为综合信息的格式
330
- await this.areainfoInUser(this.areainfo)
331
- }
332
- console.log('this.blodid------------>', this.blodid)
333
- },
334
- watch: {
335
- async 'row' (val) {
336
- console.log('观察row', val)
337
- if (val) {
338
- await this.areaGen(val)
339
- } else {
340
- await this.areainfoInUser(this.areainfo)
341
- }
342
- },
343
- 'areainfo' (val) {
344
- console.log('小区观察。。', val)
345
- if (val) {
346
- this.$refs.meter.clearMeter()
347
- this.blodid = '临时id' + Date.now()
348
- this.areainfoInUser(val)
349
- }
350
- },
351
- 'essentialInfo' (val) {
352
- console.log('观察到验证变化', val)
353
- },
354
- 'data.baseinfo.base.f_user_name': {
355
- deep: true,
356
- handler (newVal, oldVal) {
357
- // 用户名发生变化
358
- console.log('用户名发生变化: ' + oldVal + ' --> ' + newVal)
359
- this.data.baseinfo.base.f_paper_name = newVal
360
- }
361
- }
362
- },
363
- methods: {
364
- showFilesClose () {
365
- this.showfiles = false
366
- },
367
- permission (name) {
368
- console.log('>>> 开票信息修改权限 --> ' + name)
369
- console.log('权限:', this.$login.r)
370
- const res = this.$login.r.find(value => value === name)
371
- console.log('当前登录人是否允许修改开票信息:', res)
372
- return res
373
- },
374
- async getOvedueset () {
375
- let overdueset = []
376
- let res = await this.$resetpost('api/af-revenue/sql/saleSingleTable', {
377
- data: {
378
- tablename: 't_overdue_set',
379
- condition: `f_orgid = '${this.f_filialeid}' `
380
- }
381
- }, {resolveMsg: null, rejectMsg: '', newly: true})
382
- for (let row of res.data) {
383
- overdueset.push({label: row.f_rule_name, value: `${row.id}`})
384
- }
385
- this.overdueset = overdueset
386
- },
387
- confirmIdCard (IdCardInfo) {
388
- console.log('返回的身份证', IdCardInfo)
389
- this.uploadPictures()
390
- this.data.baseinfo.base.f_user_name = IdCardInfo.strName
391
- this.data.baseinfo.base.f_idnumber = IdCardInfo.strID
392
- },
393
- showUserDevices (index, row) {
394
- this.userinfodevices = []
395
- this.show_userinfodevices = true
396
- this.userinfodevices = row.userinfodevices
397
- console.log('查看设备信息', this.userinfodevices)
398
- },
399
-
400
- uploadFiles () {
401
- this.showfiles = !this.showfiles
402
- },
403
-
404
- uploadPictures () {
405
- this.highmetershow = !this.highmetershow
406
- },
407
-
408
- openBankAccount () {
409
- this.$resetpost('api/af-revenue/logic/openBankAccount', {
410
- f_userinfo_code: this.data.baseinfo.base.f_userinfo_code,
411
- f_username: this.data.baseinfo.base.f_user_name
412
- },
413
- {resolveMsg: null, rejectMsg: null}).then((res) => {
414
- this.$showMessage(res.data.resultmessage)
415
- })
416
- },
417
- async confirm () {
418
- this.data.addressinfo.f_address = this.$refs.useressential.addressinfo.f_address
419
- this.data.addressinfo.id = this.$refs.useressential.addressinfo.id
420
- this.data.oldaddressinfo = this.oldAddress
421
- this.data.hasnumber = this.config.hasnumber
422
- this.data.limit_gas = this.limit_gas
423
- let fileLength = this.$refs.upload.fileInfoData.length
424
- debugger
425
- if (this.data.baseinfo.base.f_kitchen_type === '暗厨房' && fileLength === 0) {
426
- this.$showAlert('暗厨房需上传附件!', 'danger', 0)
427
- return
428
- };
429
- if (this.f_filialeid && this.f_filialeid != '') {
430
- this.data.f_filialeid = this.f_filialeid
431
- } else {
432
- this.data.f_filialeid = this.$login.f.orgid
433
- }
434
- if (this.row) {
435
- this.data.baseinfo.base.version = this.row.version
436
- }
437
- this.seaching = true
438
- console.log('档案保存之前,。。。', this.data)
439
- this.data.baseinfo.base.f_user_name = Util.removerUnnecessary(this.data.baseinfo.base.f_user_name)
440
- this.data.baseinfo.base.f_user_phone = Util.removerUnnecessary(this.data.baseinfo.base.f_user_phone)
441
- this.data.baseinfo.base.f_paper_name = Util.removerUnnecessary(this.data.baseinfo.base.f_user_name)
442
- this.data.baseinfo.base.f_is_special = this.data.baseinfo.base.f_is_special
443
- console.log('档案保存之前,再看下。。。', this.data.baseinfo.base.f_paper_name)
444
- this.data.meterinfo.forEach((item) => {
445
- item.f_meternumber = Util.removerUnnecessary(item.f_meternumber)
446
- })
447
- if (this.data.meterinfo[0].f_gas_date != null) {
448
- this.data.addressinfo.f_address_state = '已通气'
449
- }
450
- // 获取保存数据
451
- Object.assign(this.fileSaveData, {}, this.$FileManageService.fileSaveBefore(this.data))
452
- // 如果是修改, 则展示修改的明细给用户
453
- if (this.fileSaveData.userinfo.f_userinfo_id) {
454
- if (this.row.f_user_state === '预备' && this.fileSaveData.userinfo.f_user_state === '正常') {
455
- this.fileSaveData.modifyReason = this.reason = '建档(档案信息完善)'
456
- } else {
457
- this.reason = '其他'
458
- this.fileSaveData.modifyReason = ''
459
- }
460
- let details = await this.$resetpost('api/af-revenue/logic/filechangeDetails', {data: this.fileSaveData}, {
461
- resolveMsg: null,
462
- rejectMsg: '获取修改明细出错!'
463
- })
464
- this.seaching = false
465
- this.filechangeDetails.rows = details.data.changeDetails
466
- this.filechangeDetailsShow = details.data.isChange
467
- }
468
- // 不是修改直接保存
469
- if (!this.filechangeDetailsShow) this.confirmation()
470
- },
471
- confirmation () {
472
- if (this.fileSaveData.reason && this.fileSaveData.reason !== '其他') {
473
- this.fileSaveData.modifyReason = this.fileSaveData.reason
474
- }
475
- for (let i = 0; i < this.filechangeDetails.rows.length; i++) {
476
- if (this.filechangeDetails.rows[i].f_field_name === '通气日期') {
477
- let name = this.$login.f.name
478
- let nameId = this.$login.f.id
479
- let parentname = this.$login.f.deps
480
- let parentnameId = this.$login.f.depids
481
- this.fileSaveData.userinfo.f_operator = name
482
- this.fileSaveData.userinfo.f_operatorid = nameId
483
- this.fileSaveData.userinfo.f_depname = parentname
484
- this.fileSaveData.userinfo.f_depid = parentnameId
485
- this.fileSaveData.userinfo.userfiles.f_operator = name
486
- this.fileSaveData.userinfo.userfiles.f_operatorid = nameId
487
- this.fileSaveData.userinfo.userfiles.f_depname = parentname
488
- this.fileSaveData.userinfo.userfiles.f_depid = parentnameId
489
- }
490
- }
491
- this.$FileManageService.fileSave(this.fileSaveData).then((res) => {
492
- this.$parent.resdata = res.data.result[0].f_userinfo_code
493
- if (!this.row) {
494
- this.$parent.resshow = true
495
- }
496
- this.$dispatch('success')
497
- }).catch((error) => {
498
- if (error.status === 603) {
499
- this.$error('重复提交')
500
- return
501
- }
502
- this.seaching = false
503
- this.$dispatch('error', '档案保存', this.data, error)
504
- })
505
- },
506
- convertBase64ToBlob (base64String) {
507
- // 将base64解码
508
- var bytes = atob(base64String)
509
- // var bytes = base64;
510
- var bytesCode = new ArrayBuffer(bytes.length)
511
- // 转换为类型化数组
512
- var byteArray = new Uint8Array(bytesCode)
513
-
514
- // 将base64转换为ascii码
515
- for (var i = 0; i < bytes.length; i++) {
516
- byteArray[i] = bytes.charCodeAt(i)
517
- }
518
- // 生成Blob对象(文件对象)
519
- return new Blob([bytesCode], {type: 'image/jpeg'})
520
- },
521
- newPhoto (Imgbase64) {
522
- this.$refs.upload.newPhoto(Imgbase64)
523
- /* let form = new FormData()
524
- let xhr = new XMLHttpRequest()
525
- let formDataBoundary = "----WebkitFormBoundary" + "GaoPaiYi";
526
- form.append('Content-Type', 'multipart/form-data;boundary=' + formDataBoundary)
527
- form.append('file', this.convertBase64ToBlob(Imgbase64), "GaoPaiYi.jpg")
528
- xhr.open("POST", "rs/file/uploadFile")
529
-
530
- if (this.headers) {
531
- for (var header in this.headers) {
532
- xhr.setRequestHeader(header, encodeURIComponent(this.headers[header]))
533
- }
534
- }
535
- xhr.send(form)
536
- setTimeout(() => {
537
- this.load(this)
538
- }, 5000) */
539
- },
540
- async areaGen (data) {
541
- data.f_user_id = data.f_user_id + ''
542
- await getFileGen(this, data)
543
- },
544
- cancel () {
545
- this.$dispatch('clean', '取消档案修正', 'user-general-info', this.row)
546
- },
547
- checkout (val) {
548
- // 对收到的综合信息进行校验(主要目的是为了防止下拉框没有默认值)
549
- // 对综合用户基本信息进行校验
550
-
551
- // 将oldAddress 置为空,
552
- this.oldAddress = {}
553
- this.data.baseinfo.base.f_user_state = this.data.baseinfo.base.f_user_state === '预备' ? '正常' : this.data.baseinfo.base.f_user_state
554
- // this.data.baseinfo.base.f_user_nature = this.data.baseinfo.base.f_user_nature ? [this.data.baseinfo.base.f_user_nature] : '民用'
555
- // this.data.baseinfo.base.f_credentials = this.data.baseinfo.base.f_credentials ? [this.data.baseinfo.base.f_credentials] : '身份证'
556
- this.data.baseinfo.base.f_cost_type = this.data.baseinfo.base.f_cost_type ? [this.data.baseinfo.base.f_cost_type] : '现金缴费'
557
- this.data.baseinfo.base.f_bz_type = this.data.baseinfo.base.f_bz_type ? [this.data.baseinfo.base.f_bz_type] : ''
558
-
559
- this.data.baseinfo.base.f_paper_type = this.data.baseinfo.base.f_paper_type ? this.data.baseinfo.base.f_paper_type : '电子发票'
560
- this.data.baseinfo.bank.f_bank_name = this.data.baseinfo.bank.f_bank_name ? [this.data.baseinfo.bank.f_bank_name] : '中国银行'
561
- this.data.baseinfo.base.f_people_num = this.data.baseinfo.base.f_people_num ? this.data.baseinfo.base.f_people_num : (this.peopleNum ? this.peopleNum : 0)
562
- this.data.baseinfo.base.f_gas_pointsnumber = this.data.baseinfo.base.f_gas_pointsnumber ? this.data.baseinfo.base.f_gas_pointsnumber : (this.pointsNum ? this.pointsNum : 2)
563
- this.data.baseinfo.base.f_kitchen_type = this.data.baseinfo.base.f_kitchen_type ? this.data.baseinfo.base.f_kitchen_type : (this.kitchenType ? this.kitchenType : '')
564
-
565
- if (this.data.baseinfo.base.f_slice_area) {
566
- this.data.baseinfo.base.f_slice_area = [this.data.baseinfo.base.f_slice_area]
567
- } else {
568
- this.data.baseinfo.base.f_slice_area = ''
569
- }
570
- this.oldAddress.f_address = this.data.addressinfo.f_address
571
- this.oldAddress.id = this.data.addressinfo.id
572
-
573
- // 地址信息
574
- // loadStreetAndResGen(this)
575
-
576
- // 对表具信息进行校验
577
- this.data.meterinfo.forEach((row) => {
578
- console.log(row)
579
- if (row.gasbrand) {
580
- this.meterbrands.forEach((item) => {
581
- if (item.label === row.gasbrand) {
582
- row.gasbrand = [item.value]
583
- }
584
- })
585
- } else {
586
- row.gasbrand = ''
587
- }
588
- if (row.gasmodel && (row.gasbrand instanceof Array)) {
589
- row.gasbrand[0].gasmodel.forEach((item) => {
590
- if (item.label === (val === 'area' ? row.gasmodel : row.gasmodel + row.gasmodeltype)) {
591
- row.gasmodel = [item.value]
592
- }
593
- })
594
- } else {
595
- row.gasmodel = ''
596
- }
597
- if (row.f_fire_state === '1') {
598
- row.f_fire_state1 = true
599
- } else if (row.f_fire_state === '0') {
600
- row.f_fire_state1 = false
601
- }
602
- row.f_install_date = row.f_install_date ? row.f_install_date : null
603
- row.f_gas_date = row.f_gas_date ? row.f_gas_date : null
604
- row.f_changetube_date = row.f_changetube_date ? row.f_changetube_date : null
605
- row.f_aroundmeter = row.f_aroundmeter ? row.f_aroundmeter : ''
606
- row.f_garbage_fee = row.f_garbage_fee ? row.f_garbage_fee : ''
607
- row.f_valve_state = row.f_valve_state ? [row.f_valve_state] : ''
608
- row.f_usetype = row.f_usetype ? [row.f_usetype] : ''
609
- row.f_usestate = row.f_usestate && row.f_usestate.length > 0 ? [row.f_usestate] : ''
610
- row.f_meter_book_num = row.f_meter_book_num ? [row.f_meter_book_num] : ''
611
- row.f_userfiles_address = row.f_userfiles_address && row.f_userfiles_address.length > 0 ? [row.f_userfiles_address] : ''
612
- row.f_inputtor = row.f_inputtor ? [row.f_inputtor] : ''
613
- row.f_position = row.f_position ? [row.f_position] : ''
614
-
615
- row.f_user_type = row.f_user_type ? [row.f_user_type] : ''
616
- row.f_gasproperties = row.f_gasproperties ? [row.f_gasproperties] : ''
617
- row.pricetype = row.pricetype ? [row.pricetype] : ''
618
-
619
- if (row.pricename) {
620
- let names = this.getPricenames(row.f_user_type,
621
- row.f_gasproperties,
622
- row.pricetype)
623
-
624
- console.log('=====2.===校验气价名称', names, row.f_user_type, row.f_gasproperties, row.pricetype)
625
- if (names.length > 0) {
626
- names.forEach((item) => {
627
- if (item.label === row.pricename) {
628
- row.pricename = [item.value]
629
- row.f_detailprice = this.$CommonService.getShowPriceDetail(item.value.detailprice)
630
- }
631
- })
632
- } else {
633
- row.pricename = ''
634
- }
635
- } else {
636
- row.pricename = ''
637
- }
638
-
639
- if (row.f_adjustable) {
640
- this.adjustables.forEach((item) => {
641
- if (item.label === row.f_adjustable) {
642
- row.f_adjustable = [item.value]
643
- }
644
- })
645
- } else {
646
- row.f_adjustable = ''
647
- }
648
- })
649
- // console.log('5555555555', this.data.meterinfo)
650
- // 对设备进行校验
651
- // this.data.devicesinfo.forEach((row) => {
652
- // row.f_devices_type = row.f_devices_type ? [row.f_devices_type] : ''
653
- // })
654
- },
655
- getPricenames (f_user_type, f_gasproperties, f_price_type) {
656
- let rs = []
657
- if (f_user_type.length === 1 && f_gasproperties.length === 1 && f_price_type.length === 1) {
658
- rs = this.$GetSaleParam.getPrice({
659
- f_user_type: f_user_type[0],
660
- f_gasproperties: f_gasproperties[0],
661
- f_price_type: f_price_type[0],
662
- filter: this.f_filialeid
663
- })
664
- }
665
- return rs
666
- },
667
- // 将小区信息转化为综合信息的格式
668
- async areainfoInUser (areainfo) {
669
- // this.nextTick(() => {
670
- //
671
- // })
672
- // await this.$getConfig(this, 'UserAddress')
673
- this.data = {
674
- baseinfo: {
675
- base: {
676
- f_user_state: '正常',
677
- f_is_mgq: '',
678
- f_slice_area: '', // 片区
679
- // 附件表临时id
680
- blodid: this.blodid,
681
- // 用户姓名
682
- f_user_name: '',
683
- // 用户电话
684
- f_user_phone: '',
685
- f_people_num: this.$appdata.getSingleValue('默认人口数') ? this.$appdata.getSingleValue('默认人口数') : 0,
686
- f_packaging: '',
687
- // 备用电话
688
- f_rent_phone: '',
689
- f_credentials: '身份证',
690
- f_cost_type: '',
691
- f_bz_type: '',
692
- f_address: '',
693
- addressid: '',
694
- f_idnumber: '',
695
- f_meter_book_num: ''
696
- },
697
- bank: {},
698
- // 用户备用电话信息
699
- userphonelist: []
700
- },
701
- addressinfo: {
702
- // 详细地址
703
- f_address: '',
704
- id: ''
705
- },
706
- meterinfo: [{
707
- // 表号
708
- f_meternumber: '',
709
- f_metertitles: '',
710
- f_area_code: '',
711
- // 气表品牌
712
- gasbrand: '',
713
- // 气表型号
714
- gasmodel: '',
715
- // 气表类型
716
- gasmodeltype: '',
717
- pricetype: '', // 气价类型
718
- pricename: '', // 气价名称
719
- f_user_type: '', // 用户类型
720
- f_gasproperties: '', // 用气性质
721
- f_inputtor: '',
722
- // 安装位置
723
- f_position: '',
724
- // 安装地址
725
- f_userfiles_address: '',
726
- // 安装经度
727
- f_userfiles_lng: '',
728
- // 安装纬度
729
- f_userfiles_lat: '',
730
- // 使用类型
731
- f_usetype: '',
732
- // 使用状态
733
- f_usestate: '',
734
- // 左右表
735
- f_aroundmeter: '',
736
- f_garbage_fee: '否',
737
- f_meter_base: '',
738
- f_initial_base: 0,
739
- // 通气人
740
- f_gas_person: '',
741
- f_adjustable: '', // 调压箱
742
- f_detailprice: '', // 价格详情显示
743
- devicesinfo: [], // 设备信息
744
- f_hand_month: '', // 抄表月份
745
- fireinfo: {}, // 用气信息
746
- f_meter_book_num: '',
747
- f_use_limit: '',
748
- f_gas_date: '',
749
- f_install_date: ''
750
- }],
751
- devicesinfo: []
752
- }
753
- // 若有id,则表示该地址是更新操作
754
- /* if (areainfo.id) {
755
- this.data.addressinfo.id = areainfo.id
756
- }
757
- // 改地址是 只有表没有户信息
758
- if (areainfo.meter) {
759
- Object.assign(this.data.meterinfo[0], this.data.meterinfo[0], areainfo.meter)
760
- }
761
- if (areainfo.user) {
762
- Object.assign(this.data.baseinfo.base, this.data.baseinfo.base, areainfo.user)
763
- } */
764
-
765
- this.checkout('area')
766
- },
767
- limitClick () {
768
- this.limitShow = true
769
- },
770
- getLimitGas (val) {
771
- this.limit_gas = val
772
- },
773
- clearinfo () {
774
- this.blodid = this.data.baseinfo.base.f_userinfo_id
775
- this.areainfoInUser(this.areainfo)
776
- }
777
- },
778
- computed: {
779
- usertype () {
780
- if (this.row && this.row.f_user_type) {
781
- return this.row.f_user_type == '非民用'
782
- }
783
- return this.$refs.useressential.$refs.useraddressinfile.usertype
784
- },
785
- meterbrands () {
786
- return this.$GetSaleParam.getGasbrand()
787
- },
788
- reasons () {
789
- return this.$appdata.getParam('变更原因')
790
- },
791
- adjustables () {
792
- return this.$GetSaleParam.getAdjustable()
793
- },
794
- getMeterBooks () {
795
- return this.$GetSaleParam.getMeterBooks()
796
- }
797
- },
798
- events: {
799
- // 设置表具气价等默认值
800
- defaultOtheret (row) {
801
- if (!this.isedit) {
802
- let temp = {
803
- gasmodel: row.f_meter_style,
804
- gasbrand: row.f_meter_brand,
805
- gasmodeltype: row.f_meter_style,
806
- pricetype: row.f_price_type,
807
- pricename: row.f_price_name,
808
- f_user_type: row.f_user_type,
809
- f_gasproperties: row.f_gasproperties,
810
- f_position: row.f_position,
811
- f_meter_book_num: row.f_meter_book ? row.f_meter_book : '',
812
- f_usestate: '正常',
813
- f_adjustable: row.f_adjustable_id,
814
- f_install_date: row.f_install_date,
815
- f_inputtor: row.f_inputtor,
816
- f_hand_month: row.f_hand_month,
817
- f_usetype: ''
818
- }
819
- if (!temp.f_install_date) {
820
- delete temp.f_install_date
821
- }
822
- Object.assign(this.data.meterinfo[0], this.data.meterinfo[0], temp)
823
- this.data.baseinfo.base.f_house_type = row.f_house_type ? [row.f_house_type] : ''
824
- console.log('====1.=====', temp, row)
825
- this.checkout('area')
826
- }
827
- }
828
- }
829
- }
830
- </script>
831
- <style lang="less">
832
- .filechangeDetailsShow {
833
- td {
834
- text-align: center !important;
835
- }
836
- }
837
- </style>
1
+ <template>
2
+ <div>
3
+ <div style="overflow-y: scroll;height: 92%">
4
+ <div style="height: auto;width: 100%">
5
+ <div style="margin-bottom: 2%; margin-top: 2%">
6
+ <img style="margin-top: -5px" src="../../../../static/images/lefticon/矩形1183.png">
7
+ <a style="font-size: 20px;font-weight: 500;">基本信息</a>&nbsp;<a
8
+ style="color: #999999;text-decoration: none"></a>
9
+ <button class="button_search" style="width: max-content" v-show="data.baseinfo.base.f_user_nature === '单位'"
10
+ @click="showUserDevices($index, data.baseinfo)">用户设备信息
11
+ </button>
12
+ <button class="button_search" style="width: max-content" @click="uploadFiles()">上传/查看附件</button>
13
+ <button class="button_search" style="width: max-content" @click="uploadPictures()">拍照</button>
14
+ <button class="button_search" style="width: max-content" @click="openBankAccount()"
15
+ v-if="data.meterinfo[0].f_user_type[0] === '非民用' && ($login.r.includes('银行开户'))">银行开户
16
+ </button>
17
+ <div
18
+ v-if="hiddenBtn" @click="criteriaShow=!criteriaShow" class="button_spacing"
19
+ :class="{'button_shrink_top':!criteriaShow,'button_shrink_bottom':criteriaShow}"
20
+ style="float: right;margin-right:1rem"></div>
21
+ </div>
22
+ <file-user-essential-info :formconfig="config.fileUserEssentialInfo" :usertype="row?row.f_user_type:null"
23
+ :userphonelist="data.baseinfo.userphonelist" :baseinfo="data.baseinfo"
24
+ :addressinfo="data.addressinfo" @valid="essentialInfo = true"
25
+ :onlyshowmust="criteriaShow" @invalid="essentialInfo = false" v-ref:useressential
26
+ :isedit="isedit"></file-user-essential-info>
27
+ <file-userinfo-device :userinfodevices.sync="userinfodevices" :show_userinfodevices.sync="show_userinfodevices"
28
+ :userinfoid='data.baseinfo.base.f_userinfo_id'></file-userinfo-device>
29
+ </div>
30
+
31
+ <div style="height: auto;width: 100%">
32
+ <file-user-meter-info :formconfig="config.fileUserMeterInfo" :meterinfo.sync="data.meterinfo"
33
+ :f_filialeid="f_filialeid" :metervalid.sync="meterInfo" :overdueset="overdueset"
34
+ :curuser="row"
35
+ :onlyshowmust="criteriaShow"
36
+ :f_userinfo_id="data.baseinfo.base.f_userinfo_id" :addressinfo="data.addressinfo"
37
+ :baseinfo.sync="data.baseinfo.base" v-ref:meter></file-user-meter-info>
38
+ </div>
39
+
40
+ <div style="height: auto;width: 100%" v-if="permission('开票信息修改')">
41
+ <div style="margin-bottom: 2%; margin-top: 2%">
42
+ <img style="margin-top: -5px" src="../../../../static/images/lefticon/矩形1183.png">
43
+ <span v-if="!usertype">
44
+ <a style="font-size: 20px;font-weight: 500;">发票信息</a>&nbsp;<a style="color: #999999"></a>
45
+ </span>
46
+ <span v-if="usertype">
47
+ <a style="font-size: 20px;font-weight: 500;">企业信息</a>&nbsp;<a style="color: #999999"></a>
48
+ </span>
49
+ </div>
50
+ <user-paper-info-test :baseinfo="data.baseinfo"></user-paper-info-test>
51
+ </div>
52
+
53
+ <!--<div style="height: auto;width: 100%">-->
54
+ <!--<div style="margin-bottom: 2%; margin-top: 2%">-->
55
+ <!--<img style="margin-top: -5px" src="../../../static/images/lefticon/矩形1183.png">-->
56
+ <!--<a style="font-size: 20px;font-weight: 500;">附件信息</a>&nbsp;<a style="color: #999999"></a>-->
57
+ <!--</div>-->
58
+ <!--<upload :blodid="blodid" isremark="true" fusetype="档案"></upload>-->
59
+ <!--</div>-->
60
+ </div>
61
+
62
+ <div class="form-horizontal auto">
63
+ <div class="form-group">
64
+ <div style="text-align:right;">
65
+
66
+ <button class="button_search" @click="confirm()" :disabled="!(essentialInfo && meterInfo )">确认
67
+ </button>
68
+ <button class="button_search" style="width: max-content" v-if="haslimit" @click="limitClick">限购配置</button>
69
+ <button class="button_clear" @click="cancel()">取消</button>
70
+ </div>
71
+ </div>
72
+ </div>
73
+ <limit-gas :show.sync="limitShow" :f_userinfo_id="data.baseinfo.base.f_userinfo_id"
74
+ @limit="getLimitGas"></limit-gas>
75
+ <modal :show.sync="showfiles" styles="margin-top:50px" v-ref:modal backdrop="false" width="80%" >
76
+ <header slot="modal-header" class="modal-header">
77
+ <button type="button" class="close" @click="showFilesClose"><span class="glyphicon glyphicon-remove"></span></button>
78
+ </header>
79
+ <article slot="modal-body">
80
+ <upload-idcard :blodid="blodid" isremark="true" @getidinfo="confirmIdCard" style="width:auto"
81
+ fusetype="档案信息" v-ref:upload></upload-idcard>
82
+ </article>
83
+ <footer slot="modal-footer" class="modal-footer">
84
+ </footer>
85
+ </modal>
86
+ <high-meter :show.sync="highmetershow" v-if="highmetershow" @photo-finish="newPhoto"
87
+ v-on:confirminfo="confirmIdCard"></high-meter>
88
+
89
+ <modal :show.sync="filechangeDetailsShow" v-ref:filechangeDetailsShow backdrop="false"
90
+ class="filechangeDetailsShow">
91
+ <header slot="modal-header" class="modal-header" style="text-align: center">
92
+ <h4 class="modal-title">档案修改明细</h4>
93
+ </header>
94
+ <article slot="modal-body" class="modal-body">
95
+ <data-grid class="list_area table_sy" :model="filechangeDetails" partial='list'>
96
+ <template partial='head'>
97
+ <th>
98
+ <nobr>序号</nobr>
99
+ </th>
100
+ <th>
101
+ <nobr>更改内容</nobr>
102
+ </th>
103
+ <th>
104
+ <nobr>更改前</nobr>
105
+ </th>
106
+ <th>
107
+ <nobr>更改后</nobr>
108
+ </th>
109
+ </template>
110
+ <template partial='body'>
111
+ <td>{{ $index + 1 }}</td>
112
+ <td>
113
+ <nobr>{{ row.f_field_name }}</nobr>
114
+ </td>
115
+ <td>
116
+ <nobr>{{ row.f_used_content }}</nobr>
117
+ </td>
118
+ <td>
119
+ <nobr>{{ row.f_new_content }}</nobr>
120
+ </td>
121
+ </template>
122
+ </data-grid>
123
+ <div class="row">
124
+ <div class="col-sm-12 form-group">
125
+ <label for="f_paper_account" class="col-sm-2 font_normal_body " title="参数:变更原因">变更原因:</label>
126
+ <v-select v-model="fileSaveData.reason" style="width:60%"
127
+ placeholder='变更原因'
128
+ :value.sync="fileSaveData.reason"
129
+ :options='reasons'
130
+ :value-single="true"
131
+ v-ref:reason
132
+ close-on-select></v-select>
133
+ </div>
134
+ </div>
135
+ <div class="row">
136
+ <div class="col-sm-2"></div>
137
+ <input v-if="fileSaveData.reason ==='其他'" class="input_search" style="width:60%" placeholder='修改原因'
138
+ v-model="fileSaveData.modifyReason"/>
139
+ </div>
140
+ </article>
141
+ <footer slot="modal-footer" class="modal-footer">
142
+ <button type="button" class="btn btn-default" @click='filechangeDetailsShow = false'>取消</button>
143
+ <button type="button" class="btn btn-success"
144
+ :disabled="!fileSaveData.reason || (fileSaveData.reason === '其他' && !fileSaveData.modifyReason)"
145
+ @click='confirmation()'>确认
146
+ </button>
147
+ </footer>
148
+ </modal>
149
+ </div>
150
+ <work-busy :is-busy="seaching"></work-busy>
151
+ </template>
152
+
153
+ <script>
154
+ import UserPaperInfoTest from './UserPaperInfoTest.vue'
155
+ import {HttpResetClass} from 'vue-client'
156
+ import * as Util from '../../../Util'
157
+
158
+ let getConfigScope = async function (self, name) {
159
+ try {
160
+ let res = await self.$resetget('/rs/vue/' + name + '.json', {resolveMsg: null, rejectMsg: null, newly: true})
161
+ // 如果有表单配置 展示 收起按钮
162
+ if (Object.keys(res.data).length > 0) {
163
+ self.hiddenBtn = true
164
+ }
165
+ self.config[name] = res.data
166
+ } catch (error) {
167
+ // 忽略704,文件找不到异常
168
+ if (error.status !== 704) {
169
+ throw error
170
+ }
171
+ }
172
+ }
173
+ let getFileGen = async function (self, data) {
174
+ let http = new HttpResetClass()
175
+ try {
176
+ await self.$getConfig(self, 'FilesDetail')
177
+ } catch (ignore) {
178
+ }
179
+ let result = await http.load('POST', 'api/af-revenue/logic/filemanage_getFilesDetail', data, {
180
+ resolveMsg: null,
181
+ rejectMsg: '用户详细信息加载失败,请重新选择,如果多次失败,请检查系统是否正常!',
182
+ newly: true
183
+ })
184
+ self.data = result.data
185
+ self.data.meterinfo.forEach((item) => {
186
+ item.devicesinfo.forEach((item2) => {
187
+ if (item2.img.content) {
188
+ if (item2.img.content.startsWith('data:image/')) {
189
+ console.log('base64,直接展示不做处理')
190
+ } else if (item2.img.content.startsWith('http')) {
191
+ console.log('http,直接展示不做处理')
192
+ } else if (/^[A-Z]:\\/.test(item2.img.content)) {
193
+ // windwos 路径处理
194
+ let URL = item2.img.content.substring(item2.img.content.lastIndexOf(':\\') + 2)
195
+ // eslint-disable-next-line no-undef
196
+ item2.img.content = 'http://' + location.host + '/' + URL
197
+ } else if (item2.img.content.startsWith('/usr/local/tomcat/files')) {
198
+ // linux 路径处理
199
+ // eslint-disable-next-line no-undef
200
+ item2.img.content = 'http://' + location.host + '/' + item2.img.content.replace('/usr/local/tomcat/files', 'resource')
201
+ }
202
+ }
203
+ })
204
+ })
205
+ // 更新地址
206
+ // 修改附件临时id为表档案id
207
+ self.blodid = self.data.baseinfo.base.f_userinfo_id
208
+ console.log('获取档案信息', self.data)
209
+ self.checkout()
210
+ console.log('附件id', self.blodid)
211
+ }
212
+
213
+ export default {
214
+ title: '综合信息',
215
+ props: ['f_filialeid', 'row', 'areainfo', 'haslimit', 'isedit'],
216
+ components: {UserPaperInfoTest},
217
+ data () {
218
+ return {
219
+ config: {
220
+ hasnumber: false,
221
+ adddevices: false,
222
+ f_building_suffix: '栋',
223
+ f_unit_suffix: '单元',
224
+ f_floor_suffix: '层',
225
+ f_room_suffix: '室',
226
+ fileUserEssentialInfo: {},
227
+ fileUserinfoDevice: {},
228
+ fileUserMeterInfo: {},
229
+ userPaperInfo: {}
230
+ },
231
+ data: {
232
+ baseinfo: {
233
+ base: {
234
+ f_user_name: '',
235
+ f_user_state: '',
236
+ f_user_type: '',
237
+ f_credentials: '',
238
+ f_cost_type: '',
239
+ f_bz_type: '',
240
+ f_bz_nature: '',
241
+ f_paper_type: '',
242
+ f_idnumber: ''
243
+ },
244
+ userinfodevices: [],
245
+ bank: {
246
+ f_bank_name: ''
247
+ },
248
+ // 用户备用电话信息
249
+ userphonelist: []
250
+ },
251
+ addressinfo: {
252
+ id: '',
253
+ f_address: '',
254
+ f_address_state: ''
255
+ },
256
+ meterinfo: [{
257
+ f_user_type: '',
258
+ f_gasproperties: '',
259
+ devicesinfo: [],
260
+ fireinfo: {}
261
+ }],
262
+ devicesinfo: [],
263
+ fireinfo: {},
264
+ address: {
265
+ id: '',
266
+ f_address: '',
267
+ f_address_state: ''
268
+ }
269
+ },
270
+ show_userinfodevices: false,
271
+ userinfodevices: [],
272
+ oldAddress: {},
273
+ highmetershow: false, // 高拍仪组件控制
274
+ showfiles: false,
275
+ overdueset: [],
276
+ // 子组件验证
277
+ essentialInfo: false,
278
+ meterInfo: false,
279
+ // 是否仅展示必填项
280
+ criteriaShow: false,
281
+ hiddenBtn: false,
282
+ // 地址相关属性
283
+ params: {
284
+ areas: [],
285
+ f_street: [],
286
+ f_residential_area: []
287
+ },
288
+ // 限购相关属性
289
+ limitShow: false,
290
+ limit_gas: null,
291
+ peopleNum: this.$appdata.getSingleValue('默认人口'),
292
+ pointsNum: this.$appdata.getSingleValue('默认用气点'),
293
+ kitchenType: this.$appdata.getSingleValue('默认厨房类型'),
294
+ blodid: '', // 附件的临时id
295
+ defaultMeterInfo: '', // 默认的表具信息
296
+ fileSaveData: {
297
+ // 修改原因
298
+ modifyReason: '',
299
+ reason: ''
300
+ },
301
+ // 档案变更明细
302
+ filechangeDetails: {rows: []},
303
+ filechangeDetailsShow: false,
304
+ seaching: false // 保存中
305
+ }
306
+ },
307
+ async ready () {
308
+ try {
309
+ console.log('开始获取配置文件')
310
+ // 获取配置文件 用来展示字段是否展示 是否必填
311
+ await getConfigScope(this, 'fileUserEssentialInfo')
312
+ await getConfigScope(this, 'fileUserinfoDevice')
313
+ await getConfigScope(this, 'fileUserMeterInfo')
314
+ await getConfigScope(this, 'userPaperInfo')
315
+ } catch (e) {
316
+ console.warn(e)
317
+ console.warn('获取展示配置失败,按照默认展示')
318
+ }
319
+ if (this.data.baseinfo.base.f_userinfo_id) {
320
+ this.blodid = this.data.baseinfo.base.f_userinfo_id
321
+ } else {
322
+ this.blodid = '临时id' + Date.now()
323
+ }
324
+ console.log('ready,,,', this.row)
325
+ await this.getOvedueset()
326
+ if (this.row) { // 修改用户
327
+ await this.areaGen(this.row)
328
+ } else if (!this.row) { // 小区批量建档
329
+ // 将小区信息转化为综合信息的格式
330
+ await this.areainfoInUser(this.areainfo)
331
+ }
332
+ console.log('this.blodid------------>', this.blodid)
333
+ },
334
+ watch: {
335
+ async 'row' (val) {
336
+ console.log('观察row', val)
337
+ if (val) {
338
+ await this.areaGen(val)
339
+ } else {
340
+ await this.areainfoInUser(this.areainfo)
341
+ }
342
+ },
343
+ 'areainfo' (val) {
344
+ console.log('小区观察。。', val)
345
+ if (val) {
346
+ this.$refs.meter.clearMeter()
347
+ this.blodid = '临时id' + Date.now()
348
+ this.areainfoInUser(val)
349
+ }
350
+ },
351
+ 'essentialInfo' (val) {
352
+ console.log('观察到验证变化', val)
353
+ },
354
+ 'data.baseinfo.base.f_user_name': {
355
+ deep: true,
356
+ handler (newVal, oldVal) {
357
+ // 用户名发生变化
358
+ console.log('用户名发生变化: ' + oldVal + ' --> ' + newVal)
359
+ this.data.baseinfo.base.f_paper_name = newVal
360
+ }
361
+ }
362
+ },
363
+ methods: {
364
+ showFilesClose () {
365
+ this.showfiles = false
366
+ },
367
+ permission (name) {
368
+ console.log('>>> 开票信息修改权限 --> ' + name)
369
+ console.log('权限:', this.$login.r)
370
+ const res = this.$login.r.find(value => value === name)
371
+ console.log('当前登录人是否允许修改开票信息:', res)
372
+ return res
373
+ },
374
+ async getOvedueset () {
375
+ let overdueset = []
376
+ let res = await this.$resetpost('api/af-revenue/sql/saleSingleTable', {
377
+ data: {
378
+ tablename: 't_overdue_set',
379
+ condition: `f_orgid = '${this.f_filialeid}' `
380
+ }
381
+ }, {resolveMsg: null, rejectMsg: '', newly: true})
382
+ for (let row of res.data) {
383
+ overdueset.push({label: row.f_rule_name, value: `${row.id}`})
384
+ }
385
+ this.overdueset = overdueset
386
+ },
387
+ confirmIdCard (IdCardInfo) {
388
+ console.log('返回的身份证', IdCardInfo)
389
+ this.uploadPictures()
390
+ this.data.baseinfo.base.f_user_name = IdCardInfo.strName
391
+ this.data.baseinfo.base.f_idnumber = IdCardInfo.strID
392
+ },
393
+ showUserDevices (index, row) {
394
+ this.userinfodevices = []
395
+ this.show_userinfodevices = true
396
+ this.userinfodevices = row.userinfodevices
397
+ console.log('查看设备信息', this.userinfodevices)
398
+ },
399
+
400
+ uploadFiles () {
401
+ this.showfiles = !this.showfiles
402
+ },
403
+
404
+ uploadPictures () {
405
+ this.highmetershow = !this.highmetershow
406
+ },
407
+
408
+ openBankAccount () {
409
+ this.$resetpost('api/af-revenue/logic/openBankAccount', {
410
+ f_userinfo_code: this.data.baseinfo.base.f_userinfo_code,
411
+ f_username: this.data.baseinfo.base.f_user_name
412
+ },
413
+ {resolveMsg: null, rejectMsg: null}).then((res) => {
414
+ this.$showMessage(res.data.resultmessage)
415
+ })
416
+ },
417
+ async confirm () {
418
+ this.data.addressinfo.f_address = this.$refs.useressential.addressinfo.f_address
419
+ this.data.addressinfo.id = this.$refs.useressential.addressinfo.id
420
+ this.data.oldaddressinfo = this.oldAddress
421
+ this.data.hasnumber = this.config.hasnumber
422
+ this.data.limit_gas = this.limit_gas
423
+ let fileLength = this.$refs.upload.fileInfoData.length
424
+ debugger
425
+ if (this.data.baseinfo.base.f_kitchen_type === '暗厨房' && fileLength === 0) {
426
+ this.$showAlert('暗厨房需上传附件!', 'danger', 0)
427
+ return
428
+ };
429
+ if (this.f_filialeid && this.f_filialeid != '') {
430
+ this.data.f_filialeid = this.f_filialeid
431
+ } else {
432
+ this.data.f_filialeid = this.$login.f.orgid
433
+ }
434
+ if (this.row) {
435
+ this.data.baseinfo.base.version = this.row.version
436
+ }
437
+ this.seaching = true
438
+ console.log('档案保存之前,。。。', this.data)
439
+ this.data.baseinfo.base.f_user_name = Util.removerUnnecessary(this.data.baseinfo.base.f_user_name)
440
+ this.data.baseinfo.base.f_user_phone = Util.removerUnnecessary(this.data.baseinfo.base.f_user_phone)
441
+ this.data.baseinfo.base.f_paper_name = Util.removerUnnecessary(this.data.baseinfo.base.f_user_name)
442
+ this.data.baseinfo.base.f_is_special = this.data.baseinfo.base.f_is_special
443
+ console.log('档案保存之前,再看下。。。', this.data.baseinfo.base.f_paper_name)
444
+ this.data.meterinfo.forEach((item) => {
445
+ item.f_meternumber = Util.removerUnnecessary(item.f_meternumber)
446
+ })
447
+ if (this.data.meterinfo[0].f_gas_date != null) {
448
+ this.data.addressinfo.f_address_state = '已通气'
449
+ }
450
+ // 获取保存数据
451
+ Object.assign(this.fileSaveData, {}, this.$FileManageService.fileSaveBefore(this.data))
452
+ // 如果是修改, 则展示修改的明细给用户
453
+ if (this.fileSaveData.userinfo.f_userinfo_id) {
454
+ if (this.row.f_user_state === '预备' && this.fileSaveData.userinfo.f_user_state === '正常') {
455
+ this.fileSaveData.modifyReason = this.reason = '建档(档案信息完善)'
456
+ } else {
457
+ this.reason = '其他'
458
+ this.fileSaveData.modifyReason = ''
459
+ }
460
+ let details = await this.$resetpost('api/af-revenue/logic/filechangeDetails', {data: this.fileSaveData}, {
461
+ resolveMsg: null,
462
+ rejectMsg: '获取修改明细出错!'
463
+ })
464
+ this.seaching = false
465
+ this.filechangeDetails.rows = details.data.changeDetails
466
+ this.filechangeDetailsShow = details.data.isChange
467
+ }
468
+ // 不是修改直接保存
469
+ if (!this.filechangeDetailsShow) this.confirmation()
470
+ },
471
+ confirmation () {
472
+ if (this.fileSaveData.reason && this.fileSaveData.reason !== '其他') {
473
+ this.fileSaveData.modifyReason = this.fileSaveData.reason
474
+ }
475
+ for (let i = 0; i < this.filechangeDetails.rows.length; i++) {
476
+ if (this.filechangeDetails.rows[i].f_field_name === '通气日期') {
477
+ let name = this.$login.f.name
478
+ let nameId = this.$login.f.id
479
+ let parentname = this.$login.f.deps
480
+ let parentnameId = this.$login.f.depids
481
+ this.fileSaveData.userinfo.f_operator = name
482
+ this.fileSaveData.userinfo.f_operatorid = nameId
483
+ this.fileSaveData.userinfo.f_depname = parentname
484
+ this.fileSaveData.userinfo.f_depid = parentnameId
485
+ this.fileSaveData.userinfo.userfiles.f_operator = name
486
+ this.fileSaveData.userinfo.userfiles.f_operatorid = nameId
487
+ this.fileSaveData.userinfo.userfiles.f_depname = parentname
488
+ this.fileSaveData.userinfo.userfiles.f_depid = parentnameId
489
+ }
490
+ }
491
+ this.$FileManageService.fileSave(this.fileSaveData).then((res) => {
492
+ this.$parent.resdata = res.data.result[0].f_userinfo_code
493
+ if (!this.row) {
494
+ this.$parent.resshow = true
495
+ }
496
+ this.$dispatch('success')
497
+ }).catch((error) => {
498
+ if (error.status === 603) {
499
+ this.$error('重复提交')
500
+ return
501
+ }
502
+ this.seaching = false
503
+ this.$dispatch('error', '档案保存', this.data, error)
504
+ })
505
+ },
506
+ convertBase64ToBlob (base64String) {
507
+ // 将base64解码
508
+ var bytes = atob(base64String)
509
+ // var bytes = base64;
510
+ var bytesCode = new ArrayBuffer(bytes.length)
511
+ // 转换为类型化数组
512
+ var byteArray = new Uint8Array(bytesCode)
513
+
514
+ // 将base64转换为ascii码
515
+ for (var i = 0; i < bytes.length; i++) {
516
+ byteArray[i] = bytes.charCodeAt(i)
517
+ }
518
+ // 生成Blob对象(文件对象)
519
+ return new Blob([bytesCode], {type: 'image/jpeg'})
520
+ },
521
+ newPhoto (Imgbase64) {
522
+ this.$refs.upload.newPhoto(Imgbase64)
523
+ /* let form = new FormData()
524
+ let xhr = new XMLHttpRequest()
525
+ let formDataBoundary = "----WebkitFormBoundary" + "GaoPaiYi";
526
+ form.append('Content-Type', 'multipart/form-data;boundary=' + formDataBoundary)
527
+ form.append('file', this.convertBase64ToBlob(Imgbase64), "GaoPaiYi.jpg")
528
+ xhr.open("POST", "rs/file/uploadFile")
529
+
530
+ if (this.headers) {
531
+ for (var header in this.headers) {
532
+ xhr.setRequestHeader(header, encodeURIComponent(this.headers[header]))
533
+ }
534
+ }
535
+ xhr.send(form)
536
+ setTimeout(() => {
537
+ this.load(this)
538
+ }, 5000) */
539
+ },
540
+ async areaGen (data) {
541
+ data.f_user_id = data.f_user_id + ''
542
+ await getFileGen(this, data)
543
+ },
544
+ cancel () {
545
+ this.$dispatch('clean', '取消档案修正', 'user-general-info', this.row)
546
+ },
547
+ checkout (val) {
548
+ // 对收到的综合信息进行校验(主要目的是为了防止下拉框没有默认值)
549
+ // 对综合用户基本信息进行校验
550
+
551
+ // 将oldAddress 置为空,
552
+ this.oldAddress = {}
553
+ this.data.baseinfo.base.f_user_state = this.data.baseinfo.base.f_user_state === '预备' ? '正常' : this.data.baseinfo.base.f_user_state
554
+ // this.data.baseinfo.base.f_user_nature = this.data.baseinfo.base.f_user_nature ? [this.data.baseinfo.base.f_user_nature] : '民用'
555
+ // this.data.baseinfo.base.f_credentials = this.data.baseinfo.base.f_credentials ? [this.data.baseinfo.base.f_credentials] : '身份证'
556
+ this.data.baseinfo.base.f_cost_type = this.data.baseinfo.base.f_cost_type ? [this.data.baseinfo.base.f_cost_type] : '现金缴费'
557
+ this.data.baseinfo.base.f_bz_type = this.data.baseinfo.base.f_bz_type ? [this.data.baseinfo.base.f_bz_type] : ''
558
+
559
+ this.data.baseinfo.base.f_paper_type = this.data.baseinfo.base.f_paper_type ? this.data.baseinfo.base.f_paper_type : '电子发票'
560
+ this.data.baseinfo.bank.f_bank_name = this.data.baseinfo.bank.f_bank_name ? [this.data.baseinfo.bank.f_bank_name] : '中国银行'
561
+ this.data.baseinfo.base.f_people_num = this.data.baseinfo.base.f_people_num ? this.data.baseinfo.base.f_people_num : (this.peopleNum ? this.peopleNum : 0)
562
+ this.data.baseinfo.base.f_gas_pointsnumber = this.data.baseinfo.base.f_gas_pointsnumber ? this.data.baseinfo.base.f_gas_pointsnumber : (this.pointsNum ? this.pointsNum : 2)
563
+ this.data.baseinfo.base.f_kitchen_type = this.data.baseinfo.base.f_kitchen_type ? this.data.baseinfo.base.f_kitchen_type : (this.kitchenType ? this.kitchenType : '')
564
+
565
+ if (this.data.baseinfo.base.f_slice_area) {
566
+ this.data.baseinfo.base.f_slice_area = [this.data.baseinfo.base.f_slice_area]
567
+ } else {
568
+ this.data.baseinfo.base.f_slice_area = ''
569
+ }
570
+ this.oldAddress.f_address = this.data.addressinfo.f_address
571
+ this.oldAddress.id = this.data.addressinfo.id
572
+
573
+ // 地址信息
574
+ // loadStreetAndResGen(this)
575
+
576
+ // 对表具信息进行校验
577
+ this.data.meterinfo.forEach((row) => {
578
+ console.log(row)
579
+ if (row.gasbrand) {
580
+ this.meterbrands.forEach((item) => {
581
+ if (item.label === row.gasbrand) {
582
+ row.gasbrand = [item.value]
583
+ }
584
+ })
585
+ } else {
586
+ row.gasbrand = ''
587
+ }
588
+ if (row.gasmodel && (row.gasbrand instanceof Array)) {
589
+ row.gasbrand[0].gasmodel.forEach((item) => {
590
+ if (item.label === (val === 'area' ? row.gasmodel : row.gasmodel + row.gasmodeltype)) {
591
+ row.gasmodel = [item.value]
592
+ }
593
+ })
594
+ } else {
595
+ row.gasmodel = ''
596
+ }
597
+ if (row.f_fire_state === '1') {
598
+ row.f_fire_state1 = true
599
+ } else if (row.f_fire_state === '0') {
600
+ row.f_fire_state1 = false
601
+ }
602
+ row.f_install_date = row.f_install_date ? row.f_install_date : null
603
+ row.f_gas_date = row.f_gas_date ? row.f_gas_date : null
604
+ row.f_changetube_date = row.f_changetube_date ? row.f_changetube_date : null
605
+ row.f_aroundmeter = row.f_aroundmeter ? row.f_aroundmeter : ''
606
+ row.f_garbage_fee = row.f_garbage_fee ? row.f_garbage_fee : ''
607
+ row.f_valve_state = row.f_valve_state ? [row.f_valve_state] : ''
608
+ row.f_usetype = row.f_usetype ? [row.f_usetype] : ''
609
+ row.f_usestate = row.f_usestate && row.f_usestate.length > 0 ? [row.f_usestate] : ''
610
+ row.f_meter_book_num = row.f_meter_book_num ? [row.f_meter_book_num] : ''
611
+ row.f_userfiles_address = row.f_userfiles_address && row.f_userfiles_address.length > 0 ? [row.f_userfiles_address] : ''
612
+ row.f_inputtor = row.f_inputtor ? [row.f_inputtor] : ''
613
+ row.f_position = row.f_position ? [row.f_position] : ''
614
+
615
+ row.f_user_type = row.f_user_type ? [row.f_user_type] : ''
616
+ row.f_gasproperties = row.f_gasproperties ? [row.f_gasproperties] : ''
617
+ row.pricetype = row.pricetype ? [row.pricetype] : ''
618
+
619
+ if (row.pricename) {
620
+ let names = this.getPricenames(row.f_user_type,
621
+ row.f_gasproperties,
622
+ row.pricetype)
623
+
624
+ console.log('=====2.===校验气价名称', names, row.f_user_type, row.f_gasproperties, row.pricetype)
625
+ if (names.length > 0) {
626
+ names.forEach((item) => {
627
+ if (item.label === row.pricename) {
628
+ row.pricename = [item.value]
629
+ row.f_detailprice = this.$CommonService.getShowPriceDetail(item.value.detailprice)
630
+ }
631
+ })
632
+ } else {
633
+ row.pricename = ''
634
+ }
635
+ } else {
636
+ row.pricename = ''
637
+ }
638
+
639
+ if (row.f_adjustable) {
640
+ this.adjustables.forEach((item) => {
641
+ if (item.label === row.f_adjustable) {
642
+ row.f_adjustable = [item.value]
643
+ }
644
+ })
645
+ } else {
646
+ row.f_adjustable = ''
647
+ }
648
+ })
649
+ // console.log('5555555555', this.data.meterinfo)
650
+ // 对设备进行校验
651
+ // this.data.devicesinfo.forEach((row) => {
652
+ // row.f_devices_type = row.f_devices_type ? [row.f_devices_type] : ''
653
+ // })
654
+ },
655
+ getPricenames (f_user_type, f_gasproperties, f_price_type) {
656
+ let rs = []
657
+ if (f_user_type.length === 1 && f_gasproperties.length === 1 && f_price_type.length === 1) {
658
+ rs = this.$GetSaleParam.getPrice({
659
+ f_user_type: f_user_type[0],
660
+ f_gasproperties: f_gasproperties[0],
661
+ f_price_type: f_price_type[0],
662
+ filter: this.f_filialeid
663
+ })
664
+ }
665
+ return rs
666
+ },
667
+ // 将小区信息转化为综合信息的格式
668
+ async areainfoInUser (areainfo) {
669
+ // this.nextTick(() => {
670
+ //
671
+ // })
672
+ // await this.$getConfig(this, 'UserAddress')
673
+ this.data = {
674
+ baseinfo: {
675
+ base: {
676
+ f_user_state: '正常',
677
+ f_is_mgq: '',
678
+ f_slice_area: '', // 片区
679
+ // 附件表临时id
680
+ blodid: this.blodid,
681
+ // 用户姓名
682
+ f_user_name: '',
683
+ // 用户电话
684
+ f_user_phone: '',
685
+ f_people_num: this.$appdata.getSingleValue('默认人口数') ? this.$appdata.getSingleValue('默认人口数') : 0,
686
+ f_packaging: '',
687
+ // 备用电话
688
+ f_rent_phone: '',
689
+ f_credentials: '身份证',
690
+ f_cost_type: '',
691
+ f_bz_type: '',
692
+ f_address: '',
693
+ addressid: '',
694
+ f_idnumber: '',
695
+ f_meter_book_num: ''
696
+ },
697
+ bank: {},
698
+ // 用户备用电话信息
699
+ userphonelist: []
700
+ },
701
+ addressinfo: {
702
+ // 详细地址
703
+ f_address: '',
704
+ id: ''
705
+ },
706
+ meterinfo: [{
707
+ // 表号
708
+ f_meternumber: '',
709
+ f_metertitles: '',
710
+ f_area_code: '',
711
+ // 气表品牌
712
+ gasbrand: '',
713
+ // 气表型号
714
+ gasmodel: '',
715
+ // 气表类型
716
+ gasmodeltype: '',
717
+ pricetype: '', // 气价类型
718
+ pricename: '', // 气价名称
719
+ f_user_type: '', // 用户类型
720
+ f_gasproperties: '', // 用气性质
721
+ f_inputtor: '',
722
+ // 安装位置
723
+ f_position: '',
724
+ // 安装地址
725
+ f_userfiles_address: '',
726
+ // 安装经度
727
+ f_userfiles_lng: '',
728
+ // 安装纬度
729
+ f_userfiles_lat: '',
730
+ // 使用类型
731
+ f_usetype: '',
732
+ // 使用状态
733
+ f_usestate: '',
734
+ // 左右表
735
+ f_aroundmeter: '',
736
+ f_garbage_fee: '否',
737
+ f_meter_base: '',
738
+ f_initial_base: 0,
739
+ // 通气人
740
+ f_gas_person: '',
741
+ f_adjustable: '', // 调压箱
742
+ f_detailprice: '', // 价格详情显示
743
+ devicesinfo: [], // 设备信息
744
+ f_hand_month: '', // 抄表月份
745
+ fireinfo: {}, // 用气信息
746
+ f_meter_book_num: '',
747
+ f_use_limit: '',
748
+ f_gas_date: '',
749
+ f_install_date: ''
750
+ }],
751
+ devicesinfo: []
752
+ }
753
+ // 若有id,则表示该地址是更新操作
754
+ /* if (areainfo.id) {
755
+ this.data.addressinfo.id = areainfo.id
756
+ }
757
+ // 改地址是 只有表没有户信息
758
+ if (areainfo.meter) {
759
+ Object.assign(this.data.meterinfo[0], this.data.meterinfo[0], areainfo.meter)
760
+ }
761
+ if (areainfo.user) {
762
+ Object.assign(this.data.baseinfo.base, this.data.baseinfo.base, areainfo.user)
763
+ } */
764
+
765
+ this.checkout('area')
766
+ },
767
+ limitClick () {
768
+ this.limitShow = true
769
+ },
770
+ getLimitGas (val) {
771
+ this.limit_gas = val
772
+ },
773
+ clearinfo () {
774
+ this.blodid = this.data.baseinfo.base.f_userinfo_id
775
+ this.areainfoInUser(this.areainfo)
776
+ }
777
+ },
778
+ computed: {
779
+ usertype () {
780
+ if (this.row && this.row.f_user_type) {
781
+ return this.row.f_user_type == '非民用'
782
+ }
783
+ return this.$refs.useressential.$refs.useraddressinfile.usertype
784
+ },
785
+ meterbrands () {
786
+ return this.$GetSaleParam.getGasbrand()
787
+ },
788
+ reasons () {
789
+ return this.$appdata.getParam('变更原因')
790
+ },
791
+ adjustables () {
792
+ return this.$GetSaleParam.getAdjustable()
793
+ },
794
+ getMeterBooks () {
795
+ return this.$GetSaleParam.getMeterBooks()
796
+ }
797
+ },
798
+ events: {
799
+ // 设置表具气价等默认值
800
+ defaultOtheret (row) {
801
+ if (!this.isedit) {
802
+ let temp = {
803
+ gasmodel: row.f_meter_style,
804
+ gasbrand: row.f_meter_brand,
805
+ gasmodeltype: row.f_meter_style,
806
+ pricetype: row.f_price_type,
807
+ pricename: row.f_price_name,
808
+ f_user_type: row.f_user_type,
809
+ f_gasproperties: row.f_gasproperties,
810
+ f_position: row.f_position,
811
+ f_meter_book_num: row.f_meter_book ? row.f_meter_book : '',
812
+ f_usestate: '正常',
813
+ f_adjustable: row.f_adjustable_id,
814
+ f_install_date: row.f_install_date,
815
+ f_inputtor: row.f_inputtor,
816
+ f_hand_month: row.f_hand_month,
817
+ f_usetype: ''
818
+ }
819
+ if (!temp.f_install_date) {
820
+ delete temp.f_install_date
821
+ }
822
+ Object.assign(this.data.meterinfo[0], this.data.meterinfo[0], temp)
823
+ this.data.baseinfo.base.f_house_type = row.f_house_type ? [row.f_house_type] : ''
824
+ console.log('====1.=====', temp, row)
825
+ this.checkout('area')
826
+ }
827
+ }
828
+ }
829
+ }
830
+ </script>
831
+ <style lang="less">
832
+ .filechangeDetailsShow {
833
+ td {
834
+ text-align: center !important;
835
+ }
836
+ }
837
+ </style>