safecheck-client 4.0.1-71 → 4.0.1-73

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