apply-clients 4.1.58-weinan → 4.1.60-weinan

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,1597 +1,1597 @@
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
- @change="telphone()"
694
- placeholder="客户电话"/>
695
- </div>
696
- </div>
697
- <div class="form-group col-sm-6">
698
- <label class="col-sm-4 control-label">用户类型:</label>
699
- <div class="col-sm-7">
700
- <input-select
701
- class="select select_list"
702
- :value.sync="userinfo.f_user_nature"
703
- v-model="userinfo.f_user_nature"
704
- :options="getUserType"
705
- :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
706
- :valueSingle="true"></input-select>
707
- </div>
708
- </div>
709
- <div class="form-group col-sm-6">
710
- <label class="col-sm-4 control-label">证件类型:</label>
711
- <div class="col-sm-7">
712
- <input-select
713
- class="select select_list"
714
- :value.sync="userinfo.f_credentials"
715
- v-model="userinfo.f_credentials"
716
- :options="credentialsList"
717
- @change="onchange()"
718
- :valueSingle="true"></input-select>
719
- </div>
720
- </div>
721
- <div class="form-group col-sm-6" :class="[$v.f_idnumber.required ? 'has-error' : '']" v-if="flag1" >
722
- <label class="col-sm-4 control-label">证件号码:</label>
723
- <div class="col-sm-7">
724
- <input class="form-control input_view" style=""
725
- v-validate:f_idnumber="['required']"
726
- placeholder="证件号码"
727
- v-model="userinfo.f_idnumber"
728
- @change="idnumber()"
729
- :value="userinfo.f_idnumber"
730
- :readonly="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"/>
731
- </div>
732
- </div>
733
- <div class="form-group col-sm-6" v-if="flag">
734
- <label class="col-sm-4 control-label">证件号码:</label>
735
- <div class="col-sm-7">
736
- <input class="form-control input_view" style=""
737
- placeholder="证件号码"
738
- v-model="userinfo.f_idnumber"
739
- :value="userinfo.f_idnumber"
740
- :readonly="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"/>
741
- </div>
742
- </div>
743
- </div>
744
- <!-- 地址信息 -->
745
- <div class="form-group col-sm-12 panel panel-info" >
746
- <div class="panel-heading head col-sm-12" style="background-color: #e8f4ff;margin-bottom: 10px">
747
- <div class="col-sm-6 text-left">地址信息</div>
748
- </div>
749
- <div class="form-group col-sm-6" :class="[$v.f_address_type.required ? 'has-error' : '']">
750
- <label class="col-sm-4 control-label">地址类型:</label>
751
- <div class="col-sm-7">
752
- <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']" >
753
- <input-select
754
- class="select select_list"
755
- :value.sync="userinfo.useradders.f_address_type"
756
- v-model="userinfo.useradders.f_address_type"
757
- :options="addressType"
758
- @change="addressTypeChange()"
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_pcd.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_pcd" :value.sync="userinfo.useradders.f_pcd" v-validate:f_pcd = "['required']" >
767
- <input-select
768
- class="select select_list"
769
- :value.sync="userinfo.useradders.f_pcd"
770
- v-model="userinfo.useradders.f_pcd"
771
- :options="pcdList"
772
- @change="addressSplicing(), getStreet()"
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" :class="[$v.f_street.required ? 'has-error' : '']">
778
- <label class="col-sm-4 control-label">街&emsp;&emsp;道:</label>
779
- <div class="col-sm-7">
780
- <input type="text" v-show="false" v-model="userinfo.useradders.f_street" :value.sync="userinfo.useradders.f_street" v-validate:f_street = "['required']" >
781
- <input-select
782
- class="select select_list"
783
- :value.sync="userinfo.useradders.f_street"
784
- v-model="userinfo.useradders.f_street"
785
- :options="streetList"
786
- @change="addressSplicing(), getResidentialArea()"
787
- :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
788
- :valueSingle="true"></input-select>
789
- </div>
790
- </div>
791
- <div class="form-group col-sm-6">
792
- <label class="col-sm-4 control-label">小&emsp;&emsp;区:</label>
793
- <div class="col-sm-7">
794
- <input-select
795
- class="select select_list"
796
- :value.sync="userinfo.useradders.f_residential_area"
797
- v-model="userinfo.useradders.f_residential_area"
798
- :options="areaList"
799
- @change="addressSplicing()"
800
- :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
801
- :valueSingle="true"></input-select>
802
- </div>
803
- </div>
804
- <div class="form-group col-sm-6">
805
- <label class="col-sm-4 control-label">楼&emsp;&emsp;号:</label>
806
- <div class="col-sm-7">
807
- <input class="form-control input_view" placeholder="楼号"
808
- v-model="userinfo.useradders.f_building"
809
- :value="userinfo.useradders.f_building"
810
- @change="addressSplicing"
811
- :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
812
- </div>
813
- </div>
814
- <div class="form-group col-sm-6">
815
- <label class="col-sm-4 control-label">单&emsp;&emsp;元:</label>
816
- <div class="col-sm-7">
817
- <input class="form-control input_view" placeholder="单元"
818
- v-model="userinfo.useradders.f_unit"
819
- :value="userinfo.useradders.f_unit"
820
- @change="addressSplicing"
821
- :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
822
- </div>
823
- </div>
824
- <div class="form-group col-sm-6">
825
- <label class="col-sm-4 control-label">楼&emsp;&emsp;层:</label>
826
- <div class="col-sm-7">
827
- <input class="form-control input_view" placeholder="楼层"
828
- v-model="userinfo.useradders.f_floor"
829
- :value="userinfo.useradders.f_floor"
830
- @change="addressSplicing"
831
- :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
832
- </div>
833
- </div>
834
- <div class="form-group col-sm-6" >
835
- <label class="col-sm-4 control-label">门&ensp;牌&ensp;号:</label>
836
- <div class="col-sm-7">
837
- <input class="form-control input_view" placeholder="门牌号"
838
- v-model="userinfo.useradders.f_room"
839
- :value="userinfo.useradders.f_room"
840
- @change="addressSplicing"
841
- :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
842
- </div>
843
- </div>
844
- <div class="form-group col-sm-12">
845
- <label class="col-sm-2 control-label">地&emsp;&emsp;址:</label>
846
- <div class="col-sm-9">
847
- <input class="form-control input_view"
848
- placeholder="地址"
849
- v-model="userinfo.useradders.f_address"
850
- :value.sync="userinfo.useradders.f_address"
851
- />
852
- </div>
853
- </div>
854
- </div>
855
- </acticle>
856
- <footer slot="modal-footer" class="modal-footer">
857
- <template v-if="mark !== 1 && userinfo.f_user_state !== '正常'">
858
- <button type="button" class="btn btn-primary" @click="saveUser" :disabled="!$v.valid">确认</button>
859
- </template>
860
- </footer>
861
- </modal>
862
- </validator>
863
- <modal :show.sync="showFile" v-ref:modal backdrop="true" title="选择文件">
864
- <header slot="modal-header" class="modal-header">
865
- <button type="button" class="close" @click="closeFile"><span>&times;</span></button>
866
- <h4 class="modal-title">选择文件</h4>
867
- </header>
868
- <article slot="modal-body" class="modal-body">
869
- <div class="form-group">
870
- <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
871
- </div>
872
- </article>
873
- <footer slot="modal-footer" class="modal-footer"></footer>
874
- </modal>
875
-
876
- </template>
877
- <script>
878
- import Vue from 'vue'
879
- import {PagedList} from 'vue-client'
880
- import {HttpResetClass} from 'vue-client'
881
- import {isEmpty} from "../../../Util";
882
-
883
-
884
- export default {
885
- title: '地址管理',
886
- props: {
887
- selectdata: {
888
- type: Object
889
- },
890
- mark: {
891
- type: Number,
892
- default: 0 // 0:正常 1:禁用 2:追加用户
893
- }
894
- },
895
- data () {
896
- return {
897
- showFile: false,
898
- model: {
899
- data: null
900
- },
901
- query: {},//查询数据
902
- selectedData:[],
903
- showselect:false, //checkbox按钮
904
- showclean:false, //删除
905
- showrecover:false, //恢复
906
- showUserFile:false, //点火信息表
907
- showback:false,//退回
908
- void:false,//作废
909
- showfiling:false,//退回
910
- showcover:false,//恢复退回数据
911
- showbackremark:false,//退回界面
912
- signReasonPage: false,//标记原因界面
913
- f_comments:'',
914
- showhina:true, //导入
915
- showremark:false,
916
- signReason: false,//标记原因
917
- showfire:false, //点火按钮
918
- userinfo:{},
919
- showreason:false,
920
- record:'',
921
- all:[],
922
- remark:'',
923
- showModal: false,
924
- addressType:[{label: "民用地址", value: "民用地址"}, {label: "特殊地址", value: "特殊地址"}],
925
- addressDis:true,
926
- pcdList:[],
927
- streetList:[],
928
- areaList:[],
929
- getfield: {
930
- "f_pcd": "省市区",
931
- "f_street": "街道",
932
- "f_slice_area": "片区/管理站",
933
- "f_residential_area": "小区",
934
- "f_special": "地址类型",
935
- "f_building": "楼号",
936
- "f_unit": "单元号",
937
- "f_floor": "楼层",
938
- "f_room": "门牌号",
939
- "f_address": "地址",
940
- "f_user_name": "用户姓名/单位名称",
941
- "f_user_phone": "电话",
942
- "f_credentials": "证件类型",
943
- "f_idnumber": "证件号码",
944
- "f_people_num": "人口数"
945
- },
946
- condition: "1 = 1",
947
- flag:true,
948
- flag1:false
949
- }
950
- },
951
- ready () {
952
- if(this.selectdata.f_apply_type!=='工商户报建')
953
- {
954
- this.showselect=true
955
- this.void = true
956
- this.signReason = true
957
- }
958
- if(this.selectdata.defname==='报建登记')
959
- {
960
- this.showclean=true
961
- }
962
- if(this.selectdata.defname==='通气点火')
963
- {
964
- this.showfire=true
965
- }
966
- if(this.selectdata.defname==='收费')
967
- {
968
- this.showhina=false
969
- }
970
- if(this.selectdata.defname==='竣工验收'||this.selectdata.f_apply_type==='验收退回')
971
- {
972
- this.showremark=true
973
- }
974
- if(this.selectdata.defname==='竣工验收'&&this.selectdata.f_apply_type!=='验收退回')
975
- {
976
- this.showback=true
977
- }
978
- if(this.selectdata.defname==='营业厅建档'&&this.selectdata.f_apply_type!=='建档暂存')
979
- {
980
- this.showfiling=true
981
- }
982
- if(this.selectdata.f_apply_type==='验收退回'||this.selectdata.f_apply_type==='建档暂存')
983
- {
984
- this.showcover=true
985
- }
986
- this.getPcd()
987
- this.search()
988
- },
989
- methods: {
990
- selectOne (row) {
991
- if (this.ischecked(row)) {
992
- this.selectedData.splice(this.selectedData.indexOf(row),1)
993
- } else {
994
- this.selectedData.push(row)
995
- }
996
- console.log("点击选择")
997
- console.log(this.model)
998
- console.log(this.selectedData)
999
- },
1000
- voidFunction() {
1001
- let data = {
1002
- userData: this.selectedData,
1003
- userType: "标记"
1004
- }
1005
- this.$showMessage('确认标记吗?', ['confirm', 'cancel']).then(
1006
- (response) => {
1007
- if (response === 'confirm') {
1008
- this.$resetpost('rs/logic/updateUserState', {data: data}, {resolveMsg: '标记成功', rejectMsg: '标记失败'})
1009
- .then((res) => {
1010
- // this.$showMessage("作废成功!")
1011
- this.search()
1012
- })
1013
- } else if (response === 'cancel') {
1014
- this.$dispatch('cancel')
1015
- }
1016
- })
1017
- },
1018
- async unpass() {
1019
- console.log("1342244", this.selectedData[0].f_user_state)
1020
- for (let i = 0; i < this.selectedData.length; i++) {
1021
- let data={
1022
- code:this.selectedData[i].f_userinfo_code
1023
- }
1024
- let http = new HttpResetClass()
1025
- http.load('POST', 'rs/logic/batchcheck', {data:data}, {resolveMsg: null, rejectMsg: null})
1026
- }
1027
-
1028
- console.log("13ef44", this.selectdata.f_process_id)
1029
- let http = new HttpResetClass()
1030
- let son =await http.load('POST', 'rs/sql/sonprocess',{
1031
- data: {
1032
- process:this.selectdata.f_process_id
1033
- }
1034
- },
1035
- {resolveMsg: null, rejectMsg: null})
1036
- console.log("v2df",son.data)
1037
- if(son.data.length>0){
1038
- console.log("evv")
1039
- http.load('POST', 'rs/logic/recoverson', {process:son.data[0].f_process_id}, {resolveMsg: null, rejectMsg: null})
1040
- this.$dispatch('search')
1041
- }
1042
- else {
1043
- let data = {
1044
- start_activity: this.$workflow_vue.start_activity,
1045
- model: this.selectdata,
1046
- diff:{
1047
- defname:'施工',
1048
- process:'验收退回报建流程',
1049
- applytype:'验收退回',
1050
- actor:'R(工程部报装)'
1051
- },
1052
- loginUser: this.$login.f
1053
- }
1054
- let res = await this.$resetpost(
1055
- `rs/logic/mergeInitiate`,
1056
- data,
1057
- {resolveMsg: null, rejectMsg: '退回!!!'}
1058
- )
1059
- console.log("返回值", res.data)
1060
- console.log("返回", res)
1061
- this.$dispatch('search')
1062
- }
1063
- },
1064
-
1065
- async pass() {
1066
-
1067
- let http = new HttpResetClass()
1068
- let data = {
1069
- tablename: 't_apply',
1070
- condition: `f_process_id='${this.selectdata.f_process_id}'`
1071
- }
1072
- let parentres = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
1073
- resolveMsg: null,
1074
- rejectMsg: null
1075
- })
1076
-
1077
- let data2 = {
1078
- tablename: 'activityins',
1079
- condition: `processid='${parentres.data[0].f_parent_process_id}'`
1080
- }
1081
- let resparent = await http.load('POST', 'rs/sql/singleTable', {data: data2}, {
1082
- resolveMsg: null,
1083
- rejectMsg: null
1084
- })
1085
- //查父流程是否关闭
1086
- for(let i=0;i<resparent.data.length;i++) {
1087
- if (resparent.data[i].defname === '竣工验收' && resparent.data[i].state === '结束')
1088
- // let http2 = new HttpResetClass()
1089
- await http.load('POST', 'rs/logic/parentprocess', {data: {processid: resparent.data[i].processid, defname: resparent.data[i].defname}}, {
1090
- resolveMsg: null,
1091
- rejectMsg: null
1092
- })
1093
- // if (resparent.data[i].defname === '营业厅建档' && resparent.data[i].state === '结束')
1094
- // // let http3 = new HttpResetClass()
1095
- // await http.load('POST', 'rs/logic/parentprocess', {data: {processid: resparent.data[i].processid, defname: resparent.data[i].defname}}, {
1096
- // resolveMsg: null,
1097
- // rejectMsg: null
1098
- // })
1099
- }
1100
- for (let i = 0; i < this.selectedData.length; i++) {
1101
- let data = {
1102
- code: this.selectedData[i].f_userinfo_code
1103
- }
1104
- let http = new HttpResetClass()
1105
- http.load('POST', 'rs/logic/mergecheck', {data: data}, {resolveMsg: null, rejectMsg: null})
1106
- }
1107
- await this.search()
1108
- console.log("vewvvb", this.model.data)
1109
- if (this.model.data.length === 0) {
1110
- let res = await this.$resetpost(
1111
- `rs/logic/mergeapply`,
1112
- {data: this.selectdata},
1113
- {resolveMsg: null, rejectMsg: '终止流程!!!'}
1114
- )
1115
- console.log("返回值", res.data)
1116
- console.log("返回", res)
1117
- }
1118
- this.$dispatch('search')
1119
-
1120
- },
1121
- async filing() {
1122
- console.log("1342244", this.selectedData[0].f_user_state)
1123
- for (let i = 0; i < this.selectedData.length; i++) {
1124
- let data={
1125
- code:this.selectedData[i].f_userinfo_code
1126
- }
1127
- let http = new HttpResetClass()
1128
- http.load('POST', 'rs/logic/batchcheck', {data:data}, {resolveMsg: null, rejectMsg: null})
1129
- }
1130
-
1131
- console.log("13ef44", this.selectedData)
1132
- let http = new HttpResetClass()
1133
- let son = http.load('POST', 'rs/sql/sonprocess',{
1134
- data: {
1135
- process:this.selectdata.f_process_id
1136
- }
1137
- },
1138
- {resolveMsg: null, rejectMsg: null})
1139
- console.log("v2",son)
1140
- console.log("v2df",son.data)
1141
- if(son.f_parent_process_id){
1142
- http.load('POST', 'rs/logic/recoverson', {data:son.f_parent_process_id}, {resolveMsg: null, rejectMsg: null})
1143
- }
1144
- else {
1145
- let data = {
1146
- start_activity: this.$workflow_vue.start_activity,
1147
- model: this.selectdata,
1148
- diff:{
1149
- defname:'营业厅建档',
1150
- process:'建档暂存',
1151
- applytype:'建档暂存',
1152
- actor:'R(市场部报装)'
1153
- },
1154
- loginUser: this.$login.f,
1155
- }
1156
- let res = await this.$resetpost(
1157
- `rs/logic/mergeInitiate`,
1158
- data,
1159
- {resolveMsg: null, rejectMsg: '退回!!!'}
1160
- )
1161
- console.log("返回值", res.data)
1162
- console.log("返回", res)
1163
- this.$dispatch('search')
1164
- }
1165
- },
1166
- async fire (row) {
1167
- this.useradders = row
1168
-
1169
- let http = new HttpResetClass()
1170
- let data = {
1171
- condition: `f_userinfo_id='${row.f_userinfo_id}'`
1172
- }
1173
- let res = await http.load('POST', 'rs/logic/getUserinfoAndFire', {data:data}, {
1174
- resolveMsg: null,
1175
- rejectMsg: null
1176
- })
1177
- this.userinfo = res.data
1178
- console.log("12445",this.userinfo)
1179
-
1180
- this.showUserFile = true
1181
- },
1182
- showFileModal() {
1183
- for (let i = 0; i < this.selectdata.fields.length; i++) {
1184
- let item = this.selectdata.fields[i]
1185
- if (item.label === '街道' && !item.value) {
1186
- this.$showAlert('街道地址不能为空!!!', 'warning', 3000)
1187
- return
1188
- }
1189
- }
1190
- this.showFile = !this.showFile
1191
- },
1192
- async clear() {
1193
- this.query = {}
1194
- this.condition = "1 = 1"
1195
- },
1196
- conditionData() {
1197
- if (this.query.f_user_name && !this.query.f_user_phone) {
1198
- this.condition = "f_user_name = '" + this.query.f_user_name + "'"
1199
- }
1200
- if (this.query.f_user_phone && !this.query.f_user_name) {
1201
- this.condition = "f_user_phone = '" + this.query.f_user_phone + "'"
1202
- }
1203
- if (this.query.f_user_name && this.query.f_user_phone) {
1204
- this.condition = "f_user_name = '" + this.query.f_user_name + "'" + " and f_user_phone = '" + this.query.f_user_phone + "'"
1205
- }
1206
- },
1207
- async search () {
1208
- this.conditionData()
1209
- console.log("selectdata.f2")
1210
- console.log(this.selectdata)
1211
- if(this.selectdata.showDefnames){
1212
- console.log("1212")
1213
- this.showselect=false
1214
- this.showrecover=true
1215
- this.showclean=false
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
- state:'销户'
1222
- }
1223
- let res = await http.load('POST', 'rs/sql/getStopAddress', {data:data}, {
1224
- resolveMsg: null,
1225
- rejectMsg: null
1226
- })
1227
- this.model.data = res.data
1228
- console.log("rows",this.model.data)
1229
- }
1230
- else
1231
- {
1232
- let http = new HttpResetClass()
1233
- let data = {
1234
- condition: this.condition,
1235
- f_filialeid: this.$login.f.orgid,
1236
- f_process_id: this.selectdata.f_process_id,
1237
- }
1238
- let res = await http.load('POST', 'rs/sql/getAddressAanUserinfo', {data:data}, {
1239
- resolveMsg: null,
1240
- rejectMsg: null
1241
- })
1242
- this.model.data = res.data
1243
- console.log(this.selectdata)
1244
- console.log("modeldata")
1245
- console.log(this.model.data)
1246
- if(this.selectdata.f_apply_type==='验收退回'||this.selectdata.f_apply_type==='建档暂存') {
1247
- let data = {
1248
- condition: " 1=1",
1249
- f_filialeid: this.$login.f.orgid,
1250
- f_process_id: this.selectdata.f_parent_process_id,
1251
- state:'不合格'
1252
- }
1253
- let res= await http.load('POST', 'rs/sql/getStopAddress', {data: data}, {
1254
- resolveMsg: null,
1255
- rejectMsg: null
1256
- })
1257
- this.model.data = res.data
1258
-
1259
- console.log("vfgvb",this.model.data)
1260
- }
1261
- if(this.selectdata.defname === '合同签订'){
1262
- return
1263
- }
1264
- for (let i = 0; i < this.selectdata.fields.length; i++) {
1265
- if (this.selectdata.fields[i].label === '户数') {
1266
- this.selectdata.fields[i].value = res.data.length
1267
- }
1268
- }
1269
- }
1270
- },
1271
- //标记原因
1272
- signremark(row) {
1273
- this.signReasonPage = true
1274
- this.remark = row
1275
- },
1276
- async backremark(row){
1277
- this.showbackremark=true
1278
- this.remark=row
1279
- let http = new HttpResetClass()
1280
- let data = {
1281
- tablename: 't_exploration_comments',
1282
- condition: `f_userinfo_id=${this.remark.f_userinfo_id}`
1283
- }
1284
- let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
1285
- resolveMsg: null,
1286
- rejectMsg: '补充协议查询失败'
1287
- })
1288
- console.log("g4b",res.data)
1289
- this.f_comments =res.data[0].f_comments
1290
- console.log("d2fg",this.f_comments)
1291
- },
1292
- async confirm (row) {
1293
- // 保存此备注信息
1294
- console.log("v3b4",row)
1295
- let http = new HttpResetClass()
1296
- let data = {
1297
- f_userinfo_id: this.remark.f_userinfo_id,
1298
- f_comments: this.f_comments,
1299
- f_operator: this.$login.f.name
1300
- }
1301
- await http.load('POST', 'rs/logic/updatecomment', {data: data}, {
1302
- resolveMsg: '添加退回原因成功',
1303
- rejectMsg: '退回原因报错'
1304
- })
1305
- this.cancel()
1306
- },
1307
- async confirmPage() {
1308
- // 保存此备注信息
1309
- console.log("备注信息:",this.f_comments,"用户id:",this.remark.f_userinfo_id)
1310
- let http = new HttpResetClass()
1311
- let data = {
1312
- userType: "原因",
1313
- f_comments: this.f_comments,
1314
- f_userinfo_id: this.remark.f_userinfo_id
1315
- }
1316
- await http.load('POST', 'rs/logic/updateUserState', {data: data}, {
1317
- resolveMsg: '添加成功',
1318
- rejectMsg: '添加错误'
1319
- })
1320
- this.cancelPage()
1321
- },
1322
- cancel() {
1323
- this.showbackremark = false;
1324
- },
1325
- cancelPage() {
1326
- this.signReasonPage = false
1327
- },
1328
- // 关闭文件上传对话框
1329
- closeFile() {
1330
- this.showFile = false
1331
- // 将选的文件清空
1332
- this.$refs.file.$el.querySelector('input').value = ''
1333
- this.search()
1334
- },
1335
- closeModal() {
1336
- console.log("1213")
1337
- this.showUserFile = false
1338
- this.useradders = null
1339
- this.userinfo = null
1340
- this.search()
1341
- console.log("145")
1342
- },
1343
- closeUserModal(){
1344
- this.userinfo = null
1345
- this.showModal = false
1346
- },
1347
- async saveUserFile() {
1348
- this.showUserFile = false
1349
- console.log("987")
1350
- },
1351
- async cleanupload(row) {
1352
- this.record=row
1353
- let http = new HttpResetClass()
1354
- let data = {
1355
- apply: this.selectdata,
1356
- user: this.$login.f,
1357
- record: this.record
1358
- }
1359
- console.log("apply")
1360
- console.log(this.selectdata)
1361
- try {
1362
- let res = await http.load('POST', 'rs/logic/invalidUploadfile', {data:data}, {
1363
- resolveMsg: null,
1364
- rejectMsg: null
1365
- })
1366
- this.$showMessage("删除成功")
1367
- // this.selectdata = res.data
1368
- } catch (e) {
1369
- this.$showAlert(e.data, 'danger', 3000)
1370
- }
1371
- this.search()
1372
- this.$dispatch('breakControl', this.selectdata)
1373
- },
1374
- recoverupload(row) {
1375
- this.record=row
1376
- let http = new HttpResetClass()
1377
- let data = {
1378
- apply: this.selectdata,
1379
- user: this.$login.f,
1380
- record: this.record
1381
- }
1382
-
1383
- try {
1384
- let res = http.load('POST', 'rs/logic/recoveruploadfile', {data:data}, {
1385
- resolveMsg: null,
1386
- rejectMsg: null
1387
- })
1388
- this.$showMessage("成功恢复")
1389
- this.selectdata = res.data
1390
- } catch (e) {
1391
- this.$showAlert(e.data, 'danger', 3000)
1392
- }
1393
- this.search()
1394
- this.$dispatch('breakControl', this.selectdata)
1395
- },
1396
- async unqualcheck(row) {
1397
- if (isEmpty(this.cv.f_void_remarks)) {
1398
- this.$showAlert('请输入不合格原因!!!', 'warning', 3000)
1399
- return
1400
- }
1401
- this.record=row
1402
- this.$dispatch('unpass',this.selectedData)
1403
- this.$dispatch('breakControl', this.selectdata)
1404
- },
1405
- openModal(){
1406
- this.showModal = true
1407
- },
1408
- //地址类型变化
1409
- addressTypeChange(){
1410
- if (this.userinfo.useradders.f_apply_type === '民用地址'){
1411
- this.addressDis = true
1412
- }else {
1413
- this.addressDis = false
1414
- }
1415
- },
1416
- // 获取区县
1417
- async getPcd() {
1418
- let data = {
1419
- tablename: 't_pcd',
1420
- condition: `f_filialeid = '${this.$login.f.orgid}'`
1421
- }
1422
- let http = new HttpResetClass()
1423
- let res = await http.load(
1424
- 'POST',
1425
- `rs/sql/singleTable`,
1426
- {data: data},
1427
- {resolveMsg: null, rejectMsg: '区县查询失败!!!'}
1428
- )
1429
-
1430
- this.pcdList = res.data.map(item => {
1431
- return {
1432
- label: item.f_pcd,
1433
- value: item.f_pcd
1434
- }
1435
- })
1436
- console.log("区县",this.pcdList)
1437
- },
1438
- //获取街道
1439
- async getStreet() {
1440
- let data = {
1441
- tablename: 't_street',
1442
- condition: `f_filialeid = '${this.$login.f.orgid}' and f_pcd = '${this.userinfo.useradders.f_pcd}'`
1443
- }
1444
-
1445
- let http = new HttpResetClass()
1446
- let res = await http.load(
1447
- 'POST',
1448
- `rs/sql/singleTable`,
1449
- {data: data},
1450
- {resolveMsg: null, rejectMsg: '街道查询失败!!!'}
1451
- )
1452
-
1453
- this.streetList = res.data.map(item => {
1454
- return {
1455
- label: item.f_street,
1456
- value: item.f_street
1457
- }
1458
- })
1459
- },
1460
- //获取小区
1461
- async getResidentialArea() {
1462
-
1463
- let data = {
1464
- tablename: 't_area',
1465
- condition: `f_filialeid = '${this.$login.f.orgid}' and f_street = '${this.userinfo.useradders.f_street}'`
1466
- }
1467
- let http = new HttpResetClass()
1468
- let res = await http.load(
1469
- 'POST',
1470
- `rs/sql/singleTable`,
1471
- {data: data},
1472
- {resolveMsg: null, rejectMsg: '小区查询失败!!!'}
1473
- )
1474
-
1475
- this.areaList = res.data.map(item => {
1476
- return {
1477
- label: item.f_residential_area,
1478
- value: item.f_residential_area
1479
- }
1480
- })
1481
- },
1482
- // 地址拼接
1483
- addressSplicing () {
1484
- let f_pcd = this.userinfo.useradders.f_pcd || ''
1485
- let f_area = this.userinfo.useradders.f_area || ''
1486
- let f_slice_area = this.userinfo.useradders.f_slice_area || ''
1487
- let f_street = this.userinfo.useradders.f_street || ''
1488
- let f_residential_area = this.userinfo.useradders.f_residential_area || ''
1489
- let f_building = this.userinfo.useradders.f_building || ''
1490
- let f_building_suffix = f_building ? '号楼' : ''
1491
- let f_unit = this.userinfo.useradders.f_unit || ''
1492
- let f_unit_suffix = f_unit ? '单元' : ''
1493
- let f_floor = this.userinfo.useradders.f_floor || ''
1494
- let f_floor_suffix = f_floor ? '层' : ''
1495
- let f_room = this.userinfo.useradders.f_room || ''
1496
- let f_room_suffix = f_room ? '室' : ''
1497
-
1498
- 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)
1499
- },
1500
- async saveUser () {
1501
- let data = {
1502
- user: this.$login.f,
1503
- userinfo: this.userinfo,
1504
- selectdata: this.selectdata
1505
- }
1506
- let res = await this.$resetpost('rs/logic/applyAddUserinfo', {data:data}, {
1507
- resolveMsg: null,
1508
- rejectMsg: '用户档案添加失败!!!'
1509
- })
1510
- this.$dispatch('breakControl', res.data)
1511
- },
1512
- telphone (){
1513
- // 号码检测
1514
- let phone =this.userinfo.f_user_phone
1515
- // 电话号码效验
1516
- if (!(/^1[3456789]\d{9}$/.test(phone))) {
1517
- this.userinfo.f_user_phone = ""
1518
- this.$showAlert('电话号码格式不正确,请重新输入。', 'info', 2000)
1519
- }
1520
- },
1521
- idnumber(){
1522
- debugger
1523
- let num = this.userinfo.f_idnumber
1524
- if (!(/^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/.test(num))){
1525
- this.userinfo.f_idnumber = ""
1526
- this.$showAlert('身份证号格式不正确,请重新输入。', 'info', 2000)
1527
- }
1528
- },
1529
- onchange(){
1530
- if (this.userinfo.f_credentials ==='身份证'){
1531
- this.flag = false
1532
- this.flag1 = true
1533
- }else {
1534
- this.flag = true
1535
- this.flag1 = false
1536
- }
1537
- }
1538
- },
1539
- events: {
1540
- async 'onFileUpload'(file, result) {
1541
- let data = {
1542
- selectdata: this.selectdata,
1543
- filepath: result.f_downloadpath,
1544
- user: this.$login.f,
1545
- mark: this.mark
1546
- }
1547
- let res = await this.$resetpost(`rs/logic/importAddressAndUserinfo`, {data:data}, {resolveMsg: null, rejectMsg: '导入失败', silent: true}, 0)
1548
- if(res.data.type === "success"){
1549
- this.$showAlert("导入信息:"+res.data.msg, res.data.type, 2000);
1550
- }else{
1551
- this.$showMessage(res.data.msg);
1552
- }
1553
- if (this.mark !== 0) {
1554
- this.$dispatch('breakControl', this.selectdata)
1555
- }
1556
- this.closeFile()
1557
- }
1558
- },
1559
- computed: {
1560
- ischecked () {
1561
- return function (row) {
1562
- return this.selectedData.includes(row)
1563
- }
1564
-
1565
- },
1566
- getCondition () {
1567
- let data = {
1568
- condition: " 1=1",
1569
- f_filialeid: this.$login.f.orgid,
1570
- f_process_id: this.selectdata.f_process_id,
1571
- }
1572
- return data
1573
- },
1574
- // 证件类型
1575
- credentialsList() {
1576
- return this.$appdata.getParam('证件类型')
1577
- },
1578
- getUserType(){
1579
- return this.$appdata.getParam('用户类型')
1580
- }
1581
- },
1582
- watch: {
1583
- }
1584
- }
1585
- </script>
1586
- <style scoped>
1587
- .textNoLineBreak {
1588
- white-space: nowrap;
1589
- }
1590
- .head-but{
1591
- margin-left: 5px;
1592
- height: 34px;
1593
- border-radius: 4px;
1594
- font-family: PingFang;
1595
- color: #ffffff;
1596
- }
1597
- </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
+ @change="telphone()"
694
+ placeholder="客户电话"/>
695
+ </div>
696
+ </div>
697
+ <div class="form-group col-sm-6">
698
+ <label class="col-sm-4 control-label">用户类型:</label>
699
+ <div class="col-sm-7">
700
+ <input-select
701
+ class="select select_list"
702
+ :value.sync="userinfo.f_user_nature"
703
+ v-model="userinfo.f_user_nature"
704
+ :options="getUserType"
705
+ :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
706
+ :valueSingle="true"></input-select>
707
+ </div>
708
+ </div>
709
+ <div class="form-group col-sm-6">
710
+ <label class="col-sm-4 control-label">证件类型:</label>
711
+ <div class="col-sm-7">
712
+ <input-select
713
+ class="select select_list"
714
+ :value.sync="userinfo.f_credentials"
715
+ v-model="userinfo.f_credentials"
716
+ :options="credentialsList"
717
+ @change="onchange()"
718
+ :valueSingle="true"></input-select>
719
+ </div>
720
+ </div>
721
+ <div class="form-group col-sm-6" :class="[$v.f_idnumber.required ? 'has-error' : '']" v-if="flag1" >
722
+ <label class="col-sm-4 control-label">证件号码:</label>
723
+ <div class="col-sm-7">
724
+ <input class="form-control input_view" style=""
725
+ v-validate:f_idnumber="['required']"
726
+ placeholder="证件号码"
727
+ v-model="userinfo.f_idnumber"
728
+ @change="idnumber()"
729
+ :value="userinfo.f_idnumber"
730
+ :readonly="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"/>
731
+ </div>
732
+ </div>
733
+ <div class="form-group col-sm-6" v-if="flag">
734
+ <label class="col-sm-4 control-label">证件号码:</label>
735
+ <div class="col-sm-7">
736
+ <input class="form-control input_view" style=""
737
+ placeholder="证件号码"
738
+ v-model="userinfo.f_idnumber"
739
+ :value="userinfo.f_idnumber"
740
+ :readonly="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"/>
741
+ </div>
742
+ </div>
743
+ </div>
744
+ <!-- 地址信息 -->
745
+ <div class="form-group col-sm-12 panel panel-info" >
746
+ <div class="panel-heading head col-sm-12" style="background-color: #e8f4ff;margin-bottom: 10px">
747
+ <div class="col-sm-6 text-left">地址信息</div>
748
+ </div>
749
+ <div class="form-group col-sm-6" :class="[$v.f_address_type.required ? 'has-error' : '']">
750
+ <label class="col-sm-4 control-label">地址类型:</label>
751
+ <div class="col-sm-7">
752
+ <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']" >
753
+ <input-select
754
+ class="select select_list"
755
+ :value.sync="userinfo.useradders.f_address_type"
756
+ v-model="userinfo.useradders.f_address_type"
757
+ :options="addressType"
758
+ @change="addressTypeChange()"
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_pcd.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_pcd" :value.sync="userinfo.useradders.f_pcd" v-validate:f_pcd = "['required']" >
767
+ <input-select
768
+ class="select select_list"
769
+ :value.sync="userinfo.useradders.f_pcd"
770
+ v-model="userinfo.useradders.f_pcd"
771
+ :options="pcdList"
772
+ @change="addressSplicing(), getStreet()"
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" :class="[$v.f_street.required ? 'has-error' : '']">
778
+ <label class="col-sm-4 control-label">街&emsp;&emsp;道:</label>
779
+ <div class="col-sm-7">
780
+ <input type="text" v-show="false" v-model="userinfo.useradders.f_street" :value.sync="userinfo.useradders.f_street" v-validate:f_street = "['required']" >
781
+ <input-select
782
+ class="select select_list"
783
+ :value.sync="userinfo.useradders.f_street"
784
+ v-model="userinfo.useradders.f_street"
785
+ :options="streetList"
786
+ @change="addressSplicing(), getResidentialArea()"
787
+ :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
788
+ :valueSingle="true"></input-select>
789
+ </div>
790
+ </div>
791
+ <div class="form-group col-sm-6">
792
+ <label class="col-sm-4 control-label">小&emsp;&emsp;区:</label>
793
+ <div class="col-sm-7">
794
+ <input-select
795
+ class="select select_list"
796
+ :value.sync="userinfo.useradders.f_residential_area"
797
+ v-model="userinfo.useradders.f_residential_area"
798
+ :options="areaList"
799
+ @change="addressSplicing()"
800
+ :disable="$parent.$parent.mark === 1 || userinfo.f_user_state === '正常'"
801
+ :valueSingle="true"></input-select>
802
+ </div>
803
+ </div>
804
+ <div class="form-group col-sm-6">
805
+ <label class="col-sm-4 control-label">楼&emsp;&emsp;号:</label>
806
+ <div class="col-sm-7">
807
+ <input class="form-control input_view" placeholder="楼号"
808
+ v-model="userinfo.useradders.f_building"
809
+ :value="userinfo.useradders.f_building"
810
+ @change="addressSplicing"
811
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
812
+ </div>
813
+ </div>
814
+ <div class="form-group col-sm-6">
815
+ <label class="col-sm-4 control-label">单&emsp;&emsp;元:</label>
816
+ <div class="col-sm-7">
817
+ <input class="form-control input_view" placeholder="单元"
818
+ v-model="userinfo.useradders.f_unit"
819
+ :value="userinfo.useradders.f_unit"
820
+ @change="addressSplicing"
821
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
822
+ </div>
823
+ </div>
824
+ <div class="form-group col-sm-6">
825
+ <label class="col-sm-4 control-label">楼&emsp;&emsp;层:</label>
826
+ <div class="col-sm-7">
827
+ <input class="form-control input_view" placeholder="楼层"
828
+ v-model="userinfo.useradders.f_floor"
829
+ :value="userinfo.useradders.f_floor"
830
+ @change="addressSplicing"
831
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
832
+ </div>
833
+ </div>
834
+ <div class="form-group col-sm-6" >
835
+ <label class="col-sm-4 control-label">门&ensp;牌&ensp;号:</label>
836
+ <div class="col-sm-7">
837
+ <input class="form-control input_view" placeholder="门牌号"
838
+ v-model="userinfo.useradders.f_room"
839
+ :value="userinfo.useradders.f_room"
840
+ @change="addressSplicing"
841
+ :readonly="mark === 1 || userinfo.f_user_state === '正常'"/>
842
+ </div>
843
+ </div>
844
+ <div class="form-group col-sm-12">
845
+ <label class="col-sm-2 control-label">地&emsp;&emsp;址:</label>
846
+ <div class="col-sm-9">
847
+ <input class="form-control input_view"
848
+ placeholder="地址"
849
+ v-model="userinfo.useradders.f_address"
850
+ :value.sync="userinfo.useradders.f_address"
851
+ />
852
+ </div>
853
+ </div>
854
+ </div>
855
+ </acticle>
856
+ <footer slot="modal-footer" class="modal-footer">
857
+ <template v-if="mark !== 1 && userinfo.f_user_state !== '正常'">
858
+ <button type="button" class="btn btn-primary" @click="saveUser" :disabled="!$v.valid">确认</button>
859
+ </template>
860
+ </footer>
861
+ </modal>
862
+ </validator>
863
+ <modal :show.sync="showFile" v-ref:modal backdrop="true" title="选择文件">
864
+ <header slot="modal-header" class="modal-header">
865
+ <button type="button" class="close" @click="closeFile"><span>&times;</span></button>
866
+ <h4 class="modal-title">选择文件</h4>
867
+ </header>
868
+ <article slot="modal-body" class="modal-body">
869
+ <div class="form-group">
870
+ <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
871
+ </div>
872
+ </article>
873
+ <footer slot="modal-footer" class="modal-footer"></footer>
874
+ </modal>
875
+
876
+ </template>
877
+ <script>
878
+ import Vue from 'vue'
879
+ import {PagedList} from 'vue-client'
880
+ import {HttpResetClass} from 'vue-client'
881
+ import {isEmpty} from "../../../Util";
882
+
883
+
884
+ export default {
885
+ title: '地址管理',
886
+ props: {
887
+ selectdata: {
888
+ type: Object
889
+ },
890
+ mark: {
891
+ type: Number,
892
+ default: 0 // 0:正常 1:禁用 2:追加用户
893
+ }
894
+ },
895
+ data () {
896
+ return {
897
+ showFile: false,
898
+ model: {
899
+ data: null
900
+ },
901
+ query: {},//查询数据
902
+ selectedData:[],
903
+ showselect:false, //checkbox按钮
904
+ showclean:false, //删除
905
+ showrecover:false, //恢复
906
+ showUserFile:false, //点火信息表
907
+ showback:false,//退回
908
+ void:false,//作废
909
+ showfiling:false,//退回
910
+ showcover:false,//恢复退回数据
911
+ showbackremark:false,//退回界面
912
+ signReasonPage: false,//标记原因界面
913
+ f_comments:'',
914
+ showhina:true, //导入
915
+ showremark:false,
916
+ signReason: false,//标记原因
917
+ showfire:false, //点火按钮
918
+ userinfo:{},
919
+ showreason:false,
920
+ record:'',
921
+ all:[],
922
+ remark:'',
923
+ showModal: false,
924
+ addressType:[{label: "民用地址", value: "民用地址"}, {label: "特殊地址", value: "特殊地址"}],
925
+ addressDis:true,
926
+ pcdList:[],
927
+ streetList:[],
928
+ areaList:[],
929
+ getfield: {
930
+ "f_pcd": "省市区",
931
+ "f_street": "街道",
932
+ "f_slice_area": "片区/管理站",
933
+ "f_residential_area": "小区",
934
+ "f_special": "地址类型",
935
+ "f_building": "楼号",
936
+ "f_unit": "单元号",
937
+ "f_floor": "楼层",
938
+ "f_room": "门牌号",
939
+ "f_address": "地址",
940
+ "f_user_name": "用户姓名/单位名称",
941
+ "f_user_phone": "电话",
942
+ "f_credentials": "证件类型",
943
+ "f_idnumber": "证件号码",
944
+ "f_people_num": "人口数"
945
+ },
946
+ condition: "1 = 1",
947
+ flag:true,
948
+ flag1:false
949
+ }
950
+ },
951
+ ready () {
952
+ if(this.selectdata.f_apply_type!=='工商户报建')
953
+ {
954
+ this.showselect=true
955
+ this.void = true
956
+ this.signReason = true
957
+ }
958
+ if(this.selectdata.defname==='报建登记')
959
+ {
960
+ this.showclean=true
961
+ }
962
+ if(this.selectdata.defname==='通气点火')
963
+ {
964
+ this.showfire=true
965
+ }
966
+ if(this.selectdata.defname==='收费')
967
+ {
968
+ this.showhina=false
969
+ }
970
+ if(this.selectdata.defname==='竣工验收'||this.selectdata.f_apply_type==='验收退回')
971
+ {
972
+ this.showremark=true
973
+ }
974
+ if(this.selectdata.defname==='竣工验收'&&this.selectdata.f_apply_type!=='验收退回')
975
+ {
976
+ this.showback=true
977
+ }
978
+ if(this.selectdata.defname==='营业厅建档'&&this.selectdata.f_apply_type!=='建档暂存')
979
+ {
980
+ this.showfiling=true
981
+ }
982
+ if(this.selectdata.f_apply_type==='验收退回'||this.selectdata.f_apply_type==='建档暂存')
983
+ {
984
+ this.showcover=true
985
+ }
986
+ this.getPcd()
987
+ this.search()
988
+ },
989
+ methods: {
990
+ selectOne (row) {
991
+ if (this.ischecked(row)) {
992
+ this.selectedData.splice(this.selectedData.indexOf(row),1)
993
+ } else {
994
+ this.selectedData.push(row)
995
+ }
996
+ console.log("点击选择")
997
+ console.log(this.model)
998
+ console.log(this.selectedData)
999
+ },
1000
+ voidFunction() {
1001
+ let data = {
1002
+ userData: this.selectedData,
1003
+ userType: "标记"
1004
+ }
1005
+ this.$showMessage('确认标记吗?', ['confirm', 'cancel']).then(
1006
+ (response) => {
1007
+ if (response === 'confirm') {
1008
+ this.$resetpost('rs/logic/updateUserState', {data: data}, {resolveMsg: '标记成功', rejectMsg: '标记失败'})
1009
+ .then((res) => {
1010
+ // this.$showMessage("作废成功!")
1011
+ this.search()
1012
+ })
1013
+ } else if (response === 'cancel') {
1014
+ this.$dispatch('cancel')
1015
+ }
1016
+ })
1017
+ },
1018
+ async unpass() {
1019
+ console.log("1342244", this.selectedData[0].f_user_state)
1020
+ for (let i = 0; i < this.selectedData.length; i++) {
1021
+ let data={
1022
+ code:this.selectedData[i].f_userinfo_code
1023
+ }
1024
+ let http = new HttpResetClass()
1025
+ http.load('POST', 'rs/logic/batchcheck', {data:data}, {resolveMsg: null, rejectMsg: null})
1026
+ }
1027
+
1028
+ console.log("13ef44", this.selectdata.f_process_id)
1029
+ let http = new HttpResetClass()
1030
+ let son =await http.load('POST', 'rs/sql/sonprocess',{
1031
+ data: {
1032
+ process:this.selectdata.f_process_id
1033
+ }
1034
+ },
1035
+ {resolveMsg: null, rejectMsg: null})
1036
+ console.log("v2df",son.data)
1037
+ if(son.data.length>0){
1038
+ console.log("evv")
1039
+ http.load('POST', 'rs/logic/recoverson', {process:son.data[0].f_process_id}, {resolveMsg: null, rejectMsg: null})
1040
+ this.$dispatch('search')
1041
+ }
1042
+ else {
1043
+ let data = {
1044
+ start_activity: this.$workflow_vue.start_activity,
1045
+ model: this.selectdata,
1046
+ diff:{
1047
+ defname:'施工',
1048
+ process:'验收退回报建流程',
1049
+ applytype:'验收退回',
1050
+ actor:'R(工程部报装)'
1051
+ },
1052
+ loginUser: this.$login.f
1053
+ }
1054
+ let res = await this.$resetpost(
1055
+ `rs/logic/mergeInitiate`,
1056
+ data,
1057
+ {resolveMsg: null, rejectMsg: '退回!!!'}
1058
+ )
1059
+ console.log("返回值", res.data)
1060
+ console.log("返回", res)
1061
+ this.$dispatch('search')
1062
+ }
1063
+ },
1064
+
1065
+ async pass() {
1066
+
1067
+ let http = new HttpResetClass()
1068
+ let data = {
1069
+ tablename: 't_apply',
1070
+ condition: `f_process_id='${this.selectdata.f_process_id}'`
1071
+ }
1072
+ let parentres = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
1073
+ resolveMsg: null,
1074
+ rejectMsg: null
1075
+ })
1076
+
1077
+ let data2 = {
1078
+ tablename: 'activityins',
1079
+ condition: `processid='${parentres.data[0].f_parent_process_id}'`
1080
+ }
1081
+ let resparent = await http.load('POST', 'rs/sql/singleTable', {data: data2}, {
1082
+ resolveMsg: null,
1083
+ rejectMsg: null
1084
+ })
1085
+ //查父流程是否关闭
1086
+ for(let i=0;i<resparent.data.length;i++) {
1087
+ if (resparent.data[i].defname === '竣工验收' && resparent.data[i].state === '结束')
1088
+ // let http2 = new HttpResetClass()
1089
+ await http.load('POST', 'rs/logic/parentprocess', {data: {processid: resparent.data[i].processid, defname: resparent.data[i].defname}}, {
1090
+ resolveMsg: null,
1091
+ rejectMsg: null
1092
+ })
1093
+ // if (resparent.data[i].defname === '营业厅建档' && resparent.data[i].state === '结束')
1094
+ // // let http3 = new HttpResetClass()
1095
+ // await http.load('POST', 'rs/logic/parentprocess', {data: {processid: resparent.data[i].processid, defname: resparent.data[i].defname}}, {
1096
+ // resolveMsg: null,
1097
+ // rejectMsg: null
1098
+ // })
1099
+ }
1100
+ for (let i = 0; i < this.selectedData.length; i++) {
1101
+ let data = {
1102
+ code: this.selectedData[i].f_userinfo_code
1103
+ }
1104
+ let http = new HttpResetClass()
1105
+ http.load('POST', 'rs/logic/mergecheck', {data: data}, {resolveMsg: null, rejectMsg: null})
1106
+ }
1107
+ await this.search()
1108
+ console.log("vewvvb", this.model.data)
1109
+ if (this.model.data.length === 0) {
1110
+ let res = await this.$resetpost(
1111
+ `rs/logic/mergeapply`,
1112
+ {data: this.selectdata},
1113
+ {resolveMsg: null, rejectMsg: '终止流程!!!'}
1114
+ )
1115
+ console.log("返回值", res.data)
1116
+ console.log("返回", res)
1117
+ }
1118
+ this.$dispatch('search')
1119
+
1120
+ },
1121
+ async filing() {
1122
+ console.log("1342244", this.selectedData[0].f_user_state)
1123
+ for (let i = 0; i < this.selectedData.length; i++) {
1124
+ let data={
1125
+ code:this.selectedData[i].f_userinfo_code
1126
+ }
1127
+ let http = new HttpResetClass()
1128
+ http.load('POST', 'rs/logic/batchcheck', {data:data}, {resolveMsg: null, rejectMsg: null})
1129
+ }
1130
+
1131
+ console.log("13ef44", this.selectedData)
1132
+ let http = new HttpResetClass()
1133
+ let son = http.load('POST', 'rs/sql/sonprocess',{
1134
+ data: {
1135
+ process:this.selectdata.f_process_id
1136
+ }
1137
+ },
1138
+ {resolveMsg: null, rejectMsg: null})
1139
+ console.log("v2",son)
1140
+ console.log("v2df",son.data)
1141
+ if(son.f_parent_process_id){
1142
+ http.load('POST', 'rs/logic/recoverson', {data:son.f_parent_process_id}, {resolveMsg: null, rejectMsg: null})
1143
+ }
1144
+ else {
1145
+ let data = {
1146
+ start_activity: this.$workflow_vue.start_activity,
1147
+ model: this.selectdata,
1148
+ diff:{
1149
+ defname:'营业厅建档',
1150
+ process:'建档暂存',
1151
+ applytype:'建档暂存',
1152
+ actor:'R(市场部报装)'
1153
+ },
1154
+ loginUser: this.$login.f,
1155
+ }
1156
+ let res = await this.$resetpost(
1157
+ `rs/logic/mergeInitiate`,
1158
+ data,
1159
+ {resolveMsg: null, rejectMsg: '退回!!!'}
1160
+ )
1161
+ console.log("返回值", res.data)
1162
+ console.log("返回", res)
1163
+ this.$dispatch('search')
1164
+ }
1165
+ },
1166
+ async fire (row) {
1167
+ this.useradders = row
1168
+
1169
+ let http = new HttpResetClass()
1170
+ let data = {
1171
+ condition: `f_userinfo_id='${row.f_userinfo_id}'`
1172
+ }
1173
+ let res = await http.load('POST', 'rs/logic/getUserinfoAndFire', {data:data}, {
1174
+ resolveMsg: null,
1175
+ rejectMsg: null
1176
+ })
1177
+ this.userinfo = res.data
1178
+ console.log("12445",this.userinfo)
1179
+
1180
+ this.showUserFile = true
1181
+ },
1182
+ showFileModal() {
1183
+ for (let i = 0; i < this.selectdata.fields.length; i++) {
1184
+ let item = this.selectdata.fields[i]
1185
+ if (item.label === '街道' && !item.value) {
1186
+ this.$showAlert('街道地址不能为空!!!', 'warning', 3000)
1187
+ return
1188
+ }
1189
+ }
1190
+ this.showFile = !this.showFile
1191
+ },
1192
+ async clear() {
1193
+ this.query = {}
1194
+ this.condition = "1 = 1"
1195
+ },
1196
+ conditionData() {
1197
+ if (this.query.f_user_name && !this.query.f_user_phone) {
1198
+ this.condition = "f_user_name = '" + this.query.f_user_name + "'"
1199
+ }
1200
+ if (this.query.f_user_phone && !this.query.f_user_name) {
1201
+ this.condition = "f_user_phone = '" + this.query.f_user_phone + "'"
1202
+ }
1203
+ if (this.query.f_user_name && this.query.f_user_phone) {
1204
+ this.condition = "f_user_name = '" + this.query.f_user_name + "'" + " and f_user_phone = '" + this.query.f_user_phone + "'"
1205
+ }
1206
+ },
1207
+ async search () {
1208
+ this.conditionData()
1209
+ console.log("selectdata.f2")
1210
+ console.log(this.selectdata)
1211
+ if(this.selectdata.showDefnames){
1212
+ console.log("1212")
1213
+ this.showselect=false
1214
+ this.showrecover=true
1215
+ this.showclean=false
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
+ state:'销户'
1222
+ }
1223
+ let res = await http.load('POST', 'rs/sql/getStopAddress', {data:data}, {
1224
+ resolveMsg: null,
1225
+ rejectMsg: null
1226
+ })
1227
+ this.model.data = res.data
1228
+ console.log("rows",this.model.data)
1229
+ }
1230
+ else
1231
+ {
1232
+ let http = new HttpResetClass()
1233
+ let data = {
1234
+ condition: this.condition,
1235
+ f_filialeid: this.$login.f.orgid,
1236
+ f_process_id: this.selectdata.f_process_id,
1237
+ }
1238
+ let res = await http.load('POST', 'rs/sql/getAddressAanUserinfo', {data:data}, {
1239
+ resolveMsg: null,
1240
+ rejectMsg: null
1241
+ })
1242
+ this.model.data = res.data
1243
+ console.log(this.selectdata)
1244
+ console.log("modeldata")
1245
+ console.log(this.model.data)
1246
+ if(this.selectdata.f_apply_type==='验收退回'||this.selectdata.f_apply_type==='建档暂存') {
1247
+ let data = {
1248
+ condition: " 1=1",
1249
+ f_filialeid: this.$login.f.orgid,
1250
+ f_process_id: this.selectdata.f_parent_process_id,
1251
+ state:'不合格'
1252
+ }
1253
+ let res= await http.load('POST', 'rs/sql/getStopAddress', {data: data}, {
1254
+ resolveMsg: null,
1255
+ rejectMsg: null
1256
+ })
1257
+ this.model.data = res.data
1258
+
1259
+ console.log("vfgvb",this.model.data)
1260
+ }
1261
+ if(this.selectdata.defname === '合同签订'){
1262
+ return
1263
+ }
1264
+ for (let i = 0; i < this.selectdata.fields.length; i++) {
1265
+ if (this.selectdata.fields[i].label === '户数') {
1266
+ this.selectdata.fields[i].value = res.data.length
1267
+ }
1268
+ }
1269
+ }
1270
+ },
1271
+ //标记原因
1272
+ signremark(row) {
1273
+ this.signReasonPage = true
1274
+ this.remark = row
1275
+ },
1276
+ async backremark(row){
1277
+ this.showbackremark=true
1278
+ this.remark=row
1279
+ let http = new HttpResetClass()
1280
+ let data = {
1281
+ tablename: 't_exploration_comments',
1282
+ condition: `f_userinfo_id=${this.remark.f_userinfo_id}`
1283
+ }
1284
+ let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {
1285
+ resolveMsg: null,
1286
+ rejectMsg: '补充协议查询失败'
1287
+ })
1288
+ console.log("g4b",res.data)
1289
+ this.f_comments =res.data[0].f_comments
1290
+ console.log("d2fg",this.f_comments)
1291
+ },
1292
+ async confirm (row) {
1293
+ // 保存此备注信息
1294
+ console.log("v3b4",row)
1295
+ let http = new HttpResetClass()
1296
+ let data = {
1297
+ f_userinfo_id: this.remark.f_userinfo_id,
1298
+ f_comments: this.f_comments,
1299
+ f_operator: this.$login.f.name
1300
+ }
1301
+ await http.load('POST', 'rs/logic/updatecomment', {data: data}, {
1302
+ resolveMsg: '添加退回原因成功',
1303
+ rejectMsg: '退回原因报错'
1304
+ })
1305
+ this.cancel()
1306
+ },
1307
+ async confirmPage() {
1308
+ // 保存此备注信息
1309
+ console.log("备注信息:",this.f_comments,"用户id:",this.remark.f_userinfo_id)
1310
+ let http = new HttpResetClass()
1311
+ let data = {
1312
+ userType: "原因",
1313
+ f_comments: this.f_comments,
1314
+ f_userinfo_id: this.remark.f_userinfo_id
1315
+ }
1316
+ await http.load('POST', 'rs/logic/updateUserState', {data: data}, {
1317
+ resolveMsg: '添加成功',
1318
+ rejectMsg: '添加错误'
1319
+ })
1320
+ this.cancelPage()
1321
+ },
1322
+ cancel() {
1323
+ this.showbackremark = false;
1324
+ },
1325
+ cancelPage() {
1326
+ this.signReasonPage = false
1327
+ },
1328
+ // 关闭文件上传对话框
1329
+ closeFile() {
1330
+ this.showFile = false
1331
+ // 将选的文件清空
1332
+ this.$refs.file.$el.querySelector('input').value = ''
1333
+ this.search()
1334
+ },
1335
+ closeModal() {
1336
+ console.log("1213")
1337
+ this.showUserFile = false
1338
+ this.useradders = null
1339
+ this.userinfo = null
1340
+ this.search()
1341
+ console.log("145")
1342
+ },
1343
+ closeUserModal(){
1344
+ this.userinfo = null
1345
+ this.showModal = false
1346
+ },
1347
+ async saveUserFile() {
1348
+ this.showUserFile = false
1349
+ console.log("987")
1350
+ },
1351
+ async cleanupload(row) {
1352
+ this.record=row
1353
+ let http = new HttpResetClass()
1354
+ let data = {
1355
+ apply: this.selectdata,
1356
+ user: this.$login.f,
1357
+ record: this.record
1358
+ }
1359
+ console.log("apply")
1360
+ console.log(this.selectdata)
1361
+ try {
1362
+ let res = await http.load('POST', 'rs/logic/invalidUploadfile', {data:data}, {
1363
+ resolveMsg: null,
1364
+ rejectMsg: null
1365
+ })
1366
+ this.$showMessage("删除成功")
1367
+ // this.selectdata = res.data
1368
+ } catch (e) {
1369
+ this.$showAlert(e.data, 'danger', 3000)
1370
+ }
1371
+ this.search()
1372
+ this.$dispatch('breakControl', this.selectdata)
1373
+ },
1374
+ recoverupload(row) {
1375
+ this.record=row
1376
+ let http = new HttpResetClass()
1377
+ let data = {
1378
+ apply: this.selectdata,
1379
+ user: this.$login.f,
1380
+ record: this.record
1381
+ }
1382
+
1383
+ try {
1384
+ let res = http.load('POST', 'rs/logic/recoveruploadfile', {data:data}, {
1385
+ resolveMsg: null,
1386
+ rejectMsg: null
1387
+ })
1388
+ this.$showMessage("成功恢复")
1389
+ this.selectdata = res.data
1390
+ } catch (e) {
1391
+ this.$showAlert(e.data, 'danger', 3000)
1392
+ }
1393
+ this.search()
1394
+ this.$dispatch('breakControl', this.selectdata)
1395
+ },
1396
+ async unqualcheck(row) {
1397
+ if (isEmpty(this.cv.f_void_remarks)) {
1398
+ this.$showAlert('请输入不合格原因!!!', 'warning', 3000)
1399
+ return
1400
+ }
1401
+ this.record=row
1402
+ this.$dispatch('unpass',this.selectedData)
1403
+ this.$dispatch('breakControl', this.selectdata)
1404
+ },
1405
+ openModal(){
1406
+ this.showModal = true
1407
+ },
1408
+ //地址类型变化
1409
+ addressTypeChange(){
1410
+ if (this.userinfo.useradders.f_apply_type === '民用地址'){
1411
+ this.addressDis = true
1412
+ }else {
1413
+ this.addressDis = false
1414
+ }
1415
+ },
1416
+ // 获取区县
1417
+ async getPcd() {
1418
+ let data = {
1419
+ tablename: 't_pcd',
1420
+ condition: `f_filialeid = '${this.$login.f.orgid}'`
1421
+ }
1422
+ let http = new HttpResetClass()
1423
+ let res = await http.load(
1424
+ 'POST',
1425
+ `rs/sql/singleTable`,
1426
+ {data: data},
1427
+ {resolveMsg: null, rejectMsg: '区县查询失败!!!'}
1428
+ )
1429
+
1430
+ this.pcdList = res.data.map(item => {
1431
+ return {
1432
+ label: item.f_pcd,
1433
+ value: item.f_pcd
1434
+ }
1435
+ })
1436
+ console.log("区县",this.pcdList)
1437
+ },
1438
+ //获取街道
1439
+ async getStreet() {
1440
+ let data = {
1441
+ tablename: 't_street',
1442
+ condition: `f_filialeid = '${this.$login.f.orgid}' and f_pcd = '${this.userinfo.useradders.f_pcd}'`
1443
+ }
1444
+
1445
+ let http = new HttpResetClass()
1446
+ let res = await http.load(
1447
+ 'POST',
1448
+ `rs/sql/singleTable`,
1449
+ {data: data},
1450
+ {resolveMsg: null, rejectMsg: '街道查询失败!!!'}
1451
+ )
1452
+
1453
+ this.streetList = res.data.map(item => {
1454
+ return {
1455
+ label: item.f_street,
1456
+ value: item.f_street
1457
+ }
1458
+ })
1459
+ },
1460
+ //获取小区
1461
+ async getResidentialArea() {
1462
+
1463
+ let data = {
1464
+ tablename: 't_area',
1465
+ condition: `f_filialeid = '${this.$login.f.orgid}' and f_street = '${this.userinfo.useradders.f_street}'`
1466
+ }
1467
+ let http = new HttpResetClass()
1468
+ let res = await http.load(
1469
+ 'POST',
1470
+ `rs/sql/singleTable`,
1471
+ {data: data},
1472
+ {resolveMsg: null, rejectMsg: '小区查询失败!!!'}
1473
+ )
1474
+
1475
+ this.areaList = res.data.map(item => {
1476
+ return {
1477
+ label: item.f_residential_area,
1478
+ value: item.f_residential_area
1479
+ }
1480
+ })
1481
+ },
1482
+ // 地址拼接
1483
+ addressSplicing () {
1484
+ let f_pcd = this.userinfo.useradders.f_pcd || ''
1485
+ let f_area = this.userinfo.useradders.f_area || ''
1486
+ let f_slice_area = this.userinfo.useradders.f_slice_area || ''
1487
+ let f_street = this.userinfo.useradders.f_street || ''
1488
+ let f_residential_area = this.userinfo.useradders.f_residential_area || ''
1489
+ let f_building = this.userinfo.useradders.f_building || ''
1490
+ let f_building_suffix = f_building ? '号楼' : ''
1491
+ let f_unit = this.userinfo.useradders.f_unit || ''
1492
+ let f_unit_suffix = f_unit ? '单元' : ''
1493
+ let f_floor = this.userinfo.useradders.f_floor || ''
1494
+ let f_floor_suffix = f_floor ? '层' : ''
1495
+ let f_room = this.userinfo.useradders.f_room || ''
1496
+ let f_room_suffix = f_room ? '室' : ''
1497
+
1498
+ 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)
1499
+ },
1500
+ async saveUser () {
1501
+ let data = {
1502
+ user: this.$login.f,
1503
+ userinfo: this.userinfo,
1504
+ selectdata: this.selectdata
1505
+ }
1506
+ let res = await this.$resetpost('rs/logic/applyAddUserinfo', {data:data}, {
1507
+ resolveMsg: null,
1508
+ rejectMsg: '用户档案添加失败!!!'
1509
+ })
1510
+ this.$dispatch('breakControl', res.data)
1511
+ },
1512
+ telphone (){
1513
+ // 号码检测
1514
+ let phone =this.userinfo.f_user_phone
1515
+ // 电话号码效验
1516
+ if (!(/^1[3456789]\d{9}$/.test(phone))) {
1517
+ this.userinfo.f_user_phone = ""
1518
+ this.$showAlert('电话号码格式不正确,请重新输入。', 'info', 2000)
1519
+ }
1520
+ },
1521
+ idnumber(){
1522
+ debugger
1523
+ let num = this.userinfo.f_idnumber
1524
+ if (!(/^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/.test(num))){
1525
+ this.userinfo.f_idnumber = ""
1526
+ this.$showAlert('身份证号格式不正确,请重新输入。', 'info', 2000)
1527
+ }
1528
+ },
1529
+ onchange(){
1530
+ if (this.userinfo.f_credentials ==='身份证'){
1531
+ this.flag = false
1532
+ this.flag1 = true
1533
+ }else {
1534
+ this.flag = true
1535
+ this.flag1 = false
1536
+ }
1537
+ }
1538
+ },
1539
+ events: {
1540
+ async 'onFileUpload'(file, result) {
1541
+ let data = {
1542
+ selectdata: this.selectdata,
1543
+ filepath: result.f_downloadpath,
1544
+ user: this.$login.f,
1545
+ mark: this.mark
1546
+ }
1547
+ let res = await this.$resetpost(`rs/logic/importAddressAndUserinfo`, {data:data}, {resolveMsg: null, rejectMsg: '导入失败', silent: true}, 0)
1548
+ if(res.data.type === "success"){
1549
+ this.$showAlert("导入信息:"+res.data.msg, res.data.type, 2000);
1550
+ }else{
1551
+ this.$showMessage(res.data.msg);
1552
+ }
1553
+ if (this.mark !== 0) {
1554
+ this.$dispatch('breakControl', this.selectdata)
1555
+ }
1556
+ this.closeFile()
1557
+ }
1558
+ },
1559
+ computed: {
1560
+ ischecked () {
1561
+ return function (row) {
1562
+ return this.selectedData.includes(row)
1563
+ }
1564
+
1565
+ },
1566
+ getCondition () {
1567
+ let data = {
1568
+ condition: " 1=1",
1569
+ f_filialeid: this.$login.f.orgid,
1570
+ f_process_id: this.selectdata.f_process_id,
1571
+ }
1572
+ return data
1573
+ },
1574
+ // 证件类型
1575
+ credentialsList() {
1576
+ return this.$appdata.getParam('证件类型')
1577
+ },
1578
+ getUserType(){
1579
+ return this.$appdata.getParam('用户类型')
1580
+ }
1581
+ },
1582
+ watch: {
1583
+ }
1584
+ }
1585
+ </script>
1586
+ <style scoped>
1587
+ .textNoLineBreak {
1588
+ white-space: nowrap;
1589
+ }
1590
+ .head-but{
1591
+ margin-left: 5px;
1592
+ height: 34px;
1593
+ border-radius: 4px;
1594
+ font-family: PingFang;
1595
+ color: #ffffff;
1596
+ }
1597
+ </style>