safecheck-client 4.0.1-63 → 4.0.1-65

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 (476) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/android.html +18 -18
  4. package/config/dev.env.js +6 -6
  5. package/config/index.js +38 -38
  6. package/config/prod.env.js +3 -3
  7. package/config/test.env.js +6 -6
  8. package/docs/AppBase.md +22 -22
  9. package/docs/Busy.md +14 -14
  10. package/docs/CriteriaPaged.md +47 -47
  11. package/docs/DataGrid.md +54 -54
  12. package/docs/DataModel.md +22 -22
  13. package/docs/Dynamic.md +42 -42
  14. package/docs/GetParams.md +11 -11
  15. package/docs/HttpBusy.md +13 -13
  16. package/docs/HttpStore.md +29 -29
  17. package/docs/MessageBox.md +28 -28
  18. package/docs/PagedList.md +29 -29
  19. package/docs/Pager.md +21 -21
  20. package/docs/Project.md +23 -23
  21. package/docs/Route.md +105 -105
  22. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  23. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  24. package/docs/Task.md +46 -46
  25. package/docs/TreeList.md +28 -28
  26. package/docs/TreeMixin.md +18 -18
  27. package/docs/all.md +10 -10
  28. package/docs/list.md +42 -42
  29. package/docs/partial.md +75 -75
  30. package/docs/selector.md +82 -82
  31. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  32. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  33. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  34. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  35. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  36. package/examples/AddressList/App.vue +13 -13
  37. package/examples/AddressList/index.html +11 -11
  38. package/examples/DispatchList/App.vue +10 -10
  39. package/examples/DispatchList/BaseTree.vue +13 -13
  40. package/examples/DispatchList/Init.vue +22 -22
  41. package/examples/DispatchList/Test.vue +20 -20
  42. package/examples/DispatchList/index.html +11 -11
  43. package/examples/DispatchList/main.js +18 -18
  44. package/home.html +16 -16
  45. package/package.json +1 -1
  46. package/publish.bat +7 -7
  47. package/release.bat +5 -5
  48. package/src/App.vue +31 -31
  49. package/src/Widget.vue +13 -13
  50. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  51. package/src/android-bootstrap/less/.csscomb.json +304 -304
  52. package/src/android-bootstrap/less/.csslintrc +19 -19
  53. package/src/android-bootstrap/less/alerts.less +73 -73
  54. package/src/android-bootstrap/less/badges.less +66 -66
  55. package/src/android-bootstrap/less/bootstrap.less +56 -56
  56. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  57. package/src/android-bootstrap/less/button-groups.less +247 -247
  58. package/src/android-bootstrap/less/buttons.less +173 -173
  59. package/src/android-bootstrap/less/carousel.less +269 -269
  60. package/src/android-bootstrap/less/close.less +34 -34
  61. package/src/android-bootstrap/less/code.less +69 -69
  62. package/src/android-bootstrap/less/component-animations.less +33 -33
  63. package/src/android-bootstrap/less/grid.less +84 -84
  64. package/src/android-bootstrap/less/input-groups.less +167 -167
  65. package/src/android-bootstrap/less/jumbotron.less +52 -52
  66. package/src/android-bootstrap/less/labels.less +64 -64
  67. package/src/android-bootstrap/less/list-group.less +141 -141
  68. package/src/android-bootstrap/less/media.less +66 -66
  69. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  70. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  71. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  72. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  73. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  74. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  75. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  76. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  77. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  78. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  79. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  80. package/src/android-bootstrap/less/mixins/image.less +33 -33
  81. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  82. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  83. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  84. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  85. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  86. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  87. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  88. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  89. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  90. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  91. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  92. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  93. package/src/android-bootstrap/less/mixins/size.less +10 -10
  94. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  95. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  96. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  97. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  98. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  99. package/src/android-bootstrap/less/mixins.less +40 -40
  100. package/src/android-bootstrap/less/modals.less +151 -151
  101. package/src/android-bootstrap/less/navbar.less +660 -660
  102. package/src/android-bootstrap/less/navs.less +290 -290
  103. package/src/android-bootstrap/less/normalize.less +424 -424
  104. package/src/android-bootstrap/less/pager.less +76 -76
  105. package/src/android-bootstrap/less/pagination.less +89 -89
  106. package/src/android-bootstrap/less/panels.less +274 -274
  107. package/src/android-bootstrap/less/popovers.less +131 -131
  108. package/src/android-bootstrap/less/print.less +101 -101
  109. package/src/android-bootstrap/less/progress-bars.less +87 -87
  110. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  111. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  112. package/src/android-bootstrap/less/scaffolding.less +161 -161
  113. package/src/android-bootstrap/less/tables.less +262 -262
  114. package/src/android-bootstrap/less/theme.less +291 -291
  115. package/src/android-bootstrap/less/thumbnails.less +36 -36
  116. package/src/android-bootstrap/less/tooltip.less +102 -102
  117. package/src/android-bootstrap/less/type.less +303 -303
  118. package/src/android-bootstrap/less/utilities.less +55 -55
  119. package/src/android-bootstrap/less/variables.less +896 -896
  120. package/src/android-bootstrap/less/wells.less +29 -29
  121. package/src/bootstrap/less/.csscomb.json +304 -304
  122. package/src/bootstrap/less/.csslintrc +19 -19
  123. package/src/bootstrap/less/alerts.less +73 -73
  124. package/src/bootstrap/less/badges.less +66 -66
  125. package/src/bootstrap/less/breadcrumbs.less +26 -26
  126. package/src/bootstrap/less/button-groups.less +247 -247
  127. package/src/bootstrap/less/buttons.less +172 -172
  128. package/src/bootstrap/less/carousel.less +269 -269
  129. package/src/bootstrap/less/close.less +34 -34
  130. package/src/bootstrap/less/code.less +69 -69
  131. package/src/bootstrap/less/component-animations.less +33 -33
  132. package/src/bootstrap/less/dropdowns.less +216 -216
  133. package/src/bootstrap/less/grid.less +84 -84
  134. package/src/bootstrap/less/input-groups.less +167 -167
  135. package/src/bootstrap/less/jumbotron.less +52 -52
  136. package/src/bootstrap/less/labels.less +64 -64
  137. package/src/bootstrap/less/list-group.less +141 -141
  138. package/src/bootstrap/less/media.less +66 -66
  139. package/src/bootstrap/less/mixins/alerts.less +14 -14
  140. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  141. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  142. package/src/bootstrap/less/mixins/buttons.less +69 -69
  143. package/src/bootstrap/less/mixins/center-block.less +7 -7
  144. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  145. package/src/bootstrap/less/mixins/forms.less +90 -90
  146. package/src/bootstrap/less/mixins/gradients.less +59 -59
  147. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  148. package/src/bootstrap/less/mixins/grid.less +122 -122
  149. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  150. package/src/bootstrap/less/mixins/image.less +33 -33
  151. package/src/bootstrap/less/mixins/labels.less +12 -12
  152. package/src/bootstrap/less/mixins/list-group.less +30 -30
  153. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  154. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  155. package/src/bootstrap/less/mixins/opacity.less +8 -8
  156. package/src/bootstrap/less/mixins/pagination.less +24 -24
  157. package/src/bootstrap/less/mixins/panels.less +24 -24
  158. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  159. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  160. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  161. package/src/bootstrap/less/mixins/resize.less +6 -6
  162. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  163. package/src/bootstrap/less/mixins/size.less +10 -10
  164. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  165. package/src/bootstrap/less/mixins/table-row.less +44 -44
  166. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  167. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  168. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  169. package/src/bootstrap/less/mixins.less +40 -40
  170. package/src/bootstrap/less/modals.less +151 -151
  171. package/src/bootstrap/less/navbar.less +660 -660
  172. package/src/bootstrap/less/normalize.less +424 -424
  173. package/src/bootstrap/less/pagination.less +89 -89
  174. package/src/bootstrap/less/panels.less +275 -275
  175. package/src/bootstrap/less/popovers.less +131 -131
  176. package/src/bootstrap/less/print.less +101 -101
  177. package/src/bootstrap/less/progress-bars.less +87 -87
  178. package/src/bootstrap/less/responsive-embed.less +35 -35
  179. package/src/bootstrap/less/responsive-utilities.less +194 -194
  180. package/src/bootstrap/less/scaffolding.less +161 -161
  181. package/src/bootstrap/less/theme.less +291 -291
  182. package/src/bootstrap/less/thumbnails.less +36 -36
  183. package/src/bootstrap/less/tooltip.less +102 -102
  184. package/src/bootstrap/less/type.less +303 -303
  185. package/src/bootstrap/less/utilities.less +55 -55
  186. package/src/bootstrap/less/wells.less +29 -29
  187. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  188. package/src/components/DefectDealMain/DefectListNew.vue +642 -642
  189. package/src/components/FileUpload.vue +696 -696
  190. package/src/components/Hello.vue +39 -39
  191. package/src/components/LeftTree.vue +27 -27
  192. package/src/components/NewDefectList/DefectListNew.vue +682 -682
  193. package/src/components/android/AddPlanItem.vue +447 -447
  194. package/src/components/android/AddPlanItemYy.vue +451 -451
  195. package/src/components/android/AddSpecialPlanItem.vue +426 -426
  196. package/src/components/android/AndroidDefectDeal.vue +667 -667
  197. package/src/components/android/AttendanceTally.vue +116 -116
  198. package/src/components/android/Blank.vue +10 -10
  199. package/src/components/android/CheckUnplanPage.vue +56 -56
  200. package/src/components/android/Checker.vue +12 -12
  201. package/src/components/android/CheckerAnnual.vue +81 -81
  202. package/src/components/android/CheckerAvarta.vue +82 -82
  203. package/src/components/android/CurrentCreateYy.vue +1051 -1051
  204. package/src/components/android/DailyworkloadQuery.vue +473 -473
  205. package/src/components/android/Devices.vue +327 -327
  206. package/src/components/android/Devicesm.vue +327 -327
  207. package/src/components/android/EquipmentInspection.vue +348 -348
  208. package/src/components/android/FootprintMap.vue +120 -120
  209. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  210. package/src/components/android/MasterMain.vue +77 -77
  211. package/src/components/android/Menu.vue +132 -132
  212. package/src/components/android/NewCheckpaperAndroid.vue +1343 -1343
  213. package/src/components/android/PaperAlarm.vue +85 -85
  214. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  215. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  216. package/src/components/android/PhoneRecordInfo.vue +113 -113
  217. package/src/components/android/PhoneSellInfo.vue +113 -113
  218. package/src/components/android/PhoneUpDetail.vue +1040 -1040
  219. package/src/components/android/PlumberAnnual.vue +83 -83
  220. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  221. package/src/components/android/PlumberMonthly.vue +84 -84
  222. package/src/components/android/PostMap.vue +83 -83
  223. package/src/components/android/QRCode/QRCodeBinding.vue +300 -300
  224. package/src/components/android/QRCode/QRCodePage.vue +212 -212
  225. package/src/components/android/QueryCheckHistory.vue +122 -122
  226. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  227. package/src/components/android/RepairMain.vue +60 -60
  228. package/src/components/android/Repairman.vue +12 -12
  229. package/src/components/android/SafePlanItem.vue +509 -509
  230. package/src/components/android/StationMaster.vue +12 -12
  231. package/src/components/android/examples/SafeListExamples.vue +296 -296
  232. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  233. package/src/components/android/recheck/Recheck.vue +402 -402
  234. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  235. package/src/components/checkplan/checkmsg.vue +459 -459
  236. package/src/components/defect/DefectList.vue +507 -507
  237. package/src/components/defect/DefectListWeixiu.vue +484 -484
  238. package/src/components/defects/DefectModal.vue +101 -101
  239. package/src/components/defects/DevicesAndItem.vue +39 -39
  240. package/src/components/filialCircle/CircleList.vue +139 -139
  241. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  242. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  243. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  244. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  245. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  246. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  247. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  248. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  249. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  250. package/src/components/map/PersonTrack.vue +226 -226
  251. package/src/components/map/SecurityCheckCoordinates.vue +361 -350
  252. package/src/components/notice/NoticeForm.vue +100 -100
  253. package/src/components/notice/NoticeIssue.vue +20 -20
  254. package/src/components/paper/PicViewer.vue +18 -18
  255. package/src/components/paper/RegionalList.vue +220 -220
  256. package/src/components/pc/AnnouncementPC.vue +524 -524
  257. package/src/components/pc/DefectDeal.vue +1 -0
  258. package/src/components/pc/DefectList.vue +742 -742
  259. package/src/components/pc/DefectMaterialLook.vue +98 -98
  260. package/src/components/pc/DeviceChange.vue +1068 -1068
  261. package/src/components/pc/PaperDefectMain.vue +905 -905
  262. package/src/components/pc/SafeVisitInfo.vue +261 -261
  263. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  264. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  265. package/src/components/phonestate/PostMap.vue +82 -82
  266. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  267. package/src/components/report/HiddenSituation.vue +165 -165
  268. package/src/components/rongcheng/AspiratedOrderV.vue +2377 -2377
  269. package/src/components/rongcheng/CurrentCreateOnline.vue +906 -906
  270. package/src/components/rongcheng/DefectList.vue +560 -560
  271. package/src/components/rongcheng/SafecheckOrderVCli.vue +2641 -2641
  272. package/src/components/safecheckNew/android/AddPlanItem.vue +419 -419
  273. package/src/components/safecheckNew/android/CurrentCreate.vue +1050 -1050
  274. package/src/components/safecheckNew/android/Recheck.vue +379 -379
  275. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  276. package/src/components/shaoguan/DefectList.vue +473 -473
  277. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  278. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  279. package/src/components/userfile/MeterFile.vue +145 -145
  280. package/src/components/userfile/MeterModify.vue +46 -46
  281. package/src/components/userfile/SecurityAudit.vue +243 -243
  282. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  283. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +476 -476
  284. package/src/filiale/ancheng/android/SafecheckOrderV.vue +2703 -2703
  285. package/src/filiale/ancheng/android/SafecheckUserInfo.vue +737 -737
  286. package/src/filiale/ancheng/pc/checkScreen.vue +923 -923
  287. package/src/filiale/ankangyihua/android/AddPlanItem.vue +446 -446
  288. package/src/filiale/ankangyihua/android/SafecheckOrderV.vue +2908 -2908
  289. package/src/filiale/ankangyihua/pc/DefectListWeixiu.vue +491 -491
  290. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -2785
  291. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  292. package/src/filiale/bayan/android/Edit.vue +132 -132
  293. package/src/filiale/bayan/pc/DefectListNew.vue +597 -597
  294. package/src/filiale/bayan/pc/DeviceChange.vue +1838 -1838
  295. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  296. package/src/filiale/dexin/android/CasualSave.vue +1050 -1050
  297. package/src/filiale/dexin/android/SafecheckOrderV.vue +2950 -2950
  298. package/src/filiale/fugou/android/AddPlanItem.vue +413 -413
  299. package/src/filiale/fugou/android/SafecheckOrderV.vue +2796 -2796
  300. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +830 -830
  301. package/src/filiale/fugu/android/SafecheckOrderV.vue +2484 -2484
  302. package/src/filiale/fugu/pc/NewCheckpaper.vue +1287 -1287
  303. package/src/filiale/ganquan/android/AddPlanItem.vue +444 -444
  304. package/src/filiale/ganquan/android/SafecheckOrderV.vue +2485 -2485
  305. package/src/filiale/ganquan/pc/NewCheckpaper.vue +1354 -1354
  306. package/src/filiale/guangxi/pc/DefectListNew.vue +518 -518
  307. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
  308. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  309. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -2803
  310. package/src/filiale/huatong/android/SafecheckOrderV.vue +2426 -2426
  311. package/src/filiale/huatong/android/SafecheckUserInfo.vue +749 -749
  312. package/src/filiale/huayin/pc/NewCheckpaper.vue +1307 -1307
  313. package/src/filiale/jiaocheng/android/AddPlanItem.vue +435 -435
  314. package/src/filiale/jiaocheng/android/SafecheckUserInfo.vue +737 -737
  315. package/src/filiale/jiaocheng/pc/DefectListNew.vue +576 -576
  316. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -447
  317. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  318. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  319. package/src/filiale/jinbin/pc/DefectListWeixiu.vue +478 -478
  320. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  321. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  322. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  323. package/src/filiale/kelai/android/AddPlanItem.vue +488 -488
  324. package/src/filiale/kelai/android/SafecheckUserInfo.vue +774 -774
  325. package/src/filiale/kelai/android/SafecheckUserInfo1.vue +618 -618
  326. package/src/filiale/kelai/pc/DefectListNew.vue +688 -688
  327. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasList.vue +518 -518
  328. package/src/filiale/kelai/pc/NewCheckpaper.vue +1454 -1454
  329. package/src/filiale/liaoyuan/android/AddPlanItem.vue +412 -412
  330. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -1066
  331. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2388 -2388
  332. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +557 -557
  333. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +489 -489
  334. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  335. package/src/filiale/lixian/android/SafecheckOrderV.vue +2404 -2404
  336. package/src/filiale/lixian/android/SafecheckUserInfo.vue +578 -578
  337. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  338. package/src/filiale/meihekou/android/AreaPlan.vue +577 -577
  339. package/src/filiale/meihekou/android/MeterReading.vue +110 -110
  340. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1307 -1307
  341. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +785 -785
  342. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1288 -1288
  343. package/src/filiale/minsheng/android/SafecheckUserInfo.vue +754 -754
  344. package/src/filiale/minsheng/pc/DefectListNew.vue +535 -535
  345. package/src/filiale/pingxiang/android/SafecheckOrderV.vue +2424 -2424
  346. package/src/filiale/pingxiang/android/SafecheckUserInfo.vue +600 -600
  347. package/src/filiale/pingxiang/pc/DefectListNew.vue +519 -519
  348. package/src/filiale/pingxiang/pc/NewCheckpaper.vue +1294 -1294
  349. package/src/filiale/qianneng/android/AddPlanItem.vue +482 -482
  350. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  351. package/src/filiale/qianneng/android/SafecheckUserInfo.vue +775 -775
  352. package/src/filiale/qianneng/pc/DefectListNew.vue +576 -576
  353. package/src/filiale/qianneng/pc/NewCheckpaper.vue +1546 -1546
  354. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  355. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  356. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1871 -1871
  357. package/src/filiale/qingjian/pc.js +15 -15
  358. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  359. package/src/filiale/qingtongxia/android/SafecheckOrderV.vue +2726 -2726
  360. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  361. package/src/filiale/qingtongxia/pc/DefectListNew.vue +594 -594
  362. package/src/filiale/rizhao/android/AddPlanItem.vue +446 -446
  363. package/src/filiale/rizhao/android/SafecheckOrderV.vue +2430 -2430
  364. package/src/filiale/rizhao/android/SafecheckUserInfo.vue +640 -640
  365. package/src/filiale/rizhao/pc/DefectList.vue +489 -489
  366. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  367. package/src/filiale/rongchuang/android/checkpapermsg.vue +209 -209
  368. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  369. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  370. package/src/filiale/shanggao/android/SafecheckOrderV.vue +2426 -2426
  371. package/src/filiale/shanxian/android/SafecheckUserInfo.vue +749 -749
  372. package/src/filiale/shanxian/pc/HiddenSituation.vue +121 -121
  373. package/src/filiale/shanxian/pc/NewCheckpaper.vue +1526 -1526
  374. package/src/filiale/shexian/android/AddPlanItem.vue +444 -444
  375. package/src/filiale/shexian/android/SafecheckOrderV.vue +2879 -2879
  376. package/src/filiale/shexian/pc/DefectListNew.vue +593 -593
  377. package/src/filiale/shexian/pc/NewCheckpaper.vue +1469 -1469
  378. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  379. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  380. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  381. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  382. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  383. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -214
  384. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -2796
  385. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  386. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -167
  387. package/src/filiale/taiyuan/pc/DefectDeal.vue +1 -0
  388. package/src/filiale/taiyuan/pc/NewCheckpaper.vue +1976 -1976
  389. package/src/filiale/taiyuan/pc/PlanManage.vue +891 -891
  390. package/src/filiale/taiyuan/pc/checkUserList.vue +798 -798
  391. package/src/filiale/taiyuan/pc.js +15 -15
  392. package/src/filiale/tianke/android/AddPlanItem.vue +455 -455
  393. package/src/filiale/tianke/android/SafecheckOrderV.vue +2431 -2431
  394. package/src/filiale/tianke/android/SafecheckUserInfo.vue +744 -744
  395. package/src/filiale/tongchuan/android/AddPlanItem.vue +483 -483
  396. package/src/filiale/tongchuan/android/PhoneRecordInfo.vue +191 -191
  397. package/src/filiale/tongchuan/android/PhoneSellInfo.vue +113 -113
  398. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +720 -720
  399. package/src/filiale/tongchuan/pc/CheckBookDetails.vue +209 -209
  400. package/src/filiale/tongchuan/pc/DefectListWeixiu.vue +484 -484
  401. package/src/filiale/tongchuan/pc/HiddenSituation.vue +166 -166
  402. package/src/filiale/weinan/android/AddPlanItem.vue +438 -438
  403. package/src/filiale/weinan/android/CurrentCreate.vue +1171 -1171
  404. package/src/filiale/weinan/android/CurrentCreateOnline.vue +911 -911
  405. package/src/filiale/weinan/android/SafePlanItem.vue +440 -440
  406. package/src/filiale/weinan/android/SafecheckUserInfo.vue +778 -778
  407. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  408. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  409. package/src/filiale/weinan/pc/HiddenSituation.vue +167 -167
  410. package/src/filiale/weinan/pc/checkScreen.vue +1094 -1094
  411. package/src/filiale/weinanct/android/SafecheckOrderV.vue +2730 -2730
  412. package/src/filiale/weinanct/pc/NewCheckpaper.vue +1315 -1315
  413. package/src/filiale/wensu/android/AddPlanItem.vue +495 -495
  414. package/src/filiale/wensu/android/AndroidDefectDeal.vue +464 -464
  415. package/src/filiale/wensu/android/PaperFeedback.vue +1358 -1358
  416. package/src/filiale/wensu/android/SafecheckOrderV.vue +2430 -2430
  417. package/src/filiale/wensu/android/SafecheckUserInfo.vue +627 -627
  418. package/src/filiale/wensu/pc/DefectListNew.vue +735 -735
  419. package/src/filiale/wenxi/android/AddPlanItem.vue +431 -431
  420. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2671 -2671
  421. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +673 -673
  422. package/src/filiale/wenxi/pc/DefectList.vue +653 -653
  423. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1358 -1358
  424. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  425. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  426. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  427. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  428. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2456 -2456
  429. package/src/filiale/wuhai/android/SafecheckUserInfo.vue +573 -573
  430. package/src/filiale/wuhai/pc/NewCheckpaper.vue +1281 -1281
  431. package/src/filiale/xiangyuanzhongai/android/PhoneUpUserinfo.vue +1251 -1251
  432. package/src/filiale/xinkang/android/AddPlanItem.vue +447 -447
  433. package/src/filiale/xinkang/pc/CheckSearchUser.vue +1026 -1026
  434. package/src/filiale/xinkang/pc/DefectListWeixiu.vue +475 -475
  435. package/src/filiale/yangchunboneng/android/AddPlanItem.vue +496 -496
  436. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2865
  437. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  438. package/src/filiale/yangchunboneng/pc/DefectListNew.vue +576 -576
  439. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  440. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  441. package/src/filiale/yuansheng/android/SafecheckOrderV.vue +2758 -2758
  442. package/src/filiale/yuansheng/android/SafecheckUserInfo.vue +797 -797
  443. package/src/filiale/yuansheng/pc/DefectListNew.vue +524 -524
  444. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +1371 -1371
  445. package/src/filiale/yuansheng/pc/checkmsg.vue +464 -464
  446. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +491 -491
  447. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1509 -1509
  448. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -113
  449. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +1270 -1270
  450. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +785 -785
  451. package/src/filiale/yunchengminsheng/android.js +15 -15
  452. package/src/filiale/yunchengminsheng/pc/PaperList.vue +811 -811
  453. package/src/filiale/yunchengminsheng/pc.js +15 -15
  454. package/src/filiale/zhongsheng/android/BuyRecords.vue +122 -122
  455. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2461 -2461
  456. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +690 -690
  457. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  458. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1322 -1322
  459. package/src/filiale/zhongyi/android/SafecheckOrderV.vue +2431 -2431
  460. package/src/filiale/zhongyi/pc/DefectListNew.vue +514 -514
  461. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  462. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  463. package/src/main.js +32 -33
  464. package/src/plugins/LoadData.js +10 -10
  465. package/src/plugins/LoadParams.js +24 -24
  466. package/src/safecheck.js +924 -924
  467. package/src/stores/wxconfig.js +10 -10
  468. package/src/utils/getNowDate.js +33 -33
  469. package/test/e2e/custom-assertions/elementCount.js +26 -26
  470. package/test/e2e/nightwatch.conf.js +40 -40
  471. package/test/e2e/runner.js +30 -30
  472. package/test/e2e/specs/test.js +13 -13
  473. package/test/unit/.eslintrc +5 -5
  474. package/test/unit/TestUtil.js +62 -62
  475. package/test/unit/context.html +20 -20
  476. package/test/unit/index.js +13 -13
@@ -1,484 +1,484 @@
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
- </tr>
31
- </template>
32
- <template partial='body'>
33
- <!-- <td style="text-align: center">-->
34
- <!-- <nobr>{{row.f_device_type}}</nobr>-->
35
- <!-- </td>-->
36
- <td style="text-align: center">
37
- <nobr>{{row.f_item_name}}</nobr>
38
- </td>
39
- <td style="text-align: center">
40
- <nobr>{{row.f_item_value}}</nobr>
41
- </td>
42
- <td style="text-align: center">
43
- <nobr>{{row.f_repaire_type}}</nobr>
44
- </td>
45
- <td style="text-align: center">
46
- <img-button style="float: left;margin-right: 2%" v-if="row.f_repaire_type != '无隐患' && row.f_repaire_type != '维修已处理' && row.f_p1_path" :src="'/rs/image/file/'+row.f_path" :value="'隐患图片'"></img-button>
47
- <img-button v-else :src="'/rs/image/file/'+row.f_path" :value="'隐患图片'"></img-button>
48
- <img-button style="float: right;margin-left: 2%" v-if="row.f_repaire_type != '无隐患' && row.f_repaire_type != '维修已处理' && row.f_p1_path" :src="'/rs/image/file/'+row.f_p1_path" :value="'隐患图片2'"></img-button>
49
- <img-button v-if="row.f_repaire_type != '无隐患' && row.f_repaire_type != '维修已处理' && row.f_p2_path" :src="'/rs/image/file/'+row.f_p2_path" :value="'隐患图片3'"></img-button>
50
- <button v-if="row.f_repaire_type == '维修已处理'" class="button_new-1 button_spacing" @click="$parent.$parent.$parent.solveDefect( row, 'view')">处理详情</button>
51
- <!-- <button v-if="row.f_repaire_type == '隐患未处理'" class="button_spacing button_search-1" @click="$parent.$parent.$parent.solveDefect( row, 'solve')">处理隐患</button>-->
52
- </td>
53
- </template>
54
- </data-grid>
55
- </criteria-paged>
56
- </div>
57
-
58
- <div style="overflow-y: scroll;height: 40%" v-if="needRepair">
59
- <div class="form-horizontal auto">
60
- <ul class="nav nav-tabs">
61
- <li role="presentation" class="active"><a style=" color: #000 !important;font-size: 14px">转维修</a></li>
62
- </ul>
63
- <validator name='v' @valid="valid = true" @invalid="valid = false">
64
- <div class="row">
65
- <div class="col-sm-4" :class="[$v.dispatchtype.required ? 'select-error' : '']">
66
- <label for="dispatchtype" class="font_normal_body">派发类型</label>
67
- <input id="dispatchtype" type="text" v-show="false" v-model="$refs.dispatchtype.selectedItems" v-validate:dispatchtype='{required: true }'>
68
- <v-select :value.sync="toRepairModal.preData.dispatchType" v-model="toRepairModal.preData.dispatchType"
69
- :options='toRepairModal.preData.dispatchTypeOptions' placeholder='派发类型'
70
- close-on-select v-ref:dispatchtype>
71
- </v-select>
72
- </div>
73
- <div class="col-sm-4 " v-if="toRepairModal.preData.dispatchType == '派发给站点'">
74
- <label class="font_normal_body">站&nbsp;&nbsp;点</label>
75
- <right-tree
76
- islist
77
- :userid="$login.f.id"
78
- :source="'dep=this.getParentByType($organization$).getSpecialResByType($department$),tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))'"
79
- @re-res="getSiteRes">
80
- </right-tree>
81
- </div>
82
- <div class="col-sm-4 " v-if="toRepairModal.preData.dispatchType == '派发给维修员'" :class="[$v.f_repairman.required ? 'select-error' : '']">
83
- <input type="text" v-show="false" v-model="toRepairModal.preData.f_repairman" v-validate:f_repairman='{required: true }'>
84
- <label class="font_normal_body">维修员</label>
85
- <v-select
86
- :value.sync="toRepairModal.preData.f_repairman"
87
- :value-single="true"
88
- :options='toRepairModal.preData.repairers'
89
- placeholder='请选择维修员'
90
- close-on-select></v-select>
91
- </div>
92
- <div class="col-sm-4" :class="[$v.f_repairtype.required ? 'select-error' : '']">
93
- <input type="text" v-show="false" v-model="toRepairModal.preData.f_repairtype" v-validate:f_repairtype='{required: true }'>
94
- <label class="font_normal_body">报修类型</label>
95
- <v-select :value.sync="toRepairModal.preData.f_repairtype" style="width:60%"
96
- class="select select_list"
97
- :value-single="true"
98
- :options='toRepairModal.preData.repairTypeOptions'
99
- close-on-select>
100
- </v-select>
101
- </div>
102
- </div>
103
- <div class="row">
104
- <div class="col-sm-8 form-group">
105
- <label class="font_normal_body" >备&emsp;&emsp;注</label>
106
- <input class="input_search" style="width: 60%" type="text" v-model="toRepairModal.preData.f_remarks" placeholder="备注">
107
- </div>
108
- <div class="col-sm-4" style="margin-top: 1%">
109
- <button class="button_search" :disabled="!valid" @click="confirm">转维修</button>
110
- </div>
111
- </div>
112
- </validator>
113
- </div>
114
- </div>
115
- <modal :show.sync="showSolveModal" v-ref:solveModal>
116
- <div slot="modal-header" class="modal-header">
117
- <h4 class="modal-title">
118
- {{solveModal.preData.type == 'view'?'处理详情':'处理隐患'}}
119
- </h4>
120
- </div>
121
- <div slot="modal-body" class="modal-body">
122
- <div style="width: 100%;height: 36px;background-color: #f1f8ff;float: left">
123
- <div style="width: 8px;height: 100%;background-color: #6aa6e2;margin-right: 20px;float: left"></div>
124
- <div style="width: auto;height:100%;float: left;"><p class="title-font" style="margin-top: 5px">处理前</p></div>
125
- </div>
126
-
127
- <div class="col-sm-6" style="margin-top: 10px">
128
- <label class="font_normal_body">安&nbsp;检&nbsp;员</label>
129
- <input class="input_search" style="width: 60%" type="text" disabled="true" v-model="check.f_checker_name" placeholder="安检员">
130
- </div>
131
- <div class="col-sm-6" style="margin-top: 10px">
132
- <label class="font_normal_body">安检时间</label>
133
- <input class="input_search" style="width: 60%" type="text" disabled="true" v-model="check.f_offsite_time" placeholder="安检时间">
134
- </div>
135
- <div class="col-sm-12" style="margin-bottom: 10px">
136
- <label class="font_normal_body">隐患图片</label>
137
- <img-self :width="200" :height="200" :src="solveModal.preData.defectImg"></img-self>
138
- </div>
139
-
140
- <div style="width: 100%;height: 36px;background-color: #f1f8ff;float: left">
141
- <div style="width: 8px;height: 100%;background-color: #6aa6e2;margin-right: 20px;float: left"></div>
142
- <div style="width: auto;height:100%;float: left;"><p class="title-font" style="margin-top: 5px">处理后</p></div>
143
- </div>
144
- <div class="col-sm-6" style="margin-top: 10px">
145
- <label class="font_normal_body">处&nbsp;理&nbsp;人</label>
146
- <input class="input_search" style="width: 60%" disabled="true" type="text" v-model="solveModal.uploadData.f_repairman" placeholder="处理人">
147
- </div>
148
- <div class="col-sm-6" style="margin-top: 10px">
149
- <label class="font_normal_body">处理时间</label>
150
- <datepicker
151
- :disabled="solveModal.preData.type == 'view'"
152
- placeholder='处理时间' style="width:60%"
153
- :disabled-days-of-week="[]"
154
- :format="'yyyy-MM-dd'"
155
- :show-rest-button="reset"
156
- :value.sync="solveModal.uploadData.f_repair_date">
157
- </datepicker>
158
- </div>
159
- <div v-if="solveModal.preData.type == 'solve'" class="col-sm-12" style="margin-bottom: 10px">
160
- <label class="font_normal_body">处理后图片</label>
161
- <avatar-upload :width="200" :height="200" :img-src.sync="solveModal.uploadData.imgSrc" :filename.sync="solveModal.uploadData.filename" v-ref:imginfo></avatar-upload>
162
- </div>
163
- <div v-if="solveModal.preData.type == 'view'" class="col-sm-12" style="margin-bottom: 10px">
164
- <label class="font_normal_body">处理后图片</label>
165
- <img-self :width="200" :height="200" :src="solveModal.preData.repairedImg"></img-self>
166
- </div>
167
- </div>
168
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
169
- <button class="button_search" v-if="solveModal.preData.type == 'solve'" @click="ok">确认</button>
170
- <button class="button_search" @click="cancel">取消</button>
171
- </div>
172
- </modal>
173
-
174
- </div>
175
- </template>
176
-
177
- <script>
178
- import {PagedList, HttpResetClass} from 'vue-client'
179
- import * as Util from '../Util'
180
- import co from 'co'
181
-
182
- const upSolveDefect = function* (self) {
183
- let uploadData = self.solveModal.uploadData
184
- //tag)
185
- self.$resetpost('/api/af-safecheck/logic/pcRepairDefect', self.solveModal.uploadData, {resolveMsg: null, rejectMsg: null})
186
- .then(res => {
187
- if (res.data.code == 200) {
188
- self.$showMessage('隐患已处理。')
189
- self.showSolveModal = false
190
- self.model.search('', {})
191
- }
192
- })
193
- }
194
-
195
- const sendRepair = function* (self) {
196
- let preData = self.toRepairModal.preData
197
- let uploadData = self.toRepairModal.uploadData
198
-
199
- if (preData.dispatchType == '派发给站点') {
200
- uploadData.model.serviceacitivity[0].f_meetunit = preData.f_meetunit
201
- uploadData.model.serviceacitivity[0].f_reciever = preData.f_reciever
202
- uploadData.model.f_meetunit = preData.f_meetunit
203
- uploadData.model.f_orgstr = preData.f_reciever
204
- uploadData.model.f_outlets = preData.f_outlets
205
- } else if (preData.dispatchType == '派发给维修员') {
206
- uploadData.model.serviceacitivity[0].f_reciever = preData.f_repairman
207
- // uploadData.model.f_meetunit = self.$login.f.orgpathnames
208
- // uploadData.model.f_orgstr = self.$login.f.orgpathstr
209
- // uploadData.model.f_outlets = self.$login.f.f_parentname
210
- uploadData.model.f_meetunit = self.$login.f.deps
211
- uploadData.model.f_orgid = self.$login.f.orgid
212
- uploadData.model.f_filiale = self.$login.f.org
213
- uploadData.model.f_outlets = self.$login.f.deps
214
- uploadData.model.f_filiale_id = self.$login.f.orgid
215
- uploadData.toRepair = '一级派单'
216
- }
217
- let res = yield self.$resetpost('/api/af-safecheck/sql/GetUserForRepaire', {data: {f_userinfo_id: self.check.f_userinfo_id}})
218
- preData.userInfo = res.data[0]
219
- uploadData.model = Object.assign(uploadData.model, preData.userInfo)
220
- uploadData.user.f_userinfo_id = preData.userInfo.f_userinfo_id
221
- uploadData.model.f_repair_date = Util.getNowDate()
222
- uploadData.model.f_repairtype = preData.f_repairtype
223
- uploadData.model.f_remarks = preData.f_remarks
224
- // 拼接failure
225
- let failure = []
226
- self.model.rows.forEach(row => {
227
- if (row.f_repaire_type == '隐患未处理') {
228
- failure.push({
229
- f_failure_type: row.f_item_name,
230
- failurecase: row.f_item_value.split(',')
231
- })
232
- }
233
- })
234
- uploadData.model.failure = failure
235
- // 拼接repairitems
236
- let rows = JSON.parse(JSON.stringify(self.model.rows))
237
- let repairitems = {
238
- data: []
239
- }
240
- let safecheckOptions = [{"data": "已处理"}, {"data": "未处理"}]
241
- // 取隐患未处理的
242
- rows = rows.filter(row => row.f_repaire_type == '隐患未处理')
243
- //tag)
244
- // 开始拼接
245
- rows.forEach(row => {
246
- let existIndex = -1
247
- // 判断该设备是否已经存在
248
- for (let i = 0; i < repairitems.data.length; i++) {
249
- if (repairitems.data[i].f_type == row.f_device_type) {
250
- existIndex = i
251
- break
252
- }
253
- }
254
- if (existIndex == -1) {
255
- // 不存在则新建
256
- let newItem = {
257
- f_type: row.f_device_type,
258
- details: [{
259
- f_defect_id:row.id,
260
- f_project: `${row.f_item_name}:${row.f_item_value}`,
261
- type: 'selector',
262
- options: safecheckOptions
263
- }]
264
- }
265
- repairitems.data.push(newItem)
266
- } else {
267
- // 存在则追加
268
- repairitems.data[existIndex].details.push({
269
- f_defect_id:row.id,
270
- f_project: `${row.f_item_name}:${row.f_item_value}`,
271
- type: 'selector',
272
- options: safecheckOptions
273
- })
274
- }
275
- })
276
- uploadData.model.f_repairitems = repairitems
277
- //tag)
278
- // 调工单接口
279
- let result = yield self.$resetpost('/api/af-safecheck/logic/callerSend', uploadData)
280
- //tag)
281
- if (result.data.f_service_id) {
282
- let updateRes = yield self.$resetpost('/api/af-safecheck/logic/updateDefectState', {itemsId: self.$login.convertToIn(rows.map(row => row.id))})
283
- if (updateRes.data.code == 200) {
284
- self.$showMessage('隐患已转维修。')
285
- self.model.search(`f_repaire_type != '无隐患'`, {})
286
- }
287
- }
288
- }
289
-
290
- export default {
291
- title: '隐患项列表',
292
- data() {
293
- return {
294
- model: new PagedList('api/af-safecheck/sql/GetDefectByPaperId', 100, {
295
- f_paper_id: 'this.f_paper_id'
296
- }),
297
- showSolveModal: false,
298
- showToRepairModal: false,
299
- showDefectModal:false,
300
- valid: false,
301
- needRepair: true,
302
- solveModal: {
303
- preData: {
304
- type: 'view',
305
- defectImg: '',
306
- repairedImg: ''
307
- },
308
- uploadData: {
309
- id: '',
310
- f_repairman: this.$login.f.name,
311
- f_repair_date: Util.getNowDate().substr(0, 10),
312
- f_repair_path: '',
313
- imgSrc: '',
314
- filename: ''
315
- }
316
- },
317
- toRepairModal: {
318
- preData: {
319
- dispatchTypeOptions: [{label: '派发给站点', value: '派发给站点'}, {label: '派发给维修员', value: '派发给维修员'}],
320
- repairTypeOptions: this.$appdata.getParam('报修类型'),
321
- dispatchType: '',
322
- f_repairman: '',
323
- f_repairtype: '',
324
- f_remarks: '',
325
- f_meetunit: '',
326
- f_reciever: '',
327
- f_outlets: '',
328
- userInfo: {},
329
- repairers: []
330
- },
331
- uploadData: {
332
- model: {
333
- serviceacitivity: [{
334
- f_service_acitivity_type: '派单'
335
- }],
336
- f_repairitems: {},
337
- failure: '',
338
- f_source: '安检',
339
- f_service_id: '',
340
- f_contact_phone: '',
341
- f_meetunit: '',
342
- f_phone: '',
343
- f_user_name: '',
344
- f_address: '',
345
- f_repair_date: '',
346
- f_reciever: '',
347
- f_remarks: '',
348
- f_user_type: '',
349
- f_area: '',
350
- f_unit_name: '',
351
- f_street: '',
352
- f_residential_area: '',
353
- f_building: '',
354
- f_unit: '',
355
- f_floor: '',
356
- f_room: '',
357
- aState: '',
358
- f_repairtype: '',
359
- f_userinfo_id: '',
360
- f_userinfo_code: '',
361
- f_orgstr: '',
362
- f_outlets: '',
363
- f_attendant: this.$login.f.name
364
- },
365
- loginUser: {
366
- name: this.$login.f.name,
367
- ename: this.$login.f.ename
368
- },
369
- user: {
370
- f_userinfo_id: ''
371
- },
372
- callObj: null
373
- }
374
- }
375
- }
376
- },
377
- props: ['check'],
378
- ready() {
379
- if (this.check) {
380
- this.model.f_paper_id = this.check.id
381
- this.model.search(`f_repaire_type != '无隐患'`, {})
382
- }
383
- this.getEmp()
384
- },
385
- methods: {
386
- solveDefect(row, type) {
387
- if(row.f_repair_path && row.f_repair_path.startsWith('http')){
388
- this.solveModal.preData.repairedImg = row.f_repair_path
389
- }else {
390
- this.solveModal.preData.repairedImg = '/rs/image/file/' + row.f_repair_path
391
- }
392
- this.solveModal.preData.defectImg = '/rs/image/file/' + row.f_path
393
- this.solveModal.uploadData.id = row.id
394
- this.solveModal.preData.type = type
395
- if (type == 'view') {
396
- this.solveModal.preData.f_repair_path = '/rs/image/file/' + row.f_repair_path
397
- this.solveModal.uploadData.f_repairman = row.f_repairman
398
- this.solveModal.uploadData.f_repair_date = row.f_repair_date
399
- } else {
400
- this.solveModal.uploadData.f_repairman = this.$login.f.name
401
- this.solveModal.uploadData.f_repair_date = Util.getNowDate().substr(0, 10)
402
- }
403
- this.showSolveModal = !this.showSolveModal
404
- },
405
- ok() {
406
- if (!(this.solveModal.uploadData.filename && this.solveModal.uploadData.filename.length > 0)) {
407
- this.$showMessage('请录入处理后照片')
408
- return
409
- }
410
- co(upSolveDefect(this))
411
- },
412
- cancel() {
413
- this.showSolveModal = false
414
- this.showToRepairModal = false
415
- },
416
- toRepair() {
417
- this.showToRepairModal = !this.showToRepairModal
418
- },
419
- getSiteRes(obj) {
420
- //tag
421
- //tag
422
- if(obj.resids[0]){
423
- this.toRepairModal.preData.f_meetunit = obj.res.join('.')
424
- this.toRepairModal.preData.f_reciever = obj.resids.join('.')
425
- }else {
426
- this.toRepairModal.preData.f_meetunit = ''
427
- this.toRepairModal.preData.f_reciever = ''
428
- this.toRepairModal.preData.f_outlets = ''
429
- }
430
- },
431
- // 获取维修员
432
- getEmp() {
433
- let val = {source: 'this.getParentByType($organization$).getChildByName($维修员$).getUsers()', userid: `${this.$login.f.id}`}
434
- let http = new HttpResetClass()
435
- http.load('POST', '/rs/search', {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
436
- res.data.forEach((item) => {
437
- let http1 = new HttpResetClass()
438
- http1.load('POST', 'api/af-safecheck/sql/safe_singleTable_OrderBy', {
439
- data: {
440
- items: 'f_user_telephone',
441
- tablename: 't_user',
442
- condition: `id = '${item.id}'`,
443
- orderitem: 'id'
444
- }
445
- }, {resolveMsg: null, rejectMsg: null}).then((ress) => {
446
- this.toRepairModal.preData.repairers.push({label: `${item.name}:${ress.data[0].f_user_telephone}`, value: item.name})
447
- }).catch(error=>{
448
- this.toRepairModal.preData.repairers.push({label: item.name, value: item.name})
449
- })
450
- })
451
- })
452
- },
453
- confirm() {
454
- if (this.toRepairModal.preData.dispatchType == '派发给站点' && !this.toRepairModal.preData.f_meetunit) {
455
- this.$showMessage('请选择站点。')
456
- return
457
- }
458
- co(sendRepair(this))
459
- }
460
- },
461
- watch: {
462
- 'check'() {
463
- this.model.f_paper_id = this.check.id
464
- this.model.search(`f_repaire_type != '无隐患'`, {})
465
- },
466
- 'model.rows'() {
467
- if (this.model.rows.length > 0) {
468
- if (this.model.rows[0].f_repaire_type == '隐患未处理') {
469
- this.needRepair = true
470
- return
471
- }
472
- }
473
- this.needRepair = false
474
- }
475
- }
476
- }
477
- </script>
478
- <style lang="less" scoped>
479
- .select-error {
480
- button {
481
- border-bottom: 1px solid #a94442 !important;
482
- }
483
- }
484
- </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
+ </tr>
31
+ </template>
32
+ <template partial='body'>
33
+ <!-- <td style="text-align: center">-->
34
+ <!-- <nobr>{{row.f_device_type}}</nobr>-->
35
+ <!-- </td>-->
36
+ <td style="text-align: center">
37
+ <nobr>{{row.f_item_name}}</nobr>
38
+ </td>
39
+ <td style="text-align: center">
40
+ <nobr>{{row.f_item_value}}</nobr>
41
+ </td>
42
+ <td style="text-align: center">
43
+ <nobr>{{row.f_repaire_type}}</nobr>
44
+ </td>
45
+ <td style="text-align: center">
46
+ <img-button style="float: left;margin-right: 2%" v-if="row.f_repaire_type != '无隐患' && row.f_repaire_type != '维修已处理' && row.f_p1_path" :src="'/rs/image/file/'+row.f_path" :value="'隐患图片'"></img-button>
47
+ <img-button v-else :src="'/rs/image/file/'+row.f_path" :value="'隐患图片'"></img-button>
48
+ <img-button style="float: right;margin-left: 2%" v-if="row.f_repaire_type != '无隐患' && row.f_repaire_type != '维修已处理' && row.f_p1_path" :src="'/rs/image/file/'+row.f_p1_path" :value="'隐患图片2'"></img-button>
49
+ <img-button v-if="row.f_repaire_type != '无隐患' && row.f_repaire_type != '维修已处理' && row.f_p2_path" :src="'/rs/image/file/'+row.f_p2_path" :value="'隐患图片3'"></img-button>
50
+ <button v-if="row.f_repaire_type == '维修已处理'" class="button_new-1 button_spacing" @click="$parent.$parent.$parent.solveDefect( row, 'view')">处理详情</button>
51
+ <!-- <button v-if="row.f_repaire_type == '隐患未处理'" class="button_spacing button_search-1" @click="$parent.$parent.$parent.solveDefect( row, 'solve')">处理隐患</button>-->
52
+ </td>
53
+ </template>
54
+ </data-grid>
55
+ </criteria-paged>
56
+ </div>
57
+
58
+ <div style="overflow-y: scroll;height: 40%" v-if="needRepair">
59
+ <div class="form-horizontal auto">
60
+ <ul class="nav nav-tabs">
61
+ <li role="presentation" class="active"><a style=" color: #000 !important;font-size: 14px">转维修</a></li>
62
+ </ul>
63
+ <validator name='v' @valid="valid = true" @invalid="valid = false">
64
+ <div class="row">
65
+ <div class="col-sm-4" :class="[$v.dispatchtype.required ? 'select-error' : '']">
66
+ <label for="dispatchtype" class="font_normal_body">派发类型</label>
67
+ <input id="dispatchtype" type="text" v-show="false" v-model="$refs.dispatchtype.selectedItems" v-validate:dispatchtype='{required: true }'>
68
+ <v-select :value.sync="toRepairModal.preData.dispatchType" v-model="toRepairModal.preData.dispatchType"
69
+ :options='toRepairModal.preData.dispatchTypeOptions' placeholder='派发类型'
70
+ close-on-select v-ref:dispatchtype>
71
+ </v-select>
72
+ </div>
73
+ <div class="col-sm-4 " v-if="toRepairModal.preData.dispatchType == '派发给站点'">
74
+ <label class="font_normal_body">站&nbsp;&nbsp;点</label>
75
+ <right-tree
76
+ islist
77
+ :userid="$login.f.id"
78
+ :source="'dep=this.getParentByType($organization$).getSpecialResByType($department$),tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))'"
79
+ @re-res="getSiteRes">
80
+ </right-tree>
81
+ </div>
82
+ <div class="col-sm-4 " v-if="toRepairModal.preData.dispatchType == '派发给维修员'" :class="[$v.f_repairman.required ? 'select-error' : '']">
83
+ <input type="text" v-show="false" v-model="toRepairModal.preData.f_repairman" v-validate:f_repairman='{required: true }'>
84
+ <label class="font_normal_body">维修员</label>
85
+ <v-select
86
+ :value.sync="toRepairModal.preData.f_repairman"
87
+ :value-single="true"
88
+ :options='toRepairModal.preData.repairers'
89
+ placeholder='请选择维修员'
90
+ close-on-select></v-select>
91
+ </div>
92
+ <div class="col-sm-4" :class="[$v.f_repairtype.required ? 'select-error' : '']">
93
+ <input type="text" v-show="false" v-model="toRepairModal.preData.f_repairtype" v-validate:f_repairtype='{required: true }'>
94
+ <label class="font_normal_body">报修类型</label>
95
+ <v-select :value.sync="toRepairModal.preData.f_repairtype" style="width:60%"
96
+ class="select select_list"
97
+ :value-single="true"
98
+ :options='toRepairModal.preData.repairTypeOptions'
99
+ close-on-select>
100
+ </v-select>
101
+ </div>
102
+ </div>
103
+ <div class="row">
104
+ <div class="col-sm-8 form-group">
105
+ <label class="font_normal_body" >备&emsp;&emsp;注</label>
106
+ <input class="input_search" style="width: 60%" type="text" v-model="toRepairModal.preData.f_remarks" placeholder="备注">
107
+ </div>
108
+ <div class="col-sm-4" style="margin-top: 1%">
109
+ <button class="button_search" :disabled="!valid" @click="confirm">转维修</button>
110
+ </div>
111
+ </div>
112
+ </validator>
113
+ </div>
114
+ </div>
115
+ <modal :show.sync="showSolveModal" v-ref:solveModal>
116
+ <div slot="modal-header" class="modal-header">
117
+ <h4 class="modal-title">
118
+ {{solveModal.preData.type == 'view'?'处理详情':'处理隐患'}}
119
+ </h4>
120
+ </div>
121
+ <div slot="modal-body" class="modal-body">
122
+ <div style="width: 100%;height: 36px;background-color: #f1f8ff;float: left">
123
+ <div style="width: 8px;height: 100%;background-color: #6aa6e2;margin-right: 20px;float: left"></div>
124
+ <div style="width: auto;height:100%;float: left;"><p class="title-font" style="margin-top: 5px">处理前</p></div>
125
+ </div>
126
+
127
+ <div class="col-sm-6" style="margin-top: 10px">
128
+ <label class="font_normal_body">安&nbsp;检&nbsp;员</label>
129
+ <input class="input_search" style="width: 60%" type="text" disabled="true" v-model="check.f_checker_name" placeholder="安检员">
130
+ </div>
131
+ <div class="col-sm-6" style="margin-top: 10px">
132
+ <label class="font_normal_body">安检时间</label>
133
+ <input class="input_search" style="width: 60%" type="text" disabled="true" v-model="check.f_offsite_time" placeholder="安检时间">
134
+ </div>
135
+ <div class="col-sm-12" style="margin-bottom: 10px">
136
+ <label class="font_normal_body">隐患图片</label>
137
+ <img-self :width="200" :height="200" :src="solveModal.preData.defectImg"></img-self>
138
+ </div>
139
+
140
+ <div style="width: 100%;height: 36px;background-color: #f1f8ff;float: left">
141
+ <div style="width: 8px;height: 100%;background-color: #6aa6e2;margin-right: 20px;float: left"></div>
142
+ <div style="width: auto;height:100%;float: left;"><p class="title-font" style="margin-top: 5px">处理后</p></div>
143
+ </div>
144
+ <div class="col-sm-6" style="margin-top: 10px">
145
+ <label class="font_normal_body">处&nbsp;理&nbsp;人</label>
146
+ <input class="input_search" style="width: 60%" disabled="true" type="text" v-model="solveModal.uploadData.f_repairman" placeholder="处理人">
147
+ </div>
148
+ <div class="col-sm-6" style="margin-top: 10px">
149
+ <label class="font_normal_body">处理时间</label>
150
+ <datepicker
151
+ :disabled="solveModal.preData.type == 'view'"
152
+ placeholder='处理时间' style="width:60%"
153
+ :disabled-days-of-week="[]"
154
+ :format="'yyyy-MM-dd'"
155
+ :show-rest-button="reset"
156
+ :value.sync="solveModal.uploadData.f_repair_date">
157
+ </datepicker>
158
+ </div>
159
+ <div v-if="solveModal.preData.type == 'solve'" class="col-sm-12" style="margin-bottom: 10px">
160
+ <label class="font_normal_body">处理后图片</label>
161
+ <avatar-upload :width="200" :height="200" :img-src.sync="solveModal.uploadData.imgSrc" :filename.sync="solveModal.uploadData.filename" v-ref:imginfo></avatar-upload>
162
+ </div>
163
+ <div v-if="solveModal.preData.type == 'view'" class="col-sm-12" style="margin-bottom: 10px">
164
+ <label class="font_normal_body">处理后图片</label>
165
+ <img-self :width="200" :height="200" :src="solveModal.preData.repairedImg"></img-self>
166
+ </div>
167
+ </div>
168
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
169
+ <button class="button_search" v-if="solveModal.preData.type == 'solve'" @click="ok">确认</button>
170
+ <button class="button_search" @click="cancel">取消</button>
171
+ </div>
172
+ </modal>
173
+
174
+ </div>
175
+ </template>
176
+
177
+ <script>
178
+ import {PagedList, HttpResetClass} from 'vue-client'
179
+ import * as Util from '../Util'
180
+ import co from 'co'
181
+
182
+ const upSolveDefect = function* (self) {
183
+ let uploadData = self.solveModal.uploadData
184
+ //tag)
185
+ self.$resetpost('/api/af-safecheck/logic/pcRepairDefect', self.solveModal.uploadData, {resolveMsg: null, rejectMsg: null})
186
+ .then(res => {
187
+ if (res.data.code == 200) {
188
+ self.$showMessage('隐患已处理。')
189
+ self.showSolveModal = false
190
+ self.model.search('', {})
191
+ }
192
+ })
193
+ }
194
+
195
+ const sendRepair = function* (self) {
196
+ let preData = self.toRepairModal.preData
197
+ let uploadData = self.toRepairModal.uploadData
198
+
199
+ if (preData.dispatchType == '派发给站点') {
200
+ uploadData.model.serviceacitivity[0].f_meetunit = preData.f_meetunit
201
+ uploadData.model.serviceacitivity[0].f_reciever = preData.f_reciever
202
+ uploadData.model.f_meetunit = preData.f_meetunit
203
+ uploadData.model.f_orgstr = preData.f_reciever
204
+ uploadData.model.f_outlets = preData.f_outlets
205
+ } else if (preData.dispatchType == '派发给维修员') {
206
+ uploadData.model.serviceacitivity[0].f_reciever = preData.f_repairman
207
+ // uploadData.model.f_meetunit = self.$login.f.orgpathnames
208
+ // uploadData.model.f_orgstr = self.$login.f.orgpathstr
209
+ // uploadData.model.f_outlets = self.$login.f.f_parentname
210
+ uploadData.model.f_meetunit = self.$login.f.deps
211
+ uploadData.model.f_orgid = self.$login.f.orgid
212
+ uploadData.model.f_filiale = self.$login.f.org
213
+ uploadData.model.f_outlets = self.$login.f.deps
214
+ uploadData.model.f_filiale_id = self.$login.f.orgid
215
+ uploadData.toRepair = '一级派单'
216
+ }
217
+ let res = yield self.$resetpost('/api/af-safecheck/sql/GetUserForRepaire', {data: {f_userinfo_id: self.check.f_userinfo_id}})
218
+ preData.userInfo = res.data[0]
219
+ uploadData.model = Object.assign(uploadData.model, preData.userInfo)
220
+ uploadData.user.f_userinfo_id = preData.userInfo.f_userinfo_id
221
+ uploadData.model.f_repair_date = Util.getNowDate()
222
+ uploadData.model.f_repairtype = preData.f_repairtype
223
+ uploadData.model.f_remarks = preData.f_remarks
224
+ // 拼接failure
225
+ let failure = []
226
+ self.model.rows.forEach(row => {
227
+ if (row.f_repaire_type == '隐患未处理') {
228
+ failure.push({
229
+ f_failure_type: row.f_item_name,
230
+ failurecase: row.f_item_value.split(',')
231
+ })
232
+ }
233
+ })
234
+ uploadData.model.failure = failure
235
+ // 拼接repairitems
236
+ let rows = JSON.parse(JSON.stringify(self.model.rows))
237
+ let repairitems = {
238
+ data: []
239
+ }
240
+ let safecheckOptions = [{"data": "已处理"}, {"data": "未处理"}]
241
+ // 取隐患未处理的
242
+ rows = rows.filter(row => row.f_repaire_type == '隐患未处理')
243
+ //tag)
244
+ // 开始拼接
245
+ rows.forEach(row => {
246
+ let existIndex = -1
247
+ // 判断该设备是否已经存在
248
+ for (let i = 0; i < repairitems.data.length; i++) {
249
+ if (repairitems.data[i].f_type == row.f_device_type) {
250
+ existIndex = i
251
+ break
252
+ }
253
+ }
254
+ if (existIndex == -1) {
255
+ // 不存在则新建
256
+ let newItem = {
257
+ f_type: row.f_device_type,
258
+ details: [{
259
+ f_defect_id:row.id,
260
+ f_project: `${row.f_item_name}:${row.f_item_value}`,
261
+ type: 'selector',
262
+ options: safecheckOptions
263
+ }]
264
+ }
265
+ repairitems.data.push(newItem)
266
+ } else {
267
+ // 存在则追加
268
+ repairitems.data[existIndex].details.push({
269
+ f_defect_id:row.id,
270
+ f_project: `${row.f_item_name}:${row.f_item_value}`,
271
+ type: 'selector',
272
+ options: safecheckOptions
273
+ })
274
+ }
275
+ })
276
+ uploadData.model.f_repairitems = repairitems
277
+ //tag)
278
+ // 调工单接口
279
+ let result = yield self.$resetpost('/api/af-safecheck/logic/callerSend', uploadData)
280
+ //tag)
281
+ if (result.data.f_service_id) {
282
+ let updateRes = yield self.$resetpost('/api/af-safecheck/logic/updateDefectState', {itemsId: self.$login.convertToIn(rows.map(row => row.id))})
283
+ if (updateRes.data.code == 200) {
284
+ self.$showMessage('隐患已转维修。')
285
+ self.model.search(`f_repaire_type != '无隐患'`, {})
286
+ }
287
+ }
288
+ }
289
+
290
+ export default {
291
+ title: '隐患项列表',
292
+ data() {
293
+ return {
294
+ model: new PagedList('api/af-safecheck/sql/GetDefectByPaperId', 100, {
295
+ f_paper_id: 'this.f_paper_id'
296
+ }),
297
+ showSolveModal: false,
298
+ showToRepairModal: false,
299
+ showDefectModal:false,
300
+ valid: false,
301
+ needRepair: true,
302
+ solveModal: {
303
+ preData: {
304
+ type: 'view',
305
+ defectImg: '',
306
+ repairedImg: ''
307
+ },
308
+ uploadData: {
309
+ id: '',
310
+ f_repairman: this.$login.f.name,
311
+ f_repair_date: Util.getNowDate().substr(0, 10),
312
+ f_repair_path: '',
313
+ imgSrc: '',
314
+ filename: ''
315
+ }
316
+ },
317
+ toRepairModal: {
318
+ preData: {
319
+ dispatchTypeOptions: [{label: '派发给站点', value: '派发给站点'}, {label: '派发给维修员', value: '派发给维修员'}],
320
+ repairTypeOptions: this.$appdata.getParam('报修类型'),
321
+ dispatchType: '',
322
+ f_repairman: '',
323
+ f_repairtype: '',
324
+ f_remarks: '',
325
+ f_meetunit: '',
326
+ f_reciever: '',
327
+ f_outlets: '',
328
+ userInfo: {},
329
+ repairers: []
330
+ },
331
+ uploadData: {
332
+ model: {
333
+ serviceacitivity: [{
334
+ f_service_acitivity_type: '派单'
335
+ }],
336
+ f_repairitems: {},
337
+ failure: '',
338
+ f_source: '安检',
339
+ f_service_id: '',
340
+ f_contact_phone: '',
341
+ f_meetunit: '',
342
+ f_phone: '',
343
+ f_user_name: '',
344
+ f_address: '',
345
+ f_repair_date: '',
346
+ f_reciever: '',
347
+ f_remarks: '',
348
+ f_user_type: '',
349
+ f_area: '',
350
+ f_unit_name: '',
351
+ f_street: '',
352
+ f_residential_area: '',
353
+ f_building: '',
354
+ f_unit: '',
355
+ f_floor: '',
356
+ f_room: '',
357
+ aState: '',
358
+ f_repairtype: '',
359
+ f_userinfo_id: '',
360
+ f_userinfo_code: '',
361
+ f_orgstr: '',
362
+ f_outlets: '',
363
+ f_attendant: this.$login.f.name
364
+ },
365
+ loginUser: {
366
+ name: this.$login.f.name,
367
+ ename: this.$login.f.ename
368
+ },
369
+ user: {
370
+ f_userinfo_id: ''
371
+ },
372
+ callObj: null
373
+ }
374
+ }
375
+ }
376
+ },
377
+ props: ['check'],
378
+ ready() {
379
+ if (this.check) {
380
+ this.model.f_paper_id = this.check.id
381
+ this.model.search(`f_repaire_type != '无隐患'`, {})
382
+ }
383
+ this.getEmp()
384
+ },
385
+ methods: {
386
+ solveDefect(row, type) {
387
+ if(row.f_repair_path && row.f_repair_path.startsWith('http')){
388
+ this.solveModal.preData.repairedImg = row.f_repair_path
389
+ }else {
390
+ this.solveModal.preData.repairedImg = '/rs/image/file/' + row.f_repair_path
391
+ }
392
+ this.solveModal.preData.defectImg = '/rs/image/file/' + row.f_path
393
+ this.solveModal.uploadData.id = row.id
394
+ this.solveModal.preData.type = type
395
+ if (type == 'view') {
396
+ this.solveModal.preData.f_repair_path = '/rs/image/file/' + row.f_repair_path
397
+ this.solveModal.uploadData.f_repairman = row.f_repairman
398
+ this.solveModal.uploadData.f_repair_date = row.f_repair_date
399
+ } else {
400
+ this.solveModal.uploadData.f_repairman = this.$login.f.name
401
+ this.solveModal.uploadData.f_repair_date = Util.getNowDate().substr(0, 10)
402
+ }
403
+ this.showSolveModal = !this.showSolveModal
404
+ },
405
+ ok() {
406
+ if (!(this.solveModal.uploadData.filename && this.solveModal.uploadData.filename.length > 0)) {
407
+ this.$showMessage('请录入处理后照片')
408
+ return
409
+ }
410
+ co(upSolveDefect(this))
411
+ },
412
+ cancel() {
413
+ this.showSolveModal = false
414
+ this.showToRepairModal = false
415
+ },
416
+ toRepair() {
417
+ this.showToRepairModal = !this.showToRepairModal
418
+ },
419
+ getSiteRes(obj) {
420
+ //tag
421
+ //tag
422
+ if(obj.resids[0]){
423
+ this.toRepairModal.preData.f_meetunit = obj.res.join('.')
424
+ this.toRepairModal.preData.f_reciever = obj.resids.join('.')
425
+ }else {
426
+ this.toRepairModal.preData.f_meetunit = ''
427
+ this.toRepairModal.preData.f_reciever = ''
428
+ this.toRepairModal.preData.f_outlets = ''
429
+ }
430
+ },
431
+ // 获取维修员
432
+ getEmp() {
433
+ let val = {source: 'this.getParentByType($organization$).getChildByName($维修员$).getUsers()', userid: `${this.$login.f.id}`}
434
+ let http = new HttpResetClass()
435
+ http.load('POST', '/rs/search', {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
436
+ res.data.forEach((item) => {
437
+ let http1 = new HttpResetClass()
438
+ http1.load('POST', 'api/af-safecheck/sql/safe_singleTable_OrderBy', {
439
+ data: {
440
+ items: 'f_user_telephone',
441
+ tablename: 't_user',
442
+ condition: `id = '${item.id}'`,
443
+ orderitem: 'id'
444
+ }
445
+ }, {resolveMsg: null, rejectMsg: null}).then((ress) => {
446
+ this.toRepairModal.preData.repairers.push({label: `${item.name}:${ress.data[0].f_user_telephone}`, value: item.name})
447
+ }).catch(error=>{
448
+ this.toRepairModal.preData.repairers.push({label: item.name, value: item.name})
449
+ })
450
+ })
451
+ })
452
+ },
453
+ confirm() {
454
+ if (this.toRepairModal.preData.dispatchType == '派发给站点' && !this.toRepairModal.preData.f_meetunit) {
455
+ this.$showMessage('请选择站点。')
456
+ return
457
+ }
458
+ co(sendRepair(this))
459
+ }
460
+ },
461
+ watch: {
462
+ 'check'() {
463
+ this.model.f_paper_id = this.check.id
464
+ this.model.search(`f_repaire_type != '无隐患'`, {})
465
+ },
466
+ 'model.rows'() {
467
+ if (this.model.rows.length > 0) {
468
+ if (this.model.rows[0].f_repaire_type == '隐患未处理') {
469
+ this.needRepair = true
470
+ return
471
+ }
472
+ }
473
+ this.needRepair = false
474
+ }
475
+ }
476
+ }
477
+ </script>
478
+ <style lang="less" scoped>
479
+ .select-error {
480
+ button {
481
+ border-bottom: 1px solid #a94442 !important;
482
+ }
483
+ }
484
+ </style>