sale-client 4.2.52 → 4.2.53

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.
@@ -1,1141 +1,1141 @@
1
- <template>
2
- <div v-show='!isShowDetailInfo' id="file-user-files" class="binary">
3
- <div :class="{'basic-main': !createFile,'binary-left': createFile}" >
4
- <div class="flex" style="flex: 1;">
5
- <div style="flex: 1.2">
6
- <criteria-paged :model="model" v-ref:paged @sort="sort">
7
- <criteria @condition-changed="$parent.selfSearch" partial='criteria' v-ref:criteria>
8
- <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
9
- <div class="row">
10
-
11
- <div
12
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
13
- class="form-group"
14
- v-if="$parent.$parent.clientWidth>1600">
15
- <label class="font_normal_body">客户编号</label>
16
- <input class="input_search" condition="f_userinfo_code = '{}'"
17
- placeholder='客户编号'
18
- style="width:60%" type="text" v-model="model.f_userinfo_code">
19
- </div>
20
- <res-select-group v-if="$parent.$parent.clientWidth<1600&&!$parent.$parent.createFile" :style="$parent.$parent.createFile?'col-sm-4':'col-sm-2'" :initres="$parent.$parent.initres" :show-component="['company','department','operator']" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
21
-
22
- <div
23
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
24
- class="form-group"
25
- v-if="$parent.$parent.clientWidth<1600&&!$parent.$parent.createFile">
26
- <label class="font_normal_body">客户编号</label>
27
- <input class="input_search" condition="f_userinfo_code = '{}'"
28
- placeholder='客户编号'
29
- style="width:60%" type="text" v-model="model.f_userinfo_code">
30
- </div>
31
-
32
- <div
33
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
34
- class="form-group" v-if="!$parent.$parent.createFile">
35
- <label class="font_normal_body">客户名称</label>
36
- <input class="input_search" condition="f_user_name like '%{}%'"
37
- placeholder='客户姓名'
38
- style="width:60%" type="text" v-model="model.f_user_name">
39
- </div>
40
- <div
41
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
42
- class="form-group">
43
- <label class="font_normal_body">合同编号</label>
44
- <input class="input_search" condition="f_contract_id = '{}'"
45
- v-model="model.f_contract_id"
46
- placeholder='合同编号'
47
- style="width:60%" type="text" >
48
- </div>
49
- <div
50
- :class="{'col-sm-3':$parent.$parent.clientWidth>1600||!$parent.$parent.createFile,'col-sm-4':$parent.$parent.clientWidth<1600&&$parent.$parent.createFile}"
51
- class="form-group button-range">
52
- <!--<button class="button_search button_spacing" style="width: 90px" @click="$parent.$parent.showFileInfo()">查看批量状态-->
53
- <!--</button>-->
54
- <button class="button_search button_spacing" type="button" @click="$parent.$parent.goChargeManage()">去收费</button>
55
-
56
- <button @click="search(), $parent.$parent.clean()" class="button_search button_spacing"
57
- style="float: right">查询
58
- </button>
59
- <button @click="$parent.$parent.clear()" class="button_clear button_spacing"
60
- style="float: right">清空
61
- </button>
62
- <button @click="$parent.$parent.createnewfile()" class="button_search button_spacing"
63
- style="float: right">单户建档
64
- </button>
65
- <button class="button_search button_spacing" style="width: 90px" @click="$parent.$parent.createInfoForFile()">批量建档
66
- </button>
67
- <button @click="$parent.$parent.importFile" class="button_export button_spacing"
68
- style="float: right" v-if="false">导入
69
- </button>
70
- <!-- <button class="button_search" style="width: 90px" @click=" $parent.$parent.selectaddress()">选择地址</button>-->
71
- <button @click="$parent.$parent.xiaohu()"
72
- class="button_delete button_spacing"
73
- style="float: right"
74
- v-if="$parent.$parent.rows && $parent.$parent.rows.length > 1 && this.$login.r.includes('批量销户')">
75
- 批量销户
76
- </button>
77
- <import-excel v-if="$parent.$parent.bacthPin === '销户导入'" template-btn-name= "销户模板" template-name= "销户模板" btn-name="导入销户" logic-name="batchpinusers" import-json="pinuser.json"></import-excel>
78
- <button @click="$parent.$parent.bulkOperations('批量销户', 'batch-cancellation')"
79
- class="button_delete button_spacing"
80
- style="float: right"
81
- v-if="$parent.$parent.rows && $parent.$parent.rows.length === 1 && $parent.$parent.rows[0].f_user_state === '正常'">
82
- 销户
83
- </button>
84
- <button @click="$parent.$parent.bulkOperations('批量启用', 'batch-enable')"
85
- class="button_search button_spacing"
86
- style="float: right"
87
- v-if="$parent.$parent.rows && $parent.$parent.rows.length === 1 && $parent.$parent.rows[0].f_user_state === '销户'">
88
- 启用
89
- </button>
90
- <button @click="$parent.$parent.openBatchModal()" class="button_clear button_spacing"
91
- style="float: right">批量修改调压箱
92
- </button>
93
- <div
94
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
95
- @click="$parent.$parent.hidden()"
96
- class="button_spacing"
97
- style="float: right"></div>
98
- </div>
99
- </div>
100
- <div class="row" v-if="$parent.$parent.criteriaShow">
101
-
102
- <div
103
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
104
- class="form-group"
105
- v-if="$parent.$parent.clientWidth<1600&&$parent.$parent.createFile">
106
- <label class="font_normal_body">客户编号</label>
107
- <input class="input_search" condition="f_userinfo_code = '{}'"
108
- placeholder='客户编号'
109
- style="width:60%" type="text" v-model="model.f_userinfo_code">
110
- </div>
111
- <res-select-group v-if="$parent.$parent.clientWidth<1600&&$parent.$parent.createFile" :style="$parent.$parent.createFile?'col-sm-4':'col-sm-2'" :initres="$parent.$parent.initres" :show-component="['company','department','operator']" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
112
- <res-select-group v-if="$parent.$parent.clientWidth>=1600" :style="$parent.$parent.createFile?'col-sm-4':'col-sm-2'" :initres="$parent.$parent.initres" :show-component="['company','department','operator']" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
113
-
114
- <div
115
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
116
- class="form-group" v-if="$parent.$parent.createFile">
117
- <label class="font_normal_body">客户名称</label>
118
- <input class="input_search" condition="f_user_name like '%{}%'"
119
- placeholder='客户姓名'
120
- style="width:60%" type="text" v-model="model.f_user_name">
121
- </div>
122
- <div
123
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
124
- class="form-group">
125
- <label class="font_normal_body">旧客户号</label>
126
- <input class="input_search" condition="f_olduserinfo_code = '{}'" placeholder='客户编号'
127
- style="width:60%"
128
- type="text"
129
- v-model="model.f_olduserinfo_code">
130
- </div>
131
- <div
132
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
133
- class="form-group">
134
- <label class="font_normal_body">客户类型</label>
135
- <v-select :options='$parent.$parent.user_type' :value.sync="model.f_user_type"
136
- close-on-select condition="f_user_type='{}'"
137
- placeholder='客户类型' v-model="model.f_user_type"></v-select>
138
- </div>
139
- <div
140
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
141
- class="form-group">
142
- <label class="font_normal_body">用气性质</label>
143
- <v-select :options='$parent.$parent.gasproperties' :value.sync="model.f_gasproperties"
144
- close-on-select condition="f_gasproperties='{}'"
145
- placeholder='用气性质' v-model="model.f_gasproperties"></v-select>
146
- </div>
147
- <div
148
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
149
- class="form-group">
150
- <label class="font_normal_body">气表类型</label>
151
- <v-select :options='$parent.$parent.meter_classify' :value.sync="model.f_meter_classify"
152
- close-on-select condition="f_meter_classify='{}'"
153
- placeholder='气表类型' v-model="model.f_meter_classify"></v-select>
154
- </div>
155
- <div class="form-group" :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}">
156
- <label class="font_normal_body">气表品牌</label>
157
- <v-select :value.sync="model.f_meter_brand" multiple
158
- v-model="model.f_meter_brand"
159
- :options='$parent.$parent.meterbrands' placeholder='请选择'
160
- condition="f_meter_brand in {}"
161
- close-on-select></v-select>
162
- </div>
163
- <div class="form-group" :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}">
164
- <label class="font_normal_body">现场表具型号</label>
165
- <v-select :value.sync="model.f_xc_meter_style" multiple
166
- v-model="model.f_xc_meter_style"
167
- :options='$parent.$parent.metermodels' placeholder='请选择'
168
- condition="f_xc_meter_style in {}"
169
- close-on-select></v-select>
170
- </div>
171
- <!-- <div-->
172
- <!-- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"-->
173
- <!-- class="form-group">-->
174
- <!-- <label class="font_normal_body">气表品牌</label>-->
175
- <!-- <v-select :options='$parent.$parent.meter_brand' :value.sync="model.f_meter_brand"-->
176
- <!-- close-on-select condition="f_meter_brand='{}'"-->
177
- <!-- placeholder='气表品牌' v-model="model.f_meter_brand"></v-select>-->
178
- <!-- </div>-->
179
- <div
180
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
181
- class="form-group">
182
- <label class="font_normal_body">客户电话</label>
183
- <input class="input_search" condition="f_user_phone = '{}'" placeholder='客户电话' style="width:60%"
184
- type="text"
185
- v-model="model.f_user_phone">
186
- </div>
187
- <div
188
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
189
- class="form-group">
190
- <label class="font_normal_body">小&emsp;&emsp;区</label>
191
- <input class="input_search" condition="f_residential_area like '%{}%'" placeholder='小区' style="width:60%"
192
- type="text" v-model="model.f_residential_area">
193
- </div>
194
- <div
195
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
196
- class="form-group">
197
- <label class="font_normal_body">客户地址</label>
198
- <input class="input_search" condition="f_address like '%{}%'" placeholder='客户地址' style="width:60%"
199
- type="text" v-model="model.f_address">
200
- </div>
201
- <div
202
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
203
- class="form-group">
204
- <label class="font_normal_body">客户状态</label>
205
- <v-select :options='$parent.$parent.userstates' :value.sync="model.f_user_state"
206
- close-on-select condition="f_user_state='{}'"
207
- placeholder='客户状态' v-model="model.f_user_state"></v-select>
208
- </div>
209
- <div
210
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
211
- class="form-group">
212
- <label class="font_normal_body">发卡状态</label>
213
- <v-select :options='$parent.$parent.f_whether_hairpin' :value.sync="model.f_whether_hairpin"
214
- close-on-select condition="f_whether_hairpin = '{}'"
215
- placeholder='发卡状态' v-model="model.f_whether_hairpin"></v-select>
216
- </div>
217
- <div
218
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
219
- class="form-group">
220
- <label class="font_normal_body">卡&emsp;&emsp;号</label>
221
- <input class="input_search" condition="f_card_id = '{}'" placeholder='卡号' style="width:60%"
222
- type="text" v-model="model.f_card_id">
223
- </div>
224
- <div
225
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
226
- class="form-group">
227
- <label class="font_normal_body">用&nbsp;&nbsp;气&nbsp;点</label>
228
- <input class="input_search" condition="f_userfiles_address like '%{}%'" placeholder='用气点名称' style="width:60%"
229
- type="text" v-model="model.f_userfiles_address">
230
- </div>
231
- <div
232
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
233
- class="form-group">
234
- <label class="font_normal_body" style="width: auto">天然气证</label>
235
- <v-select :options='$parent.$parent.usegas' :value.sync="model.f_send_usegas_card"
236
- close-on-select condition="f_send_usegas_card='{}'"
237
- placeholder='天然气使用证' v-model="model.f_send_usegas_card"></v-select>
238
- </div>
239
- <div
240
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
241
- class="form-group">
242
- <label class="font_normal_body">调&ensp;压&ensp;箱</label>
243
- <v-select :options='$parent.$parent.adjustables' :search='true'
244
- :value.sync="model.f_adjustable_id"
245
- close-on-select
246
- condition="f_adjustable_id = '{}'" placeholder='调压箱'
247
- v-model='model.f_adjustable_id'></v-select>
248
- </div>
249
- <div
250
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
251
- class="form-group" >
252
- <label class="font_normal_body">使用类型</label>
253
- <v-select :options='$parent.$parent.useoptions' :search='true'
254
- :value.sync="model.f_usetype"
255
- close-on-select
256
- condition="f_usetype = '{}'" placeholder='使用类型'
257
- v-model='model.f_usetype'></v-select>
258
- </div>
259
- <div
260
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
261
- class="form-group" >
262
- <label class="font_normal_body" title="参数名称:用户等级">客户等级</label>
263
- <v-select :options='$parent.$parent.userlevel' :search='true'
264
- :value.sync="model.userlevel"
265
- close-on-select
266
- condition="f_user_level = '{}'" placeholder='客户等级'
267
- v-model='model.userlevel'></v-select>
268
- </div>
269
- <div
270
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
271
- class="form-group" >
272
- <label class="font_normal_body">工业备注</label>
273
- <v-select :options='$parent.$parent.industrycomments' :value.sync="model.f_gongye_type"
274
- close-on-select condition="f_gongye_type='{}'"
275
- placeholder='工业备注' v-model="model.f_gongye_type"></v-select>
276
- </div>
277
- <div :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
278
- class="form-group">
279
- <label class="font_normal_body" title="建档开始时间">开始时间</label>
280
- <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_start_date"
281
- class="datepicker"
282
- condition="f_createfile_date >= '{} 00:00:00' "
283
- placeholder="建档开始时间"
284
- style="width:60%"
285
- v-model="model.f_start_date"
286
- ></datepicker>
287
- </div>
288
- <div :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
289
- class="form-group">
290
- <label class="font_normal_body" title="建档结束时间">结束时间</label>
291
- <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_end_date"
292
- class="datepicker"
293
- condition="f_createfile_date <= '{} 23:59:59' "
294
- placeholder="建档结束时间"
295
- style="width:60%"
296
- v-model="model.f_end_date"
297
- ></datepicker>
298
- </div>
299
- <div
300
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
301
- class="form-group">
302
- <label class="font_normal_body">表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</label>
303
- <input class="input_search" condition="f_meternumber ='{}'" placeholder='表号' style="width:60%"
304
- type="text" v-model="model.f_meternumber">
305
- </div>
306
- <div
307
- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
308
- class="form-group">
309
- <label class="font_normal_body">备&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注</label>
310
- <input class="input_search" condition="f_comments like '%{}%'" placeholder='备注' style="width:60%"
311
- type="text" v-model="model.f_comments">
312
- </div>
313
- </div>
314
- </div>
315
- </criteria>
316
- <data-grid :model="model" class="list_area table_sy" @dblclick="$parent.modifyUser" v-ref:grid partial='list' optional>
317
- <template partial='head'>
318
- <tr>
319
- <th>
320
- <nobr>序号</nobr>
321
- </th>
322
- <th>
323
- <nobr>客户编号</nobr>
324
- </th>
325
- <th>
326
- <nobr>旧档案编号</nobr>
327
- </th>
328
- <th>
329
- <nobr>客户名称</nobr>
330
- </th>
331
- <th>
332
- <nobr>合同编号</nobr>
333
- </th>
334
- <th>
335
- <nobr>表号</nobr>
336
- </th>
337
- <th>
338
- <nobr>卡号</nobr>
339
- </th>
340
- <th>
341
- <nobr>客户电话</nobr>
342
- </th>
343
- <th v-if="!$parent.$parent.$parent.isOper">
344
- <nobr>客户地址</nobr>
345
- </th>
346
- <th>
347
- <nobr>客户类型</nobr>
348
- </th>
349
- <th>
350
- <nobr>用气性质</nobr>
351
- </th>
352
- <th>
353
- <nobr>气表类型</nobr>
354
- </th>
355
- <th>
356
- <nobr>气表品牌</nobr>
357
- </th>
358
- <th>
359
- <nobr>现场表具型号</nobr>
360
- </th>
361
- <th>
362
- <nobr>发卡状态</nobr>
363
- </th>
364
- <th v-if="!$parent.$parent.$parent.createFile">
365
- <nobr>用气点名称</nobr>
366
- </th>
367
- <th v-if="!$parent.$parent.$parent.createFile">
368
- <nobr>状态</nobr>
369
- </th>
370
- <th v-if="!$parent.$parent.$parent.createFile">
371
- <nobr>开户时间</nobr>
372
- </th>
373
- <th>
374
- <nobr>备注</nobr>
375
- </th>
376
- <th >
377
- <nobr>客户等级</nobr>
378
- </th>
379
- <!--<th>-->
380
- <!--<nobr v-if="this.$login.r.includes('通知单打印')||this.$login.r.includes('流程表打印') ">下载</nobr>-->
381
- <!--</th>-->
382
- <th>
383
- <nobr>操作</nobr>
384
- </th>
385
- </tr>
386
- </template>
387
- <template partial='body'>
388
- <td style="text-align: center;">{{$index + 1}}</td>
389
- <td style="text-align: center;">{{row.f_userinfo_code}}</td>
390
- <td style="text-align: center;">{{row.f_olduserinfo_code}}</td>
391
- <td style="text-align: center;">
392
- <span @click="$parent.$parent.$parent.dealmsg(row)"><a><b>{{row.f_user_name}}</b></a></span>
393
- </td>
394
- <td style="text-align: center;">{{row.f_contract_id}}</td>
395
- <td style="text-align: center;">{{row.f_meternumber}}</td>
396
- <td style="text-align: center;">{{row.f_card_id}}</td>
397
- <td style="text-align: center;">{{row.f_user_phone}}</td>
398
- <td style="text-align: center;" v-if="!$parent.$parent.$parent.isOper">{{row.f_address_detail ? row.f_address + row.f_address_detail :
399
- row.f_address}}
400
- </td>
401
- <td style="text-align: center;">{{row.f_user_type}}</td>
402
- <td style="text-align: center;">{{row.f_gasproperties}}</td>
403
- <td style="text-align: center;">{{row.f_meter_classify}}</td>
404
- <td style="text-align: center;">{{row.f_meter_brand}}</td>
405
- <td style="text-align: center;">{{row.f_xc_meter_style}}</td>
406
- <td style="text-align: center;">{{row.f_whether_hairpin}}</td>
407
- <td style="text-align: center;" v-if="!$parent.$parent.$parent.createFile">{{row.f_userfiles_address}}</td>
408
- <td style="text-align: center;" v-if="!$parent.$parent.$parent.createFile">{{row.f_user_state}}</td>
409
- <td style="text-align: center;" v-if="!$parent.$parent.$parent.createFile">{{row.f_open_date}}</td>
410
- <td style="text-align: center;" >{{row.f_comments}}</td>
411
- <td style="text-align: center;" >{{row.f_user_level}}</td>
412
- <td style="text-align: center;">
413
- <button type="button" name="button" class="button_search-2 button_spacing width-60"
414
- v-if="row.f_user_state === '正常' || row.f_user_state==='预备'"
415
- @click.stop="$parent.$parent.$parent.modifyUser(row)">修正
416
- </button>
417
- </td>
418
- </template>
419
- </data-grid>
420
- </criteria-paged>
421
- </div>
422
-
423
- <modal v-if="batcan || batenable" :show.sync="batcan || batenable" width="1500px" v-ref:modal large backdrop="false">
424
- <article slot="modal-body" class="modal-body">
425
- <batch-cancellation v-if="batcan" :useraccount="model.rows" @clean="batchClean"
426
- @success="batchSuccess"></batch-cancellation>
427
- <batch-enable v-if="batenable" :useraccount="model.rows" @clean="batchClean"
428
- @success="batchSuccess"></batch-enable>
429
- </article>
430
- <footer slot="modal-footer" class="modal-footer">
431
- </footer>
432
- </modal>
433
-
434
-
435
- </div>
436
- </div>
437
- <div class="binary-right" :style="{width:'70%'}" v-if="createFile">
438
- <div class="auto" style="height: 100%; margin-top: 1%" >
439
- <file-user-general-info :f_filialeid="f_filialeid" :row="row" :areainfo="areainfo"
440
- :haslimit="config.hasLimit" @success="renew" @clean="clean"
441
- :isedit="isedit"
442
- @build-success="buildFileSuccess" v-ref:info></file-user-general-info>
443
- </div>
444
- </div>
445
-
446
- <modal :show.sync="show" width="500px" title="文件导入" v-ref:modal large backdrop="false">
447
- <article slot="modal-body" class="modal-body">
448
- <file-upload class="my-file-uploader btn btn-success" name="UploadFile" style="border-radius: 2px;"
449
- action="rs/file/uploadFile" tagname="导入档案" v-ref:file :headers="headers"></file-upload>
450
- </article>
451
- <footer slot="modal-footer" class="modal-footer">
452
- </footer>
453
- </modal>
454
- <modal :show.sync="batchMeterShow" width="570px" title="文件导入" v-ref:modal large backdrop="false">
455
- <article slot="modal-body" class="modal-body">
456
- <file-upload class="my-file-uploader col-sm-9" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
457
- <button class="button_clear btn-gn" style="margin-top: 10px;background-color: #6aa6e2;" @click="downloadFiles()">模板下载
458
- </button>
459
- </article>
460
- <footer slot="modal-footer" class="modal-footer">
461
- </footer>
462
- </modal>
463
-
464
- <modal :show.sync="xiaohushow" width="500px" title="批量销户" v-ref:modal large backdrop="false">
465
- <article slot="modal-body" class="modal-body" style="height: 70px">
466
- <div>
467
- <label class="font_normal_body" style="line-height: 20px">销户原因</label>
468
- <input class="input_search"
469
- placeholder='销户原因'
470
- type="text" v-model="xiaohureason">
471
- </div>
472
- </article>
473
- <footer slot="modal-footer" class="modal-footer">
474
- <button class="button_search button_spacing" type="button" @click="batchCancellation()">确认</button>
475
- <button class="button_search button_spacing" type="button" @click="closexiaohu()">取消</button>
476
- </footer>
477
- </modal>
478
- <modal :show.sync="resshow" width="500px" title="建档成功" v-ref:modal large backdrop="false">
479
- <article slot="modal-body" class="modal-body" style="height: 70px">
480
- <div>
481
- <label class="font_normal_body" style="line-height: 20px">客户编号</label>
482
- <input class="input_search" condition="f_userinfo_code = '{}'"
483
- placeholder='客户编号' disabled
484
- type="text" v-model="resdata">
485
- </div>
486
- </article>
487
- <footer slot="modal-footer" class="modal-footer">
488
- <button class="button_search button_spacing" type="button" @click="goChargeManage()">去收费</button>
489
- <button class="button_search button_spacing" type="button" @click="doCopy()">复制</button>
490
- <button class="button_search button_spacing" type="button" @click="close2()">取消</button>
491
- </footer>
492
- </modal>
493
- <modal :show.sync="showModifyAdjustables" width="500px" title="批量修改调压箱" large backdrop="false">
494
- <article slot="modal-body" class="modal-body" style="height: 70px">
495
- <label class="font_normal_body">调&ensp;压&ensp;箱</label>
496
- <v-select :options='adjustablesNew' :search='true'
497
- :value.sync="f_adjustable_id"
498
- close-on-select
499
- placeholder='调压箱'
500
- v-model='f_adjustable_id'></v-select>
501
- </article>
502
- <footer slot="modal-footer" class="modal-footer">
503
- <button class="button_search button_spacing" :disabled="!f_adjustable_id || f_adjustable_id.length < 1 " type="button" @click="batchModifyAdjustables()">确认</button>
504
- <button class="button_search button_spacing" type="button" @click="closeBatchAdjustables()">取消</button>
505
- </footer>
506
- </modal>
507
- <!--<user-flow-sheet :show="printflag" :bill-config='configs' :bill-data='billData' :data='newdata' v-on:toggle="close" @printok="printok" v-ref:printbill></user-flow-sheet>-->
508
-
509
- <work-busy :is-busy="iswork" v-show="iswork"></work-busy>
510
- </div>
511
- <div v-if="isShowDetailInfo">
512
- <user-info-detail-manage-new :f_userinfo_id="rowData.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
513
- </div>
514
- </template>
515
-
516
- <script>
517
- import {PagedList, HttpResetClass} from 'vue-client'
518
- import Vue from 'vue'
519
- import co from 'co'
520
- import axios from 'axios'
521
-
522
- let loadParamGem = async function (self) {
523
- await self.$getConfig(self, 'UserFiles')
524
- self.headers.username = Vue.$login.f.name
525
- self.headers.username = Vue.$login.guid()
526
- await self.$LoadParams.loadParam(self.f_filialeid)
527
- // await self.$LoadParams.loadMeterBook(self.f_filialeid)
528
- // await self.search()
529
- await self.initAdjustables()
530
- }
531
-
532
- let addressInfoGen = async function (self, areainfo) {
533
- areainfo.isEdit = false
534
- if (areainfo.file_num > 0 && !areainfo.f_userinfo_id) {
535
- // 完善
536
- // 将表档案信息带入,完善客户信息
537
- let getMetersInfo = await self.$resetpost('api/af-revenue/logic/sale_getMeterByAddress', {
538
- data: {
539
- f_useraddress_id: areainfo.id
540
- }
541
- }, {resolveMsg: null, rejectMsg: '获取表信息出错'})
542
- areainfo.meter = getMetersInfo.data[0]
543
- }
544
- if (areainfo.file_num > 0 && areainfo.f_userinfo_id) {
545
- // 添加 将客户信息带入
546
- let getUserinfo = await self.$resetpost('api/af-revenue/sql/saleSingleTable', {
547
- data: {
548
- tablename: 't_userinfo',
549
- condition: `f_userinfo_id = '${areainfo.f_userinfo_id}'`
550
- }
551
- }, {resolveMsg: null, rejectMsg: '获取档案出错'})
552
-
553
- areainfo.user = getUserinfo.data[0]
554
- }
555
- self.bulidFiles(areainfo)
556
- }
557
-
558
- export default {
559
- 'title': '档案信息',
560
- data () {
561
- return {
562
- iswork: false,
563
- isShowDetailInfo: false,
564
- config: {
565
- createType: ['address', 'area'], // 建档方式: address-地址建档 area-小区建档
566
- hasLimit: true
567
- },
568
- bacthPin: '',
569
- model: new PagedList('api/af-revenue/sql/filemanage_getUserfies', 30, {orderitem: '"f_userinfo_id DESC"'}),
570
- row: null, // 选择一条客户信息,对其进行修改
571
- areainfo: null, // 小区批量建档使用的数据
572
- rows: [], // 客户档案选择一条时,将只显示一条信息,rows用来存放整页的数据
573
- headers: {'username': this.$login.f.name, 'blodid': this.$login.guid()},
574
- contract: [{label: '全部', value: ' is null or f_contract_id is not null'}, {
575
- label: '有',
576
- value: ' is not null'
577
- },
578
- {label: '无', value: ' is null'}],
579
- orderDefault: 'f_createfile_date desc',
580
- orderFields: {
581
- f_userinfo_id: 'no'
582
- },
583
- initres: {
584
- org: [this.$login.f.orgid],
585
- dep: [],
586
- user: []
587
- },
588
- orgcondition: `and f_orgid = '${this.$login.f.orgid}'`,
589
- createFile: false,
590
-
591
- curorgid: [this.$login.f.orgid],
592
- f_filialeid: this.$login.f.orgid,
593
-
594
- // 销户启用
595
- batcan: false,
596
- batenable: false,
597
- version: '',
598
- xiaohureason: '',
599
- xiaohushow: false,
600
- inputtores: this.$appdata.getParam('抄表员'),
601
- adjustables: [],
602
- adjustablesNew: [],
603
- f_adjustable_id: '',
604
- // 导入组件
605
- show: false,
606
-
607
- // 点击建档或修正时控制列表展示, 防止拥挤
608
- isOper: false,
609
-
610
- criteriaShow: false,
611
- industrycomments: this.$appdata.getParam('工业备注') ? [{
612
- label: '全部',
613
- value: ''
614
- }, ...this.$appdata.getParam('工业备注')] : [],
615
- gasproperties: this.$appdata.getParam('用气性质') ? [{
616
- label: '全部',
617
- value: ''
618
- }, ...this.$appdata.getParam('用气性质')] : [],
619
- user_type: this.$appdata.getParam('用户类型') ? [{
620
- label: '全部',
621
- value: ''
622
- }, ...this.$appdata.getParam('用户类型')] : [],
623
- meter_classify: this.$appdata.getParam('气表类型') ? [{
624
- label: '全部',
625
- value: ''
626
- }, ...this.$appdata.getParam('气表类型')] : [],
627
- meterbrands: [],
628
- metermodels: [],
629
- f_whether_hairpin: this.$appdata.getParam('发卡状态') ? [{
630
- label: '全部',
631
- value: ''
632
- }, ...this.$appdata.getParam('发卡状态')] : [],
633
- showselectaddress: false,
634
- isedit: false,
635
- clientWidth: document.body.clientWidth,
636
- showModifyAdjustables: false,
637
- batchMeterShow: false,
638
- billData: {
639
- url: 'api/af-revenue/report/userignition',
640
- bill: ''
641
- },
642
- configs: {
643
- hasPrint: false, // 默认打票
644
- hasBillManage: false // 默认不启用发票管理
645
- },
646
- printflag: false,
647
- newdata: {},
648
- resdata: '',
649
- resshow: false,
650
- batchpinshow: false, // 导入销户
651
- titleShow: true, //是否显示部分档案信息类的筛选框
652
- useoptions: this.$appdata.getParam('使用类型'),
653
-
654
- userlevel: this.$appdata.getParam('用户等级') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户等级')] : []
655
- }
656
- },
657
- ready () {
658
- loadParamGem(this)
659
- this.titleShow = this.$appdata.getSingleValue('是否显示筛选框') == null? true : this.$appdata.getSingleValue('是否显示筛选框')
660
- this.getAuthority()
661
- },
662
- compiled () {
663
- window.onresize = () => {
664
- return (() => {
665
- this.clientWidth = document.body.clientWidth
666
- })()
667
- }
668
- },
669
- methods: {
670
- async openBatchModal() {
671
- let rowdata = this.$refs.paged.$refs.grid.getRowData()
672
- if (rowdata.length <= 0) {
673
- this.$showMessage('不选择具体档案将批量修改所有满足条件的档案!')
674
- }
675
- const getAdjustables = await this.$resetpost('api/af-revenue/sql/singleTable_OrderBy',{
676
- data: {
677
- tablename: 't_adjustablebox',
678
- items: 'f_adjustable_name as label, id as value',
679
- condition: `f_filialeid = '${this.f_filialeid}'`,
680
- orderitem: 'id desc'
681
- }
682
- })
683
- console.log('调压箱数据', getAdjustables)
684
- this.adjustablesNew = getAdjustables.data
685
- this.showModifyAdjustables = true
686
- },
687
- async batchModifyAdjustables() {
688
- let rowdata = this.$refs.paged.$refs.grid.getRowData()
689
- let userfilesIds = rowdata.map(item => item.f_userfiles_id);
690
- console.log('已选择的数据', userfilesIds)
691
- console.log('已选择的调压箱', this.f_adjustable_id)
692
- let model = {
693
- f_adjustable_id: this.f_adjustable_id,
694
- f_userfiles_ids: userfilesIds
695
- }
696
- if (rowdata.length <= 0) {
697
- console.log('查看条件', this.model.condition)
698
- model.condition = this.model.condition
699
- }
700
- await this.$resetpost('api/af-revenue/logic/batchModifyAdjustables', model, {
701
- resolveMsg: null,
702
- rejectMsg: '批量修改调压箱失败'
703
- }).then((res) => {
704
- if (res && res.data) {
705
- this.$showMessage(`本次批量修改: ${res.data}户`);
706
- }
707
- this.closeBatchAdjustables()
708
- this.selfSearch()
709
- })
710
-
711
- },
712
- getAuthority () {
713
- if (this.$login.r.find(value => value == '销户导入')) {
714
- this.bacthPin = '销户导入'
715
- }
716
- },
717
- getRes (obj) {
718
- console.log("-----------------")
719
- this.orgcondition = obj
720
- if(this.$refs.paged.$refs.criteria.$refs.sel.depresid.length>0){
721
- this.f_filialeid=this.$refs.paged.$refs.criteria.$refs.sel.depresid[0]
722
- }else{
723
- this.f_filialeid=this.$login.f.orgid
724
- }
725
-
726
- },
727
- downloadFiles(){
728
- let downurl='api/af-revenue/downloadfile/file?filename=批量建档导出Excel模板';
729
- this.$downFile(downurl,'批量建档导出Excel模板.xlsx')
730
- },
731
- /**
732
- * 退出用户详细信息页面
733
- */
734
- cancel () {
735
- this.isShowDetailInfo = false
736
- },
737
- /**
738
- * 展示用户详细信息
739
- * @param obj 传递的row
740
- */
741
- dealmsg (obj) {
742
- console.log('==================>', obj)
743
- this.isShowDetailInfo = true
744
- this.rowData = obj
745
- },
746
- goChargeManage () {
747
- try {
748
- this.$goto('charge-manage', {f: this.$login.f}, 'main')
749
- } catch (e) {
750
- }
751
- try {
752
- window.parent.dispatchEvent(new CustomEvent('gotoChargeManage', {detail: 'Hello from iframe'}));
753
- } catch (e) {
754
- }
755
- },
756
- async doCopy () {
757
- await this.$copyText(this.resdata)
758
- this.resshow = false
759
- this.$showAlert(`内容已复制到剪切板!`, 'success', 2000)
760
- },
761
- close () {
762
- this.printflag = false
763
- this.clean()
764
- },
765
- close2 () {
766
- this.resshow = false
767
- },
768
- closemodal () {
769
- this.batchMeterShow = false
770
- },
771
- createInfoForFile () {
772
- this.batchMeterShow = true
773
- },
774
- hidden () {
775
- this.criteriaShow = !this.criteriaShow
776
- },
777
- search () {
778
- this.$refs.paged.$refs.criteria.search()
779
- },
780
- // selectdata () {
781
- //
782
- // },
783
- modifyUser (row) {
784
- this.isOper = true
785
- this.createFile = true
786
- this.isedit = true
787
- this.row = row
788
- this.areainfo = null
789
- this.row.version = row.version
790
- },
791
- clean () {
792
- this.createFile = false
793
- this.row = null
794
- this.isOper = false
795
- this.areainfo = null
796
- // this.$refs.paged.$refs.grid.select(null)
797
- this.$refs.paged.$refs.grid.model.rows = this.rows
798
- },
799
- createnewfile () {
800
- this.isOper = true
801
- this.createFile = true
802
- this.isedit = false
803
- this.row = null
804
- this.areainfo = null
805
- // this.$refs.info.clearinfo()
806
- },
807
- renew () {
808
- this.row = null
809
- this.areainfo = null
810
- this.isOper = false
811
- this.$refs.info.clearinfo()
812
- this.clearCondition()
813
- this.search()
814
- // 建档或修正档案成功刷新地址列表
815
- this.$refs.addressfiles.$refs.paged.$refs.cri.search()
816
- },
817
- clearCondition () {
818
- Object.keys(this.$refs.paged.$refs.criteria.model).forEach((key) => {
819
- this.$refs.paged.$refs.criteria.model[key] = ''
820
- })
821
- },
822
-
823
- bulkOperations (name, type) {
824
- if (name === '批量销户') {
825
- this.batcan = true
826
- this.batenable = false
827
- this.newArea = false
828
- } else if (name === '批量启用') {
829
- this.batenable = true
830
- this.batcan = false
831
- this.newArea = false
832
- }
833
- },
834
- closexiaohu () {
835
- this.xiaohushow = false
836
- },
837
- closeBatchAdjustables () {
838
- this.showModifyAdjustables = false
839
- },
840
- xiaohu () {
841
- this.xiaohushow = true
842
- },
843
- batchCancellation () {
844
- this.$showMessage('此操作无法还原,是否确定要批量销户?', ['confirm', 'cancel']).then(async (res) => {
845
- if (res === 'confirm') {
846
- var infoIds = []
847
- var count = 0
848
- this.model.rows.forEach((item) => {
849
- item.f_state = '有效'
850
- item.f_user_state = item.f_user_state
851
- item.f_operat_type = '销户'
852
- item.f_operator = Vue.$login.f.name
853
- item.f_operatorid = Vue.$login.f.id
854
- item.f_orgid = Vue.$login.f.orgid
855
- item.f_orgname = Vue.$login.f.orgs
856
- item.f_depid = Vue.$login.f.depids
857
- item.f_depname = Vue.$login.f.deps
858
- item.f_describe = `${Vue.$login.f.name}对${item.f_user_name}进行批量销户`
859
- item.f_comments = this.xiaohureason
860
- infoIds.push(item)
861
- count++
862
- })
863
- await this.$resetpost('api/af-revenue/logic/saveCancellation', {infoIds: infoIds}, {resolveMsg: null, rejectMsg: '批量销户失败'}).then((res) => {
864
- if(res && res.data){
865
- this.$showMessage(`本次批量销户总计: ${res.data.allnum}户 ,成功: ${res.data.successnum}户 ,失败(已经销户): ${res.data.errornum2} 户,失败(待审核): ${res.data.errornum1}户 `);
866
- }
867
- this.xiaohushow = false
868
- this.close()
869
- this.search()
870
- })
871
- }
872
- })
873
- },
874
- batchSuccess () {
875
- this.clearCondition()
876
- this.batchClean()
877
- },
878
- batchClean () {
879
- this.batcan = false
880
- this.batenable = false
881
- this.newArea = false
882
- this.search()
883
- },
884
- buildFile (row) {
885
- // console.log('我是建档。。。', row)
886
- this.row = row
887
- },
888
- // 小区批量建档
889
- bulidFiles (row) {
890
- this.row = null
891
- this.areainfo = row
892
- // 将列表的数据清空
893
- this.$refs.paged.$refs.grid.model.rows = []
894
- },
895
- // 小区批量建档成功
896
- buildFileSuccess (data) {
897
- // console.log('建档案成功', data)
898
- this.model.rows.unshift(data)
899
- },
900
- selfSearch (args) {
901
- this.$refs.paged.$refs.grid.selectInit()
902
- args.condition = `${args.condition} ` + this.orgcondition
903
- this.criteriaShow = false
904
- this.$refs.paged.$refs.grid.$el.scrollTop = 0
905
- this.model.search(args.condition, args.model)
906
- let http = new HttpResetClass()
907
-
908
- this.clean()
909
- },
910
- // printok () {
911
- // console.log("======================")
912
- // //this.$dispatch('success')
913
- // },
914
- sort (field, rule) {
915
- // 将所有排序方式设为不排序,实现相互排斥
916
- for (let key in this.orderFields) {
917
- if (key === field) {
918
- this.orderFields[key] = rule
919
- } else {
920
- this.orderFields[key] = 'no'
921
- }
922
- }
923
- // 如果新规则不排序,还原为默认排序
924
- if (rule === 'no') {
925
- this.model.paramSource.orderitem = `'${this.orderDefault}'`
926
- } else {
927
- this.model.paramSource.orderitem = `'${field} ${rule}'`
928
- }
929
-
930
- this.search()
931
- },
932
-
933
- getLocation (row) {
934
- // 可能会存在添加,完善,建档
935
- addressInfoGen(this, row)
936
- },
937
- areaFiles (row) {
938
- row.isEdit = true
939
- row.f_residential_area_id = row.id
940
- // row.id = null
941
- delete row.id
942
- this.bulidFiles(row)
943
- },
944
- async initAdjustables () {
945
- console.log('初始化调压箱', this.$GetSaleParam)
946
- let arr = []
947
- let filter = this.$login.f.orgid
948
- this.$GetSaleParam.getAdjustable(filter).forEach((item) => {
949
- let temp = {}
950
- temp.label = `[${item.value.f_adjustable_id}]-${item.label}`
951
- temp.value = `${item.value.id}`
952
- arr.push(temp)
953
- })
954
- this.adjustables = [{label: '全部', value: ''}, ...arr]
955
- this.adjustablesNew = arr
956
- // 初始化气表品牌
957
- let brandArr = []
958
- this.$GetSaleParam.getGasbrand().forEach((item) => {
959
- let temp1 = {}
960
- temp1.label = item.label
961
- temp1.value = item.value.f_meter_brand
962
- brandArr.push(temp1)
963
- })
964
- this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
965
-
966
- // 初始化现场表具型号:从后端查询 t_userfiles.f_xc_meter_style 去重
967
- try {
968
- const result = await this.$resetpost('api/af-revenue/sql/singleTable_OrderBy', {
969
- data: {
970
- tablename: 't_userfiles',
971
- items: 'distinct f_xc_meter_style as label',
972
- condition: "f_xc_meter_style is not null and f_xc_meter_style != ''",
973
- orderitem: 'f_xc_meter_style'
974
- }
975
- }, {resolveMsg: null, rejectMsg: '获取现场表具型号失败'})
976
- const options = []
977
- for (let row of result.data) {
978
- if (row.label) options.push({label: row.label, value: row.label})
979
- }
980
- this.metermodels = [{label: '全部', value: ''}, ...options]
981
- } catch (e) {
982
- console.error('获取现场表具型号失败', e)
983
- this.metermodels = [{label: '全部', value: ''}]
984
- }
985
- },
986
- importFile () {
987
- this.show = true
988
- },
989
- pin () {
990
- this.batchpinshow = true
991
- },
992
- clear () {
993
- Object.keys(this.$refs.paged.$refs.criteria.model).forEach((key) => {
994
- this.$refs.paged.$refs.criteria.model[key] = []
995
- })
996
- },
997
- getorg (val) {
998
- this.f_filialeid = val[0]
999
- }
1000
- },
1001
- computed: {
1002
- userstates () {
1003
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('客户状态')]
1004
- },
1005
- usegas () {
1006
- return [{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: '否'}]
1007
- },
1008
- areas () {
1009
- let rs = []
1010
- for (let i = 0; i < this.$login.f.f_allArea.length; i++) {
1011
- let temp = {
1012
- label: this.$login.f.f_allArea[i].label,
1013
- value: this.$login.f.f_allArea[i].label
1014
- }
1015
- rs.push(temp)
1016
- }
1017
- return [{label: '全部', value: ''}, ...rs]
1018
- },
1019
- firestates () {
1020
- return [
1021
- {label: '全部', value: ''},
1022
- {label: '点火', value: '1'},
1023
- {label: '未点火', value: '0'}
1024
- ]
1025
- },
1026
- jurisdiction () {
1027
- return this.$login.r
1028
- }
1029
- },
1030
- watch: {
1031
- // 每次查询将查询到的数据存储起来,供选择操作后的替换
1032
- 'model.state' (val) {
1033
- if (val === '正确') {
1034
- this.rows = this.model.rows
1035
- }
1036
- },
1037
- 'f_filialeid' (val) {
1038
- loadParamGem(this)
1039
- }
1040
- },
1041
- events: {
1042
- FileUpload: function (file, res) {
1043
- let data = {
1044
- tablename: 't_userinfo',
1045
- filepath: res.path
1046
- }
1047
- this.$resetpost('api/af-revenue/logic/import', data, {resolveMsg: null, rejectMsg: '上传失败'}).then((res) => {
1048
- this.close()
1049
- this.$showAlert(`一共上传${res.data.total}条数据, 成功${res.data.successnum}条`, 'success', 2000)
1050
- this.search()
1051
- })
1052
- },
1053
- 'onFileUpload': async function (file, res) {
1054
- if (this.batchMeterShow) {
1055
- this.iswork = true
1056
- // 当前上传的是批量导入的档案
1057
- let param = {
1058
- filepath: res.f_downloadpath,
1059
- f_operator: this.$login.f.name,
1060
- f_operatorid: this.$login.f.id,
1061
- f_orgid: this.$login.f.orgid,
1062
- f_orgname: this.$login.f.orgs,
1063
- f_depid: this.$login.f.depids,
1064
- f_depname: this.$login.f.deps
1065
- }
1066
- let self = this
1067
- try {
1068
- await axios.post('api/af-revenue/logic/newSettleFileImport',
1069
- {data: param}, {timeout: 10 * 60 * 1000}).then((res) => {
1070
- if (res.data) {
1071
- self.$showMessage(`本次上传共上传${res.data.totalsum}条数据, 成功${res.data.successnum}条,失败${res.data.errorsum}条,具体失败数据请在稽查查询错误查询中查看!!`)
1072
- self.iswork = false
1073
- // this.$showAlert('导入成功','success',2000)
1074
- }
1075
- })
1076
- } catch (error) {
1077
- if (error.response) {
1078
- if (error.response.status == 500) {
1079
- this.$showAlert('服务繁忙,请重试!!!', 'danger', 3000)
1080
- } else if (error.response.status == 404) {
1081
- this.$showAlert('服务运行中,请耐心等待后进行重试!!', 'danger', 3000)
1082
- } else {
1083
- this.$showAlert(error.response.data, 'danger', 2000)
1084
- }
1085
- console.log(error.response.data)
1086
- console.log(error.response.status)
1087
- console.log(error.response.headers)
1088
- } else if (error.request) {
1089
- console.log(error.request)
1090
- this.$showAlert(error.request, 'danger', 2000)
1091
- } else {
1092
- console.log('Error', error.message)
1093
- this.$showAlert(error.message, 'danger', 2000)
1094
- }
1095
- this.iswork = false
1096
- }
1097
- this.batchMeterShow = false
1098
- // this.$showAlert(`一共上传${res.data.total}条数据, 成功${res.data.successnum}条`, 'success', 2000)
1099
- this.search()
1100
- } else {
1101
- let data = {
1102
- tablename: 't_userinfo',
1103
- filepath: res.f_downloadpath,
1104
- f_operator: this.$login.f.name,
1105
- f_operatorid: this.$login.f.id,
1106
- f_orgid: this.$login.f.orgid,
1107
- f_orgname: this.$login.f.orgs,
1108
- f_depid: this.$login.f.depids,
1109
- f_depname: this.$login.f.deps
1110
- }
1111
- this.$resetpost('api/af-revenue/logic/sale_userfilesImp', {data: data}, {
1112
- resolveMsg: null,
1113
- rejectMsg: '上传失败'
1114
- }).then((res) => {
1115
- this.show = false
1116
- this.$showAlert(`一共上传${res.data.total}条数据, 成功${res.data.successnum}条`, 'success', 2000)
1117
- this.search()
1118
- })
1119
- }
1120
- },
1121
- 'confirmaddress' (res) {
1122
- console.log('选定地址', res)
1123
- }
1124
- }
1125
- }
1126
- </script>
1127
- <style>
1128
- .nav-tabss ul > li > a {
1129
- padding: 5px 10px;
1130
- }
1131
- /* 两个字符占用4个字符距离 */
1132
- .w2 {
1133
- letter-spacing:2em; /*如果需要y个字两端对齐,则为(x-y)/(y-1),这里是(4-2)/(2-1)=2em */
1134
- margin-right:-2em; /*同上*/
1135
- }
1136
- /* 三个字符占用4个字符距离 */
1137
- .w3 {
1138
- letter-spacing: 0.5em;
1139
- margin-right: -0.5em
1140
- }
1141
- </style>
1
+ <template>
2
+ <div v-show='!isShowDetailInfo' id="file-user-files" class="binary">
3
+ <div :class="{'basic-main': !createFile,'binary-left': createFile}" >
4
+ <div class="flex" style="flex: 1;">
5
+ <div style="flex: 1.2">
6
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
7
+ <criteria @condition-changed="$parent.selfSearch" partial='criteria' v-ref:criteria>
8
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
9
+ <div class="row">
10
+
11
+ <div
12
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
13
+ class="form-group"
14
+ v-if="$parent.$parent.clientWidth>1600">
15
+ <label class="font_normal_body">客户编号</label>
16
+ <input class="input_search" condition="f_userinfo_code = '{}'"
17
+ placeholder='客户编号'
18
+ style="width:60%" type="text" v-model="model.f_userinfo_code">
19
+ </div>
20
+ <res-select-group v-if="$parent.$parent.clientWidth<1600&&!$parent.$parent.createFile" :style="$parent.$parent.createFile?'col-sm-4':'col-sm-2'" :initres="$parent.$parent.initres" :show-component="['company','department','operator']" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
21
+
22
+ <div
23
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
24
+ class="form-group"
25
+ v-if="$parent.$parent.clientWidth<1600&&!$parent.$parent.createFile">
26
+ <label class="font_normal_body">客户编号</label>
27
+ <input class="input_search" condition="f_userinfo_code = '{}'"
28
+ placeholder='客户编号'
29
+ style="width:60%" type="text" v-model="model.f_userinfo_code">
30
+ </div>
31
+
32
+ <div
33
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
34
+ class="form-group" v-if="!$parent.$parent.createFile">
35
+ <label class="font_normal_body">客户名称</label>
36
+ <input class="input_search" condition="f_user_name like '%{}%'"
37
+ placeholder='客户姓名'
38
+ style="width:60%" type="text" v-model="model.f_user_name">
39
+ </div>
40
+ <div
41
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
42
+ class="form-group">
43
+ <label class="font_normal_body">合同编号</label>
44
+ <input class="input_search" condition="f_contract_id = '{}'"
45
+ v-model="model.f_contract_id"
46
+ placeholder='合同编号'
47
+ style="width:60%" type="text" >
48
+ </div>
49
+ <div
50
+ :class="{'col-sm-3':$parent.$parent.clientWidth>1600||!$parent.$parent.createFile,'col-sm-4':$parent.$parent.clientWidth<1600&&$parent.$parent.createFile}"
51
+ class="form-group button-range">
52
+ <!--<button class="button_search button_spacing" style="width: 90px" @click="$parent.$parent.showFileInfo()">查看批量状态-->
53
+ <!--</button>-->
54
+ <button class="button_search button_spacing" type="button" @click="$parent.$parent.goChargeManage()">去收费</button>
55
+
56
+ <button @click="search(), $parent.$parent.clean()" class="button_search button_spacing"
57
+ style="float: right">查询
58
+ </button>
59
+ <button @click="$parent.$parent.clear()" class="button_clear button_spacing"
60
+ style="float: right">清空
61
+ </button>
62
+ <button @click="$parent.$parent.createnewfile()" class="button_search button_spacing"
63
+ style="float: right">单户建档
64
+ </button>
65
+ <button class="button_search button_spacing" style="width: 90px" @click="$parent.$parent.createInfoForFile()">批量建档
66
+ </button>
67
+ <button @click="$parent.$parent.importFile" class="button_export button_spacing"
68
+ style="float: right" v-if="false">导入
69
+ </button>
70
+ <!-- <button class="button_search" style="width: 90px" @click=" $parent.$parent.selectaddress()">选择地址</button>-->
71
+ <button @click="$parent.$parent.xiaohu()"
72
+ class="button_delete button_spacing"
73
+ style="float: right"
74
+ v-if="$parent.$parent.rows && $parent.$parent.rows.length > 1 && this.$login.r.includes('批量销户')">
75
+ 批量销户
76
+ </button>
77
+ <import-excel v-if="$parent.$parent.bacthPin === '销户导入'" template-btn-name= "销户模板" template-name= "销户模板" btn-name="导入销户" logic-name="batchpinusers" import-json="pinuser.json"></import-excel>
78
+ <button @click="$parent.$parent.bulkOperations('批量销户', 'batch-cancellation')"
79
+ class="button_delete button_spacing"
80
+ style="float: right"
81
+ v-if="$parent.$parent.rows && $parent.$parent.rows.length === 1 && $parent.$parent.rows[0].f_user_state === '正常'">
82
+ 销户
83
+ </button>
84
+ <button @click="$parent.$parent.bulkOperations('批量启用', 'batch-enable')"
85
+ class="button_search button_spacing"
86
+ style="float: right"
87
+ v-if="$parent.$parent.rows && $parent.$parent.rows.length === 1 && $parent.$parent.rows[0].f_user_state === '销户'">
88
+ 启用
89
+ </button>
90
+ <button @click="$parent.$parent.openBatchModal()" class="button_clear button_spacing"
91
+ style="float: right">批量修改调压箱
92
+ </button>
93
+ <div
94
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
95
+ @click="$parent.$parent.hidden()"
96
+ class="button_spacing"
97
+ style="float: right"></div>
98
+ </div>
99
+ </div>
100
+ <div class="row" v-if="$parent.$parent.criteriaShow">
101
+
102
+ <div
103
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
104
+ class="form-group"
105
+ v-if="$parent.$parent.clientWidth<1600&&$parent.$parent.createFile">
106
+ <label class="font_normal_body">客户编号</label>
107
+ <input class="input_search" condition="f_userinfo_code = '{}'"
108
+ placeholder='客户编号'
109
+ style="width:60%" type="text" v-model="model.f_userinfo_code">
110
+ </div>
111
+ <res-select-group v-if="$parent.$parent.clientWidth<1600&&$parent.$parent.createFile" :style="$parent.$parent.createFile?'col-sm-4':'col-sm-2'" :initres="$parent.$parent.initres" :show-component="['company','department','operator']" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
112
+ <res-select-group v-if="$parent.$parent.clientWidth>=1600" :style="$parent.$parent.createFile?'col-sm-4':'col-sm-2'" :initres="$parent.$parent.initres" :show-component="['company','department','operator']" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
113
+
114
+ <div
115
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
116
+ class="form-group" v-if="$parent.$parent.createFile">
117
+ <label class="font_normal_body">客户名称</label>
118
+ <input class="input_search" condition="f_user_name like '%{}%'"
119
+ placeholder='客户姓名'
120
+ style="width:60%" type="text" v-model="model.f_user_name">
121
+ </div>
122
+ <div
123
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
124
+ class="form-group">
125
+ <label class="font_normal_body">旧客户号</label>
126
+ <input class="input_search" condition="f_olduserinfo_code = '{}'" placeholder='客户编号'
127
+ style="width:60%"
128
+ type="text"
129
+ v-model="model.f_olduserinfo_code">
130
+ </div>
131
+ <div
132
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
133
+ class="form-group">
134
+ <label class="font_normal_body">客户类型</label>
135
+ <v-select :options='$parent.$parent.user_type' :value.sync="model.f_user_type"
136
+ close-on-select condition="f_user_type='{}'"
137
+ placeholder='客户类型' v-model="model.f_user_type"></v-select>
138
+ </div>
139
+ <div
140
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
141
+ class="form-group">
142
+ <label class="font_normal_body">用气性质</label>
143
+ <v-select :options='$parent.$parent.gasproperties' :value.sync="model.f_gasproperties"
144
+ close-on-select condition="f_gasproperties='{}'"
145
+ placeholder='用气性质' v-model="model.f_gasproperties"></v-select>
146
+ </div>
147
+ <div
148
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
149
+ class="form-group">
150
+ <label class="font_normal_body">气表类型</label>
151
+ <v-select :options='$parent.$parent.meter_classify' :value.sync="model.f_meter_classify"
152
+ close-on-select condition="f_meter_classify='{}'"
153
+ placeholder='气表类型' v-model="model.f_meter_classify"></v-select>
154
+ </div>
155
+ <div class="form-group" :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}">
156
+ <label class="font_normal_body">气表品牌</label>
157
+ <v-select :value.sync="model.f_meter_brand" multiple
158
+ v-model="model.f_meter_brand"
159
+ :options='$parent.$parent.meterbrands' placeholder='请选择'
160
+ condition="f_meter_brand in {}"
161
+ close-on-select></v-select>
162
+ </div>
163
+ <div class="form-group" :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}">
164
+ <label class="font_normal_body">现场表具型号</label>
165
+ <v-select :value.sync="model.f_xc_meter_style" multiple
166
+ v-model="model.f_xc_meter_style"
167
+ :options='$parent.$parent.metermodels' placeholder='请选择'
168
+ condition="f_xc_meter_style in {}"
169
+ close-on-select></v-select>
170
+ </div>
171
+ <!-- <div-->
172
+ <!-- :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"-->
173
+ <!-- class="form-group">-->
174
+ <!-- <label class="font_normal_body">气表品牌</label>-->
175
+ <!-- <v-select :options='$parent.$parent.meter_brand' :value.sync="model.f_meter_brand"-->
176
+ <!-- close-on-select condition="f_meter_brand='{}'"-->
177
+ <!-- placeholder='气表品牌' v-model="model.f_meter_brand"></v-select>-->
178
+ <!-- </div>-->
179
+ <div
180
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
181
+ class="form-group">
182
+ <label class="font_normal_body">客户电话</label>
183
+ <input class="input_search" condition="f_user_phone = '{}'" placeholder='客户电话' style="width:60%"
184
+ type="text"
185
+ v-model="model.f_user_phone">
186
+ </div>
187
+ <div
188
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
189
+ class="form-group">
190
+ <label class="font_normal_body">小&emsp;&emsp;区</label>
191
+ <input class="input_search" condition="f_residential_area like '%{}%'" placeholder='小区' style="width:60%"
192
+ type="text" v-model="model.f_residential_area">
193
+ </div>
194
+ <div
195
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
196
+ class="form-group">
197
+ <label class="font_normal_body">客户地址</label>
198
+ <input class="input_search" condition="f_address like '%{}%'" placeholder='客户地址' style="width:60%"
199
+ type="text" v-model="model.f_address">
200
+ </div>
201
+ <div
202
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
203
+ class="form-group">
204
+ <label class="font_normal_body">客户状态</label>
205
+ <v-select :options='$parent.$parent.userstates' :value.sync="model.f_user_state"
206
+ close-on-select condition="f_user_state='{}'"
207
+ placeholder='客户状态' v-model="model.f_user_state"></v-select>
208
+ </div>
209
+ <div
210
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
211
+ class="form-group">
212
+ <label class="font_normal_body">发卡状态</label>
213
+ <v-select :options='$parent.$parent.f_whether_hairpin' :value.sync="model.f_whether_hairpin"
214
+ close-on-select condition="f_whether_hairpin = '{}'"
215
+ placeholder='发卡状态' v-model="model.f_whether_hairpin"></v-select>
216
+ </div>
217
+ <div
218
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
219
+ class="form-group">
220
+ <label class="font_normal_body">卡&emsp;&emsp;号</label>
221
+ <input class="input_search" condition="f_card_id = '{}'" placeholder='卡号' style="width:60%"
222
+ type="text" v-model="model.f_card_id">
223
+ </div>
224
+ <div
225
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
226
+ class="form-group">
227
+ <label class="font_normal_body">用&nbsp;&nbsp;气&nbsp;点</label>
228
+ <input class="input_search" condition="f_userfiles_address like '%{}%'" placeholder='用气点名称' style="width:60%"
229
+ type="text" v-model="model.f_userfiles_address">
230
+ </div>
231
+ <div
232
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
233
+ class="form-group">
234
+ <label class="font_normal_body" style="width: auto">天然气证</label>
235
+ <v-select :options='$parent.$parent.usegas' :value.sync="model.f_send_usegas_card"
236
+ close-on-select condition="f_send_usegas_card='{}'"
237
+ placeholder='天然气使用证' v-model="model.f_send_usegas_card"></v-select>
238
+ </div>
239
+ <div
240
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
241
+ class="form-group">
242
+ <label class="font_normal_body">调&ensp;压&ensp;箱</label>
243
+ <v-select :options='$parent.$parent.adjustables' :search='true'
244
+ :value.sync="model.f_adjustable_id"
245
+ close-on-select
246
+ condition="f_adjustable_id = '{}'" placeholder='调压箱'
247
+ v-model='model.f_adjustable_id'></v-select>
248
+ </div>
249
+ <div
250
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
251
+ class="form-group" >
252
+ <label class="font_normal_body">使用类型</label>
253
+ <v-select :options='$parent.$parent.useoptions' :search='true'
254
+ :value.sync="model.f_usetype"
255
+ close-on-select
256
+ condition="f_usetype = '{}'" placeholder='使用类型'
257
+ v-model='model.f_usetype'></v-select>
258
+ </div>
259
+ <div
260
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
261
+ class="form-group" >
262
+ <label class="font_normal_body" title="参数名称:用户等级">客户等级</label>
263
+ <v-select :options='$parent.$parent.userlevel' :search='true'
264
+ :value.sync="model.userlevel"
265
+ close-on-select
266
+ condition="f_user_level = '{}'" placeholder='客户等级'
267
+ v-model='model.userlevel'></v-select>
268
+ </div>
269
+ <div
270
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
271
+ class="form-group" >
272
+ <label class="font_normal_body">工业备注</label>
273
+ <v-select :options='$parent.$parent.industrycomments' :value.sync="model.f_gongye_type"
274
+ close-on-select condition="f_gongye_type='{}'"
275
+ placeholder='工业备注' v-model="model.f_gongye_type"></v-select>
276
+ </div>
277
+ <div :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
278
+ class="form-group">
279
+ <label class="font_normal_body" title="建档开始时间">开始时间</label>
280
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_start_date"
281
+ class="datepicker"
282
+ condition="f_createfile_date >= '{} 00:00:00' "
283
+ placeholder="建档开始时间"
284
+ style="width:60%"
285
+ v-model="model.f_start_date"
286
+ ></datepicker>
287
+ </div>
288
+ <div :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
289
+ class="form-group">
290
+ <label class="font_normal_body" title="建档结束时间">结束时间</label>
291
+ <datepicker :format="'yyyy-MM-dd'" :value.sync="model.f_end_date"
292
+ class="datepicker"
293
+ condition="f_createfile_date <= '{} 23:59:59' "
294
+ placeholder="建档结束时间"
295
+ style="width:60%"
296
+ v-model="model.f_end_date"
297
+ ></datepicker>
298
+ </div>
299
+ <div
300
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
301
+ class="form-group">
302
+ <label class="font_normal_body">表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</label>
303
+ <input class="input_search" condition="f_meternumber ='{}'" placeholder='表号' style="width:60%"
304
+ type="text" v-model="model.f_meternumber">
305
+ </div>
306
+ <div
307
+ :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
308
+ class="form-group">
309
+ <label class="font_normal_body">备&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注</label>
310
+ <input class="input_search" condition="f_comments like '%{}%'" placeholder='备注' style="width:60%"
311
+ type="text" v-model="model.f_comments">
312
+ </div>
313
+ </div>
314
+ </div>
315
+ </criteria>
316
+ <data-grid :model="model" class="list_area table_sy" @dblclick="$parent.modifyUser" v-ref:grid partial='list' optional>
317
+ <template partial='head'>
318
+ <tr>
319
+ <th>
320
+ <nobr>序号</nobr>
321
+ </th>
322
+ <th>
323
+ <nobr>客户编号</nobr>
324
+ </th>
325
+ <th>
326
+ <nobr>旧档案编号</nobr>
327
+ </th>
328
+ <th>
329
+ <nobr>客户名称</nobr>
330
+ </th>
331
+ <th>
332
+ <nobr>合同编号</nobr>
333
+ </th>
334
+ <th>
335
+ <nobr>表号</nobr>
336
+ </th>
337
+ <th>
338
+ <nobr>卡号</nobr>
339
+ </th>
340
+ <th>
341
+ <nobr>客户电话</nobr>
342
+ </th>
343
+ <th v-if="!$parent.$parent.$parent.isOper">
344
+ <nobr>客户地址</nobr>
345
+ </th>
346
+ <th>
347
+ <nobr>客户类型</nobr>
348
+ </th>
349
+ <th>
350
+ <nobr>用气性质</nobr>
351
+ </th>
352
+ <th>
353
+ <nobr>气表类型</nobr>
354
+ </th>
355
+ <th>
356
+ <nobr>气表品牌</nobr>
357
+ </th>
358
+ <th>
359
+ <nobr>现场表具型号</nobr>
360
+ </th>
361
+ <th>
362
+ <nobr>发卡状态</nobr>
363
+ </th>
364
+ <th v-if="!$parent.$parent.$parent.createFile">
365
+ <nobr>用气点名称</nobr>
366
+ </th>
367
+ <th v-if="!$parent.$parent.$parent.createFile">
368
+ <nobr>状态</nobr>
369
+ </th>
370
+ <th v-if="!$parent.$parent.$parent.createFile">
371
+ <nobr>开户时间</nobr>
372
+ </th>
373
+ <th>
374
+ <nobr>备注</nobr>
375
+ </th>
376
+ <th >
377
+ <nobr>客户等级</nobr>
378
+ </th>
379
+ <!--<th>-->
380
+ <!--<nobr v-if="this.$login.r.includes('通知单打印')||this.$login.r.includes('流程表打印') ">下载</nobr>-->
381
+ <!--</th>-->
382
+ <th>
383
+ <nobr>操作</nobr>
384
+ </th>
385
+ </tr>
386
+ </template>
387
+ <template partial='body'>
388
+ <td style="text-align: center;">{{$index + 1}}</td>
389
+ <td style="text-align: center;">{{row.f_userinfo_code}}</td>
390
+ <td style="text-align: center;">{{row.f_olduserinfo_code}}</td>
391
+ <td style="text-align: center;">
392
+ <span @click="$parent.$parent.$parent.dealmsg(row)"><a><b>{{row.f_user_name}}</b></a></span>
393
+ </td>
394
+ <td style="text-align: center;">{{row.f_contract_id}}</td>
395
+ <td style="text-align: center;">{{row.f_meternumber}}</td>
396
+ <td style="text-align: center;">{{row.f_card_id}}</td>
397
+ <td style="text-align: center;">{{row.f_user_phone}}</td>
398
+ <td style="text-align: center;" v-if="!$parent.$parent.$parent.isOper">{{row.f_address_detail ? row.f_address + row.f_address_detail :
399
+ row.f_address}}
400
+ </td>
401
+ <td style="text-align: center;">{{row.f_user_type}}</td>
402
+ <td style="text-align: center;">{{row.f_gasproperties}}</td>
403
+ <td style="text-align: center;">{{row.f_meter_classify}}</td>
404
+ <td style="text-align: center;">{{row.f_meter_brand}}</td>
405
+ <td style="text-align: center;">{{row.f_xc_meter_style}}</td>
406
+ <td style="text-align: center;">{{row.f_whether_hairpin}}</td>
407
+ <td style="text-align: center;" v-if="!$parent.$parent.$parent.createFile">{{row.f_userfiles_address}}</td>
408
+ <td style="text-align: center;" v-if="!$parent.$parent.$parent.createFile">{{row.f_user_state}}</td>
409
+ <td style="text-align: center;" v-if="!$parent.$parent.$parent.createFile">{{row.f_open_date}}</td>
410
+ <td style="text-align: center;" >{{row.f_comments}}</td>
411
+ <td style="text-align: center;" >{{row.f_user_level}}</td>
412
+ <td style="text-align: center;">
413
+ <button type="button" name="button" class="button_search-2 button_spacing width-60"
414
+ v-if="row.f_user_state === '正常' || row.f_user_state==='预备'"
415
+ @click.stop="$parent.$parent.$parent.modifyUser(row)">修正
416
+ </button>
417
+ </td>
418
+ </template>
419
+ </data-grid>
420
+ </criteria-paged>
421
+ </div>
422
+
423
+ <modal v-if="batcan || batenable" :show.sync="batcan || batenable" width="1500px" v-ref:modal large backdrop="false">
424
+ <article slot="modal-body" class="modal-body">
425
+ <batch-cancellation v-if="batcan" :useraccount="model.rows" @clean="batchClean"
426
+ @success="batchSuccess"></batch-cancellation>
427
+ <batch-enable v-if="batenable" :useraccount="model.rows" @clean="batchClean"
428
+ @success="batchSuccess"></batch-enable>
429
+ </article>
430
+ <footer slot="modal-footer" class="modal-footer">
431
+ </footer>
432
+ </modal>
433
+
434
+
435
+ </div>
436
+ </div>
437
+ <div class="binary-right" :style="{width:'70%'}" v-if="createFile">
438
+ <div class="auto" style="height: 100%; margin-top: 1%" >
439
+ <file-user-general-info :f_filialeid="f_filialeid" :row="row" :areainfo="areainfo"
440
+ :haslimit="config.hasLimit" @success="renew" @clean="clean"
441
+ :isedit="isedit"
442
+ @build-success="buildFileSuccess" v-ref:info></file-user-general-info>
443
+ </div>
444
+ </div>
445
+
446
+ <modal :show.sync="show" width="500px" title="文件导入" v-ref:modal large backdrop="false">
447
+ <article slot="modal-body" class="modal-body">
448
+ <file-upload class="my-file-uploader btn btn-success" name="UploadFile" style="border-radius: 2px;"
449
+ action="rs/file/uploadFile" tagname="导入档案" v-ref:file :headers="headers"></file-upload>
450
+ </article>
451
+ <footer slot="modal-footer" class="modal-footer">
452
+ </footer>
453
+ </modal>
454
+ <modal :show.sync="batchMeterShow" width="570px" title="文件导入" v-ref:modal large backdrop="false">
455
+ <article slot="modal-body" class="modal-body">
456
+ <file-upload class="my-file-uploader col-sm-9" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
457
+ <button class="button_clear btn-gn" style="margin-top: 10px;background-color: #6aa6e2;" @click="downloadFiles()">模板下载
458
+ </button>
459
+ </article>
460
+ <footer slot="modal-footer" class="modal-footer">
461
+ </footer>
462
+ </modal>
463
+
464
+ <modal :show.sync="xiaohushow" width="500px" title="批量销户" v-ref:modal large backdrop="false">
465
+ <article slot="modal-body" class="modal-body" style="height: 70px">
466
+ <div>
467
+ <label class="font_normal_body" style="line-height: 20px">销户原因</label>
468
+ <input class="input_search"
469
+ placeholder='销户原因'
470
+ type="text" v-model="xiaohureason">
471
+ </div>
472
+ </article>
473
+ <footer slot="modal-footer" class="modal-footer">
474
+ <button class="button_search button_spacing" type="button" @click="batchCancellation()">确认</button>
475
+ <button class="button_search button_spacing" type="button" @click="closexiaohu()">取消</button>
476
+ </footer>
477
+ </modal>
478
+ <modal :show.sync="resshow" width="500px" title="建档成功" v-ref:modal large backdrop="false">
479
+ <article slot="modal-body" class="modal-body" style="height: 70px">
480
+ <div>
481
+ <label class="font_normal_body" style="line-height: 20px">客户编号</label>
482
+ <input class="input_search" condition="f_userinfo_code = '{}'"
483
+ placeholder='客户编号' disabled
484
+ type="text" v-model="resdata">
485
+ </div>
486
+ </article>
487
+ <footer slot="modal-footer" class="modal-footer">
488
+ <button class="button_search button_spacing" type="button" @click="goChargeManage()">去收费</button>
489
+ <button class="button_search button_spacing" type="button" @click="doCopy()">复制</button>
490
+ <button class="button_search button_spacing" type="button" @click="close2()">取消</button>
491
+ </footer>
492
+ </modal>
493
+ <modal :show.sync="showModifyAdjustables" width="500px" title="批量修改调压箱" large backdrop="false">
494
+ <article slot="modal-body" class="modal-body" style="height: 70px">
495
+ <label class="font_normal_body">调&ensp;压&ensp;箱</label>
496
+ <v-select :options='adjustablesNew' :search='true'
497
+ :value.sync="f_adjustable_id"
498
+ close-on-select
499
+ placeholder='调压箱'
500
+ v-model='f_adjustable_id'></v-select>
501
+ </article>
502
+ <footer slot="modal-footer" class="modal-footer">
503
+ <button class="button_search button_spacing" :disabled="!f_adjustable_id || f_adjustable_id.length < 1 " type="button" @click="batchModifyAdjustables()">确认</button>
504
+ <button class="button_search button_spacing" type="button" @click="closeBatchAdjustables()">取消</button>
505
+ </footer>
506
+ </modal>
507
+ <!--<user-flow-sheet :show="printflag" :bill-config='configs' :bill-data='billData' :data='newdata' v-on:toggle="close" @printok="printok" v-ref:printbill></user-flow-sheet>-->
508
+
509
+ <work-busy :is-busy="iswork" v-show="iswork"></work-busy>
510
+ </div>
511
+ <div v-if="isShowDetailInfo">
512
+ <user-info-detail-manage-new :f_userinfo_id="rowData.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
513
+ </div>
514
+ </template>
515
+
516
+ <script>
517
+ import {PagedList, HttpResetClass} from 'vue-client'
518
+ import Vue from 'vue'
519
+ import co from 'co'
520
+ import axios from 'axios'
521
+
522
+ let loadParamGem = async function (self) {
523
+ await self.$getConfig(self, 'UserFiles')
524
+ self.headers.username = Vue.$login.f.name
525
+ self.headers.username = Vue.$login.guid()
526
+ await self.$LoadParams.loadParam(self.f_filialeid)
527
+ // await self.$LoadParams.loadMeterBook(self.f_filialeid)
528
+ // await self.search()
529
+ await self.initAdjustables()
530
+ }
531
+
532
+ let addressInfoGen = async function (self, areainfo) {
533
+ areainfo.isEdit = false
534
+ if (areainfo.file_num > 0 && !areainfo.f_userinfo_id) {
535
+ // 完善
536
+ // 将表档案信息带入,完善客户信息
537
+ let getMetersInfo = await self.$resetpost('api/af-revenue/logic/sale_getMeterByAddress', {
538
+ data: {
539
+ f_useraddress_id: areainfo.id
540
+ }
541
+ }, {resolveMsg: null, rejectMsg: '获取表信息出错'})
542
+ areainfo.meter = getMetersInfo.data[0]
543
+ }
544
+ if (areainfo.file_num > 0 && areainfo.f_userinfo_id) {
545
+ // 添加 将客户信息带入
546
+ let getUserinfo = await self.$resetpost('api/af-revenue/sql/saleSingleTable', {
547
+ data: {
548
+ tablename: 't_userinfo',
549
+ condition: `f_userinfo_id = '${areainfo.f_userinfo_id}'`
550
+ }
551
+ }, {resolveMsg: null, rejectMsg: '获取档案出错'})
552
+
553
+ areainfo.user = getUserinfo.data[0]
554
+ }
555
+ self.bulidFiles(areainfo)
556
+ }
557
+
558
+ export default {
559
+ 'title': '档案信息',
560
+ data () {
561
+ return {
562
+ iswork: false,
563
+ isShowDetailInfo: false,
564
+ config: {
565
+ createType: ['address', 'area'], // 建档方式: address-地址建档 area-小区建档
566
+ hasLimit: true
567
+ },
568
+ bacthPin: '',
569
+ model: new PagedList('api/af-revenue/sql/filemanage_getUserfies', 30, {orderitem: '"f_userinfo_id DESC"'}),
570
+ row: null, // 选择一条客户信息,对其进行修改
571
+ areainfo: null, // 小区批量建档使用的数据
572
+ rows: [], // 客户档案选择一条时,将只显示一条信息,rows用来存放整页的数据
573
+ headers: {'username': this.$login.f.name, 'blodid': this.$login.guid()},
574
+ contract: [{label: '全部', value: ' is null or f_contract_id is not null'}, {
575
+ label: '有',
576
+ value: ' is not null'
577
+ },
578
+ {label: '无', value: ' is null'}],
579
+ orderDefault: 'f_createfile_date desc',
580
+ orderFields: {
581
+ f_userinfo_id: 'no'
582
+ },
583
+ initres: {
584
+ org: [this.$login.f.orgid],
585
+ dep: [],
586
+ user: []
587
+ },
588
+ orgcondition: `and f_orgid = '${this.$login.f.orgid}'`,
589
+ createFile: false,
590
+
591
+ curorgid: [this.$login.f.orgid],
592
+ f_filialeid: this.$login.f.orgid,
593
+
594
+ // 销户启用
595
+ batcan: false,
596
+ batenable: false,
597
+ version: '',
598
+ xiaohureason: '',
599
+ xiaohushow: false,
600
+ inputtores: this.$appdata.getParam('抄表员'),
601
+ adjustables: [],
602
+ adjustablesNew: [],
603
+ f_adjustable_id: '',
604
+ // 导入组件
605
+ show: false,
606
+
607
+ // 点击建档或修正时控制列表展示, 防止拥挤
608
+ isOper: false,
609
+
610
+ criteriaShow: false,
611
+ industrycomments: this.$appdata.getParam('工业备注') ? [{
612
+ label: '全部',
613
+ value: ''
614
+ }, ...this.$appdata.getParam('工业备注')] : [],
615
+ gasproperties: this.$appdata.getParam('用气性质') ? [{
616
+ label: '全部',
617
+ value: ''
618
+ }, ...this.$appdata.getParam('用气性质')] : [],
619
+ user_type: this.$appdata.getParam('用户类型') ? [{
620
+ label: '全部',
621
+ value: ''
622
+ }, ...this.$appdata.getParam('用户类型')] : [],
623
+ meter_classify: this.$appdata.getParam('气表类型') ? [{
624
+ label: '全部',
625
+ value: ''
626
+ }, ...this.$appdata.getParam('气表类型')] : [],
627
+ meterbrands: [],
628
+ metermodels: [],
629
+ f_whether_hairpin: this.$appdata.getParam('发卡状态') ? [{
630
+ label: '全部',
631
+ value: ''
632
+ }, ...this.$appdata.getParam('发卡状态')] : [],
633
+ showselectaddress: false,
634
+ isedit: false,
635
+ clientWidth: document.body.clientWidth,
636
+ showModifyAdjustables: false,
637
+ batchMeterShow: false,
638
+ billData: {
639
+ url: 'api/af-revenue/report/userignition',
640
+ bill: ''
641
+ },
642
+ configs: {
643
+ hasPrint: false, // 默认打票
644
+ hasBillManage: false // 默认不启用发票管理
645
+ },
646
+ printflag: false,
647
+ newdata: {},
648
+ resdata: '',
649
+ resshow: false,
650
+ batchpinshow: false, // 导入销户
651
+ titleShow: true, //是否显示部分档案信息类的筛选框
652
+ useoptions: this.$appdata.getParam('使用类型'),
653
+
654
+ userlevel: this.$appdata.getParam('用户等级') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户等级')] : []
655
+ }
656
+ },
657
+ ready () {
658
+ loadParamGem(this)
659
+ this.titleShow = this.$appdata.getSingleValue('是否显示筛选框') == null? true : this.$appdata.getSingleValue('是否显示筛选框')
660
+ this.getAuthority()
661
+ },
662
+ compiled () {
663
+ window.onresize = () => {
664
+ return (() => {
665
+ this.clientWidth = document.body.clientWidth
666
+ })()
667
+ }
668
+ },
669
+ methods: {
670
+ async openBatchModal() {
671
+ let rowdata = this.$refs.paged.$refs.grid.getRowData()
672
+ if (rowdata.length <= 0) {
673
+ this.$showMessage('不选择具体档案将批量修改所有满足条件的档案!')
674
+ }
675
+ const getAdjustables = await this.$resetpost('api/af-revenue/sql/singleTable_OrderBy',{
676
+ data: {
677
+ tablename: 't_adjustablebox',
678
+ items: 'f_adjustable_name as label, id as value',
679
+ condition: `f_filialeid = '${this.f_filialeid}'`,
680
+ orderitem: 'id desc'
681
+ }
682
+ })
683
+ console.log('调压箱数据', getAdjustables)
684
+ this.adjustablesNew = getAdjustables.data
685
+ this.showModifyAdjustables = true
686
+ },
687
+ async batchModifyAdjustables() {
688
+ let rowdata = this.$refs.paged.$refs.grid.getRowData()
689
+ let userfilesIds = rowdata.map(item => item.f_userfiles_id);
690
+ console.log('已选择的数据', userfilesIds)
691
+ console.log('已选择的调压箱', this.f_adjustable_id)
692
+ let model = {
693
+ f_adjustable_id: this.f_adjustable_id,
694
+ f_userfiles_ids: userfilesIds
695
+ }
696
+ if (rowdata.length <= 0) {
697
+ console.log('查看条件', this.model.condition)
698
+ model.condition = this.model.condition
699
+ }
700
+ await this.$resetpost('api/af-revenue/logic/batchModifyAdjustables', model, {
701
+ resolveMsg: null,
702
+ rejectMsg: '批量修改调压箱失败'
703
+ }).then((res) => {
704
+ if (res && res.data) {
705
+ this.$showMessage(`本次批量修改: ${res.data}户`);
706
+ }
707
+ this.closeBatchAdjustables()
708
+ this.selfSearch()
709
+ })
710
+
711
+ },
712
+ getAuthority () {
713
+ if (this.$login.r.find(value => value == '销户导入')) {
714
+ this.bacthPin = '销户导入'
715
+ }
716
+ },
717
+ getRes (obj) {
718
+ console.log("-----------------")
719
+ this.orgcondition = obj
720
+ if(this.$refs.paged.$refs.criteria.$refs.sel.depresid.length>0){
721
+ this.f_filialeid=this.$refs.paged.$refs.criteria.$refs.sel.depresid[0]
722
+ }else{
723
+ this.f_filialeid=this.$login.f.orgid
724
+ }
725
+
726
+ },
727
+ downloadFiles(){
728
+ let downurl='api/af-revenue/downloadfile/file?filename=批量建档导出Excel模板';
729
+ this.$downFile(downurl,'批量建档导出Excel模板.xlsx')
730
+ },
731
+ /**
732
+ * 退出用户详细信息页面
733
+ */
734
+ cancel () {
735
+ this.isShowDetailInfo = false
736
+ },
737
+ /**
738
+ * 展示用户详细信息
739
+ * @param obj 传递的row
740
+ */
741
+ dealmsg (obj) {
742
+ console.log('==================>', obj)
743
+ this.isShowDetailInfo = true
744
+ this.rowData = obj
745
+ },
746
+ goChargeManage () {
747
+ try {
748
+ this.$goto('charge-manage', {f: this.$login.f}, 'main')
749
+ } catch (e) {
750
+ }
751
+ try {
752
+ window.parent.dispatchEvent(new CustomEvent('gotoChargeManage', {detail: 'Hello from iframe'}));
753
+ } catch (e) {
754
+ }
755
+ },
756
+ async doCopy () {
757
+ await this.$copyText(this.resdata)
758
+ this.resshow = false
759
+ this.$showAlert(`内容已复制到剪切板!`, 'success', 2000)
760
+ },
761
+ close () {
762
+ this.printflag = false
763
+ this.clean()
764
+ },
765
+ close2 () {
766
+ this.resshow = false
767
+ },
768
+ closemodal () {
769
+ this.batchMeterShow = false
770
+ },
771
+ createInfoForFile () {
772
+ this.batchMeterShow = true
773
+ },
774
+ hidden () {
775
+ this.criteriaShow = !this.criteriaShow
776
+ },
777
+ search () {
778
+ this.$refs.paged.$refs.criteria.search()
779
+ },
780
+ // selectdata () {
781
+ //
782
+ // },
783
+ modifyUser (row) {
784
+ this.isOper = true
785
+ this.createFile = true
786
+ this.isedit = true
787
+ this.row = row
788
+ this.areainfo = null
789
+ this.row.version = row.version
790
+ },
791
+ clean () {
792
+ this.createFile = false
793
+ this.row = null
794
+ this.isOper = false
795
+ this.areainfo = null
796
+ // this.$refs.paged.$refs.grid.select(null)
797
+ this.$refs.paged.$refs.grid.model.rows = this.rows
798
+ },
799
+ createnewfile () {
800
+ this.isOper = true
801
+ this.createFile = true
802
+ this.isedit = false
803
+ this.row = null
804
+ this.areainfo = null
805
+ // this.$refs.info.clearinfo()
806
+ },
807
+ renew () {
808
+ this.row = null
809
+ this.areainfo = null
810
+ this.isOper = false
811
+ this.$refs.info.clearinfo()
812
+ this.clearCondition()
813
+ this.search()
814
+ // 建档或修正档案成功刷新地址列表
815
+ this.$refs.addressfiles.$refs.paged.$refs.cri.search()
816
+ },
817
+ clearCondition () {
818
+ Object.keys(this.$refs.paged.$refs.criteria.model).forEach((key) => {
819
+ this.$refs.paged.$refs.criteria.model[key] = ''
820
+ })
821
+ },
822
+
823
+ bulkOperations (name, type) {
824
+ if (name === '批量销户') {
825
+ this.batcan = true
826
+ this.batenable = false
827
+ this.newArea = false
828
+ } else if (name === '批量启用') {
829
+ this.batenable = true
830
+ this.batcan = false
831
+ this.newArea = false
832
+ }
833
+ },
834
+ closexiaohu () {
835
+ this.xiaohushow = false
836
+ },
837
+ closeBatchAdjustables () {
838
+ this.showModifyAdjustables = false
839
+ },
840
+ xiaohu () {
841
+ this.xiaohushow = true
842
+ },
843
+ batchCancellation () {
844
+ this.$showMessage('此操作无法还原,是否确定要批量销户?', ['confirm', 'cancel']).then(async (res) => {
845
+ if (res === 'confirm') {
846
+ var infoIds = []
847
+ var count = 0
848
+ this.model.rows.forEach((item) => {
849
+ item.f_state = '有效'
850
+ item.f_user_state = item.f_user_state
851
+ item.f_operat_type = '销户'
852
+ item.f_operator = Vue.$login.f.name
853
+ item.f_operatorid = Vue.$login.f.id
854
+ item.f_orgid = Vue.$login.f.orgid
855
+ item.f_orgname = Vue.$login.f.orgs
856
+ item.f_depid = Vue.$login.f.depids
857
+ item.f_depname = Vue.$login.f.deps
858
+ item.f_describe = `${Vue.$login.f.name}对${item.f_user_name}进行批量销户`
859
+ item.f_comments = this.xiaohureason
860
+ infoIds.push(item)
861
+ count++
862
+ })
863
+ await this.$resetpost('api/af-revenue/logic/saveCancellation', {infoIds: infoIds}, {resolveMsg: null, rejectMsg: '批量销户失败'}).then((res) => {
864
+ if(res && res.data){
865
+ this.$showMessage(`本次批量销户总计: ${res.data.allnum}户 ,成功: ${res.data.successnum}户 ,失败(已经销户): ${res.data.errornum2} 户,失败(待审核): ${res.data.errornum1}户 `);
866
+ }
867
+ this.xiaohushow = false
868
+ this.close()
869
+ this.search()
870
+ })
871
+ }
872
+ })
873
+ },
874
+ batchSuccess () {
875
+ this.clearCondition()
876
+ this.batchClean()
877
+ },
878
+ batchClean () {
879
+ this.batcan = false
880
+ this.batenable = false
881
+ this.newArea = false
882
+ this.search()
883
+ },
884
+ buildFile (row) {
885
+ // console.log('我是建档。。。', row)
886
+ this.row = row
887
+ },
888
+ // 小区批量建档
889
+ bulidFiles (row) {
890
+ this.row = null
891
+ this.areainfo = row
892
+ // 将列表的数据清空
893
+ this.$refs.paged.$refs.grid.model.rows = []
894
+ },
895
+ // 小区批量建档成功
896
+ buildFileSuccess (data) {
897
+ // console.log('建档案成功', data)
898
+ this.model.rows.unshift(data)
899
+ },
900
+ selfSearch (args) {
901
+ this.$refs.paged.$refs.grid.selectInit()
902
+ args.condition = `${args.condition} ` + this.orgcondition
903
+ this.criteriaShow = false
904
+ this.$refs.paged.$refs.grid.$el.scrollTop = 0
905
+ this.model.search(args.condition, args.model)
906
+ let http = new HttpResetClass()
907
+
908
+ this.clean()
909
+ },
910
+ // printok () {
911
+ // console.log("======================")
912
+ // //this.$dispatch('success')
913
+ // },
914
+ sort (field, rule) {
915
+ // 将所有排序方式设为不排序,实现相互排斥
916
+ for (let key in this.orderFields) {
917
+ if (key === field) {
918
+ this.orderFields[key] = rule
919
+ } else {
920
+ this.orderFields[key] = 'no'
921
+ }
922
+ }
923
+ // 如果新规则不排序,还原为默认排序
924
+ if (rule === 'no') {
925
+ this.model.paramSource.orderitem = `'${this.orderDefault}'`
926
+ } else {
927
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
928
+ }
929
+
930
+ this.search()
931
+ },
932
+
933
+ getLocation (row) {
934
+ // 可能会存在添加,完善,建档
935
+ addressInfoGen(this, row)
936
+ },
937
+ areaFiles (row) {
938
+ row.isEdit = true
939
+ row.f_residential_area_id = row.id
940
+ // row.id = null
941
+ delete row.id
942
+ this.bulidFiles(row)
943
+ },
944
+ async initAdjustables () {
945
+ console.log('初始化调压箱', this.$GetSaleParam)
946
+ let arr = []
947
+ let filter = this.$login.f.orgid
948
+ this.$GetSaleParam.getAdjustable(filter).forEach((item) => {
949
+ let temp = {}
950
+ temp.label = `[${item.value.f_adjustable_id}]-${item.label}`
951
+ temp.value = `${item.value.id}`
952
+ arr.push(temp)
953
+ })
954
+ this.adjustables = [{label: '全部', value: ''}, ...arr]
955
+ this.adjustablesNew = arr
956
+ // 初始化气表品牌
957
+ let brandArr = []
958
+ this.$GetSaleParam.getGasbrand().forEach((item) => {
959
+ let temp1 = {}
960
+ temp1.label = item.label
961
+ temp1.value = item.value.f_meter_brand
962
+ brandArr.push(temp1)
963
+ })
964
+ this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
965
+
966
+ // 初始化现场表具型号:从后端查询 t_userfiles.f_xc_meter_style 去重
967
+ try {
968
+ const result = await this.$resetpost('api/af-revenue/sql/singleTable_OrderBy', {
969
+ data: {
970
+ tablename: 't_userfiles',
971
+ items: 'distinct f_xc_meter_style as label',
972
+ condition: "f_xc_meter_style is not null and f_xc_meter_style != ''",
973
+ orderitem: 'f_xc_meter_style'
974
+ }
975
+ }, {resolveMsg: null, rejectMsg: '获取现场表具型号失败'})
976
+ const options = []
977
+ for (let row of result.data) {
978
+ if (row.label) options.push({label: row.label, value: row.label})
979
+ }
980
+ this.metermodels = [{label: '全部', value: ''}, ...options]
981
+ } catch (e) {
982
+ console.error('获取现场表具型号失败', e)
983
+ this.metermodels = [{label: '全部', value: ''}]
984
+ }
985
+ },
986
+ importFile () {
987
+ this.show = true
988
+ },
989
+ pin () {
990
+ this.batchpinshow = true
991
+ },
992
+ clear () {
993
+ Object.keys(this.$refs.paged.$refs.criteria.model).forEach((key) => {
994
+ this.$refs.paged.$refs.criteria.model[key] = []
995
+ })
996
+ },
997
+ getorg (val) {
998
+ this.f_filialeid = val[0]
999
+ }
1000
+ },
1001
+ computed: {
1002
+ userstates () {
1003
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('客户状态')]
1004
+ },
1005
+ usegas () {
1006
+ return [{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: '否'}]
1007
+ },
1008
+ areas () {
1009
+ let rs = []
1010
+ for (let i = 0; i < this.$login.f.f_allArea.length; i++) {
1011
+ let temp = {
1012
+ label: this.$login.f.f_allArea[i].label,
1013
+ value: this.$login.f.f_allArea[i].label
1014
+ }
1015
+ rs.push(temp)
1016
+ }
1017
+ return [{label: '全部', value: ''}, ...rs]
1018
+ },
1019
+ firestates () {
1020
+ return [
1021
+ {label: '全部', value: ''},
1022
+ {label: '点火', value: '1'},
1023
+ {label: '未点火', value: '0'}
1024
+ ]
1025
+ },
1026
+ jurisdiction () {
1027
+ return this.$login.r
1028
+ }
1029
+ },
1030
+ watch: {
1031
+ // 每次查询将查询到的数据存储起来,供选择操作后的替换
1032
+ 'model.state' (val) {
1033
+ if (val === '正确') {
1034
+ this.rows = this.model.rows
1035
+ }
1036
+ },
1037
+ 'f_filialeid' (val) {
1038
+ loadParamGem(this)
1039
+ }
1040
+ },
1041
+ events: {
1042
+ FileUpload: function (file, res) {
1043
+ let data = {
1044
+ tablename: 't_userinfo',
1045
+ filepath: res.path
1046
+ }
1047
+ this.$resetpost('api/af-revenue/logic/import', data, {resolveMsg: null, rejectMsg: '上传失败'}).then((res) => {
1048
+ this.close()
1049
+ this.$showAlert(`一共上传${res.data.total}条数据, 成功${res.data.successnum}条`, 'success', 2000)
1050
+ this.search()
1051
+ })
1052
+ },
1053
+ 'onFileUpload': async function (file, res) {
1054
+ if (this.batchMeterShow) {
1055
+ this.iswork = true
1056
+ // 当前上传的是批量导入的档案
1057
+ let param = {
1058
+ filepath: res.f_downloadpath,
1059
+ f_operator: this.$login.f.name,
1060
+ f_operatorid: this.$login.f.id,
1061
+ f_orgid: this.$login.f.orgid,
1062
+ f_orgname: this.$login.f.orgs,
1063
+ f_depid: this.$login.f.depids,
1064
+ f_depname: this.$login.f.deps
1065
+ }
1066
+ let self = this
1067
+ try {
1068
+ await axios.post('api/af-revenue/logic/newSettleFileImport',
1069
+ {data: param}, {timeout: 10 * 60 * 1000}).then((res) => {
1070
+ if (res.data) {
1071
+ self.$showMessage(`本次上传共上传${res.data.totalsum}条数据, 成功${res.data.successnum}条,失败${res.data.errorsum}条,具体失败数据请在稽查查询错误查询中查看!!`)
1072
+ self.iswork = false
1073
+ // this.$showAlert('导入成功','success',2000)
1074
+ }
1075
+ })
1076
+ } catch (error) {
1077
+ if (error.response) {
1078
+ if (error.response.status == 500) {
1079
+ this.$showAlert('服务繁忙,请重试!!!', 'danger', 3000)
1080
+ } else if (error.response.status == 404) {
1081
+ this.$showAlert('服务运行中,请耐心等待后进行重试!!', 'danger', 3000)
1082
+ } else {
1083
+ this.$showAlert(error.response.data, 'danger', 2000)
1084
+ }
1085
+ console.log(error.response.data)
1086
+ console.log(error.response.status)
1087
+ console.log(error.response.headers)
1088
+ } else if (error.request) {
1089
+ console.log(error.request)
1090
+ this.$showAlert(error.request, 'danger', 2000)
1091
+ } else {
1092
+ console.log('Error', error.message)
1093
+ this.$showAlert(error.message, 'danger', 2000)
1094
+ }
1095
+ this.iswork = false
1096
+ }
1097
+ this.batchMeterShow = false
1098
+ // this.$showAlert(`一共上传${res.data.total}条数据, 成功${res.data.successnum}条`, 'success', 2000)
1099
+ this.search()
1100
+ } else {
1101
+ let data = {
1102
+ tablename: 't_userinfo',
1103
+ filepath: res.f_downloadpath,
1104
+ f_operator: this.$login.f.name,
1105
+ f_operatorid: this.$login.f.id,
1106
+ f_orgid: this.$login.f.orgid,
1107
+ f_orgname: this.$login.f.orgs,
1108
+ f_depid: this.$login.f.depids,
1109
+ f_depname: this.$login.f.deps
1110
+ }
1111
+ this.$resetpost('api/af-revenue/logic/sale_userfilesImp', {data: data}, {
1112
+ resolveMsg: null,
1113
+ rejectMsg: '上传失败'
1114
+ }).then((res) => {
1115
+ this.show = false
1116
+ this.$showAlert(`一共上传${res.data.total}条数据, 成功${res.data.successnum}条`, 'success', 2000)
1117
+ this.search()
1118
+ })
1119
+ }
1120
+ },
1121
+ 'confirmaddress' (res) {
1122
+ console.log('选定地址', res)
1123
+ }
1124
+ }
1125
+ }
1126
+ </script>
1127
+ <style>
1128
+ .nav-tabss ul > li > a {
1129
+ padding: 5px 10px;
1130
+ }
1131
+ /* 两个字符占用4个字符距离 */
1132
+ .w2 {
1133
+ letter-spacing:2em; /*如果需要y个字两端对齐,则为(x-y)/(y-1),这里是(4-2)/(2-1)=2em */
1134
+ margin-right:-2em; /*同上*/
1135
+ }
1136
+ /* 三个字符占用4个字符距离 */
1137
+ .w3 {
1138
+ letter-spacing: 0.5em;
1139
+ margin-right: -0.5em
1140
+ }
1141
+ </style>