safecheck-client 4.0.1-41 → 4.0.1-43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/package.json +1 -1
  2. package/src/App.vue +31 -31
  3. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  4. package/src/components/DefectDealMain/DefectListNew.vue +642 -642
  5. package/src/components/NewDefectList/DefectListNew.vue +663 -663
  6. package/src/components/NewDefectList/DefectPaperNew.vue +1184 -1184
  7. package/src/components/Util/SafecheckUpload.vue +281 -281
  8. package/src/components/android/AddPlanItem.vue +447 -447
  9. package/src/components/android/AddPlanItemYy.vue +451 -451
  10. package/src/components/android/AddSpecialPlanItem.vue +426 -426
  11. package/src/components/android/AndroidDefectDetails.vue +769 -769
  12. package/src/components/android/CurrentCreateYy.vue +1051 -1051
  13. package/src/components/android/Devices.vue +327 -327
  14. package/src/components/android/Devicesm.vue +327 -327
  15. package/src/components/android/NewCheckpaperAndroid.vue +1344 -1369
  16. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  17. package/src/components/android/PhoneRecordInfo.vue +113 -113
  18. package/src/components/android/PhoneSellInfo.vue +113 -113
  19. package/src/components/android/PhoneUpDetail.vue +1040 -1040
  20. package/src/components/android/PhoneUpUserinfo.vue +1249 -1249
  21. package/src/components/android/QRCode/QRCodeBinding.vue +300 -300
  22. package/src/components/android/QRCode/QRCodePage.vue +212 -212
  23. package/src/components/android/SafePlanItem.vue +509 -509
  24. package/src/components/android/SafeRightTree.vue +218 -218
  25. package/src/components/android/SafecheckDevices.vue +1340 -1340
  26. package/src/components/android/examples/SafeListExamples.vue +296 -296
  27. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  28. package/src/components/android/recheck/Recheck.vue +402 -402
  29. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  30. package/src/components/checkplan/checkmsg.vue +459 -459
  31. package/src/components/defect/DefectList.vue +507 -507
  32. package/src/components/defect/DefectListWeixiu.vue +484 -484
  33. package/src/components/filialCircle/CircleList.vue +139 -139
  34. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  35. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  36. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  37. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  38. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  39. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  40. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  41. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  42. package/src/components/map/PersonTrack.vue +226 -226
  43. package/src/components/paper/PaperList.vue +797 -797
  44. package/src/components/paper/RegionalList.vue +220 -220
  45. package/src/components/pc/AnnouncementPC.vue +524 -524
  46. package/src/components/pc/CheckBook.vue +303 -303
  47. package/src/components/pc/CheckBookArea.vue +146 -146
  48. package/src/components/pc/CheckBookCompany.vue +144 -144
  49. package/src/components/pc/CheckBookDetails.vue +161 -161
  50. package/src/components/pc/CheckBookEntry.vue +60 -60
  51. package/src/components/pc/CheckBookSearchArea.vue +560 -560
  52. package/src/components/pc/CheckBookSearchUnit.vue +229 -229
  53. package/src/components/pc/CheckBookSearchUser.vue +659 -659
  54. package/src/components/pc/CheckBookSearchUserList.vue +674 -674
  55. package/src/components/pc/DefectList.vue +742 -742
  56. package/src/components/pc/DeviceChange.vue +1068 -1068
  57. package/src/components/pc/PaperDefectMain.vue +880 -880
  58. package/src/components/pc/SafeVisitInfo.vue +261 -261
  59. package/src/components/querycheckpaper/CheckPaperList.vue +133 -130
  60. package/src/components/report/HiddenSituation.vue +165 -165
  61. package/src/components/rongcheng/AspiratedOrderV.vue +2377 -2377
  62. package/src/components/rongcheng/CurrentCreateOnline.vue +906 -906
  63. package/src/components/rongcheng/DefectList.vue +560 -560
  64. package/src/components/rongcheng/SafecheckOrderVCli.vue +2641 -2641
  65. package/src/components/safecheckNew/android/AddPlanItem.vue +419 -419
  66. package/src/components/safecheckNew/android/CurrentCreate.vue +1050 -1050
  67. package/src/components/safecheckNew/android/Recheck.vue +379 -379
  68. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  69. package/src/components/shaoguan/DefectList.vue +473 -473
  70. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  71. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  72. package/src/components/userfile/SecurityAudit.vue +243 -243
  73. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +476 -476
  74. package/src/filiale/ancheng/android/SafecheckOrderV.vue +2703 -2703
  75. package/src/filiale/ancheng/android/SafecheckUserInfo.vue +737 -737
  76. package/src/filiale/ancheng/pc/checkScreen.vue +923 -923
  77. package/src/filiale/ankangyihua/android/AddPlanItem.vue +446 -446
  78. package/src/filiale/ankangyihua/android/SafecheckOrderV.vue +2908 -2908
  79. package/src/filiale/ankangyihua/pc/DefectListWeixiu.vue +491 -491
  80. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -2785
  81. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  82. package/src/filiale/bayan/android/Edit.vue +132 -132
  83. package/src/filiale/bayan/pc/DefectListNew.vue +597 -597
  84. package/src/filiale/bayan/pc/DeviceChange.vue +1838 -1838
  85. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  86. package/src/filiale/dexin/android/CasualSave.vue +1050 -1050
  87. package/src/filiale/dexin/android/SafecheckOrderV.vue +2950 -2950
  88. package/src/filiale/fugou/android/AddPlanItem.vue +413 -413
  89. package/src/filiale/fugou/android/SafecheckOrderV.vue +2796 -2796
  90. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +830 -830
  91. package/src/filiale/fugu/android/SafecheckOrderV.vue +2484 -2484
  92. package/src/filiale/fugu/pc/NewCheckpaper.vue +1287 -1287
  93. package/src/filiale/ganquan/android/AddPlanItem.vue +444 -444
  94. package/src/filiale/ganquan/android/SafecheckOrderV.vue +2485 -2485
  95. package/src/filiale/ganquan/pc/NewCheckpaper.vue +1354 -1354
  96. package/src/filiale/guangxi/pc/DefectListNew.vue +518 -518
  97. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
  98. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  99. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -2803
  100. package/src/filiale/huatong/android/SafecheckOrderV.vue +2426 -2426
  101. package/src/filiale/huatong/android/SafecheckUserInfo.vue +749 -749
  102. package/src/filiale/huayin/pc/NewCheckpaper.vue +1307 -1307
  103. package/src/filiale/jiaocheng/android/AddPlanItem.vue +435 -435
  104. package/src/filiale/jiaocheng/android/SafecheckUserInfo.vue +737 -737
  105. package/src/filiale/jiaocheng/pc/DefectListNew.vue +576 -576
  106. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -447
  107. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  108. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  109. package/src/filiale/jinbin/pc/DefectListWeixiu.vue +478 -478
  110. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  111. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  112. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  113. package/src/filiale/kelai/android/AddPlanItem.vue +488 -488
  114. package/src/filiale/kelai/android/SafecheckUserInfo.vue +774 -774
  115. package/src/filiale/kelai/android/SafecheckUserInfo1.vue +618 -618
  116. package/src/filiale/kelai/pc/DefectListNew.vue +688 -688
  117. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasList.vue +518 -518
  118. package/src/filiale/kelai/pc/NewCheckpaper.vue +1454 -1454
  119. package/src/filiale/liaoyuan/android/AddPlanItem.vue +412 -412
  120. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -1066
  121. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2388 -2388
  122. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +557 -557
  123. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +489 -489
  124. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  125. package/src/filiale/lixian/android/SafecheckOrderV.vue +2404 -2404
  126. package/src/filiale/lixian/android/SafecheckUserInfo.vue +578 -578
  127. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  128. package/src/filiale/meihekou/android/AreaPlan.vue +577 -577
  129. package/src/filiale/meihekou/android/CheckPlanList.vue +198 -198
  130. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -190
  131. package/src/filiale/meihekou/android/CurrentCreate.vue +1038 -1038
  132. package/src/filiale/meihekou/android/MeterReading.vue +110 -110
  133. package/src/filiale/meihekou/android/PaperFeedback.vue +1542 -1542
  134. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1307 -1307
  135. package/src/filiale/meihekou/android/SafecheckDevices.vue +1340 -1340
  136. package/src/filiale/meihekou/android/SafecheckOrderV.vue +2446 -2446
  137. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +785 -785
  138. package/src/filiale/meihekou/android.js +22 -22
  139. package/src/filiale/meihekou/pc/NewCheckpaperNew.vue +2050 -2050
  140. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1288 -1288
  141. package/src/filiale/meihekou/pc/PaperList.vue +828 -810
  142. package/src/filiale/meihekou/pc.js +15 -15
  143. package/src/filiale/minsheng/android/SafecheckUserInfo.vue +754 -754
  144. package/src/filiale/minsheng/pc/DefectListNew.vue +535 -535
  145. package/src/filiale/pingxiang/android/SafecheckOrderV.vue +2424 -2424
  146. package/src/filiale/pingxiang/android/SafecheckUserInfo.vue +600 -600
  147. package/src/filiale/pingxiang/pc/DefectListNew.vue +519 -519
  148. package/src/filiale/pingxiang/pc/NewCheckpaper.vue +1294 -1294
  149. package/src/filiale/qianneng/android/AddPlanItem.vue +482 -482
  150. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  151. package/src/filiale/qianneng/android/SafecheckUserInfo.vue +775 -775
  152. package/src/filiale/qianneng/pc/DefectListNew.vue +576 -576
  153. package/src/filiale/qianneng/pc/NewCheckpaper.vue +1546 -1546
  154. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  155. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  156. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1871 -1871
  157. package/src/filiale/qingjian/pc.js +15 -15
  158. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  159. package/src/filiale/qingtongxia/android/SafecheckOrderV.vue +2726 -2726
  160. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  161. package/src/filiale/qingtongxia/pc/DefectListNew.vue +594 -594
  162. package/src/filiale/rizhao/android/AddPlanItem.vue +446 -446
  163. package/src/filiale/rizhao/android/SafecheckOrderV.vue +2430 -2430
  164. package/src/filiale/rizhao/android/SafecheckUserInfo.vue +640 -640
  165. package/src/filiale/rizhao/pc/DefectList.vue +489 -489
  166. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  167. package/src/filiale/rongchuang/android/checkpapermsg.vue +209 -209
  168. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  169. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  170. package/src/filiale/shanggao/android/SafecheckOrderV.vue +2426 -2426
  171. package/src/filiale/shanxian/android/SafecheckUserInfo.vue +749 -749
  172. package/src/filiale/shanxian/pc/HiddenSituation.vue +121 -121
  173. package/src/filiale/shanxian/pc/NewCheckpaper.vue +1526 -1526
  174. package/src/filiale/shexian/android/AddPlanItem.vue +444 -444
  175. package/src/filiale/shexian/android/SafecheckOrderV.vue +2879 -2879
  176. package/src/filiale/shexian/pc/DefectListNew.vue +593 -593
  177. package/src/filiale/shexian/pc/NewCheckpaper.vue +1469 -1469
  178. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  179. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  180. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  181. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  182. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  183. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -214
  184. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -2796
  185. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  186. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -167
  187. package/src/filiale/taiyuan/pc/DefectDeal.vue +1033 -1033
  188. package/src/filiale/taiyuan/pc/NewCheckpaper.vue +1976 -1976
  189. package/src/filiale/taiyuan/pc/PlanManage.vue +891 -891
  190. package/src/filiale/taiyuan/pc/checkUserList.vue +798 -798
  191. package/src/filiale/taiyuan/pc.js +15 -15
  192. package/src/filiale/tianke/android/AddPlanItem.vue +455 -455
  193. package/src/filiale/tianke/android/SafecheckOrderV.vue +2431 -2431
  194. package/src/filiale/tianke/android/SafecheckUserInfo.vue +744 -744
  195. package/src/filiale/tongchuan/android/AddPlanItem.vue +483 -483
  196. package/src/filiale/tongchuan/android/PhoneRecordInfo.vue +191 -191
  197. package/src/filiale/tongchuan/android/PhoneSellInfo.vue +113 -113
  198. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +720 -720
  199. package/src/filiale/tongchuan/pc/CheckBookDetails.vue +209 -209
  200. package/src/filiale/tongchuan/pc/DefectListWeixiu.vue +484 -484
  201. package/src/filiale/tongchuan/pc/HiddenSituation.vue +166 -166
  202. package/src/filiale/weinan/android/AddPlanItem.vue +438 -438
  203. package/src/filiale/weinan/android/CurrentCreate.vue +1171 -1171
  204. package/src/filiale/weinan/android/CurrentCreateOnline.vue +911 -911
  205. package/src/filiale/weinan/android/SafePlanItem.vue +440 -440
  206. package/src/filiale/weinan/android/SafecheckUserInfo.vue +778 -778
  207. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  208. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  209. package/src/filiale/weinan/pc/HiddenSituation.vue +167 -167
  210. package/src/filiale/weinan/pc/checkScreen.vue +1094 -1094
  211. package/src/filiale/weinanct/android/SafecheckOrderV.vue +2730 -2730
  212. package/src/filiale/weinanct/pc/NewCheckpaper.vue +1315 -1315
  213. package/src/filiale/wensu/android/AddPlanItem.vue +495 -495
  214. package/src/filiale/wensu/android/AndroidDefectDeal.vue +464 -464
  215. package/src/filiale/wensu/android/PaperFeedback.vue +1358 -1358
  216. package/src/filiale/wensu/android/SafecheckOrderV.vue +2430 -2430
  217. package/src/filiale/wensu/android/SafecheckUserInfo.vue +627 -627
  218. package/src/filiale/wensu/pc/DefectListNew.vue +735 -735
  219. package/src/filiale/wenxi/android/AddPlanItem.vue +431 -431
  220. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2671 -2671
  221. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +673 -673
  222. package/src/filiale/wenxi/pc/DefectList.vue +653 -653
  223. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1358 -1358
  224. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  225. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  226. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  227. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  228. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2456 -2456
  229. package/src/filiale/wuhai/android/SafecheckUserInfo.vue +573 -573
  230. package/src/filiale/wuhai/pc/NewCheckpaper.vue +1281 -1281
  231. package/src/filiale/xiangyuanzhongai/android/PhoneUpUserinfo.vue +1251 -1251
  232. package/src/filiale/xinkang/android/AddPlanItem.vue +414 -413
  233. package/src/filiale/xinkang/pc/DefectListWeixiu.vue +475 -475
  234. package/src/filiale/xinkang/pc/NewCheckpaper.vue +1474 -1474
  235. package/src/filiale/xinkang/pc/PaperList.vue +596 -596
  236. package/src/filiale/yangchunboneng/android/AddPlanItem.vue +496 -496
  237. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2865
  238. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  239. package/src/filiale/yangchunboneng/pc/DefectListNew.vue +576 -576
  240. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  241. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  242. package/src/filiale/yuansheng/android/SafecheckOrderV.vue +2758 -2758
  243. package/src/filiale/yuansheng/android/SafecheckUserInfo.vue +797 -797
  244. package/src/filiale/yuansheng/pc/DefectListNew.vue +524 -524
  245. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +1371 -1371
  246. package/src/filiale/yuansheng/pc/checkmsg.vue +464 -464
  247. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +491 -491
  248. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1509 -1509
  249. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -113
  250. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +1270 -1270
  251. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +785 -785
  252. package/src/filiale/yunchengminsheng/android.js +15 -15
  253. package/src/filiale/yunchengminsheng/pc/PaperList.vue +811 -811
  254. package/src/filiale/yunchengminsheng/pc.js +15 -15
  255. package/src/filiale/zhongsheng/android/BuyRecords.vue +122 -122
  256. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2461 -2461
  257. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +690 -690
  258. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  259. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1322 -1322
  260. package/src/filiale/zhongyi/android/SafecheckOrderV.vue +2431 -2431
  261. package/src/filiale/zhongyi/pc/DefectListNew.vue +514 -514
  262. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  263. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  264. package/src/main.js +1 -2
@@ -1,1061 +1,1061 @@
1
- <template>
2
- <form novalidate class="form-horizontal" style="width: 95%;margin: auto">
3
- <div class="form-group col-sm-12 col-xs-12 col-md-12 info" :class="style__">
4
- <div class="text-center">
5
- <label class="font">总体安检照片请依次拍摄:</label>
6
- </div>
7
- <div class="col-md-12 col-sm-12 col-xs-12">
8
- <ol class="showIi">
9
- <li>1.燃气设施全景</li>
10
- <li>2.燃气表照片</li>
11
- <li>3.灶具照片</li>
12
- <li>4.其他照片</li>
13
- </ol>
14
- </div>
15
- </div>
16
- <div class="form-group col-sm-12" :class="style__">
17
- <label class="text-left font">总体安检照片</label>
18
-
19
- <div class="auto" :class="style__">
20
- <div class="panel" style="padding: 10px 10px 5px 10px;">
21
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
22
- <div class="row" style="height: 240px;overflow: scroll;top: 1px" >
23
- <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px" v-for="(index,img) in paper.f_overall_imgs">
24
- <img-self :src="img.f_overall_path" alt="总体安检照片" :width="140" :height="170"></img-self>
25
- <img src="../../assets/删除.png" @click="delfile('f_overall_path', img.f_overall_path,index)" style="width: 15px;margin-top: -80px" alt="">
26
- </div>
27
- </div>
28
- <div class="row text-right div-photo">
29
- <button type="button" name="button" class="btn btn-photo" @click="takePic('f_overall_path', '总体安检照片')">拍照</button>
30
- <!--<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_overall_path', '总体安检照片1')">拍照</button>-->
31
- <!--&nbsp;&nbsp;&nbsp;&nbsp;<img src="../../../assets/remove.png" :class="style__" @click="delfile('f_overall_path', img.f_overall_path)" style="width: 25%;"></img>-->
32
- </div>
33
- </div>
34
- </div>
35
- </div>
36
- </div>
37
-
38
- <!--<div class="form-group col-sm-12">-->
39
- <!--<label class="text-left font">总体安检照片2</label>-->
40
- <!--<div class="auto">-->
41
- <!--<div class="panel">-->
42
- <!--<div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">-->
43
- <!--<div class="row" style="height: 240px;overflow: scroll;top: 1px">-->
44
- <!--<div class="col-sm-4">-->
45
- <!--<img-self :src="paper.f_overall2_path" alt="总体安检照片2" width="150" height="200"></img-self>-->
46
- <!--</div>-->
47
- <!--</div>-->
48
- <!--<div class="row text-right div-photo">-->
49
- <!--<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_overall2_path', '总体安检照片2')">拍照</button>-->
50
- <!--&nbsp;&nbsp;&nbsp;&nbsp;<img src="../../../assets/remove.png" :class="style__" @click="delfile('f_overall2_path', paper.f_overall2_path)" style="width: 25%;"></img>-->
51
- <!--</div>-->
52
- <!--</div>-->
53
- <!--</div>-->
54
- <!--</div>-->
55
- <!--</div>-->
56
- <div class="form-group col-sm-12" :class="style__">
57
- <label class="text-left font">用户签名</label>
58
- <div class="auto">
59
- <div class="panel">
60
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
61
- <div class="row" style="height: 240px;overflow: scroll;top: 1px">
62
- <div class="col-sm-4">
63
- <img :class="style__" :src="paper.f_sign_path" :width="200" :height="150" />
64
- </div>
65
- </div>
66
- <div class="row text-right div-photo">
67
- <button type="button" name="button" class="btn btn-primary btn-photo" @click="sign">签名</button>
68
- </div>
69
- </div>
70
- </div>
71
- </div>
72
- </div>
73
-
74
- <div class="form-group col-md-12 col-sm-12 col-xs-12" :class="style__">
75
- <div class="form-group col-md-12 col-sm-12 col-xs-12">
76
- <input type="checkbox" v-model="paper.f_defect_notified" class="showIi" />安检通知书/隐患整改通知书
77
- </div>
78
- <div class="form-group col-md-12 col-sm-12 col-xs-12" v-if="paper.f_defect_notified">
79
- <div class="form-group col-md-12 col-sm-12 col-xs-12">
80
- <button type="button" @click="print()">打印隐患整改单</button>
81
- </div>
82
- <div class="form-group col-md-12 col-sm-12 col-xs-12">
83
- <label class="text-left font">安检通知书/隐患整改通知书照片(要求能清晰反应安检通知单和用户签字内容):</label>
84
- <div class="auto" >
85
- <div class="panel" style="padding: 10px 10px 5px 10px;">
86
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
87
- <div class="row" style="height: 240px;overflow: scroll;top: 1px">
88
- <div class="col-sm-4">
89
- <img-self :src="paper.f_notified_path" alt="安检通知书/隐患整改通知书照片" width="150" height="200"></img-self>
90
- </div>
91
- </div>
92
- <div class="row text-right div-photo">
93
- <button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_notified_path', '安检通知书/隐患整改通知书照片')">拍照</button>
94
- &nbsp;&nbsp;&nbsp;&nbsp;<img src="../../assets/remove.png" :class="style__" @click="delfile('f_notified_path', this.paper.f_notified_path)" style="width: 25%;"></img>
95
- </div>
96
- </div>
97
- </div>
98
- </div>
99
- </div>
100
- </div>
101
- <div class="form-group col-md-12 col-sm-12 col-xs-12">
102
- <div class="row">
103
- <label class="text-left">请对我们的服务做出评价:</label>
104
- </div>
105
- <div class="col-xs-4 col-sm-4" v-for="item in radios">
106
- <input v-model="paper.f_client_evaluation" :value="item.label" :checked='item.isChecked' @click="check(item.value)" type="radio">{{item.label}}
107
- </div>
108
-
109
- <!--<div class="col-sm-4">-->
110
- <!--<radio-group :value.sync="paper.f_client_evaluation" type="success" buttons="false">-->
111
- <!--<radio value="满意">满意</radio>-->
112
- <!--<radio value="基本满意">基本满意</radio>-->
113
- <!--<radio value="不满意">不满意</radio>-->
114
- <!--</radio-group>-->
115
- <!--</div>-->
116
- </div>
117
- <div class="form-group col-md-12 col-sm-12 col-xs-12">
118
- <label class="text-left font">反馈录音:</label>
119
- <div class="col-md-12 col-sm-12 col-xs-12">
120
- <button type="button" name="button" class="btn btn-primary btn-voice" @click="record">
121
- <img src="../../assets/录音.png" style="width: 14%;">
122
- <span v-if="!paper.f_recording1_path">开始录音</span>
123
- <span v-if="paper.f_recording1_path">已录音</span>
124
- </button>
125
- &nbsp;&nbsp;&nbsp;&nbsp;<img src="../../assets/remove.png" style="width: 15px;" :class="style__" @click="delAudioFile('f_recording1_path', paper.f_recording1_path)"></img>
126
- </div>
127
- </div>
128
- <div class="text-center form-group col-md-12 col-sm-12 col-xs-12">
129
- <button style="width: 30%;margin:3%;margin-bottom: 0%" type="button" v-show="$parent.$parent.actionEnabled" class="btn save-btn" @click="$parent.$parent.save('temp')">临时保存</button>
130
- <button style="width: 30%;margin:3%;margin-bottom: 0%" type="button" v-show="$parent.$parent.actionEnabled" class="btn save-btn " @click="$parent.$parent.save('finish')">完成安检</button>
131
- </div>
132
- <div class="text-center form-group col-md-12 col-sm-12 col-xs-12">
133
- <button style="width: 30%;margin:3%;margin-bottom: 0%;margin-top: 0%" id="upload" type="button" v-show="$parent.$parent.actionEnabled" class="btn upload-btn " @click="$parent.$parent.uploadCheckPaper" >上传</button>
134
- <!--<button style="width: 30%;margin:3%;margin-bottom: 0%;margin-top: 0%" v-if="(safeCheckToRepair == true || safeCheckToRepair == 'true') && $parent.$parent.actionEnabled" class="btn repair-btn btn-warning " type="button" @click="showToRepair">转维修</button> </div>-->
135
- </div>
136
- </form>
137
- <modal :show.sync="showCheckToRepair" v-ref:modal :backdrop="isback">
138
- <div slot="modal-header" class="modal-header">
139
- <h4 class="modal-title">
140
- 安检转维修
141
- </h4>
142
- </div>
143
- <div slot="modal-body" class="modal-body">
144
- <div v-if="showrepair">
145
- <div class="row">
146
- <label class="col-xs-4 col-md-4 control-label text-left">派单方式</label>
147
- <div class="col-xs-8 col-md-8">
148
- <label v-for="handling1 in handling" >
149
- <input type="radio"
150
- v-model="meading"
151
- value="{{handling1.label}}">
152
- {{handling1.label}}
153
- </label>
154
- </div>
155
- </div>
156
- <div class="row" v-if="meading == '转站点'">
157
- <label class="col-xs-4 col-md-4 control-label font text-left" for="f_reciever">站点</label>
158
- <!--<input type="text" v-show="false" v-model="serviceacitivity.f_reciever"-->
159
- <!--v-validate:f_reciever='{ required: true }'>-->
160
- <div class="col-xs-8 col-md-8">
161
- <right-tree @ready="onReady" islist :Url="Url" :userid="userid" :source="source" v-on:re-res="reres" :textContent="选择站点管理员" :selectData="" v-ref:f_reciever>
162
- </right-tree>
163
- </div>
164
- </div>
165
-
166
- <div class="row" style="margin-top: 6px" v-if="meading == '转维修员'">
167
- <label class="col-xs-4 col-md-4 control-label font text-left">维修人</label>
168
- <div class="col-xs-8">
169
- <v-select :value="$parent.$parent.model.serviceacitivity[0].f_reciever" :value-single="true"
170
- :options='f_repair_person' placeholder='请选择维修员'
171
- close-on-select v-on:change="repiarmancg"></v-select>
172
- </div>
173
-
174
- </div>
175
- <div class="row" style="margin-top: 6px">
176
- <label for="f_repair" class="col-xs-4 col-md-4 control-label font text-left">报修类型</label>
177
- <div class="col-xs-8 col-md-8">
178
- <v-select :value.sync="$parent.$parent.model.f_repairtype" :value-single="true"
179
- :options='repairstypes' placeholder='报修类型'
180
- close-on-select>
181
- </v-select>
182
- </div>
183
- </div>
184
-
185
- <div class="row" style="margin-top: 6px">
186
- <label class="control-label font text-left col-md-4 col-xs-4">备注</label>
187
- <div class="col-xs-8 col-md-8">
188
- <input type="text" v-model="$parent.$parent.model.f_remarks"/>
189
- </div>
190
-
191
- </div>
192
-
193
- </div>
194
- <div v-if="!showrepair">
195
- 暂无隐患设备信息
196
- </div>
197
- </div>
198
- <div slot="modal-footer" class="modal-footer">
199
- <button type="button" class="btn btn-default" @click="uploadPaper()">确定</button>
200
- <button type="button" class="btn btn-default" @click="undo()">取消</button>
201
- </div>
202
- </modal>
203
- </template>
204
-
205
- <script>
206
- import Vue from 'vue'
207
- import * as Util from '../Util'
208
- import { HttpResetClass } from 'vue-client'
209
- import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
210
- import Radio from 'vue-client/src/vue-strap/src/radioBtn'
211
- import co from 'co'
212
-
213
- // let getRepairParam = function * (self){
214
- // let data = {
215
- // $parent.$parent.model: self.$parent.$parent.model, loginUser: {
216
- // name: self.role == 'view'?self.$login.f.name:Vue.user.name,
217
- // ename: self.role == 'view'?self.$login.f.ename:Vue.user.ename
218
- // }, user: self.user, callObj: self.callObj
219
- // }
220
- // if(self.$parent.$parent.meading == '转维修员'){
221
- // data.toRepair = '一级派单'
222
- // }
223
- // data.$parent.$parent.model.f_attendant = data.loginUser.name
224
- // //tag
225
- // //tag
226
- // let res
227
- // let errString = self.$parent.$parent.errorVerify()
228
- // if(errString){
229
- // //tag
230
- // if (Vue.android)
231
- // self.undo()
232
- // this.$showMessage(errString)
233
- // return
234
- // } else {
235
- // if(self.role == 'inspect'){
236
- // if(self.$parent.$parent.meading == '转维修员' && (self.$parent.$parent.model.serviceacitivity[0].f_reciever == '' || self.$parent.$parent.model.serviceacitivity[0].f_reciever == undefined)){
237
- // this.$showMessage("请选择维修员!")
238
- // return
239
- // }
240
- // if(self.$parent.$parent.meading == '转站点' && (self.$parent.$parent.model.serviceacitivity[0].f_reciever == '' || self.$parent.$parent.model.serviceacitivity[0].f_reciever == undefined)){
241
- // HostApp.alert()
242
- // this.$showMessage("请选择站点!")
243
- // return
244
- // }
245
- // if(self.$parent.$parent.model.f_repairtype == ''){
246
- // this.$showMessage("请选择报修类型!")
247
- // return
248
- // }
249
- // //tag)
250
- // let checkResult = '正常'
251
- // let options = [{"data": "已处理"},{"data": "未处理"}]
252
- // let value = ''
253
- // let codata = JSON.parse(JSON.stringify(self.paper))
254
- // for(let device in codata){
255
- // //tag)
256
- // let f_device_type
257
- // if(device.startsWith("device")){
258
- // for(let item in codata[device]) {
259
- // if(codata[device].length > 1 ){
260
- // let j = Number.parseInt(item)+1
261
- // f_device_type = `${codata[device][item].f_device_type}${j}`
262
- // }else{
263
- // f_device_type = codata[device][item].f_device_type
264
- // }
265
- // // //tag
266
- // let details = []
267
- // for(let i in codata[device][item].f_items){
268
- // let items = codata[device][item].f_items[i]
269
- // //tag
270
- // if(items.f_is_defect == true || items.f_is_defect == 'true'){
271
- // checkResult = '有隐患'
272
- // //tag
273
- // let res = yield self.$resetpost(`${self.Url}/api/af-safecheck/sql/getDeviceItem`,{data:{f_device_id:codata[device][item].f_device_id,f_item_name:items.f_item_name}})
274
- // //tag)
275
- // self.$set('detail.f_defect_id', res.data[0].id)
276
- // self.$set('detail.f_project',`${items.f_item_name}:${items.f_item_value}`)
277
- // self.$set('detail.type',items.type)
278
- // self.$set('detail.options',options)
279
- // details.push(JSON.parse(JSON.stringify(self.detail)))
280
- // }
281
- // if(items.type == 'selector'){
282
- // items.selected = ''
283
- // }
284
- // self.detail = {}
285
- // }
286
- // //tag
287
- // self.$set('defectDevice.f_type',f_device_type)
288
- // self.$set('defectDevice.details',details)
289
- // if(self.defectDevice.details.length >0 ){
290
- // self.repairitems.push(JSON.parse(JSON.stringify(self.defectDevice)))
291
- // }
292
- // self.defectDevice = {}
293
- // //tag
294
- // }
295
- // }
296
- // }
297
- // self.$set('$parent.$parent.model.f_repairitems.data',self.repairitems)
298
- //
299
- //
300
- // //tag)
301
- // res = self.$androidUtil.bzLogic('safecheckToRepair',data)
302
- // //tag
303
- // //tag
304
- // //tag
305
- // if(res.code == 200){
306
- // self.$parent.$parent.isSafeCheckToRepair = true
307
- // self.undo()
308
- // self.$set('paper.f_SafeToRepair_id',res.data.f_service_id)
309
- // //tag
310
- // self.$resetpost(`${self.Url}/api/af-safecheck/logic/updatePaperRepair`,{data:{f_paper_id:self.paper.f_paper_id,f_SafeToRepair_id:res.data.f_service_id}}).then((ret)=>{
311
- // //tag
312
- // if(ret.data.code ==200){
313
- // //tag
314
- // self.$parent.$parent.$back()
315
- // }else{
316
- // self.$showMessage('安检转维修失败!')
317
- // }
318
- // }).catch(v=>{
319
- // //tag)
320
- // self.$showMessage('安检转维修失败!')
321
- // })
322
- // }else{
323
- // self.$showMessage('安检转维修失败!')
324
- // }
325
- // }
326
- // }
327
- // }
328
-
329
-
330
-
331
- let getRepairs = async function(self,url) {
332
- // 获取配置信息
333
- try {
334
- let val = {source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($维修员$) != -1 ))', userid: `${Vue.user.id}`}
335
- let repairs =[]
336
- let res = await Vue.resetpost(`${url}/rs/search`,{data: val},{resolveMsg: null, rejectMsg: null})
337
- res.data.forEach((item) => {
338
- repairs.push({label: item.name, value: item})
339
- })
340
- self.f_repair_person = repairs
341
- if(self.$parent.$parent.role == 'inspect'){
342
- let res = self.$androidUtil.bzLogic('getUserInfo',{id:self.paper.f_userinfoid})
343
- if(res.code == 200){
344
- self.$parent.$parent.user = res.data[0]
345
- self.$parent.$parent.model.f_area = self.$parent.$parent.user.f_area
346
- }
347
- }else{
348
- //tag
349
- self.$resetpost(`${self.Url}/api/af-safecheck/sql/getUserInfo`,{data:{id:self.paper.f_userinfoid}},{resolveMsg: null, rejectMsg: null}).then((res)=>{
350
- //tag
351
- if(res.data.length != 0){
352
- self.$parent.$parent.user = res.data[0]
353
- self.$parent.$parent.model.f_area = self.$parent.$parent.user.f_area
354
- }
355
- })
356
- // path({alias:'getUserInfo',data:{id:this.paper.f_userinfoid}})
357
- }
358
- } catch (error) {
359
- //tag
360
- }
361
- }
362
-
363
- export default {
364
- title: '用户反馈',
365
- data() {
366
- return {
367
- images:[],
368
- meading:this.$parent.$parent.meading,
369
- paper:this.$parent.$parent.data,
370
- printContent:[],
371
- upload_state: this.$parent.$parent.item.f_upload_state,
372
- radios:[
373
- {
374
- label: '满意',
375
- value: 0,
376
- isChecked: false,
377
- },
378
- {
379
- label: '基本满意',
380
- value:1,
381
- isChecked: false,
382
- },
383
- {
384
- label: '不满意',
385
- value:2,
386
- isChecked: false,
387
- },
388
- ],
389
- repairitems:[],
390
- repairstypes:this.$appdata.getParam('报修类型'),
391
- f_repair_person: this.readRepair(),
392
- showrepair: false,
393
- safeCheckToRepair:'',
394
- showCheckToRepair:false,
395
- userid: '',
396
- source:
397
- 'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
398
- 'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
399
- isback:false,
400
- defectDevice:{},
401
- detail:{},
402
- callObj:null,
403
- user:{},
404
- role:this.$parent.$parent.role,
405
- handling:[{label:'转站点',value:'转站点'},{label:'转维修员',value:'转维修员'}],
406
- Url:this.$androidUtil.getProxyUrl()
407
- }
408
- },
409
- props: ['idx'],
410
- components: {
411
- RadioGroup,
412
- Radio
413
- },
414
- methods: {
415
- check(index) {
416
- //tag
417
- // 先取消所有选中项
418
- for (let item of this.radios){
419
- item.isChecked = false;
420
- }
421
- //再设置当前点击项选中
422
- this.paper.f_client_evaluation = this.radios[index].label;
423
- // 设置值,以供传递
424
- this.radios[index].isChecked = true;
425
- //tag;
426
- },
427
- getSignValue(fileName) {
428
- this.f_signname = fileName
429
- },
430
- cameraCallBack(prop, fileName) {
431
- if(prop == 'f_overall_path'){
432
- let f_overall_path = fileName + '?' + Math.random()
433
- HostApp.__this__.paper.f_overall_imgs.push({
434
- f_overall_path:f_overall_path
435
- })
436
- }else{
437
- HostApp.__this__.paper[prop] = fileName + '?' + Math.random()
438
- }
439
- HostApp.__callback__ = null
440
- HostApp.__this__ = null
441
- },
442
- takePic(prop, title,index) {
443
- HostApp.__callback__ = this.cameraCallBack
444
- HostApp.__this__ = this
445
- //tag
446
- //tag
447
- let fileName
448
- if(prop == 'f_overall_path'){
449
- if (!this.paper.f_overall_imgs[index] || this.paper.f_overall_imgs[index].f_overall_path.includes("nopic.png")) {
450
- fileName = Util.guid() + '-' + prop + '.jpg'
451
- } else {
452
- fileName = Util.getFileName(this.paper.f_overall_imgs[index].f_overall_path)
453
- }
454
- }else{
455
- if (!this.paper[prop] || this.paper[prop].includes("nopic.png")) {
456
- fileName = Util.guid() + '-' + prop + '.jpg'
457
- } else {
458
- fileName = Util.getFileName(this.paper[prop])
459
- }
460
- }
461
-
462
- HostApp._open_a_page({
463
- type: 'boomerang',
464
- page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
465
- param: {
466
- file: fileName,
467
- requestCode: 111,
468
- callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
469
- watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
470
- }
471
- })
472
- },
473
- amrCallBack(fileName) {
474
- HostApp.__this__.$set('paper.f_recording1_path', fileName)
475
- HostApp.__callback__ = null
476
- HostApp.__this__ = null
477
- },
478
- record() {
479
- if (this.$parent.$parent.role != 'inspect') {
480
- if (this.paper.f_recording1_path != '') {
481
- window.location = this.paper.f_recording1_path
482
- }
483
- } else {
484
- HostApp.__callback__ = this.amrCallBack
485
- HostApp.__this__ = this
486
- let fileName
487
- if (!this.paper.f_recording1_path) {
488
- fileName = Util.guid() + '.amr'
489
- } else {
490
- fileName = Util.getFileName(this.paper.f_recording1_path)
491
- }
492
- HostApp._open_a_page({
493
- type: 'boomerang',
494
- page: 'com.aofeng.hybrid.android.peripheral.AudioClipActivity',
495
- param: {file: fileName, requestCode: 111, callback: 'javascript:HostApp.__callback__("%s");'}
496
- })
497
- }
498
- },
499
- // 签名回调
500
- signCallback(prop, fileName) {
501
- // HostApp.alert('绑定属性:' + prop + ' 文件全路径如file:///storage/sdcard0/safecheck/abc.jpg:' + fullFileName)
502
- HostApp.__this__.$set('paper.f_sign_path', fileName)
503
- HostApp.__callback__ = null
504
- HostApp.__this__ = null
505
- },
506
- // 用户签名
507
- sign() {
508
- this.delAudioFile('f_sign_path', this.paper.f_sign_path)
509
- let prop = 'f_sign_path'
510
- let idx = 'aofeng'
511
- let fileName
512
- if (!this.paper.f_sign_path) {
513
- fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
514
- } else {
515
- fileName = Util.getFileName(this.paper.f_sign_path)
516
- }
517
- HostApp.__callback__ = this.signCallback
518
- HostApp.__this__ = this
519
- HostApp.getSignature({
520
- file: fileName,
521
- requestCode: 111,
522
- callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");'
523
- })
524
- },
525
- delfile(prop, fileName,index) {
526
- if (fileName == Vue.nopic)
527
- return
528
- else {
529
- if(prop == 'f_overall_path'){
530
- this.paper.f_overall_imgs.splice(index,1)
531
- HostApp.delfile(fileName)
532
- }else{
533
- HostApp.delfile(fileName)
534
- this.paper[prop] = Vue.nopic
535
- }
536
- }
537
- },
538
- delAudioFile(prop, fileName) {
539
- if (!fileName)
540
- return
541
- else {
542
- HostApp.delfile(fileName)
543
- this.paper[prop] = null
544
- }
545
- },
546
- //获取打印用户信息
547
- getUser() {
548
- if (this.paper.f_user_name == undefined)
549
- this.paper.f_user_name = ''
550
- this.printContent.push({type: 3, text: '用户名称:' + this.paper.f_user_name, fontsize: 2, isbold: false, align: 'left'})
551
- if (this.paper.f_userinfo_code == undefined)
552
- this.paper.f_userinfo_code = ''
553
- this.printContent.push({type: 3, text: '用户编号:' + this.paper.f_userinfo_code, fontsize: 2, isbold: false, align: 'left'})
554
- if (this.paper.f_address == undefined)
555
- this.paper.f_address = ''
556
- this.printContent.push({type: 3, text: '地址:' + this.paper.f_address, fontsize: 2, isbold: false, align: 'left'})
557
- if (this.paper.f_user_phone == undefined)
558
- this.paper.f_user_phone = ''
559
- this.printContent.push({type: 3, text: '电话:' + this.paper.f_user_phone, fontsize: 2, isbold: false, align: 'left'})
560
- },
561
- verify(){
562
- let hasError = this.$parent.$parent.verifyUser()
563
- if(hasError)
564
- return hasError
565
- hasError = this.$parent.$parent.verifyDevices()
566
- if(hasError)
567
- return hasError
568
- },
569
- print() {
570
- let errString = this.verify()
571
- if (errString) {
572
- //tag
573
- if (Vue.android)
574
- this.$showMessage(errString)
575
- return
576
- }
577
- // 文本
578
- let templatename = '安检结果单'
579
- if(Vue.config.safecheck != undefined) {
580
- if (Vue.config.safecheck.ApproveConfig != undefined) {
581
- if (Vue.config.safecheck.ApproveConfig.templatename != undefined) {
582
- templatename = Vue.config.safecheck.ApproveConfig.templatename
583
- }
584
- }
585
- }
586
- let textHead = {type: 3, text: templatename, fontsize: 3, isbold: true, align: 'center'}
587
- let feedPageHead = {type: 4, value: 2, unit: 'line'}
588
- let feedPageEnd = {type: 4, value: 4, unit: 'line'}
589
- this.printContent.push(textHead)
590
- this.printContent.push(feedPageHead)
591
- this.getUser()
592
- this.getDefect()
593
- this.getCheck()
594
- this.printContent.push(feedPageEnd)
595
- let arrstr = JSON.stringify(this.printContent)
596
- //tag
597
- this.$androidUtil.print(arrstr)
598
- this.$set('printContent', [])
599
- },
600
- //打印安检信息
601
- getCheck() {
602
- let telephone = '96777'
603
- if(Vue.config.safecheck != undefined) {
604
- if (Vue.config.safecheck.ApproveConfig != undefined) {
605
- if (Vue.config.safecheck.ApproveConfig.checkphone != undefined) {
606
- telephone = Vue.config.safecheck.ApproveConfig.checkphone
607
- }
608
- }
609
- }
610
- this.printContent.push({type: 3, text: '*******************************', fontsize: 3, isbold: false, align: 'center'})
611
- this.printContent.push({type: 3, text: '24小时抢修电话:'+telephone, fontsize: 2, isbold: false, align: 'left'})
612
- this.printContent.push({type: 3, text: '安检人:'+Vue.user.name, fontsize: 2, isbold: false, align: 'left'})
613
- this.printContent.push({type: 3, text: '安检时间:' + this.getNowFormatDate(), fontsize: 2, isbold: false, align: 'left'})
614
- this.printContent.push({type: 3, text: '用户签字:', fontsize: 2, isbold: false, align: 'left'})
615
- this.printContent.push({type: 4, value: 4, unit: 'line'})
616
- this.printContent.push({type: 4, value: 4, unit: 'line'})
617
- this.printContent.push({type: 4, value: 4, unit: 'line'})
618
- this.printContent.push({type: 4, value: 4, unit: 'line'})
619
- this.printContent.push({type: 4, value: 4, unit: 'line'})
620
- },
621
-
622
- getDefect() {
623
- let showmore = false
624
- if(Vue.config.safecheck != undefined) {
625
- if (Vue.config.safecheck.ApproveConfig != undefined) {
626
- if (Vue.config.safecheck.ApproveConfig.showmore != undefined) {
627
- showmore = Vue.config.safecheck.ApproveConfig.showmore
628
- }
629
- }
630
- }
631
-
632
- let backData = this.$parent.$parent.getAllDefect()
633
- // 对隐患信息进行遍历
634
- let res = JSON.parse(backData.f_defect_content)
635
- this.printContent.push({
636
- type: 3,
637
- text: '安检结果:' + res.result,
638
- fontsize: 2,
639
- isbold: false,
640
- align: 'left'
641
- })
642
- this.printContent.push({
643
- type: 3,
644
- text: '安检类型:' + this.paper.f_safecheck_type,
645
- fontsize: 2,
646
- isbold: false,
647
- align: 'left'
648
- })
649
- this.printContent.push({type: 3, text: '*******************************', fontsize: 3, isbold: false, align: 'center'})
650
-
651
-
652
- if(showmore) {
653
- //全部打印
654
- for (let dev in this.$parent.$parent.config) {
655
- for (let device in backData) {
656
- if (device.startsWith("device")) {
657
- for (let item in backData[device]) {
658
- //遍历结果
659
- if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
660
- let error = true
661
- for (let i in backData[device][item].f_items) {
662
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
663
- error = false
664
- }
665
- }
666
- if (error) {
667
- this.printContent.push({
668
- type: 3,
669
- // 这个checkmust还没存
670
- text: backData[device][item].checkmust ? "*" : "" + dev + (backData[device].indexOf(backData[device][item]) + 1) + ':正常',
671
- fontsize: 2,
672
- isbold: false,
673
- align: 'left'
674
- })
675
- } else {
676
- this.printContent.push({
677
- type: 3,
678
- text: backData[device][item].checkmust ? "*" : "" + dev + (backData[device].indexOf(backData[device][item]) + 1) + ':有隐患',
679
- fontsize: 2,
680
- isbold: true,
681
- align: 'left'
682
- })
683
- }
684
- //tag)
685
- for (let i in backData[device][item].f_items) {
686
- //tag)
687
- if (backData[device][item].f_items[i].f_item_value != '' && backData[device][item].f_items[i].f_item_value != null) {
688
- this.printContent.push({
689
- type: 3,
690
- text: backData[device][item].f_items[i].checkmust?"*":"" + backData[device][item].f_items[i].f_item_name + ":" + backData[device][item].f_items[i].f_item_value,
691
- fontsize: 2,
692
- isbold: false,
693
- align: 'left'
694
- })
695
- }
696
- }
697
- this.printContent.push({type: 4, value: 2, unit: 'line'})
698
- }
699
- }
700
- }
701
- }
702
- }
703
-
704
- for (let dev in this.$parent.$parent.config) {
705
- for (let device in backData) {
706
- if (device.startsWith("device")) {
707
- for (let item in backData[device]) {
708
- //遍历结果
709
- if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
710
- let error = true
711
- for (let i in backData[device][item].f_items) {
712
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
713
- error = false
714
- }
715
- }
716
- if (!error) {
717
- this.printContent.push({
718
- type: 3,
719
- text: '隐患:',
720
- fontsize: 2,
721
- isbold: true,
722
- align: 'left'
723
- })
724
- }
725
- }
726
- }
727
- }
728
- }
729
- for (let device in backData) {
730
- if (device.startsWith("device")) {
731
- for (let item in backData[device]) {
732
- if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
733
- for (let i in backData[device][item].f_items) {
734
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
735
- this.printContent.push({
736
- type: 3,
737
- text: backData[device][item].f_items[i].checkmust?"*":"" + backData[device][item].f_items[i].f_item_name + ':' + backData[device][item].f_items[i].f_item_value,
738
- fontsize: 2,
739
- isbold: true,
740
- align: 'left'
741
- })
742
- }
743
- }
744
- }
745
- }
746
- }
747
- }
748
-
749
- }
750
- }else {
751
- for (let dev in this.$parent.$parent.config) {
752
- for (let device in backData) {
753
- if (device.startsWith("device")) {
754
- for (let item in backData[device]) {
755
- //遍历结果
756
- if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
757
- let error = true
758
- for (let i in backData[device][item].f_items) {
759
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
760
- error = false
761
- }
762
- }
763
- if (error) {
764
- this.printContent.push({
765
- type: 3,
766
- text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':正常',
767
- fontsize: 2,
768
- isbold: false,
769
- align: 'left'
770
- })
771
- } else {
772
- this.printContent.push({
773
- type: 3,
774
- text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':有隐患',
775
- fontsize: 2,
776
- isbold: false,
777
- align: 'left'
778
- })
779
- }
780
-
781
- for (let i in backData[device][item].f_items) {
782
- if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
783
- this.printContent.push({
784
- type: 3,
785
- text: '隐患:' + backData[device][item].f_items[i].checkmust?"*":"" + backData[device][item].f_items[i].f_item_name + ":" + backData[device][item].f_items[i].f_item_value,
786
- fontsize: 2,
787
- isbold: false,
788
- align: 'left'
789
- })
790
- }
791
- }
792
- this.printContent.push({type: 4, value: 2, unit: 'line'})
793
- }
794
- }
795
- }
796
- }
797
- }
798
- }
799
- },
800
- //获取当前时间
801
- getNowFormatDate(){
802
- var date = new Date();
803
- var seperator1 = "-";
804
- var seperator2 = ":";
805
- var month = date.getMonth() + 1;
806
- var strDate = date.getDate();
807
- if (month >= 1 && month <= 9) {
808
- month = "0" + month;
809
- }
810
- if (strDate >= 0 && strDate <= 9) {
811
- strDate = "0" + strDate;
812
- }
813
- var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
814
- + " " + date.getHours() + seperator2 + date.getMinutes()
815
- + seperator2 + date.getSeconds();
816
- return currentdate;
817
- },
818
- readRepair () {
819
- let url = this.$androidUtil.getProxyUrl()
820
- let gen = getRepairs(this,url)
821
- return co(gen)
822
- },
823
- showToRepair(){
824
- let res = this.hasDefect()
825
- //tag
826
- //tag
827
- if(res == '正常'){
828
- this.showrepair = false
829
- }else{
830
- this.showrepair = true
831
- this.assignObj()
832
- }
833
- this.showCheckToRepair = !this.showCheckToRepair
834
- },
835
- // 选中部门
836
- reres(val){
837
- if(val.res == undefined){
838
- return
839
- }
840
- this.$parent.$parent.model.serviceacitivity[0].f_meetunit = val.res
841
- this.$parent.$parent.model.f_meetunit = val.res
842
- this.$parent.$parent.model.f_orgstr = val.resids
843
- var arr = val.res.split('.')
844
- this.$parent.$parent.model.f_outlets = arr[arr.length - 1]
845
- this.$parent.$parent.model.serviceacitivity[0].f_reciever = val.resids
846
- },
847
- assignObj(){
848
- this.$parent.$parent.model.f_contact_phone = this.paper.f_user_phone
849
- this.$parent.$parent.model.f_user_name = this.paper.f_user_name
850
- this.$parent.$parent.model.f_address = this.paper.f_address
851
- this.$parent.$parent.model.f_user_type = this.paper.f_check_type
852
- this.$parent.$parent.model.f_street = this.paper.f_street
853
- this.$parent.$parent.model.f_residential_area = this.paper.f_residential_area
854
- this.$parent.$parent.model.f_building = this.paper.f_building
855
- this.$parent.$parent.model.f_unit = this.paper.f_unit
856
- this.$parent.$parent.model.f_floor = this.paper.f_floor
857
- this.$parent.$parent.model.f_room = this.paper.f_room
858
- this.$parent.$parent.model.f_floor = this.paper.f_floor
859
- this.$parent.$parent.model.f_userinfo_id = this.paper.f_userinfoid
860
- this.$parent.$parent.model.f_userinfo_code = this.paper.f_userinfo_code
861
- },
862
- hasDefect(){
863
- let checkResult = '正常'
864
- let codata = JSON.parse(JSON.stringify(this.paper))
865
- for(let device in this.paper){
866
- if(device.startsWith("device")){
867
- for(let item in this.paper[device]) {
868
- for(let i in this.paper[device][item].f_items){
869
- let items = this.paper[device][item].f_items[i]
870
- //tag
871
- if(items.f_is_defect == true || items.f_is_defect == 'true'){
872
- checkResult = '有隐患'
873
- }
874
- }
875
- }
876
- }
877
- }
878
- return checkResult
879
- },
880
- uploadPaper() {
881
- if(this.showrepair){
882
- //tag
883
- //tag
884
- //tag
885
- //tag
886
-
887
- if(this.meading == '转维修员' && (this.$parent.$parent.model.serviceacitivity[0].f_reciever == '' || this.$parent.$parent.model.serviceacitivity[0].f_reciever == undefined)){
888
- this.$showMessage("请选择维修员!")
889
- return
890
- }
891
- if(this.$parent.$parent.meading == '转站点' && (this.$parent.$parent.model.serviceacitivity[0].f_reciever == '' || this.$parent.$parent.model.serviceacitivity[0].f_reciever == undefined)){
892
- this.$showMessage("请选择站点!")
893
- return
894
- }
895
- if(this.$parent.$parent.model.f_repairtype == ''){
896
- this.$showMessage("请选择报修类型!")
897
- return
898
- }
899
- this.$parent.$parent.isToRepair = true
900
- this.$parent.$parent.uploadCheckPaper()
901
- // this.$parent.$parent.savePaper(false).then((res) => {
902
- // //tag
903
- // if(res != true){
904
- // //tag
905
- // return
906
- // }else{
907
- // this.$parent.$parent.todo()
908
- // }
909
- // })
910
- }else{
911
- this.$parent.$parent.undo()
912
- }
913
-
914
- },
915
- //确认安检转维修
916
-
917
- undo(){
918
- this.showCheckToRepair = !this.showCheckToRepair
919
- this.$parent.$parent.model.serviceacitivity[0].f_reciever = ''
920
- this.$parent.$parent.model.serviceacitivity[0].f_meetunit = ''
921
- this.$parent.$parent.model.f_repairtype = ''
922
- this.meading = '转站点'
923
- },
924
- repiarmancg(val){
925
- if(val){
926
- //tag
927
- this.$parent.$parent.model.serviceacitivity[0].f_reciever = val.name
928
- let http1 = new HttpResetClass()
929
- http1.load('POST',`${this.Url}/api/af-safecheck/sql/safe_singleTable_OrderBy`, {data: {
930
- items: 'f_user_telephone',
931
- tablename: 't_user',
932
- condition: `name = '${val}'`,
933
- orderitem: 'id'
934
- }}, {resolveMsg: null, rejectMsg: null}).then((ress) => {
935
- this.$parent.$parent.model.f_repairman_phone = ress.data[0].f_user_telephone
936
- })
937
- }
938
- },
939
- },
940
- ready() {
941
- //tag)
942
- if (this.$parent.$parent.role == 'repair') {
943
- this.$set('style__', 'divmask')
944
- this.$set('style_view_', '')
945
- }
946
- else if (this.$parent.$parent.role == 'view' || this.$parent.$parent.item.f_upload_state == '已传') {
947
- this.$set('style__', 'divmask')
948
- this.$set('style_view_', 'divmask')
949
- //tag
950
- } else {
951
- this.$set('style__', '')
952
- this.$set('style_view_', '')
953
- }
954
-
955
- for (let item of this.radios){
956
- if(this.paper.f_client_evaluation == item.label){
957
- item.isChecked = true;
958
- }
959
- }
960
- if (!this.paper.f_notified_path)
961
- this.$set('paper.f_notified_path', Vue.nopic)
962
- if (!this.paper.f_sign_path)
963
- this.$set('paper.f_sign_path', Vue.nopic)
964
- //tag
965
- if (!this.paper.f_overall_imgs){
966
- let imgs = []
967
- // imgs.push({f_overall_path:Vue.nopic})
968
- this.$set('paper.f_overall_imgs', imgs)
969
- //tag
970
- }
971
- if (!this.paper.f_overall2_path)
972
- this.$set('paper.f_overall2_path', Vue.nopic)
973
-
974
- this.userid = this.role == 'view'? this.$login.f.id:Vue.user.id
975
- if(Vue.config.safecheck != undefined){
976
- if(Vue.config.safecheck.ApproveConfig != undefined){
977
- if(Vue.config.safecheck.ApproveConfig.safeCheckToRepair != undefined) {
978
- this.safeCheckToRepair = Vue.config.safecheck.ApproveConfig.safeCheckToRepair
979
- }
980
- }
981
- }
982
- //tag
983
- //tag
984
- },
985
- watch:{
986
- '$parent.$parent.isUpload'(val){
987
- //tag
988
- },
989
- 'meading'(val){
990
- //tag
991
- this.$parent.$parent.meading = val
992
- }
993
- }
994
- }
995
- </script>
996
- <style>
997
- .panel-self{
998
- border-radius: 5px;
999
- border:1px solid #c5e1f7;
1000
- background-color: #F2F6FA;
1001
- }
1002
- .text-left{
1003
- text-align:left;
1004
- }
1005
- .font{
1006
- font: 15px PingFang-SC-Medium;
1007
- color: #333333;
1008
- }
1009
- .showIi{
1010
- font: 14px PingFang-SC-Medium;
1011
- color: #666666;
1012
- }
1013
- .info{
1014
- margin-top: 15px;
1015
- border-radius: 5px;
1016
- background-color: #f3faff;
1017
- }
1018
- .btn-photo{
1019
- border: 0;
1020
- border-radius: 7px;
1021
- background-color: #7dc1f4;
1022
- font: 15px PingFang-SC-Bold;
1023
- height: 20%;
1024
- }
1025
- .div-photo{
1026
- width: auto;
1027
- height: auto;
1028
- /* margin-top: 10px; */
1029
- position: absolute;
1030
- bottom: 10px;
1031
- right: 10px;
1032
- }
1033
- .btn-voice{
1034
- border-radius: 7px;
1035
- border: 1px solid #dedede;
1036
- background-color: #f5fbff;
1037
- font: 15px PingFang-SC-Bold;
1038
- color: #499edf;
1039
- }
1040
- .save-btn{
1041
- width: 25%;
1042
- background-color:#499edf;
1043
- border-radius: 6px;
1044
- color: #FFFFFF;
1045
- font: 15px PingFang-SC-Bold;
1046
- }
1047
- .upload-btn{
1048
- width: 25%;
1049
- background-color:#ffffff;
1050
- border: 1px solid #499edf;
1051
- border-radius: 6px;
1052
- color: #499edf;
1053
- font: 15px PingFang-SC-Bold;
1054
- }
1055
- .repair-btn{
1056
- width: 25%;
1057
- border: 1px solid #499edf;
1058
- border-radius: 6px;
1059
- font: 15px PingFang-SC-Bold;
1060
- }
1061
- </style>
1
+ <template>
2
+ <form novalidate class="form-horizontal" style="width: 95%;margin: auto">
3
+ <div class="form-group col-sm-12 col-xs-12 col-md-12 info" :class="style__">
4
+ <div class="text-center">
5
+ <label class="font">总体安检照片请依次拍摄:</label>
6
+ </div>
7
+ <div class="col-md-12 col-sm-12 col-xs-12">
8
+ <ol class="showIi">
9
+ <li>1.燃气设施全景</li>
10
+ <li>2.燃气表照片</li>
11
+ <li>3.灶具照片</li>
12
+ <li>4.其他照片</li>
13
+ </ol>
14
+ </div>
15
+ </div>
16
+ <div class="form-group col-sm-12" :class="style__">
17
+ <label class="text-left font">总体安检照片</label>
18
+
19
+ <div class="auto" :class="style__">
20
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
21
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
22
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px" >
23
+ <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px" v-for="(index,img) in paper.f_overall_imgs">
24
+ <img-self :src="img.f_overall_path" alt="总体安检照片" :width="140" :height="170"></img-self>
25
+ <img src="../../assets/删除.png" @click="delfile('f_overall_path', img.f_overall_path,index)" style="width: 15px;margin-top: -80px" alt="">
26
+ </div>
27
+ </div>
28
+ <div class="row text-right div-photo">
29
+ <button type="button" name="button" class="btn btn-photo" @click="takePic('f_overall_path', '总体安检照片')">拍照</button>
30
+ <!--<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_overall_path', '总体安检照片1')">拍照</button>-->
31
+ <!--&nbsp;&nbsp;&nbsp;&nbsp;<img src="../../../assets/remove.png" :class="style__" @click="delfile('f_overall_path', img.f_overall_path)" style="width: 25%;"></img>-->
32
+ </div>
33
+ </div>
34
+ </div>
35
+ </div>
36
+ </div>
37
+
38
+ <!--<div class="form-group col-sm-12">-->
39
+ <!--<label class="text-left font">总体安检照片2</label>-->
40
+ <!--<div class="auto">-->
41
+ <!--<div class="panel">-->
42
+ <!--<div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">-->
43
+ <!--<div class="row" style="height: 240px;overflow: scroll;top: 1px">-->
44
+ <!--<div class="col-sm-4">-->
45
+ <!--<img-self :src="paper.f_overall2_path" alt="总体安检照片2" width="150" height="200"></img-self>-->
46
+ <!--</div>-->
47
+ <!--</div>-->
48
+ <!--<div class="row text-right div-photo">-->
49
+ <!--<button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_overall2_path', '总体安检照片2')">拍照</button>-->
50
+ <!--&nbsp;&nbsp;&nbsp;&nbsp;<img src="../../../assets/remove.png" :class="style__" @click="delfile('f_overall2_path', paper.f_overall2_path)" style="width: 25%;"></img>-->
51
+ <!--</div>-->
52
+ <!--</div>-->
53
+ <!--</div>-->
54
+ <!--</div>-->
55
+ <!--</div>-->
56
+ <div class="form-group col-sm-12" :class="style__">
57
+ <label class="text-left font">用户签名</label>
58
+ <div class="auto">
59
+ <div class="panel">
60
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
61
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px">
62
+ <div class="col-sm-4">
63
+ <img :class="style__" :src="paper.f_sign_path" :width="200" :height="150" />
64
+ </div>
65
+ </div>
66
+ <div class="row text-right div-photo">
67
+ <button type="button" name="button" class="btn btn-primary btn-photo" @click="sign">签名</button>
68
+ </div>
69
+ </div>
70
+ </div>
71
+ </div>
72
+ </div>
73
+
74
+ <div class="form-group col-md-12 col-sm-12 col-xs-12" :class="style__">
75
+ <div class="form-group col-md-12 col-sm-12 col-xs-12">
76
+ <input type="checkbox" v-model="paper.f_defect_notified" class="showIi" />安检通知书/隐患整改通知书
77
+ </div>
78
+ <div class="form-group col-md-12 col-sm-12 col-xs-12" v-if="paper.f_defect_notified">
79
+ <div class="form-group col-md-12 col-sm-12 col-xs-12">
80
+ <button type="button" @click="print()">打印隐患整改单</button>
81
+ </div>
82
+ <div class="form-group col-md-12 col-sm-12 col-xs-12">
83
+ <label class="text-left font">安检通知书/隐患整改通知书照片(要求能清晰反应安检通知单和用户签字内容):</label>
84
+ <div class="auto" >
85
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
86
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
87
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px">
88
+ <div class="col-sm-4">
89
+ <img-self :src="paper.f_notified_path" alt="安检通知书/隐患整改通知书照片" width="150" height="200"></img-self>
90
+ </div>
91
+ </div>
92
+ <div class="row text-right div-photo">
93
+ <button type="button" name="button" class="btn btn-primary btn-photo" @click="takePic('f_notified_path', '安检通知书/隐患整改通知书照片')">拍照</button>
94
+ &nbsp;&nbsp;&nbsp;&nbsp;<img src="../../assets/remove.png" :class="style__" @click="delfile('f_notified_path', this.paper.f_notified_path)" style="width: 25%;"></img>
95
+ </div>
96
+ </div>
97
+ </div>
98
+ </div>
99
+ </div>
100
+ </div>
101
+ <div class="form-group col-md-12 col-sm-12 col-xs-12">
102
+ <div class="row">
103
+ <label class="text-left">请对我们的服务做出评价:</label>
104
+ </div>
105
+ <div class="col-xs-4 col-sm-4" v-for="item in radios">
106
+ <input v-model="paper.f_client_evaluation" :value="item.label" :checked='item.isChecked' @click="check(item.value)" type="radio">{{item.label}}
107
+ </div>
108
+
109
+ <!--<div class="col-sm-4">-->
110
+ <!--<radio-group :value.sync="paper.f_client_evaluation" type="success" buttons="false">-->
111
+ <!--<radio value="满意">满意</radio>-->
112
+ <!--<radio value="基本满意">基本满意</radio>-->
113
+ <!--<radio value="不满意">不满意</radio>-->
114
+ <!--</radio-group>-->
115
+ <!--</div>-->
116
+ </div>
117
+ <div class="form-group col-md-12 col-sm-12 col-xs-12">
118
+ <label class="text-left font">反馈录音:</label>
119
+ <div class="col-md-12 col-sm-12 col-xs-12">
120
+ <button type="button" name="button" class="btn btn-primary btn-voice" @click="record">
121
+ <img src="../../assets/录音.png" style="width: 14%;">
122
+ <span v-if="!paper.f_recording1_path">开始录音</span>
123
+ <span v-if="paper.f_recording1_path">已录音</span>
124
+ </button>
125
+ &nbsp;&nbsp;&nbsp;&nbsp;<img src="../../assets/remove.png" style="width: 15px;" :class="style__" @click="delAudioFile('f_recording1_path', paper.f_recording1_path)"></img>
126
+ </div>
127
+ </div>
128
+ <div class="text-center form-group col-md-12 col-sm-12 col-xs-12">
129
+ <button style="width: 30%;margin:3%;margin-bottom: 0%" type="button" v-show="$parent.$parent.actionEnabled" class="btn save-btn" @click="$parent.$parent.save('temp')">临时保存</button>
130
+ <button style="width: 30%;margin:3%;margin-bottom: 0%" type="button" v-show="$parent.$parent.actionEnabled" class="btn save-btn " @click="$parent.$parent.save('finish')">完成安检</button>
131
+ </div>
132
+ <div class="text-center form-group col-md-12 col-sm-12 col-xs-12">
133
+ <button style="width: 30%;margin:3%;margin-bottom: 0%;margin-top: 0%" id="upload" type="button" v-show="$parent.$parent.actionEnabled" class="btn upload-btn " @click="$parent.$parent.uploadCheckPaper" >上传</button>
134
+ <!--<button style="width: 30%;margin:3%;margin-bottom: 0%;margin-top: 0%" v-if="(safeCheckToRepair == true || safeCheckToRepair == 'true') && $parent.$parent.actionEnabled" class="btn repair-btn btn-warning " type="button" @click="showToRepair">转维修</button> </div>-->
135
+ </div>
136
+ </form>
137
+ <modal :show.sync="showCheckToRepair" v-ref:modal :backdrop="isback">
138
+ <div slot="modal-header" class="modal-header">
139
+ <h4 class="modal-title">
140
+ 安检转维修
141
+ </h4>
142
+ </div>
143
+ <div slot="modal-body" class="modal-body">
144
+ <div v-if="showrepair">
145
+ <div class="row">
146
+ <label class="col-xs-4 col-md-4 control-label text-left">派单方式</label>
147
+ <div class="col-xs-8 col-md-8">
148
+ <label v-for="handling1 in handling" >
149
+ <input type="radio"
150
+ v-model="meading"
151
+ value="{{handling1.label}}">
152
+ {{handling1.label}}
153
+ </label>
154
+ </div>
155
+ </div>
156
+ <div class="row" v-if="meading == '转站点'">
157
+ <label class="col-xs-4 col-md-4 control-label font text-left" for="f_reciever">站点</label>
158
+ <!--<input type="text" v-show="false" v-model="serviceacitivity.f_reciever"-->
159
+ <!--v-validate:f_reciever='{ required: true }'>-->
160
+ <div class="col-xs-8 col-md-8">
161
+ <right-tree @ready="onReady" islist :Url="Url" :userid="userid" :source="source" v-on:re-res="reres" :textContent="选择站点管理员" :selectData="" v-ref:f_reciever>
162
+ </right-tree>
163
+ </div>
164
+ </div>
165
+
166
+ <div class="row" style="margin-top: 6px" v-if="meading == '转维修员'">
167
+ <label class="col-xs-4 col-md-4 control-label font text-left">维修人</label>
168
+ <div class="col-xs-8">
169
+ <v-select :value="$parent.$parent.model.serviceacitivity[0].f_reciever" :value-single="true"
170
+ :options='f_repair_person' placeholder='请选择维修员'
171
+ close-on-select v-on:change="repiarmancg"></v-select>
172
+ </div>
173
+
174
+ </div>
175
+ <div class="row" style="margin-top: 6px">
176
+ <label for="f_repair" class="col-xs-4 col-md-4 control-label font text-left">报修类型</label>
177
+ <div class="col-xs-8 col-md-8">
178
+ <v-select :value.sync="$parent.$parent.model.f_repairtype" :value-single="true"
179
+ :options='repairstypes' placeholder='报修类型'
180
+ close-on-select>
181
+ </v-select>
182
+ </div>
183
+ </div>
184
+
185
+ <div class="row" style="margin-top: 6px">
186
+ <label class="control-label font text-left col-md-4 col-xs-4">备注</label>
187
+ <div class="col-xs-8 col-md-8">
188
+ <input type="text" v-model="$parent.$parent.model.f_remarks"/>
189
+ </div>
190
+
191
+ </div>
192
+
193
+ </div>
194
+ <div v-if="!showrepair">
195
+ 暂无隐患设备信息
196
+ </div>
197
+ </div>
198
+ <div slot="modal-footer" class="modal-footer">
199
+ <button type="button" class="btn btn-default" @click="uploadPaper()">确定</button>
200
+ <button type="button" class="btn btn-default" @click="undo()">取消</button>
201
+ </div>
202
+ </modal>
203
+ </template>
204
+
205
+ <script>
206
+ import Vue from 'vue'
207
+ import * as Util from '../Util'
208
+ import { HttpResetClass } from 'vue-client'
209
+ import RadioGroup from 'vue-client/src/vue-strap/src/radioGroup'
210
+ import Radio from 'vue-client/src/vue-strap/src/radioBtn'
211
+ import co from 'co'
212
+
213
+ // let getRepairParam = function * (self){
214
+ // let data = {
215
+ // $parent.$parent.model: self.$parent.$parent.model, loginUser: {
216
+ // name: self.role == 'view'?self.$login.f.name:Vue.user.name,
217
+ // ename: self.role == 'view'?self.$login.f.ename:Vue.user.ename
218
+ // }, user: self.user, callObj: self.callObj
219
+ // }
220
+ // if(self.$parent.$parent.meading == '转维修员'){
221
+ // data.toRepair = '一级派单'
222
+ // }
223
+ // data.$parent.$parent.model.f_attendant = data.loginUser.name
224
+ // //tag
225
+ // //tag
226
+ // let res
227
+ // let errString = self.$parent.$parent.errorVerify()
228
+ // if(errString){
229
+ // //tag
230
+ // if (Vue.android)
231
+ // self.undo()
232
+ // this.$showMessage(errString)
233
+ // return
234
+ // } else {
235
+ // if(self.role == 'inspect'){
236
+ // if(self.$parent.$parent.meading == '转维修员' && (self.$parent.$parent.model.serviceacitivity[0].f_reciever == '' || self.$parent.$parent.model.serviceacitivity[0].f_reciever == undefined)){
237
+ // this.$showMessage("请选择维修员!")
238
+ // return
239
+ // }
240
+ // if(self.$parent.$parent.meading == '转站点' && (self.$parent.$parent.model.serviceacitivity[0].f_reciever == '' || self.$parent.$parent.model.serviceacitivity[0].f_reciever == undefined)){
241
+ // HostApp.alert()
242
+ // this.$showMessage("请选择站点!")
243
+ // return
244
+ // }
245
+ // if(self.$parent.$parent.model.f_repairtype == ''){
246
+ // this.$showMessage("请选择报修类型!")
247
+ // return
248
+ // }
249
+ // //tag)
250
+ // let checkResult = '正常'
251
+ // let options = [{"data": "已处理"},{"data": "未处理"}]
252
+ // let value = ''
253
+ // let codata = JSON.parse(JSON.stringify(self.paper))
254
+ // for(let device in codata){
255
+ // //tag)
256
+ // let f_device_type
257
+ // if(device.startsWith("device")){
258
+ // for(let item in codata[device]) {
259
+ // if(codata[device].length > 1 ){
260
+ // let j = Number.parseInt(item)+1
261
+ // f_device_type = `${codata[device][item].f_device_type}${j}`
262
+ // }else{
263
+ // f_device_type = codata[device][item].f_device_type
264
+ // }
265
+ // // //tag
266
+ // let details = []
267
+ // for(let i in codata[device][item].f_items){
268
+ // let items = codata[device][item].f_items[i]
269
+ // //tag
270
+ // if(items.f_is_defect == true || items.f_is_defect == 'true'){
271
+ // checkResult = '有隐患'
272
+ // //tag
273
+ // let res = yield self.$resetpost(`${self.Url}/api/af-safecheck/sql/getDeviceItem`,{data:{f_device_id:codata[device][item].f_device_id,f_item_name:items.f_item_name}})
274
+ // //tag)
275
+ // self.$set('detail.f_defect_id', res.data[0].id)
276
+ // self.$set('detail.f_project',`${items.f_item_name}:${items.f_item_value}`)
277
+ // self.$set('detail.type',items.type)
278
+ // self.$set('detail.options',options)
279
+ // details.push(JSON.parse(JSON.stringify(self.detail)))
280
+ // }
281
+ // if(items.type == 'selector'){
282
+ // items.selected = ''
283
+ // }
284
+ // self.detail = {}
285
+ // }
286
+ // //tag
287
+ // self.$set('defectDevice.f_type',f_device_type)
288
+ // self.$set('defectDevice.details',details)
289
+ // if(self.defectDevice.details.length >0 ){
290
+ // self.repairitems.push(JSON.parse(JSON.stringify(self.defectDevice)))
291
+ // }
292
+ // self.defectDevice = {}
293
+ // //tag
294
+ // }
295
+ // }
296
+ // }
297
+ // self.$set('$parent.$parent.model.f_repairitems.data',self.repairitems)
298
+ //
299
+ //
300
+ // //tag)
301
+ // res = self.$androidUtil.bzLogic('safecheckToRepair',data)
302
+ // //tag
303
+ // //tag
304
+ // //tag
305
+ // if(res.code == 200){
306
+ // self.$parent.$parent.isSafeCheckToRepair = true
307
+ // self.undo()
308
+ // self.$set('paper.f_SafeToRepair_id',res.data.f_service_id)
309
+ // //tag
310
+ // self.$resetpost(`${self.Url}/api/af-safecheck/logic/updatePaperRepair`,{data:{f_paper_id:self.paper.f_paper_id,f_SafeToRepair_id:res.data.f_service_id}}).then((ret)=>{
311
+ // //tag
312
+ // if(ret.data.code ==200){
313
+ // //tag
314
+ // self.$parent.$parent.$back()
315
+ // }else{
316
+ // self.$showMessage('安检转维修失败!')
317
+ // }
318
+ // }).catch(v=>{
319
+ // //tag)
320
+ // self.$showMessage('安检转维修失败!')
321
+ // })
322
+ // }else{
323
+ // self.$showMessage('安检转维修失败!')
324
+ // }
325
+ // }
326
+ // }
327
+ // }
328
+
329
+
330
+
331
+ let getRepairs = async function(self,url) {
332
+ // 获取配置信息
333
+ try {
334
+ let val = {source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($维修员$) != -1 ))', userid: `${Vue.user.id}`}
335
+ let repairs =[]
336
+ let res = await Vue.resetpost(`${url}/rs/search`,{data: val},{resolveMsg: null, rejectMsg: null})
337
+ res.data.forEach((item) => {
338
+ repairs.push({label: item.name, value: item})
339
+ })
340
+ self.f_repair_person = repairs
341
+ if(self.$parent.$parent.role == 'inspect'){
342
+ let res = self.$androidUtil.bzLogic('getUserInfo',{id:self.paper.f_userinfoid})
343
+ if(res.code == 200){
344
+ self.$parent.$parent.user = res.data[0]
345
+ self.$parent.$parent.model.f_area = self.$parent.$parent.user.f_area
346
+ }
347
+ }else{
348
+ //tag
349
+ self.$resetpost(`${self.Url}/api/af-safecheck/sql/getUserInfo`,{data:{id:self.paper.f_userinfoid}},{resolveMsg: null, rejectMsg: null}).then((res)=>{
350
+ //tag
351
+ if(res.data.length != 0){
352
+ self.$parent.$parent.user = res.data[0]
353
+ self.$parent.$parent.model.f_area = self.$parent.$parent.user.f_area
354
+ }
355
+ })
356
+ // path({alias:'getUserInfo',data:{id:this.paper.f_userinfoid}})
357
+ }
358
+ } catch (error) {
359
+ //tag
360
+ }
361
+ }
362
+
363
+ export default {
364
+ title: '用户反馈',
365
+ data() {
366
+ return {
367
+ images:[],
368
+ meading:this.$parent.$parent.meading,
369
+ paper:this.$parent.$parent.data,
370
+ printContent:[],
371
+ upload_state: this.$parent.$parent.item.f_upload_state,
372
+ radios:[
373
+ {
374
+ label: '满意',
375
+ value: 0,
376
+ isChecked: false,
377
+ },
378
+ {
379
+ label: '基本满意',
380
+ value:1,
381
+ isChecked: false,
382
+ },
383
+ {
384
+ label: '不满意',
385
+ value:2,
386
+ isChecked: false,
387
+ },
388
+ ],
389
+ repairitems:[],
390
+ repairstypes:this.$appdata.getParam('报修类型'),
391
+ f_repair_person: this.readRepair(),
392
+ showrepair: false,
393
+ safeCheckToRepair:'',
394
+ showCheckToRepair:false,
395
+ userid: '',
396
+ source:
397
+ 'dep=this.getParentByType($organization$).getSpecialResByType($department$),' +
398
+ 'tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))',
399
+ isback:false,
400
+ defectDevice:{},
401
+ detail:{},
402
+ callObj:null,
403
+ user:{},
404
+ role:this.$parent.$parent.role,
405
+ handling:[{label:'转站点',value:'转站点'},{label:'转维修员',value:'转维修员'}],
406
+ Url:this.$androidUtil.getProxyUrl()
407
+ }
408
+ },
409
+ props: ['idx'],
410
+ components: {
411
+ RadioGroup,
412
+ Radio
413
+ },
414
+ methods: {
415
+ check(index) {
416
+ //tag
417
+ // 先取消所有选中项
418
+ for (let item of this.radios){
419
+ item.isChecked = false;
420
+ }
421
+ //再设置当前点击项选中
422
+ this.paper.f_client_evaluation = this.radios[index].label;
423
+ // 设置值,以供传递
424
+ this.radios[index].isChecked = true;
425
+ //tag;
426
+ },
427
+ getSignValue(fileName) {
428
+ this.f_signname = fileName
429
+ },
430
+ cameraCallBack(prop, fileName) {
431
+ if(prop == 'f_overall_path'){
432
+ let f_overall_path = fileName + '?' + Math.random()
433
+ HostApp.__this__.paper.f_overall_imgs.push({
434
+ f_overall_path:f_overall_path
435
+ })
436
+ }else{
437
+ HostApp.__this__.paper[prop] = fileName + '?' + Math.random()
438
+ }
439
+ HostApp.__callback__ = null
440
+ HostApp.__this__ = null
441
+ },
442
+ takePic(prop, title,index) {
443
+ HostApp.__callback__ = this.cameraCallBack
444
+ HostApp.__this__ = this
445
+ //tag
446
+ //tag
447
+ let fileName
448
+ if(prop == 'f_overall_path'){
449
+ if (!this.paper.f_overall_imgs[index] || this.paper.f_overall_imgs[index].f_overall_path.includes("nopic.png")) {
450
+ fileName = Util.guid() + '-' + prop + '.jpg'
451
+ } else {
452
+ fileName = Util.getFileName(this.paper.f_overall_imgs[index].f_overall_path)
453
+ }
454
+ }else{
455
+ if (!this.paper[prop] || this.paper[prop].includes("nopic.png")) {
456
+ fileName = Util.guid() + '-' + prop + '.jpg'
457
+ } else {
458
+ fileName = Util.getFileName(this.paper[prop])
459
+ }
460
+ }
461
+
462
+ HostApp._open_a_page({
463
+ type: 'boomerang',
464
+ page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
465
+ param: {
466
+ file: fileName,
467
+ requestCode: 111,
468
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
469
+ watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
470
+ }
471
+ })
472
+ },
473
+ amrCallBack(fileName) {
474
+ HostApp.__this__.$set('paper.f_recording1_path', fileName)
475
+ HostApp.__callback__ = null
476
+ HostApp.__this__ = null
477
+ },
478
+ record() {
479
+ if (this.$parent.$parent.role != 'inspect') {
480
+ if (this.paper.f_recording1_path != '') {
481
+ window.location = this.paper.f_recording1_path
482
+ }
483
+ } else {
484
+ HostApp.__callback__ = this.amrCallBack
485
+ HostApp.__this__ = this
486
+ let fileName
487
+ if (!this.paper.f_recording1_path) {
488
+ fileName = Util.guid() + '.amr'
489
+ } else {
490
+ fileName = Util.getFileName(this.paper.f_recording1_path)
491
+ }
492
+ HostApp._open_a_page({
493
+ type: 'boomerang',
494
+ page: 'com.aofeng.hybrid.android.peripheral.AudioClipActivity',
495
+ param: {file: fileName, requestCode: 111, callback: 'javascript:HostApp.__callback__("%s");'}
496
+ })
497
+ }
498
+ },
499
+ // 签名回调
500
+ signCallback(prop, fileName) {
501
+ // HostApp.alert('绑定属性:' + prop + ' 文件全路径如file:///storage/sdcard0/safecheck/abc.jpg:' + fullFileName)
502
+ HostApp.__this__.$set('paper.f_sign_path', fileName)
503
+ HostApp.__callback__ = null
504
+ HostApp.__this__ = null
505
+ },
506
+ // 用户签名
507
+ sign() {
508
+ this.delAudioFile('f_sign_path', this.paper.f_sign_path)
509
+ let prop = 'f_sign_path'
510
+ let idx = 'aofeng'
511
+ let fileName
512
+ if (!this.paper.f_sign_path) {
513
+ fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
514
+ } else {
515
+ fileName = Util.getFileName(this.paper.f_sign_path)
516
+ }
517
+ HostApp.__callback__ = this.signCallback
518
+ HostApp.__this__ = this
519
+ HostApp.getSignature({
520
+ file: fileName,
521
+ requestCode: 111,
522
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");'
523
+ })
524
+ },
525
+ delfile(prop, fileName,index) {
526
+ if (fileName == Vue.nopic)
527
+ return
528
+ else {
529
+ if(prop == 'f_overall_path'){
530
+ this.paper.f_overall_imgs.splice(index,1)
531
+ HostApp.delfile(fileName)
532
+ }else{
533
+ HostApp.delfile(fileName)
534
+ this.paper[prop] = Vue.nopic
535
+ }
536
+ }
537
+ },
538
+ delAudioFile(prop, fileName) {
539
+ if (!fileName)
540
+ return
541
+ else {
542
+ HostApp.delfile(fileName)
543
+ this.paper[prop] = null
544
+ }
545
+ },
546
+ //获取打印用户信息
547
+ getUser() {
548
+ if (this.paper.f_user_name == undefined)
549
+ this.paper.f_user_name = ''
550
+ this.printContent.push({type: 3, text: '用户名称:' + this.paper.f_user_name, fontsize: 2, isbold: false, align: 'left'})
551
+ if (this.paper.f_userinfo_code == undefined)
552
+ this.paper.f_userinfo_code = ''
553
+ this.printContent.push({type: 3, text: '用户编号:' + this.paper.f_userinfo_code, fontsize: 2, isbold: false, align: 'left'})
554
+ if (this.paper.f_address == undefined)
555
+ this.paper.f_address = ''
556
+ this.printContent.push({type: 3, text: '地址:' + this.paper.f_address, fontsize: 2, isbold: false, align: 'left'})
557
+ if (this.paper.f_user_phone == undefined)
558
+ this.paper.f_user_phone = ''
559
+ this.printContent.push({type: 3, text: '电话:' + this.paper.f_user_phone, fontsize: 2, isbold: false, align: 'left'})
560
+ },
561
+ verify(){
562
+ let hasError = this.$parent.$parent.verifyUser()
563
+ if(hasError)
564
+ return hasError
565
+ hasError = this.$parent.$parent.verifyDevices()
566
+ if(hasError)
567
+ return hasError
568
+ },
569
+ print() {
570
+ let errString = this.verify()
571
+ if (errString) {
572
+ //tag
573
+ if (Vue.android)
574
+ this.$showMessage(errString)
575
+ return
576
+ }
577
+ // 文本
578
+ let templatename = '安检结果单'
579
+ if(Vue.config.safecheck != undefined) {
580
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
581
+ if (Vue.config.safecheck.ApproveConfig.templatename != undefined) {
582
+ templatename = Vue.config.safecheck.ApproveConfig.templatename
583
+ }
584
+ }
585
+ }
586
+ let textHead = {type: 3, text: templatename, fontsize: 3, isbold: true, align: 'center'}
587
+ let feedPageHead = {type: 4, value: 2, unit: 'line'}
588
+ let feedPageEnd = {type: 4, value: 4, unit: 'line'}
589
+ this.printContent.push(textHead)
590
+ this.printContent.push(feedPageHead)
591
+ this.getUser()
592
+ this.getDefect()
593
+ this.getCheck()
594
+ this.printContent.push(feedPageEnd)
595
+ let arrstr = JSON.stringify(this.printContent)
596
+ //tag
597
+ this.$androidUtil.print(arrstr)
598
+ this.$set('printContent', [])
599
+ },
600
+ //打印安检信息
601
+ getCheck() {
602
+ let telephone = '96777'
603
+ if(Vue.config.safecheck != undefined) {
604
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
605
+ if (Vue.config.safecheck.ApproveConfig.checkphone != undefined) {
606
+ telephone = Vue.config.safecheck.ApproveConfig.checkphone
607
+ }
608
+ }
609
+ }
610
+ this.printContent.push({type: 3, text: '*******************************', fontsize: 3, isbold: false, align: 'center'})
611
+ this.printContent.push({type: 3, text: '24小时抢修电话:'+telephone, fontsize: 2, isbold: false, align: 'left'})
612
+ this.printContent.push({type: 3, text: '安检人:'+Vue.user.name, fontsize: 2, isbold: false, align: 'left'})
613
+ this.printContent.push({type: 3, text: '安检时间:' + this.getNowFormatDate(), fontsize: 2, isbold: false, align: 'left'})
614
+ this.printContent.push({type: 3, text: '用户签字:', fontsize: 2, isbold: false, align: 'left'})
615
+ this.printContent.push({type: 4, value: 4, unit: 'line'})
616
+ this.printContent.push({type: 4, value: 4, unit: 'line'})
617
+ this.printContent.push({type: 4, value: 4, unit: 'line'})
618
+ this.printContent.push({type: 4, value: 4, unit: 'line'})
619
+ this.printContent.push({type: 4, value: 4, unit: 'line'})
620
+ },
621
+
622
+ getDefect() {
623
+ let showmore = false
624
+ if(Vue.config.safecheck != undefined) {
625
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
626
+ if (Vue.config.safecheck.ApproveConfig.showmore != undefined) {
627
+ showmore = Vue.config.safecheck.ApproveConfig.showmore
628
+ }
629
+ }
630
+ }
631
+
632
+ let backData = this.$parent.$parent.getAllDefect()
633
+ // 对隐患信息进行遍历
634
+ let res = JSON.parse(backData.f_defect_content)
635
+ this.printContent.push({
636
+ type: 3,
637
+ text: '安检结果:' + res.result,
638
+ fontsize: 2,
639
+ isbold: false,
640
+ align: 'left'
641
+ })
642
+ this.printContent.push({
643
+ type: 3,
644
+ text: '安检类型:' + this.paper.f_safecheck_type,
645
+ fontsize: 2,
646
+ isbold: false,
647
+ align: 'left'
648
+ })
649
+ this.printContent.push({type: 3, text: '*******************************', fontsize: 3, isbold: false, align: 'center'})
650
+
651
+
652
+ if(showmore) {
653
+ //全部打印
654
+ for (let dev in this.$parent.$parent.config) {
655
+ for (let device in backData) {
656
+ if (device.startsWith("device")) {
657
+ for (let item in backData[device]) {
658
+ //遍历结果
659
+ if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
660
+ let error = true
661
+ for (let i in backData[device][item].f_items) {
662
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
663
+ error = false
664
+ }
665
+ }
666
+ if (error) {
667
+ this.printContent.push({
668
+ type: 3,
669
+ // 这个checkmust还没存
670
+ text: backData[device][item].checkmust ? "*" : "" + dev + (backData[device].indexOf(backData[device][item]) + 1) + ':正常',
671
+ fontsize: 2,
672
+ isbold: false,
673
+ align: 'left'
674
+ })
675
+ } else {
676
+ this.printContent.push({
677
+ type: 3,
678
+ text: backData[device][item].checkmust ? "*" : "" + dev + (backData[device].indexOf(backData[device][item]) + 1) + ':有隐患',
679
+ fontsize: 2,
680
+ isbold: true,
681
+ align: 'left'
682
+ })
683
+ }
684
+ //tag)
685
+ for (let i in backData[device][item].f_items) {
686
+ //tag)
687
+ if (backData[device][item].f_items[i].f_item_value != '' && backData[device][item].f_items[i].f_item_value != null) {
688
+ this.printContent.push({
689
+ type: 3,
690
+ text: backData[device][item].f_items[i].checkmust?"*":"" + backData[device][item].f_items[i].f_item_name + ":" + backData[device][item].f_items[i].f_item_value,
691
+ fontsize: 2,
692
+ isbold: false,
693
+ align: 'left'
694
+ })
695
+ }
696
+ }
697
+ this.printContent.push({type: 4, value: 2, unit: 'line'})
698
+ }
699
+ }
700
+ }
701
+ }
702
+ }
703
+
704
+ for (let dev in this.$parent.$parent.config) {
705
+ for (let device in backData) {
706
+ if (device.startsWith("device")) {
707
+ for (let item in backData[device]) {
708
+ //遍历结果
709
+ if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
710
+ let error = true
711
+ for (let i in backData[device][item].f_items) {
712
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
713
+ error = false
714
+ }
715
+ }
716
+ if (!error) {
717
+ this.printContent.push({
718
+ type: 3,
719
+ text: '隐患:',
720
+ fontsize: 2,
721
+ isbold: true,
722
+ align: 'left'
723
+ })
724
+ }
725
+ }
726
+ }
727
+ }
728
+ }
729
+ for (let device in backData) {
730
+ if (device.startsWith("device")) {
731
+ for (let item in backData[device]) {
732
+ if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
733
+ for (let i in backData[device][item].f_items) {
734
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
735
+ this.printContent.push({
736
+ type: 3,
737
+ text: backData[device][item].f_items[i].checkmust?"*":"" + backData[device][item].f_items[i].f_item_name + ':' + backData[device][item].f_items[i].f_item_value,
738
+ fontsize: 2,
739
+ isbold: true,
740
+ align: 'left'
741
+ })
742
+ }
743
+ }
744
+ }
745
+ }
746
+ }
747
+ }
748
+
749
+ }
750
+ }else {
751
+ for (let dev in this.$parent.$parent.config) {
752
+ for (let device in backData) {
753
+ if (device.startsWith("device")) {
754
+ for (let item in backData[device]) {
755
+ //遍历结果
756
+ if (backData[device].length != 0 && backData[device][item].f_device_type == dev) {
757
+ let error = true
758
+ for (let i in backData[device][item].f_items) {
759
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
760
+ error = false
761
+ }
762
+ }
763
+ if (error) {
764
+ this.printContent.push({
765
+ type: 3,
766
+ text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':正常',
767
+ fontsize: 2,
768
+ isbold: false,
769
+ align: 'left'
770
+ })
771
+ } else {
772
+ this.printContent.push({
773
+ type: 3,
774
+ text: dev + (backData[device].indexOf(backData[device][item]) + 1) + ':有隐患',
775
+ fontsize: 2,
776
+ isbold: false,
777
+ align: 'left'
778
+ })
779
+ }
780
+
781
+ for (let i in backData[device][item].f_items) {
782
+ if (backData[device][item].f_items[i].f_is_defect == true || backData[device][item].f_items[i].f_is_defect == 'true') {
783
+ this.printContent.push({
784
+ type: 3,
785
+ text: '隐患:' + backData[device][item].f_items[i].checkmust?"*":"" + backData[device][item].f_items[i].f_item_name + ":" + backData[device][item].f_items[i].f_item_value,
786
+ fontsize: 2,
787
+ isbold: false,
788
+ align: 'left'
789
+ })
790
+ }
791
+ }
792
+ this.printContent.push({type: 4, value: 2, unit: 'line'})
793
+ }
794
+ }
795
+ }
796
+ }
797
+ }
798
+ }
799
+ },
800
+ //获取当前时间
801
+ getNowFormatDate(){
802
+ var date = new Date();
803
+ var seperator1 = "-";
804
+ var seperator2 = ":";
805
+ var month = date.getMonth() + 1;
806
+ var strDate = date.getDate();
807
+ if (month >= 1 && month <= 9) {
808
+ month = "0" + month;
809
+ }
810
+ if (strDate >= 0 && strDate <= 9) {
811
+ strDate = "0" + strDate;
812
+ }
813
+ var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
814
+ + " " + date.getHours() + seperator2 + date.getMinutes()
815
+ + seperator2 + date.getSeconds();
816
+ return currentdate;
817
+ },
818
+ readRepair () {
819
+ let url = this.$androidUtil.getProxyUrl()
820
+ let gen = getRepairs(this,url)
821
+ return co(gen)
822
+ },
823
+ showToRepair(){
824
+ let res = this.hasDefect()
825
+ //tag
826
+ //tag
827
+ if(res == '正常'){
828
+ this.showrepair = false
829
+ }else{
830
+ this.showrepair = true
831
+ this.assignObj()
832
+ }
833
+ this.showCheckToRepair = !this.showCheckToRepair
834
+ },
835
+ // 选中部门
836
+ reres(val){
837
+ if(val.res == undefined){
838
+ return
839
+ }
840
+ this.$parent.$parent.model.serviceacitivity[0].f_meetunit = val.res
841
+ this.$parent.$parent.model.f_meetunit = val.res
842
+ this.$parent.$parent.model.f_orgstr = val.resids
843
+ var arr = val.res.split('.')
844
+ this.$parent.$parent.model.f_outlets = arr[arr.length - 1]
845
+ this.$parent.$parent.model.serviceacitivity[0].f_reciever = val.resids
846
+ },
847
+ assignObj(){
848
+ this.$parent.$parent.model.f_contact_phone = this.paper.f_user_phone
849
+ this.$parent.$parent.model.f_user_name = this.paper.f_user_name
850
+ this.$parent.$parent.model.f_address = this.paper.f_address
851
+ this.$parent.$parent.model.f_user_type = this.paper.f_check_type
852
+ this.$parent.$parent.model.f_street = this.paper.f_street
853
+ this.$parent.$parent.model.f_residential_area = this.paper.f_residential_area
854
+ this.$parent.$parent.model.f_building = this.paper.f_building
855
+ this.$parent.$parent.model.f_unit = this.paper.f_unit
856
+ this.$parent.$parent.model.f_floor = this.paper.f_floor
857
+ this.$parent.$parent.model.f_room = this.paper.f_room
858
+ this.$parent.$parent.model.f_floor = this.paper.f_floor
859
+ this.$parent.$parent.model.f_userinfo_id = this.paper.f_userinfoid
860
+ this.$parent.$parent.model.f_userinfo_code = this.paper.f_userinfo_code
861
+ },
862
+ hasDefect(){
863
+ let checkResult = '正常'
864
+ let codata = JSON.parse(JSON.stringify(this.paper))
865
+ for(let device in this.paper){
866
+ if(device.startsWith("device")){
867
+ for(let item in this.paper[device]) {
868
+ for(let i in this.paper[device][item].f_items){
869
+ let items = this.paper[device][item].f_items[i]
870
+ //tag
871
+ if(items.f_is_defect == true || items.f_is_defect == 'true'){
872
+ checkResult = '有隐患'
873
+ }
874
+ }
875
+ }
876
+ }
877
+ }
878
+ return checkResult
879
+ },
880
+ uploadPaper() {
881
+ if(this.showrepair){
882
+ //tag
883
+ //tag
884
+ //tag
885
+ //tag
886
+
887
+ if(this.meading == '转维修员' && (this.$parent.$parent.model.serviceacitivity[0].f_reciever == '' || this.$parent.$parent.model.serviceacitivity[0].f_reciever == undefined)){
888
+ this.$showMessage("请选择维修员!")
889
+ return
890
+ }
891
+ if(this.$parent.$parent.meading == '转站点' && (this.$parent.$parent.model.serviceacitivity[0].f_reciever == '' || this.$parent.$parent.model.serviceacitivity[0].f_reciever == undefined)){
892
+ this.$showMessage("请选择站点!")
893
+ return
894
+ }
895
+ if(this.$parent.$parent.model.f_repairtype == ''){
896
+ this.$showMessage("请选择报修类型!")
897
+ return
898
+ }
899
+ this.$parent.$parent.isToRepair = true
900
+ this.$parent.$parent.uploadCheckPaper()
901
+ // this.$parent.$parent.savePaper(false).then((res) => {
902
+ // //tag
903
+ // if(res != true){
904
+ // //tag
905
+ // return
906
+ // }else{
907
+ // this.$parent.$parent.todo()
908
+ // }
909
+ // })
910
+ }else{
911
+ this.$parent.$parent.undo()
912
+ }
913
+
914
+ },
915
+ //确认安检转维修
916
+
917
+ undo(){
918
+ this.showCheckToRepair = !this.showCheckToRepair
919
+ this.$parent.$parent.model.serviceacitivity[0].f_reciever = ''
920
+ this.$parent.$parent.model.serviceacitivity[0].f_meetunit = ''
921
+ this.$parent.$parent.model.f_repairtype = ''
922
+ this.meading = '转站点'
923
+ },
924
+ repiarmancg(val){
925
+ if(val){
926
+ //tag
927
+ this.$parent.$parent.model.serviceacitivity[0].f_reciever = val.name
928
+ let http1 = new HttpResetClass()
929
+ http1.load('POST',`${this.Url}/api/af-safecheck/sql/safe_singleTable_OrderBy`, {data: {
930
+ items: 'f_user_telephone',
931
+ tablename: 't_user',
932
+ condition: `name = '${val}'`,
933
+ orderitem: 'id'
934
+ }}, {resolveMsg: null, rejectMsg: null}).then((ress) => {
935
+ this.$parent.$parent.model.f_repairman_phone = ress.data[0].f_user_telephone
936
+ })
937
+ }
938
+ },
939
+ },
940
+ ready() {
941
+ //tag)
942
+ if (this.$parent.$parent.role == 'repair') {
943
+ this.$set('style__', 'divmask')
944
+ this.$set('style_view_', '')
945
+ }
946
+ else if (this.$parent.$parent.role == 'view' || this.$parent.$parent.item.f_upload_state == '已传') {
947
+ this.$set('style__', 'divmask')
948
+ this.$set('style_view_', 'divmask')
949
+ //tag
950
+ } else {
951
+ this.$set('style__', '')
952
+ this.$set('style_view_', '')
953
+ }
954
+
955
+ for (let item of this.radios){
956
+ if(this.paper.f_client_evaluation == item.label){
957
+ item.isChecked = true;
958
+ }
959
+ }
960
+ if (!this.paper.f_notified_path)
961
+ this.$set('paper.f_notified_path', Vue.nopic)
962
+ if (!this.paper.f_sign_path)
963
+ this.$set('paper.f_sign_path', Vue.nopic)
964
+ //tag
965
+ if (!this.paper.f_overall_imgs){
966
+ let imgs = []
967
+ // imgs.push({f_overall_path:Vue.nopic})
968
+ this.$set('paper.f_overall_imgs', imgs)
969
+ //tag
970
+ }
971
+ if (!this.paper.f_overall2_path)
972
+ this.$set('paper.f_overall2_path', Vue.nopic)
973
+
974
+ this.userid = this.role == 'view'? this.$login.f.id:Vue.user.id
975
+ if(Vue.config.safecheck != undefined){
976
+ if(Vue.config.safecheck.ApproveConfig != undefined){
977
+ if(Vue.config.safecheck.ApproveConfig.safeCheckToRepair != undefined) {
978
+ this.safeCheckToRepair = Vue.config.safecheck.ApproveConfig.safeCheckToRepair
979
+ }
980
+ }
981
+ }
982
+ //tag
983
+ //tag
984
+ },
985
+ watch:{
986
+ '$parent.$parent.isUpload'(val){
987
+ //tag
988
+ },
989
+ 'meading'(val){
990
+ //tag
991
+ this.$parent.$parent.meading = val
992
+ }
993
+ }
994
+ }
995
+ </script>
996
+ <style>
997
+ .panel-self{
998
+ border-radius: 5px;
999
+ border:1px solid #c5e1f7;
1000
+ background-color: #F2F6FA;
1001
+ }
1002
+ .text-left{
1003
+ text-align:left;
1004
+ }
1005
+ .font{
1006
+ font: 15px PingFang-SC-Medium;
1007
+ color: #333333;
1008
+ }
1009
+ .showIi{
1010
+ font: 14px PingFang-SC-Medium;
1011
+ color: #666666;
1012
+ }
1013
+ .info{
1014
+ margin-top: 15px;
1015
+ border-radius: 5px;
1016
+ background-color: #f3faff;
1017
+ }
1018
+ .btn-photo{
1019
+ border: 0;
1020
+ border-radius: 7px;
1021
+ background-color: #7dc1f4;
1022
+ font: 15px PingFang-SC-Bold;
1023
+ height: 20%;
1024
+ }
1025
+ .div-photo{
1026
+ width: auto;
1027
+ height: auto;
1028
+ /* margin-top: 10px; */
1029
+ position: absolute;
1030
+ bottom: 10px;
1031
+ right: 10px;
1032
+ }
1033
+ .btn-voice{
1034
+ border-radius: 7px;
1035
+ border: 1px solid #dedede;
1036
+ background-color: #f5fbff;
1037
+ font: 15px PingFang-SC-Bold;
1038
+ color: #499edf;
1039
+ }
1040
+ .save-btn{
1041
+ width: 25%;
1042
+ background-color:#499edf;
1043
+ border-radius: 6px;
1044
+ color: #FFFFFF;
1045
+ font: 15px PingFang-SC-Bold;
1046
+ }
1047
+ .upload-btn{
1048
+ width: 25%;
1049
+ background-color:#ffffff;
1050
+ border: 1px solid #499edf;
1051
+ border-radius: 6px;
1052
+ color: #499edf;
1053
+ font: 15px PingFang-SC-Bold;
1054
+ }
1055
+ .repair-btn{
1056
+ width: 25%;
1057
+ border: 1px solid #499edf;
1058
+ border-radius: 6px;
1059
+ font: 15px PingFang-SC-Bold;
1060
+ }
1061
+ </style>