safecheck-client 4.0.2-50 → 4.0.2-51

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 (273) hide show
  1. package/package.json +1 -1
  2. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  3. package/src/components/DefectDealMain/DefectListNew.vue +642 -642
  4. package/src/components/Util/RightTreeSafeDep.vue +362 -362
  5. package/src/components/android/AddPlanItem.vue +447 -447
  6. package/src/components/android/AddPlanItemYy.vue +451 -451
  7. package/src/components/android/AddSpecialPlanItem.vue +426 -426
  8. package/src/components/android/AndroidNotifiedDeal.vue +417 -0
  9. package/src/components/android/CurrentCreateYy.vue +1051 -1051
  10. package/src/components/android/DailyworkloadQuery.vue +473 -473
  11. package/src/components/android/Devices.vue +327 -327
  12. package/src/components/android/Devicesm.vue +327 -327
  13. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  14. package/src/components/android/PhoneRecordInfo.vue +113 -113
  15. package/src/components/android/PhoneSellInfo.vue +113 -113
  16. package/src/components/android/PhoneUpDetail.vue +1040 -1040
  17. package/src/components/android/PhoneUpUserinfo.vue +1249 -1249
  18. package/src/components/android/QRCode/QRCodeBinding.vue +300 -300
  19. package/src/components/android/QRCode/QRCodePage.vue +212 -212
  20. package/src/components/android/SafePlanItem.vue +509 -509
  21. package/src/components/android/SafeRightTree.vue +218 -218
  22. package/src/components/android/SafecheckDevices.vue +1340 -1340
  23. package/src/components/android/UploadPage.vue +232 -232
  24. package/src/components/android/examples/SafeListExamples.vue +296 -296
  25. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  26. package/src/components/android/recheck/Recheck.vue +402 -402
  27. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  28. package/src/components/android/week/CheckResultSimple.vue +251 -251
  29. package/src/components/android/week/FirstWeekCheck.vue +275 -275
  30. package/src/components/android/week/StepHeaderBar.vue +457 -457
  31. package/src/components/android/week/WeekCheck.vue +209 -209
  32. package/src/components/android/week/WeekCheckPaper.vue +219 -219
  33. package/src/components/android/week/WeekCheckPlan.vue +145 -145
  34. package/src/components/checkplan/checkmsg.vue +459 -459
  35. package/src/components/defect/DefectList.vue +507 -507
  36. package/src/components/defect/DefectListWeixiu.vue +484 -484
  37. package/src/components/filialCircle/CircleList.vue +139 -139
  38. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  39. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  40. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  41. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  42. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  43. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  44. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  45. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  46. package/src/components/map/PersonTrack.vue +226 -226
  47. package/src/components/paper/RegionalList.vue +220 -220
  48. package/src/components/pc/AnnouncementPC.vue +524 -524
  49. package/src/components/pc/CheckBookArea.vue +146 -146
  50. package/src/components/pc/CheckBookCompany.vue +144 -144
  51. package/src/components/pc/CheckBookDetails.vue +161 -161
  52. package/src/components/pc/CheckBookEntry.vue +60 -60
  53. package/src/components/pc/CheckBookSearchArea.vue +560 -560
  54. package/src/components/pc/CheckBookSearchUnit.vue +229 -229
  55. package/src/components/pc/CheckBookSearchUser.vue +659 -659
  56. package/src/components/pc/CheckBookSearchUserList.vue +674 -674
  57. package/src/components/pc/DefectList.vue +742 -742
  58. package/src/components/pc/DefectMaterialLook.vue +98 -98
  59. package/src/components/pc/DeviceChange.vue +1068 -1068
  60. package/src/components/pc/PaperDefectMain.vue +905 -905
  61. package/src/components/pc/RoleSelectorDep.vue +166 -166
  62. package/src/components/pc/SafeVisitInfo.vue +261 -261
  63. package/src/components/report/HiddenSituation.vue +165 -165
  64. package/src/components/rongcheng/AspiratedOrderV.vue +2377 -2377
  65. package/src/components/rongcheng/CurrentCreateOnline.vue +906 -906
  66. package/src/components/rongcheng/DefectList.vue +560 -560
  67. package/src/components/rongcheng/SafecheckOrderVCli.vue +2641 -2641
  68. package/src/components/safecheckNew/android/AddPlanItem.vue +419 -419
  69. package/src/components/safecheckNew/android/CurrentCreate.vue +1050 -1050
  70. package/src/components/safecheckNew/android/Recheck.vue +379 -379
  71. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  72. package/src/components/shaoguan/DefectList.vue +473 -473
  73. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  74. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  75. package/src/components/userfile/SecurityAudit.vue +243 -243
  76. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +476 -476
  77. package/src/filiale/ancheng/android/SafecheckOrderV.vue +2703 -2703
  78. package/src/filiale/ancheng/android/SafecheckUserInfo.vue +737 -737
  79. package/src/filiale/ancheng/pc/checkScreen.vue +923 -923
  80. package/src/filiale/ankangyihua/android/AddPlanItem.vue +446 -446
  81. package/src/filiale/ankangyihua/android/SafecheckOrderV.vue +2908 -2908
  82. package/src/filiale/ankangyihua/pc/DefectListWeixiu.vue +491 -491
  83. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -2785
  84. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  85. package/src/filiale/bayan/android/Edit.vue +132 -132
  86. package/src/filiale/bayan/pc/DefectListNew.vue +597 -597
  87. package/src/filiale/bayan/pc/DeviceChange.vue +1838 -1838
  88. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  89. package/src/filiale/dexin/android/CasualSave.vue +1050 -1050
  90. package/src/filiale/dexin/android/SafecheckOrderV.vue +2950 -2950
  91. package/src/filiale/fugou/android/AddPlanItem.vue +413 -413
  92. package/src/filiale/fugou/android/SafecheckOrderV.vue +2796 -2796
  93. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +830 -830
  94. package/src/filiale/fugu/android/SafecheckOrderV.vue +2484 -2484
  95. package/src/filiale/fugu/pc/NewCheckpaper.vue +1287 -1287
  96. package/src/filiale/ganquan/android/AddPlanItem.vue +444 -444
  97. package/src/filiale/ganquan/android/SafecheckOrderV.vue +2485 -2485
  98. package/src/filiale/ganquan/pc/NewCheckpaper.vue +1354 -1354
  99. package/src/filiale/guangxi/pc/DefectListNew.vue +518 -518
  100. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
  101. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  102. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -2803
  103. package/src/filiale/huatong/android/SafecheckOrderV.vue +2426 -2426
  104. package/src/filiale/huatong/android/SafecheckUserInfo.vue +749 -749
  105. package/src/filiale/huayin/pc/NewCheckpaper.vue +1307 -1307
  106. package/src/filiale/jiaocheng/android/AddPlanItem.vue +435 -435
  107. package/src/filiale/jiaocheng/android/SafecheckUserInfo.vue +737 -737
  108. package/src/filiale/jiaocheng/pc/DefectListNew.vue +576 -576
  109. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -447
  110. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  111. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  112. package/src/filiale/jinbin/pc/DefectListWeixiu.vue +478 -478
  113. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  114. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  115. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  116. package/src/filiale/jinhong/android/AndroidDefectDeal.vue +722 -0
  117. package/src/filiale/jinhong/android/PhoneInsurancePurchaseDetail.vue +463 -463
  118. package/src/filiale/jinhong/android.js +13 -12
  119. package/src/filiale/jinhong/pc/PlanManage.vue +927 -927
  120. package/src/filiale/kelai/android/AddPlanItem.vue +488 -488
  121. package/src/filiale/kelai/android/SafecheckUserInfo.vue +774 -774
  122. package/src/filiale/kelai/android/SafecheckUserInfo1.vue +618 -618
  123. package/src/filiale/kelai/pc/DefectListNew.vue +688 -688
  124. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasList.vue +518 -518
  125. package/src/filiale/kelai/pc/NewCheckpaper.vue +1454 -1454
  126. package/src/filiale/liaoyuan/android/AddPlanItem.vue +412 -412
  127. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -1066
  128. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2388 -2388
  129. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +557 -557
  130. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +489 -489
  131. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  132. package/src/filiale/libo/android/CurrentCreate.vue +1091 -1091
  133. package/src/filiale/libo/android.js +15 -15
  134. package/src/filiale/lixian/android/SafecheckOrderV.vue +2404 -2404
  135. package/src/filiale/lixian/android/SafecheckUserInfo.vue +578 -578
  136. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  137. package/src/filiale/meihekou/android/AreaPlan.vue +577 -577
  138. package/src/filiale/meihekou/android/CheckPlanList.vue +198 -198
  139. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -190
  140. package/src/filiale/meihekou/android/MeterReading.vue +110 -110
  141. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1307 -1307
  142. package/src/filiale/meihekou/android/SafecheckDevices.vue +1343 -1343
  143. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +785 -785
  144. package/src/filiale/meihekou/android.js +22 -22
  145. package/src/filiale/meihekou/pc/CheckPlan.vue +52 -52
  146. package/src/filiale/meihekou/pc/NewCheckpaper.vue +2028 -2028
  147. package/src/filiale/meihekou/pc/NewCheckpaperNew.vue +2051 -2051
  148. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1289 -1289
  149. package/src/filiale/meihekou/pc/SelectCheckPlan.vue +262 -262
  150. package/src/filiale/minsheng/android/SafecheckUserInfo.vue +754 -754
  151. package/src/filiale/minsheng/pc/DefectListNew.vue +535 -535
  152. package/src/filiale/pingxiang/android/SafecheckOrderV.vue +2424 -2424
  153. package/src/filiale/pingxiang/android/SafecheckUserInfo.vue +600 -600
  154. package/src/filiale/pingxiang/pc/DefectListNew.vue +519 -519
  155. package/src/filiale/pingxiang/pc/NewCheckpaper.vue +1294 -1294
  156. package/src/filiale/qianneng/android/AddPlanItem.vue +482 -482
  157. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  158. package/src/filiale/qianneng/android/SafecheckUserInfo.vue +775 -775
  159. package/src/filiale/qianneng/pc/DefectListNew.vue +576 -576
  160. package/src/filiale/qianneng/pc/NewCheckpaper.vue +1546 -1546
  161. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  162. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  163. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1871 -1871
  164. package/src/filiale/qingjian/pc/SecurityCheckCoordinates.vue +359 -359
  165. package/src/filiale/qingjian/pc.js +15 -15
  166. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  167. package/src/filiale/qingtongxia/android/SafecheckOrderV.vue +2726 -2726
  168. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  169. package/src/filiale/qingtongxia/pc/DefectListNew.vue +594 -594
  170. package/src/filiale/rizhao/android/AddPlanItem.vue +446 -446
  171. package/src/filiale/rizhao/android/SafecheckOrderV.vue +2430 -2430
  172. package/src/filiale/rizhao/android/SafecheckUserInfo.vue +640 -640
  173. package/src/filiale/rizhao/pc/DefectList.vue +489 -489
  174. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  175. package/src/filiale/rongchuang/android/checkpapermsg.vue +209 -209
  176. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  177. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  178. package/src/filiale/shanggao/android/SafecheckOrderV.vue +2426 -2426
  179. package/src/filiale/shanxian/android/SafecheckUserInfo.vue +749 -749
  180. package/src/filiale/shanxian/pc/HiddenSituation.vue +121 -121
  181. package/src/filiale/shanxian/pc/NewCheckpaper.vue +1526 -1526
  182. package/src/filiale/shexian/android/AddPlanItem.vue +444 -444
  183. package/src/filiale/shexian/android/SafecheckOrderV.vue +2879 -2879
  184. package/src/filiale/shexian/pc/DefectListNew.vue +593 -593
  185. package/src/filiale/shexian/pc/NewCheckpaper.vue +1469 -1469
  186. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  187. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  188. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  189. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  190. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  191. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -214
  192. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -2796
  193. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  194. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -167
  195. package/src/filiale/taiyuan/pc/NewCheckpaper.vue +1976 -1976
  196. package/src/filiale/taiyuan/pc/PlanManage.vue +891 -891
  197. package/src/filiale/taiyuan/pc/checkUserList.vue +798 -798
  198. package/src/filiale/tianke/android/AddPlanItem.vue +455 -455
  199. package/src/filiale/tianke/android/SafecheckOrderV.vue +2431 -2431
  200. package/src/filiale/tianke/android/SafecheckUserInfo.vue +744 -744
  201. package/src/filiale/tongchuan/android/AddPlanItem.vue +483 -483
  202. package/src/filiale/tongchuan/android/PhoneRecordInfo.vue +191 -191
  203. package/src/filiale/tongchuan/android/PhoneSellInfo.vue +113 -113
  204. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +720 -720
  205. package/src/filiale/tongchuan/pc/CheckBookDetails.vue +209 -209
  206. package/src/filiale/tongchuan/pc/DefectListWeixiu.vue +484 -484
  207. package/src/filiale/tongchuan/pc/HiddenSituation.vue +166 -166
  208. package/src/filiale/weinan/android/AddPlanItem.vue +438 -438
  209. package/src/filiale/weinan/android/CurrentCreate.vue +1171 -1171
  210. package/src/filiale/weinan/android/CurrentCreateOnline.vue +911 -911
  211. package/src/filiale/weinan/android/SafePlanItem.vue +440 -440
  212. package/src/filiale/weinan/android/SafecheckUserInfo.vue +778 -778
  213. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  214. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  215. package/src/filiale/weinan/pc/HiddenSituation.vue +167 -167
  216. package/src/filiale/weinan/pc/checkScreen.vue +1094 -1094
  217. package/src/filiale/weinanct/android/SafecheckOrderV.vue +2730 -2730
  218. package/src/filiale/weinanct/pc/NewCheckpaper.vue +1315 -1315
  219. package/src/filiale/wensu/android/AddPlanItem.vue +495 -495
  220. package/src/filiale/wensu/android/AndroidDefectDeal.vue +464 -464
  221. package/src/filiale/wensu/android/PaperFeedback.vue +1358 -1358
  222. package/src/filiale/wensu/android/SafecheckOrderV.vue +2430 -2430
  223. package/src/filiale/wensu/android/SafecheckUserInfo.vue +627 -627
  224. package/src/filiale/wensu/pc/DefectListNew.vue +735 -735
  225. package/src/filiale/wenxi/android/AddPlanItem.vue +431 -431
  226. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2671 -2671
  227. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +673 -673
  228. package/src/filiale/wenxi/pc/DefectList.vue +653 -653
  229. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1358 -1358
  230. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  231. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  232. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  233. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  234. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2456 -2456
  235. package/src/filiale/wuhai/android/SafecheckUserInfo.vue +573 -573
  236. package/src/filiale/wuhai/pc/NewCheckpaper.vue +1281 -1281
  237. package/src/filiale/xiangyuanzhongai/android/PhoneUpUserinfo.vue +1251 -1251
  238. package/src/filiale/xinkang/pc/CheckSearchUser.vue +1026 -1026
  239. package/src/filiale/xinkang/pc/DefectListWeixiu.vue +475 -475
  240. package/src/filiale/xinliansihui/pc/PaperList.vue +814 -814
  241. package/src/filiale/xinliansihui/pc/PaperVisitMain.vue +206 -206
  242. package/src/filiale/xinliansihui/pc.js +13 -13
  243. package/src/filiale/yangchunboneng/android/AddPlanItem.vue +496 -496
  244. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2865
  245. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  246. package/src/filiale/yangchunboneng/pc/DefectListNew.vue +576 -576
  247. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  248. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  249. package/src/filiale/yuansheng/android/SafecheckOrderV.vue +2758 -2758
  250. package/src/filiale/yuansheng/android/SafecheckUserInfo.vue +797 -797
  251. package/src/filiale/yuansheng/pc/DefectListNew.vue +524 -524
  252. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +1371 -1371
  253. package/src/filiale/yuansheng/pc/checkmsg.vue +464 -464
  254. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +491 -491
  255. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1509 -1509
  256. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -113
  257. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +1270 -1270
  258. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +785 -785
  259. package/src/filiale/yunchengminsheng/android.js +15 -15
  260. package/src/filiale/yunchengminsheng/pc/PaperList.vue +811 -811
  261. package/src/filiale/yunchengminsheng/pc.js +15 -15
  262. package/src/filiale/zhongsheng/android/BuyRecords.vue +122 -122
  263. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2461 -2461
  264. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +690 -690
  265. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  266. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1322 -1322
  267. package/src/filiale/zhongyi/android/SafecheckOrderV.vue +2431 -2431
  268. package/src/filiale/zhongyi/pc/DefectListNew.vue +514 -514
  269. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  270. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  271. package/src/main.js +32 -33
  272. package/src/safecheck-android.js +1 -0
  273. package/src/safecheck.js +927 -927
@@ -1,519 +1,519 @@
1
- <template>
2
- <div>
3
- <div :style="{'height':needRepair?'60%':'100%'}">
4
- <criteria-paged :model="model" :pager="false" v-ref:paged>
5
- <criteria partial='criteria'>
6
- <div partial>
7
- <ul class="nav nav-tabs">
8
- <li role="presentation" class="active"><a style=" color: #5ac0d9 !important;">隐患明细</a></li>
9
- </ul>
10
- </div>
11
- </criteria>
12
- <data-grid :model="model" partial='list' class="table_sy">
13
- <template partial='head'>
14
- <tr>
15
- <!-- <th>-->
16
- <!-- <nobr>隐患设备</nobr>-->
17
- <!-- </th>-->
18
- <th>
19
- <nobr>隐患项</nobr>
20
- </th>
21
- <th>
22
- <nobr>隐患原因</nobr>
23
- </th>
24
- <th>
25
- <nobr>隐患处理方式</nobr>
26
- </th>
27
- <th>
28
- <nobr>审核结果</nobr>
29
- </th>
30
- <th>
31
- <nobr>操作</nobr>
32
- </th>
33
- </tr>
34
- </template>
35
- <template partial='body'>
36
- <!-- <td style="text-align: center">-->
37
- <!-- <nobr>{{row.f_device_type}}</nobr>-->
38
- <!-- </td>-->
39
- <td style="text-align: center">
40
- <nobr>{{row.f_item_name}}</nobr>
41
- </td>
42
- <td style="text-align: center">
43
- <nobr>{{row.f_item_value}}</nobr>
44
- </td>
45
- <td style="text-align: center">
46
- <nobr>{{row.f_repaire_type}}</nobr>
47
- </td>
48
- <td style="text-align: center">
49
- <nobr>{{row.f_audit_results?row.f_audit_results:'暂无审核结果'}}</nobr>
50
- </td>
51
- <td style="text-align: center">
52
- <img-button style="float: left;margin-left: 12%" v-if="row.f_repaire_type != '无隐患' && row.f_repaire_type != '维修已处理'" :src="'/rs/image/file/'+row.f_path" :value="'隐患图片'"></img-button>
53
- <button v-if="row.f_repaire_type == '维修已处理'" class="button_new-1 button_spacing" @click="$parent.$parent.$parent.solveDefect( row, 'view')">处理详情</button>
54
- <button v-if="row.f_repaire_type == '隐患未处理'" class="button_spacing button_search-1" @click="$parent.$parent.$parent.solveDefect( row, 'solve')">处理隐患</button>
55
- </td>
56
- </template>
57
- </data-grid>
58
- </criteria-paged>
59
- </div>
60
-
61
- <div style="overflow-y: scroll;height: 40%" v-if="needRepair">
62
- <div class="form-horizontal auto">
63
- <ul class="nav nav-tabs">
64
- <li role="presentation" class="active"><a style=" color: #000 !important;font-size: 14px">转维修</a></li>
65
- </ul>
66
- <validator name='v' @valid="valid = true" @invalid="valid = false">
67
- <div class="row">
68
- <div class="col-sm-4" :class="[$v.dispatchtype.required ? 'select-error' : '']">
69
- <label for="dispatchtype" class="font_normal_body">派发类型</label>
70
- <input id="dispatchtype" type="text" v-show="false" v-model="$refs.dispatchtype.selectedItems" v-validate:dispatchtype='{required: true }'>
71
- <v-select :value.sync="toRepairModal.preData.dispatchType" v-model="toRepairModal.preData.dispatchType"
72
- :options='toRepairModal.preData.dispatchTypeOptions' placeholder='派发类型'
73
- close-on-select v-ref:dispatchtype>
74
- </v-select>
75
- </div>
76
- <div class="col-sm-4 " v-if="toRepairModal.preData.dispatchType == '派发给站点'">
77
- <label class="font_normal_body">站&nbsp;&nbsp;点</label>
78
- <right-tree
79
- islist
80
- :userid="$login.f.id"
81
- :source="'dep=this.getParentByType($organization$).getSpecialResByType($department$),tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))'"
82
- @re-res="getSiteRes">
83
- </right-tree>
84
- </div>
85
- <div class="col-sm-4 " v-if="toRepairModal.preData.dispatchType == '派发给维修员'" :class="[$v.f_repairman.required ? 'select-error' : '']">
86
- <input type="text" v-show="false" v-model="toRepairModal.preData.f_repairman" v-validate:f_repairman='{required: true }'>
87
- <label class="font_normal_body">维修员</label>
88
- <v-select
89
- :value.sync="toRepairModal.preData.f_repairman"
90
- :value-single="true"
91
- :options='toRepairModal.preData.repairers'
92
- placeholder='请选择维修员'
93
- close-on-select></v-select>
94
- </div>
95
- <div class="col-sm-4" :class="[$v.f_repairtype.required ? 'select-error' : '']">
96
- <input type="text" v-show="false" v-model="toRepairModal.preData.f_repairtype" v-validate:f_repairtype='{required: true }'>
97
- <label class="font_normal_body">报修类型</label>
98
- <v-select :value.sync="toRepairModal.preData.f_repairtype" style="width:60%"
99
- class="select select_list"
100
- :value-single="true"
101
- :options='toRepairModal.preData.repairTypeOptions'
102
- close-on-select>
103
- </v-select>
104
- </div>
105
- </div>
106
- <div class="row">
107
- <div class="col-sm-8 form-group">
108
- <label class="font_normal_body" >备&emsp;&emsp;注</label>
109
- <input class="input_search" style="width: 60%" type="text" v-model="toRepairModal.preData.f_remarks" placeholder="备注">
110
-
111
- </div>
112
- <div class="col-sm-4" style="margin-top: 1%">
113
- <button class="button_search" :disabled="!valid" @click="confirm">转维修</button>
114
- </div>
115
- </div>
116
- </validator>
117
- </div>
118
- </div>
119
- <modal :show.sync="showSolveModal" v-ref:solveModal>
120
- <div slot="modal-header" class="modal-header">
121
- <h4 class="modal-title">
122
- {{solveModal.preData.type == 'view'?'处理详情':'处理隐患'}}
123
- </h4>
124
- </div>
125
- <div slot="modal-body" class="modal-body">
126
- <div style="width: 100%;height: 36px;background-color: #f1f8ff;float: left">
127
- <div style="width: 8px;height: 100%;background-color: #6aa6e2;margin-right: 20px;float: left"></div>
128
- <div style="width: auto;height:100%;float: left;"><p class="title-font" style="margin-top: 5px">处理前</p></div>
129
- </div>
130
-
131
- <div class="col-sm-6" style="margin-top: 10px">
132
- <label class="font_normal_body">安&nbsp;检&nbsp;员</label>
133
- <input class="input_search" style="width: 60%" type="text" disabled="true" v-model="check.f_checker_name" placeholder="安检员">
134
- </div>
135
- <div class="col-sm-6" style="margin-top: 10px">
136
- <label class="font_normal_body">安检时间</label>
137
- <input class="input_search" style="width: 60%" type="text" disabled="true" v-model="check.f_offsite_time" placeholder="安检时间">
138
- </div>
139
- <div class="col-sm-12" style="margin-bottom: 10px">
140
- <label class="font_normal_body">隐患图片</label>
141
- <img-self :width="200" :height="200" :src="solveModal.preData.defectImg"></img-self>
142
- </div>
143
-
144
- <div style="width: 100%;height: 36px;background-color: #f1f8ff;float: left">
145
- <div style="width: 8px;height: 100%;background-color: #6aa6e2;margin-right: 20px;float: left"></div>
146
- <div style="width: auto;height:100%;float: left;"><p class="title-font" style="margin-top: 5px">处理后</p></div>
147
- </div>
148
- <div class="col-sm-6" style="margin-top: 10px">
149
- <label class="font_normal_body">处&nbsp;理&nbsp;人</label>
150
- <input v-if="solveModal.preData.type != 'solve'" class="input_search" style="width: 60%" disabled="true" type="text" v-model="solveModal.uploadData.f_repairman" placeholder="处理人">
151
- <v-select
152
- v-if="solveModal.preData.type == 'solve'"
153
- :value.sync="solveModal.uploadData.f_repairman"
154
- :value-single="true"
155
- :options='toRepairModal.preData.repairers'
156
- placeholder='请选择维修员'
157
- close-on-select></v-select>
158
- </div>
159
- <div class="col-sm-6" style="margin-top: 10px">
160
- <label class="font_normal_body">处理时间</label>
161
- <datepicker
162
- :disabled="solveModal.preData.type == 'view'"
163
- placeholder='处理时间' style="width:60%"
164
- :disabled-days-of-week="[]"
165
- :format="'yyyy-MM-dd'"
166
- :show-rest-button="reset"
167
- :value.sync="solveModal.uploadData.f_repair_date">
168
- </datepicker>
169
- </div>
170
- <div v-if="solveModal.preData.type == 'solve'" class="col-sm-12" style="margin-bottom: 10px">
171
- <label class="font_normal_body">处理后图片</label>
172
- <avatar-upload :width="200" :height="200" :img-src.sync="solveModal.uploadData.imgSrc" :filename.sync="solveModal.uploadData.filename" v-ref:imginfo></avatar-upload>
173
- </div>
174
- <div v-if="solveModal.preData.type == 'view'" class="col-sm-12" style="margin-bottom: 10px">
175
- <label class="font_normal_body">处理后图片</label>
176
- <img-self :width="200" :height="200" :src="solveModal.preData.repairedImg"></img-self>
177
- </div>
178
- </div>
179
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
180
- <button class="button_search" @click="auditsure('通过')" v-if="solveModal.preData.type == 'view' && !solveModal.f_audit_results">审核通过</button>
181
- <button class="button_search" @click="auditsure('不通过')" v-if="solveModal.preData.type == 'view' && !solveModal.f_audit_results">审核不通过</button>
182
- <button class="button_search" v-if="solveModal.preData.type == 'solve'" @click="ok">确认</button>
183
- <button class="button_search" @click="cancel">取消</button>
184
- </div>
185
- </modal>
186
-
187
- </div>
188
- </template>
189
-
190
- <script>
191
- import {PagedList, HttpResetClass} from 'vue-client'
192
- import * as Util from '../../../components/Util'
193
- import co from 'co'
194
-
195
- const upSolveDefect = function * (self) {
196
- let uploadData = self.solveModal.uploadData
197
- //tag)
198
- self.$resetpost('/api/af-safecheck/logic/pcRepairDefectNew', self.solveModal.uploadData, {resolveMsg: null, rejectMsg: null})
199
- .then(res => {
200
- if (res.data.code === 200) {
201
- self.$showMessage('隐患已处理。')
202
- self.showSolveModal = false
203
- self.model.search('f_repaire_type != \'无隐患\'', {})
204
- }
205
- })
206
- }
207
-
208
- const sendRepair = function* (self) {
209
- let preData = self.toRepairModal.preData
210
- let uploadData = self.toRepairModal.uploadData
211
-
212
- if (preData.dispatchType == '派发给站点') {
213
- uploadData.model.serviceacitivity[0].f_meetunit = preData.f_meetunit
214
- uploadData.model.serviceacitivity[0].f_reciever = preData.f_reciever
215
- uploadData.model.f_meetunit = preData.f_meetunit
216
- uploadData.model.f_orgstr = preData.f_reciever
217
- uploadData.model.f_outlets = preData.f_outlets
218
- } else if (preData.dispatchType == '派发给维修员') {
219
- uploadData.model.serviceacitivity[0].f_reciever = preData.f_repairman
220
- // uploadData.model.f_meetunit = self.$login.f.orgpathnames
221
- // uploadData.model.f_orgstr = self.$login.f.orgpathstr
222
- // uploadData.model.f_outlets = self.$login.f.f_parentname
223
- uploadData.model.f_meetunit = self.$login.f.deps
224
- uploadData.model.f_orgid = self.$login.f.orgid
225
- uploadData.model.f_filiale = self.$login.f.org
226
- uploadData.model.f_outlets = self.$login.f.deps
227
- uploadData.model.f_filiale_id = self.$login.f.orgid
228
- uploadData.toRepair = '一级派单'
229
- }
230
- let res = yield self.$resetpost('/api/af-safecheck/sql/GetUserForRepaireNew', {data: {f_userinfo_id: self.check.f_userinfo_id}})
231
- preData.userInfo = res.data[0]
232
- uploadData.model = Object.assign(uploadData.model, preData.userInfo)
233
- uploadData.user.f_userinfo_id = preData.userInfo.f_userinfo_id
234
- uploadData.model.f_repair_date = Util.getNowDate()
235
- uploadData.model.f_repairtype = preData.f_repairtype
236
- uploadData.model.f_remarks = preData.f_remarks
237
- // 拼接failure
238
- let failure = []
239
- self.model.rows.forEach(row => {
240
- if (row.f_repaire_type == '隐患未处理') {
241
- console.log('row.f_item_value',row.f_item_value)
242
- failure.push({
243
- f_failure_type: row.f_item_name,
244
- failurecase: row.f_item_value?row.f_item_value.split(','):''
245
- })
246
- }
247
- })
248
- uploadData.model.failure = failure
249
- // 拼接repairitems
250
- let rows = JSON.parse(JSON.stringify(self.model.rows))
251
- let repairitems = {
252
- data: []
253
- }
254
- let safecheckOptions = [{"data": "已处理"}, {"data": "未处理"}]
255
- // 取隐患未处理的
256
- rows = rows.filter(row => row.f_repaire_type == '隐患未处理')
257
- //tag)
258
- // 开始拼接
259
- rows.forEach(row => {
260
- let existIndex = -1
261
- // 判断该设备是否已经存在
262
- for (let i = 0; i < repairitems.data.length; i++) {
263
- if (repairitems.data[i].f_type == row.f_device_type) {
264
- existIndex = i
265
- break
266
- }
267
- }
268
- if (existIndex == -1) {
269
- // 不存在则新建
270
- let newItem = {
271
- f_type: row.f_device_type,
272
- details: [{
273
- f_defect_id: row.id,
274
- f_project: `${row.f_item_name}:${row.f_item_value}`,
275
- type: 'selector',
276
- options: safecheckOptions
277
- }]
278
- }
279
- repairitems.data.push(newItem)
280
- } else {
281
- // 存在则追加
282
- repairitems.data[existIndex].details.push({
283
- f_defect_id: row.id,
284
- f_project: `${row.f_item_name}:${row.f_item_value}`,
285
- type: 'selector',
286
- options: safecheckOptions
287
- })
288
- }
289
- })
290
- uploadData.model.f_repairitems = repairitems
291
- //tag)
292
- // 调工单接口
293
- let result = yield self.$resetpost('/api/af-safecheck/logic/callerSend', uploadData)
294
- //tag)
295
- if (result.data.f_service_id) {
296
- const data = {
297
- f_paper_id: rows[0].f_paper_id,
298
- f_service_id: result.data.f_service_id,
299
- itemsId: self.$login.convertToIn(rows.map(row => row.id))
300
- }
301
- //tag
302
- let updateRes = yield self.$resetpost('/api/af-safecheck/logic/updateDefectStateNew', data)
303
- if (updateRes.data.code == 200) {
304
- self.$showMessage('隐患已转维修。')
305
- self.model.search(`f_repaire_type != '无隐患'`, {})
306
- }
307
- }
308
- }
309
-
310
- export default {
311
- title: '隐患项列表',
312
- data() {
313
- return {
314
- model: new PagedList('api/af-safecheck/sql/GetDefectByPaperIdNew', 100, {
315
- f_paper_id: 'this.f_paper_id',f_item_value: 'this.f_item_value'
316
- }),
317
- showSolveModal: false,
318
- showToRepairModal: false,
319
- showDefectModal: false,
320
- valid: false,
321
- needRepair: true,
322
- solveModal: {
323
- preData: {
324
- type: 'view',
325
- defectImg: '',
326
- repairedImg: ''
327
- },
328
- uploadData: {
329
- id: '',
330
- f_repairman: this.$login.f.name,
331
- f_repair_date: Util.getNowDate().substr(0, 10),
332
- f_repair_path: '',
333
- imgSrc: '',
334
- filename: ''
335
- }
336
- },
337
- toRepairModal: {
338
- preData: {
339
- dispatchTypeOptions: [{label: '派发给维修员', value: '派发给维修员'}],
340
- repairTypeOptions: this.$appdata.getParam('报修类型'),
341
- dispatchType: '派发给维修员',
342
- f_repairman: '',
343
- f_repairtype: '',
344
- f_remarks: '',
345
- f_meetunit: '',
346
- f_reciever: '',
347
- f_outlets: '',
348
- userInfo: {},
349
- repairers: []
350
- },
351
- uploadData: {
352
- model: {
353
- serviceacitivity: [{
354
- f_service_acitivity_type: '派单'
355
- }],
356
- f_repairitems: {},
357
- failure: '',
358
- f_source: '安检',
359
- f_service_id: '',
360
- f_contact_phone: '',
361
- f_meetunit: '',
362
- f_phone: '',
363
- f_user_name: '',
364
- f_address: '',
365
- f_repair_date: '',
366
- f_reciever: '',
367
- f_remarks: '',
368
- f_user_type: '',
369
- f_area: '',
370
- f_unit_name: '',
371
- f_street: '',
372
- f_residential_area: '',
373
- f_building: '',
374
- f_unit: '',
375
- f_floor: '',
376
- f_room: '',
377
- aState: '',
378
- f_repairtype: '',
379
- f_userinfo_id: '',
380
- f_userinfo_code: '',
381
- f_orgstr: '',
382
- f_outlets: '',
383
- f_attendant: this.$login.f.name
384
- },
385
- loginUser: {
386
- name: this.$login.f.name,
387
- ename: this.$login.f.ename
388
- },
389
- user: {
390
- f_userinfo_id: ''
391
- },
392
- callObj: null
393
- }
394
- }
395
- }
396
- },
397
- props: ['check'],
398
- ready() {
399
- this.model.f_item_value = `(SELECT stuff(( SELECT ',' + f_item_value FROM t_devices_items_lists WHERE ( f_is_defect = 'true' OR di.f_is_defect = 'true') AND f_item_id = di.id FOR xml path ( '' ) ),1,1,'' ) )`
400
- if (this.check) {
401
- this.model.f_paper_id = this.check.id
402
- this.model.search(`f_repaire_type != '无隐患'`, {})
403
- }
404
- this.getEmp()
405
- },
406
- methods: {
407
- //审核通过
408
- auditsure(info){
409
- // 拿到t_devices_items 的ID,给f_audit_results中存入通过 如果未通过,需要可以再次派单,对隐患进行处理
410
- var data = {
411
- id: this.solveModal.uploadData.id,
412
- info:info
413
- }
414
- let http = new HttpResetClass()
415
- http.load('POST', 'api/af-safecheck/logic/DefectAuditUpdate', data, {resolveMsg: null, rejectMsg: null}).then((res) => {
416
- if(res.data.code == 200){
417
- this.model.search(`f_repaire_type != '无隐患'`, {})
418
- this.showSolveModal = false
419
- this.showToRepairModal = false
420
- this.$showMessage('提交成功')
421
- }else{
422
- this.$showMessage('提交失败,请重试')
423
- }
424
- })
425
- },
426
- solveDefect(row, type) {
427
- this.solveModal.preData.defectImg = '/rs/image/file/' + row.f_path
428
- this.solveModal.preData.repairedImg = '/rs/image/file/' + row.f_repair_path
429
- this.solveModal.uploadData.id = row.id
430
- this.solveModal.preData.type = type
431
- if (type == 'view') {
432
- this.solveModal.preData.f_repair_path = '/rs/image/file/' + row.f_repair_path
433
- this.solveModal.uploadData.f_repairman = row.f_repairman
434
- this.solveModal.uploadData.f_repair_date = row.f_repair_date
435
- this.$set('solveModal.f_audit_results',row.f_audit_results)
436
- } else {
437
- this.solveModal.uploadData.f_repairman = this.$login.f.name
438
- this.solveModal.uploadData.f_repair_date = Util.getNowDate().substr(0, 10)
439
- }
440
- this.showSolveModal = !this.showSolveModal
441
- },
442
- ok() {
443
- if (!(this.solveModal.uploadData.filename && this.solveModal.uploadData.filename.length > 0)) {
444
- this.$showMessage('请录入处理后照片')
445
- return
446
- }
447
- co(upSolveDefect(this))
448
- },
449
- cancel() {
450
- this.showSolveModal = false
451
- this.showToRepairModal = false
452
- },
453
- toRepair() {
454
- this.showToRepairModal = !this.showToRepairModal
455
- },
456
- getSiteRes(obj) {
457
- //tag
458
- //tag
459
- if(obj.resids[0]){
460
- this.toRepairModal.preData.f_meetunit = obj.res.join('.')
461
- this.toRepairModal.preData.f_reciever = obj.resids.join('.')
462
- }else {
463
- this.toRepairModal.preData.f_meetunit = ''
464
- this.toRepairModal.preData.f_reciever = ''
465
- this.toRepairModal.preData.f_outlets = ''
466
- }
467
- },
468
- // 获取维修员
469
- getEmp() {
470
- let val = {source: 'this.getParentByType($organization$).getChildByName($维修员$).getUsers()', userid: `${this.$login.f.id}`}
471
- let http = new HttpResetClass()
472
- http.load('POST', '/rs/search', {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
473
- res.data.forEach((item) => {
474
- let http1 = new HttpResetClass()
475
- http1.load('POST', 'api/af-safecheck/sql/safe_singleTable_OrderBy', {
476
- data: {
477
- items: 'f_user_telephone',
478
- tablename: 't_user',
479
- condition: `id = ${item.id}`,
480
- orderitem: 'id'
481
- }
482
- }, {resolveMsg: null, rejectMsg: null}).then((ress) => {
483
- this.toRepairModal.preData.repairers.push({label: `${item.name}:${ress.data[0].f_user_telephone}`, value: item.name})
484
- })
485
- })
486
- })
487
- },
488
- confirm() {
489
- if (this.toRepairModal.preData.dispatchType == '派发给站点' && !this.toRepairModal.preData.f_meetunit) {
490
- this.$showMessage('请选择站点。')
491
- return
492
- }
493
- co(sendRepair(this))
494
- }
495
- },
496
- watch: {
497
- 'check'() {
498
- this.model.f_paper_id = this.check.id
499
- this.model.search(`f_repaire_type != '无隐患'`, {})
500
- },
501
- 'model.rows'() {
502
- if (this.model.rows.length > 0) {
503
- if (this.model.rows[0].f_repaire_type == '隐患未处理') {
504
- this.needRepair = true
505
- return
506
- }
507
- }
508
- this.needRepair = false
509
- }
510
- }
511
- }
512
- </script>
513
- <style lang="less" scoped>
514
- .select-error {
515
- button {
516
- border-bottom: 1px solid #a94442 !important;
517
- }
518
- }
519
- </style>
1
+ <template>
2
+ <div>
3
+ <div :style="{'height':needRepair?'60%':'100%'}">
4
+ <criteria-paged :model="model" :pager="false" v-ref:paged>
5
+ <criteria partial='criteria'>
6
+ <div partial>
7
+ <ul class="nav nav-tabs">
8
+ <li role="presentation" class="active"><a style=" color: #5ac0d9 !important;">隐患明细</a></li>
9
+ </ul>
10
+ </div>
11
+ </criteria>
12
+ <data-grid :model="model" partial='list' class="table_sy">
13
+ <template partial='head'>
14
+ <tr>
15
+ <!-- <th>-->
16
+ <!-- <nobr>隐患设备</nobr>-->
17
+ <!-- </th>-->
18
+ <th>
19
+ <nobr>隐患项</nobr>
20
+ </th>
21
+ <th>
22
+ <nobr>隐患原因</nobr>
23
+ </th>
24
+ <th>
25
+ <nobr>隐患处理方式</nobr>
26
+ </th>
27
+ <th>
28
+ <nobr>审核结果</nobr>
29
+ </th>
30
+ <th>
31
+ <nobr>操作</nobr>
32
+ </th>
33
+ </tr>
34
+ </template>
35
+ <template partial='body'>
36
+ <!-- <td style="text-align: center">-->
37
+ <!-- <nobr>{{row.f_device_type}}</nobr>-->
38
+ <!-- </td>-->
39
+ <td style="text-align: center">
40
+ <nobr>{{row.f_item_name}}</nobr>
41
+ </td>
42
+ <td style="text-align: center">
43
+ <nobr>{{row.f_item_value}}</nobr>
44
+ </td>
45
+ <td style="text-align: center">
46
+ <nobr>{{row.f_repaire_type}}</nobr>
47
+ </td>
48
+ <td style="text-align: center">
49
+ <nobr>{{row.f_audit_results?row.f_audit_results:'暂无审核结果'}}</nobr>
50
+ </td>
51
+ <td style="text-align: center">
52
+ <img-button style="float: left;margin-left: 12%" v-if="row.f_repaire_type != '无隐患' && row.f_repaire_type != '维修已处理'" :src="'/rs/image/file/'+row.f_path" :value="'隐患图片'"></img-button>
53
+ <button v-if="row.f_repaire_type == '维修已处理'" class="button_new-1 button_spacing" @click="$parent.$parent.$parent.solveDefect( row, 'view')">处理详情</button>
54
+ <button v-if="row.f_repaire_type == '隐患未处理'" class="button_spacing button_search-1" @click="$parent.$parent.$parent.solveDefect( row, 'solve')">处理隐患</button>
55
+ </td>
56
+ </template>
57
+ </data-grid>
58
+ </criteria-paged>
59
+ </div>
60
+
61
+ <div style="overflow-y: scroll;height: 40%" v-if="needRepair">
62
+ <div class="form-horizontal auto">
63
+ <ul class="nav nav-tabs">
64
+ <li role="presentation" class="active"><a style=" color: #000 !important;font-size: 14px">转维修</a></li>
65
+ </ul>
66
+ <validator name='v' @valid="valid = true" @invalid="valid = false">
67
+ <div class="row">
68
+ <div class="col-sm-4" :class="[$v.dispatchtype.required ? 'select-error' : '']">
69
+ <label for="dispatchtype" class="font_normal_body">派发类型</label>
70
+ <input id="dispatchtype" type="text" v-show="false" v-model="$refs.dispatchtype.selectedItems" v-validate:dispatchtype='{required: true }'>
71
+ <v-select :value.sync="toRepairModal.preData.dispatchType" v-model="toRepairModal.preData.dispatchType"
72
+ :options='toRepairModal.preData.dispatchTypeOptions' placeholder='派发类型'
73
+ close-on-select v-ref:dispatchtype>
74
+ </v-select>
75
+ </div>
76
+ <div class="col-sm-4 " v-if="toRepairModal.preData.dispatchType == '派发给站点'">
77
+ <label class="font_normal_body">站&nbsp;&nbsp;点</label>
78
+ <right-tree
79
+ islist
80
+ :userid="$login.f.id"
81
+ :source="'dep=this.getParentByType($organization$).getSpecialResByType($department$),tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))'"
82
+ @re-res="getSiteRes">
83
+ </right-tree>
84
+ </div>
85
+ <div class="col-sm-4 " v-if="toRepairModal.preData.dispatchType == '派发给维修员'" :class="[$v.f_repairman.required ? 'select-error' : '']">
86
+ <input type="text" v-show="false" v-model="toRepairModal.preData.f_repairman" v-validate:f_repairman='{required: true }'>
87
+ <label class="font_normal_body">维修员</label>
88
+ <v-select
89
+ :value.sync="toRepairModal.preData.f_repairman"
90
+ :value-single="true"
91
+ :options='toRepairModal.preData.repairers'
92
+ placeholder='请选择维修员'
93
+ close-on-select></v-select>
94
+ </div>
95
+ <div class="col-sm-4" :class="[$v.f_repairtype.required ? 'select-error' : '']">
96
+ <input type="text" v-show="false" v-model="toRepairModal.preData.f_repairtype" v-validate:f_repairtype='{required: true }'>
97
+ <label class="font_normal_body">报修类型</label>
98
+ <v-select :value.sync="toRepairModal.preData.f_repairtype" style="width:60%"
99
+ class="select select_list"
100
+ :value-single="true"
101
+ :options='toRepairModal.preData.repairTypeOptions'
102
+ close-on-select>
103
+ </v-select>
104
+ </div>
105
+ </div>
106
+ <div class="row">
107
+ <div class="col-sm-8 form-group">
108
+ <label class="font_normal_body" >备&emsp;&emsp;注</label>
109
+ <input class="input_search" style="width: 60%" type="text" v-model="toRepairModal.preData.f_remarks" placeholder="备注">
110
+
111
+ </div>
112
+ <div class="col-sm-4" style="margin-top: 1%">
113
+ <button class="button_search" :disabled="!valid" @click="confirm">转维修</button>
114
+ </div>
115
+ </div>
116
+ </validator>
117
+ </div>
118
+ </div>
119
+ <modal :show.sync="showSolveModal" v-ref:solveModal>
120
+ <div slot="modal-header" class="modal-header">
121
+ <h4 class="modal-title">
122
+ {{solveModal.preData.type == 'view'?'处理详情':'处理隐患'}}
123
+ </h4>
124
+ </div>
125
+ <div slot="modal-body" class="modal-body">
126
+ <div style="width: 100%;height: 36px;background-color: #f1f8ff;float: left">
127
+ <div style="width: 8px;height: 100%;background-color: #6aa6e2;margin-right: 20px;float: left"></div>
128
+ <div style="width: auto;height:100%;float: left;"><p class="title-font" style="margin-top: 5px">处理前</p></div>
129
+ </div>
130
+
131
+ <div class="col-sm-6" style="margin-top: 10px">
132
+ <label class="font_normal_body">安&nbsp;检&nbsp;员</label>
133
+ <input class="input_search" style="width: 60%" type="text" disabled="true" v-model="check.f_checker_name" placeholder="安检员">
134
+ </div>
135
+ <div class="col-sm-6" style="margin-top: 10px">
136
+ <label class="font_normal_body">安检时间</label>
137
+ <input class="input_search" style="width: 60%" type="text" disabled="true" v-model="check.f_offsite_time" placeholder="安检时间">
138
+ </div>
139
+ <div class="col-sm-12" style="margin-bottom: 10px">
140
+ <label class="font_normal_body">隐患图片</label>
141
+ <img-self :width="200" :height="200" :src="solveModal.preData.defectImg"></img-self>
142
+ </div>
143
+
144
+ <div style="width: 100%;height: 36px;background-color: #f1f8ff;float: left">
145
+ <div style="width: 8px;height: 100%;background-color: #6aa6e2;margin-right: 20px;float: left"></div>
146
+ <div style="width: auto;height:100%;float: left;"><p class="title-font" style="margin-top: 5px">处理后</p></div>
147
+ </div>
148
+ <div class="col-sm-6" style="margin-top: 10px">
149
+ <label class="font_normal_body">处&nbsp;理&nbsp;人</label>
150
+ <input v-if="solveModal.preData.type != 'solve'" class="input_search" style="width: 60%" disabled="true" type="text" v-model="solveModal.uploadData.f_repairman" placeholder="处理人">
151
+ <v-select
152
+ v-if="solveModal.preData.type == 'solve'"
153
+ :value.sync="solveModal.uploadData.f_repairman"
154
+ :value-single="true"
155
+ :options='toRepairModal.preData.repairers'
156
+ placeholder='请选择维修员'
157
+ close-on-select></v-select>
158
+ </div>
159
+ <div class="col-sm-6" style="margin-top: 10px">
160
+ <label class="font_normal_body">处理时间</label>
161
+ <datepicker
162
+ :disabled="solveModal.preData.type == 'view'"
163
+ placeholder='处理时间' style="width:60%"
164
+ :disabled-days-of-week="[]"
165
+ :format="'yyyy-MM-dd'"
166
+ :show-rest-button="reset"
167
+ :value.sync="solveModal.uploadData.f_repair_date">
168
+ </datepicker>
169
+ </div>
170
+ <div v-if="solveModal.preData.type == 'solve'" class="col-sm-12" style="margin-bottom: 10px">
171
+ <label class="font_normal_body">处理后图片</label>
172
+ <avatar-upload :width="200" :height="200" :img-src.sync="solveModal.uploadData.imgSrc" :filename.sync="solveModal.uploadData.filename" v-ref:imginfo></avatar-upload>
173
+ </div>
174
+ <div v-if="solveModal.preData.type == 'view'" class="col-sm-12" style="margin-bottom: 10px">
175
+ <label class="font_normal_body">处理后图片</label>
176
+ <img-self :width="200" :height="200" :src="solveModal.preData.repairedImg"></img-self>
177
+ </div>
178
+ </div>
179
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
180
+ <button class="button_search" @click="auditsure('通过')" v-if="solveModal.preData.type == 'view' && !solveModal.f_audit_results">审核通过</button>
181
+ <button class="button_search" @click="auditsure('不通过')" v-if="solveModal.preData.type == 'view' && !solveModal.f_audit_results">审核不通过</button>
182
+ <button class="button_search" v-if="solveModal.preData.type == 'solve'" @click="ok">确认</button>
183
+ <button class="button_search" @click="cancel">取消</button>
184
+ </div>
185
+ </modal>
186
+
187
+ </div>
188
+ </template>
189
+
190
+ <script>
191
+ import {PagedList, HttpResetClass} from 'vue-client'
192
+ import * as Util from '../../../components/Util'
193
+ import co from 'co'
194
+
195
+ const upSolveDefect = function * (self) {
196
+ let uploadData = self.solveModal.uploadData
197
+ //tag)
198
+ self.$resetpost('/api/af-safecheck/logic/pcRepairDefectNew', self.solveModal.uploadData, {resolveMsg: null, rejectMsg: null})
199
+ .then(res => {
200
+ if (res.data.code === 200) {
201
+ self.$showMessage('隐患已处理。')
202
+ self.showSolveModal = false
203
+ self.model.search('f_repaire_type != \'无隐患\'', {})
204
+ }
205
+ })
206
+ }
207
+
208
+ const sendRepair = function* (self) {
209
+ let preData = self.toRepairModal.preData
210
+ let uploadData = self.toRepairModal.uploadData
211
+
212
+ if (preData.dispatchType == '派发给站点') {
213
+ uploadData.model.serviceacitivity[0].f_meetunit = preData.f_meetunit
214
+ uploadData.model.serviceacitivity[0].f_reciever = preData.f_reciever
215
+ uploadData.model.f_meetunit = preData.f_meetunit
216
+ uploadData.model.f_orgstr = preData.f_reciever
217
+ uploadData.model.f_outlets = preData.f_outlets
218
+ } else if (preData.dispatchType == '派发给维修员') {
219
+ uploadData.model.serviceacitivity[0].f_reciever = preData.f_repairman
220
+ // uploadData.model.f_meetunit = self.$login.f.orgpathnames
221
+ // uploadData.model.f_orgstr = self.$login.f.orgpathstr
222
+ // uploadData.model.f_outlets = self.$login.f.f_parentname
223
+ uploadData.model.f_meetunit = self.$login.f.deps
224
+ uploadData.model.f_orgid = self.$login.f.orgid
225
+ uploadData.model.f_filiale = self.$login.f.org
226
+ uploadData.model.f_outlets = self.$login.f.deps
227
+ uploadData.model.f_filiale_id = self.$login.f.orgid
228
+ uploadData.toRepair = '一级派单'
229
+ }
230
+ let res = yield self.$resetpost('/api/af-safecheck/sql/GetUserForRepaireNew', {data: {f_userinfo_id: self.check.f_userinfo_id}})
231
+ preData.userInfo = res.data[0]
232
+ uploadData.model = Object.assign(uploadData.model, preData.userInfo)
233
+ uploadData.user.f_userinfo_id = preData.userInfo.f_userinfo_id
234
+ uploadData.model.f_repair_date = Util.getNowDate()
235
+ uploadData.model.f_repairtype = preData.f_repairtype
236
+ uploadData.model.f_remarks = preData.f_remarks
237
+ // 拼接failure
238
+ let failure = []
239
+ self.model.rows.forEach(row => {
240
+ if (row.f_repaire_type == '隐患未处理') {
241
+ console.log('row.f_item_value',row.f_item_value)
242
+ failure.push({
243
+ f_failure_type: row.f_item_name,
244
+ failurecase: row.f_item_value?row.f_item_value.split(','):''
245
+ })
246
+ }
247
+ })
248
+ uploadData.model.failure = failure
249
+ // 拼接repairitems
250
+ let rows = JSON.parse(JSON.stringify(self.model.rows))
251
+ let repairitems = {
252
+ data: []
253
+ }
254
+ let safecheckOptions = [{"data": "已处理"}, {"data": "未处理"}]
255
+ // 取隐患未处理的
256
+ rows = rows.filter(row => row.f_repaire_type == '隐患未处理')
257
+ //tag)
258
+ // 开始拼接
259
+ rows.forEach(row => {
260
+ let existIndex = -1
261
+ // 判断该设备是否已经存在
262
+ for (let i = 0; i < repairitems.data.length; i++) {
263
+ if (repairitems.data[i].f_type == row.f_device_type) {
264
+ existIndex = i
265
+ break
266
+ }
267
+ }
268
+ if (existIndex == -1) {
269
+ // 不存在则新建
270
+ let newItem = {
271
+ f_type: row.f_device_type,
272
+ details: [{
273
+ f_defect_id: row.id,
274
+ f_project: `${row.f_item_name}:${row.f_item_value}`,
275
+ type: 'selector',
276
+ options: safecheckOptions
277
+ }]
278
+ }
279
+ repairitems.data.push(newItem)
280
+ } else {
281
+ // 存在则追加
282
+ repairitems.data[existIndex].details.push({
283
+ f_defect_id: row.id,
284
+ f_project: `${row.f_item_name}:${row.f_item_value}`,
285
+ type: 'selector',
286
+ options: safecheckOptions
287
+ })
288
+ }
289
+ })
290
+ uploadData.model.f_repairitems = repairitems
291
+ //tag)
292
+ // 调工单接口
293
+ let result = yield self.$resetpost('/api/af-safecheck/logic/callerSend', uploadData)
294
+ //tag)
295
+ if (result.data.f_service_id) {
296
+ const data = {
297
+ f_paper_id: rows[0].f_paper_id,
298
+ f_service_id: result.data.f_service_id,
299
+ itemsId: self.$login.convertToIn(rows.map(row => row.id))
300
+ }
301
+ //tag
302
+ let updateRes = yield self.$resetpost('/api/af-safecheck/logic/updateDefectStateNew', data)
303
+ if (updateRes.data.code == 200) {
304
+ self.$showMessage('隐患已转维修。')
305
+ self.model.search(`f_repaire_type != '无隐患'`, {})
306
+ }
307
+ }
308
+ }
309
+
310
+ export default {
311
+ title: '隐患项列表',
312
+ data() {
313
+ return {
314
+ model: new PagedList('api/af-safecheck/sql/GetDefectByPaperIdNew', 100, {
315
+ f_paper_id: 'this.f_paper_id',f_item_value: 'this.f_item_value'
316
+ }),
317
+ showSolveModal: false,
318
+ showToRepairModal: false,
319
+ showDefectModal: false,
320
+ valid: false,
321
+ needRepair: true,
322
+ solveModal: {
323
+ preData: {
324
+ type: 'view',
325
+ defectImg: '',
326
+ repairedImg: ''
327
+ },
328
+ uploadData: {
329
+ id: '',
330
+ f_repairman: this.$login.f.name,
331
+ f_repair_date: Util.getNowDate().substr(0, 10),
332
+ f_repair_path: '',
333
+ imgSrc: '',
334
+ filename: ''
335
+ }
336
+ },
337
+ toRepairModal: {
338
+ preData: {
339
+ dispatchTypeOptions: [{label: '派发给维修员', value: '派发给维修员'}],
340
+ repairTypeOptions: this.$appdata.getParam('报修类型'),
341
+ dispatchType: '派发给维修员',
342
+ f_repairman: '',
343
+ f_repairtype: '',
344
+ f_remarks: '',
345
+ f_meetunit: '',
346
+ f_reciever: '',
347
+ f_outlets: '',
348
+ userInfo: {},
349
+ repairers: []
350
+ },
351
+ uploadData: {
352
+ model: {
353
+ serviceacitivity: [{
354
+ f_service_acitivity_type: '派单'
355
+ }],
356
+ f_repairitems: {},
357
+ failure: '',
358
+ f_source: '安检',
359
+ f_service_id: '',
360
+ f_contact_phone: '',
361
+ f_meetunit: '',
362
+ f_phone: '',
363
+ f_user_name: '',
364
+ f_address: '',
365
+ f_repair_date: '',
366
+ f_reciever: '',
367
+ f_remarks: '',
368
+ f_user_type: '',
369
+ f_area: '',
370
+ f_unit_name: '',
371
+ f_street: '',
372
+ f_residential_area: '',
373
+ f_building: '',
374
+ f_unit: '',
375
+ f_floor: '',
376
+ f_room: '',
377
+ aState: '',
378
+ f_repairtype: '',
379
+ f_userinfo_id: '',
380
+ f_userinfo_code: '',
381
+ f_orgstr: '',
382
+ f_outlets: '',
383
+ f_attendant: this.$login.f.name
384
+ },
385
+ loginUser: {
386
+ name: this.$login.f.name,
387
+ ename: this.$login.f.ename
388
+ },
389
+ user: {
390
+ f_userinfo_id: ''
391
+ },
392
+ callObj: null
393
+ }
394
+ }
395
+ }
396
+ },
397
+ props: ['check'],
398
+ ready() {
399
+ this.model.f_item_value = `(SELECT stuff(( SELECT ',' + f_item_value FROM t_devices_items_lists WHERE ( f_is_defect = 'true' OR di.f_is_defect = 'true') AND f_item_id = di.id FOR xml path ( '' ) ),1,1,'' ) )`
400
+ if (this.check) {
401
+ this.model.f_paper_id = this.check.id
402
+ this.model.search(`f_repaire_type != '无隐患'`, {})
403
+ }
404
+ this.getEmp()
405
+ },
406
+ methods: {
407
+ //审核通过
408
+ auditsure(info){
409
+ // 拿到t_devices_items 的ID,给f_audit_results中存入通过 如果未通过,需要可以再次派单,对隐患进行处理
410
+ var data = {
411
+ id: this.solveModal.uploadData.id,
412
+ info:info
413
+ }
414
+ let http = new HttpResetClass()
415
+ http.load('POST', 'api/af-safecheck/logic/DefectAuditUpdate', data, {resolveMsg: null, rejectMsg: null}).then((res) => {
416
+ if(res.data.code == 200){
417
+ this.model.search(`f_repaire_type != '无隐患'`, {})
418
+ this.showSolveModal = false
419
+ this.showToRepairModal = false
420
+ this.$showMessage('提交成功')
421
+ }else{
422
+ this.$showMessage('提交失败,请重试')
423
+ }
424
+ })
425
+ },
426
+ solveDefect(row, type) {
427
+ this.solveModal.preData.defectImg = '/rs/image/file/' + row.f_path
428
+ this.solveModal.preData.repairedImg = '/rs/image/file/' + row.f_repair_path
429
+ this.solveModal.uploadData.id = row.id
430
+ this.solveModal.preData.type = type
431
+ if (type == 'view') {
432
+ this.solveModal.preData.f_repair_path = '/rs/image/file/' + row.f_repair_path
433
+ this.solveModal.uploadData.f_repairman = row.f_repairman
434
+ this.solveModal.uploadData.f_repair_date = row.f_repair_date
435
+ this.$set('solveModal.f_audit_results',row.f_audit_results)
436
+ } else {
437
+ this.solveModal.uploadData.f_repairman = this.$login.f.name
438
+ this.solveModal.uploadData.f_repair_date = Util.getNowDate().substr(0, 10)
439
+ }
440
+ this.showSolveModal = !this.showSolveModal
441
+ },
442
+ ok() {
443
+ if (!(this.solveModal.uploadData.filename && this.solveModal.uploadData.filename.length > 0)) {
444
+ this.$showMessage('请录入处理后照片')
445
+ return
446
+ }
447
+ co(upSolveDefect(this))
448
+ },
449
+ cancel() {
450
+ this.showSolveModal = false
451
+ this.showToRepairModal = false
452
+ },
453
+ toRepair() {
454
+ this.showToRepairModal = !this.showToRepairModal
455
+ },
456
+ getSiteRes(obj) {
457
+ //tag
458
+ //tag
459
+ if(obj.resids[0]){
460
+ this.toRepairModal.preData.f_meetunit = obj.res.join('.')
461
+ this.toRepairModal.preData.f_reciever = obj.resids.join('.')
462
+ }else {
463
+ this.toRepairModal.preData.f_meetunit = ''
464
+ this.toRepairModal.preData.f_reciever = ''
465
+ this.toRepairModal.preData.f_outlets = ''
466
+ }
467
+ },
468
+ // 获取维修员
469
+ getEmp() {
470
+ let val = {source: 'this.getParentByType($organization$).getChildByName($维修员$).getUsers()', userid: `${this.$login.f.id}`}
471
+ let http = new HttpResetClass()
472
+ http.load('POST', '/rs/search', {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
473
+ res.data.forEach((item) => {
474
+ let http1 = new HttpResetClass()
475
+ http1.load('POST', 'api/af-safecheck/sql/safe_singleTable_OrderBy', {
476
+ data: {
477
+ items: 'f_user_telephone',
478
+ tablename: 't_user',
479
+ condition: `id = ${item.id}`,
480
+ orderitem: 'id'
481
+ }
482
+ }, {resolveMsg: null, rejectMsg: null}).then((ress) => {
483
+ this.toRepairModal.preData.repairers.push({label: `${item.name}:${ress.data[0].f_user_telephone}`, value: item.name})
484
+ })
485
+ })
486
+ })
487
+ },
488
+ confirm() {
489
+ if (this.toRepairModal.preData.dispatchType == '派发给站点' && !this.toRepairModal.preData.f_meetunit) {
490
+ this.$showMessage('请选择站点。')
491
+ return
492
+ }
493
+ co(sendRepair(this))
494
+ }
495
+ },
496
+ watch: {
497
+ 'check'() {
498
+ this.model.f_paper_id = this.check.id
499
+ this.model.search(`f_repaire_type != '无隐患'`, {})
500
+ },
501
+ 'model.rows'() {
502
+ if (this.model.rows.length > 0) {
503
+ if (this.model.rows[0].f_repaire_type == '隐患未处理') {
504
+ this.needRepair = true
505
+ return
506
+ }
507
+ }
508
+ this.needRepair = false
509
+ }
510
+ }
511
+ }
512
+ </script>
513
+ <style lang="less" scoped>
514
+ .select-error {
515
+ button {
516
+ border-bottom: 1px solid #a94442 !important;
517
+ }
518
+ }
519
+ </style>