safecheck-client 3.0.35-51 → 3.0.35-53

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,1998 +1,1998 @@
1
- <style scoped id="printStyle">
2
- .img {
3
- border: 1px solid #9773ed;
4
- width: auto;
5
- height: auto;
6
- float: left;
7
- text-align: center;
8
- margin: 6px;
9
- }
10
-
11
- img {
12
- margin: 6px;
13
- }
14
-
15
-
16
- .container {
17
- margin: 10px auto;
18
- width: 80%;
19
- height: auto;
20
- }
21
-
22
- div::-webkit-scrollbar {
23
- width: 0 !important;
24
- height: 0 !important;
25
- }
26
-
27
- div {
28
- -ms-overflow-style: none;
29
- overflow: -moz-scrollbars-none;
30
- }
31
-
32
- .divmask {
33
- pointer-events: none;
34
- }
35
-
36
- .app-header {
37
- border-radius: 50%;
38
- background: rgba(73, 158, 223, 0.4);
39
- color: #FFF;
40
- padding: 20px;
41
- text-align: center;
42
- font-size: 1.2em;
43
- z-index: 10;
44
- opacity: 0.5;
45
- bottom: 50px;
46
- margin-top: -20px;
47
- position: absolute;
48
- top: 10%;
49
- right: 2%;
50
- height: 8%;
51
- }
52
- </style>
53
-
54
- <template>
55
- <div class="basic-main" style="height: 100%">
56
- <div class="page-header app-header auto" style="padding: 15px;margin-right: 10px;right: 0%;height: 7%">
57
- <div @click="back()">
58
- <img src="../../assets/back.png" style="margin: 0px"/>
59
- </div>
60
- </div>
61
- <div v-show="showPdfDownload" class="page-header app-header auto"
62
- style="padding: 15px;margin-right: 3.7%;right: 0%;height: 7%">
63
- <div @click="exportToPDF()">
64
- <img src="../../assets/下载_.png" style="margin: 0px;width: 30px"/>
65
- </div>
66
- </div>
67
- <work-busy :is-busy="loading"></work-busy>
68
- <div class="container-fluid" style="overflow: scroll">
69
- <div class="row">
70
- <div class="col-md-5" style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll">
71
- <div style="width: 100%;margin: auto">
72
- <table class="table table-striped table-bordered" style="margin-bottom: 6px;margin-top: 35px">
73
- <thead>
74
- <tr>
75
- <th colspan="6" style="text-align: center">用户基本信息</th>
76
- </tr>
77
- </thead>
78
- <tbody>
79
- <tr>
80
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户编号:</td>
81
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_userinfo_code }}</td>
82
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户名称:</td>
83
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_user_name }}</td>
84
- </tr>
85
- <tr>
86
- <td style="text-align: center;border: #E9E9E9 solid 1px">证件号码:</td>
87
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_idnumber }}</td>
88
- <td style="text-align: center;border: #E9E9E9 solid 1px">用户类型:</td>
89
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_check_type }}</td>
90
- </tr>
91
- <tr>
92
- <td style="text-align: center;border: #E9E9E9 solid 1px">用户电话:</td>
93
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_user_phone }}</td>
94
- <td style="text-align: center;border: #E9E9E9 solid 1px">区 / 县:</td>
95
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_slice_area }}</td>
96
- </tr>
97
- <tr>
98
- <td style="text-align: center;border: #E9E9E9 solid 1px">街 道:</td>
99
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_street }}</td>
100
- <td style="text-align: center;border: #E9E9E9 solid 1px">楼 号:</td>
101
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_building }}</td>
102
- </tr>
103
- <tr>
104
- <td style="text-align: center;border: #E9E9E9 solid 1px">单 元:</td>
105
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_unit }}</td>
106
- <td style="text-align: center;border: #E9E9E9 solid 1px">楼 层:</td>
107
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_floor }}</td>
108
- </tr>
109
- <tr>
110
- <td style="text-align: center;border: #E9E9E9 solid 1px">门 牌 号 :</td>
111
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_room }}</td>
112
- <td style="text-align: center;border: #E9E9E9 solid 1px">用户性质:</td>
113
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_userproperties }}</td>
114
- </tr>
115
- <tr>
116
- <td style="text-align: center;border: #E9E9E9 solid 1px">备注信息:</td>
117
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_comments }}</td>
118
- <td style="text-align: center;border: #E9E9E9 solid 1px">小区名称:</td>
119
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_residential_area }}</td>
120
- </tr>
121
- <tr>
122
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">详细住址:</td>
123
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_address }}</td>
124
- </tr>
125
- </tbody>
126
- </table>
127
- <table class="table table-striped table-bordered" style="margin-top: 40px"
128
- v-show="paperdata.f_entry_status=='入户'">
129
- <thead>
130
- <tr>
131
- <th colspan="4" style="text-align: center">用户安检概况</th>
132
- </tr>
133
- </thead>
134
- <tbody>
135
- <tr>
136
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
137
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_onsite_time }}</td>
138
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
139
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_offsite_time }}</td>
140
- </tr>
141
- <tr>
142
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
143
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_entry_status }}</td>
144
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">燃气使用:</td>
145
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_usegas }}</td>
146
- </tr>
147
- <tr>
148
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">用户满意度:</td>
149
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">{{
150
- paperdata.f_client_evaluation
151
- }}
152
- </td>
153
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">安检结果:</td>
154
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;"
155
- :style="{'color':ajresult=='有隐患'?'red':''}">{{ ajresult }}
156
- </td>
157
- </tr>
158
- <tr>
159
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">备注:</td>
160
- <td colspan="3"
161
- style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
162
- {{ paperdata.f_repair_approved_note }}
163
- </td>
164
- </tr>
165
- <tr>
166
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">隐患详情:</td>
167
- <td colspan="3"
168
- style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
169
- <span v-for="deviceCollect in deviceCollects">
170
- <span class="li-font">
171
- {{ deviceCollect.name }}:{{ deviceCollect.value }}&nbsp;&nbsp;&nbsp;
172
- </span>
173
- <br>
174
- <span v-if="deviceCollect.value == '有隐患'">
175
- <lable>
176
- 隐患:
177
- </lable>
178
- <span v-for="val in deviceCollect.devices">
179
- {{ val }}
180
- </span><br>
181
- </span>
182
-
183
- </span>
184
- </td>
185
- </tr>
186
-
187
- </tbody>
188
- </table>
189
- <table class="table table-striped table-bordered" style="margin-top: 40px"
190
- v-show="paperdata.f_entry_status!='入户'">
191
- <thead>
192
- <tr>
193
- <th colspan="4" style="text-align: center">用户安检概况</th>
194
- </tr>
195
- </thead>
196
- <tbody>
197
- <tr>
198
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
199
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_onsite_time }}</td>
200
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
201
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_offsite_time }}</td>
202
- </tr>
203
- <tr>
204
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
205
- <td colspan="2" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">
206
- {{ paperdata.f_entry_status }}
207
- </td>
208
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">
209
- <button-link style="color: black" type="button" class="btn btn-link" @click="showpicture2()">
210
- {{ dev.lname }}
211
- 查看{{ data.f_entry_status }}照片
212
- </button-link>
213
- </td>
214
- </tr>
215
-
216
- </tbody>
217
- </table>
218
- <table class="table table-striped table-bordered" style="margin-top: 40px"
219
- v-show="item.f_no_checkplan == '复检'">
220
- <thead>
221
- <tr>
222
- <th colspan="4" style="text-align: center">上次安检情况</th>
223
- </tr>
224
- </thead>
225
- <tbody>
226
- <tr>
227
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">上次安检到达时间:</td>
228
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{
229
- lastCheckData.f_onsite_time
230
- }}
231
- </td>
232
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">上次安检离开时间:</td>
233
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{
234
- lastCheckData.f_offsite_time
235
- }}
236
- </td>
237
- </tr>
238
- <tr>
239
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">上次安检员:</td>
240
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">
241
- {{ lastCheckData.f_checker_name }}
242
- </td>
243
- </tr>
244
- <tr>
245
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">安检结果:</td>
246
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">
247
- {{ lastCheckData.f_defect_text }}
248
- </td>
249
- </tr>
250
-
251
- </tbody>
252
- </table>
253
- <table class="table table-striped table-bordered" style="margin-top: 35px"
254
- v-show="paperdata.f_entry_status=='入户' && paperdata.f_usegas == '未用气'">
255
- <thead>
256
- <tr>
257
- <th style="text-align: center">未用气照片</th>
258
- </tr>
259
- </thead>
260
- <tbody>
261
- <tr>
262
- <td style="margin: auto;text-align: center">
263
- <div class="container" style="max-width: 550px;background: #FFFFFF">
264
- <div class="img">
265
- <img-self-plus :src="paperdata.f_nongasuser_path" style="float: left" width="150"
266
- height="200"></img-self-plus>
267
- </div>
268
- </div>
269
- </td>
270
- </tr>
271
- </tbody>
272
- </table>
273
- <table class="table table-striped table-bordered" style="margin-top: 35px"
274
- v-show="showPdfImg && paperdata.f_entry_status=='入户' && ajresult=='有隐患'">
275
- <thead>
276
- <tr>
277
- <th style="text-align: center">隐患照片</th>
278
- </tr>
279
- </thead>
280
- <tbody>
281
- <tr>
282
- <td style="margin: auto;text-align: center">
283
- <div class="container" style="max-width: 550px;background: #FFFFFF">
284
- <div class="img" v-for="img in deviceImgs">
285
- <img-self-plus :list="deviceCollect.imgs " :src="img.f_overall_path" style="float: left"
286
- width="150"
287
- height="200"></img-self-plus>
288
- </div>
289
- </div>
290
-
291
-
292
- </td>
293
-
294
- </tr>
295
- </tbody>
296
- </table>
297
- <table class="table table-striped table-bordered" style="margin-top: 35px"
298
- v-show="paperdata.f_entry_status=='入户'">
299
- <thead>
300
- <tr>
301
- <th style="text-align: center">总体安检照片</th>
302
- </tr>
303
- </thead>
304
- <tbody>
305
- <tr>
306
- <td style="margin: auto;text-align: center">
307
- <div class="container" style="max-width: 550px;background: #FFFFFF">
308
- <div class="img" v-for="img in paperdata.f_overall_imgs">
309
- <img-self-plus :list="paperdata.f_overall_imgs " :src="img.f_overall_path" style="float: left"
310
- width="150"
311
- height="200"></img-self-plus>
312
- </div>
313
- </div>
314
-
315
-
316
- </td>
317
-
318
- </tr>
319
- </tbody>
320
- </table>
321
- <table class="table table-striped table-bordered" style="width: 100%"
322
- v-show="paperdata.f_entry_status=='入户' && (paperdata.f_sign_path || f_user_path) ">
323
- <thead>
324
- <tr>
325
- <th style="text-align: center">用户签名照片</th>
326
- </tr>
327
- </thead>
328
- <tbody>
329
- <tr>
330
- <td style="margin: auto;text-align: center" v-if="paperdata.f_sign_path">
331
- <div class="container" style="max-width: 500px;background: #FFFFFF" >
332
- <div class="img" style="float: none">
333
- <img-self-plus :src="paperdata.f_sign_path" width="200" height="200"></img-self-plus>
334
- </div>
335
- </div>
336
- </td>
337
- <td style="margin: auto;text-align: center" v-if="f_user_path">
338
- <div class="container" style="max-width: 550px;background: #FFFFFF" >
339
- <div class="img" style="float: none">
340
- <img-self-plus :src="'rs/image/file/'+f_user_path"
341
- width="200"
342
- height="200"></img-self-plus>
343
- </div>
344
- </div>
345
- </td>
346
- </tr>
347
- </tbody>
348
- </table>
349
- <table class="table table-striped table-bordered"
350
- v-show="paperdata.f_entry_status=='入户' && paperdata.f_defect_notified">
351
- <thead>
352
- <tr>
353
- <th style="text-align: center">安检通知书/隐患整改通知书</th>
354
- </tr>
355
- </thead>
356
- <tbody>
357
- <tr>
358
- <td style="margin: auto;text-align: center">
359
- <div class="container" style="max-width: 500px;background: #FFFFFF">
360
- <div class="img" style="float: none">
361
- <img-self-plus :src="paperdata.f_notified_path" width="486" height="300"></img-self-plus>
362
- </div>
363
- </div>
364
- </td>
365
- </tr>
366
- </tbody>
367
- </table>
368
- <table class="table table-striped table-bordered"
369
- v-show="paperdata.f_entry_status=='入户'&& paperdata.f_video_path">
370
- <thead>
371
- <tr>
372
- <th style="text-align: center">安检视频</th>
373
- </tr>
374
- </thead>
375
- <tbody>
376
- <tr>
377
- <td style="margin: auto;text-align: center">
378
- <div class="container" style="max-width: 500px;background: #FFFFFF">
379
- <video width="320" height="200" controls v-if="paperdata.f_video_path">
380
- <source :src="paperdata.f_video_path" type="video/mp4">
381
- </video>
382
- </div>
383
- </td>
384
- </tr>
385
- </tbody>
386
- </table>
387
- <table class="table table-striped table-bordered"
388
- v-show="item.f_recording1_path">
389
- <thead>
390
- <tr>
391
- <th style="text-align: center">录音文件</th>
392
- </tr>
393
- </thead>
394
- <tbody>
395
- <tr>
396
- <td style="margin: auto;text-align: center">
397
- <div class="container" style="max-width: 500px;background: #FFFFFF">
398
- <a class="button_spacing button_search-1"
399
- :download="item.f_user_name+'-'+item.f_check_type+'-'+'录音文件.arm'"
400
- :href="'rs/image/file/'+item.f_recording1_path">录音下载</a>
401
- </div>
402
- </td>
403
- </tr>
404
- </tbody>
405
- </table>
406
- </div>
407
- </div>
408
- <div class style="width: 1%;height: 100%;background-color: #F1F8FF;float: left;"></div>
409
- <div class="col-md-6" style="height: 100%;overflow: scroll">
410
- <div style="width: 95%;margin-left: 5%">
411
- <table class="table table-striped table-bordered" v-for="config in deviceconfig2" style="margin-top: 35px">
412
- <thead v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
413
- <tr>
414
- <th style="text-align: center">{{ config.checkname }}</th>
415
- </tr>
416
- </thead>
417
- <tbody v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
418
- <tr v-for="dev in config.items">
419
- <td v-if="dev.type!='text' && dev.isshow != false">
420
- <div class="row">
421
- <div class="col-md-8" style="text-align: center;">
422
- <label>
423
- <button-link type="button" class="btn btn-link" @click="showpicture(config.checkname,dev.lname)"
424
- :style="isred(config.checkname,dev.lname)?'color:red':'color:black'">
425
- {{ dev.lname }}
426
- </button-link>
427
- </label>
428
- </div>
429
- <div class="col-md-4" style="text-align: center">
430
- <label style="font-weight: normal"
431
- v-if="dev.type!='picture'">{{
432
- getDeviceValue(config.checkname, dev.lname) ? getDeviceValue(config.checkname, dev.lname) : '无'
433
- }}</label>
434
- <label style="font-weight: normal" v-if="dev.type=='picture'">
435
- <div v-show="getDevicePath(config.checkname,dev.lname)">
436
- <button-link style="color: black" type="button" class="btn btn-link"
437
- @click="showpath(getDevicePath(config.checkname,dev.lname),dev.lname)">查看照片
438
- </button-link>
439
- </div>
440
- <div v-show="!getDevicePath(config.checkname,dev.lname)">无照片</div>
441
- </label>
442
- </div>
443
- </div>
444
- </td>
445
- <td v-if="dev.type==='text' && dev.isshow != false">
446
- <label style="width: 100%;text-align: center">{{ dev.lname }}</label>
447
- </td>
448
- </tr>
449
- </tbody>
450
- </table>
451
- <div v-show="showButton">
452
- <button class="button_spacing button_search" @click="auditSuccesss()">通过</button>
453
- <button class="button_spacing button_search" @click="auditFail()">不通过</button>
454
- </div>
455
- </div>
456
- </div>
457
-
458
- </div>
459
- </div>
460
- <div v-show="false">
461
- <div class="container-fluid" id="toPdf" style="overflow: scroll">
462
- <div class="row">
463
- <div style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll">
464
- <div style="width: 100%;margin: auto">
465
- <table class="table table-striped table-bordered" style="margin-bottom: 6px;margin-top: 35px">
466
- <thead>
467
- <tr>
468
- <th colspan="6" style="text-align: center">用户基本信息</th>
469
- </tr>
470
- </thead>
471
- <tbody>
472
- <tr>
473
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户编号:</td>
474
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{
475
- paperdata.f_userinfo_code
476
- }}
477
- </td>
478
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户名称:</td>
479
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_user_name }}</td>
480
- </tr>
481
- <tr>
482
- <td style="text-align: center;border: #E9E9E9 solid 1px">证件号码:</td>
483
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_idnumber }}</td>
484
- <td style="text-align: center;border: #E9E9E9 solid 1px">用户类型:</td>
485
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_check_type }}</td>
486
- </tr>
487
- <tr>
488
- <td style="text-align: center;border: #E9E9E9 solid 1px">用户电话:</td>
489
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_user_phone }}</td>
490
- <td style="text-align: center;border: #E9E9E9 solid 1px">区 / 县:</td>
491
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_slice_area }}</td>
492
- </tr>
493
- <tr>
494
- <td style="text-align: center;border: #E9E9E9 solid 1px">街 道:</td>
495
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_street }}</td>
496
- <td style="text-align: center;border: #E9E9E9 solid 1px">楼 号:</td>
497
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_building }}</td>
498
- </tr>
499
- <tr>
500
- <td style="text-align: center;border: #E9E9E9 solid 1px">单 元:</td>
501
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_unit }}</td>
502
- <td style="text-align: center;border: #E9E9E9 solid 1px">楼 层:</td>
503
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_floor }}</td>
504
- </tr>
505
- <tr>
506
- <td style="text-align: center;border: #E9E9E9 solid 1px">门 牌 号 :</td>
507
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_room }}</td>
508
- <td style="text-align: center;border: #E9E9E9 solid 1px">用户性质:</td>
509
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_userproperties }}</td>
510
- </tr>
511
- <tr>
512
- <td style="text-align: center;border: #E9E9E9 solid 1px">备注信息:</td>
513
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_comments }}</td>
514
- <td style="text-align: center;border: #E9E9E9 solid 1px">小区名称:</td>
515
- <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_residential_area }}</td>
516
- </tr>
517
- <tr>
518
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">详细住址:</td>
519
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_address }}</td>
520
- </tr>
521
- </tbody>
522
- </table>
523
- <table class="table table-striped table-bordered" style="margin-top: 40px"
524
- v-show="paperdata.f_entry_status=='入户'">
525
- <thead>
526
- <tr>
527
- <th colspan="4" style="text-align: center">用户安检概况</th>
528
- </tr>
529
- </thead>
530
- <tbody>
531
- <tr>
532
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
533
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_onsite_time }}</td>
534
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
535
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{
536
- paperdata.f_offsite_time
537
- }}
538
- </td>
539
- </tr>
540
- <tr>
541
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
542
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{
543
- paperdata.f_entry_status
544
- }}
545
- </td>
546
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">燃气使用:</td>
547
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_usegas }}</td>
548
- </tr>
549
- <tr>
550
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">用户满意度:</td>
551
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">{{
552
- paperdata.f_client_evaluation
553
- }}
554
- </td>
555
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">安检结果:</td>
556
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;"
557
- :style="{'color':ajresult=='有隐患'?'red':''}">{{ ajresult }}
558
- </td>
559
- </tr>
560
- <tr>
561
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">备注:</td>
562
- <td colspan="3"
563
- style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
564
- {{ paperdata.f_repair_approved_note }}
565
- </td>
566
- </tr>
567
- <tr>
568
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">隐患详情:</td>
569
- <td colspan="3"
570
- style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
571
- <span v-for="deviceCollect in deviceCollects">
572
- <span class="li-font">
573
- {{ deviceCollect.name }}:{{ deviceCollect.value }}&nbsp;&nbsp;&nbsp;
574
- </span>
575
- <br>
576
- <span v-if="deviceCollect.value == '有隐患'">
577
- <lable>
578
- 隐患:
579
- </lable>
580
- <span v-for="val in deviceCollect.devices">
581
- {{ val }}
582
- </span><br>
583
- </span>
584
-
585
- </span>
586
- </td>
587
- </tr>
588
-
589
- </tbody>
590
- </table>
591
- <table class="table table-striped table-bordered" style="margin-top: 40px"
592
- v-show="paperdata.f_entry_status!='入户'">
593
- <thead>
594
- <tr>
595
- <th colspan="4" style="text-align: center">用户安检概况</th>
596
- </tr>
597
- </thead>
598
- <tbody>
599
- <tr>
600
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
601
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_onsite_time }}</td>
602
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
603
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{
604
- paperdata.f_offsite_time
605
- }}
606
- </td>
607
- </tr>
608
- <tr>
609
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
610
- <td colspan="2" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">
611
- {{ paperdata.f_entry_status }}
612
- </td>
613
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">
614
- <button-link style="color: black" type="button" class="btn btn-link" @click="showpicture2()">
615
- {{ dev.lname }}
616
- 查看{{ data.f_entry_status }}照片
617
- </button-link>
618
- </td>
619
- </tr>
620
-
621
- </tbody>
622
- </table>
623
- <table class="table table-striped table-bordered" style="margin-top: 40px"
624
- v-show="item.f_no_checkplan == '复检'">
625
- <thead>
626
- <tr>
627
- <th colspan="4" style="text-align: center">上次安检情况</th>
628
- </tr>
629
- </thead>
630
- <tbody>
631
- <tr>
632
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">上次安检到达时间:</td>
633
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{
634
- lastCheckData.f_onsite_time
635
- }}
636
- </td>
637
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">上次安检离开时间:</td>
638
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{
639
- lastCheckData.f_offsite_time
640
- }}
641
- </td>
642
- </tr>
643
- <tr>
644
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">上次安检员:</td>
645
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">
646
- {{ lastCheckData.f_checker_name }}
647
- </td>
648
- </tr>
649
- <tr>
650
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">安检结果:</td>
651
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">
652
- {{ lastCheckData.f_defect_text }}
653
- </td>
654
- </tr>
655
-
656
- </tbody>
657
- </table>
658
- <table class="table table-striped table-bordered" style="margin-top: 35px"
659
- v-show="showPdfImg && paperdata.f_entry_status=='入户' && ajresult=='有隐患'">
660
- <thead>
661
- <tr>
662
- <th style="text-align: center">隐患照片</th>
663
- </tr>
664
- </thead>
665
- <tbody>
666
- <tr>
667
- <td style="margin: auto;text-align: center">
668
- <div class="container" style="max-width: 550px;background: #FFFFFF">
669
- <div class="img" v-for="img in deviceImgs">
670
- <img-self-plus :list="deviceCollect.imgs " :src="img.f_overall_path" style="float: left"
671
- width="150"
672
- height="200"></img-self-plus>
673
- </div>
674
- </div>
675
-
676
-
677
- </td>
678
-
679
- </tr>
680
- </tbody>
681
- </table>
682
- <table class="table table-striped table-bordered" style="margin-top: 35px"
683
- v-show="paperdata.f_entry_status=='入户'">
684
- <thead>
685
- <tr>
686
- <th style="text-align: center">总体安检照片</th>
687
- </tr>
688
- </thead>
689
- <tbody>
690
- <tr>
691
- <td style="margin: auto;text-align: center">
692
- <div class="container" style="max-width: 550px;background: #FFFFFF">
693
- <div class="img" v-for="img in paperdata.f_overall_imgs">
694
- <img-self-plus :list="paperdata.f_overall_imgs " :src="img.f_overall_path" style="float: left"
695
- width="150"
696
- height="200"></img-self-plus>
697
- </div>
698
- </div>
699
-
700
-
701
- </td>
702
-
703
- </tr>
704
- </tbody>
705
- </table>
706
- <table class="table table-striped table-bordered" style="width: 100%"
707
- v-show="paperdata.f_entry_status=='入户'">
708
- <thead>
709
- <tr>
710
- <th style="text-align: center">用户签名照片</th>
711
- </tr>
712
- </thead>
713
- <tbody>
714
- <tr>
715
- <td style="margin: auto;text-align: center">
716
- <div class="container" style="max-width: 500px;background: #FFFFFF">
717
- <div class="img" style="float: none">
718
- <img-self-plus :src="paperdata.f_sign_path" width="200" height="200"></img-self-plus>
719
- </div>
720
- </div>
721
- </td>
722
- <td style="margin: auto;text-align: center">
723
- <div class="container" style="max-width: 550px;background: #FFFFFF" v-if="f_user_path">
724
- <div class="img" style="float: none">
725
- <img-self-plus :src="'rs/image/file/'+f_user_path"
726
- width="200"
727
- height="200"></img-self-plus>
728
- </div>
729
- </div>
730
- </td>
731
- </tr>
732
- </tbody>
733
- </table>
734
- <table class="table table-striped table-bordered"
735
- v-show="paperdata.f_entry_status=='入户' && paperdata.f_defect_notified">
736
- <thead>
737
- <tr>
738
- <th style="text-align: center">安检通知书/隐患整改通知书</th>
739
- </tr>
740
- </thead>
741
- <tbody>
742
- <tr>
743
- <td style="margin: auto;text-align: center">
744
- <div class="container" style="max-width: 500px;background: #FFFFFF">
745
- <div class="img" style="float: none">
746
- <img-self-plus :src="paperdata.f_notified_path" width="486" height="300"></img-self-plus>
747
- </div>
748
- </div>
749
- </td>
750
- </tr>
751
- </tbody>
752
- </table>
753
- <table class="table table-striped table-bordered"
754
- v-show="paperdata.f_entry_status=='入户'&& paperdata.f_video_path">
755
- <thead>
756
- <tr>
757
- <th style="text-align: center">安检视频</th>
758
- </tr>
759
- </thead>
760
- <tbody>
761
- <tr>
762
- <td style="margin: auto;text-align: center">
763
- <div class="container" style="max-width: 500px;background: #FFFFFF">
764
- <video width="320" height="200" controls v-if="paperdata.f_video_path">
765
- <source :src="paperdata.f_video_path" type="video/mp4">
766
- </video>
767
- </div>
768
- </td>
769
- </tr>
770
- </tbody>
771
- </table>
772
- <table class="table table-striped table-bordered"
773
- v-show="item.f_recording1_path">
774
- <thead>
775
- <tr>
776
- <th style="text-align: center">录音文件</th>
777
- </tr>
778
- </thead>
779
- <tbody>
780
- <tr>
781
- <td style="margin: auto;text-align: center">
782
- <div class="container" style="max-width: 500px;background: #FFFFFF">
783
- <a class="button_spacing button_search-1"
784
- :download="item.f_user_name+'-'+item.f_check_type+'-'+'录音文件.arm'"
785
- :href="'rs/image/file/'+item.f_recording1_path">录音下载</a>
786
- </div>
787
- </td>
788
- </tr>
789
- </tbody>
790
- </table>
791
- </div>
792
- </div>
793
- <div style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll">
794
- <div style="width: 95%;margin-left: 5%">
795
- <table class="table table-striped table-bordered" v-for="config in deviceconfig2"
796
- style="margin-top: 35px">
797
- <thead v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
798
- <tr>
799
- <th style="text-align: center">{{ config.checkname }}</th>
800
- </tr>
801
- </thead>
802
- <tbody v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
803
- <tr v-for="dev in config.items">
804
- <td v-if="dev.type!='text' && dev.isshow != false">
805
- <div class="row">
806
- <div class="col-md-8" style="text-align: center;">
807
- <label>
808
- <button-link type="button" class="btn btn-link"
809
- @click="showpicture(config.checkname,dev.lname)"
810
- :style="isred(config.checkname,dev.lname)?'color:red':'color:black'">
811
- {{ dev.lname }}
812
- </button-link>
813
- </label>
814
- </div>
815
- <div class="col-md-4" style="text-align: center">
816
- <label style="font-weight: normal"
817
- v-if="dev.type!='picture'">{{
818
- getDeviceValue(config.checkname, dev.lname) ? getDeviceValue(config.checkname, dev.lname) : '无'
819
- }}</label>
820
- <label style="font-weight: normal" v-if="dev.type=='picture'">
821
- <div v-show="getDevicePath(config.checkname,dev.lname)">
822
- <button-link style="color: black" type="button" class="btn btn-link"
823
- @click="showpath(getDevicePath(config.checkname,dev.lname),dev.lname)">查看照片
824
- </button-link>
825
- </div>
826
- <div v-show="!getDevicePath(config.checkname,dev.lname)">无照片</div>
827
- </label>
828
- </div>
829
- </div>
830
- </td>
831
- <td v-if="dev.type==='text' && dev.isshow != false">
832
- <label style="width: 100%;text-align: center">{{ dev.lname }}</label>
833
- </td>
834
- </tr>
835
- </tbody>
836
- </table>
837
- </div>
838
- </div>
839
-
840
- </div>
841
- </div>
842
- </div>
843
- </div>
844
- <modal :show.sync="imgshow" v-ref:modal backdrop="true">
845
- <header slot="modal-header" class="modal-header">
846
- {{ picturename }}
847
- </header>
848
- <article slot="modal-body" class="modal-body">
849
- <div class="from-group">
850
- <div class="row">
851
- <div class="col-md-6">
852
- <img-self-plus v-if="showimg1" :src="showimg1" width="240" height="300"></img-self-plus>
853
- </div>
854
- <div class="col-md-6">
855
- <img-self-plus v-if="showimg2" :src="showimg2" width="240" height="300"></img-self-plus>
856
- </div>
857
- <div class="col-md-6" v-for="item in otherDarginShowImgs">
858
- <img-self-plus v-if="item.path" :src="item.path" width="240" height="300"></img-self-plus>
859
- </div>
860
- </div>
861
- </div>
862
- </article>
863
- <footer slot="modal-footer" class="modal-footer" v-show="false">
864
- <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
865
- </footer>
866
- </modal>
867
- <modal :show.sync="imgshow2" v-ref:modal backdrop="true">
868
- <header slot="modal-header" class="modal-header">
869
- {{ paperdata.f_entry_status }}照片
870
- </header>
871
- <article slot="modal-body" class="modal-body">
872
- <div class="from-group">
873
- <div class="row">
874
- <div class="col-md-6">
875
- <img-self-plus v-if="this.paperdata.f_entry_status=='到访不遇'&& this.paperdata.f_noanswer_path" :src="showimg3"
876
- width="282"
877
- height="400"></img-self-plus>
878
- </div>
879
- <div class="col-md-6">
880
- <img-self-plus v-if="this.paperdata.f_entry_status=='到访不遇'&& this.paperdata.f_noanswer1_path"
881
- :src="showimg5" width="282"
882
- height="400"></img-self-plus>
883
- </div>
884
- <div class="col-md-6">
885
- <img-self-plus v-if="this.paperdata.f_entry_status=='到访不遇'&& this.paperdata.f_noanswer2_path"
886
- :src="showimg6" width="282"
887
- height="400"></img-self-plus>
888
- </div>
889
- <div class="col-md-6">
890
- <img-self-plus v-if="this.paperdata.f_entry_status=='拒检' && this.paperdata.f_rejectcheck_path"
891
- :src="showimg4" width="282"
892
- height="400"></img-self-plus>
893
- </div>
894
- <div class="col-md-6">
895
- <img-self-plus v-if="this.paperdata.f_entry_status=='拒检' && this.paperdata.f_rejectcheck1_path"
896
- :src="showimg7" width="282"
897
- height="400"></img-self-plus>
898
- </div>
899
- <div class="col-md-6">
900
- <img-self-plus v-if="this.paperdata.f_entry_status=='拒检' && this.paperdata.f_rejectcheck2_path"
901
- :src="showimg8" width="282"
902
- height="400"></img-self-plus>
903
- </div>
904
- </div>
905
- </div>
906
- </article>
907
- <footer slot="modal-footer" class="modal-footer" v-show="false">
908
- <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
909
- </footer>
910
- </modal>
911
- <modal :show.sync="showModel" :width="'50%'" :backdrop="false">
912
- <div slot="modal-header" class="modal-header">
913
- <h4 class="modal-title">
914
- 安检审核备注
915
- </h4>
916
- </div>
917
- <div slot="modal-body" class="modal-body">
918
- <div class="row">
919
- <div class="form-group col-sm-4">
920
- <label class="font_normal_body">审核备注:</label>
921
- <textarea v-model="message"></textarea>
922
- </div>
923
- </div>
924
- </div>
925
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
926
- <button class="button_search" style="margin-right: 15px" @click="auditFailOK()">确定</button>
927
- <button class="button_search" style="margin-right: 15px" @click="auditFailCancel()">取消</button>
928
- </div>
929
- </modal>
930
- </template>
931
-
932
- <script>
933
- // import PaperUserm from './PaperUserm'
934
- // import PaperStatem from './PaperStatem'
935
- // import Devicesm from './Devicesm'
936
- // import PaperFeedbackm from './PaperFeedbackm'
937
- import html2pdf from 'html2pdf.js'
938
- import ObjConfig from '../../utils/GerJsonObjectConfig'
939
- import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
940
- import Radio from 'vue-client/src/vue-strap/src/radioBtn'
941
- import Vue from 'vue'
942
- import * as Util from '../Util'
943
- import {jsonSort} from '../../utils/LdapHelper'
944
- import {HttpResetClass} from "vue-client";
945
- import {forEach} from "mocha/lib/utils";
946
-
947
- let asyncReady = async function (self) {
948
- // 获取配置信息
949
- try {
950
- let res = await new HttpResetClass().load('post', 'rs/sql/safe_singleTable_OrderBy', {
951
- data: {
952
- items: 'f_dir',
953
- tablename: 't_organization',
954
- condition: `id = '${self.item.f_filialeid}'`,
955
- orderitem: 'id'
956
- }
957
- })/*.then(res=>{*/
958
- //tag
959
- //tag)
960
- console.log(res)
961
- if (!res.data[0].f_dir) {
962
- self.$showMessage("该公司无组织目录,无法获取配置文件,请联系管理员确认")
963
- } else {
964
- //this.f_dir=res.data[0].f_dir
965
- let url = self.newConfig == '是' ? '/safecheck/rs/safe_vue' : '/safecheck/rs/vue'
966
- try {
967
- let res1 = await new HttpResetClass().load('GET', `${url}/DevicesConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
968
- resolveMsg: '获取居民配置项成功!',
969
- rejectMsg: '获取居民配置项出错!'
970
- })/*.then(res=>{*/
971
- //tag
972
- //this.safeConfig["民用配置项"]=Object.assign({},res.data)
973
- if (!Vue.config.safecheck) {
974
- Vue.config = {safecheck: {}}
975
- }
976
- Vue.config.safecheck.DevicesConfig = res1.data
977
- console.log(Vue.config.safecheck.DevicesConfig)
978
- /*})*/
979
- let res2 = await new HttpResetClass().load('GET', `${url}/DevicesSetConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
980
- resolveMsg: '获取非居民配置项成功!',
981
- rejectMsg: '获取非居民配置项出错!'
982
- })/*.then(res=>{*/
983
- //tag
984
- //this.safeConfig["非民用配置项"]=Object.assign({},res.data)
985
- Vue.config.safecheck.DevicesSetConfig = res2.data
986
- /*}).then(res=> {
987
- })*/
988
-
989
- } catch (e) {
990
- self.$showMessage("获取配置文件失败" + e)
991
- self.loading = false
992
- }
993
- }
994
- if (self.data.f_recheck_id) {
995
- let res3 = await new HttpResetClass().load('post', 'rs/sql/safe_singleTable_OrderBy', {
996
- data: {
997
- items: '*',
998
- tablename: 't_check_paper',
999
- condition: `id = '${self.data.f_recheck_id}'`,
1000
- orderitem: 'id'
1001
- }
1002
- })
1003
- self.lastCheckData = res3.data[0]
1004
- }
1005
- } catch (error) {
1006
- // 忽略704,文件找不到异常R
1007
- if (error.status !== 704) {
1008
- throw error
1009
- }
1010
- this.loading = false
1011
- }
1012
- }
1013
- export default {
1014
- title: '安检单',
1015
- props: ['f_plan_id', 'item', 'role'],
1016
- data() {
1017
- return {
1018
- f_user_path:'',
1019
- message: '',
1020
- showButton: false,
1021
- showModel: false,
1022
- data: {
1023
- f_devices: [],
1024
- f_defect_content: ''
1025
- },
1026
- showPdfDownload: this.$appdata.getSingleValue('安检结果pdf下载') ? this.$appdata.getSingleValue('安检结果pdf下载') : false,
1027
- showPdfImg: this.$appdata.getSingleValue('安检结果pdf展示隐患照片') ? this.$appdata.getSingleValue('安检结果pdf展示隐患照片') : false,
1028
- lastCheckData: {},
1029
- paperdata: {},
1030
- picturename: '隐患照片',
1031
- defectDevice: {},
1032
- hasDevice: false,
1033
- deviceCollect: {},
1034
- deviceCollects: [],
1035
- deviceImgs:[],
1036
- isshow: false,
1037
- ajresult: '',
1038
- loading: true,
1039
- imgshow: false,
1040
- imgshow2: false,
1041
- isUpload: false,
1042
- livedispose: '',
1043
- showimg1: '',
1044
- showimg2: '',
1045
- showimg3: '',
1046
- showimg4: '',
1047
- showimg5: '',
1048
- showimg6: '',
1049
- showimg7: '',
1050
- showimg8: '',
1051
- hiddenDangerImgNumber: 0, //配置项中隐患照片数
1052
- otherDarginShowImgs: [],//其他隐患图片
1053
- startClick: false, //开始安检按钮是否可点击
1054
- isStrat: false, //是否开始安检
1055
- checkResult: {},//查询结果
1056
- newcheckResult: {},
1057
- timer: null,
1058
- showModal: false,
1059
- pic_to_be_viewed: '',
1060
- showBack: true,
1061
- devices: [],
1062
- devicesAll: [],
1063
- configAJ: [],
1064
- configRQ: [],
1065
- deviceconfig: {},
1066
- newConfig: '',
1067
- deviceconfig2: [],
1068
- f_devices: [],
1069
- config: {
1070
- "燃气表": {
1071
- "checkmust": true,
1072
- "index": 1,
1073
- "items": {
1074
- "基表编号": {"index": 1, "type": "string", "readonly": true},
1075
- "气表型号": {"index": 2, "type": "string", "readonly": true},
1076
- "气表品牌": {"index": 3, "type": "string", "readonly": true},
1077
- "进气方向": {"index": 4, "type": "string", "readonly": true},
1078
- "初始表底": {"index": 5, "type": "number", "isshow": false, "readonly": true},
1079
- "上期表读数": {"index": 6, "type": "number", "readonly": true, isshow: false},
1080
- "累购气量": {"index": 7, "type": "number", "readonly": true},
1081
- "已用气量": {"index": 8, "type": "number", "checkmust": false},//基表数
1082
- "剩余气量": {"index": 9, "type": "number", "checkmust": false},//累购-已用
1083
- //显示屏数 --实际剩余气量
1084
- "气量异常差值": {"index": 10, "type": "number", "readonly": true},
1085
- "表箱号": {"index": 11, "type": "string", "readonly": true},
1086
- "燃气表照片": {"index": 12, "type": "picture", "checkmust": false},
1087
- }
1088
- // 注意,配置项的index必须与上面的固定配置保持'顺序'
1089
- }
1090
- },
1091
- //金额
1092
- config2: {
1093
- "燃气表": {
1094
- "checkmust": true,
1095
- "index": 1,
1096
- "items": {
1097
- "基表编号": {"index": 1, "type": "string", "readonly": true},
1098
- "气表型号": {"index": 2, "type": "string", "readonly": true},
1099
- "气表品牌": {"index": 3, "type": "string", "readonly": true},
1100
- "进气方向": {"index": 4, "type": "string", "readonly": true},
1101
- "初始表底": {"index": 5, "type": "number", "isshow": false, "readonly": true},
1102
- "上期表读数": {"index": 6, "type": "number", "readonly": true, isshow: false},
1103
- "累购金额": {"index": 7, "type": "number", "readonly": true},
1104
- "已用金额": {"index": 8, "type": "number", "checkmust": false},
1105
- //显示屏数 --实际剩余气量
1106
- "剩余金额": {"index": 9, "type": "number", "checkmust": false},
1107
- "金额异常差值": {"index": 10, "type": "number", "readonly": true},
1108
- "表箱号": {"index": 11, "type": "string", "readonly": true},
1109
- "燃气表照片": {"index": 12, "type": "picture", "checkmust": false},
1110
- }
1111
- }
1112
- },
1113
- }
1114
- },
1115
- components: {
1116
- RadioGroup,
1117
- Radio,
1118
- },
1119
- computed: {
1120
- isRecodrDownloadBtn() {
1121
- // 投诉单下派还是处理
1122
- let res = this.$appdata.getSingleValue('无限制录音');
1123
- if (res == 'true') {
1124
- return true;
1125
- } else {
1126
- return false;
1127
- }
1128
- },
1129
- selector: {
1130
- get() {
1131
- return 'paper-state'
1132
- },
1133
- set(val) {
1134
- if (this.isStrat) {
1135
- this.$goto(val, {userinfo: this.data}, 'paper-router')
1136
- } else {
1137
- this.$showMessage('未开始安检!')
1138
- }
1139
- }
1140
- },
1141
- actionEnabled: {
1142
- get() {
1143
- return this.role == 'inspect'
1144
- }
1145
- }
1146
- },
1147
- methods: {
1148
- exportToPDF() {
1149
- const element = document.getElementById('toPdf') // 替换为您要导出的页面元素的ID
1150
- html2pdf(element)
1151
- },
1152
-
1153
- showAudit() {
1154
- var audit = this.$appdata.getSingleValue('安检审核');
1155
- if (audit == '是' && (this.item.f_approved == '未审核' || !this.item.f_approved)) {
1156
- this.showButton = true
1157
- }
1158
- },
1159
- //安检审核成功
1160
- auditSuccesss() {
1161
- this.loading = true;
1162
- var reqdata = {
1163
- audit_result: '通过',
1164
- operator: "success",
1165
- audit_time: Util.getNowDate(),
1166
- user_name: this.$login.f.name,
1167
- id: this.item.id,
1168
- f_check_item_id: this.item.f_check_item_id
1169
- }
1170
- new HttpResetClass().load('POST', '/rs/logic/updateAafeAudit', {data: reqdata}, {
1171
- resolveMsg: '安检审核成功!',
1172
- rejectMsg: '安检审核出错!'
1173
- }).then((res) => {
1174
- if (res.data.code == 200) {
1175
- this.loading = false;
1176
- this.$back()
1177
- }
1178
- })
1179
- },
1180
- auditFail() {
1181
- this.showModel = true;
1182
- },
1183
- auditFailOK() {
1184
-
1185
- this.loading = true;
1186
- var reqdata = {
1187
- message: this.message,
1188
- audit_result: '不通过',
1189
- operator: "fail",
1190
- audit_time: Util.getNowDate(),
1191
- user_name: this.$login.f.name,
1192
- id: this.item.id,
1193
- f_check_item_id: this.item.f_check_item_id
1194
- }
1195
- new HttpResetClass().load('POST', '/rs/logic/updateAafeAudit', {data: reqdata}, {
1196
- resolveMsg: '安检审核成功!',
1197
- rejectMsg: '安检审核出错!'
1198
- }).then((res) => {
1199
- if (res.data.code == 200) {
1200
- this.loading = false;
1201
- this.message = '';
1202
- this.showModel = false;
1203
- this.$back()
1204
- }
1205
- })
1206
- },
1207
- auditFailCancel() {
1208
- this.showModel = false;
1209
- this.message = '';
1210
- },
1211
-
1212
- devicesCollect() {
1213
- //tag
1214
- //tag)
1215
- //tag)
1216
- //tag
1217
- this.deviceCollects = []
1218
- this.deviceImgs = []
1219
- let checkResult = '正常'
1220
- this.result = '正常'
1221
- let codata = JSON.parse(JSON.stringify(this.data))
1222
- //tag)
1223
- for (let device in this.data) {
1224
- let f_device_type
1225
- if (device.startsWith("device")) {
1226
- for (let item in this.data[device]) {
1227
- if (this.data[device].length > 1) {
1228
- let j = Number.parseInt(item) + 1
1229
- f_device_type = `${this.data[device][item].f_device_type}${j}`
1230
- } else {
1231
- f_device_type = this.data[device][item].f_device_type
1232
- }
1233
- // //tag
1234
- let deviceelse = []
1235
- let deviceInfos = []
1236
-
1237
- for (let i in this.data[device][item].f_items) {
1238
- let defects = ''
1239
-
1240
- let items = this.data[device][item].f_items[i]
1241
-
1242
-
1243
- if ((items.type === 'selector' || items.type === 'radio' || items.type === 'checkbox' || items.type === 'picture') && items.f_item_value != null && items.f_item_value instanceof Array) {
1244
- for (let i in items.f_item_value) {
1245
- let f_item_value = items.f_item_value[i]
1246
-
1247
- //tag)
1248
- //tag)
1249
- //tag)
1250
- //tag)
1251
-
1252
- if (!this.config[this.data[device][item].f_device_type].items[items.f_item_name] && (items.isdefect && (items.isdefect == 'true' || items.isdefect == true))) {
1253
- continue
1254
- }
1255
- /*if(items.f_is_defect != true && items.f_is_defect != 'true'){
1256
- continue
1257
- }*/
1258
- if (items.f_is_defect == 'true' || items.f_is_defect == true) {
1259
- checkResult = '有隐患'
1260
- this.result = '有隐患'
1261
- defects = `${defects}:${items.f_item_value}/`
1262
- }
1263
- /*let options = this.config[this.data[device][item].f_device_type].items[items.f_item_name].options
1264
- for (let option in options) {
1265
- if (options[option].data == f_item_value) {
1266
- if (options[option].isdefect == 'true' || options[option].isdefect == true) {
1267
- checkResult = '有隐患'
1268
- this.result = '有隐患'
1269
- defects = `${defects}:${options[option].data}/`
1270
- // let level = options[option].level
1271
- }
1272
- }
1273
- }*/
1274
- //tag)
1275
- }
1276
- if (defects != '') {
1277
- console.log('有隐患items', items)
1278
- deviceInfos.push(`${items.f_item_name}${defects.substring(0, defects.length - 1)}${items.f_else ? items.f_else : ''}`)
1279
- this.deviceImgs.push({f_overall_path:items.f_path})
1280
- }
1281
- } else if ((items.type === 'string' || items.type === 'number') && items.f_is_defect && items.f_item_value[0]) {
1282
- checkResult = '有隐患'
1283
- this.result = '有隐患'
1284
- deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
1285
- this.deviceImgs.push({f_overall_path:items.f_path})
1286
-
1287
- } else if (items.f_item_name == '金额异常差值') {
1288
- var deviation = this.$appdata.getSingleValue('金额异常差值允许误差')
1289
- //tag
1290
- if (parseFloat(items.f_item_value[0]).toString() != "NaN" && parseFloat(deviation).toString() != "NaN") {
1291
- if (parseFloat(items.f_item_value[0]) > parseFloat(deviation) || parseFloat(items.f_item_value[0]) < parseFloat(deviation) * -1) {
1292
- checkResult = '有隐患'
1293
- this.result = '有隐患'
1294
- deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
1295
- }
1296
- }
1297
- } else if (items.f_item_name == '气量异常差值') {
1298
- var deviation = this.$appdata.getSingleValue('气量异常差值允许误差')
1299
- //tag
1300
- if (parseFloat(items.f_item_value[0]).toString() != "NaN" && parseFloat(deviation).toString() != "NaN") {
1301
- if (parseFloat(items.f_item_value[0]) > parseFloat(deviation) || parseFloat(items.f_item_value[0]) < parseFloat(deviation) * -1) {
1302
- checkResult = '有隐患'
1303
- this.result = '有隐患'
1304
- deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
1305
- }
1306
- }
1307
- }
1308
- if (!this.config[this.data[device][item].f_device_type].items[items.f_item_name]) {
1309
- // console.log('this.config[this.data[device][item].f_device_type]', this.config[this.data[device][item].f_device_type])
1310
- // console.log('this.deviceconfig2', this.deviceconfig2)
1311
- for (let dev in this.deviceconfig2) {
1312
- if (this.deviceconfig2[dev].checkname == this.data[device][item].f_device_type) {
1313
- this.deviceconfig2[dev].items.push({
1314
- lname: items.f_item_name
1315
- })
1316
- }
1317
- }
1318
- }
1319
- //tag)
1320
- //tag
1321
- //tag
1322
- if (items.type === 'selector') {
1323
- items.selected = []
1324
- } else if (items.type === 'inputSelector') {
1325
- items.selected = ''
1326
- }
1327
- }
1328
-
1329
-
1330
- //tag
1331
- this.$set('deviceCollect.name', f_device_type)
1332
- this.$set('deviceCollect.value', checkResult)
1333
- this.$set('deviceCollect.devices', deviceInfos)
1334
- this.$set('deviceCollect.else', deviceelse)
1335
- console.log('deviceCollect.devices', this.deviceCollect.devices)
1336
- console.log('deviceCollect.else', this.deviceCollect.else)
1337
- console.log('deviceCollect.imgs', this.deviceCollect.imgs)
1338
- //tag)
1339
- if (this.deviceCollect.name) {
1340
- //tag
1341
- this.deviceCollects.push(JSON.parse(JSON.stringify(this.deviceCollect)))
1342
- }
1343
-
1344
- checkResult = '正常'
1345
- this.deviceCollect = {}
1346
- }
1347
- }
1348
- }
1349
- if (this.deviceCollects.length > 0) {
1350
- this.hasDevice = true
1351
- }
1352
- this.deviceconfig2 = this.deviceconfig2.filter(row => {
1353
- return !(row.checkname == '$configProp' || row.checkname == '$globalProp');
1354
- })
1355
- this.ajresult = JSON.parse(this.data.f_defect_content).result
1356
- this.showimg3 = this.data.f_noanswer_path
1357
- this.showimg5 = this.data.f_noanswer1_path
1358
- this.showimg6 = this.data.f_noanswer2_path
1359
- this.showimg4 = this.data.f_rejectcheck_path
1360
- this.showimg7 = this.data.f_rejectcheck1_path
1361
- this.showimg8 = this.data.f_rejectcheck2_path
1362
- this.paperdata = this.data
1363
- this.f_user_path = this.paperdata.f_user_pictures ? JSON.parse(this.paperdata.f_user_pictures)[0].f_user_path : ''
1364
- this.loading = false
1365
- },
1366
- imgclose() {
1367
- this.imgshow = false
1368
- },
1369
- putDevices() {
1370
- ////tag
1371
- this.$set('data.approve', "true")
1372
- this.$set('data.writeback', "false")
1373
- if (Vue.config.safecheck.ApproveConfig != undefined) {
1374
- if (Vue.config.safecheck.ApproveConfig.approve != undefined) {
1375
- this.$set('data.approve', Vue.config.safecheck.ApproveConfig.approve)
1376
- }
1377
- if (Vue.config.safecheck.ApproveConfig.writeback != undefined) {
1378
- this.$set('data.writeback', Vue.config.safecheck.ApproveConfig.writeback)
1379
- }
1380
- if (Vue.config.safecheck.ApproveConfig.livedispose != undefined) {
1381
- this.livedispose = Vue.config.safecheck.ApproveConfig.livedispose
1382
- }
1383
- if (Vue.config.safecheck.ApproveConfig.hiddendanger != undefined) {
1384
- if (parseInt(Vue.config.safecheck.ApproveConfig.hiddendanger) >= 5) {
1385
- this.hiddenDangerImgNumber = 5
1386
- } else {
1387
- this.hiddenDangerImgNumber = parseInt(Vue.config.safecheck.ApproveConfig.hiddendanger)
1388
- }
1389
- }
1390
- }
1391
- //tag
1392
- //tag)
1393
- if (!this.item.f_safecheck_type && Vue.config.safecheck.SafecheckType) {
1394
- this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType['年度普检'][this.item.f_check_type]])
1395
- } else if (Vue.config.safecheck.SafecheckType){
1396
- this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_check_type]])
1397
- }else {
1398
- if(this.item.f_check_type == '民用'){
1399
- this.config = this.extend(this.config, Vue.config.safecheck.DevicesConfig)
1400
- }else {
1401
- this.config = this.extend(this.config, Vue.config.safecheck.DevicesSetConfig)
1402
- }
1403
- }
1404
- //遍历安检项配置
1405
- for (let i in this.config) {
1406
- //取得安检项索引值
1407
- let n = this.config[i].index
1408
- this.devices[n - 1] = {device: i, n: n, checkmust: this.config[i].checkmust}
1409
- this.$set('data.' + 'device' + n, [])
1410
- let items = []
1411
- for (let it in this.config[i].items) {
1412
- //赋值下拉选项
1413
- if (this.config[i].items[it].type == 'selector') {
1414
- for (let op in this.config[i].items[it].options)
1415
- if (this.config[i].items[it].options[op].isdefault == true) {
1416
- items.push({
1417
- f_defect_level: this.config[i].items[it].options[op].level,
1418
- f_is_defect: this.config[i].items[it].options[op].isdefect,
1419
- f_item_name: it,
1420
- f_item_value: this.config[i].items[it].options[op].data,
1421
- f_path: "",
1422
- type: "selector"
1423
- })
1424
- }
1425
- }
1426
- }
1427
- n = n + 1
1428
- }
1429
-
1430
- },
1431
- showpath(val1, val2) {
1432
- //tag
1433
- //tag
1434
- if (val1) {
1435
- this.showimg1 = val1
1436
- this.picturename = val2
1437
- this.imgshow = true
1438
- }
1439
- },
1440
- showpicture(val1, val2) {
1441
- //tag
1442
- if (val2 == '气量异常差值' || val2 == '金额异常差值') {
1443
- return
1444
- }
1445
- for (let i = 0; i < this.devicesAll.length; i++) {
1446
- for (let j = 0; j < this.devicesAll[i].length; j++) {
1447
- if (this.devicesAll[i][j].f_device_type == val1) {
1448
- for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
1449
- if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
1450
- if (!this.devicesAll[i][j].f_items[k].f_is_defect) {
1451
- return false
1452
- } else {
1453
- this.showimg1 = this.devicesAll[i][j].f_items[k].f_path
1454
- this.showimg2 = this.devicesAll[i][j].f_items[k].f_second_path
1455
- this.otherDarginShowImgs = []
1456
- for (let l = 0; l < this.hiddenDangerImgNumber; l++) {
1457
- let img = {path: ''}
1458
- if (this.devicesAll[i][j].f_items[k]['f_p' + (l + 1) + '_path']) {
1459
- img.path = this.devicesAll[i][j].f_items[k]['f_p' + (l + 1) + '_path'] + '?' + Math.random()
1460
- this.otherDarginShowImgs.push(img)
1461
- }
1462
- }
1463
- this.picturename = '隐患照片'
1464
- this.imgshow = true
1465
- return true
1466
- }
1467
- }
1468
- }
1469
-
1470
- }
1471
- }
1472
- }
1473
- },
1474
- isred(val1, val2) {
1475
- //tag
1476
- if (val2 == '气量异常差值' || val2 == '金额异常差值') {
1477
- return
1478
- }
1479
- for (let i = 0; i < this.devicesAll.length; i++) {
1480
- for (let j = 0; j < this.devicesAll[i].length; j++) {
1481
- if (this.devicesAll[i][j].f_device_type == val1) {
1482
- for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
1483
- if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
1484
- if (!this.devicesAll[i][j].f_items[k].f_is_defect) {
1485
- return false
1486
- } else {
1487
- return true
1488
- }
1489
- }
1490
- }
1491
-
1492
- }
1493
- }
1494
- }
1495
- },
1496
- showpicture2() {
1497
- this.imgshow2 = true
1498
- },
1499
- getDeviceValue(val1, val2) {
1500
- let aa = ''
1501
- for (let i = 0; i < this.devicesAll.length; i++) {
1502
- for (let j = 0; j < this.devicesAll[i].length; j++) {
1503
- if (this.devicesAll[i][j].f_device_type == val1) {
1504
- for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
1505
- if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
1506
- if (this.devicesAll[i][j].f_items[k].f_item_lists[0]) {
1507
- for (let l = 0; l < this.devicesAll[i][j].f_items[k].f_item_lists.length; l++) {
1508
- let val = this.devicesAll[i][j].f_items[k].f_item_lists[l].f_item_value
1509
- aa += (val === null ? '空' : val) + ' '
1510
- }
1511
- return aa
1512
- }
1513
- }
1514
- }
1515
-
1516
- }
1517
- }
1518
- }
1519
-
1520
- },
1521
- getDevicePath(val1, val2) {
1522
- for (let i = 0; i < this.devicesAll.length; i++) {
1523
- for (let j = 0; j < this.devicesAll[i].length; j++) {
1524
- if (this.devicesAll[i][j].f_device_type == val1) {
1525
- for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
1526
- if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
1527
- return this.devicesAll[i][j].f_items[k].f_path
1528
- }
1529
- }
1530
-
1531
- }
1532
- }
1533
- }
1534
-
1535
- },
1536
- getDeviceAll() {
1537
- let keyall = Object.keys(this.data)
1538
- for (let i = 0; i < keyall.length; i++) {
1539
- //tag)
1540
- if ((keyall[i].startsWith('f_devices') || keyall[i].startsWith('devices')) && keyall[i] != 'deviceundefined') {
1541
- this.devicesAll.push(this.data[keyall[i]])
1542
- //tag
1543
- }
1544
- }
1545
- //tag
1546
- //tag)
1547
- this.devicesCollect()
1548
-
1549
- },
1550
-
1551
- back() {
1552
- if (this.role == 'inspect') {
1553
- if (!this.isStrat) {
1554
- this.$back()
1555
- return
1556
- } else {
1557
- this.savePaper(true).then(() => {
1558
- this.$back()
1559
- this.isStrat = false
1560
- })
1561
- }
1562
- } else {
1563
- this.$back()
1564
- }
1565
- },
1566
- checkIsStart() {
1567
- alert('asdad')
1568
- return
1569
- },
1570
-
1571
- viewPic(fileName) {
1572
- //tag
1573
- if (this.role == 'view') {
1574
- if (!fileName.endsWith('nopic.png')) {
1575
- this.pic_to_be_viewed = fileName
1576
- this.showModal = true
1577
- }
1578
- } else {
1579
- HostApp.viewPic(fileName)
1580
- }
1581
- },
1582
- tick() {
1583
- this.timer = null
1584
- this.data.f_offsite_time = Util.toStandardTimeString()
1585
- this.timer = window.setTimeout(this.tick, 1000)
1586
- },
1587
- getRepairState() {
1588
- let repaired = true
1589
- this.data.f_defects.forEach((defect) => {
1590
- repaired = repaired & (defect.f_ratification == '已处理')
1591
- })
1592
- return repaired
1593
- },
1594
- verifyRepairDefects() {
1595
- this.data.f_repair_date = Util.toStandardTimeString()
1596
- this.data.f_repaired = this.getRepairState() ? '已修' : '在修'
1597
- },
1598
- genuineSave(saveOnly) {
1599
- HostApp.__this__.save(saveOnly)
1600
- if (!saveOnly)
1601
- HostApp.__this__.disableTimer()
1602
- HostApp.__callback__ = null
1603
- HostApp.__this__ = null
1604
- },
1605
- setUrgency() {
1606
- this.data.f_defect_urgency = 'Z'
1607
- let that = this
1608
- this.data.f_defects.forEach(function (defect) {
1609
- if (that.data.f_defect_urgency > defect.f_defect_level.charAt(0))
1610
- that.data.f_defect_urgency = defect.f_defect_level.charAt(0)
1611
- })
1612
- if (this.data.f_defect_urgency == 'Z')
1613
- this.data.f_defect_urgency = null
1614
- },
1615
- disableTimer() {
1616
- if (this.timer) {
1617
- window.clearTimeout(this.timer)
1618
- this.timer = null
1619
- }
1620
- },
1621
- loaded(paper) {
1622
- if (!paper.hasOwnProperty('id')) {
1623
- this.$showMessage("该安检单在手机上已经不存在,可能是卸载过程序。可以进入重新安检,或返回安检计划。")
1624
- this.init()
1625
- } else {
1626
- Util.booleanFilter(paper)
1627
- HostApp.__this__.$set('data', paper)
1628
- HostApp.__this__.$goto('paper-state', {}, 'paper-router')
1629
- // 如果打回重检则重新计时
1630
- //tag
1631
- if (HostApp.__this__.role == 'inspect'
1632
- && HostApp.__this__.data.f_approved
1633
- && HostApp.__this__.data.f_approved == '打回') {
1634
- //tag
1635
- HostApp.__this__.data.f_onsite_time = Util.toStandardTimeString()
1636
- HostApp.__this__.tick()
1637
- }
1638
- }
1639
- HostApp.__callback__ = null
1640
- HostApp.__this__ = null
1641
- },
1642
- S4() {
1643
- return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
1644
- },
1645
- init() {
1646
- this.data.f_noplan_item_id = this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4()
1647
- this.data.ename = Vue.user.ename
1648
- this.data.f_outlets = Vue.user.f_parentname
1649
- this.data.f_meetunit = Vue.user.orgpathnames
1650
- this.data.orgpathstr = Vue.user.orgpathstr
1651
- this.data.f_check_item_id = this.item.id
1652
- this.data.f_check_plan_id = this.f_plan_id
1653
- this.data.f_checker_id = Vue.user.id
1654
- this.data.f_checker_name = Vue.user.name
1655
- this.data.f_check_type = this.item.f_user_type
1656
- this.data.f_subcompany = this.item.f_subcompany
1657
- this.data.f_approved = this.item.f_approved
1658
- this.data.f_repair_approved = this.item.f_repair_approved
1659
- this.data.f_no_checkplan = this.item.f_no_checkplan
1660
- this.data.f_approved = this.item.f_approved
1661
- this.data.f_filialeid = this.item.f_filialeid
1662
- this.data.f_orgstr = this.item.f_orgstr
1663
- this.data.version = this.item.version
1664
- this.$set('data.f_meters', this.item.f_plan_meters)
1665
- this.$set('data.f_userinfo_code', this.item.f_userinfo_code)
1666
- // 安检状态
1667
- this.$set('data.f_entry_status', '入户')
1668
- this.$set('data.f_usegas', '已使用')
1669
- this.$set('data.f_state', this.item.f_state)
1670
- // 用户信息
1671
- this.$set('data.f_user_name', this.item.f_user_name)
1672
- this.$set('data.f_user_phone', this.item.f_user_phone)
1673
- this.$set('data.f_userinfoid', this.item.f_userinfoid)
1674
- this.$set('data.f_address', this.item.f_address)
1675
- this.$set('data.f_card_id', this.item.f_card_id)
1676
- this.$set('data.f_area', this.item.f_area)
1677
- this.$set('data.f_street', this.item.f_street)
1678
- this.$set('data.f_room', this.item.f_room)
1679
- this.$set('data.f_building', this.item.f_building)
1680
- this.$set('data.f_unit', this.item.f_unit)
1681
- this.$set('data.f_floor', this.item.f_floor)
1682
- this.$set('data.f_residential_area', this.item.f_residential_area)
1683
- this.$set('data.f_idnumber', this.item.f_idnumber)
1684
- this.$set('data.f_comments', this.item.f_comments)
1685
- this.$set('data.f_userproperties', this.item.f_userproperties)
1686
- // 处置方式
1687
- this.$set('data.f_no_gas_device', false)
1688
- this.$set('data.f_close_valve', false)
1689
- this.$set('data.f_unload_battery', false)
1690
- if (this.data.f_check_item_id == '' && this.item.f_no_checkplan == '无计划安检') {
1691
- this.data.f_check_item_id = this.data.f_noplan_item_id
1692
- }
1693
-
1694
- //房屋结构
1695
- // this.$set('data.f_room_style', '多层')
1696
- //供暖方式
1697
- // this.$set('data.f_heating_style', '热力公司集中供暖')
1698
- if (this.item.f_plan_meters) {
1699
- for (let de in this.devices) {
1700
- this.$set('data.device' + this.devices[de].n, [])
1701
- for (let i = 0; i < this.item.f_plan_meters.length; i++) {
1702
- if (this.item.f_plan_meters[i].f_meter_type) {
1703
- if (this.devices[de].device == "燃气表" && this.item.f_plan_meters[i].f_meter_type.indexOf('机表') > 0) {
1704
- delete this.config['燃气表']['items']['累计购气量']
1705
- this.data['device' + this.devices[de].n].push({
1706
- f_device_type: "燃气表",
1707
- f_items: [{
1708
- f_defect_level: null,
1709
- f_device_id: "",
1710
- f_is_defect: "",
1711
- f_item_name: "表品牌",
1712
- f_item_value: this.item.f_plan_meters[i].f_aliasname,
1713
- f_path: "",
1714
- type: "string"
1715
- },
1716
- {
1717
- f_defect_level: null,
1718
- f_device_id: "",
1719
- f_is_defect: "",
1720
- f_item_name: "位置",
1721
- f_item_value: this.item.f_plan_meters[i].f_weizhi,
1722
- f_path: "",
1723
- type: "selector"
1724
- },
1725
- {
1726
- f_defect_level: null,
1727
- f_device_id: "",
1728
- f_is_defect: "",
1729
- f_item_name: "表号",
1730
- f_item_value: this.item.f_plan_meters[i].f_meter_no,
1731
- f_path: "",
1732
- type: "number"
1733
- },
1734
- {
1735
- f_defect_level: null,
1736
- f_device_id: "",
1737
- f_is_defect: "",
1738
- f_item_name: "表封号",
1739
- f_item_value: this.item.f_plan_meters[i].f_metertitles,
1740
- f_path: "",
1741
- type: "number"
1742
- },
1743
- {
1744
- f_defect_level: null,
1745
- f_device_id: "",
1746
- f_is_defect: "",
1747
- f_item_name: "表型号",
1748
- f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1749
- f_path: "",
1750
- type: "selector"
1751
- },
1752
- {
1753
- f_defect_level: null,
1754
- f_device_id: "",
1755
- f_is_defect: "",
1756
- f_item_name: "表底数",
1757
- f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1758
- f_path: "",
1759
- type: "number"
1760
- }
1761
- ]
1762
- })
1763
- } else if (this.devices[de].device == "燃气表") {
1764
- delete this.config['燃气表']['items']['表底数']
1765
- this.data['device' + this.devices[de].n].push({
1766
- f_device_type: "燃气表",
1767
- f_items: [{
1768
- f_defect_level: null,
1769
- f_device_id: "",
1770
- f_is_defect: "",
1771
- f_item_name: "表品牌",
1772
- f_item_value: this.item.f_plan_meters[i].f_aliasname,
1773
- f_path: "",
1774
- type: "string"
1775
- },
1776
- {
1777
- f_defect_level: null,
1778
- f_device_id: "",
1779
- f_is_defect: "",
1780
- f_item_name: "位置",
1781
- f_item_value: this.item.f_plan_meters[i].f_weizhi,
1782
- f_path: "",
1783
- type: "selector"
1784
- },
1785
- {
1786
- f_defect_level: null,
1787
- f_device_id: "",
1788
- f_is_defect: "",
1789
- f_item_name: "表号",
1790
- f_item_value: this.item.f_plan_meters[i].f_meter_no,
1791
- f_path: "",
1792
- type: "number"
1793
- },
1794
- {
1795
- f_defect_level: null,
1796
- f_device_id: "",
1797
- f_is_defect: "",
1798
- f_item_name: "表封号",
1799
- f_item_value: this.item.f_plan_meters[i].f_metertitles,
1800
- f_path: "",
1801
- type: "number"
1802
- },
1803
- {
1804
- f_defect_level: null,
1805
- f_device_id: "",
1806
- f_is_defect: "",
1807
- f_item_name: "表型号",
1808
- f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1809
- f_path: "",
1810
- type: "selector"
1811
- },
1812
- {
1813
- f_defect_level: null,
1814
- f_device_id: "",
1815
- f_is_defect: "",
1816
- f_item_name: "累计购气量",
1817
- f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1818
- f_path: "",
1819
- type: "number"
1820
- }
1821
- ]
1822
- })
1823
- }
1824
- }
1825
- }
1826
- }
1827
- }
1828
-
1829
- this.$goto('paper-state', {}, 'paper-router')
1830
- },
1831
- extend(initalObj, finalObj) {
1832
- var obj = finalObj || {};
1833
- for (var i in initalObj) {
1834
- var prop = initalObj[i];
1835
-
1836
- // 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况
1837
- if (prop === obj) {
1838
- continue;
1839
- }
1840
-
1841
- if (typeof prop === 'object') {
1842
- if (obj[i]) {
1843
- this.extend(obj[i], prop)
1844
- } else {
1845
- obj[i] = prop;
1846
- }
1847
- }
1848
- }
1849
- return obj;
1850
- },
1851
- //获取当前时间
1852
- getNowFormatDate() {
1853
- var date = new Date();
1854
- var seperator1 = "-";
1855
- var seperator2 = ":";
1856
- var month = date.getMonth() + 1;
1857
- var strDate = date.getDate();
1858
- if (month >= 1 && month <= 9) {
1859
- month = "0" + month;
1860
- }
1861
- if (strDate >= 0 && strDate <= 9) {
1862
- strDate = "0" + strDate;
1863
- }
1864
- var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
1865
- + " " + date.getHours() + seperator2 + date.getMinutes()
1866
- + seperator2 + date.getSeconds();
1867
- return currentdate;
1868
- }
1869
- },
1870
- ready() {
1871
- setTimeout(() => {
1872
- this.loading = false;
1873
- }, 10000)
1874
- this.putDevices()
1875
- this.showAudit()
1876
- this.newConfig = this.$appdata.getSingleValue('配置中心获取文件') ? this.$appdata.getSingleValue('配置中心获取文件') : '否';
1877
- if (this.item.f_state != '未检' || this.item.f_no_checkplan == '无计划安检' || this.item.f_no_checkplan == '复检') {
1878
- if (this.role != 'inspect') {
1879
- let that = this
1880
- let id
1881
- if (this.role == 'view') {
1882
- id = this.item.id
1883
- } else if (this.role == 'androidview') {
1884
- id = this.item.f_paper_id
1885
- }
1886
- this.$resetpost(`rs/path/getUserinfomation`, {data: {condition: `id = '${id}'`}}).then((respanse) => {
1887
- //tag
1888
- if (respanse.data.length != 0) {
1889
- // 包含 其它 特殊处理的数组
1890
- // 对应位置
1891
- that.data = Object.assign(that.data, respanse.data[0])
1892
- if (respanse.data[0].f_devices) {
1893
- for (let da in that.devices) {
1894
- that.$set('data.device' + that.devices[da].n, [])
1895
- }
1896
- respanse.data[0].f_devices.forEach((item) => {
1897
- for (let de in that.devices) {
1898
- if (that.devices[de].device == item.f_device_type) {
1899
- item.f_items.forEach((f_item) => {
1900
- //tag
1901
- //tag
1902
- let itemValues = []
1903
- f_item.f_item_lists.forEach((tempItem) => {
1904
- //tag
1905
- if (tempItem.f_item_value !== 'null') {
1906
- itemValues.push(tempItem.f_item_value)
1907
- }
1908
- })
1909
- f_item.f_item_value = itemValues
1910
- })
1911
- that.data['device' + that.devices[de].n].push({
1912
- f_device_type: item.f_device_type,
1913
- f_items: item.f_items
1914
- })
1915
- }
1916
- }
1917
- })
1918
- }
1919
- Util.replaceFalse(that.data)
1920
- Util.booleanFilter(that.data)
1921
- if (this.role == 'view') {
1922
- Util.ratifyPics(that.data)
1923
- Util.ratifyPics(that.picture)
1924
- } else {
1925
- Util.androidRatifyPics(that.data, this.$androidUtil.getProxyUrl())
1926
- }
1927
- //tag
1928
- }
1929
- // this.$goto('paper-message-blank', {userinfo:this.data,devices:this.devices,config:this.config,role:this.role}, 'self')
1930
- this.isshow = true
1931
- asyncReady(this).then(() => {
1932
- //tag
1933
- //tag)
1934
- console.log('Vue.config.safecheck.DevicesConfig', Vue.config.safecheck.DevicesConfig)
1935
- // 如果没有用户类型 默认按民用配置走
1936
- if (this.data.f_check_type == '非民用') {
1937
- this.deviceconfig = Vue.config.safecheck.DevicesSetConfig
1938
- if (typeof this.deviceconfig === 'string') {
1939
- this.deviceconfig = JSON.parse(this.deviceconfig)
1940
- }
1941
- }else{
1942
- this.deviceconfig = Vue.config.safecheck.DevicesConfig
1943
- if (typeof this.deviceconfig === 'string') {
1944
- this.deviceconfig = JSON.parse(this.deviceconfig)
1945
- }
1946
- }
1947
- if (this.data.f_collection_type == '按金额') {
1948
- if (this.deviceconfig["燃气表"]){
1949
- let aaa = Object.assign({}, this.config2["燃气表"].items, this.deviceconfig["燃气表"].items)
1950
- this.deviceconfig["燃气表"].items = aaa
1951
- }
1952
- } else {
1953
- if (this.deviceconfig["燃气表"]){
1954
- let aaa = Object.assign({}, this.config["燃气表"].items, this.deviceconfig["燃气表"].items)
1955
- this.deviceconfig["燃气表"].items = aaa
1956
- }
1957
- }
1958
- this.deviceconfig2 = ObjConfig.getObjConfig(this.deviceconfig)
1959
- this.deviceconfig2[0].items = jsonSort(this.deviceconfig2[0].items, "index")
1960
- this.deviceconfig2[1].items = jsonSort(this.deviceconfig2[1].items, "index")
1961
- this.deviceconfig2 = jsonSort(this.deviceconfig2, "index")
1962
- this.getDeviceAll()
1963
- })
1964
- }
1965
- ).catch(
1966
- (respanse) => {
1967
- //tag
1968
- alert('查找安检单失败')
1969
- this.loading = false
1970
- })
1971
- }
1972
- }
1973
-
1974
- },
1975
- watch: {
1976
- // 'isUpload'(val){
1977
- // //tag
1978
- // }
1979
- },
1980
- destroyed() {
1981
- //tag
1982
- this.disableTimer()
1983
- }
1984
- }
1985
-
1986
- </script>
1987
- <style scoped>
1988
- .table-striped thead tr th {
1989
- background-color: rgb(223, 237, 251);
1990
- padding: 10px;
1991
- border-left: solid 0px #dae4f2;
1992
- border-top: solid 1px #dae4f2;
1993
- border-right: none;
1994
- border-bottom: none;
1995
- text-align: center;
1996
- color: black;
1997
- }
1998
- </style>
1
+ <style scoped id="printStyle">
2
+ .img {
3
+ border: 1px solid #9773ed;
4
+ width: auto;
5
+ height: auto;
6
+ float: left;
7
+ text-align: center;
8
+ margin: 6px;
9
+ }
10
+
11
+ img {
12
+ margin: 6px;
13
+ }
14
+
15
+
16
+ .container {
17
+ margin: 10px auto;
18
+ width: 80%;
19
+ height: auto;
20
+ }
21
+
22
+ div::-webkit-scrollbar {
23
+ width: 0 !important;
24
+ height: 0 !important;
25
+ }
26
+
27
+ div {
28
+ -ms-overflow-style: none;
29
+ overflow: -moz-scrollbars-none;
30
+ }
31
+
32
+ .divmask {
33
+ pointer-events: none;
34
+ }
35
+
36
+ .app-header {
37
+ border-radius: 50%;
38
+ background: rgba(73, 158, 223, 0.4);
39
+ color: #FFF;
40
+ padding: 20px;
41
+ text-align: center;
42
+ font-size: 1.2em;
43
+ z-index: 10;
44
+ opacity: 0.5;
45
+ bottom: 50px;
46
+ margin-top: -20px;
47
+ position: absolute;
48
+ top: 10%;
49
+ right: 2%;
50
+ height: 8%;
51
+ }
52
+ </style>
53
+
54
+ <template>
55
+ <div class="basic-main" style="height: 100%">
56
+ <div class="page-header app-header auto" style="padding: 15px;margin-right: 10px;right: 0%;height: 7%">
57
+ <div @click="back()">
58
+ <img src="../../assets/back.png" style="margin: 0px"/>
59
+ </div>
60
+ </div>
61
+ <div v-show="showPdfDownload" class="page-header app-header auto"
62
+ style="padding: 15px;margin-right: 3.7%;right: 0%;height: 7%">
63
+ <div @click="exportToPDF()">
64
+ <img src="../../assets/下载_.png" style="margin: 0px;width: 30px"/>
65
+ </div>
66
+ </div>
67
+ <work-busy :is-busy="loading"></work-busy>
68
+ <div class="container-fluid" style="overflow: scroll">
69
+ <div class="row">
70
+ <div class="col-md-5" style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll">
71
+ <div style="width: 100%;margin: auto">
72
+ <table class="table table-striped table-bordered" style="margin-bottom: 6px;margin-top: 35px">
73
+ <thead>
74
+ <tr>
75
+ <th colspan="6" style="text-align: center">用户基本信息</th>
76
+ </tr>
77
+ </thead>
78
+ <tbody>
79
+ <tr>
80
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户编号:</td>
81
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_userinfo_code }}</td>
82
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户名称:</td>
83
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_user_name }}</td>
84
+ </tr>
85
+ <tr>
86
+ <td style="text-align: center;border: #E9E9E9 solid 1px">证件号码:</td>
87
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_idnumber }}</td>
88
+ <td style="text-align: center;border: #E9E9E9 solid 1px">用户类型:</td>
89
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_check_type }}</td>
90
+ </tr>
91
+ <tr>
92
+ <td style="text-align: center;border: #E9E9E9 solid 1px">用户电话:</td>
93
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_user_phone }}</td>
94
+ <td style="text-align: center;border: #E9E9E9 solid 1px">区 / 县:</td>
95
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_slice_area }}</td>
96
+ </tr>
97
+ <tr>
98
+ <td style="text-align: center;border: #E9E9E9 solid 1px">街 道:</td>
99
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_street }}</td>
100
+ <td style="text-align: center;border: #E9E9E9 solid 1px">楼 号:</td>
101
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_building }}</td>
102
+ </tr>
103
+ <tr>
104
+ <td style="text-align: center;border: #E9E9E9 solid 1px">单 元:</td>
105
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_unit }}</td>
106
+ <td style="text-align: center;border: #E9E9E9 solid 1px">楼 层:</td>
107
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_floor }}</td>
108
+ </tr>
109
+ <tr>
110
+ <td style="text-align: center;border: #E9E9E9 solid 1px">门 牌 号 :</td>
111
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_room }}</td>
112
+ <td style="text-align: center;border: #E9E9E9 solid 1px">用户性质:</td>
113
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_userproperties }}</td>
114
+ </tr>
115
+ <tr>
116
+ <td style="text-align: center;border: #E9E9E9 solid 1px">备注信息:</td>
117
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_comments }}</td>
118
+ <td style="text-align: center;border: #E9E9E9 solid 1px">小区名称:</td>
119
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_residential_area }}</td>
120
+ </tr>
121
+ <tr>
122
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">详细住址:</td>
123
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_address }}</td>
124
+ </tr>
125
+ </tbody>
126
+ </table>
127
+ <table class="table table-striped table-bordered" style="margin-top: 40px"
128
+ v-show="paperdata.f_entry_status=='入户'">
129
+ <thead>
130
+ <tr>
131
+ <th colspan="4" style="text-align: center">用户安检概况</th>
132
+ </tr>
133
+ </thead>
134
+ <tbody>
135
+ <tr>
136
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
137
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_onsite_time }}</td>
138
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
139
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_offsite_time }}</td>
140
+ </tr>
141
+ <tr>
142
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
143
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_entry_status }}</td>
144
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">燃气使用:</td>
145
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_usegas }}</td>
146
+ </tr>
147
+ <tr>
148
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">用户满意度:</td>
149
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">{{
150
+ paperdata.f_client_evaluation
151
+ }}
152
+ </td>
153
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">安检结果:</td>
154
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;"
155
+ :style="{'color':ajresult=='有隐患'?'red':''}">{{ ajresult }}
156
+ </td>
157
+ </tr>
158
+ <tr>
159
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">备注:</td>
160
+ <td colspan="3"
161
+ style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
162
+ {{ paperdata.f_repair_approved_note }}
163
+ </td>
164
+ </tr>
165
+ <tr>
166
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">隐患详情:</td>
167
+ <td colspan="3"
168
+ style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
169
+ <span v-for="deviceCollect in deviceCollects">
170
+ <span class="li-font">
171
+ {{ deviceCollect.name }}:{{ deviceCollect.value }}&nbsp;&nbsp;&nbsp;
172
+ </span>
173
+ <br>
174
+ <span v-if="deviceCollect.value == '有隐患'">
175
+ <lable>
176
+ 隐患:
177
+ </lable>
178
+ <span v-for="val in deviceCollect.devices">
179
+ {{ val }}
180
+ </span><br>
181
+ </span>
182
+
183
+ </span>
184
+ </td>
185
+ </tr>
186
+
187
+ </tbody>
188
+ </table>
189
+ <table class="table table-striped table-bordered" style="margin-top: 40px"
190
+ v-show="paperdata.f_entry_status!='入户'">
191
+ <thead>
192
+ <tr>
193
+ <th colspan="4" style="text-align: center">用户安检概况</th>
194
+ </tr>
195
+ </thead>
196
+ <tbody>
197
+ <tr>
198
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
199
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_onsite_time }}</td>
200
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
201
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_offsite_time }}</td>
202
+ </tr>
203
+ <tr>
204
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
205
+ <td colspan="2" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">
206
+ {{ paperdata.f_entry_status }}
207
+ </td>
208
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">
209
+ <button-link style="color: black" type="button" class="btn btn-link" @click="showpicture2()">
210
+ {{ dev.lname }}
211
+ 查看{{ data.f_entry_status }}照片
212
+ </button-link>
213
+ </td>
214
+ </tr>
215
+
216
+ </tbody>
217
+ </table>
218
+ <table class="table table-striped table-bordered" style="margin-top: 40px"
219
+ v-show="item.f_no_checkplan == '复检'">
220
+ <thead>
221
+ <tr>
222
+ <th colspan="4" style="text-align: center">上次安检情况</th>
223
+ </tr>
224
+ </thead>
225
+ <tbody>
226
+ <tr>
227
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">上次安检到达时间:</td>
228
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{
229
+ lastCheckData.f_onsite_time
230
+ }}
231
+ </td>
232
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">上次安检离开时间:</td>
233
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{
234
+ lastCheckData.f_offsite_time
235
+ }}
236
+ </td>
237
+ </tr>
238
+ <tr>
239
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">上次安检员:</td>
240
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">
241
+ {{ lastCheckData.f_checker_name }}
242
+ </td>
243
+ </tr>
244
+ <tr>
245
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">安检结果:</td>
246
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">
247
+ {{ lastCheckData.f_defect_text }}
248
+ </td>
249
+ </tr>
250
+
251
+ </tbody>
252
+ </table>
253
+ <table class="table table-striped table-bordered" style="margin-top: 35px"
254
+ v-show="paperdata.f_entry_status=='入户' && paperdata.f_usegas == '未用气'">
255
+ <thead>
256
+ <tr>
257
+ <th style="text-align: center">未用气照片</th>
258
+ </tr>
259
+ </thead>
260
+ <tbody>
261
+ <tr>
262
+ <td style="margin: auto;text-align: center">
263
+ <div class="container" style="max-width: 550px;background: #FFFFFF">
264
+ <div class="img">
265
+ <img-self-plus :src="paperdata.f_nongasuser_path" style="float: left" width="150"
266
+ height="200"></img-self-plus>
267
+ </div>
268
+ </div>
269
+ </td>
270
+ </tr>
271
+ </tbody>
272
+ </table>
273
+ <table class="table table-striped table-bordered" style="margin-top: 35px"
274
+ v-show="showPdfImg && paperdata.f_entry_status=='入户' && ajresult=='有隐患'">
275
+ <thead>
276
+ <tr>
277
+ <th style="text-align: center">隐患照片</th>
278
+ </tr>
279
+ </thead>
280
+ <tbody>
281
+ <tr>
282
+ <td style="margin: auto;text-align: center">
283
+ <div class="container" style="max-width: 550px;background: #FFFFFF">
284
+ <div class="img" v-for="img in deviceImgs">
285
+ <img-self-plus :list="deviceCollect.imgs " :src="img.f_overall_path" style="float: left"
286
+ width="150"
287
+ height="200"></img-self-plus>
288
+ </div>
289
+ </div>
290
+
291
+
292
+ </td>
293
+
294
+ </tr>
295
+ </tbody>
296
+ </table>
297
+ <table class="table table-striped table-bordered" style="margin-top: 35px"
298
+ v-show="paperdata.f_entry_status=='入户'">
299
+ <thead>
300
+ <tr>
301
+ <th style="text-align: center">总体安检照片</th>
302
+ </tr>
303
+ </thead>
304
+ <tbody>
305
+ <tr>
306
+ <td style="margin: auto;text-align: center">
307
+ <div class="container" style="max-width: 550px;background: #FFFFFF">
308
+ <div class="img" v-for="img in paperdata.f_overall_imgs">
309
+ <img-self-plus :list="paperdata.f_overall_imgs " :src="img.f_overall_path" style="float: left"
310
+ width="150"
311
+ height="200"></img-self-plus>
312
+ </div>
313
+ </div>
314
+
315
+
316
+ </td>
317
+
318
+ </tr>
319
+ </tbody>
320
+ </table>
321
+ <table class="table table-striped table-bordered" style="width: 100%"
322
+ v-show="paperdata.f_entry_status=='入户' && (paperdata.f_sign_path || f_user_path) ">
323
+ <thead>
324
+ <tr>
325
+ <th style="text-align: center">用户签名照片</th>
326
+ </tr>
327
+ </thead>
328
+ <tbody>
329
+ <tr>
330
+ <td style="margin: auto;text-align: center" v-if="paperdata.f_sign_path">
331
+ <div class="container" style="max-width: 500px;background: #FFFFFF" >
332
+ <div class="img" style="float: none">
333
+ <img-self-plus :src="paperdata.f_sign_path" width="200" height="200"></img-self-plus>
334
+ </div>
335
+ </div>
336
+ </td>
337
+ <td style="margin: auto;text-align: center" v-if="f_user_path">
338
+ <div class="container" style="max-width: 550px;background: #FFFFFF" >
339
+ <div class="img" style="float: none">
340
+ <img-self-plus :src="'rs/image/file/'+f_user_path"
341
+ width="200"
342
+ height="200"></img-self-plus>
343
+ </div>
344
+ </div>
345
+ </td>
346
+ </tr>
347
+ </tbody>
348
+ </table>
349
+ <table class="table table-striped table-bordered"
350
+ v-show="paperdata.f_entry_status=='入户' && paperdata.f_defect_notified">
351
+ <thead>
352
+ <tr>
353
+ <th style="text-align: center">安检通知书/隐患整改通知书</th>
354
+ </tr>
355
+ </thead>
356
+ <tbody>
357
+ <tr>
358
+ <td style="margin: auto;text-align: center">
359
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
360
+ <div class="img" style="float: none">
361
+ <img-self-plus :src="paperdata.f_notified_path" width="486" height="300"></img-self-plus>
362
+ </div>
363
+ </div>
364
+ </td>
365
+ </tr>
366
+ </tbody>
367
+ </table>
368
+ <table class="table table-striped table-bordered"
369
+ v-show="paperdata.f_entry_status=='入户'&& paperdata.f_video_path">
370
+ <thead>
371
+ <tr>
372
+ <th style="text-align: center">安检视频</th>
373
+ </tr>
374
+ </thead>
375
+ <tbody>
376
+ <tr>
377
+ <td style="margin: auto;text-align: center">
378
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
379
+ <video width="320" height="200" controls v-if="paperdata.f_video_path">
380
+ <source :src="paperdata.f_video_path" type="video/mp4">
381
+ </video>
382
+ </div>
383
+ </td>
384
+ </tr>
385
+ </tbody>
386
+ </table>
387
+ <table class="table table-striped table-bordered"
388
+ v-show="item.f_recording1_path">
389
+ <thead>
390
+ <tr>
391
+ <th style="text-align: center">录音文件</th>
392
+ </tr>
393
+ </thead>
394
+ <tbody>
395
+ <tr>
396
+ <td style="margin: auto;text-align: center">
397
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
398
+ <a class="button_spacing button_search-1"
399
+ :download="item.f_user_name+'-'+item.f_check_type+'-'+'录音文件.arm'"
400
+ :href="'rs/image/file/'+item.f_recording1_path">录音下载</a>
401
+ </div>
402
+ </td>
403
+ </tr>
404
+ </tbody>
405
+ </table>
406
+ </div>
407
+ </div>
408
+ <div class style="width: 1%;height: 100%;background-color: #F1F8FF;float: left;"></div>
409
+ <div class="col-md-6" style="height: 100%;overflow: scroll">
410
+ <div style="width: 95%;margin-left: 5%">
411
+ <table class="table table-striped table-bordered" v-for="config in deviceconfig2" style="margin-top: 35px">
412
+ <thead v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
413
+ <tr>
414
+ <th style="text-align: center">{{ config.checkname }}</th>
415
+ </tr>
416
+ </thead>
417
+ <tbody v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
418
+ <tr v-for="dev in config.items">
419
+ <td v-if="dev.type!='text' && dev.isshow != false">
420
+ <div class="row">
421
+ <div class="col-md-8" style="text-align: center;">
422
+ <label>
423
+ <button-link type="button" class="btn btn-link" @click="showpicture(config.checkname,dev.lname)"
424
+ :style="isred(config.checkname,dev.lname)?'color:red':'color:black'">
425
+ {{ dev.lname }}
426
+ </button-link>
427
+ </label>
428
+ </div>
429
+ <div class="col-md-4" style="text-align: center">
430
+ <label style="font-weight: normal"
431
+ v-if="dev.type!='picture'">{{
432
+ getDeviceValue(config.checkname, dev.lname) ? getDeviceValue(config.checkname, dev.lname) : '无'
433
+ }}</label>
434
+ <label style="font-weight: normal" v-if="dev.type=='picture'">
435
+ <div v-show="getDevicePath(config.checkname,dev.lname)">
436
+ <button-link style="color: black" type="button" class="btn btn-link"
437
+ @click="showpath(getDevicePath(config.checkname,dev.lname),dev.lname)">查看照片
438
+ </button-link>
439
+ </div>
440
+ <div v-show="!getDevicePath(config.checkname,dev.lname)">无照片</div>
441
+ </label>
442
+ </div>
443
+ </div>
444
+ </td>
445
+ <td v-if="dev.type==='text' && dev.isshow != false">
446
+ <label style="width: 100%;text-align: center">{{ dev.lname }}</label>
447
+ </td>
448
+ </tr>
449
+ </tbody>
450
+ </table>
451
+ <div v-show="showButton">
452
+ <button class="button_spacing button_search" @click="auditSuccesss()">通过</button>
453
+ <button class="button_spacing button_search" @click="auditFail()">不通过</button>
454
+ </div>
455
+ </div>
456
+ </div>
457
+
458
+ </div>
459
+ </div>
460
+ <div v-show="false">
461
+ <div class="container-fluid" id="toPdf" style="overflow: scroll">
462
+ <div class="row">
463
+ <div style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll">
464
+ <div style="width: 100%;margin: auto">
465
+ <table class="table table-striped table-bordered" style="margin-bottom: 6px;margin-top: 35px">
466
+ <thead>
467
+ <tr>
468
+ <th colspan="6" style="text-align: center">用户基本信息</th>
469
+ </tr>
470
+ </thead>
471
+ <tbody>
472
+ <tr>
473
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户编号:</td>
474
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{
475
+ paperdata.f_userinfo_code
476
+ }}
477
+ </td>
478
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">用户名称:</td>
479
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_user_name }}</td>
480
+ </tr>
481
+ <tr>
482
+ <td style="text-align: center;border: #E9E9E9 solid 1px">证件号码:</td>
483
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_idnumber }}</td>
484
+ <td style="text-align: center;border: #E9E9E9 solid 1px">用户类型:</td>
485
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_check_type }}</td>
486
+ </tr>
487
+ <tr>
488
+ <td style="text-align: center;border: #E9E9E9 solid 1px">用户电话:</td>
489
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_user_phone }}</td>
490
+ <td style="text-align: center;border: #E9E9E9 solid 1px">区 / 县:</td>
491
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_slice_area }}</td>
492
+ </tr>
493
+ <tr>
494
+ <td style="text-align: center;border: #E9E9E9 solid 1px">街 道:</td>
495
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_street }}</td>
496
+ <td style="text-align: center;border: #E9E9E9 solid 1px">楼 号:</td>
497
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_building }}</td>
498
+ </tr>
499
+ <tr>
500
+ <td style="text-align: center;border: #E9E9E9 solid 1px">单 元:</td>
501
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_unit }}</td>
502
+ <td style="text-align: center;border: #E9E9E9 solid 1px">楼 层:</td>
503
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_floor }}</td>
504
+ </tr>
505
+ <tr>
506
+ <td style="text-align: center;border: #E9E9E9 solid 1px">门 牌 号 :</td>
507
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_room }}</td>
508
+ <td style="text-align: center;border: #E9E9E9 solid 1px">用户性质:</td>
509
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_userproperties }}</td>
510
+ </tr>
511
+ <tr>
512
+ <td style="text-align: center;border: #E9E9E9 solid 1px">备注信息:</td>
513
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_comments }}</td>
514
+ <td style="text-align: center;border: #E9E9E9 solid 1px">小区名称:</td>
515
+ <td style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_residential_area }}</td>
516
+ </tr>
517
+ <tr>
518
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px">详细住址:</td>
519
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px">{{ paperdata.f_address }}</td>
520
+ </tr>
521
+ </tbody>
522
+ </table>
523
+ <table class="table table-striped table-bordered" style="margin-top: 40px"
524
+ v-show="paperdata.f_entry_status=='入户'">
525
+ <thead>
526
+ <tr>
527
+ <th colspan="4" style="text-align: center">用户安检概况</th>
528
+ </tr>
529
+ </thead>
530
+ <tbody>
531
+ <tr>
532
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
533
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_onsite_time }}</td>
534
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
535
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{
536
+ paperdata.f_offsite_time
537
+ }}
538
+ </td>
539
+ </tr>
540
+ <tr>
541
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
542
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{
543
+ paperdata.f_entry_status
544
+ }}
545
+ </td>
546
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">燃气使用:</td>
547
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_usegas }}</td>
548
+ </tr>
549
+ <tr>
550
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">用户满意度:</td>
551
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">{{
552
+ paperdata.f_client_evaluation
553
+ }}
554
+ </td>
555
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">安检结果:</td>
556
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;"
557
+ :style="{'color':ajresult=='有隐患'?'red':''}">{{ ajresult }}
558
+ </td>
559
+ </tr>
560
+ <tr>
561
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">备注:</td>
562
+ <td colspan="3"
563
+ style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
564
+ {{ paperdata.f_repair_approved_note }}
565
+ </td>
566
+ </tr>
567
+ <tr>
568
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">隐患详情:</td>
569
+ <td colspan="3"
570
+ style="text-align: center;border: #E9E9E9 solid 1px;word-wrap:break-word;word-break:break-all;width:87%">
571
+ <span v-for="deviceCollect in deviceCollects">
572
+ <span class="li-font">
573
+ {{ deviceCollect.name }}:{{ deviceCollect.value }}&nbsp;&nbsp;&nbsp;
574
+ </span>
575
+ <br>
576
+ <span v-if="deviceCollect.value == '有隐患'">
577
+ <lable>
578
+ 隐患:
579
+ </lable>
580
+ <span v-for="val in deviceCollect.devices">
581
+ {{ val }}
582
+ </span><br>
583
+ </span>
584
+
585
+ </span>
586
+ </td>
587
+ </tr>
588
+
589
+ </tbody>
590
+ </table>
591
+ <table class="table table-striped table-bordered" style="margin-top: 40px"
592
+ v-show="paperdata.f_entry_status!='入户'">
593
+ <thead>
594
+ <tr>
595
+ <th colspan="4" style="text-align: center">用户安检概况</th>
596
+ </tr>
597
+ </thead>
598
+ <tbody>
599
+ <tr>
600
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
601
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ paperdata.f_onsite_time }}</td>
602
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
603
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{
604
+ paperdata.f_offsite_time
605
+ }}
606
+ </td>
607
+ </tr>
608
+ <tr>
609
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">入户状态:</td>
610
+ <td colspan="2" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">
611
+ {{ paperdata.f_entry_status }}
612
+ </td>
613
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">
614
+ <button-link style="color: black" type="button" class="btn btn-link" @click="showpicture2()">
615
+ {{ dev.lname }}
616
+ 查看{{ data.f_entry_status }}照片
617
+ </button-link>
618
+ </td>
619
+ </tr>
620
+
621
+ </tbody>
622
+ </table>
623
+ <table class="table table-striped table-bordered" style="margin-top: 40px"
624
+ v-show="item.f_no_checkplan == '复检'">
625
+ <thead>
626
+ <tr>
627
+ <th colspan="4" style="text-align: center">上次安检情况</th>
628
+ </tr>
629
+ </thead>
630
+ <tbody>
631
+ <tr>
632
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">上次安检到达时间:</td>
633
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{
634
+ lastCheckData.f_onsite_time
635
+ }}
636
+ </td>
637
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">上次安检离开时间:</td>
638
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{
639
+ lastCheckData.f_offsite_time
640
+ }}
641
+ </td>
642
+ </tr>
643
+ <tr>
644
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">上次安检员:</td>
645
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">
646
+ {{ lastCheckData.f_checker_name }}
647
+ </td>
648
+ </tr>
649
+ <tr>
650
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">安检结果:</td>
651
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">
652
+ {{ lastCheckData.f_defect_text }}
653
+ </td>
654
+ </tr>
655
+
656
+ </tbody>
657
+ </table>
658
+ <table class="table table-striped table-bordered" style="margin-top: 35px"
659
+ v-show="showPdfImg && paperdata.f_entry_status=='入户' && ajresult=='有隐患'">
660
+ <thead>
661
+ <tr>
662
+ <th style="text-align: center">隐患照片</th>
663
+ </tr>
664
+ </thead>
665
+ <tbody>
666
+ <tr>
667
+ <td style="margin: auto;text-align: center">
668
+ <div class="container" style="max-width: 550px;background: #FFFFFF">
669
+ <div class="img" v-for="img in deviceImgs">
670
+ <img-self-plus :list="deviceCollect.imgs " :src="img.f_overall_path" style="float: left"
671
+ width="150"
672
+ height="200"></img-self-plus>
673
+ </div>
674
+ </div>
675
+
676
+
677
+ </td>
678
+
679
+ </tr>
680
+ </tbody>
681
+ </table>
682
+ <table class="table table-striped table-bordered" style="margin-top: 35px"
683
+ v-show="paperdata.f_entry_status=='入户'">
684
+ <thead>
685
+ <tr>
686
+ <th style="text-align: center">总体安检照片</th>
687
+ </tr>
688
+ </thead>
689
+ <tbody>
690
+ <tr>
691
+ <td style="margin: auto;text-align: center">
692
+ <div class="container" style="max-width: 550px;background: #FFFFFF">
693
+ <div class="img" v-for="img in paperdata.f_overall_imgs">
694
+ <img-self-plus :list="paperdata.f_overall_imgs " :src="img.f_overall_path" style="float: left"
695
+ width="150"
696
+ height="200"></img-self-plus>
697
+ </div>
698
+ </div>
699
+
700
+
701
+ </td>
702
+
703
+ </tr>
704
+ </tbody>
705
+ </table>
706
+ <table class="table table-striped table-bordered" style="width: 100%"
707
+ v-show="paperdata.f_entry_status=='入户'">
708
+ <thead>
709
+ <tr>
710
+ <th style="text-align: center">用户签名照片</th>
711
+ </tr>
712
+ </thead>
713
+ <tbody>
714
+ <tr>
715
+ <td style="margin: auto;text-align: center">
716
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
717
+ <div class="img" style="float: none">
718
+ <img-self-plus :src="paperdata.f_sign_path" width="200" height="200"></img-self-plus>
719
+ </div>
720
+ </div>
721
+ </td>
722
+ <td style="margin: auto;text-align: center">
723
+ <div class="container" style="max-width: 550px;background: #FFFFFF" v-if="f_user_path">
724
+ <div class="img" style="float: none">
725
+ <img-self-plus :src="'rs/image/file/'+f_user_path"
726
+ width="200"
727
+ height="200"></img-self-plus>
728
+ </div>
729
+ </div>
730
+ </td>
731
+ </tr>
732
+ </tbody>
733
+ </table>
734
+ <table class="table table-striped table-bordered"
735
+ v-show="paperdata.f_entry_status=='入户' && paperdata.f_defect_notified">
736
+ <thead>
737
+ <tr>
738
+ <th style="text-align: center">安检通知书/隐患整改通知书</th>
739
+ </tr>
740
+ </thead>
741
+ <tbody>
742
+ <tr>
743
+ <td style="margin: auto;text-align: center">
744
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
745
+ <div class="img" style="float: none">
746
+ <img-self-plus :src="paperdata.f_notified_path" width="486" height="300"></img-self-plus>
747
+ </div>
748
+ </div>
749
+ </td>
750
+ </tr>
751
+ </tbody>
752
+ </table>
753
+ <table class="table table-striped table-bordered"
754
+ v-show="paperdata.f_entry_status=='入户'&& paperdata.f_video_path">
755
+ <thead>
756
+ <tr>
757
+ <th style="text-align: center">安检视频</th>
758
+ </tr>
759
+ </thead>
760
+ <tbody>
761
+ <tr>
762
+ <td style="margin: auto;text-align: center">
763
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
764
+ <video width="320" height="200" controls v-if="paperdata.f_video_path">
765
+ <source :src="paperdata.f_video_path" type="video/mp4">
766
+ </video>
767
+ </div>
768
+ </td>
769
+ </tr>
770
+ </tbody>
771
+ </table>
772
+ <table class="table table-striped table-bordered"
773
+ v-show="item.f_recording1_path">
774
+ <thead>
775
+ <tr>
776
+ <th style="text-align: center">录音文件</th>
777
+ </tr>
778
+ </thead>
779
+ <tbody>
780
+ <tr>
781
+ <td style="margin: auto;text-align: center">
782
+ <div class="container" style="max-width: 500px;background: #FFFFFF">
783
+ <a class="button_spacing button_search-1"
784
+ :download="item.f_user_name+'-'+item.f_check_type+'-'+'录音文件.arm'"
785
+ :href="'rs/image/file/'+item.f_recording1_path">录音下载</a>
786
+ </div>
787
+ </td>
788
+ </tr>
789
+ </tbody>
790
+ </table>
791
+ </div>
792
+ </div>
793
+ <div style="margin-right: 2%;margin-left: 2%;height: 100%;overflow: scroll">
794
+ <div style="width: 95%;margin-left: 5%">
795
+ <table class="table table-striped table-bordered" v-for="config in deviceconfig2"
796
+ style="margin-top: 35px">
797
+ <thead v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
798
+ <tr>
799
+ <th style="text-align: center">{{ config.checkname }}</th>
800
+ </tr>
801
+ </thead>
802
+ <tbody v-show="!(config.checkname!='燃气表'&&paperdata.f_entry_status!='入户')">
803
+ <tr v-for="dev in config.items">
804
+ <td v-if="dev.type!='text' && dev.isshow != false">
805
+ <div class="row">
806
+ <div class="col-md-8" style="text-align: center;">
807
+ <label>
808
+ <button-link type="button" class="btn btn-link"
809
+ @click="showpicture(config.checkname,dev.lname)"
810
+ :style="isred(config.checkname,dev.lname)?'color:red':'color:black'">
811
+ {{ dev.lname }}
812
+ </button-link>
813
+ </label>
814
+ </div>
815
+ <div class="col-md-4" style="text-align: center">
816
+ <label style="font-weight: normal"
817
+ v-if="dev.type!='picture'">{{
818
+ getDeviceValue(config.checkname, dev.lname) ? getDeviceValue(config.checkname, dev.lname) : '无'
819
+ }}</label>
820
+ <label style="font-weight: normal" v-if="dev.type=='picture'">
821
+ <div v-show="getDevicePath(config.checkname,dev.lname)">
822
+ <button-link style="color: black" type="button" class="btn btn-link"
823
+ @click="showpath(getDevicePath(config.checkname,dev.lname),dev.lname)">查看照片
824
+ </button-link>
825
+ </div>
826
+ <div v-show="!getDevicePath(config.checkname,dev.lname)">无照片</div>
827
+ </label>
828
+ </div>
829
+ </div>
830
+ </td>
831
+ <td v-if="dev.type==='text' && dev.isshow != false">
832
+ <label style="width: 100%;text-align: center">{{ dev.lname }}</label>
833
+ </td>
834
+ </tr>
835
+ </tbody>
836
+ </table>
837
+ </div>
838
+ </div>
839
+
840
+ </div>
841
+ </div>
842
+ </div>
843
+ </div>
844
+ <modal :show.sync="imgshow" v-ref:modal backdrop="true">
845
+ <header slot="modal-header" class="modal-header">
846
+ {{ picturename }}
847
+ </header>
848
+ <article slot="modal-body" class="modal-body">
849
+ <div class="from-group">
850
+ <div class="row">
851
+ <div class="col-md-6">
852
+ <img-self-plus v-if="showimg1" :src="showimg1" width="240" height="300"></img-self-plus>
853
+ </div>
854
+ <div class="col-md-6">
855
+ <img-self-plus v-if="showimg2" :src="showimg2" width="240" height="300"></img-self-plus>
856
+ </div>
857
+ <div class="col-md-6" v-for="item in otherDarginShowImgs">
858
+ <img-self-plus v-if="item.path" :src="item.path" width="240" height="300"></img-self-plus>
859
+ </div>
860
+ </div>
861
+ </div>
862
+ </article>
863
+ <footer slot="modal-footer" class="modal-footer" v-show="false">
864
+ <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
865
+ </footer>
866
+ </modal>
867
+ <modal :show.sync="imgshow2" v-ref:modal backdrop="true">
868
+ <header slot="modal-header" class="modal-header">
869
+ {{ paperdata.f_entry_status }}照片
870
+ </header>
871
+ <article slot="modal-body" class="modal-body">
872
+ <div class="from-group">
873
+ <div class="row">
874
+ <div class="col-md-6">
875
+ <img-self-plus v-if="this.paperdata.f_entry_status=='到访不遇'&& this.paperdata.f_noanswer_path" :src="showimg3"
876
+ width="282"
877
+ height="400"></img-self-plus>
878
+ </div>
879
+ <div class="col-md-6">
880
+ <img-self-plus v-if="this.paperdata.f_entry_status=='到访不遇'&& this.paperdata.f_noanswer1_path"
881
+ :src="showimg5" width="282"
882
+ height="400"></img-self-plus>
883
+ </div>
884
+ <div class="col-md-6">
885
+ <img-self-plus v-if="this.paperdata.f_entry_status=='到访不遇'&& this.paperdata.f_noanswer2_path"
886
+ :src="showimg6" width="282"
887
+ height="400"></img-self-plus>
888
+ </div>
889
+ <div class="col-md-6">
890
+ <img-self-plus v-if="this.paperdata.f_entry_status=='拒检' && this.paperdata.f_rejectcheck_path"
891
+ :src="showimg4" width="282"
892
+ height="400"></img-self-plus>
893
+ </div>
894
+ <div class="col-md-6">
895
+ <img-self-plus v-if="this.paperdata.f_entry_status=='拒检' && this.paperdata.f_rejectcheck1_path"
896
+ :src="showimg7" width="282"
897
+ height="400"></img-self-plus>
898
+ </div>
899
+ <div class="col-md-6">
900
+ <img-self-plus v-if="this.paperdata.f_entry_status=='拒检' && this.paperdata.f_rejectcheck2_path"
901
+ :src="showimg8" width="282"
902
+ height="400"></img-self-plus>
903
+ </div>
904
+ </div>
905
+ </div>
906
+ </article>
907
+ <footer slot="modal-footer" class="modal-footer" v-show="false">
908
+ <button type="button" class="btn btn-success" @click='imgclose'>关闭</button>
909
+ </footer>
910
+ </modal>
911
+ <modal :show.sync="showModel" :width="'50%'" :backdrop="false">
912
+ <div slot="modal-header" class="modal-header">
913
+ <h4 class="modal-title">
914
+ 安检审核备注
915
+ </h4>
916
+ </div>
917
+ <div slot="modal-body" class="modal-body">
918
+ <div class="row">
919
+ <div class="form-group col-sm-4">
920
+ <label class="font_normal_body">审核备注:</label>
921
+ <textarea v-model="message"></textarea>
922
+ </div>
923
+ </div>
924
+ </div>
925
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
926
+ <button class="button_search" style="margin-right: 15px" @click="auditFailOK()">确定</button>
927
+ <button class="button_search" style="margin-right: 15px" @click="auditFailCancel()">取消</button>
928
+ </div>
929
+ </modal>
930
+ </template>
931
+
932
+ <script>
933
+ // import PaperUserm from './PaperUserm'
934
+ // import PaperStatem from './PaperStatem'
935
+ // import Devicesm from './Devicesm'
936
+ // import PaperFeedbackm from './PaperFeedbackm'
937
+ import html2pdf from 'html2pdf.js'
938
+ import ObjConfig from '../../utils/GerJsonObjectConfig'
939
+ import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
940
+ import Radio from 'vue-client/src/vue-strap/src/radioBtn'
941
+ import Vue from 'vue'
942
+ import * as Util from '../Util'
943
+ import {jsonSort} from '../../utils/LdapHelper'
944
+ import {HttpResetClass} from "vue-client";
945
+ import {forEach} from "mocha/lib/utils";
946
+
947
+ let asyncReady = async function (self) {
948
+ // 获取配置信息
949
+ try {
950
+ let res = await new HttpResetClass().load('post', 'rs/sql/safe_singleTable_OrderBy', {
951
+ data: {
952
+ items: 'f_dir',
953
+ tablename: 't_organization',
954
+ condition: `id = '${self.item.f_filialeid}'`,
955
+ orderitem: 'id'
956
+ }
957
+ })/*.then(res=>{*/
958
+ //tag
959
+ //tag)
960
+ console.log(res)
961
+ if (!res.data[0].f_dir) {
962
+ self.$showMessage("该公司无组织目录,无法获取配置文件,请联系管理员确认")
963
+ } else {
964
+ //this.f_dir=res.data[0].f_dir
965
+ let url = self.newConfig == '是' ? '/safecheck/rs/safe_vue' : '/safecheck/rs/vue'
966
+ try {
967
+ let res1 = await new HttpResetClass().load('GET', `${url}/DevicesConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
968
+ resolveMsg: '获取居民配置项成功!',
969
+ rejectMsg: '获取居民配置项出错!'
970
+ })/*.then(res=>{*/
971
+ //tag
972
+ //this.safeConfig["民用配置项"]=Object.assign({},res.data)
973
+ if (!Vue.config.safecheck) {
974
+ Vue.config = {safecheck: {}}
975
+ }
976
+ Vue.config.safecheck.DevicesConfig = res1.data
977
+ console.log(Vue.config.safecheck.DevicesConfig)
978
+ /*})*/
979
+ let res2 = await new HttpResetClass().load('GET', `${url}/DevicesSetConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {}, {
980
+ resolveMsg: '获取非居民配置项成功!',
981
+ rejectMsg: '获取非居民配置项出错!'
982
+ })/*.then(res=>{*/
983
+ //tag
984
+ //this.safeConfig["非民用配置项"]=Object.assign({},res.data)
985
+ Vue.config.safecheck.DevicesSetConfig = res2.data
986
+ /*}).then(res=> {
987
+ })*/
988
+
989
+ } catch (e) {
990
+ self.$showMessage("获取配置文件失败" + e)
991
+ self.loading = false
992
+ }
993
+ }
994
+ if (self.data.f_recheck_id) {
995
+ let res3 = await new HttpResetClass().load('post', 'rs/sql/safe_singleTable_OrderBy', {
996
+ data: {
997
+ items: '*',
998
+ tablename: 't_check_paper',
999
+ condition: `id = '${self.data.f_recheck_id}'`,
1000
+ orderitem: 'id'
1001
+ }
1002
+ })
1003
+ self.lastCheckData = res3.data[0]
1004
+ }
1005
+ } catch (error) {
1006
+ // 忽略704,文件找不到异常R
1007
+ if (error.status !== 704) {
1008
+ throw error
1009
+ }
1010
+ this.loading = false
1011
+ }
1012
+ }
1013
+ export default {
1014
+ title: '安检单',
1015
+ props: ['f_plan_id', 'item', 'role'],
1016
+ data() {
1017
+ return {
1018
+ f_user_path:'',
1019
+ message: '',
1020
+ showButton: false,
1021
+ showModel: false,
1022
+ data: {
1023
+ f_devices: [],
1024
+ f_defect_content: ''
1025
+ },
1026
+ showPdfDownload: this.$appdata.getSingleValue('安检结果pdf下载') ? this.$appdata.getSingleValue('安检结果pdf下载') : false,
1027
+ showPdfImg: this.$appdata.getSingleValue('安检结果pdf展示隐患照片') ? this.$appdata.getSingleValue('安检结果pdf展示隐患照片') : false,
1028
+ lastCheckData: {},
1029
+ paperdata: {},
1030
+ picturename: '隐患照片',
1031
+ defectDevice: {},
1032
+ hasDevice: false,
1033
+ deviceCollect: {},
1034
+ deviceCollects: [],
1035
+ deviceImgs:[],
1036
+ isshow: false,
1037
+ ajresult: '',
1038
+ loading: true,
1039
+ imgshow: false,
1040
+ imgshow2: false,
1041
+ isUpload: false,
1042
+ livedispose: '',
1043
+ showimg1: '',
1044
+ showimg2: '',
1045
+ showimg3: '',
1046
+ showimg4: '',
1047
+ showimg5: '',
1048
+ showimg6: '',
1049
+ showimg7: '',
1050
+ showimg8: '',
1051
+ hiddenDangerImgNumber: 0, //配置项中隐患照片数
1052
+ otherDarginShowImgs: [],//其他隐患图片
1053
+ startClick: false, //开始安检按钮是否可点击
1054
+ isStrat: false, //是否开始安检
1055
+ checkResult: {},//查询结果
1056
+ newcheckResult: {},
1057
+ timer: null,
1058
+ showModal: false,
1059
+ pic_to_be_viewed: '',
1060
+ showBack: true,
1061
+ devices: [],
1062
+ devicesAll: [],
1063
+ configAJ: [],
1064
+ configRQ: [],
1065
+ deviceconfig: {},
1066
+ newConfig: '',
1067
+ deviceconfig2: [],
1068
+ f_devices: [],
1069
+ config: {
1070
+ "燃气表": {
1071
+ "checkmust": true,
1072
+ "index": 1,
1073
+ "items": {
1074
+ "基表编号": {"index": 1, "type": "string", "readonly": true},
1075
+ "气表型号": {"index": 2, "type": "string", "readonly": true},
1076
+ "气表品牌": {"index": 3, "type": "string", "readonly": true},
1077
+ "进气方向": {"index": 4, "type": "string", "readonly": true},
1078
+ "初始表底": {"index": 5, "type": "number", "isshow": false, "readonly": true},
1079
+ "上期表读数": {"index": 6, "type": "number", "readonly": true, isshow: false},
1080
+ "累购气量": {"index": 7, "type": "number", "readonly": true},
1081
+ "已用气量": {"index": 8, "type": "number", "checkmust": false},//基表数
1082
+ "剩余气量": {"index": 9, "type": "number", "checkmust": false},//累购-已用
1083
+ //显示屏数 --实际剩余气量
1084
+ "气量异常差值": {"index": 10, "type": "number", "readonly": true},
1085
+ "表箱号": {"index": 11, "type": "string", "readonly": true},
1086
+ "燃气表照片": {"index": 12, "type": "picture", "checkmust": false},
1087
+ }
1088
+ // 注意,配置项的index必须与上面的固定配置保持'顺序'
1089
+ }
1090
+ },
1091
+ //金额
1092
+ config2: {
1093
+ "燃气表": {
1094
+ "checkmust": true,
1095
+ "index": 1,
1096
+ "items": {
1097
+ "基表编号": {"index": 1, "type": "string", "readonly": true},
1098
+ "气表型号": {"index": 2, "type": "string", "readonly": true},
1099
+ "气表品牌": {"index": 3, "type": "string", "readonly": true},
1100
+ "进气方向": {"index": 4, "type": "string", "readonly": true},
1101
+ "初始表底": {"index": 5, "type": "number", "isshow": false, "readonly": true},
1102
+ "上期表读数": {"index": 6, "type": "number", "readonly": true, isshow: false},
1103
+ "累购金额": {"index": 7, "type": "number", "readonly": true},
1104
+ "已用金额": {"index": 8, "type": "number", "checkmust": false},
1105
+ //显示屏数 --实际剩余气量
1106
+ "剩余金额": {"index": 9, "type": "number", "checkmust": false},
1107
+ "金额异常差值": {"index": 10, "type": "number", "readonly": true},
1108
+ "表箱号": {"index": 11, "type": "string", "readonly": true},
1109
+ "燃气表照片": {"index": 12, "type": "picture", "checkmust": false},
1110
+ }
1111
+ }
1112
+ },
1113
+ }
1114
+ },
1115
+ components: {
1116
+ RadioGroup,
1117
+ Radio,
1118
+ },
1119
+ computed: {
1120
+ isRecodrDownloadBtn() {
1121
+ // 投诉单下派还是处理
1122
+ let res = this.$appdata.getSingleValue('无限制录音');
1123
+ if (res == 'true') {
1124
+ return true;
1125
+ } else {
1126
+ return false;
1127
+ }
1128
+ },
1129
+ selector: {
1130
+ get() {
1131
+ return 'paper-state'
1132
+ },
1133
+ set(val) {
1134
+ if (this.isStrat) {
1135
+ this.$goto(val, {userinfo: this.data}, 'paper-router')
1136
+ } else {
1137
+ this.$showMessage('未开始安检!')
1138
+ }
1139
+ }
1140
+ },
1141
+ actionEnabled: {
1142
+ get() {
1143
+ return this.role == 'inspect'
1144
+ }
1145
+ }
1146
+ },
1147
+ methods: {
1148
+ exportToPDF() {
1149
+ const element = document.getElementById('toPdf') // 替换为您要导出的页面元素的ID
1150
+ html2pdf(element)
1151
+ },
1152
+
1153
+ showAudit() {
1154
+ var audit = this.$appdata.getSingleValue('安检审核');
1155
+ if (audit == '是' && (this.item.f_approved == '未审核' || !this.item.f_approved)) {
1156
+ this.showButton = true
1157
+ }
1158
+ },
1159
+ //安检审核成功
1160
+ auditSuccesss() {
1161
+ this.loading = true;
1162
+ var reqdata = {
1163
+ audit_result: '通过',
1164
+ operator: "success",
1165
+ audit_time: Util.getNowDate(),
1166
+ user_name: this.$login.f.name,
1167
+ id: this.item.id,
1168
+ f_check_item_id: this.item.f_check_item_id
1169
+ }
1170
+ new HttpResetClass().load('POST', '/rs/logic/updateAafeAudit', {data: reqdata}, {
1171
+ resolveMsg: '安检审核成功!',
1172
+ rejectMsg: '安检审核出错!'
1173
+ }).then((res) => {
1174
+ if (res.data.code == 200) {
1175
+ this.loading = false;
1176
+ this.$back()
1177
+ }
1178
+ })
1179
+ },
1180
+ auditFail() {
1181
+ this.showModel = true;
1182
+ },
1183
+ auditFailOK() {
1184
+
1185
+ this.loading = true;
1186
+ var reqdata = {
1187
+ message: this.message,
1188
+ audit_result: '不通过',
1189
+ operator: "fail",
1190
+ audit_time: Util.getNowDate(),
1191
+ user_name: this.$login.f.name,
1192
+ id: this.item.id,
1193
+ f_check_item_id: this.item.f_check_item_id
1194
+ }
1195
+ new HttpResetClass().load('POST', '/rs/logic/updateAafeAudit', {data: reqdata}, {
1196
+ resolveMsg: '安检审核成功!',
1197
+ rejectMsg: '安检审核出错!'
1198
+ }).then((res) => {
1199
+ if (res.data.code == 200) {
1200
+ this.loading = false;
1201
+ this.message = '';
1202
+ this.showModel = false;
1203
+ this.$back()
1204
+ }
1205
+ })
1206
+ },
1207
+ auditFailCancel() {
1208
+ this.showModel = false;
1209
+ this.message = '';
1210
+ },
1211
+
1212
+ devicesCollect() {
1213
+ //tag
1214
+ //tag)
1215
+ //tag)
1216
+ //tag
1217
+ this.deviceCollects = []
1218
+ this.deviceImgs = []
1219
+ let checkResult = '正常'
1220
+ this.result = '正常'
1221
+ let codata = JSON.parse(JSON.stringify(this.data))
1222
+ //tag)
1223
+ for (let device in this.data) {
1224
+ let f_device_type
1225
+ if (device.startsWith("device")) {
1226
+ for (let item in this.data[device]) {
1227
+ if (this.data[device].length > 1) {
1228
+ let j = Number.parseInt(item) + 1
1229
+ f_device_type = `${this.data[device][item].f_device_type}${j}`
1230
+ } else {
1231
+ f_device_type = this.data[device][item].f_device_type
1232
+ }
1233
+ // //tag
1234
+ let deviceelse = []
1235
+ let deviceInfos = []
1236
+
1237
+ for (let i in this.data[device][item].f_items) {
1238
+ let defects = ''
1239
+
1240
+ let items = this.data[device][item].f_items[i]
1241
+
1242
+
1243
+ if ((items.type === 'selector' || items.type === 'radio' || items.type === 'checkbox' || items.type === 'picture') && items.f_item_value != null && items.f_item_value instanceof Array) {
1244
+ for (let i in items.f_item_value) {
1245
+ let f_item_value = items.f_item_value[i]
1246
+
1247
+ //tag)
1248
+ //tag)
1249
+ //tag)
1250
+ //tag)
1251
+
1252
+ if (!this.config[this.data[device][item].f_device_type].items[items.f_item_name] && (items.isdefect && (items.isdefect == 'true' || items.isdefect == true))) {
1253
+ continue
1254
+ }
1255
+ /*if(items.f_is_defect != true && items.f_is_defect != 'true'){
1256
+ continue
1257
+ }*/
1258
+ if (items.f_is_defect == 'true' || items.f_is_defect == true) {
1259
+ checkResult = '有隐患'
1260
+ this.result = '有隐患'
1261
+ defects = `${defects}:${items.f_item_value}/`
1262
+ }
1263
+ /*let options = this.config[this.data[device][item].f_device_type].items[items.f_item_name].options
1264
+ for (let option in options) {
1265
+ if (options[option].data == f_item_value) {
1266
+ if (options[option].isdefect == 'true' || options[option].isdefect == true) {
1267
+ checkResult = '有隐患'
1268
+ this.result = '有隐患'
1269
+ defects = `${defects}:${options[option].data}/`
1270
+ // let level = options[option].level
1271
+ }
1272
+ }
1273
+ }*/
1274
+ //tag)
1275
+ }
1276
+ if (defects != '') {
1277
+ console.log('有隐患items', items)
1278
+ deviceInfos.push(`${items.f_item_name}${defects.substring(0, defects.length - 1)}${items.f_else ? items.f_else : ''}`)
1279
+ this.deviceImgs.push({f_overall_path:items.f_path})
1280
+ }
1281
+ } else if ((items.type === 'string' || items.type === 'number') && items.f_is_defect && items.f_item_value[0]) {
1282
+ checkResult = '有隐患'
1283
+ this.result = '有隐患'
1284
+ deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
1285
+ this.deviceImgs.push({f_overall_path:items.f_path})
1286
+
1287
+ } else if (items.f_item_name == '金额异常差值') {
1288
+ var deviation = this.$appdata.getSingleValue('金额异常差值允许误差')
1289
+ //tag
1290
+ if (parseFloat(items.f_item_value[0]).toString() != "NaN" && parseFloat(deviation).toString() != "NaN") {
1291
+ if (parseFloat(items.f_item_value[0]) > parseFloat(deviation) || parseFloat(items.f_item_value[0]) < parseFloat(deviation) * -1) {
1292
+ checkResult = '有隐患'
1293
+ this.result = '有隐患'
1294
+ deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
1295
+ }
1296
+ }
1297
+ } else if (items.f_item_name == '气量异常差值') {
1298
+ var deviation = this.$appdata.getSingleValue('气量异常差值允许误差')
1299
+ //tag
1300
+ if (parseFloat(items.f_item_value[0]).toString() != "NaN" && parseFloat(deviation).toString() != "NaN") {
1301
+ if (parseFloat(items.f_item_value[0]) > parseFloat(deviation) || parseFloat(items.f_item_value[0]) < parseFloat(deviation) * -1) {
1302
+ checkResult = '有隐患'
1303
+ this.result = '有隐患'
1304
+ deviceInfos.push(`${items.f_item_name}:${items.f_item_value[0]}`)
1305
+ }
1306
+ }
1307
+ }
1308
+ if (!this.config[this.data[device][item].f_device_type].items[items.f_item_name]) {
1309
+ // console.log('this.config[this.data[device][item].f_device_type]', this.config[this.data[device][item].f_device_type])
1310
+ // console.log('this.deviceconfig2', this.deviceconfig2)
1311
+ for (let dev in this.deviceconfig2) {
1312
+ if (this.deviceconfig2[dev].checkname == this.data[device][item].f_device_type) {
1313
+ this.deviceconfig2[dev].items.push({
1314
+ lname: items.f_item_name
1315
+ })
1316
+ }
1317
+ }
1318
+ }
1319
+ //tag)
1320
+ //tag
1321
+ //tag
1322
+ if (items.type === 'selector') {
1323
+ items.selected = []
1324
+ } else if (items.type === 'inputSelector') {
1325
+ items.selected = ''
1326
+ }
1327
+ }
1328
+
1329
+
1330
+ //tag
1331
+ this.$set('deviceCollect.name', f_device_type)
1332
+ this.$set('deviceCollect.value', checkResult)
1333
+ this.$set('deviceCollect.devices', deviceInfos)
1334
+ this.$set('deviceCollect.else', deviceelse)
1335
+ console.log('deviceCollect.devices', this.deviceCollect.devices)
1336
+ console.log('deviceCollect.else', this.deviceCollect.else)
1337
+ console.log('deviceCollect.imgs', this.deviceCollect.imgs)
1338
+ //tag)
1339
+ if (this.deviceCollect.name) {
1340
+ //tag
1341
+ this.deviceCollects.push(JSON.parse(JSON.stringify(this.deviceCollect)))
1342
+ }
1343
+
1344
+ checkResult = '正常'
1345
+ this.deviceCollect = {}
1346
+ }
1347
+ }
1348
+ }
1349
+ if (this.deviceCollects.length > 0) {
1350
+ this.hasDevice = true
1351
+ }
1352
+ this.deviceconfig2 = this.deviceconfig2.filter(row => {
1353
+ return !(row.checkname == '$configProp' || row.checkname == '$globalProp');
1354
+ })
1355
+ this.ajresult = JSON.parse(this.data.f_defect_content).result
1356
+ this.showimg3 = this.data.f_noanswer_path
1357
+ this.showimg5 = this.data.f_noanswer1_path
1358
+ this.showimg6 = this.data.f_noanswer2_path
1359
+ this.showimg4 = this.data.f_rejectcheck_path
1360
+ this.showimg7 = this.data.f_rejectcheck1_path
1361
+ this.showimg8 = this.data.f_rejectcheck2_path
1362
+ this.paperdata = this.data
1363
+ this.f_user_path = this.paperdata.f_user_pictures ? JSON.parse(this.paperdata.f_user_pictures)[0].f_user_path : ''
1364
+ this.loading = false
1365
+ },
1366
+ imgclose() {
1367
+ this.imgshow = false
1368
+ },
1369
+ putDevices() {
1370
+ ////tag
1371
+ this.$set('data.approve', "true")
1372
+ this.$set('data.writeback', "false")
1373
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
1374
+ if (Vue.config.safecheck.ApproveConfig.approve != undefined) {
1375
+ this.$set('data.approve', Vue.config.safecheck.ApproveConfig.approve)
1376
+ }
1377
+ if (Vue.config.safecheck.ApproveConfig.writeback != undefined) {
1378
+ this.$set('data.writeback', Vue.config.safecheck.ApproveConfig.writeback)
1379
+ }
1380
+ if (Vue.config.safecheck.ApproveConfig.livedispose != undefined) {
1381
+ this.livedispose = Vue.config.safecheck.ApproveConfig.livedispose
1382
+ }
1383
+ if (Vue.config.safecheck.ApproveConfig.hiddendanger != undefined) {
1384
+ if (parseInt(Vue.config.safecheck.ApproveConfig.hiddendanger) >= 5) {
1385
+ this.hiddenDangerImgNumber = 5
1386
+ } else {
1387
+ this.hiddenDangerImgNumber = parseInt(Vue.config.safecheck.ApproveConfig.hiddendanger)
1388
+ }
1389
+ }
1390
+ }
1391
+ //tag
1392
+ //tag)
1393
+ if (!this.item.f_safecheck_type && Vue.config.safecheck.SafecheckType) {
1394
+ this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType['年度普检'][this.item.f_check_type]])
1395
+ } else if (Vue.config.safecheck.SafecheckType){
1396
+ this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_check_type]])
1397
+ }else {
1398
+ if(this.item.f_check_type == '民用'){
1399
+ this.config = this.extend(this.config, Vue.config.safecheck.DevicesConfig)
1400
+ }else {
1401
+ this.config = this.extend(this.config, Vue.config.safecheck.DevicesSetConfig)
1402
+ }
1403
+ }
1404
+ //遍历安检项配置
1405
+ for (let i in this.config) {
1406
+ //取得安检项索引值
1407
+ let n = this.config[i].index
1408
+ this.devices[n - 1] = {device: i, n: n, checkmust: this.config[i].checkmust}
1409
+ this.$set('data.' + 'device' + n, [])
1410
+ let items = []
1411
+ for (let it in this.config[i].items) {
1412
+ //赋值下拉选项
1413
+ if (this.config[i].items[it].type == 'selector') {
1414
+ for (let op in this.config[i].items[it].options)
1415
+ if (this.config[i].items[it].options[op].isdefault == true) {
1416
+ items.push({
1417
+ f_defect_level: this.config[i].items[it].options[op].level,
1418
+ f_is_defect: this.config[i].items[it].options[op].isdefect,
1419
+ f_item_name: it,
1420
+ f_item_value: this.config[i].items[it].options[op].data,
1421
+ f_path: "",
1422
+ type: "selector"
1423
+ })
1424
+ }
1425
+ }
1426
+ }
1427
+ n = n + 1
1428
+ }
1429
+
1430
+ },
1431
+ showpath(val1, val2) {
1432
+ //tag
1433
+ //tag
1434
+ if (val1) {
1435
+ this.showimg1 = val1
1436
+ this.picturename = val2
1437
+ this.imgshow = true
1438
+ }
1439
+ },
1440
+ showpicture(val1, val2) {
1441
+ //tag
1442
+ if (val2 == '气量异常差值' || val2 == '金额异常差值') {
1443
+ return
1444
+ }
1445
+ for (let i = 0; i < this.devicesAll.length; i++) {
1446
+ for (let j = 0; j < this.devicesAll[i].length; j++) {
1447
+ if (this.devicesAll[i][j].f_device_type == val1) {
1448
+ for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
1449
+ if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
1450
+ if (!this.devicesAll[i][j].f_items[k].f_is_defect) {
1451
+ return false
1452
+ } else {
1453
+ this.showimg1 = this.devicesAll[i][j].f_items[k].f_path
1454
+ this.showimg2 = this.devicesAll[i][j].f_items[k].f_second_path
1455
+ this.otherDarginShowImgs = []
1456
+ for (let l = 0; l < this.hiddenDangerImgNumber; l++) {
1457
+ let img = {path: ''}
1458
+ if (this.devicesAll[i][j].f_items[k]['f_p' + (l + 1) + '_path']) {
1459
+ img.path = this.devicesAll[i][j].f_items[k]['f_p' + (l + 1) + '_path'] + '?' + Math.random()
1460
+ this.otherDarginShowImgs.push(img)
1461
+ }
1462
+ }
1463
+ this.picturename = '隐患照片'
1464
+ this.imgshow = true
1465
+ return true
1466
+ }
1467
+ }
1468
+ }
1469
+
1470
+ }
1471
+ }
1472
+ }
1473
+ },
1474
+ isred(val1, val2) {
1475
+ //tag
1476
+ if (val2 == '气量异常差值' || val2 == '金额异常差值') {
1477
+ return
1478
+ }
1479
+ for (let i = 0; i < this.devicesAll.length; i++) {
1480
+ for (let j = 0; j < this.devicesAll[i].length; j++) {
1481
+ if (this.devicesAll[i][j].f_device_type == val1) {
1482
+ for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
1483
+ if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
1484
+ if (!this.devicesAll[i][j].f_items[k].f_is_defect) {
1485
+ return false
1486
+ } else {
1487
+ return true
1488
+ }
1489
+ }
1490
+ }
1491
+
1492
+ }
1493
+ }
1494
+ }
1495
+ },
1496
+ showpicture2() {
1497
+ this.imgshow2 = true
1498
+ },
1499
+ getDeviceValue(val1, val2) {
1500
+ let aa = ''
1501
+ for (let i = 0; i < this.devicesAll.length; i++) {
1502
+ for (let j = 0; j < this.devicesAll[i].length; j++) {
1503
+ if (this.devicesAll[i][j].f_device_type == val1) {
1504
+ for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
1505
+ if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
1506
+ if (this.devicesAll[i][j].f_items[k].f_item_lists[0]) {
1507
+ for (let l = 0; l < this.devicesAll[i][j].f_items[k].f_item_lists.length; l++) {
1508
+ let val = this.devicesAll[i][j].f_items[k].f_item_lists[l].f_item_value
1509
+ aa += (val === null ? '空' : val) + ' '
1510
+ }
1511
+ return aa
1512
+ }
1513
+ }
1514
+ }
1515
+
1516
+ }
1517
+ }
1518
+ }
1519
+
1520
+ },
1521
+ getDevicePath(val1, val2) {
1522
+ for (let i = 0; i < this.devicesAll.length; i++) {
1523
+ for (let j = 0; j < this.devicesAll[i].length; j++) {
1524
+ if (this.devicesAll[i][j].f_device_type == val1) {
1525
+ for (let k = 0; k < this.devicesAll[i][j].f_items.length; k++) {
1526
+ if (this.devicesAll[i][j].f_items[k].f_item_name == val2) {
1527
+ return this.devicesAll[i][j].f_items[k].f_path
1528
+ }
1529
+ }
1530
+
1531
+ }
1532
+ }
1533
+ }
1534
+
1535
+ },
1536
+ getDeviceAll() {
1537
+ let keyall = Object.keys(this.data)
1538
+ for (let i = 0; i < keyall.length; i++) {
1539
+ //tag)
1540
+ if ((keyall[i].startsWith('f_devices') || keyall[i].startsWith('devices')) && keyall[i] != 'deviceundefined') {
1541
+ this.devicesAll.push(this.data[keyall[i]])
1542
+ //tag
1543
+ }
1544
+ }
1545
+ //tag
1546
+ //tag)
1547
+ this.devicesCollect()
1548
+
1549
+ },
1550
+
1551
+ back() {
1552
+ if (this.role == 'inspect') {
1553
+ if (!this.isStrat) {
1554
+ this.$back()
1555
+ return
1556
+ } else {
1557
+ this.savePaper(true).then(() => {
1558
+ this.$back()
1559
+ this.isStrat = false
1560
+ })
1561
+ }
1562
+ } else {
1563
+ this.$back()
1564
+ }
1565
+ },
1566
+ checkIsStart() {
1567
+ alert('asdad')
1568
+ return
1569
+ },
1570
+
1571
+ viewPic(fileName) {
1572
+ //tag
1573
+ if (this.role == 'view') {
1574
+ if (!fileName.endsWith('nopic.png')) {
1575
+ this.pic_to_be_viewed = fileName
1576
+ this.showModal = true
1577
+ }
1578
+ } else {
1579
+ HostApp.viewPic(fileName)
1580
+ }
1581
+ },
1582
+ tick() {
1583
+ this.timer = null
1584
+ this.data.f_offsite_time = Util.toStandardTimeString()
1585
+ this.timer = window.setTimeout(this.tick, 1000)
1586
+ },
1587
+ getRepairState() {
1588
+ let repaired = true
1589
+ this.data.f_defects.forEach((defect) => {
1590
+ repaired = repaired & (defect.f_ratification == '已处理')
1591
+ })
1592
+ return repaired
1593
+ },
1594
+ verifyRepairDefects() {
1595
+ this.data.f_repair_date = Util.toStandardTimeString()
1596
+ this.data.f_repaired = this.getRepairState() ? '已修' : '在修'
1597
+ },
1598
+ genuineSave(saveOnly) {
1599
+ HostApp.__this__.save(saveOnly)
1600
+ if (!saveOnly)
1601
+ HostApp.__this__.disableTimer()
1602
+ HostApp.__callback__ = null
1603
+ HostApp.__this__ = null
1604
+ },
1605
+ setUrgency() {
1606
+ this.data.f_defect_urgency = 'Z'
1607
+ let that = this
1608
+ this.data.f_defects.forEach(function (defect) {
1609
+ if (that.data.f_defect_urgency > defect.f_defect_level.charAt(0))
1610
+ that.data.f_defect_urgency = defect.f_defect_level.charAt(0)
1611
+ })
1612
+ if (this.data.f_defect_urgency == 'Z')
1613
+ this.data.f_defect_urgency = null
1614
+ },
1615
+ disableTimer() {
1616
+ if (this.timer) {
1617
+ window.clearTimeout(this.timer)
1618
+ this.timer = null
1619
+ }
1620
+ },
1621
+ loaded(paper) {
1622
+ if (!paper.hasOwnProperty('id')) {
1623
+ this.$showMessage("该安检单在手机上已经不存在,可能是卸载过程序。可以进入重新安检,或返回安检计划。")
1624
+ this.init()
1625
+ } else {
1626
+ Util.booleanFilter(paper)
1627
+ HostApp.__this__.$set('data', paper)
1628
+ HostApp.__this__.$goto('paper-state', {}, 'paper-router')
1629
+ // 如果打回重检则重新计时
1630
+ //tag
1631
+ if (HostApp.__this__.role == 'inspect'
1632
+ && HostApp.__this__.data.f_approved
1633
+ && HostApp.__this__.data.f_approved == '打回') {
1634
+ //tag
1635
+ HostApp.__this__.data.f_onsite_time = Util.toStandardTimeString()
1636
+ HostApp.__this__.tick()
1637
+ }
1638
+ }
1639
+ HostApp.__callback__ = null
1640
+ HostApp.__this__ = null
1641
+ },
1642
+ S4() {
1643
+ return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
1644
+ },
1645
+ init() {
1646
+ this.data.f_noplan_item_id = this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4() + "" + this.S4()
1647
+ this.data.ename = Vue.user.ename
1648
+ this.data.f_outlets = Vue.user.f_parentname
1649
+ this.data.f_meetunit = Vue.user.orgpathnames
1650
+ this.data.orgpathstr = Vue.user.orgpathstr
1651
+ this.data.f_check_item_id = this.item.id
1652
+ this.data.f_check_plan_id = this.f_plan_id
1653
+ this.data.f_checker_id = Vue.user.id
1654
+ this.data.f_checker_name = Vue.user.name
1655
+ this.data.f_check_type = this.item.f_user_type
1656
+ this.data.f_subcompany = this.item.f_subcompany
1657
+ this.data.f_approved = this.item.f_approved
1658
+ this.data.f_repair_approved = this.item.f_repair_approved
1659
+ this.data.f_no_checkplan = this.item.f_no_checkplan
1660
+ this.data.f_approved = this.item.f_approved
1661
+ this.data.f_filialeid = this.item.f_filialeid
1662
+ this.data.f_orgstr = this.item.f_orgstr
1663
+ this.data.version = this.item.version
1664
+ this.$set('data.f_meters', this.item.f_plan_meters)
1665
+ this.$set('data.f_userinfo_code', this.item.f_userinfo_code)
1666
+ // 安检状态
1667
+ this.$set('data.f_entry_status', '入户')
1668
+ this.$set('data.f_usegas', '已使用')
1669
+ this.$set('data.f_state', this.item.f_state)
1670
+ // 用户信息
1671
+ this.$set('data.f_user_name', this.item.f_user_name)
1672
+ this.$set('data.f_user_phone', this.item.f_user_phone)
1673
+ this.$set('data.f_userinfoid', this.item.f_userinfoid)
1674
+ this.$set('data.f_address', this.item.f_address)
1675
+ this.$set('data.f_card_id', this.item.f_card_id)
1676
+ this.$set('data.f_area', this.item.f_area)
1677
+ this.$set('data.f_street', this.item.f_street)
1678
+ this.$set('data.f_room', this.item.f_room)
1679
+ this.$set('data.f_building', this.item.f_building)
1680
+ this.$set('data.f_unit', this.item.f_unit)
1681
+ this.$set('data.f_floor', this.item.f_floor)
1682
+ this.$set('data.f_residential_area', this.item.f_residential_area)
1683
+ this.$set('data.f_idnumber', this.item.f_idnumber)
1684
+ this.$set('data.f_comments', this.item.f_comments)
1685
+ this.$set('data.f_userproperties', this.item.f_userproperties)
1686
+ // 处置方式
1687
+ this.$set('data.f_no_gas_device', false)
1688
+ this.$set('data.f_close_valve', false)
1689
+ this.$set('data.f_unload_battery', false)
1690
+ if (this.data.f_check_item_id == '' && this.item.f_no_checkplan == '无计划安检') {
1691
+ this.data.f_check_item_id = this.data.f_noplan_item_id
1692
+ }
1693
+
1694
+ //房屋结构
1695
+ // this.$set('data.f_room_style', '多层')
1696
+ //供暖方式
1697
+ // this.$set('data.f_heating_style', '热力公司集中供暖')
1698
+ if (this.item.f_plan_meters) {
1699
+ for (let de in this.devices) {
1700
+ this.$set('data.device' + this.devices[de].n, [])
1701
+ for (let i = 0; i < this.item.f_plan_meters.length; i++) {
1702
+ if (this.item.f_plan_meters[i].f_meter_type) {
1703
+ if (this.devices[de].device == "燃气表" && this.item.f_plan_meters[i].f_meter_type.indexOf('机表') > 0) {
1704
+ delete this.config['燃气表']['items']['累计购气量']
1705
+ this.data['device' + this.devices[de].n].push({
1706
+ f_device_type: "燃气表",
1707
+ f_items: [{
1708
+ f_defect_level: null,
1709
+ f_device_id: "",
1710
+ f_is_defect: "",
1711
+ f_item_name: "表品牌",
1712
+ f_item_value: this.item.f_plan_meters[i].f_aliasname,
1713
+ f_path: "",
1714
+ type: "string"
1715
+ },
1716
+ {
1717
+ f_defect_level: null,
1718
+ f_device_id: "",
1719
+ f_is_defect: "",
1720
+ f_item_name: "位置",
1721
+ f_item_value: this.item.f_plan_meters[i].f_weizhi,
1722
+ f_path: "",
1723
+ type: "selector"
1724
+ },
1725
+ {
1726
+ f_defect_level: null,
1727
+ f_device_id: "",
1728
+ f_is_defect: "",
1729
+ f_item_name: "表号",
1730
+ f_item_value: this.item.f_plan_meters[i].f_meter_no,
1731
+ f_path: "",
1732
+ type: "number"
1733
+ },
1734
+ {
1735
+ f_defect_level: null,
1736
+ f_device_id: "",
1737
+ f_is_defect: "",
1738
+ f_item_name: "表封号",
1739
+ f_item_value: this.item.f_plan_meters[i].f_metertitles,
1740
+ f_path: "",
1741
+ type: "number"
1742
+ },
1743
+ {
1744
+ f_defect_level: null,
1745
+ f_device_id: "",
1746
+ f_is_defect: "",
1747
+ f_item_name: "表型号",
1748
+ f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1749
+ f_path: "",
1750
+ type: "selector"
1751
+ },
1752
+ {
1753
+ f_defect_level: null,
1754
+ f_device_id: "",
1755
+ f_is_defect: "",
1756
+ f_item_name: "表底数",
1757
+ f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1758
+ f_path: "",
1759
+ type: "number"
1760
+ }
1761
+ ]
1762
+ })
1763
+ } else if (this.devices[de].device == "燃气表") {
1764
+ delete this.config['燃气表']['items']['表底数']
1765
+ this.data['device' + this.devices[de].n].push({
1766
+ f_device_type: "燃气表",
1767
+ f_items: [{
1768
+ f_defect_level: null,
1769
+ f_device_id: "",
1770
+ f_is_defect: "",
1771
+ f_item_name: "表品牌",
1772
+ f_item_value: this.item.f_plan_meters[i].f_aliasname,
1773
+ f_path: "",
1774
+ type: "string"
1775
+ },
1776
+ {
1777
+ f_defect_level: null,
1778
+ f_device_id: "",
1779
+ f_is_defect: "",
1780
+ f_item_name: "位置",
1781
+ f_item_value: this.item.f_plan_meters[i].f_weizhi,
1782
+ f_path: "",
1783
+ type: "selector"
1784
+ },
1785
+ {
1786
+ f_defect_level: null,
1787
+ f_device_id: "",
1788
+ f_is_defect: "",
1789
+ f_item_name: "表号",
1790
+ f_item_value: this.item.f_plan_meters[i].f_meter_no,
1791
+ f_path: "",
1792
+ type: "number"
1793
+ },
1794
+ {
1795
+ f_defect_level: null,
1796
+ f_device_id: "",
1797
+ f_is_defect: "",
1798
+ f_item_name: "表封号",
1799
+ f_item_value: this.item.f_plan_meters[i].f_metertitles,
1800
+ f_path: "",
1801
+ type: "number"
1802
+ },
1803
+ {
1804
+ f_defect_level: null,
1805
+ f_device_id: "",
1806
+ f_is_defect: "",
1807
+ f_item_name: "表型号",
1808
+ f_item_value: this.item.f_plan_meters[i].f_diaphgram_size,
1809
+ f_path: "",
1810
+ type: "selector"
1811
+ },
1812
+ {
1813
+ f_defect_level: null,
1814
+ f_device_id: "",
1815
+ f_is_defect: "",
1816
+ f_item_name: "累计购气量",
1817
+ f_item_value: this.item.f_plan_meters[i].f_prior_reading,
1818
+ f_path: "",
1819
+ type: "number"
1820
+ }
1821
+ ]
1822
+ })
1823
+ }
1824
+ }
1825
+ }
1826
+ }
1827
+ }
1828
+
1829
+ this.$goto('paper-state', {}, 'paper-router')
1830
+ },
1831
+ extend(initalObj, finalObj) {
1832
+ var obj = finalObj || {};
1833
+ for (var i in initalObj) {
1834
+ var prop = initalObj[i];
1835
+
1836
+ // 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况
1837
+ if (prop === obj) {
1838
+ continue;
1839
+ }
1840
+
1841
+ if (typeof prop === 'object') {
1842
+ if (obj[i]) {
1843
+ this.extend(obj[i], prop)
1844
+ } else {
1845
+ obj[i] = prop;
1846
+ }
1847
+ }
1848
+ }
1849
+ return obj;
1850
+ },
1851
+ //获取当前时间
1852
+ getNowFormatDate() {
1853
+ var date = new Date();
1854
+ var seperator1 = "-";
1855
+ var seperator2 = ":";
1856
+ var month = date.getMonth() + 1;
1857
+ var strDate = date.getDate();
1858
+ if (month >= 1 && month <= 9) {
1859
+ month = "0" + month;
1860
+ }
1861
+ if (strDate >= 0 && strDate <= 9) {
1862
+ strDate = "0" + strDate;
1863
+ }
1864
+ var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
1865
+ + " " + date.getHours() + seperator2 + date.getMinutes()
1866
+ + seperator2 + date.getSeconds();
1867
+ return currentdate;
1868
+ }
1869
+ },
1870
+ ready() {
1871
+ setTimeout(() => {
1872
+ this.loading = false;
1873
+ }, 10000)
1874
+ this.putDevices()
1875
+ this.showAudit()
1876
+ this.newConfig = this.$appdata.getSingleValue('配置中心获取文件') ? this.$appdata.getSingleValue('配置中心获取文件') : '否';
1877
+ if (this.item.f_state != '未检' || this.item.f_no_checkplan == '无计划安检' || this.item.f_no_checkplan == '复检') {
1878
+ if (this.role != 'inspect') {
1879
+ let that = this
1880
+ let id
1881
+ if (this.role == 'view') {
1882
+ id = this.item.id
1883
+ } else if (this.role == 'androidview') {
1884
+ id = this.item.f_paper_id
1885
+ }
1886
+ this.$resetpost(`rs/path/getUserinfomation`, {data: {condition: `id = '${id}'`}}).then((respanse) => {
1887
+ //tag
1888
+ if (respanse.data.length != 0) {
1889
+ // 包含 其它 特殊处理的数组
1890
+ // 对应位置
1891
+ that.data = Object.assign(that.data, respanse.data[0])
1892
+ if (respanse.data[0].f_devices) {
1893
+ for (let da in that.devices) {
1894
+ that.$set('data.device' + that.devices[da].n, [])
1895
+ }
1896
+ respanse.data[0].f_devices.forEach((item) => {
1897
+ for (let de in that.devices) {
1898
+ if (that.devices[de].device == item.f_device_type) {
1899
+ item.f_items.forEach((f_item) => {
1900
+ //tag
1901
+ //tag
1902
+ let itemValues = []
1903
+ f_item.f_item_lists.forEach((tempItem) => {
1904
+ //tag
1905
+ if (tempItem.f_item_value !== 'null') {
1906
+ itemValues.push(tempItem.f_item_value)
1907
+ }
1908
+ })
1909
+ f_item.f_item_value = itemValues
1910
+ })
1911
+ that.data['device' + that.devices[de].n].push({
1912
+ f_device_type: item.f_device_type,
1913
+ f_items: item.f_items
1914
+ })
1915
+ }
1916
+ }
1917
+ })
1918
+ }
1919
+ Util.replaceFalse(that.data)
1920
+ Util.booleanFilter(that.data)
1921
+ if (this.role == 'view') {
1922
+ Util.ratifyPics(that.data)
1923
+ Util.ratifyPics(that.picture)
1924
+ } else {
1925
+ Util.androidRatifyPics(that.data, this.$androidUtil.getProxyUrl())
1926
+ }
1927
+ //tag
1928
+ }
1929
+ // this.$goto('paper-message-blank', {userinfo:this.data,devices:this.devices,config:this.config,role:this.role}, 'self')
1930
+ this.isshow = true
1931
+ asyncReady(this).then(() => {
1932
+ //tag
1933
+ //tag)
1934
+ console.log('Vue.config.safecheck.DevicesConfig', Vue.config.safecheck.DevicesConfig)
1935
+ // 如果没有用户类型 默认按民用配置走
1936
+ if (this.data.f_check_type == '非民用') {
1937
+ this.deviceconfig = Vue.config.safecheck.DevicesSetConfig
1938
+ if (typeof this.deviceconfig === 'string') {
1939
+ this.deviceconfig = JSON.parse(this.deviceconfig)
1940
+ }
1941
+ }else{
1942
+ this.deviceconfig = Vue.config.safecheck.DevicesConfig
1943
+ if (typeof this.deviceconfig === 'string') {
1944
+ this.deviceconfig = JSON.parse(this.deviceconfig)
1945
+ }
1946
+ }
1947
+ if (this.data.f_collection_type == '按金额') {
1948
+ if (this.deviceconfig["燃气表"]){
1949
+ let aaa = Object.assign({}, this.config2["燃气表"].items, this.deviceconfig["燃气表"].items)
1950
+ this.deviceconfig["燃气表"].items = aaa
1951
+ }
1952
+ } else {
1953
+ if (this.deviceconfig["燃气表"]){
1954
+ let aaa = Object.assign({}, this.config["燃气表"].items, this.deviceconfig["燃气表"].items)
1955
+ this.deviceconfig["燃气表"].items = aaa
1956
+ }
1957
+ }
1958
+ this.deviceconfig2 = ObjConfig.getObjConfig(this.deviceconfig)
1959
+ this.deviceconfig2[0].items = jsonSort(this.deviceconfig2[0].items, "index")
1960
+ this.deviceconfig2[1].items = jsonSort(this.deviceconfig2[1].items, "index")
1961
+ this.deviceconfig2 = jsonSort(this.deviceconfig2, "index")
1962
+ this.getDeviceAll()
1963
+ })
1964
+ }
1965
+ ).catch(
1966
+ (respanse) => {
1967
+ //tag
1968
+ alert('查找安检单失败')
1969
+ this.loading = false
1970
+ })
1971
+ }
1972
+ }
1973
+
1974
+ },
1975
+ watch: {
1976
+ // 'isUpload'(val){
1977
+ // //tag
1978
+ // }
1979
+ },
1980
+ destroyed() {
1981
+ //tag
1982
+ this.disableTimer()
1983
+ }
1984
+ }
1985
+
1986
+ </script>
1987
+ <style scoped>
1988
+ .table-striped thead tr th {
1989
+ background-color: rgb(223, 237, 251);
1990
+ padding: 10px;
1991
+ border-left: solid 0px #dae4f2;
1992
+ border-top: solid 1px #dae4f2;
1993
+ border-right: none;
1994
+ border-bottom: none;
1995
+ text-align: center;
1996
+ color: black;
1997
+ }
1998
+ </style>