apply-clients 4.1.84 → 4.1.85

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,1555 +1,1555 @@
1
- <template>
2
- <div class="col-sm-12" style="margin: 20px 0px;">
3
- <div class="auto" style="overflow:auto;margin: 15px 0 0 15px;">
4
- <div class="form-inline auto col-sm-12">
5
- <div class="row col-sm-12">
6
- <div class="form-group col-sm-3">
7
- <label class=" control-label" >客户姓名</label>
8
- <input type="text" class="input_search" placeholder='客户姓名' v-model="query.f_user_name">
9
- </div>
10
- <div class="form-group col-sm-3">
11
- <label class=" control-label" >客户电话</label>
12
- <input type="text" class="input_search" placeholder='客户电话' v-model="query.f_user_phone">
13
- </div>
14
- <div class="form-group col-sm-5" >
15
- <!-- <button class="button_search button_spacing" @click="search()">查询</button>-->
16
- <button type="button" class="btn btn-default" @click="search()">查询</button>
17
- <button type="button" class="btn btn-default" @click="clear()">清空</button>
18
- </div>
19
- </div>
20
- </div>
21
- </div>
22
- <data-grid :model="model" v-ref:grid class="list_area table_sy" style="padding: 0px">
23
- <template partial='head'>
24
- <tr>
25
- <th v-if="$parent.$parent.showselect" class="textNoLineBreak">选择</th>
26
- <th class="textNoLineBreak">序号</th>
27
- <th class="textNoLineBreak">区/县</th>
28
- <th class="textNoLineBreak">片区</th>
29
- <th class="textNoLineBreak">街道</th>
30
- <th class="textNoLineBreak">小区</th>
31
- <th class="textNoLineBreak">详细地址</th>
32
- <th class="textNoLineBreak">用户状态</th>
33
- <th class="textNoLineBreak">客户编号</th>
34
- <th class="textNoLineBreak">用户姓名</th>
35
- <th class="textNoLineBreak">电话</th>
36
- <th class="textNoLineBreak">证件类型</th>
37
- <th class="textNoLineBreak">证件号码</th>
38
- <th class="textNoLineBreak">时间</th>
39
- <th v-if="$parent.$parent.showremark" class="textNoLineBreak">退回理由</th>
40
- <th v-if="$parent.$parent.signReason" class="textNoLineBreak">标记原因</th>
41
- <th class="textNoLineBreak">
42
- <button
43
- type="button"
44
- class="btn btn-info head-but"
45
- v-if="($parent.$parent.selectdata.defname === '报建登记'|| $parent.$parent.selectdata.defname === '合同签订' || $parent.$parent.selectdata.defname === '竣工验收') && $parent.$parent.mark !== 1"
46
- @click="$parent.$parent.openModal()"
47
- :disabled="$parent.$parent.mark === 1"
48
- >添加</button>
49
- <button v-if="$parent.$parent.showback && $parent.$parent.mark !== 1 "type="button" class="btn btn-info head-but"
50
- @click="$parent.$parent.unpass()">退回</button>
51
- <button v-if="$parent.$parent.void && $parent.$parent.mark !== 1"type="button" class="btn btn-info head-but"
52
- @click="$parent.$parent.voidFunction()">标记</button>
53
- <button v-if="$parent.$parent.showcover && $parent.$parent.mark !== 1"type="button" class="btn btn-info head-but"
54
- @click="$parent.$parent.pass()">恢复</button>
55
- <!-- <button v-if="$parent.$parent.showfiling"type="button" class="btn btn-info head-but"-->
56
- <!-- @click="$parent.$parent.filing()">建档不合格</button>-->
57
- <button v-if="$parent.$parent.showhina && $parent.$parent.mark !== 1" type="button" class="btn btn-info head-but"
58
- :disabled="$parent.$parent.mark === 1"
59
- @click="$parent.$parent.showFileModal()">导入</button>
60
- <a v-if="$parent.$parent.showhina && $parent.$parent.mark !== 1" type="button" class="btn btn-info head-but"
61
- href="/apply/download/excel/中盛地址批量导入.xlsx" download>模板下载</a>
62
- <!-- <export-excel :data="$parent.$parent.getCondition"-->
63
- <!-- :field="$parent.$parent.getfield"-->
64
- <!-- sqlurl="rs/logic/applyExportfile"-->
65
- <!-- sql-name="getAddressAanUserinfo"-->
66
- <!-- template-name='花名册导出'-->
67
- <!-- btn-name="花名册导出"-->
68
- <!-- :choose-col="true"></export-excel>-->
69
-
70
- </th>
71
- </tr>
72
- </template>
73
- <template partial='body'>
74
- <tr>
75
- <td style="text-align: center;" v-if="$parent.$parent.showselect">
76
- <input type='checkbox' style="width: 22px;height: 22px;"
77
- :id="'body'+model.pageIndex"
78
- :checked="$parent.$parent.ischecked(row)"
79
- @change="$parent.$parent.selectOne(row)"/>
80
- </td>
81
- <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
82
- <nobr>{{$index+1}}</nobr>
83
- </td>
84
- <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
85
- <nobr>{{row.f_pcd}}</nobr>
86
- </td>
87
- <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
88
- <nobr>{{row.f_slice_area}}</nobr>
89
- </td>
90
- <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
91
- <nobr>{{row.f_street}}</nobr>
92
- </td>
93
- <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
94
- <nobr>{{row.f_residential_area}}</nobr>
95
- </td>
96
- <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
97
- <nobr>{{row.f_address}}</nobr>
98
- </td>
99
- <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
100
- <nobr>{{row.f_user_state}}</nobr>
101
- </td>
102
- <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
103
- <nobr>{{row.f_userinfo_code}}</nobr>
104
- </td>
105
- <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
106
- <nobr>{{row.f_user_name}}</nobr>
107
- </td>
108
- <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
109
- <nobr>{{row.f_user_phone}}</nobr>
110
- </td>
111
- <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
112
- <nobr>{{row.f_credentials}}</nobr>
113
- </td>
114
- <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
115
- <nobr>{{row.f_idnumber}}</nobr>
116
- </td>
117
- <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
118
- <nobr>{{row.f_create_date}}</nobr>
119
- </td>
120
- <td v-if="$parent.$parent.showremark && $parent.$parent.mark !== 1" style="text-align: center;">
121
- <!-- <button class="button_new button_spacing" style="width: max-content" @click.prevent="$parent.$parent.cleanupload(row)">删除</button>-->
122
-
123
- <button class="button_new button_spacing" @click.prevent="$parent.$parent.backremark(row)">退回原因</button>
124
- </td>
125
- <td v-if="$parent.$parent.signReason && $parent.$parent.mark !== 1" style="text-align: center;">
126
- <button class="button_new button_spacing" @click.prevent="$parent.$parent.signremark(row)">标记原因</button>
127
- </td>
128
- <td style="text-align: center;">
129
- <button v-if="$parent.$parent.showclean && $parent.$parent.mark !== 1" class="button_new button_spacing" style="width: max-content" @click.prevent="$parent.$parent.cleanupload(row)">删除</button>
130
- <button v-if="$parent.$parent.showrecover && $parent.$parent.mark !== 1" class="button_new button_spacing" style="width: max-content" @click.prevent="$parent.$parent.recoverupload(row)">恢复</button>
131
- <!-- <button v-if="$parent.$parent.showfire" class="button_new button_spacing" style="width: max-content" @click.prevent="$parent.$parent.fire(row)">点火</button>-->
132
- </td>
133
- </tr>
134
- </template>
135
- </data-grid>
136
- </div>
137
-
138
- <modal :show.sync="showbackremark" v-ref:modal large backdrop="false">
139
- <header slot="modal-header" class="modal-header">
140
- <h3 style="color:black" class="modal-title">退回原因</h3>
141
- </header>
142
- <article slot="modal-body" class="modal-body">
143
- <div class="auto">
144
- <form class="form-horizontal">
145
- <div class="row">
146
- <div class="col-sm-12 form-group form-input-group" >
147
- <label class="control-label">备注</label>
148
- <textarea class="form-control" v-model=f_comments placeholder="请添加原因" :disabled="!showback"></textarea>
149
- </div>
150
- </div>
151
- </form>
152
- </div>
153
- </article>
154
- <footer slot="modal-footer" class="modal-footer">
155
- <button type="button" class="btn btn-success" @click='confirm(row)'>确定</button>
156
- <button type="button" class="btn btn-default" @click='cancel()'>取消</button>
157
- </footer>
158
- </modal>
159
- <!-- 标记原因 -->
160
- <modal :show.sync="signReasonPage" v-ref:modal large backdrop="false">
161
- <header slot="modal-header" class="modal-header">
162
- <h3 style="color:black" class="modal-title">标记原因</h3>
163
- </header>
164
- <article slot="modal-body" class="modal-body">
165
- <div class="auto">
166
- <form class="form-horizontal">
167
- <div class="row">
168
- <div class="col-sm-12 form-group form-input-group" >
169
- <label class="control-label">原因</label>
170
- <textarea class="form-control" v-model=f_comments placeholder="请添加原因" :disabled="!signReasonPage"></textarea>
171
- </div>
172
- </div>
173
- </form>
174
- </div>
175
- </article>
176
- <footer slot="modal-footer" class="modal-footer">
177
- <button type="button" class="btn btn-success" @click='confirmPage()'>确定</button>
178
- <button type="button" class="btn btn-default" @click='cancelPage()'>取消</button>
179
- </footer>
180
- </modal>
181
-
182
- <modal v-if="showUserFile" :show.sync="showUserFile" v-ref:modal :backdrop="false" title="点火信息">
183
- <header slot="modal-header" class="modal-header">
184
- <button type="button" class="close" @click="closeModal"><span>&times;</span></button>
185
- <h4 class="modal-title">点火信息</h4>
186
- </header>
187
- <article slot="modal-body" class="modal-body clearfix">
188
- <div v-for="(i, item) in userinfo.userfiles" class="form-group col-sm-12 panel panel-info">
189
- <div class="panel-heading head" style="background-color: #e8f4ff;margin-bottom: 10px">通气点火信息</div>
190
-
191
- <div class="form-group col-sm-12">
192
- <label class="col-sm-4 control-label">IC卡号:</label>
193
- <div class="col-sm-6">
194
- <input-select
195
- class="select select_list"
196
- :value.sync="item.f_gas_pressure"
197
- v-model="item.f_gas_pressure"
198
- :options="f_gas_pressure"
199
- @change="gasbrandChange(i)"
200
- :valueSingle="true"></input-select>
201
- </div>
202
- </div>
203
-
204
- <div class="form-group col-sm-12" :class="item.f_gasbrand_id ? '':'has-error'">
205
- <label class="col-sm-4 control-label">燃气表品牌:</label>
206
- <div class="col-sm-6">
207
- <input-select
208
- class="select select_list"
209
- :value.sync="item.f_gasbrand_id"
210
- v-model="item.f_gasbrand_id"
211
- :options="meterbrands"
212
- @change="gasbrandChange(i)"
213
- :valueSingle="true"></input-select>
214
- </div>
215
- </div>
216
- <div class="form-group col-sm-12" :class="item.f_gasmodel ? '':'has-error'">
217
- <label class="col-sm-4 control-label">燃气表型号:</label>
218
- <div class="col-sm-6">
219
- <input-select
220
- class="select select_list"
221
- :value.sync="item.f_gasmodel"
222
- v-model="item.f_gasmodel"
223
- :options="item.f_gasmodel"
224
- @change="gasmodelChange(i)"
225
- :valueSingle="true"></input-select>
226
- </div>
227
- </div>
228
-
229
- <div class="form-group col-sm-12":class="item.f_meternumber ? '':'has-error'">
230
- <label class="col-sm-4 control-label">表号:</label>
231
- <div class="col-sm-6">
232
- <input-select
233
- class="select select_list"
234
- :value.sync="item.f_meternumber"
235
- v-model="item.f_meternumber"
236
- :options="item.f_meternumber"
237
- :valueSingle="true"></input-select>
238
- </div>
239
- </div>
240
-
241
- <div class="form-group col-sm-12":class="item.f_aroundmeter ? '':'has-error'">
242
- <label class="col-sm-4 control-label">表向:</label>
243
- <div class="col-sm-6">
244
- <input-select
245
- class="select select_list"
246
- :value.sync="item.f_aroundmeter"
247
- v-model="item.f_aroundmeter"
248
- :options="item.f_aroundmeters"
249
- :valueSingle="true"></input-select>
250
- </div>
251
- </div>
252
-
253
- <div class="form-group col-sm-12":class="item.f_gage_seal ? '':'has-error'">
254
- <label class="col-sm-4 control-label">表封:</label>
255
- <div class="col-sm-6">
256
- <input-select
257
- class="select select_list"
258
- :value.sync="item.f_gage_seal"
259
- v-model="item.f_gage_seal"
260
- :options="item.f_gage_seal"
261
- :valueSingle="true"></input-select>
262
- </div>
263
- </div>
264
-
265
- <div class="form-group col-sm-12":class="item.f_dn ? '':'has-error'">
266
- <label class="col-sm-4 control-label">镀锌管DN15:</label>
267
- <div class="col-sm-6">
268
- <input-select
269
- class="select select_list"
270
- :value.sync="item.f_dn"
271
- v-model="item.f_dn"
272
- :options="item.f_dn"
273
- :valueSingle="true"></input-select>
274
- </div>
275
- </div>
276
-
277
- <div class="form-group col-sm-12":class="item.f_three_link ? '':'has-error'">
278
- <label class="col-sm-4 control-label">三通:</label>
279
- <div class="col-sm-6">
280
- <input-select
281
- class="select select_list"
282
- :value.sync="item.f_three_link"
283
- v-model="item.f_three_link"
284
- :options="item.f_three_link"
285
- :valueSingle="true"></input-select>
286
- </div>
287
- </div>
288
-
289
- <div class="form-group col-sm-12":class="item.f_nipple ? '':'has-error'">
290
- <label class="col-sm-4 control-label">对丝:</label>
291
- <div class="col-sm-6">
292
- <input-select
293
- class="select select_list"
294
- :value.sync="item.f_nipple"
295
- v-model="item.f_nipple"
296
- :options="item.f_nipple"
297
- :valueSingle="true"></input-select>
298
- </div>
299
- </div>
300
-
301
- <div class="form-group col-sm-12":class="item.f_elbow ? '':'has-error'">
302
- <label class="col-sm-4 control-label">弯头:</label>
303
- <div class="col-sm-6">
304
- <input-select
305
- class="select select_list"
306
- :value.sync="item.f_elbow"
307
- v-model="item.f_elbow"
308
- :options="item.f_elbow"
309
- :valueSingle="true"></input-select>
310
- </div>
311
- </div>
312
-
313
- <div class="form-group col-sm-12":class="item.f_meter_valve ? '':'has-error'">
314
- <label class="col-sm-4 control-label">表前阀:</label>
315
- <div class="col-sm-6">
316
- <input-select
317
- class="select select_list"
318
- :value.sync="item.f_meter_valve"
319
- v-model="item.f_meter_valve"
320
- :options="item.f_meter_valve"
321
- :valueSingle="true"></input-select>
322
- </div>
323
- </div>
324
-
325
- <div class="form-group col-sm-12":class="item.f_pipe_strap ? '':'has-error'">
326
- <label class="col-sm-4 control-label">管卡:</label>
327
- <div class="col-sm-6">
328
- <input-select
329
- class="select select_list"
330
- :value.sync="item.f_pipe_strap"
331
- v-model="item.f_pipe_strap"
332
- :options="item.f_pipe_strap"
333
- :valueSingle="true"></input-select>
334
- </div>
335
- </div>
336
-
337
- <div class="form-group col-sm-12":class="item.f_stove_valve ? '':'has-error'">
338
- <label class="col-sm-4 control-label">灶前阀:</label>
339
- <div class="col-sm-6">
340
- <input-select
341
- class="select select_list"
342
- :value.sync="item.f_stove_valve"
343
- v-model="item.f_stove_valve"
344
- :options="item.f_stove_valve"
345
- :valueSingle="true"></input-select>
346
- </div>
347
- </div>
348
-
349
- <div class="form-group col-sm-12":class="item.f_rubber_sac ? '':'has-error'">
350
- <label class="col-sm-4 control-label">胶管:</label>
351
- <div class="col-sm-6">
352
- <input-select
353
- class="select select_list"
354
- :value.sync="item.f_rubber_sac"
355
- v-model="item.f_rubber_sac"
356
- :options="item.f_rubber_sac"
357
- :valueSingle="true"></input-select>
358
- </div>
359
- </div>
360
-
361
- <div class="form-group col-sm-12":class="item.f_alarm ? '':'has-error'">
362
- <label class="col-sm-4 control-label">报警器:</label>
363
- <div class="col-sm-6">
364
- <input-select
365
- class="select select_list"
366
- :value.sync="item.f_alarm"
367
- v-model="item.f_alarm"
368
- :options="item.f_alarm"
369
- :valueSingle="true"></input-select>
370
- </div>
371
- </div>
372
-
373
- <div class="form-group col-sm-12":class="item.f_close_valve ? '':'has-error'">
374
- <label class="col-sm-4 control-label">自闭阀:</label>
375
- <div class="col-sm-6">
376
- <input-select
377
- class="select select_list"
378
- :value.sync="item.f_close_valve"
379
- v-model="item.f_close_valve"
380
- :options="item.f_close_valve"
381
- :valueSingle="true"></input-select>
382
- </div>
383
- </div>
384
-
385
- <div class="form-group col-sm-12":class="item.f_gas_stove ? '':'has-error'">
386
- <label class="col-sm-4 control-label">燃气具:</label>
387
- <div class="col-sm-6">
388
- <input-select
389
- class="select select_list"
390
- :value.sync="item.f_gas_stove"
391
- v-model="item.f_gas_stove"
392
- :options="item.f_gas_stove"
393
- :valueSingle="true"></input-select>
394
- </div>
395
- </div>
396
-
397
- <div class="form-group col-sm-12":class="item.f_boiler ? '':'has-error'">
398
- <label class="col-sm-4 control-label">热水器:</label>
399
- <div class="col-sm-6">
400
- <input-select
401
- class="select select_list"
402
- :value.sync="item.f_boiler"
403
- v-model="item.f_boiler"
404
- :options="item.f_boiler"
405
- :valueSingle="true"></input-select>
406
- </div>
407
- </div>
408
-
409
- <div class="form-group col-sm-12":class="item.f_hang_boiler ? '':'has-error'">
410
- <label class="col-sm-4 control-label">壁挂锅炉:</label>
411
- <div class="col-sm-6">
412
- <input-select
413
- class="select select_list"
414
- :value.sync="item.f_hang_boiler"
415
- v-model="item.f_hang_boiler"
416
- :options="item.f_hang_boiler"
417
- :valueSingle="true"></input-select>
418
- </div>
419
- </div>
420
-
421
-
422
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_ic_card ? '':'has-error'">
423
- <label class="col-sm-4 control-label">IC卡号:</label>
424
- <div class="col-sm-6">
425
- <input-select
426
- class="select select_list"
427
- :value.sync="item.f_ic_card"
428
- v-model="item.f_ic_card"
429
- :options="item.f_ic_card"
430
- :valueSingle="true"></input-select>
431
- </div>
432
- </div>
433
-
434
-
435
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_flow_type ? '':'has-error'">
436
- <label class="col-sm-4 control-label">流量计品牌:</label>
437
- <div class="col-sm-6">
438
- <input-select
439
- class="select select_list"
440
- :value.sync="item.f_flow_type"
441
- v-model="item.f_flow_type"
442
- :options="item.f_flow_type"
443
- :valueSingle="true"></input-select>
444
- </div>
445
- </div>
446
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_flow_type1 ? '':'has-error'">
447
- <label class="col-sm-4 control-label">流量计型号:</label>
448
- <div class="col-sm-6">
449
- <input-select
450
- class="select select_list"
451
- :value.sync="item.f_flow_type1"
452
- v-model="item.f_flow_type1"
453
- :options="item.f_flow_type1"
454
- :valueSingle="true"></input-select>
455
- </div>
456
- </div>
457
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_flow_card ? '':'has-error'">
458
- <label class="col-sm-4 control-label">流量计出厂编号:</label>
459
- <div class="col-sm-6">
460
- <input-select
461
- class="select select_list"
462
- :value.sync="item.f_flow_card"
463
- v-model="item.f_flow_card"
464
- :options="item.f_flow_card"
465
- :valueSingle="true"></input-select>
466
- </div>
467
- </div>
468
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_flow_scope ? '':'has-error'">
469
- <label class="col-sm-4 control-label">流量计流量范围:</label>
470
- <div class="col-sm-6">
471
- <input-select
472
- class="select select_list"
473
- :value.sync="item.f_flow_scope"
474
- v-model="item.f_flow_scope"
475
- :options="item.f_flow_scope"
476
- :valueSingle="true"></input-select>
477
- </div>
478
- </div>
479
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_flow_seal ? '':'has-error'">
480
- <label class="col-sm-4 control-label">流量计表封号:</label>
481
- <div class="col-sm-6">
482
- <input-select
483
- class="select select_list"
484
- :value.sync="item.f_flow_seal"
485
- v-model="item.f_flow_seal"
486
- :options="item.f_flow_seal"
487
- :valueSingle="true"></input-select>
488
- </div>
489
- </div>
490
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_control_brand ? '':'has-error'">
491
- <label class="col-sm-4 control-label">控制器品牌:</label>
492
- <div class="col-sm-6">
493
- <input-select
494
- class="select select_list"
495
- :value.sync="item.f_control_brand"
496
- v-model="item.f_control_brand"
497
- :options="item.f_control_brand"
498
- :valueSingle="true"></input-select>
499
- </div>
500
- </div>
501
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_control_type ? '':'has-error'">
502
- <label class="col-sm-4 control-label">控制器型号:</label>
503
- <div class="col-sm-6">
504
- <input-select
505
- class="select select_list"
506
- :value.sync="item.f_control_type"
507
- v-model="item.f_control_type"
508
- :options="item.f_control_type"
509
- :valueSingle="true"></input-select>
510
- </div>
511
- </div>
512
-
513
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_control_date ? '':'has-error'">
514
- <label class="col-sm-4 control-label">控制器出厂日期:</label>
515
- <div class="col-sm-6">
516
- <input-select
517
- class="select select_list"
518
- :value.sync="item.f_control_date"
519
- v-model="item.f_control_date"
520
- :options="item.f_control_date"
521
- :valueSingle="true"></input-select>
522
- </div>
523
- </div>
524
-
525
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_control_code ? '':'has-error'">
526
- <label class="col-sm-4 control-label">控制器表号:</label>
527
- <div class="col-sm-6">
528
- <input-select
529
- class="select select_list"
530
- :value.sync="item.f_control_code"
531
- v-model="item.f_control_code"
532
- :options="item.f_control_code"
533
- :valueSingle="true"></input-select>
534
- </div>
535
- </div>
536
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_control_seal ? '':'has-error'">
537
- <label class="col-sm-4 control-label">控制器表封号:</label>
538
- <div class="col-sm-6">
539
- <input-select
540
- class="select select_list"
541
- :value.sync="item.f_control_seal"
542
- v-model="item.f_control_seal"
543
- :options="item.f_control_seal"
544
- :valueSingle="true"></input-select>
545
- </div>
546
- </div>
547
-
548
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_finish_date ? '':'has-error'">
549
- <label class="col-sm-4 control-label">交付日期:</label>
550
- <div class="col-sm-6">
551
- <input-select
552
- class="select select_list"
553
- :value.sync="item.f_finish_date"
554
- v-model="item.f_finish_date"
555
- :options="item.f_finish_date"
556
- :valueSingle="true"></input-select>
557
- </div>
558
- </div>
559
-
560
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_meter_phone ? '':'has-error'">
561
- <label class="col-sm-4 control-label">通讯方式:</label>
562
- <div class="col-sm-6">
563
- <input-select
564
- class="select select_list"
565
- :value.sync="item.f_meter_phone"
566
- v-model="item.f_meter_phone"
567
- :options="item.f_meter_phone"
568
- :valueSingle="true"></input-select>
569
- </div>
570
- </div>
571
-
572
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_gas_type ? '':'has-error'">
573
- <label class="col-sm-4 control-label">燃气具类型:</label>
574
- <div class="col-sm-6">
575
- <input-select
576
- class="select select_list"
577
- :value.sync="item.f_gas_type"
578
- v-model="item.f_gas_type"
579
- :options="item.f_gas_type"
580
- :valueSingle="true"></input-select>
581
- </div>
582
- </div>
583
-
584
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_gas_brand ? '':'has-error'">
585
- <label class="col-sm-4 control-label">燃气具品牌:</label>
586
- <div class="col-sm-6">
587
- <input-select
588
- class="select select_list"
589
- :value.sync="item.f_gas_brand"
590
- v-model="item.f_gas_brand"
591
- :options="item.f_gas_brand"
592
- :valueSingle="true"></input-select>
593
- </div>
594
- </div>
595
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_gas_type_card ? '':'has-error'">
596
- <label class="col-sm-4 control-label">燃气具型号:</label>
597
- <div class="col-sm-6">
598
- <input-select
599
- class="select select_list"
600
- :value.sync="item.f_gas_type_card"
601
- v-model="item.f_gas_type_card"
602
- :options="item.f_gas_type_card"
603
- :valueSingle="true"></input-select>
604
- </div>
605
- </div>
606
-
607
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_alarm_num ? '':'has-error'">
608
- <label class="col-sm-4 control-label">报警控制器品牌及数量:</label>
609
- <div class="col-sm-6">
610
- <input-select
611
- class="select select_list"
612
- :value.sync="item.f_alarm_num"
613
- v-model="item.f_alarm_num"
614
- :options="item.f_alarm_num"
615
- :valueSingle="true"></input-select>
616
- </div>
617
- </div>
618
-
619
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_probe_num ? '':'has-error'">
620
- <label class="col-sm-4 control-label">探测器数量:</label>
621
- <div class="col-sm-6">
622
- <input-select
623
- class="select select_list"
624
- :value.sync="item.f_probe_num"
625
- v-model="item.f_probe_num"
626
- :options="item.f_probe_num"
627
- :valueSingle="true"></input-select>
628
- </div>
629
- </div>
630
-
631
- <div v-if="showlky" class="form-group col-sm-12":class="item.f_conclusion ? '':'has-error'">
632
- <label class="col-sm-4 control-label">检验结论:</label>
633
- <div class="col-sm-6">
634
- <input-select
635
- class="select select_list"
636
- :value.sync="item.f_conclusion"
637
- v-model="item.f_conclusion"
638
- :options="item.f_conclusion"
639
- :valueSingle="true"></input-select>
640
- </div>
641
- </div>
642
-
643
- <div class="form-group col-sm-12":class="item.f_boiler_remark ? '':'has-error'">
644
- <label class="col-sm-4 control-label">备注:</label>
645
- <div class="col-sm-6">
646
- <input-select
647
- class="select select_list"
648
- :value.sync="item.f_boiler_remark"
649
- v-model="item.f_boiler_remark"
650
- :options="item.f_boiler_remark"
651
- :valueSingle="true"></input-select>
652
- </div>
653
- </div>
654
- </div>
655
-
656
- </article>
657
- <footer slot="modal-footer" class="modal-footer">
658
- <button type="button" class="btn btn-primary" @click="saveUserFile">确认</button>
659
- </footer>
660
- </modal>
661
-
662
- <validator name="v">
663
- <modal v-if="showModal" :show.sync = "showModal" v-ref:modal :backdrop = "false" title="添加用户">
664
- <header slot="modal-header" class="modal-header">
665
- <button type="button" class="close" @click="closeUserModal"><span>&times;</span></button>
666
- <h4 class="modal-title">添加用户</h4>
667
- </header>
668
- <acticle slot="modal-body" class="modal-body">
669
- <!-- 基本信息 -->
670
- <div class="form-group col-sm-12 panel panel-info" >
671
- <div class="panel-heading head col-sm-12" style="background-color: #e8f4ff;margin-bottom: 10px">
672
- <div class="col-sm-6 text-left">用户信息</div>
673
- </div>
674
- <div class="form-group col-sm-6" :class="[$v.f_user_name.required ? 'has-error' : '']">
675
- <label class="col-sm-4 control-label">用户名称:</label>
676
- <div class="col-sm-7">
677
- <input class="form-control input_view" style=""
678
- v-validate:f_user_name = "['required']"
679
- v-model="userinfo.f_user_name"
680
- :value.sync="userinfo.f_user_name"
681
- :readonly="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
682
- placeholder="客户名称"/>
683
- </div>
684
- </div>
685
- <div class="form-group col-sm-6" :class="[$v.f_user_phone.required ? 'has-error' : '']">
686
- <label class="col-sm-4 control-label">用户电话:</label>
687
- <div class="col-sm-7">
688
- <input class="form-control input_view" style=""
689
- v-validate:f_user_phone = "['required']"
690
- v-model="userinfo.f_user_phone"
691
- :value.sync="userinfo.f_user_phone"
692
- :readonly="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
693
- placeholder="客户电话"/>
694
- </div>
695
- </div>
696
- <div class="form-group col-sm-6">
697
- <label class="col-sm-4 control-label">用户类型:</label>
698
- <div class="col-sm-7">
699
- <input-select
700
- class="select select_list"
701
- :value.sync="userinfo.f_user_nature"
702
- v-model="userinfo.f_user_nature"
703
- :options="getUserType"
704
- :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
705
- :valueSingle="true"></input-select>
706
- </div>
707
- </div>
708
- <div class="form-group col-sm-6">
709
- <label class="col-sm-4 control-label">证件类型:</label>
710
- <div class="col-sm-7">
711
- <input-select
712
- class="select select_list"
713
- :value.sync="userinfo.f_credentials"
714
- v-model="userinfo.f_credentials"
715
- :options="credentialsList"
716
- :valueSingle="true"></input-select>
717
- </div>
718
- </div>
719
- <div class="form-group col-sm-6">
720
- <label class="col-sm-4 control-label">证件号码:</label>
721
- <div class="col-sm-7">
722
- <input class="form-control input_view" style=""
723
- placeholder="证件号码"
724
- v-model="userinfo.f_idnumber"
725
- :value="userinfo.f_idnumber"
726
- :readonly="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"/>
727
- </div>
728
- </div>
729
- </div>
730
- <!-- 地址信息 -->
731
- <div class="form-group col-sm-12 panel panel-info" >
732
- <div class="panel-heading head col-sm-12" style="background-color: #e8f4ff;margin-bottom: 10px">
733
- <div class="col-sm-6 text-left">地址信息</div>
734
- </div>
735
- <div class="form-group col-sm-6" :class="[$v.f_address_type.required ? 'has-error' : '']">
736
- <label class="col-sm-4 control-label">地址类型:</label>
737
- <div class="col-sm-7">
738
- <input type="text" v-show="false" v-model="userinfo.useradders.f_address_type" :value.sync="userinfo.useradders.f_address_type" v-validate:f_address_type = "['required']" >
739
- <input-select
740
- class="select select_list"
741
- :value.sync="userinfo.useradders.f_address_type"
742
- v-model="userinfo.useradders.f_address_type"
743
- :options="addressType"
744
- @change="addressTypeChange()"
745
- :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
746
- :valueSingle="true"></input-select>
747
- </div>
748
- </div>
749
- <div class="form-group col-sm-6" :class="[$v.f_pcd.required ? 'has-error' : '']">
750
- <label class="col-sm-4 control-label">区&emsp;&emsp;域:</label>
751
- <div class="col-sm-7">
752
- <input type="text" v-show="false" v-model="userinfo.useradders.f_pcd" :value.sync="userinfo.useradders.f_pcd" v-validate:f_pcd = "['required']" >
753
- <input-select
754
- class="select select_list"
755
- :value.sync="userinfo.useradders.f_pcd"
756
- v-model="userinfo.useradders.f_pcd"
757
- :options="pcdList"
758
- @change="addressSplicing(), getStreet()"
759
- :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
760
- :valueSingle="true"></input-select>
761
- </div>
762
- </div>
763
- <div class="form-group col-sm-6" :class="[$v.f_street.required ? 'has-error' : '']">
764
- <label class="col-sm-4 control-label">街&emsp;&emsp;道:</label>
765
- <div class="col-sm-7">
766
- <input type="text" v-show="false" v-model="userinfo.useradders.f_street" :value.sync="userinfo.useradders.f_street" v-validate:f_street = "['required']" >
767
- <input-select
768
- class="select select_list"
769
- :value.sync="userinfo.useradders.f_street"
770
- v-model="userinfo.useradders.f_street"
771
- :options="streetList"
772
- @change="addressSplicing(), getResidentialArea()"
773
- :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
774
- :valueSingle="true"></input-select>
775
- </div>
776
- </div>
777
- <div class="form-group col-sm-6">
778
- <label class="col-sm-4 control-label">小&emsp;&emsp;区:</label>
779
- <div class="col-sm-7">
780
- <input-select
781
- class="select select_list"
782
- :value.sync="userinfo.useradders.f_residential_area"
783
- v-model="userinfo.useradders.f_residential_area"
784
- :options="areaList"
785
- @change="addressSplicing()"
786
- :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
787
- :valueSingle="true"></input-select>
788
- </div>
789
- </div>
790
- <div class="form-group col-sm-6">
791
- <label class="col-sm-4 control-label">楼&emsp;&emsp;号:</label>
792
- <div class="col-sm-7">
793
- <input class="form-control input_view" placeholder="楼号"
794
- v-model="userinfo.useradders.f_building"
795
- :value="userinfo.useradders.f_building"
796
- @change="addressSplicing"
797
- :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
798
- </div>
799
- </div>
800
- <div class="form-group col-sm-6">
801
- <label class="col-sm-4 control-label">单&emsp;&emsp;元:</label>
802
- <div class="col-sm-7">
803
- <input class="form-control input_view" placeholder="单元"
804
- v-model="userinfo.useradders.f_unit"
805
- :value="userinfo.useradders.f_unit"
806
- @change="addressSplicing"
807
- :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
808
- </div>
809
- </div>
810
- <div class="form-group col-sm-6">
811
- <label class="col-sm-4 control-label">楼&emsp;&emsp;层:</label>
812
- <div class="col-sm-7">
813
- <input class="form-control input_view" placeholder="楼层"
814
- v-model="userinfo.useradders.f_floor"
815
- :value="userinfo.useradders.f_floor"
816
- @change="addressSplicing"
817
- :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
818
- </div>
819
- </div>
820
- <div class="form-group col-sm-6" >
821
- <label class="col-sm-4 control-label">门&ensp;牌&ensp;号:</label>
822
- <div class="col-sm-7">
823
- <input class="form-control input_view" placeholder="门牌号"
824
- v-model="userinfo.useradders.f_room"
825
- :value="userinfo.useradders.f_room"
826
- @change="addressSplicing"
827
- :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
828
- </div>
829
- </div>
830
- <div class="form-group col-sm-12">
831
- <label class="col-sm-2 control-label">地&emsp;&emsp;址:</label>
832
- <div class="col-sm-9">
833
- <input class="form-control input_view"
834
- placeholder="地址"
835
- v-model="userinfo.useradders.f_address"
836
- :value.sync="userinfo.useradders.f_address"
837
- />
838
- </div>
839
- </div>
840
- </div>
841
- </acticle>
842
- <footer slot="modal-footer" class="modal-footer">
843
- <template v-if="mark !== 1 && userinfo.f_user_state !== '正常'">
844
- <button type="button" class="btn btn-primary" @click="saveUser" :disabled="!$v.valid">确认</button>
845
- </template>
846
- </footer>
847
- </modal>
848
- </validator>
849
- <modal :show.sync="showFile" v-ref:modal backdrop="true" title="选择文件">
850
- <header slot="modal-header" class="modal-header">
851
- <button type="button" class="close" @click="closeFile"><span>&times;</span></button>
852
- <h4 class="modal-title">选择文件</h4>
853
- </header>
854
- <article slot="modal-body" class="modal-body">
855
- <div class="form-group">
856
- <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
857
- </div>
858
- </article>
859
- <footer slot="modal-footer" class="modal-footer"></footer>
860
- </modal>
861
-
862
- </template>
863
- <script>
864
- import Vue from 'vue'
865
- import {PagedList} from 'vue-client'
866
- import {HttpResetClass} from 'vue-client'
867
- import {isEmpty} from "../../../Util";
868
-
869
-
870
- export default {
871
- title: '地址管理',
872
- props: {
873
- selectdata: {
874
- type: Object
875
- },
876
- mark: {
877
- type: Number,
878
- default: 0 // 0:正常 1:禁用 2:追加用户
879
- }
880
- },
881
- data () {
882
- return {
883
- showFile: false,
884
- model: {
885
- data: null
886
- },
887
- query: {},//查询数据
888
- selectedData:[],
889
- showselect:false, //checkbox按钮
890
- showclean:false, //删除
891
- showrecover:false, //恢复
892
- showUserFile:false, //点火信息表
893
- showback:false,//退回
894
- void:false,//作废
895
- showfiling:false,//退回
896
- showcover:false,//恢复退回数据
897
- showbackremark:false,//退回界面
898
- signReasonPage: false,//标记原因界面
899
- f_comments:'',
900
- showhina:true, //导入
901
- showremark:false,
902
- signReason: false,//标记原因
903
- showfire:false, //点火按钮
904
- userinfo:{},
905
- showreason:false,
906
- record:'',
907
- all:[],
908
- remark:'',
909
- showModal: false,
910
- addressType:[{label: "民用地址", value: "民用地址"}, {label: "特殊地址", value: "特殊地址"}],
911
- addressDis:true,
912
- pcdList:[],
913
- streetList:[],
914
- areaList:[],
915
- getfield: {
916
- "f_pcd": "省市区",
917
- "f_street": "街道",
918
- "f_slice_area": "片区/管理站",
919
- "f_residential_area": "小区",
920
- "f_special": "地址类型",
921
- "f_building": "楼号",
922
- "f_unit": "单元号",
923
- "f_floor": "楼层",
924
- "f_room": "门牌号",
925
- "f_address": "地址",
926
- "f_user_name": "用户姓名/单位名称",
927
- "f_user_phone": "电话",
928
- "f_credentials": "证件类型",
929
- "f_idnumber": "证件号码",
930
- "f_people_num": "人口数"
931
- },
932
- condition: "1 = 1"
933
- }
934
- },
935
- ready () {
936
- if(this.selectdata.f_apply_type!=='工商户报建')
937
- {
938
- this.showselect=true
939
- this.void = true
940
- this.signReason = true
941
- }
942
- if(this.selectdata.defname==='报建登记')
943
- {
944
- this.showclean=true
945
- }
946
- if(this.selectdata.defname==='通气点火')
947
- {
948
- this.showfire=true
949
- }
950
- if(this.selectdata.defname==='收费')
951
- {
952
- this.showhina=false
953
- }
954
- if(this.selectdata.defname==='竣工验收'||this.selectdata.f_apply_type==='验收退回')
955
- {
956
- this.showremark=true
957
- }
958
- if(this.selectdata.defname==='竣工验收'&&this.selectdata.f_apply_type!=='验收退回')
959
- {
960
- this.showback=true
961
- }
962
- if(this.selectdata.defname==='营业厅建档'&&this.selectdata.f_apply_type!=='建档暂存')
963
- {
964
- this.showfiling=true
965
- }
966
- if(this.selectdata.f_apply_type==='验收退回'||this.selectdata.f_apply_type==='建档暂存')
967
- {
968
- this.showcover=true
969
- }
970
- this.getPcd()
971
- this.search()
972
- },
973
- methods: {
974
- selectOne (row) {
975
- if (this.ischecked(row)) {
976
- this.selectedData.splice(this.selectedData.indexOf(row),1)
977
- } else {
978
- this.selectedData.push(row)
979
- }
980
- console.log("点击选择")
981
- console.log(this.model)
982
- console.log(this.selectedData)
983
- },
984
- voidFunction() {
985
- let data = {
986
- userData: this.selectedData,
987
- userType: "标记"
988
- }
989
- this.$showMessage('确认标记吗?', ['confirm', 'cancel']).then(
990
- (response) => {
991
- if (response === 'confirm') {
992
- this.$resetpost('rs/logic/updateUserState', {data: data}, {resolveMsg: '标记成功', rejectMsg: '标记失败'})
993
- .then((res) => {
994
- // this.$showMessage("作废成功!")
995
- this.search()
996
- })
997
- } else if (response === 'cancel') {
998
- this.$dispatch('cancel')
999
- }
1000
- })
1001
- },
1002
- async unpass() {
1003
- console.log("1342244", this.selectedData[0].f_user_state)
1004
- for (let i = 0; i < this.selectedData.length; i++) {
1005
- let data={
1006
- code:this.selectedData[i].f_userinfo_code
1007
- }
1008
- let http = new HttpResetClass()
1009
- http.load('POST', 'rs/logic/batchcheck', {data:data}, {resolveMsg: null, rejectMsg: null})
1010
- }
1011
-
1012
- console.log("13ef44", this.selectdata.f_process_id)
1013
- let http = new HttpResetClass()
1014
- let son =await http.load('POST', 'rs/sql/sonprocess',{
1015
- data: {
1016
- process:this.selectdata.f_process_id
1017
- }
1018
- },
1019
- {resolveMsg: null, rejectMsg: null})
1020
- console.log("v2df",son.data)
1021
- if(son.data.length>0){
1022
- console.log("evv")
1023
- http.load('POST', 'rs/logic/recoverson', {process:son.data[0].f_process_id}, {resolveMsg: null, rejectMsg: null})
1024
- this.$dispatch('search')
1025
- }
1026
- else {
1027
- let data = {
1028
- start_activity: this.$workflow_vue.start_activity,
1029
- model: this.selectdata,
1030
- diff:{
1031
- defname:'施工',
1032
- process:'验收退回报建流程',
1033
- applytype:'验收退回',
1034
- actor:'R(工程部报装)'
1035
- },
1036
- loginUser: this.$login.f
1037
- }
1038
- let res = await this.$resetpost(
1039
- `rs/logic/mergeInitiate`,
1040
- data,
1041
- {resolveMsg: null, rejectMsg: '退回!!!'}
1042
- )
1043
- console.log("返回值", res.data)
1044
- console.log("返回", res)
1045
- this.$dispatch('search')
1046
- }
1047
- },
1048
-
1049
- async pass() {
1050
-
1051
- let http = new HttpResetClass()
1052
- let data = {
1053
- tablename: 't_apply',
1054
- condition: `f_process_id='${this.selectdata.f_process_id}'`
1055
- }
1056
- let parentres = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
1057
- resolveMsg: null,
1058
- rejectMsg: null
1059
- })
1060
-
1061
- let data2 = {
1062
- tablename: 'activityins',
1063
- condition: `processid='${parentres.data[0].f_parent_process_id}'`
1064
- }
1065
- let resparent = await http.load('POST', 'rs/sql/singleTable', {data: data2}, {
1066
- resolveMsg: null,
1067
- rejectMsg: null
1068
- })
1069
- //查父流程是否关闭
1070
- for(let i=0;i<resparent.data.length;i++) {
1071
- if (resparent.data[i].defname === '竣工验收' && resparent.data[i].state === '结束')
1072
- // let http2 = new HttpResetClass()
1073
- await http.load('POST', 'rs/logic/parentprocess', {data: {processid: resparent.data[i].processid, defname: resparent.data[i].defname}}, {
1074
- resolveMsg: null,
1075
- rejectMsg: null
1076
- })
1077
- // if (resparent.data[i].defname === '营业厅建档' && resparent.data[i].state === '结束')
1078
- // // let http3 = new HttpResetClass()
1079
- // await http.load('POST', 'rs/logic/parentprocess', {data: {processid: resparent.data[i].processid, defname: resparent.data[i].defname}}, {
1080
- // resolveMsg: null,
1081
- // rejectMsg: null
1082
- // })
1083
- }
1084
- for (let i = 0; i < this.selectedData.length; i++) {
1085
- let data = {
1086
- code: this.selectedData[i].f_userinfo_code
1087
- }
1088
- let http = new HttpResetClass()
1089
- http.load('POST', 'rs/logic/mergecheck', {data: data}, {resolveMsg: null, rejectMsg: null})
1090
- }
1091
- await this.search()
1092
- console.log("vewvvb", this.model.data)
1093
- if (this.model.data.length === 0) {
1094
- let res = await this.$resetpost(
1095
- `rs/logic/mergeapply`,
1096
- {data: this.selectdata},
1097
- {resolveMsg: null, rejectMsg: '终止流程!!!'}
1098
- )
1099
- console.log("返回值", res.data)
1100
- console.log("返回", res)
1101
- }
1102
- this.$dispatch('search')
1103
-
1104
- },
1105
- async filing() {
1106
- console.log("1342244", this.selectedData[0].f_user_state)
1107
- for (let i = 0; i < this.selectedData.length; i++) {
1108
- let data={
1109
- code:this.selectedData[i].f_userinfo_code
1110
- }
1111
- let http = new HttpResetClass()
1112
- http.load('POST', 'rs/logic/batchcheck', {data:data}, {resolveMsg: null, rejectMsg: null})
1113
- }
1114
-
1115
- console.log("13ef44", this.selectedData)
1116
- let http = new HttpResetClass()
1117
- let son = http.load('POST', 'rs/sql/sonprocess',{
1118
- data: {
1119
- process:this.selectdata.f_process_id
1120
- }
1121
- },
1122
- {resolveMsg: null, rejectMsg: null})
1123
- console.log("v2",son)
1124
- console.log("v2df",son.data)
1125
- if(son.f_parent_process_id){
1126
- http.load('POST', 'rs/logic/recoverson', {data:son.f_parent_process_id}, {resolveMsg: null, rejectMsg: null})
1127
- }
1128
- else {
1129
- let data = {
1130
- start_activity: this.$workflow_vue.start_activity,
1131
- model: this.selectdata,
1132
- diff:{
1133
- defname:'营业厅建档',
1134
- process:'建档暂存',
1135
- applytype:'建档暂存',
1136
- actor:'R(市场部报装)'
1137
- },
1138
- loginUser: this.$login.f,
1139
- }
1140
- let res = await this.$resetpost(
1141
- `rs/logic/mergeInitiate`,
1142
- data,
1143
- {resolveMsg: null, rejectMsg: '退回!!!'}
1144
- )
1145
- console.log("返回值", res.data)
1146
- console.log("返回", res)
1147
- this.$dispatch('search')
1148
- }
1149
- },
1150
- async fire (row) {
1151
- this.useradders = row
1152
-
1153
- let http = new HttpResetClass()
1154
- let data = {
1155
- condition: `f_userinfo_id='${row.f_userinfo_id}'`
1156
- }
1157
- let res = await http.load('POST', 'rs/logic/getUserinfoAndFire', {data:data}, {
1158
- resolveMsg: null,
1159
- rejectMsg: null
1160
- })
1161
- this.userinfo = res.data
1162
- console.log("12445",this.userinfo)
1163
-
1164
- this.showUserFile = true
1165
- },
1166
- showFileModal() {
1167
- for (let i = 0; i < this.selectdata.fields.length; i++) {
1168
- let item = this.selectdata.fields[i]
1169
- if (item.label === '街道' && !item.value) {
1170
- this.$showAlert('街道地址不能为空!!!', 'warning', 3000)
1171
- return
1172
- }
1173
- }
1174
- this.showFile = !this.showFile
1175
- },
1176
- async clear() {
1177
- this.query = {}
1178
- this.condition = "1 = 1"
1179
- },
1180
- conditionData() {
1181
- if (this.query.f_user_name && !this.query.f_user_phone) {
1182
- this.condition = "f_user_name = '" + this.query.f_user_name + "'"
1183
- }
1184
- if (this.query.f_user_phone && !this.query.f_user_name) {
1185
- this.condition = "f_user_phone = '" + this.query.f_user_phone + "'"
1186
- }
1187
- if (this.query.f_user_name && this.query.f_user_phone) {
1188
- this.condition = "f_user_name = '" + this.query.f_user_name + "'" + " and f_user_phone = '" + this.query.f_user_phone + "'"
1189
- }
1190
- },
1191
- async search () {
1192
- this.conditionData()
1193
- console.log("selectdata.f2")
1194
- console.log(this.selectdata)
1195
- if(this.selectdata.showDefnames){
1196
- console.log("1212")
1197
- this.showselect=false
1198
- this.showrecover=true
1199
- this.showclean=false
1200
- let http = new HttpResetClass()
1201
- let data = {
1202
- condition: this.condition,
1203
- f_filialeid: this.$login.f.orgid,
1204
- f_process_id: this.selectdata.f_process_id,
1205
- state:'销户'
1206
- }
1207
- let res = await http.load('POST', 'rs/sql/getStopAddress', {data:data}, {
1208
- resolveMsg: null,
1209
- rejectMsg: null
1210
- })
1211
- this.model.data = res.data
1212
- console.log("rows",this.model.data)
1213
- }
1214
- else
1215
- {
1216
- let http = new HttpResetClass()
1217
- let data = {
1218
- condition: this.condition,
1219
- f_filialeid: this.$login.f.orgid,
1220
- f_process_id: this.selectdata.f_process_id,
1221
- }
1222
- let res = await http.load('POST', 'rs/sql/getAddressAanUserinfo', {data:data}, {
1223
- resolveMsg: null,
1224
- rejectMsg: null
1225
- })
1226
- this.model.data = res.data
1227
- console.log(this.selectdata)
1228
- console.log("modeldata")
1229
- console.log(this.model.data)
1230
- if(this.selectdata.f_apply_type==='验收退回'||this.selectdata.f_apply_type==='建档暂存') {
1231
- let data = {
1232
- condition: " 1=1",
1233
- f_filialeid: this.$login.f.orgid,
1234
- f_process_id: this.selectdata.f_parent_process_id,
1235
- state:'不合格'
1236
- }
1237
- let res= await http.load('POST', 'rs/sql/getStopAddress', {data: data}, {
1238
- resolveMsg: null,
1239
- rejectMsg: null
1240
- })
1241
- this.model.data = res.data
1242
-
1243
- console.log("vfgvb",this.model.data)
1244
- }
1245
- if(this.selectdata.defname === '合同签订'){
1246
- return
1247
- }
1248
- for (let i = 0; i < this.selectdata.fields.length; i++) {
1249
- if (this.selectdata.fields[i].label === '户数') {
1250
- this.selectdata.fields[i].value = res.data.length
1251
- }
1252
- }
1253
- }
1254
- },
1255
- //标记原因
1256
- signremark(row) {
1257
- this.signReasonPage = true
1258
- this.remark = row
1259
- },
1260
- async backremark(row){
1261
- this.showbackremark=true
1262
- this.remark=row
1263
- let http = new HttpResetClass()
1264
- let data = {
1265
- tablename: 't_exploration_comments',
1266
- condition: `f_userinfo_id=${this.remark.f_userinfo_id}`
1267
- }
1268
- let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
1269
- resolveMsg: null,
1270
- rejectMsg: '补充协议查询失败'
1271
- })
1272
- console.log("g4b",res.data)
1273
- this.f_comments =res.data[0].f_comments
1274
- console.log("d2fg",this.f_comments)
1275
- },
1276
- async confirm (row) {
1277
- // 保存此备注信息
1278
- console.log("v3b4",row)
1279
- let http = new HttpResetClass()
1280
- let data = {
1281
- f_userinfo_id: this.remark.f_userinfo_id,
1282
- f_comments: this.f_comments,
1283
- f_operator: this.$login.f.name
1284
- }
1285
- await http.load('POST', 'rs/logic/updatecomment', {data: data}, {
1286
- resolveMsg: '添加退回原因成功',
1287
- rejectMsg: '退回原因报错'
1288
- })
1289
- this.cancel()
1290
- },
1291
- async confirmPage() {
1292
- // 保存此备注信息
1293
- console.log("备注信息:",this.f_comments,"用户id:",this.remark.f_userinfo_id)
1294
- let http = new HttpResetClass()
1295
- let data = {
1296
- userType: "原因",
1297
- f_comments: this.f_comments,
1298
- f_userinfo_id: this.remark.f_userinfo_id
1299
- }
1300
- await http.load('POST', 'rs/logic/updateUserState', {data: data}, {
1301
- resolveMsg: '添加成功',
1302
- rejectMsg: '添加错误'
1303
- })
1304
- this.cancelPage()
1305
- },
1306
- cancel() {
1307
- this.showbackremark = false;
1308
- },
1309
- cancelPage() {
1310
- this.signReasonPage = false
1311
- },
1312
- // 关闭文件上传对话框
1313
- closeFile() {
1314
- this.showFile = false
1315
- // 将选的文件清空
1316
- this.$refs.file.$el.querySelector('input').value = ''
1317
- this.search()
1318
- },
1319
- closeModal() {
1320
- console.log("1213")
1321
- this.showUserFile = false
1322
- this.useradders = null
1323
- this.userinfo = null
1324
- this.search()
1325
- console.log("145")
1326
- },
1327
- closeUserModal(){
1328
- this.userinfo = null
1329
- this.showModal = false
1330
- },
1331
- async saveUserFile() {
1332
- this.showUserFile = false
1333
- console.log("987")
1334
- },
1335
- async cleanupload(row) {
1336
- this.record=row
1337
- let http = new HttpResetClass()
1338
- let data = {
1339
- apply: this.selectdata,
1340
- user: this.$login.f,
1341
- record: this.record
1342
- }
1343
- console.log("apply")
1344
- console.log(this.selectdata)
1345
- try {
1346
- let res = await http.load('POST', 'rs/logic/invalidUploadfile', {data:data}, {
1347
- resolveMsg: null,
1348
- rejectMsg: null
1349
- })
1350
- this.$showMessage("删除成功")
1351
- // this.selectdata = res.data
1352
- } catch (e) {
1353
- this.$showAlert(e.data, 'danger', 3000)
1354
- }
1355
- this.search()
1356
- this.$dispatch('breakControl', this.selectdata)
1357
- },
1358
- recoverupload(row) {
1359
- this.record=row
1360
- let http = new HttpResetClass()
1361
- let data = {
1362
- apply: this.selectdata,
1363
- user: this.$login.f,
1364
- record: this.record
1365
- }
1366
-
1367
- try {
1368
- let res = http.load('POST', 'rs/logic/recoveruploadfile', {data:data}, {
1369
- resolveMsg: null,
1370
- rejectMsg: null
1371
- })
1372
- this.$showMessage("成功恢复")
1373
- this.selectdata = res.data
1374
- } catch (e) {
1375
- this.$showAlert(e.data, 'danger', 3000)
1376
- }
1377
- this.search()
1378
- this.$dispatch('breakControl', this.selectdata)
1379
- },
1380
- async unqualcheck(row) {
1381
- if (isEmpty(this.cv.f_void_remarks)) {
1382
- this.$showAlert('请输入不合格原因!!!', 'warning', 3000)
1383
- return
1384
- }
1385
- this.record=row
1386
- this.$dispatch('unpass',this.selectedData)
1387
- this.$dispatch('breakControl', this.selectdata)
1388
- },
1389
- openModal(){
1390
- this.showModal = true
1391
- },
1392
- //地址类型变化
1393
- addressTypeChange(){
1394
- if (this.userinfo.useradders.f_apply_type === '民用地址'){
1395
- this.addressDis = true
1396
- }else {
1397
- this.addressDis = false
1398
- }
1399
- },
1400
- // 获取区县
1401
- async getPcd() {
1402
- let data = {
1403
- tablename: 't_pcd',
1404
- condition: `f_filialeid = '${this.$login.f.orgid}'`
1405
- }
1406
- let http = new HttpResetClass()
1407
- let res = await http.load(
1408
- 'POST',
1409
- `rs/sql/singleTable`,
1410
- {data: data},
1411
- {resolveMsg: null, rejectMsg: '区县查询失败!!!'}
1412
- )
1413
-
1414
- this.pcdList = res.data.map(item => {
1415
- return {
1416
- label: item.f_pcd,
1417
- value: item.f_pcd
1418
- }
1419
- })
1420
- console.log("区县",this.pcdList)
1421
- },
1422
- //获取街道
1423
- async getStreet() {
1424
- let data = {
1425
- tablename: 't_street',
1426
- condition: `f_filialeid = '${this.$login.f.orgid}' and f_pcd = '${this.userinfo.useradders.f_pcd}'`
1427
- }
1428
-
1429
- let http = new HttpResetClass()
1430
- let res = await http.load(
1431
- 'POST',
1432
- `rs/sql/singleTable`,
1433
- {data: data},
1434
- {resolveMsg: null, rejectMsg: '街道查询失败!!!'}
1435
- )
1436
-
1437
- this.streetList = res.data.map(item => {
1438
- return {
1439
- label: item.f_street,
1440
- value: item.f_street
1441
- }
1442
- })
1443
- },
1444
- //获取小区
1445
- async getResidentialArea() {
1446
-
1447
- let data = {
1448
- tablename: 't_area',
1449
- condition: `f_filialeid = '${this.$login.f.orgid}' and f_street = '${this.userinfo.useradders.f_street}'`
1450
- }
1451
- let http = new HttpResetClass()
1452
- let res = await http.load(
1453
- 'POST',
1454
- `rs/sql/singleTable`,
1455
- {data: data},
1456
- {resolveMsg: null, rejectMsg: '小区查询失败!!!'}
1457
- )
1458
-
1459
- this.areaList = res.data.map(item => {
1460
- return {
1461
- label: item.f_residential_area,
1462
- value: item.f_residential_area
1463
- }
1464
- })
1465
- },
1466
- // 地址拼接
1467
- addressSplicing () {
1468
- let f_pcd = this.userinfo.useradders.f_pcd || ''
1469
- let f_area = this.userinfo.useradders.f_area || ''
1470
- let f_slice_area = this.userinfo.useradders.f_slice_area || ''
1471
- let f_street = this.userinfo.useradders.f_street || ''
1472
- let f_residential_area = this.userinfo.useradders.f_residential_area || ''
1473
- let f_building = this.userinfo.useradders.f_building || ''
1474
- let f_building_suffix = f_building ? '号楼' : ''
1475
- let f_unit = this.userinfo.useradders.f_unit || ''
1476
- let f_unit_suffix = f_unit ? '单元' : ''
1477
- let f_floor = this.userinfo.useradders.f_floor || ''
1478
- let f_floor_suffix = f_floor ? '层' : ''
1479
- let f_room = this.userinfo.useradders.f_room || ''
1480
- let f_room_suffix = f_room ? '室' : ''
1481
-
1482
- Vue.set(this.userinfo.useradders, 'f_address', f_pcd + f_area + f_slice_area + f_street + f_residential_area + f_building + f_building_suffix + f_unit + f_unit_suffix + f_floor + f_floor_suffix + f_room + f_room_suffix)
1483
- },
1484
- async saveUser () {
1485
- let data = {
1486
- user: this.$login.f,
1487
- userinfo: this.userinfo,
1488
- selectdata: this.selectdata
1489
- }
1490
- let res = await this.$resetpost('rs/logic/applyAddUserinfo', {data:data}, {
1491
- resolveMsg: null,
1492
- rejectMsg: '用户档案添加失败!!!'
1493
- })
1494
- this.$dispatch('breakControl', res.data)
1495
- }
1496
- },
1497
- events: {
1498
- async 'onFileUpload'(file, result) {
1499
- let data = {
1500
- selectdata: this.selectdata,
1501
- filepath: result.f_downloadpath,
1502
- user: this.$login.f,
1503
- mark: this.mark
1504
- }
1505
- let res = await this.$resetpost(`rs/logic/importAddressAndUserinfo`, {data:data}, {resolveMsg: null, rejectMsg: '导入失败', silent: true}, 0)
1506
- if(res.data.type === "success"){
1507
- this.$showAlert("导入信息:"+res.data.msg, res.data.type, 2000);
1508
- }else{
1509
- this.$showMessage(res.data.msg);
1510
- }
1511
- if (this.mark !== 0) {
1512
- this.$dispatch('breakControl', this.selectdata)
1513
- }
1514
- this.closeFile()
1515
- }
1516
- },
1517
- computed: {
1518
- ischecked () {
1519
- return function (row) {
1520
- return this.selectedData.includes(row)
1521
- }
1522
-
1523
- },
1524
- getCondition () {
1525
- let data = {
1526
- condition: " 1=1",
1527
- f_filialeid: this.$login.f.orgid,
1528
- f_process_id: this.selectdata.f_process_id,
1529
- }
1530
- return data
1531
- },
1532
- // 证件类型
1533
- credentialsList() {
1534
- return this.$appdata.getParam('证件类型')
1535
- },
1536
- getUserType(){
1537
- return this.$appdata.getParam('用户类型')
1538
- }
1539
- },
1540
- watch: {
1541
- }
1542
- }
1543
- </script>
1544
- <style scoped>
1545
- .textNoLineBreak {
1546
- white-space: nowrap;
1547
- }
1548
- .head-but{
1549
- margin-left: 5px;
1550
- height: 34px;
1551
- border-radius: 4px;
1552
- font-family: PingFang;
1553
- color: #ffffff;
1554
- }
1555
- </style>
1
+ <template>
2
+ <div class="col-sm-12" style="margin: 20px 0px;">
3
+ <div class="auto" style="overflow:auto;margin: 15px 0 0 15px;">
4
+ <div class="form-inline auto col-sm-12">
5
+ <div class="row col-sm-12">
6
+ <div class="form-group col-sm-3">
7
+ <label class=" control-label" >客户姓名</label>
8
+ <input type="text" class="input_search" placeholder='客户姓名' v-model="query.f_user_name">
9
+ </div>
10
+ <div class="form-group col-sm-3">
11
+ <label class=" control-label" >客户电话</label>
12
+ <input type="text" class="input_search" placeholder='客户电话' v-model="query.f_user_phone">
13
+ </div>
14
+ <div class="form-group col-sm-5" >
15
+ <!-- <button class="button_search button_spacing" @click="search()">查询</button>-->
16
+ <button type="button" class="btn btn-default" @click="search()">查询</button>
17
+ <button type="button" class="btn btn-default" @click="clear()">清空</button>
18
+ </div>
19
+ </div>
20
+ </div>
21
+ </div>
22
+ <data-grid :model="model" v-ref:grid class="list_area table_sy" style="padding: 0px">
23
+ <template partial='head'>
24
+ <tr>
25
+ <th v-if="$parent.$parent.showselect" class="textNoLineBreak">选择</th>
26
+ <th class="textNoLineBreak">序号</th>
27
+ <th class="textNoLineBreak">区/县</th>
28
+ <th class="textNoLineBreak">片区</th>
29
+ <th class="textNoLineBreak">街道</th>
30
+ <th class="textNoLineBreak">小区</th>
31
+ <th class="textNoLineBreak">详细地址</th>
32
+ <th class="textNoLineBreak">用户状态</th>
33
+ <th class="textNoLineBreak">客户编号</th>
34
+ <th class="textNoLineBreak">用户姓名</th>
35
+ <th class="textNoLineBreak">电话</th>
36
+ <th class="textNoLineBreak">证件类型</th>
37
+ <th class="textNoLineBreak">证件号码</th>
38
+ <th class="textNoLineBreak">时间</th>
39
+ <th v-if="$parent.$parent.showremark" class="textNoLineBreak">退回理由</th>
40
+ <th v-if="$parent.$parent.signReason" class="textNoLineBreak">标记原因</th>
41
+ <th class="textNoLineBreak">
42
+ <button
43
+ type="button"
44
+ class="btn btn-info head-but"
45
+ v-if="($parent.$parent.selectdata.defname === '报建登记'|| $parent.$parent.selectdata.defname === '合同签订' || $parent.$parent.selectdata.defname === '竣工验收') && $parent.$parent.mark !== 1"
46
+ @click="$parent.$parent.openModal()"
47
+ :disabled="$parent.$parent.mark === 1"
48
+ >添加</button>
49
+ <button v-if="$parent.$parent.showback && $parent.$parent.mark !== 1 "type="button" class="btn btn-info head-but"
50
+ @click="$parent.$parent.unpass()">退回</button>
51
+ <button v-if="$parent.$parent.void && $parent.$parent.mark !== 1"type="button" class="btn btn-info head-but"
52
+ @click="$parent.$parent.voidFunction()">标记</button>
53
+ <button v-if="$parent.$parent.showcover && $parent.$parent.mark !== 1"type="button" class="btn btn-info head-but"
54
+ @click="$parent.$parent.pass()">恢复</button>
55
+ <!-- <button v-if="$parent.$parent.showfiling"type="button" class="btn btn-info head-but"-->
56
+ <!-- @click="$parent.$parent.filing()">建档不合格</button>-->
57
+ <button v-if="$parent.$parent.showhina && $parent.$parent.mark !== 1" type="button" class="btn btn-info head-but"
58
+ :disabled="$parent.$parent.mark === 1"
59
+ @click="$parent.$parent.showFileModal()">导入</button>
60
+ <a v-if="$parent.$parent.showhina && $parent.$parent.mark !== 1" type="button" class="btn btn-info head-but"
61
+ href="/apply/download/excel/中盛地址批量导入.xlsx" download>模板下载</a>
62
+ <!-- <export-excel :data="$parent.$parent.getCondition"-->
63
+ <!-- :field="$parent.$parent.getfield"-->
64
+ <!-- sqlurl="rs/logic/applyExportfile"-->
65
+ <!-- sql-name="getAddressAanUserinfo"-->
66
+ <!-- template-name='花名册导出'-->
67
+ <!-- btn-name="花名册导出"-->
68
+ <!-- :choose-col="true"></export-excel>-->
69
+
70
+ </th>
71
+ </tr>
72
+ </template>
73
+ <template partial='body'>
74
+ <tr>
75
+ <td style="text-align: center;" v-if="$parent.$parent.showselect">
76
+ <input type='checkbox' style="width: 22px;height: 22px;"
77
+ :id="'body'+model.pageIndex"
78
+ :checked="$parent.$parent.ischecked(row)"
79
+ @change="$parent.$parent.selectOne(row)"/>
80
+ </td>
81
+ <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
82
+ <nobr>{{$index+1}}</nobr>
83
+ </td>
84
+ <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
85
+ <nobr>{{row.f_pcd}}</nobr>
86
+ </td>
87
+ <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
88
+ <nobr>{{row.f_slice_area}}</nobr>
89
+ </td>
90
+ <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
91
+ <nobr>{{row.f_street}}</nobr>
92
+ </td>
93
+ <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
94
+ <nobr>{{row.f_residential_area}}</nobr>
95
+ </td>
96
+ <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
97
+ <nobr>{{row.f_address}}</nobr>
98
+ </td>
99
+ <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
100
+ <nobr>{{row.f_user_state}}</nobr>
101
+ </td>
102
+ <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
103
+ <nobr>{{row.f_userinfo_code}}</nobr>
104
+ </td>
105
+ <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
106
+ <nobr>{{row.f_user_name}}</nobr>
107
+ </td>
108
+ <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
109
+ <nobr>{{row.f_user_phone}}</nobr>
110
+ </td>
111
+ <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
112
+ <nobr>{{row.f_credentials}}</nobr>
113
+ </td>
114
+ <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
115
+ <nobr>{{row.f_idnumber}}</nobr>
116
+ </td>
117
+ <td style="text-align: center;" @click="$parent.$parent.selectOne(row)">
118
+ <nobr>{{row.f_create_date}}</nobr>
119
+ </td>
120
+ <td v-if="$parent.$parent.showremark && $parent.$parent.mark !== 1" style="text-align: center;">
121
+ <!-- <button class="button_new button_spacing" style="width: max-content" @click.prevent="$parent.$parent.cleanupload(row)">删除</button>-->
122
+
123
+ <button class="button_new button_spacing" @click.prevent="$parent.$parent.backremark(row)">退回原因</button>
124
+ </td>
125
+ <td v-if="$parent.$parent.signReason && $parent.$parent.mark !== 1" style="text-align: center;">
126
+ <button class="button_new button_spacing" @click.prevent="$parent.$parent.signremark(row)">标记原因</button>
127
+ </td>
128
+ <td style="text-align: center;">
129
+ <button v-if="$parent.$parent.showclean && $parent.$parent.mark !== 1" class="button_new button_spacing" style="width: max-content" @click.prevent="$parent.$parent.cleanupload(row)">删除</button>
130
+ <button v-if="$parent.$parent.showrecover && $parent.$parent.mark !== 1" class="button_new button_spacing" style="width: max-content" @click.prevent="$parent.$parent.recoverupload(row)">恢复</button>
131
+ <!-- <button v-if="$parent.$parent.showfire" class="button_new button_spacing" style="width: max-content" @click.prevent="$parent.$parent.fire(row)">点火</button>-->
132
+ </td>
133
+ </tr>
134
+ </template>
135
+ </data-grid>
136
+ </div>
137
+
138
+ <modal :show.sync="showbackremark" v-ref:modal large backdrop="false">
139
+ <header slot="modal-header" class="modal-header">
140
+ <h3 style="color:black" class="modal-title">退回原因</h3>
141
+ </header>
142
+ <article slot="modal-body" class="modal-body">
143
+ <div class="auto">
144
+ <form class="form-horizontal">
145
+ <div class="row">
146
+ <div class="col-sm-12 form-group form-input-group" >
147
+ <label class="control-label">备注</label>
148
+ <textarea class="form-control" v-model=f_comments placeholder="请添加原因" :disabled="!showback"></textarea>
149
+ </div>
150
+ </div>
151
+ </form>
152
+ </div>
153
+ </article>
154
+ <footer slot="modal-footer" class="modal-footer">
155
+ <button type="button" class="btn btn-success" @click='confirm(row)'>确定</button>
156
+ <button type="button" class="btn btn-default" @click='cancel()'>取消</button>
157
+ </footer>
158
+ </modal>
159
+ <!-- 标记原因 -->
160
+ <modal :show.sync="signReasonPage" v-ref:modal large backdrop="false">
161
+ <header slot="modal-header" class="modal-header">
162
+ <h3 style="color:black" class="modal-title">标记原因</h3>
163
+ </header>
164
+ <article slot="modal-body" class="modal-body">
165
+ <div class="auto">
166
+ <form class="form-horizontal">
167
+ <div class="row">
168
+ <div class="col-sm-12 form-group form-input-group" >
169
+ <label class="control-label">原因</label>
170
+ <textarea class="form-control" v-model=f_comments placeholder="请添加原因" :disabled="!signReasonPage"></textarea>
171
+ </div>
172
+ </div>
173
+ </form>
174
+ </div>
175
+ </article>
176
+ <footer slot="modal-footer" class="modal-footer">
177
+ <button type="button" class="btn btn-success" @click='confirmPage()'>确定</button>
178
+ <button type="button" class="btn btn-default" @click='cancelPage()'>取消</button>
179
+ </footer>
180
+ </modal>
181
+
182
+ <modal v-if="showUserFile" :show.sync="showUserFile" v-ref:modal :backdrop="false" title="点火信息">
183
+ <header slot="modal-header" class="modal-header">
184
+ <button type="button" class="close" @click="closeModal"><span>&times;</span></button>
185
+ <h4 class="modal-title">点火信息</h4>
186
+ </header>
187
+ <article slot="modal-body" class="modal-body clearfix">
188
+ <div v-for="(i, item) in userinfo.userfiles" class="form-group col-sm-12 panel panel-info">
189
+ <div class="panel-heading head" style="background-color: #e8f4ff;margin-bottom: 10px">通气点火信息</div>
190
+
191
+ <div class="form-group col-sm-12">
192
+ <label class="col-sm-4 control-label">IC卡号:</label>
193
+ <div class="col-sm-6">
194
+ <input-select
195
+ class="select select_list"
196
+ :value.sync="item.f_gas_pressure"
197
+ v-model="item.f_gas_pressure"
198
+ :options="f_gas_pressure"
199
+ @change="gasbrandChange(i)"
200
+ :valueSingle="true"></input-select>
201
+ </div>
202
+ </div>
203
+
204
+ <div class="form-group col-sm-12" :class="item.f_gasbrand_id ? '':'has-error'">
205
+ <label class="col-sm-4 control-label">燃气表品牌:</label>
206
+ <div class="col-sm-6">
207
+ <input-select
208
+ class="select select_list"
209
+ :value.sync="item.f_gasbrand_id"
210
+ v-model="item.f_gasbrand_id"
211
+ :options="meterbrands"
212
+ @change="gasbrandChange(i)"
213
+ :valueSingle="true"></input-select>
214
+ </div>
215
+ </div>
216
+ <div class="form-group col-sm-12" :class="item.f_gasmodel ? '':'has-error'">
217
+ <label class="col-sm-4 control-label">燃气表型号:</label>
218
+ <div class="col-sm-6">
219
+ <input-select
220
+ class="select select_list"
221
+ :value.sync="item.f_gasmodel"
222
+ v-model="item.f_gasmodel"
223
+ :options="item.f_gasmodel"
224
+ @change="gasmodelChange(i)"
225
+ :valueSingle="true"></input-select>
226
+ </div>
227
+ </div>
228
+
229
+ <div class="form-group col-sm-12":class="item.f_meternumber ? '':'has-error'">
230
+ <label class="col-sm-4 control-label">表号:</label>
231
+ <div class="col-sm-6">
232
+ <input-select
233
+ class="select select_list"
234
+ :value.sync="item.f_meternumber"
235
+ v-model="item.f_meternumber"
236
+ :options="item.f_meternumber"
237
+ :valueSingle="true"></input-select>
238
+ </div>
239
+ </div>
240
+
241
+ <div class="form-group col-sm-12":class="item.f_aroundmeter ? '':'has-error'">
242
+ <label class="col-sm-4 control-label">表向:</label>
243
+ <div class="col-sm-6">
244
+ <input-select
245
+ class="select select_list"
246
+ :value.sync="item.f_aroundmeter"
247
+ v-model="item.f_aroundmeter"
248
+ :options="item.f_aroundmeters"
249
+ :valueSingle="true"></input-select>
250
+ </div>
251
+ </div>
252
+
253
+ <div class="form-group col-sm-12":class="item.f_gage_seal ? '':'has-error'">
254
+ <label class="col-sm-4 control-label">表封:</label>
255
+ <div class="col-sm-6">
256
+ <input-select
257
+ class="select select_list"
258
+ :value.sync="item.f_gage_seal"
259
+ v-model="item.f_gage_seal"
260
+ :options="item.f_gage_seal"
261
+ :valueSingle="true"></input-select>
262
+ </div>
263
+ </div>
264
+
265
+ <div class="form-group col-sm-12":class="item.f_dn ? '':'has-error'">
266
+ <label class="col-sm-4 control-label">镀锌管DN15:</label>
267
+ <div class="col-sm-6">
268
+ <input-select
269
+ class="select select_list"
270
+ :value.sync="item.f_dn"
271
+ v-model="item.f_dn"
272
+ :options="item.f_dn"
273
+ :valueSingle="true"></input-select>
274
+ </div>
275
+ </div>
276
+
277
+ <div class="form-group col-sm-12":class="item.f_three_link ? '':'has-error'">
278
+ <label class="col-sm-4 control-label">三通:</label>
279
+ <div class="col-sm-6">
280
+ <input-select
281
+ class="select select_list"
282
+ :value.sync="item.f_three_link"
283
+ v-model="item.f_three_link"
284
+ :options="item.f_three_link"
285
+ :valueSingle="true"></input-select>
286
+ </div>
287
+ </div>
288
+
289
+ <div class="form-group col-sm-12":class="item.f_nipple ? '':'has-error'">
290
+ <label class="col-sm-4 control-label">对丝:</label>
291
+ <div class="col-sm-6">
292
+ <input-select
293
+ class="select select_list"
294
+ :value.sync="item.f_nipple"
295
+ v-model="item.f_nipple"
296
+ :options="item.f_nipple"
297
+ :valueSingle="true"></input-select>
298
+ </div>
299
+ </div>
300
+
301
+ <div class="form-group col-sm-12":class="item.f_elbow ? '':'has-error'">
302
+ <label class="col-sm-4 control-label">弯头:</label>
303
+ <div class="col-sm-6">
304
+ <input-select
305
+ class="select select_list"
306
+ :value.sync="item.f_elbow"
307
+ v-model="item.f_elbow"
308
+ :options="item.f_elbow"
309
+ :valueSingle="true"></input-select>
310
+ </div>
311
+ </div>
312
+
313
+ <div class="form-group col-sm-12":class="item.f_meter_valve ? '':'has-error'">
314
+ <label class="col-sm-4 control-label">表前阀:</label>
315
+ <div class="col-sm-6">
316
+ <input-select
317
+ class="select select_list"
318
+ :value.sync="item.f_meter_valve"
319
+ v-model="item.f_meter_valve"
320
+ :options="item.f_meter_valve"
321
+ :valueSingle="true"></input-select>
322
+ </div>
323
+ </div>
324
+
325
+ <div class="form-group col-sm-12":class="item.f_pipe_strap ? '':'has-error'">
326
+ <label class="col-sm-4 control-label">管卡:</label>
327
+ <div class="col-sm-6">
328
+ <input-select
329
+ class="select select_list"
330
+ :value.sync="item.f_pipe_strap"
331
+ v-model="item.f_pipe_strap"
332
+ :options="item.f_pipe_strap"
333
+ :valueSingle="true"></input-select>
334
+ </div>
335
+ </div>
336
+
337
+ <div class="form-group col-sm-12":class="item.f_stove_valve ? '':'has-error'">
338
+ <label class="col-sm-4 control-label">灶前阀:</label>
339
+ <div class="col-sm-6">
340
+ <input-select
341
+ class="select select_list"
342
+ :value.sync="item.f_stove_valve"
343
+ v-model="item.f_stove_valve"
344
+ :options="item.f_stove_valve"
345
+ :valueSingle="true"></input-select>
346
+ </div>
347
+ </div>
348
+
349
+ <div class="form-group col-sm-12":class="item.f_rubber_sac ? '':'has-error'">
350
+ <label class="col-sm-4 control-label">胶管:</label>
351
+ <div class="col-sm-6">
352
+ <input-select
353
+ class="select select_list"
354
+ :value.sync="item.f_rubber_sac"
355
+ v-model="item.f_rubber_sac"
356
+ :options="item.f_rubber_sac"
357
+ :valueSingle="true"></input-select>
358
+ </div>
359
+ </div>
360
+
361
+ <div class="form-group col-sm-12":class="item.f_alarm ? '':'has-error'">
362
+ <label class="col-sm-4 control-label">报警器:</label>
363
+ <div class="col-sm-6">
364
+ <input-select
365
+ class="select select_list"
366
+ :value.sync="item.f_alarm"
367
+ v-model="item.f_alarm"
368
+ :options="item.f_alarm"
369
+ :valueSingle="true"></input-select>
370
+ </div>
371
+ </div>
372
+
373
+ <div class="form-group col-sm-12":class="item.f_close_valve ? '':'has-error'">
374
+ <label class="col-sm-4 control-label">自闭阀:</label>
375
+ <div class="col-sm-6">
376
+ <input-select
377
+ class="select select_list"
378
+ :value.sync="item.f_close_valve"
379
+ v-model="item.f_close_valve"
380
+ :options="item.f_close_valve"
381
+ :valueSingle="true"></input-select>
382
+ </div>
383
+ </div>
384
+
385
+ <div class="form-group col-sm-12":class="item.f_gas_stove ? '':'has-error'">
386
+ <label class="col-sm-4 control-label">燃气具:</label>
387
+ <div class="col-sm-6">
388
+ <input-select
389
+ class="select select_list"
390
+ :value.sync="item.f_gas_stove"
391
+ v-model="item.f_gas_stove"
392
+ :options="item.f_gas_stove"
393
+ :valueSingle="true"></input-select>
394
+ </div>
395
+ </div>
396
+
397
+ <div class="form-group col-sm-12":class="item.f_boiler ? '':'has-error'">
398
+ <label class="col-sm-4 control-label">热水器:</label>
399
+ <div class="col-sm-6">
400
+ <input-select
401
+ class="select select_list"
402
+ :value.sync="item.f_boiler"
403
+ v-model="item.f_boiler"
404
+ :options="item.f_boiler"
405
+ :valueSingle="true"></input-select>
406
+ </div>
407
+ </div>
408
+
409
+ <div class="form-group col-sm-12":class="item.f_hang_boiler ? '':'has-error'">
410
+ <label class="col-sm-4 control-label">壁挂锅炉:</label>
411
+ <div class="col-sm-6">
412
+ <input-select
413
+ class="select select_list"
414
+ :value.sync="item.f_hang_boiler"
415
+ v-model="item.f_hang_boiler"
416
+ :options="item.f_hang_boiler"
417
+ :valueSingle="true"></input-select>
418
+ </div>
419
+ </div>
420
+
421
+
422
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_ic_card ? '':'has-error'">
423
+ <label class="col-sm-4 control-label">IC卡号:</label>
424
+ <div class="col-sm-6">
425
+ <input-select
426
+ class="select select_list"
427
+ :value.sync="item.f_ic_card"
428
+ v-model="item.f_ic_card"
429
+ :options="item.f_ic_card"
430
+ :valueSingle="true"></input-select>
431
+ </div>
432
+ </div>
433
+
434
+
435
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_flow_type ? '':'has-error'">
436
+ <label class="col-sm-4 control-label">流量计品牌:</label>
437
+ <div class="col-sm-6">
438
+ <input-select
439
+ class="select select_list"
440
+ :value.sync="item.f_flow_type"
441
+ v-model="item.f_flow_type"
442
+ :options="item.f_flow_type"
443
+ :valueSingle="true"></input-select>
444
+ </div>
445
+ </div>
446
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_flow_type1 ? '':'has-error'">
447
+ <label class="col-sm-4 control-label">流量计型号:</label>
448
+ <div class="col-sm-6">
449
+ <input-select
450
+ class="select select_list"
451
+ :value.sync="item.f_flow_type1"
452
+ v-model="item.f_flow_type1"
453
+ :options="item.f_flow_type1"
454
+ :valueSingle="true"></input-select>
455
+ </div>
456
+ </div>
457
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_flow_card ? '':'has-error'">
458
+ <label class="col-sm-4 control-label">流量计出厂编号:</label>
459
+ <div class="col-sm-6">
460
+ <input-select
461
+ class="select select_list"
462
+ :value.sync="item.f_flow_card"
463
+ v-model="item.f_flow_card"
464
+ :options="item.f_flow_card"
465
+ :valueSingle="true"></input-select>
466
+ </div>
467
+ </div>
468
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_flow_scope ? '':'has-error'">
469
+ <label class="col-sm-4 control-label">流量计流量范围:</label>
470
+ <div class="col-sm-6">
471
+ <input-select
472
+ class="select select_list"
473
+ :value.sync="item.f_flow_scope"
474
+ v-model="item.f_flow_scope"
475
+ :options="item.f_flow_scope"
476
+ :valueSingle="true"></input-select>
477
+ </div>
478
+ </div>
479
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_flow_seal ? '':'has-error'">
480
+ <label class="col-sm-4 control-label">流量计表封号:</label>
481
+ <div class="col-sm-6">
482
+ <input-select
483
+ class="select select_list"
484
+ :value.sync="item.f_flow_seal"
485
+ v-model="item.f_flow_seal"
486
+ :options="item.f_flow_seal"
487
+ :valueSingle="true"></input-select>
488
+ </div>
489
+ </div>
490
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_control_brand ? '':'has-error'">
491
+ <label class="col-sm-4 control-label">控制器品牌:</label>
492
+ <div class="col-sm-6">
493
+ <input-select
494
+ class="select select_list"
495
+ :value.sync="item.f_control_brand"
496
+ v-model="item.f_control_brand"
497
+ :options="item.f_control_brand"
498
+ :valueSingle="true"></input-select>
499
+ </div>
500
+ </div>
501
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_control_type ? '':'has-error'">
502
+ <label class="col-sm-4 control-label">控制器型号:</label>
503
+ <div class="col-sm-6">
504
+ <input-select
505
+ class="select select_list"
506
+ :value.sync="item.f_control_type"
507
+ v-model="item.f_control_type"
508
+ :options="item.f_control_type"
509
+ :valueSingle="true"></input-select>
510
+ </div>
511
+ </div>
512
+
513
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_control_date ? '':'has-error'">
514
+ <label class="col-sm-4 control-label">控制器出厂日期:</label>
515
+ <div class="col-sm-6">
516
+ <input-select
517
+ class="select select_list"
518
+ :value.sync="item.f_control_date"
519
+ v-model="item.f_control_date"
520
+ :options="item.f_control_date"
521
+ :valueSingle="true"></input-select>
522
+ </div>
523
+ </div>
524
+
525
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_control_code ? '':'has-error'">
526
+ <label class="col-sm-4 control-label">控制器表号:</label>
527
+ <div class="col-sm-6">
528
+ <input-select
529
+ class="select select_list"
530
+ :value.sync="item.f_control_code"
531
+ v-model="item.f_control_code"
532
+ :options="item.f_control_code"
533
+ :valueSingle="true"></input-select>
534
+ </div>
535
+ </div>
536
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_control_seal ? '':'has-error'">
537
+ <label class="col-sm-4 control-label">控制器表封号:</label>
538
+ <div class="col-sm-6">
539
+ <input-select
540
+ class="select select_list"
541
+ :value.sync="item.f_control_seal"
542
+ v-model="item.f_control_seal"
543
+ :options="item.f_control_seal"
544
+ :valueSingle="true"></input-select>
545
+ </div>
546
+ </div>
547
+
548
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_finish_date ? '':'has-error'">
549
+ <label class="col-sm-4 control-label">交付日期:</label>
550
+ <div class="col-sm-6">
551
+ <input-select
552
+ class="select select_list"
553
+ :value.sync="item.f_finish_date"
554
+ v-model="item.f_finish_date"
555
+ :options="item.f_finish_date"
556
+ :valueSingle="true"></input-select>
557
+ </div>
558
+ </div>
559
+
560
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_meter_phone ? '':'has-error'">
561
+ <label class="col-sm-4 control-label">通讯方式:</label>
562
+ <div class="col-sm-6">
563
+ <input-select
564
+ class="select select_list"
565
+ :value.sync="item.f_meter_phone"
566
+ v-model="item.f_meter_phone"
567
+ :options="item.f_meter_phone"
568
+ :valueSingle="true"></input-select>
569
+ </div>
570
+ </div>
571
+
572
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_gas_type ? '':'has-error'">
573
+ <label class="col-sm-4 control-label">燃气具类型:</label>
574
+ <div class="col-sm-6">
575
+ <input-select
576
+ class="select select_list"
577
+ :value.sync="item.f_gas_type"
578
+ v-model="item.f_gas_type"
579
+ :options="item.f_gas_type"
580
+ :valueSingle="true"></input-select>
581
+ </div>
582
+ </div>
583
+
584
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_gas_brand ? '':'has-error'">
585
+ <label class="col-sm-4 control-label">燃气具品牌:</label>
586
+ <div class="col-sm-6">
587
+ <input-select
588
+ class="select select_list"
589
+ :value.sync="item.f_gas_brand"
590
+ v-model="item.f_gas_brand"
591
+ :options="item.f_gas_brand"
592
+ :valueSingle="true"></input-select>
593
+ </div>
594
+ </div>
595
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_gas_type_card ? '':'has-error'">
596
+ <label class="col-sm-4 control-label">燃气具型号:</label>
597
+ <div class="col-sm-6">
598
+ <input-select
599
+ class="select select_list"
600
+ :value.sync="item.f_gas_type_card"
601
+ v-model="item.f_gas_type_card"
602
+ :options="item.f_gas_type_card"
603
+ :valueSingle="true"></input-select>
604
+ </div>
605
+ </div>
606
+
607
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_alarm_num ? '':'has-error'">
608
+ <label class="col-sm-4 control-label">报警控制器品牌及数量:</label>
609
+ <div class="col-sm-6">
610
+ <input-select
611
+ class="select select_list"
612
+ :value.sync="item.f_alarm_num"
613
+ v-model="item.f_alarm_num"
614
+ :options="item.f_alarm_num"
615
+ :valueSingle="true"></input-select>
616
+ </div>
617
+ </div>
618
+
619
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_probe_num ? '':'has-error'">
620
+ <label class="col-sm-4 control-label">探测器数量:</label>
621
+ <div class="col-sm-6">
622
+ <input-select
623
+ class="select select_list"
624
+ :value.sync="item.f_probe_num"
625
+ v-model="item.f_probe_num"
626
+ :options="item.f_probe_num"
627
+ :valueSingle="true"></input-select>
628
+ </div>
629
+ </div>
630
+
631
+ <div v-if="showlky" class="form-group col-sm-12":class="item.f_conclusion ? '':'has-error'">
632
+ <label class="col-sm-4 control-label">检验结论:</label>
633
+ <div class="col-sm-6">
634
+ <input-select
635
+ class="select select_list"
636
+ :value.sync="item.f_conclusion"
637
+ v-model="item.f_conclusion"
638
+ :options="item.f_conclusion"
639
+ :valueSingle="true"></input-select>
640
+ </div>
641
+ </div>
642
+
643
+ <div class="form-group col-sm-12":class="item.f_boiler_remark ? '':'has-error'">
644
+ <label class="col-sm-4 control-label">备注:</label>
645
+ <div class="col-sm-6">
646
+ <input-select
647
+ class="select select_list"
648
+ :value.sync="item.f_boiler_remark"
649
+ v-model="item.f_boiler_remark"
650
+ :options="item.f_boiler_remark"
651
+ :valueSingle="true"></input-select>
652
+ </div>
653
+ </div>
654
+ </div>
655
+
656
+ </article>
657
+ <footer slot="modal-footer" class="modal-footer">
658
+ <button type="button" class="btn btn-primary" @click="saveUserFile">确认</button>
659
+ </footer>
660
+ </modal>
661
+
662
+ <validator name="v">
663
+ <modal v-if="showModal" :show.sync = "showModal" v-ref:modal :backdrop = "false" title="添加用户">
664
+ <header slot="modal-header" class="modal-header">
665
+ <button type="button" class="close" @click="closeUserModal"><span>&times;</span></button>
666
+ <h4 class="modal-title">添加用户</h4>
667
+ </header>
668
+ <acticle slot="modal-body" class="modal-body">
669
+ <!-- 基本信息 -->
670
+ <div class="form-group col-sm-12 panel panel-info" >
671
+ <div class="panel-heading head col-sm-12" style="background-color: #e8f4ff;margin-bottom: 10px">
672
+ <div class="col-sm-6 text-left">用户信息</div>
673
+ </div>
674
+ <div class="form-group col-sm-6" :class="[$v.f_user_name.required ? 'has-error' : '']">
675
+ <label class="col-sm-4 control-label">用户名称:</label>
676
+ <div class="col-sm-7">
677
+ <input class="form-control input_view" style=""
678
+ v-validate:f_user_name = "['required']"
679
+ v-model="userinfo.f_user_name"
680
+ :value.sync="userinfo.f_user_name"
681
+ :readonly="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
682
+ placeholder="客户名称"/>
683
+ </div>
684
+ </div>
685
+ <div class="form-group col-sm-6" :class="[$v.f_user_phone.required ? 'has-error' : '']">
686
+ <label class="col-sm-4 control-label">用户电话:</label>
687
+ <div class="col-sm-7">
688
+ <input class="form-control input_view" style=""
689
+ v-validate:f_user_phone = "['required']"
690
+ v-model="userinfo.f_user_phone"
691
+ :value.sync="userinfo.f_user_phone"
692
+ :readonly="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
693
+ placeholder="客户电话"/>
694
+ </div>
695
+ </div>
696
+ <div class="form-group col-sm-6">
697
+ <label class="col-sm-4 control-label">用户类型:</label>
698
+ <div class="col-sm-7">
699
+ <input-select
700
+ class="select select_list"
701
+ :value.sync="userinfo.f_user_nature"
702
+ v-model="userinfo.f_user_nature"
703
+ :options="getUserType"
704
+ :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
705
+ :valueSingle="true"></input-select>
706
+ </div>
707
+ </div>
708
+ <div class="form-group col-sm-6">
709
+ <label class="col-sm-4 control-label">证件类型:</label>
710
+ <div class="col-sm-7">
711
+ <input-select
712
+ class="select select_list"
713
+ :value.sync="userinfo.f_credentials"
714
+ v-model="userinfo.f_credentials"
715
+ :options="credentialsList"
716
+ :valueSingle="true"></input-select>
717
+ </div>
718
+ </div>
719
+ <div class="form-group col-sm-6">
720
+ <label class="col-sm-4 control-label">证件号码:</label>
721
+ <div class="col-sm-7">
722
+ <input class="form-control input_view" style=""
723
+ placeholder="证件号码"
724
+ v-model="userinfo.f_idnumber"
725
+ :value="userinfo.f_idnumber"
726
+ :readonly="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"/>
727
+ </div>
728
+ </div>
729
+ </div>
730
+ <!-- 地址信息 -->
731
+ <div class="form-group col-sm-12 panel panel-info" >
732
+ <div class="panel-heading head col-sm-12" style="background-color: #e8f4ff;margin-bottom: 10px">
733
+ <div class="col-sm-6 text-left">地址信息</div>
734
+ </div>
735
+ <div class="form-group col-sm-6" :class="[$v.f_address_type.required ? 'has-error' : '']">
736
+ <label class="col-sm-4 control-label">地址类型:</label>
737
+ <div class="col-sm-7">
738
+ <input type="text" v-show="false" v-model="userinfo.useradders.f_address_type" :value.sync="userinfo.useradders.f_address_type" v-validate:f_address_type = "['required']" >
739
+ <input-select
740
+ class="select select_list"
741
+ :value.sync="userinfo.useradders.f_address_type"
742
+ v-model="userinfo.useradders.f_address_type"
743
+ :options="addressType"
744
+ @change="addressTypeChange()"
745
+ :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
746
+ :valueSingle="true"></input-select>
747
+ </div>
748
+ </div>
749
+ <div class="form-group col-sm-6" :class="[$v.f_pcd.required ? 'has-error' : '']">
750
+ <label class="col-sm-4 control-label">区&emsp;&emsp;域:</label>
751
+ <div class="col-sm-7">
752
+ <input type="text" v-show="false" v-model="userinfo.useradders.f_pcd" :value.sync="userinfo.useradders.f_pcd" v-validate:f_pcd = "['required']" >
753
+ <input-select
754
+ class="select select_list"
755
+ :value.sync="userinfo.useradders.f_pcd"
756
+ v-model="userinfo.useradders.f_pcd"
757
+ :options="pcdList"
758
+ @change="addressSplicing(), getStreet()"
759
+ :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
760
+ :valueSingle="true"></input-select>
761
+ </div>
762
+ </div>
763
+ <div class="form-group col-sm-6" :class="[$v.f_street.required ? 'has-error' : '']">
764
+ <label class="col-sm-4 control-label">街&emsp;&emsp;道:</label>
765
+ <div class="col-sm-7">
766
+ <input type="text" v-show="false" v-model="userinfo.useradders.f_street" :value.sync="userinfo.useradders.f_street" v-validate:f_street = "['required']" >
767
+ <input-select
768
+ class="select select_list"
769
+ :value.sync="userinfo.useradders.f_street"
770
+ v-model="userinfo.useradders.f_street"
771
+ :options="streetList"
772
+ @change="addressSplicing(), getResidentialArea()"
773
+ :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
774
+ :valueSingle="true"></input-select>
775
+ </div>
776
+ </div>
777
+ <div class="form-group col-sm-6">
778
+ <label class="col-sm-4 control-label">小&emsp;&emsp;区:</label>
779
+ <div class="col-sm-7">
780
+ <input-select
781
+ class="select select_list"
782
+ :value.sync="userinfo.useradders.f_residential_area"
783
+ v-model="userinfo.useradders.f_residential_area"
784
+ :options="areaList"
785
+ @change="addressSplicing()"
786
+ :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
787
+ :valueSingle="true"></input-select>
788
+ </div>
789
+ </div>
790
+ <div class="form-group col-sm-6">
791
+ <label class="col-sm-4 control-label">楼&emsp;&emsp;号:</label>
792
+ <div class="col-sm-7">
793
+ <input class="form-control input_view" placeholder="楼号"
794
+ v-model="userinfo.useradders.f_building"
795
+ :value="userinfo.useradders.f_building"
796
+ @change="addressSplicing"
797
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
798
+ </div>
799
+ </div>
800
+ <div class="form-group col-sm-6">
801
+ <label class="col-sm-4 control-label">单&emsp;&emsp;元:</label>
802
+ <div class="col-sm-7">
803
+ <input class="form-control input_view" placeholder="单元"
804
+ v-model="userinfo.useradders.f_unit"
805
+ :value="userinfo.useradders.f_unit"
806
+ @change="addressSplicing"
807
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
808
+ </div>
809
+ </div>
810
+ <div class="form-group col-sm-6">
811
+ <label class="col-sm-4 control-label">楼&emsp;&emsp;层:</label>
812
+ <div class="col-sm-7">
813
+ <input class="form-control input_view" placeholder="楼层"
814
+ v-model="userinfo.useradders.f_floor"
815
+ :value="userinfo.useradders.f_floor"
816
+ @change="addressSplicing"
817
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
818
+ </div>
819
+ </div>
820
+ <div class="form-group col-sm-6" >
821
+ <label class="col-sm-4 control-label">门&ensp;牌&ensp;号:</label>
822
+ <div class="col-sm-7">
823
+ <input class="form-control input_view" placeholder="门牌号"
824
+ v-model="userinfo.useradders.f_room"
825
+ :value="userinfo.useradders.f_room"
826
+ @change="addressSplicing"
827
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
828
+ </div>
829
+ </div>
830
+ <div class="form-group col-sm-12">
831
+ <label class="col-sm-2 control-label">地&emsp;&emsp;址:</label>
832
+ <div class="col-sm-9">
833
+ <input class="form-control input_view"
834
+ placeholder="地址"
835
+ v-model="userinfo.useradders.f_address"
836
+ :value.sync="userinfo.useradders.f_address"
837
+ />
838
+ </div>
839
+ </div>
840
+ </div>
841
+ </acticle>
842
+ <footer slot="modal-footer" class="modal-footer">
843
+ <template v-if="mark !== 1 && userinfo.f_user_state !== '正常'">
844
+ <button type="button" class="btn btn-primary" @click="saveUser" :disabled="!$v.valid">确认</button>
845
+ </template>
846
+ </footer>
847
+ </modal>
848
+ </validator>
849
+ <modal :show.sync="showFile" v-ref:modal backdrop="true" title="选择文件">
850
+ <header slot="modal-header" class="modal-header">
851
+ <button type="button" class="close" @click="closeFile"><span>&times;</span></button>
852
+ <h4 class="modal-title">选择文件</h4>
853
+ </header>
854
+ <article slot="modal-body" class="modal-body">
855
+ <div class="form-group">
856
+ <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
857
+ </div>
858
+ </article>
859
+ <footer slot="modal-footer" class="modal-footer"></footer>
860
+ </modal>
861
+
862
+ </template>
863
+ <script>
864
+ import Vue from 'vue'
865
+ import {PagedList} from 'vue-client'
866
+ import {HttpResetClass} from 'vue-client'
867
+ import {isEmpty} from "../../../Util";
868
+
869
+
870
+ export default {
871
+ title: '地址管理',
872
+ props: {
873
+ selectdata: {
874
+ type: Object
875
+ },
876
+ mark: {
877
+ type: Number,
878
+ default: 0 // 0:正常 1:禁用 2:追加用户
879
+ }
880
+ },
881
+ data () {
882
+ return {
883
+ showFile: false,
884
+ model: {
885
+ data: null
886
+ },
887
+ query: {},//查询数据
888
+ selectedData:[],
889
+ showselect:false, //checkbox按钮
890
+ showclean:false, //删除
891
+ showrecover:false, //恢复
892
+ showUserFile:false, //点火信息表
893
+ showback:false,//退回
894
+ void:false,//作废
895
+ showfiling:false,//退回
896
+ showcover:false,//恢复退回数据
897
+ showbackremark:false,//退回界面
898
+ signReasonPage: false,//标记原因界面
899
+ f_comments:'',
900
+ showhina:true, //导入
901
+ showremark:false,
902
+ signReason: false,//标记原因
903
+ showfire:false, //点火按钮
904
+ userinfo:{},
905
+ showreason:false,
906
+ record:'',
907
+ all:[],
908
+ remark:'',
909
+ showModal: false,
910
+ addressType:[{label: "民用地址", value: "民用地址"}, {label: "特殊地址", value: "特殊地址"}],
911
+ addressDis:true,
912
+ pcdList:[],
913
+ streetList:[],
914
+ areaList:[],
915
+ getfield: {
916
+ "f_pcd": "省市区",
917
+ "f_street": "街道",
918
+ "f_slice_area": "片区/管理站",
919
+ "f_residential_area": "小区",
920
+ "f_special": "地址类型",
921
+ "f_building": "楼号",
922
+ "f_unit": "单元号",
923
+ "f_floor": "楼层",
924
+ "f_room": "门牌号",
925
+ "f_address": "地址",
926
+ "f_user_name": "用户姓名/单位名称",
927
+ "f_user_phone": "电话",
928
+ "f_credentials": "证件类型",
929
+ "f_idnumber": "证件号码",
930
+ "f_people_num": "人口数"
931
+ },
932
+ condition: "1 = 1"
933
+ }
934
+ },
935
+ ready () {
936
+ if(this.selectdata.f_apply_type!=='工商户报建')
937
+ {
938
+ this.showselect=true
939
+ this.void = true
940
+ this.signReason = true
941
+ }
942
+ if(this.selectdata.defname==='报建登记')
943
+ {
944
+ this.showclean=true
945
+ }
946
+ if(this.selectdata.defname==='通气点火')
947
+ {
948
+ this.showfire=true
949
+ }
950
+ if(this.selectdata.defname==='收费')
951
+ {
952
+ this.showhina=false
953
+ }
954
+ if(this.selectdata.defname==='竣工验收'||this.selectdata.f_apply_type==='验收退回')
955
+ {
956
+ this.showremark=true
957
+ }
958
+ if(this.selectdata.defname==='竣工验收'&&this.selectdata.f_apply_type!=='验收退回')
959
+ {
960
+ this.showback=true
961
+ }
962
+ if(this.selectdata.defname==='营业厅建档'&&this.selectdata.f_apply_type!=='建档暂存')
963
+ {
964
+ this.showfiling=true
965
+ }
966
+ if(this.selectdata.f_apply_type==='验收退回'||this.selectdata.f_apply_type==='建档暂存')
967
+ {
968
+ this.showcover=true
969
+ }
970
+ this.getPcd()
971
+ this.search()
972
+ },
973
+ methods: {
974
+ selectOne (row) {
975
+ if (this.ischecked(row)) {
976
+ this.selectedData.splice(this.selectedData.indexOf(row),1)
977
+ } else {
978
+ this.selectedData.push(row)
979
+ }
980
+ console.log("点击选择")
981
+ console.log(this.model)
982
+ console.log(this.selectedData)
983
+ },
984
+ voidFunction() {
985
+ let data = {
986
+ userData: this.selectedData,
987
+ userType: "标记"
988
+ }
989
+ this.$showMessage('确认标记吗?', ['confirm', 'cancel']).then(
990
+ (response) => {
991
+ if (response === 'confirm') {
992
+ this.$resetpost('rs/logic/updateUserState', {data: data}, {resolveMsg: '标记成功', rejectMsg: '标记失败'})
993
+ .then((res) => {
994
+ // this.$showMessage("作废成功!")
995
+ this.search()
996
+ })
997
+ } else if (response === 'cancel') {
998
+ this.$dispatch('cancel')
999
+ }
1000
+ })
1001
+ },
1002
+ async unpass() {
1003
+ console.log("1342244", this.selectedData[0].f_user_state)
1004
+ for (let i = 0; i < this.selectedData.length; i++) {
1005
+ let data={
1006
+ code:this.selectedData[i].f_userinfo_code
1007
+ }
1008
+ let http = new HttpResetClass()
1009
+ http.load('POST', 'rs/logic/batchcheck', {data:data}, {resolveMsg: null, rejectMsg: null})
1010
+ }
1011
+
1012
+ console.log("13ef44", this.selectdata.f_process_id)
1013
+ let http = new HttpResetClass()
1014
+ let son =await http.load('POST', 'rs/sql/sonprocess',{
1015
+ data: {
1016
+ process:this.selectdata.f_process_id
1017
+ }
1018
+ },
1019
+ {resolveMsg: null, rejectMsg: null})
1020
+ console.log("v2df",son.data)
1021
+ if(son.data.length>0){
1022
+ console.log("evv")
1023
+ http.load('POST', 'rs/logic/recoverson', {process:son.data[0].f_process_id}, {resolveMsg: null, rejectMsg: null})
1024
+ this.$dispatch('search')
1025
+ }
1026
+ else {
1027
+ let data = {
1028
+ start_activity: this.$workflow_vue.start_activity,
1029
+ model: this.selectdata,
1030
+ diff:{
1031
+ defname:'施工',
1032
+ process:'验收退回报建流程',
1033
+ applytype:'验收退回',
1034
+ actor:'R(工程部报装)'
1035
+ },
1036
+ loginUser: this.$login.f
1037
+ }
1038
+ let res = await this.$resetpost(
1039
+ `rs/logic/mergeInitiate`,
1040
+ data,
1041
+ {resolveMsg: null, rejectMsg: '退回!!!'}
1042
+ )
1043
+ console.log("返回值", res.data)
1044
+ console.log("返回", res)
1045
+ this.$dispatch('search')
1046
+ }
1047
+ },
1048
+
1049
+ async pass() {
1050
+
1051
+ let http = new HttpResetClass()
1052
+ let data = {
1053
+ tablename: 't_apply',
1054
+ condition: `f_process_id='${this.selectdata.f_process_id}'`
1055
+ }
1056
+ let parentres = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
1057
+ resolveMsg: null,
1058
+ rejectMsg: null
1059
+ })
1060
+
1061
+ let data2 = {
1062
+ tablename: 'activityins',
1063
+ condition: `processid='${parentres.data[0].f_parent_process_id}'`
1064
+ }
1065
+ let resparent = await http.load('POST', 'rs/sql/singleTable', {data: data2}, {
1066
+ resolveMsg: null,
1067
+ rejectMsg: null
1068
+ })
1069
+ //查父流程是否关闭
1070
+ for(let i=0;i<resparent.data.length;i++) {
1071
+ if (resparent.data[i].defname === '竣工验收' && resparent.data[i].state === '结束')
1072
+ // let http2 = new HttpResetClass()
1073
+ await http.load('POST', 'rs/logic/parentprocess', {data: {processid: resparent.data[i].processid, defname: resparent.data[i].defname}}, {
1074
+ resolveMsg: null,
1075
+ rejectMsg: null
1076
+ })
1077
+ // if (resparent.data[i].defname === '营业厅建档' && resparent.data[i].state === '结束')
1078
+ // // let http3 = new HttpResetClass()
1079
+ // await http.load('POST', 'rs/logic/parentprocess', {data: {processid: resparent.data[i].processid, defname: resparent.data[i].defname}}, {
1080
+ // resolveMsg: null,
1081
+ // rejectMsg: null
1082
+ // })
1083
+ }
1084
+ for (let i = 0; i < this.selectedData.length; i++) {
1085
+ let data = {
1086
+ code: this.selectedData[i].f_userinfo_code
1087
+ }
1088
+ let http = new HttpResetClass()
1089
+ http.load('POST', 'rs/logic/mergecheck', {data: data}, {resolveMsg: null, rejectMsg: null})
1090
+ }
1091
+ await this.search()
1092
+ console.log("vewvvb", this.model.data)
1093
+ if (this.model.data.length === 0) {
1094
+ let res = await this.$resetpost(
1095
+ `rs/logic/mergeapply`,
1096
+ {data: this.selectdata},
1097
+ {resolveMsg: null, rejectMsg: '终止流程!!!'}
1098
+ )
1099
+ console.log("返回值", res.data)
1100
+ console.log("返回", res)
1101
+ }
1102
+ this.$dispatch('search')
1103
+
1104
+ },
1105
+ async filing() {
1106
+ console.log("1342244", this.selectedData[0].f_user_state)
1107
+ for (let i = 0; i < this.selectedData.length; i++) {
1108
+ let data={
1109
+ code:this.selectedData[i].f_userinfo_code
1110
+ }
1111
+ let http = new HttpResetClass()
1112
+ http.load('POST', 'rs/logic/batchcheck', {data:data}, {resolveMsg: null, rejectMsg: null})
1113
+ }
1114
+
1115
+ console.log("13ef44", this.selectedData)
1116
+ let http = new HttpResetClass()
1117
+ let son = http.load('POST', 'rs/sql/sonprocess',{
1118
+ data: {
1119
+ process:this.selectdata.f_process_id
1120
+ }
1121
+ },
1122
+ {resolveMsg: null, rejectMsg: null})
1123
+ console.log("v2",son)
1124
+ console.log("v2df",son.data)
1125
+ if(son.f_parent_process_id){
1126
+ http.load('POST', 'rs/logic/recoverson', {data:son.f_parent_process_id}, {resolveMsg: null, rejectMsg: null})
1127
+ }
1128
+ else {
1129
+ let data = {
1130
+ start_activity: this.$workflow_vue.start_activity,
1131
+ model: this.selectdata,
1132
+ diff:{
1133
+ defname:'营业厅建档',
1134
+ process:'建档暂存',
1135
+ applytype:'建档暂存',
1136
+ actor:'R(市场部报装)'
1137
+ },
1138
+ loginUser: this.$login.f,
1139
+ }
1140
+ let res = await this.$resetpost(
1141
+ `rs/logic/mergeInitiate`,
1142
+ data,
1143
+ {resolveMsg: null, rejectMsg: '退回!!!'}
1144
+ )
1145
+ console.log("返回值", res.data)
1146
+ console.log("返回", res)
1147
+ this.$dispatch('search')
1148
+ }
1149
+ },
1150
+ async fire (row) {
1151
+ this.useradders = row
1152
+
1153
+ let http = new HttpResetClass()
1154
+ let data = {
1155
+ condition: `f_userinfo_id='${row.f_userinfo_id}'`
1156
+ }
1157
+ let res = await http.load('POST', 'rs/logic/getUserinfoAndFire', {data:data}, {
1158
+ resolveMsg: null,
1159
+ rejectMsg: null
1160
+ })
1161
+ this.userinfo = res.data
1162
+ console.log("12445",this.userinfo)
1163
+
1164
+ this.showUserFile = true
1165
+ },
1166
+ showFileModal() {
1167
+ for (let i = 0; i < this.selectdata.fields.length; i++) {
1168
+ let item = this.selectdata.fields[i]
1169
+ if (item.label === '街道' && !item.value) {
1170
+ this.$showAlert('街道地址不能为空!!!', 'warning', 3000)
1171
+ return
1172
+ }
1173
+ }
1174
+ this.showFile = !this.showFile
1175
+ },
1176
+ async clear() {
1177
+ this.query = {}
1178
+ this.condition = "1 = 1"
1179
+ },
1180
+ conditionData() {
1181
+ if (this.query.f_user_name && !this.query.f_user_phone) {
1182
+ this.condition = "f_user_name = '" + this.query.f_user_name + "'"
1183
+ }
1184
+ if (this.query.f_user_phone && !this.query.f_user_name) {
1185
+ this.condition = "f_user_phone = '" + this.query.f_user_phone + "'"
1186
+ }
1187
+ if (this.query.f_user_name && this.query.f_user_phone) {
1188
+ this.condition = "f_user_name = '" + this.query.f_user_name + "'" + " and f_user_phone = '" + this.query.f_user_phone + "'"
1189
+ }
1190
+ },
1191
+ async search () {
1192
+ this.conditionData()
1193
+ console.log("selectdata.f2")
1194
+ console.log(this.selectdata)
1195
+ if(this.selectdata.showDefnames){
1196
+ console.log("1212")
1197
+ this.showselect=false
1198
+ this.showrecover=true
1199
+ this.showclean=false
1200
+ let http = new HttpResetClass()
1201
+ let data = {
1202
+ condition: this.condition,
1203
+ f_filialeid: this.$login.f.orgid,
1204
+ f_process_id: this.selectdata.f_process_id,
1205
+ state:'销户'
1206
+ }
1207
+ let res = await http.load('POST', 'rs/sql/getStopAddress', {data:data}, {
1208
+ resolveMsg: null,
1209
+ rejectMsg: null
1210
+ })
1211
+ this.model.data = res.data
1212
+ console.log("rows",this.model.data)
1213
+ }
1214
+ else
1215
+ {
1216
+ let http = new HttpResetClass()
1217
+ let data = {
1218
+ condition: this.condition,
1219
+ f_filialeid: this.$login.f.orgid,
1220
+ f_process_id: this.selectdata.f_process_id,
1221
+ }
1222
+ let res = await http.load('POST', 'rs/sql/getAddressAanUserinfo', {data:data}, {
1223
+ resolveMsg: null,
1224
+ rejectMsg: null
1225
+ })
1226
+ this.model.data = res.data
1227
+ console.log(this.selectdata)
1228
+ console.log("modeldata")
1229
+ console.log(this.model.data)
1230
+ if(this.selectdata.f_apply_type==='验收退回'||this.selectdata.f_apply_type==='建档暂存') {
1231
+ let data = {
1232
+ condition: " 1=1",
1233
+ f_filialeid: this.$login.f.orgid,
1234
+ f_process_id: this.selectdata.f_parent_process_id,
1235
+ state:'不合格'
1236
+ }
1237
+ let res= await http.load('POST', 'rs/sql/getStopAddress', {data: data}, {
1238
+ resolveMsg: null,
1239
+ rejectMsg: null
1240
+ })
1241
+ this.model.data = res.data
1242
+
1243
+ console.log("vfgvb",this.model.data)
1244
+ }
1245
+ if(this.selectdata.defname === '合同签订'){
1246
+ return
1247
+ }
1248
+ for (let i = 0; i < this.selectdata.fields.length; i++) {
1249
+ if (this.selectdata.fields[i].label === '户数') {
1250
+ this.selectdata.fields[i].value = res.data.length
1251
+ }
1252
+ }
1253
+ }
1254
+ },
1255
+ //标记原因
1256
+ signremark(row) {
1257
+ this.signReasonPage = true
1258
+ this.remark = row
1259
+ },
1260
+ async backremark(row){
1261
+ this.showbackremark=true
1262
+ this.remark=row
1263
+ let http = new HttpResetClass()
1264
+ let data = {
1265
+ tablename: 't_exploration_comments',
1266
+ condition: `f_userinfo_id=${this.remark.f_userinfo_id}`
1267
+ }
1268
+ let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
1269
+ resolveMsg: null,
1270
+ rejectMsg: '补充协议查询失败'
1271
+ })
1272
+ console.log("g4b",res.data)
1273
+ this.f_comments =res.data[0].f_comments
1274
+ console.log("d2fg",this.f_comments)
1275
+ },
1276
+ async confirm (row) {
1277
+ // 保存此备注信息
1278
+ console.log("v3b4",row)
1279
+ let http = new HttpResetClass()
1280
+ let data = {
1281
+ f_userinfo_id: this.remark.f_userinfo_id,
1282
+ f_comments: this.f_comments,
1283
+ f_operator: this.$login.f.name
1284
+ }
1285
+ await http.load('POST', 'rs/logic/updatecomment', {data: data}, {
1286
+ resolveMsg: '添加退回原因成功',
1287
+ rejectMsg: '退回原因报错'
1288
+ })
1289
+ this.cancel()
1290
+ },
1291
+ async confirmPage() {
1292
+ // 保存此备注信息
1293
+ console.log("备注信息:",this.f_comments,"用户id:",this.remark.f_userinfo_id)
1294
+ let http = new HttpResetClass()
1295
+ let data = {
1296
+ userType: "原因",
1297
+ f_comments: this.f_comments,
1298
+ f_userinfo_id: this.remark.f_userinfo_id
1299
+ }
1300
+ await http.load('POST', 'rs/logic/updateUserState', {data: data}, {
1301
+ resolveMsg: '添加成功',
1302
+ rejectMsg: '添加错误'
1303
+ })
1304
+ this.cancelPage()
1305
+ },
1306
+ cancel() {
1307
+ this.showbackremark = false;
1308
+ },
1309
+ cancelPage() {
1310
+ this.signReasonPage = false
1311
+ },
1312
+ // 关闭文件上传对话框
1313
+ closeFile() {
1314
+ this.showFile = false
1315
+ // 将选的文件清空
1316
+ this.$refs.file.$el.querySelector('input').value = ''
1317
+ this.search()
1318
+ },
1319
+ closeModal() {
1320
+ console.log("1213")
1321
+ this.showUserFile = false
1322
+ this.useradders = null
1323
+ this.userinfo = null
1324
+ this.search()
1325
+ console.log("145")
1326
+ },
1327
+ closeUserModal(){
1328
+ this.userinfo = null
1329
+ this.showModal = false
1330
+ },
1331
+ async saveUserFile() {
1332
+ this.showUserFile = false
1333
+ console.log("987")
1334
+ },
1335
+ async cleanupload(row) {
1336
+ this.record=row
1337
+ let http = new HttpResetClass()
1338
+ let data = {
1339
+ apply: this.selectdata,
1340
+ user: this.$login.f,
1341
+ record: this.record
1342
+ }
1343
+ console.log("apply")
1344
+ console.log(this.selectdata)
1345
+ try {
1346
+ let res = await http.load('POST', 'rs/logic/invalidUploadfile', {data:data}, {
1347
+ resolveMsg: null,
1348
+ rejectMsg: null
1349
+ })
1350
+ this.$showMessage("删除成功")
1351
+ // this.selectdata = res.data
1352
+ } catch (e) {
1353
+ this.$showAlert(e.data, 'danger', 3000)
1354
+ }
1355
+ this.search()
1356
+ this.$dispatch('breakControl', this.selectdata)
1357
+ },
1358
+ recoverupload(row) {
1359
+ this.record=row
1360
+ let http = new HttpResetClass()
1361
+ let data = {
1362
+ apply: this.selectdata,
1363
+ user: this.$login.f,
1364
+ record: this.record
1365
+ }
1366
+
1367
+ try {
1368
+ let res = http.load('POST', 'rs/logic/recoveruploadfile', {data:data}, {
1369
+ resolveMsg: null,
1370
+ rejectMsg: null
1371
+ })
1372
+ this.$showMessage("成功恢复")
1373
+ this.selectdata = res.data
1374
+ } catch (e) {
1375
+ this.$showAlert(e.data, 'danger', 3000)
1376
+ }
1377
+ this.search()
1378
+ this.$dispatch('breakControl', this.selectdata)
1379
+ },
1380
+ async unqualcheck(row) {
1381
+ if (isEmpty(this.cv.f_void_remarks)) {
1382
+ this.$showAlert('请输入不合格原因!!!', 'warning', 3000)
1383
+ return
1384
+ }
1385
+ this.record=row
1386
+ this.$dispatch('unpass',this.selectedData)
1387
+ this.$dispatch('breakControl', this.selectdata)
1388
+ },
1389
+ openModal(){
1390
+ this.showModal = true
1391
+ },
1392
+ //地址类型变化
1393
+ addressTypeChange(){
1394
+ if (this.userinfo.useradders.f_apply_type === '民用地址'){
1395
+ this.addressDis = true
1396
+ }else {
1397
+ this.addressDis = false
1398
+ }
1399
+ },
1400
+ // 获取区县
1401
+ async getPcd() {
1402
+ let data = {
1403
+ tablename: 't_pcd',
1404
+ condition: `f_filialeid = '${this.$login.f.orgid}'`
1405
+ }
1406
+ let http = new HttpResetClass()
1407
+ let res = await http.load(
1408
+ 'POST',
1409
+ `rs/sql/singleTable`,
1410
+ {data: data},
1411
+ {resolveMsg: null, rejectMsg: '区县查询失败!!!'}
1412
+ )
1413
+
1414
+ this.pcdList = res.data.map(item => {
1415
+ return {
1416
+ label: item.f_pcd,
1417
+ value: item.f_pcd
1418
+ }
1419
+ })
1420
+ console.log("区县",this.pcdList)
1421
+ },
1422
+ //获取街道
1423
+ async getStreet() {
1424
+ let data = {
1425
+ tablename: 't_street',
1426
+ condition: `f_filialeid = '${this.$login.f.orgid}' and f_pcd = '${this.userinfo.useradders.f_pcd}'`
1427
+ }
1428
+
1429
+ let http = new HttpResetClass()
1430
+ let res = await http.load(
1431
+ 'POST',
1432
+ `rs/sql/singleTable`,
1433
+ {data: data},
1434
+ {resolveMsg: null, rejectMsg: '街道查询失败!!!'}
1435
+ )
1436
+
1437
+ this.streetList = res.data.map(item => {
1438
+ return {
1439
+ label: item.f_street,
1440
+ value: item.f_street
1441
+ }
1442
+ })
1443
+ },
1444
+ //获取小区
1445
+ async getResidentialArea() {
1446
+
1447
+ let data = {
1448
+ tablename: 't_area',
1449
+ condition: `f_filialeid = '${this.$login.f.orgid}' and f_street = '${this.userinfo.useradders.f_street}'`
1450
+ }
1451
+ let http = new HttpResetClass()
1452
+ let res = await http.load(
1453
+ 'POST',
1454
+ `rs/sql/singleTable`,
1455
+ {data: data},
1456
+ {resolveMsg: null, rejectMsg: '小区查询失败!!!'}
1457
+ )
1458
+
1459
+ this.areaList = res.data.map(item => {
1460
+ return {
1461
+ label: item.f_residential_area,
1462
+ value: item.f_residential_area
1463
+ }
1464
+ })
1465
+ },
1466
+ // 地址拼接
1467
+ addressSplicing () {
1468
+ let f_pcd = this.userinfo.useradders.f_pcd || ''
1469
+ let f_area = this.userinfo.useradders.f_area || ''
1470
+ let f_slice_area = this.userinfo.useradders.f_slice_area || ''
1471
+ let f_street = this.userinfo.useradders.f_street || ''
1472
+ let f_residential_area = this.userinfo.useradders.f_residential_area || ''
1473
+ let f_building = this.userinfo.useradders.f_building || ''
1474
+ let f_building_suffix = f_building ? '号楼' : ''
1475
+ let f_unit = this.userinfo.useradders.f_unit || ''
1476
+ let f_unit_suffix = f_unit ? '单元' : ''
1477
+ let f_floor = this.userinfo.useradders.f_floor || ''
1478
+ let f_floor_suffix = f_floor ? '层' : ''
1479
+ let f_room = this.userinfo.useradders.f_room || ''
1480
+ let f_room_suffix = f_room ? '室' : ''
1481
+
1482
+ Vue.set(this.userinfo.useradders, 'f_address', f_pcd + f_area + f_slice_area + f_street + f_residential_area + f_building + f_building_suffix + f_unit + f_unit_suffix + f_floor + f_floor_suffix + f_room + f_room_suffix)
1483
+ },
1484
+ async saveUser () {
1485
+ let data = {
1486
+ user: this.$login.f,
1487
+ userinfo: this.userinfo,
1488
+ selectdata: this.selectdata
1489
+ }
1490
+ let res = await this.$resetpost('rs/logic/applyAddUserinfo', {data:data}, {
1491
+ resolveMsg: null,
1492
+ rejectMsg: '用户档案添加失败!!!'
1493
+ })
1494
+ this.$dispatch('breakControl', res.data)
1495
+ }
1496
+ },
1497
+ events: {
1498
+ async 'onFileUpload'(file, result) {
1499
+ let data = {
1500
+ selectdata: this.selectdata,
1501
+ filepath: result.f_downloadpath,
1502
+ user: this.$login.f,
1503
+ mark: this.mark
1504
+ }
1505
+ let res = await this.$resetpost(`rs/logic/importAddressAndUserinfo`, {data:data}, {resolveMsg: null, rejectMsg: '导入失败', silent: true}, 0)
1506
+ if(res.data.type === "success"){
1507
+ this.$showAlert("导入信息:"+res.data.msg, res.data.type, 2000);
1508
+ }else{
1509
+ this.$showMessage(res.data.msg);
1510
+ }
1511
+ if (this.mark !== 0) {
1512
+ this.$dispatch('breakControl', this.selectdata)
1513
+ }
1514
+ this.closeFile()
1515
+ }
1516
+ },
1517
+ computed: {
1518
+ ischecked () {
1519
+ return function (row) {
1520
+ return this.selectedData.includes(row)
1521
+ }
1522
+
1523
+ },
1524
+ getCondition () {
1525
+ let data = {
1526
+ condition: " 1=1",
1527
+ f_filialeid: this.$login.f.orgid,
1528
+ f_process_id: this.selectdata.f_process_id,
1529
+ }
1530
+ return data
1531
+ },
1532
+ // 证件类型
1533
+ credentialsList() {
1534
+ return this.$appdata.getParam('证件类型')
1535
+ },
1536
+ getUserType(){
1537
+ return this.$appdata.getParam('用户类型')
1538
+ }
1539
+ },
1540
+ watch: {
1541
+ }
1542
+ }
1543
+ </script>
1544
+ <style scoped>
1545
+ .textNoLineBreak {
1546
+ white-space: nowrap;
1547
+ }
1548
+ .head-but{
1549
+ margin-left: 5px;
1550
+ height: 34px;
1551
+ border-radius: 4px;
1552
+ font-family: PingFang;
1553
+ color: #ffffff;
1554
+ }
1555
+ </style>