safecheck-client 3.0.35-4 → 3.0.35-41

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