safecheck-client 3.0.33-64 → 3.0.33-68

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 (385) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/CHANGELOG.md +27 -27
  4. package/android.html +18 -18
  5. package/build/css-loaders.js +34 -34
  6. package/build/dev-android.js +151 -151
  7. package/build/dev-client.js +8 -8
  8. package/build/release.sh +28 -28
  9. package/build/utils.js +71 -71
  10. package/build/webpack.baseandroid.conf.js +83 -83
  11. package/build/webpack.devandroid.conf.js +33 -33
  12. package/build/webpack.example.conf.js +49 -49
  13. package/build/webpack.hanwei.conf.js +57 -57
  14. package/build/webpack.hwbase.conf.js +78 -78
  15. package/build/webpack.prodandroid.conf.js +60 -60
  16. package/build/webpack.test.conf.js +31 -31
  17. package/build.gradle +14 -14
  18. package/config/dev.env.js +6 -6
  19. package/config/index.js +38 -38
  20. package/config/prod.env.js +3 -3
  21. package/config/test.env.js +6 -6
  22. package/docs/AppBase.md +22 -22
  23. package/docs/Busy.md +14 -14
  24. package/docs/Criteria.md +47 -47
  25. package/docs/CriteriaPaged.md +47 -47
  26. package/docs/DataGrid.md +54 -54
  27. package/docs/DataModel.md +22 -22
  28. package/docs/Dynamic.md +42 -42
  29. package/docs/FormPrint.md +18 -18
  30. package/docs/GetParams.md +11 -11
  31. package/docs/GridTree.md +47 -47
  32. package/docs/HttpBusy.md +13 -13
  33. package/docs/HttpStore.md +29 -29
  34. package/docs/MessageBox.md +28 -28
  35. package/docs/PagedList.md +29 -29
  36. package/docs/Pager.md +21 -21
  37. package/docs/PrintFile.md +38 -38
  38. package/docs/Project.md +23 -23
  39. package/docs/Route.md +105 -105
  40. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  41. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  42. package/docs/Task.md +46 -46
  43. package/docs/TreeList.md +28 -28
  44. package/docs/TreeMixin.md +18 -18
  45. package/docs/all.md +10 -10
  46. package/docs/list.md +42 -42
  47. package/docs/partial.md +75 -75
  48. package/docs/selector.md +82 -82
  49. package/docs/tree.md +40 -40
  50. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  51. 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
  52. 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
  53. 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
  54. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  55. package/examples/AddressList/App.vue +13 -13
  56. package/examples/AddressList/index.html +11 -11
  57. package/examples/AddressList/main.js +13 -13
  58. package/examples/ChangeConfig/index.html +17 -17
  59. package/examples/ChangeConfig/main.js +13 -13
  60. package/examples/CheckAdvise/comp.js +9 -9
  61. package/examples/CheckAdvise/index.html +18 -18
  62. package/examples/CheckAdvise/main.js +13 -13
  63. package/examples/CreatePlan/App.vue +13 -13
  64. package/examples/CreatePlan/index.html +11 -11
  65. package/examples/CreatePlan/main.js +13 -13
  66. package/examples/DispatchList/App.vue +10 -10
  67. package/examples/DispatchList/BaseTree.vue +13 -13
  68. package/examples/DispatchList/Init.vue +22 -22
  69. package/examples/DispatchList/Test.vue +20 -20
  70. package/examples/DispatchList/index.html +11 -11
  71. package/examples/DispatchList/main.js +18 -18
  72. package/examples/PhoneSafePlan/comp.js +33 -33
  73. package/examples/PhoneSafePlan/index.html +17 -17
  74. package/examples/PhoneSafePlan/main.js +13 -13
  75. package/examples/SafePlan/main.js +13 -13
  76. package/examples/SafePlan-aode/main.js +13 -13
  77. package/examples/SafePlanItem/index.html +17 -17
  78. package/examples/SafePlanItem/main.js +15 -15
  79. package/examples/Test/index.html +17 -17
  80. package/examples/Test/main.js +13 -13
  81. package/examples/Test//350/216/267/345/217/226/345/217/230/351/207/217 +2 -2
  82. package/examples/UserFiles/index.html +19 -19
  83. package/examples/UserFiles/main.js +13 -13
  84. package/home.html +16 -16
  85. package/index.html +6 -2
  86. package/oa.iml +8 -8
  87. package/package.json +1 -1
  88. package/publish.bat +7 -7
  89. package/release.bat +5 -5
  90. package/src/App.vue +33 -31
  91. package/src/Widget.vue +13 -13
  92. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  93. package/src/android-bootstrap/less/.csscomb.json +304 -304
  94. package/src/android-bootstrap/less/.csslintrc +19 -19
  95. package/src/android-bootstrap/less/alerts.less +73 -73
  96. package/src/android-bootstrap/less/badges.less +66 -66
  97. package/src/android-bootstrap/less/bootstrap.less +56 -56
  98. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  99. package/src/android-bootstrap/less/button-groups.less +247 -247
  100. package/src/android-bootstrap/less/buttons.less +173 -173
  101. package/src/android-bootstrap/less/carousel.less +269 -269
  102. package/src/android-bootstrap/less/close.less +34 -34
  103. package/src/android-bootstrap/less/code.less +69 -69
  104. package/src/android-bootstrap/less/component-animations.less +33 -33
  105. package/src/android-bootstrap/less/dropdowns.less +216 -216
  106. package/src/android-bootstrap/less/forms.less +626 -626
  107. package/src/android-bootstrap/less/glyphicons.less +305 -305
  108. package/src/android-bootstrap/less/grid.less +84 -84
  109. package/src/android-bootstrap/less/input-groups.less +167 -167
  110. package/src/android-bootstrap/less/jumbotron.less +52 -52
  111. package/src/android-bootstrap/less/labels.less +64 -64
  112. package/src/android-bootstrap/less/list-group.less +141 -141
  113. package/src/android-bootstrap/less/media.less +66 -66
  114. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  115. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  116. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  117. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  118. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  119. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  120. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  121. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  122. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  123. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  124. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  125. package/src/android-bootstrap/less/mixins/image.less +33 -33
  126. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  127. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  128. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  129. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  130. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  131. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  132. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  133. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  134. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  135. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  136. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  137. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  138. package/src/android-bootstrap/less/mixins/size.less +10 -10
  139. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  140. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  141. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  142. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  143. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  144. package/src/android-bootstrap/less/mixins.less +40 -40
  145. package/src/android-bootstrap/less/modals.less +151 -151
  146. package/src/android-bootstrap/less/navbar.less +660 -660
  147. package/src/android-bootstrap/less/navs.less +290 -290
  148. package/src/android-bootstrap/less/normalize.less +424 -424
  149. package/src/android-bootstrap/less/pager.less +76 -76
  150. package/src/android-bootstrap/less/pagination.less +89 -89
  151. package/src/android-bootstrap/less/panels.less +274 -274
  152. package/src/android-bootstrap/less/popovers.less +131 -131
  153. package/src/android-bootstrap/less/print.less +101 -101
  154. package/src/android-bootstrap/less/progress-bars.less +87 -87
  155. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  156. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  157. package/src/android-bootstrap/less/scaffolding.less +161 -161
  158. package/src/android-bootstrap/less/tables.less +262 -262
  159. package/src/android-bootstrap/less/theme.less +291 -291
  160. package/src/android-bootstrap/less/thumbnails.less +36 -36
  161. package/src/android-bootstrap/less/tooltip.less +102 -102
  162. package/src/android-bootstrap/less/type.less +303 -303
  163. package/src/android-bootstrap/less/utilities.less +55 -55
  164. package/src/android-bootstrap/less/variables.less +896 -896
  165. package/src/android-bootstrap/less/wells.less +29 -29
  166. package/src/androidBase.js +177 -177
  167. package/src/androidTest.js +20 -20
  168. package/src/bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  169. package/src/bootstrap/less/.csscomb.json +304 -304
  170. package/src/bootstrap/less/.csslintrc +19 -19
  171. package/src/bootstrap/less/alerts.less +73 -73
  172. package/src/bootstrap/less/aofeng/animate.min.css +10 -10
  173. package/src/bootstrap/less/aofeng/standard.less +2121 -2121
  174. package/src/bootstrap/less/aofeng/themeOne/BinaryTemplate.less +686 -686
  175. package/src/bootstrap/less/aofeng/themeOne/loginStyle.less +1586 -1586
  176. package/src/bootstrap/less/aofeng/themeOne/systemStyle.less +2650 -2650
  177. package/src/bootstrap/less/aofeng/themeOne.less +14 -14
  178. package/src/bootstrap/less/aofeng/themeTwo/newStyle1.less +415 -415
  179. package/src/bootstrap/less/aofeng/themeTwo.less +3 -3
  180. package/src/bootstrap/less/badges.less +66 -66
  181. package/src/bootstrap/less/breadcrumbs.less +26 -26
  182. package/src/bootstrap/less/button-groups.less +247 -247
  183. package/src/bootstrap/less/buttons.less +172 -172
  184. package/src/bootstrap/less/carousel.less +269 -269
  185. package/src/bootstrap/less/close.less +34 -34
  186. package/src/bootstrap/less/code.less +69 -69
  187. package/src/bootstrap/less/component-animations.less +33 -33
  188. package/src/bootstrap/less/dropdowns.less +216 -216
  189. package/src/bootstrap/less/forms.less +626 -626
  190. package/src/bootstrap/less/grid.less +84 -84
  191. package/src/bootstrap/less/input-groups.less +167 -167
  192. package/src/bootstrap/less/jumbotron.less +52 -52
  193. package/src/bootstrap/less/labels.less +64 -64
  194. package/src/bootstrap/less/list-group.less +141 -141
  195. package/src/bootstrap/less/manageStyle/manageChile.less +180 -180
  196. package/src/bootstrap/less/manageStyle/manageStyle.less +1102 -1102
  197. package/src/bootstrap/less/manageStyle/safeStyle.less +498 -498
  198. package/src/bootstrap/less/media.less +66 -66
  199. package/src/bootstrap/less/mixins/alerts.less +14 -14
  200. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  201. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  202. package/src/bootstrap/less/mixins/buttons.less +69 -69
  203. package/src/bootstrap/less/mixins/center-block.less +7 -7
  204. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  205. package/src/bootstrap/less/mixins/forms.less +90 -90
  206. package/src/bootstrap/less/mixins/gradients.less +59 -59
  207. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  208. package/src/bootstrap/less/mixins/grid.less +122 -122
  209. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  210. package/src/bootstrap/less/mixins/image.less +33 -33
  211. package/src/bootstrap/less/mixins/labels.less +12 -12
  212. package/src/bootstrap/less/mixins/list-group.less +30 -30
  213. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  214. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  215. package/src/bootstrap/less/mixins/opacity.less +8 -8
  216. package/src/bootstrap/less/mixins/pagination.less +24 -24
  217. package/src/bootstrap/less/mixins/panels.less +24 -24
  218. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  219. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  220. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  221. package/src/bootstrap/less/mixins/resize.less +6 -6
  222. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  223. package/src/bootstrap/less/mixins/size.less +10 -10
  224. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  225. package/src/bootstrap/less/mixins/table-row.less +44 -44
  226. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  227. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  228. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  229. package/src/bootstrap/less/mixins.less +40 -40
  230. package/src/bootstrap/less/modals.less +151 -151
  231. package/src/bootstrap/less/navbar.less +660 -660
  232. package/src/bootstrap/less/navs.less +285 -285
  233. package/src/bootstrap/less/normalize.less +424 -424
  234. package/src/bootstrap/less/pager.less +76 -76
  235. package/src/bootstrap/less/pagination.less +89 -89
  236. package/src/bootstrap/less/panels.less +275 -275
  237. package/src/bootstrap/less/popovers.less +131 -131
  238. package/src/bootstrap/less/print.less +101 -101
  239. package/src/bootstrap/less/progress-bars.less +87 -87
  240. package/src/bootstrap/less/responsive-embed.less +35 -35
  241. package/src/bootstrap/less/responsive-utilities.less +194 -194
  242. package/src/bootstrap/less/scaffolding.less +161 -161
  243. package/src/bootstrap/less/standard.less +503 -503
  244. package/src/bootstrap/less/systemStyle.less +860 -860
  245. package/src/bootstrap/less/tables.less +262 -262
  246. package/src/bootstrap/less/theme.less +291 -291
  247. package/src/bootstrap/less/themeOne.less +36 -36
  248. package/src/bootstrap/less/themeTwo.less +29 -29
  249. package/src/bootstrap/less/thumbnails.less +36 -36
  250. package/src/bootstrap/less/tooltip.less +102 -102
  251. package/src/bootstrap/less/type.less +303 -303
  252. package/src/bootstrap/less/utilities.less +55 -55
  253. package/src/bootstrap/less/wells.less +29 -29
  254. package/src/components/AloneLoadParams.vue +25 -25
  255. package/src/components/FileUpload.vue +696 -696
  256. package/src/components/Hello.vue +39 -39
  257. package/src/components/LeftTree.vue +27 -27
  258. package/src/components/Main.vue +393 -393
  259. package/src/components/android/AddGas.vue +147 -147
  260. package/src/components/android/AddressList.vue +61 -61
  261. package/src/components/android/AdviseCommit.vue +59 -59
  262. package/src/components/android/AndroidCheckResult.vue +181 -181
  263. package/src/components/android/AttendanceTally.vue +116 -116
  264. package/src/components/android/Blank.vue +10 -10
  265. package/src/components/android/CheckUnplanPage.vue +56 -56
  266. package/src/components/android/Checker.vue +12 -12
  267. package/src/components/android/CheckerAnnual.vue +81 -81
  268. package/src/components/android/CheckerAvarta.vue +82 -82
  269. package/src/components/android/CheckerMonthly.vue +84 -84
  270. package/src/components/android/CurrentCreate.vue +1050 -1050
  271. package/src/components/android/DevicesNoncivil.vue +214 -214
  272. package/src/components/android/EquipmentInspection.vue +348 -348
  273. package/src/components/android/FootprintMap.vue +120 -120
  274. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  275. package/src/components/android/LcheckUnplan.vue +108 -108
  276. package/src/components/android/MasterMain.vue +77 -77
  277. package/src/components/android/Menu.vue +132 -132
  278. package/src/components/android/NavBottom.vue +157 -157
  279. package/src/components/android/PaperAlarm.vue +85 -85
  280. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  281. package/src/components/android/PhoneInfoTable.vue +40 -40
  282. package/src/components/android/PlumberAnnual.vue +83 -83
  283. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  284. package/src/components/android/PlumberMonthly.vue +84 -84
  285. package/src/components/android/PostMap.vue +83 -83
  286. package/src/components/android/QueryCheckHistory.vue +122 -122
  287. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  288. package/src/components/android/RepairMain.vue +60 -60
  289. package/src/components/android/Repairman.vue +12 -12
  290. package/src/components/android/SafecheckOrderV.vue +2803 -2803
  291. package/src/components/android/StationMaster.vue +12 -12
  292. package/src/components/android/wasm/comp.js +33 -33
  293. package/src/components/checkerphonestate/Checker.vue +32 -32
  294. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  295. package/src/components/defects/AddDefectModal.vue +120 -120
  296. package/src/components/defects/AddDevice.vue +95 -95
  297. package/src/components/defects/DefectModal.vue +101 -101
  298. package/src/components/defects/DefectSeting.vue +98 -98
  299. package/src/components/defects/DefectsQuery.vue +190 -190
  300. package/src/components/defects/DevicesAndItem.vue +39 -39
  301. package/src/components/defects/DevicesSeting.vue +106 -106
  302. package/src/components/equipment/BoilerUsage.vue +105 -105
  303. package/src/components/equipment/CookerUsage.vue +105 -105
  304. package/src/components/equipment/DeviceUsage.vue +105 -105
  305. package/src/components/equipment/FurnaceUsage.vue +105 -105
  306. package/src/components/equipment/GasMeterUsage.vue +109 -109
  307. package/src/components/equipment/HeaterUsage.vue +105 -105
  308. package/src/components/gasusage/GasUsage.vue +126 -126
  309. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  310. package/src/components/map/PersonTrack.vue +224 -224
  311. package/src/components/map/douglasPeuckerForAMap.js +88 -88
  312. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  313. package/src/components/metterfiles/MetterFiles.vue +104 -104
  314. package/src/components/notice/NoticeForm.vue +100 -100
  315. package/src/components/notice/NoticeIssue.vue +20 -20
  316. package/src/components/notice/NoticeQuery.vue +76 -76
  317. package/src/components/paper/PicViewer.vue +18 -18
  318. package/src/components/paper/RepairVerify.vue +139 -139
  319. package/src/components/paper/RepairVerifyForm.vue +76 -76
  320. package/src/components/paper/VerifyForm.vue +107 -107
  321. package/src/components/phonestate/DailyTraffic.vue +57 -57
  322. package/src/components/phonestate/LastKnownState.vue +74 -74
  323. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  324. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  325. package/src/components/phonestate/PostMap.vue +82 -82
  326. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  327. package/src/components/querycheckpaper/PaperSearch.vue +126 -126
  328. package/src/components/task/RepairAnnual.vue +79 -79
  329. package/src/components/task/RepairAnnualDetail.vue +49 -49
  330. package/src/components/task/RepairMonthly.vue +91 -91
  331. package/src/components/task/TaskAnnual.vue +77 -77
  332. package/src/components/task/TaskAnnualDetail.vue +47 -47
  333. package/src/components/task/TaskMonthly.vue +89 -89
  334. package/src/components/userfile/MeterFile.vue +145 -145
  335. package/src/components/userfile/MeterModify.vue +46 -46
  336. package/src/components/userfile/UserFile.vue +118 -118
  337. package/src/components/userfile/UserfileChange.vue +277 -277
  338. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  339. package/src/components/userfileaudit/UserFileaudit.vue +81 -81
  340. package/src/components/userfileaudit/UserfileChangeaudit.vue +239 -239
  341. package/src/expandcss.less +571 -571
  342. package/src/filiale/fugou/android/SafecheckOrderV.vue +2803 -0
  343. package/src/filiale/fugou/android.js +11 -10
  344. package/src/filiale/fugou/pc/DefectMainNew.vue +63 -63
  345. package/src/filiale/fugou/pc/DefectPaperNew.vue +1081 -1081
  346. package/src/filiale/fugou/pc/PaperDefectMain.vue +920 -922
  347. package/src/filiale/fugou/pc/PaperList.vue +903 -903
  348. package/src/filiale/fugou/pc/PlanManage.vue +1061 -1061
  349. package/src/filiale/yangchunboneng/android/CurrentCreate.vue +1154 -1154
  350. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +221 -256
  351. package/src/filiale/yongzhou/pc/NoCheckplanSafecheck.vue +121 -102
  352. package/src/filiale/yongzhou/pc/PaperDefectMain.vue +872 -0
  353. package/src/filiale/yongzhou/pc/communityTypeDetailG.vue +55 -125
  354. package/src/filiale/yongzhou/pc/safeDetail.vue +1 -1
  355. package/src/filiale/yongzhou/pc/safeStatistics.vue +27 -1
  356. package/src/filiale/yongzhou/pc/safeStatisticsDay.vue +1 -1
  357. package/src/filiale/yongzhou/pc/safeStatisticsMonth.vue +1 -1
  358. package/src/filiale/yongzhou/pc/safeTable.vue +3 -3
  359. package/src/filiale/yongzhou/pc.js +1 -0
  360. package/src/main.js +32 -33
  361. package/src/plugins/GerJsonConfig.js +59 -59
  362. package/src/plugins/LoadData.js +10 -10
  363. package/src/plugins/LoadParams.js +24 -24
  364. package/src/stores/AppData.js +46 -46
  365. package/src/stores/wxconfig.js +10 -10
  366. package/src/utils/getNowDate.js +33 -33
  367. package/test/SearchList.test.js +14 -14
  368. package/test/e2e/custom-assertions/elementCount.js +26 -26
  369. package/test/e2e/nightwatch.conf.js +40 -40
  370. package/test/e2e/runner.js +30 -30
  371. package/test/e2e/specs/test.js +13 -13
  372. package/test/unit/.eslintrc +5 -5
  373. package/test/unit/TestUtil.js +62 -62
  374. package/test/unit/context.html +20 -20
  375. package/test/unit/index.js +13 -13
  376. package/test/unit/init.js +11 -11
  377. package/test/unit/karma.conf.js +53 -53
  378. package/test/unit/specs/Devices.spec.js +18 -18
  379. package/test/unit/specs/getArrobjconfig.spec.js +104 -104
  380. package/test/unit/specs/getobjconfig.spec.js +37 -37
  381. package/test/unit/specs/phonetest/phonesafecheck.spec.js +23 -23
  382. package/test/unit/specs/safePlanItem.spec.js +30 -30
  383. package/test/unit/specs/safecheck-android.spec.js +7 -7
  384. package/test/unit/specs/safecheck.spec.js +127 -127
  385. package/yarn-error.log +140 -140
@@ -0,0 +1,872 @@
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="basic-main">
4
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
5
+ <criteria partial='criteria' class="search_area" @condition-changed='$parent.selfSearch' v-ref:criteria>
6
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
+ <div class="row">
8
+ <div class="form-group col-sm-2" >
9
+ <label class="font_normal_body">客户编号</label>
10
+ <input type="text" class="input_search" v-model="model.f_userinfo_code"
11
+ style="width: 60%" placeholder="客户编号" condition="f_userinfo_code='{}'">
12
+ </div>
13
+ <div class="form-group col-sm-2" >
14
+ <label class="font_normal_body">客户名称</label>
15
+ <input type="text" class="input_search" v-model="model.f_user_name"
16
+ style="width: 60%" placeholder="客户名称" condition="f_user_name like '%{}%'">
17
+ </div>
18
+ <div class="form-group col-sm-2" >
19
+ <label class="font_normal_body">客户电话</label>
20
+ <input type="text" class="input_search" v-model="model.f_user_phone"
21
+ style="width: 60%" placeholder="客户电话" condition="f_user_phone like '%{}%'">
22
+ </div>
23
+ <div class="form-group col-sm-2" >
24
+ <label class="font_normal_body">小&emsp;&emsp;区</label>
25
+ <input type="text" class="input_search" v-model="model.f_residential_area"
26
+ style="width: 60%" placeholder="小区" condition="f_residential_area like '%{}%'">
27
+ </div>
28
+ <div class="form-group col-sm-4" style="display: flex; gap: 15px">
29
+ <export-excel-safe :data="$parent.$parent.searchData"
30
+ :field="$parent.$parent.excelHeaders"
31
+ progress="safeGetExportProgress"
32
+ sqlurl="rs/logic/SafeExportExcel" sql-name="defectDetails" template-name='安检隐患明细'></export-excel-safe>
33
+ <button class="button_search" @click="$parent.$parent.showaudio()" v-if="$parent.$parent.audioshow">隐藏</button>
34
+ <button class="button_search" @click="$parent.$parent.toRepair" v-if="$parent.$parent.canToRepair == '是'">转维修</button>
35
+ <button class="button_search" @click="search()">查询</button>
36
+ <div class="button_spacing"
37
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
38
+ @click="$parent.$parent.hidden()"></div>
39
+ </div>
40
+
41
+ </div>
42
+ <div class="row">
43
+ <div class="col-sm-4 form-group" v-show="$parent.$parent.criteriaShow" style="margin: 0">
44
+ <role-selector-safe
45
+ role-name="安检员"
46
+ role-lable="安&nbsp;检&nbsp;员&nbsp;"
47
+ @re-res="$parent.$parent.getRes"
48
+ :value.sync="model.f_checker_id"
49
+ v-model="model.f_checker_id"
50
+ :value-multiple="true"
51
+ :value-close="false"
52
+ condition="f_checker_name in {}">
53
+ </role-selector-safe>
54
+ </div>
55
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
56
+ <label class="font_normal_body">检&ensp;查&ensp;项</label>
57
+ <v-select :value.sync="model.f_device_type"
58
+ v-model="model.f_device_type"
59
+ style="width: 60%"
60
+ class="select_list select"
61
+ :options='$parent.$parent.device_types'
62
+ placeholder='检查项'
63
+ :multiple="true"
64
+ condition="f_device_type in {}"></v-select>
65
+ <!--<input type="text" class="input_search" v-model="model.f_device_type"-->
66
+ <!--style="width: 60%" placeholder="检&ensp;查&ensp;项" condition="f_device_type like '%{}%'">-->
67
+ </div>
68
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
69
+ <label class="font_normal_body">隐患名称</label>
70
+ <v-select :value.sync="model.f_item_name"
71
+ v-model='model.f_item_name'
72
+ style="width: 60%"
73
+ class="select_list select"
74
+ :options='$parent.$parent.DefectConfigs'
75
+ placeholder='隐患名称'
76
+ :multiple="true"
77
+ condition="f_item_name in {}"></v-select>
78
+ </div>
79
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
80
+ <label class="font_normal_body">安检起始</label>
81
+ <datepicker
82
+ class="select_list select"
83
+ :value.sync="model.f_check_start"
84
+ placeholder='安检起始时间' style="width: 60%"
85
+ :disabled-days-of-week="[]"
86
+ :format="'yyyy-MM-dd'"
87
+ :show-rest-button="reset"
88
+ v-model="model.f_check_start"
89
+ condition="f_offsite_time > ='{} 00:00:00'">
90
+ </datepicker>
91
+ </div>
92
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
93
+ <label class="font_normal_body">安检结束</label>
94
+ <datepicker
95
+ class="select_list select"
96
+ :value.sync="model.f_check_end"
97
+ placeholder='安检结束时间' style="width: 60%"
98
+ :disabled-days-of-week="[]"
99
+ :format="'yyyy-MM-dd'"
100
+ :show-rest-button="reset"
101
+ v-model="model.f_check_end"
102
+ condition="f_offsite_time <= '{} 23:59:59'">
103
+ </datepicker>
104
+ </div>
105
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
106
+ <label class="font_normal_body">用户类型</label>
107
+ <v-select :value.sync="model.f_check_type" v-model='model.f_check_type'
108
+ :value-single="true" style="width: 60%"
109
+ class="select_list select"
110
+ :options='$parent.$parent.f_check_type' placeholder='请选择'
111
+ close-on-select
112
+ condition="f_check_type = '{}'"></v-select>
113
+ </div>
114
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
115
+ <label class="font_normal_body">处理方式</label>
116
+ <v-select :value.sync="model.f_deal_dispose"
117
+ v-model='model.f_deal_dispose'
118
+ style="width: 60%"
119
+ class="select_list select"
120
+ :options='$parent.$parent.deal_dispose' placeholder='请选择'
121
+ :multiple="true"
122
+ condition="f_deal_dispose in {}"></v-select>
123
+ </div>
124
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
125
+ <label class="font_normal_body">详细地址</label>
126
+ <input type="text" class="input_search" v-model="model.f_address"
127
+ style="width: 60%" placeholder="详细地址" condition="f_address like '%{}%'">
128
+ </div>
129
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
130
+ <label class="font_normal_body">隐患状态</label>
131
+ <v-select :value.sync="model.f_is_repaired"
132
+ v-model='model.f_is_repaired'
133
+ style="width: 60%" :value-single="true"
134
+ class="select_list select" close-on-select
135
+ :options='$parent.$parent.repairStateOptions' placeholder='请选择'
136
+ ></v-select>
137
+ </div>
138
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
139
+ <label class="font_normal_body">处理人</label>
140
+ <input type="text" class="input_search" v-model="model.f_repairman"
141
+ style="width: 60%" placeholder="处理人" condition="f_repairman = '{}'">
142
+ </div>
143
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
144
+ <label for="startDate" class="font_normal_body">处理时间:</label>
145
+ <datepicker id="startDate" placeholder="处理开始日期"
146
+ style="width: 60%!important;"
147
+ v-model="model.sq_startDate"
148
+ :value.sync="model.sq_startDate"
149
+ :format="'yyyy-MM-dd 00:00:00'"
150
+ :show-reset-button="true"
151
+ condition="f_repair_date >= '{}'">
152
+ </datepicker>
153
+ </div>
154
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
155
+ <label for="endDate" class="font_normal_body">处理时间:</label>
156
+ <datepicker id="endDate" placeholder="处理结束日期"
157
+ style="width: 60%!important;"
158
+ v-model="model.sq_endDate"
159
+ :value.sync="model.sq_endDate"
160
+ :format="'yyyy-MM-dd 23:59:59'"
161
+ :show-reset-button="true"
162
+ condition="f_repair_date<= '{}'">
163
+ </datepicker>
164
+ </div>
165
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
166
+ <label class="font_normal_body">开户时间</label>
167
+ <datepicker
168
+ :value.sync="model.f_check_gasstart"
169
+ placeholder='开始时间' style="width: 60%"
170
+ :format="'yyyy-MM-dd'"
171
+ :show-rest-button="true"
172
+ v-model="model.f_check_gasstart"
173
+ condition="f_gas_date > ='{} 00:00:00'">
174
+ </datepicker>
175
+ </div>
176
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
177
+ <label class="font_normal_body">开户时间</label>
178
+ <datepicker
179
+ :value.sync="model.f_check_gasend"
180
+ placeholder='结束时间' style="width: 60%"
181
+ :format="'yyyy-MM-dd'"
182
+ :show-rest-button="true"
183
+ v-model="model.f_check_gasend"
184
+ condition="f_gas_date <= '{} 23:59:59'">
185
+ </datepicker>
186
+ </div>
187
+ </div>
188
+ <modal :show.sync="$parent.$parent.showModal" v-ref:modal>
189
+ <div slot="modal-header" class="modal-header">
190
+ <h4 class="modal-title">
191
+ 选择计划
192
+ </h4>
193
+ </div>
194
+ <div slot="modal-body" class="modal-body">
195
+ <plan-chooser :f.sync="$parent.$parent.fun" v-ref:chooser></plan-chooser>
196
+ </div>
197
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
198
+ <button class="button_search" @click="$parent.$parent.ok">确认</button>
199
+ <button class="button_search" @click="$parent.$parent.cancel">取消</button>
200
+ </div>
201
+ </modal>
202
+ </div>
203
+ </criteria>
204
+ <data-grid class="list_area table_sy" style="overflow: hidden" :model="model" partial='list' v-ref:grid>
205
+ <template partial='head'>
206
+ <tr>
207
+ <th v-if="$parent.$parent.$parent.canToRepair=='是'"><nobr>选择</nobr></th>
208
+ <th>
209
+ <nobr>检查项</nobr>
210
+ </th>
211
+ <th>
212
+ <nobr>隐患原因</nobr>
213
+ </th>
214
+ <th>
215
+ <nobr>隐患级别</nobr>
216
+ </th>
217
+ <th>
218
+ <nobr>客户编号</nobr>
219
+ </th>
220
+ <th>
221
+ <nobr>客户名称</nobr>
222
+ </th>
223
+ <th>
224
+ <nobr>客户电话</nobr>
225
+ </th>
226
+ <th>
227
+ <nobr>客户小区</nobr>
228
+ </th>
229
+ <th>
230
+ <data-order field="f_address" name="客户地址"></data-order>
231
+ </th>
232
+
233
+ <th>
234
+ <data-order field="f_offsite_time" name="安检时间"></data-order>
235
+ </th>
236
+ <th>
237
+ <nobr>安检员</nobr>
238
+ </th>
239
+ <th>
240
+ <nobr>隐患状态</nobr>
241
+ </th>
242
+ <th>
243
+ <nobr>处理人</nobr>
244
+ </th>
245
+ <th>
246
+ <nobr>处理方式</nobr>
247
+ </th>
248
+ <th>
249
+ <nobr>处理时间</nobr>
250
+ </th>
251
+ <th>
252
+ <nobr>工单编号</nobr>
253
+ </th>
254
+ <th>
255
+ <nobr>转单类型</nobr>
256
+ </th>
257
+ <th>
258
+ <nobr>接收人</nobr>
259
+ </th>
260
+ </tr>
261
+ </template>
262
+ <template partial='body'>
263
+ <td v-if="$parent.$parent.$parent.canToRepair=='是'" style="text-align: center;white-space:nowrap;"><input type="checkbox" v-if="['用户自行整改', '现场已处理', '维修已处理', '转维修'].indexOf(row.f_is_repaired) == -1" @click="$event.cancelBubble=true" :checked="$parent.$parent.$parent.isChecked(row)" @change="$parent.$parent.$parent.setCheckes(row)"></input></td>
264
+ <td style="text-align: center">{{row.f_device_type}}</td>
265
+ <td style="text-align: center">{{row.f_item_name}}/{{row.f_item_value}}</td>
266
+ <td style="text-align: center">{{row.f_defect_level}}</td>
267
+ <td style="text-align: center">{{row.f_userinfo_code}}</td>
268
+ <td style="text-align: center">{{row.f_user_name}}</td>
269
+ <td style="text-align: center">{{row.f_user_phone}}</td>
270
+ <td style="text-align: center">{{row.f_residential_area}}</td>
271
+ <td style="text-align: center">{{row.f_address}}</td>
272
+ <td style="text-align: center">{{row.f_offsite_time}}</td>
273
+ <td style="text-align: center">{{row.f_checker_name}}</td>
274
+ <td style="text-align: center">{{row.f_is_repaired}}</td>
275
+ <td style="text-align: center">{{row.f_repairman}}</td>
276
+ <td style="text-align: center">{{row.f_deal_dispose}}</td>
277
+ <td style="text-align: center">{{row.f_repair_date}}</td>
278
+ <td style="text-align: center">{{row.f_service_id}}</td>
279
+ <td style="text-align: center">{{row.f_handlingtype}}</td>
280
+ <td style="text-align: center">{{row.f_order_man}}</td>
281
+ </template>
282
+ </data-grid>
283
+ </criteria-paged>
284
+ <check-msg v-if="showcheckmsg" :show="showcheckmsg" :data="checkInfo"></check-msg>
285
+ <modal :show.sync="showModal2" :backdrop="false">
286
+ <div slot="modal-header" class="modal-header">
287
+ <h4 class="modal-title">
288
+ 转维修
289
+ </h4>
290
+ </div>
291
+ <div slot="modal-body" class="modal-body">
292
+ <div v-if="true">
293
+ <div>
294
+
295
+ </div>
296
+ <!-- <div v-for="(index, item) in dangerGroup">-->
297
+
298
+ <!-- </div>-->
299
+ <div class="row" style="margin-top: 10px">
300
+ <label class="control-label font text-left" style="float:left;margin-left:20%;margin-top:5px">派发类型</label>
301
+ <div class="col-xs-8 col-md-8">
302
+ <v-select :value.sync="selectData.dispatchType" :value-single="true" v-model="selectData.dispatchType"
303
+ :options='dispatchTypeOptions' placeholder='派发类型'
304
+ close-on-select>
305
+ </v-select>
306
+ </div>
307
+ </div>
308
+ <div class="row" style="margin-top: 10px" v-if="selectData.dispatchType=='派发给维修员'">
309
+ <label class="control-label font text-left" style="float:left;margin-left:20%;margin-top:5px">维&ensp;修&ensp;员</label>
310
+ <div class="col-xs-8 col-md-8">
311
+ <v-select
312
+ :value.sync="selectData.f_repairman"
313
+ :value-single="true"
314
+ :options='repairers'
315
+ placeholder='请选择维修员'
316
+ close-on-select></v-select>
317
+ </div>
318
+ </div>
319
+ <div class="row" style="margin-top: 10px" v-if="selectData.dispatchType=='派发给站点'">
320
+ <label class="control-label font text-left" style="float:left;margin-left:20%;margin-top:5px">站&ensp;&ensp;&ensp;&ensp;点</label>
321
+ <div class="col-xs-8 col-md-8">
322
+ <right-tree
323
+ islist
324
+ :userid="userid"
325
+ :source="'dep=this.getParentByType($organization$).getSpecialResByType($department$),tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))'"
326
+ @re-res="getSiteRes"></right-tree>
327
+ </div>
328
+ </div>
329
+ <div class="row" style="margin-top: 10px">
330
+ <label class="control-label font text-left" style="float:left;margin-left:20%;margin-top:5px">报修类型</label>
331
+ <div class="col-xs-8 col-md-8">
332
+ <v-select :value.sync="selectData.f_repairtype" style="width:60%"
333
+ class="select select_list"
334
+ :value-single="true"
335
+ :options='repairTypeOptions'
336
+ close-on-select>
337
+ </v-select>
338
+ </div>
339
+ </div>
340
+ <div class="row" style="margin-top: 10px">
341
+ <label class="control-label font text-left" style="float:left;margin-left:20%;margin-top:5px">备&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注</label>
342
+ <div class="col-xs-8 col-md-8">
343
+ <textarea style="width: 60%; height: 100px" v-model="selectData.f_remarks"></textarea>
344
+ </div>
345
+ </div>
346
+ </div>
347
+ </div>
348
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
349
+ <button class="button_search" @click="rectification">转维修</button>
350
+ <button class="button_search" @click="cancel1">取消</button>
351
+ </div>
352
+ </modal>
353
+ <modal :show.sync="showModal3">
354
+ <div slot="modal-header" class="modal-header">
355
+ <h4 class="modal-title">
356
+ 转维修进度{{ progressbarWidth }}%
357
+ </h4>
358
+ </div>
359
+ <div slot="modal-body" class="modal-body">
360
+ <div class="progress">
361
+ <div class="progress-bar" role="progressbar" aria-valuenow="60"
362
+ aria-valuemin="0" aria-valuemax="100" :style="'width:'+ progressbarWidth+'%'">
363
+ </div>
364
+ </div>
365
+ </div>
366
+ <div slot="modal-footer" class="modal-footer" style="text-align: center" v-show="false"></div>
367
+ </modal>
368
+ </div>
369
+ </div>
370
+ </template>
371
+
372
+ <script>
373
+ import {PagedList} from 'vue-client'
374
+ import Vue from 'vue'
375
+ import co from 'co'
376
+ import HttpResetClass from "vue-client/src/plugins/HttpResetClass";
377
+ import BenzAMRRecorder from 'benz-amr-recorder'
378
+
379
+ //获取json配置文件
380
+ let asyncReady = async function (self) {
381
+ // 获取配置信息
382
+ try {
383
+ let res = await Vue.resetget(`/phone/rs/vue`, {data: {}}, {resolveMsg: null, rejectMsg: null})
384
+ Vue.config = res.data
385
+ self.getDefectInfoConfig(res.data)
386
+ } catch (error) {
387
+ // 忽略704,文件找不到异常R
388
+ if (error.status !== 704) {
389
+ throw error
390
+ }
391
+ }
392
+ }
393
+
394
+ let select = function* (self) {
395
+ let http = new HttpResetClass()
396
+ let getGasman = yield http.load('POST', '/rs/search', {
397
+ source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
398
+ userid: self.$login.f.id
399
+ }, {resolveMsg: null, rejectMsg: null})
400
+ ////tag
401
+ self.checkersid.push({label: '全部', value: ''})
402
+ getGasman.data.forEach((checker) => {
403
+ self.checkersid.push({label: checker.name, value: checker.id})
404
+ })
405
+ }
406
+
407
+ export default {
408
+ title: '隐患明细查看',
409
+ data() {
410
+ let model = new PagedList('rs/sql/defectDetails', 20,{
411
+ f_filialeid: 'this.f_filialeid'
412
+ })
413
+ model.f_plan_id = ''
414
+ model.f_approved = ''
415
+ model.f_entry = ''
416
+ model.f_no_checkplan = ''
417
+ model.f_check_type=''
418
+ model.f_filialeid = `('${this.$login.f.orgid}')`
419
+ return {
420
+ audioshow:false,
421
+
422
+ model: model,
423
+ deal_dispose:[{label:'全部',value:''},{label:'报修',value:'报修'},{label:'现场整改',value:'现场整改'},{label:'自行处理',value:'自行处理'},{label:'未处理',value:'未处理'}],
424
+ repairStateOptions: [{label:'全部',value:''},{label:'已处理',value:'已处理'},{label:'未处理',value:'未处理'},{label:'处理中',value:'处理中'}],
425
+ //searchData:searchData,
426
+ excelHeaders: {
427
+ 'f_device_type': '检查项',
428
+ 'f_item_name': '隐患名称',
429
+ 'f_userinfo_code': '客户编号',
430
+ 'f_user_name': '客户姓名',
431
+ 'f_user_phone': '客户电话',
432
+ 'f_residential_area': '小区',
433
+ 'f_address': '客户地址',
434
+ 'f_offsite_time': '安检时间',
435
+ 'f_checker_name': '安检员',
436
+ 'f_deal_dispose': '处理方式',
437
+ 'f_is_repaired': '隐患状态',
438
+ 'f_repairman':'处理人',
439
+ 'f_repair_date':'处理时间'
440
+ },
441
+ fun: this.$login.f,
442
+ checkersid: [],
443
+ safetype: this.getSafeParam('安检类型'),
444
+ criteriaShow: false,
445
+ showModal: false,
446
+ f_approval_states: this.getSafeParam('安检单审核状态'),
447
+ f_entry_status:this.getSafeParam('安检状态'),
448
+ f_checkplans: this.getSafeParam('有无计划'),
449
+ showcheckmsg: false,
450
+ checkInfo: {},
451
+ orderDefault: "'f_offsite_time'",
452
+ orderFields: {
453
+ f_offsite_time: 'no'
454
+ },
455
+ sliceArea: [],
456
+ cbc:[],
457
+ DefectConfig:'' ,
458
+ DefectConfigs:[{label:'全部',value:''},{label: '金额异常差值', value: '金额异常差值'},{label: '气量异常差值', value: '气量异常差值'}],
459
+ device_types:[{label:'全部',value:''}],
460
+ f_check_type:[{label:'全部',value:''},{label:'民用',value:'民用'},{label:'非民用',value:'非民用'}],
461
+ showModal2: false,
462
+ selectData:{
463
+ dispatchType:'',
464
+ f_repairman:'',
465
+ f_remarks:'',
466
+ f_repairtype:''
467
+ },
468
+ repairers: [],
469
+ repairTypeOptions:this.$appdata.getParam('报修类型'),
470
+ dispatchTypeOptions: [{label: '派发给站点', value: '派发给站点'},{label: '派发给维修员', value: '派发给维修员'}],
471
+ dangerGroups: [],
472
+ showModal3: false,
473
+ progressbarWidth:'0',
474
+ canToRepair: this.$appdata.getSingleValue('隐患明细转维修'),
475
+ checkes: []
476
+ }
477
+ },
478
+ computed :{
479
+ searchData() {
480
+ return {condition: this.model.condition}
481
+ }
482
+ },
483
+ methods: {
484
+ isChecked(row) {
485
+ return this.checkes.findIndex(item => item.f_defect_id == row.f_defect_id) != -1
486
+ },
487
+ setCheckes(row) {
488
+ let index=this.checkes.findIndex(item => item.f_defect_id == row.f_defect_id)
489
+ if(index<0){
490
+ this.checkes.push(row)
491
+ }else{
492
+ this.checkes.splice(index,1)
493
+ }
494
+ console.log('this.checkes=', JSON.stringify(this.checkes))
495
+ },
496
+ toRepair(){
497
+ console.log('this.checkes=', JSON.stringify(this.checkes))
498
+ if(this.checkes.length==0){
499
+ return this.$showMessage('请先选择需要转维修的隐患!')
500
+ }
501
+
502
+ const dangerGroups = []
503
+ for (const danger of this.checkes) {
504
+ let i = dangerGroups.findIndex(dangerGroup => dangerGroup.f_userinfo_code === danger.f_userinfo_code)
505
+ if (i == -1){
506
+ dangerGroups.push({
507
+ f_userinfo_code: danger.f_userinfo_code,
508
+ dangers: []
509
+ })
510
+ i = dangerGroups.length - 1
511
+ }
512
+ dangerGroups[i].dangers.push(danger)
513
+ }
514
+ this.dangerGroups = dangerGroups
515
+ console.log('this.dangerGroups=', JSON.stringify(this.dangerGroups))
516
+ this.showModal2=true
517
+ },
518
+ getEmp() {
519
+ let val = {source: 'this.getParentByType($organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$)!=null ).where(row.getAttributes().get($rolestr$).indexOf($维修员$) != -1))', userid: `${this.$login.f.id}`}
520
+ let http = new HttpResetClass()
521
+ http.load('POST', '/rs/search', {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
522
+ if (res.data.length == 0){
523
+ this.repairers= []
524
+ return
525
+ }
526
+ let str=``
527
+ res.data.forEach((item,idx,arr) => {
528
+ if(idx+1==arr.length){
529
+ str += item.id
530
+ }else{
531
+ str += item.id+`','`
532
+ }
533
+ })
534
+ let http1 = new HttpResetClass()
535
+ http1.load('POST', 'rs/sql/tel_singleTable_OrderBy', {
536
+ data: {
537
+ items: 'id,f_user_telephone',
538
+ tablename: 't_user',
539
+ condition: `id in ('${str}')`,
540
+ orderitem: 'id'
541
+ }
542
+ }, {resolveMsg: null, rejectMsg: null}).then((ress) => {
543
+ res.data.forEach((user)=>{
544
+ try {
545
+ ress.data.forEach((tel,tidx,arr)=>{
546
+ if(user.id==tel.id){
547
+ this.repairers.push({label: `${user.name}:${tel.f_user_telephone}`, value: user.name})
548
+ ress.data.splice(tidx,1)
549
+ }
550
+ })
551
+ }catch (e) {
552
+ }
553
+ })
554
+ }).catch(error=>{
555
+ res.data.forEach((user)=>{
556
+ this.repairers.push({label: user.name, value: user.name})
557
+ })
558
+ })
559
+
560
+ })
561
+ },
562
+ getSiteRes(obj) {
563
+ console.log('siteRes ---> ')
564
+ console.log(obj)
565
+ if(obj.resids[0]){
566
+ this.selectData.f_meetunit = obj.res.join('.')
567
+ this.selectData.f_reciever = obj.resids.join('.')
568
+ this.selectData.f_outlets = obj.res[obj.res.length - 1]
569
+ }else {
570
+ this.selectData.f_meetunit = ''
571
+ this.selectData.f_reciever = ''
572
+ this.selectData.f_outlets = ''
573
+ }
574
+ },
575
+ cancel1(){
576
+ this.showModal2=false
577
+ this.selectData={
578
+ dispatchType:'',
579
+ f_repairman:'',
580
+ f_remarks:'',
581
+ f_repairtype:''
582
+ }
583
+ },
584
+ async rectification(){
585
+ if(this.selectData.dispatchType){
586
+ if(this.selectData.dispatchType=='派发给站点'){
587
+ if(!this.selectData.f_reciever){
588
+ this.$showMessage('请选择部门!')
589
+ return
590
+ }
591
+ }else{
592
+ if(!this.selectData.f_repairman){
593
+ this.$showMessage('请选择维修员!')
594
+ return
595
+ }
596
+ }
597
+ }else {
598
+ this.$showMessage('请选择派发类型!')
599
+ return
600
+ }
601
+
602
+ if(!this.selectData.f_repairtype){
603
+ this.$showMessage('请选择报修类型!')
604
+ return
605
+ }
606
+ this.showModal3=true
607
+ let act={}
608
+ let toRepair=''
609
+ let successCount=0
610
+ if(this.selectData.dispatchType=='派发给站点'){
611
+ act={f_meetunit:this.selectData.f_meetunit,f_reciever:this.selectData.f_reciever,f_service_acitivity_type:'派单'}
612
+ toRepair=null
613
+ }else{
614
+ console.log('派发给维修员---------'+this.selectData.f_repairman)
615
+ act={f_meetunit:'',f_reciever:this.selectData.f_repairman,f_service_acitivity_type:'派单'}
616
+ toRepair='一级派单'
617
+ }
618
+ let rep={
619
+ loginUser: {
620
+ name: this.$login.f.name,
621
+ ename: this.$login.f.ename
622
+ },
623
+ f_meetunit: this.$login.f.deps,
624
+ f_attendant: this.$login.f.name,
625
+ f_outlets: this.$login.f.deps,
626
+ f_remarks: this.selectData.f_remarks,
627
+ f_repairtype: this.selectData.f_repairtype,
628
+ toRepair: toRepair,
629
+ activity:act
630
+ }
631
+ for(let i=0; i<this.dangerGroups.length; i++){
632
+ let defectIdStr = ''
633
+ const defectIds = []
634
+ for (let j = 0; j < this.dangerGroups[i].dangers.length; j++) {
635
+ defectIds.push(`'${this.dangerGroups[i].dangers[j].f_defect_id}'`)
636
+ }
637
+ defectIdStr = `(${defectIds.join(',')})`
638
+ const data = {
639
+ id:this.dangerGroups[i].dangers[0].f_paper_id,
640
+ repData:rep,
641
+ source:'pc',
642
+ defectIdStr: defectIdStr
643
+ }
644
+ console.log('data=', JSON.stringify(data))
645
+ try {
646
+ let result =await new HttpResetClass().load('post','/rs/logic/phoneUploadRectification', data, {resolveMsg: null, rejectMsg: null})
647
+ if (result.data.code==200) {
648
+ successCount += result.data.successcon
649
+ this.progressbarWidth=Math.ceil((i+1)*100/(this.dangerGroups.length))
650
+ }
651
+ }catch (e) {
652
+ this.showModal3=false
653
+ this.$showMessage('网络异常,请稍后再试!')
654
+ return
655
+ }
656
+ }
657
+ this.showModal3=false
658
+ this.cancel1()
659
+ this.$showMessage('本次转维修成功'+successCount+'单')
660
+ },
661
+ getDefectInfoConfig(val){
662
+ try {
663
+ if (val.safecheck.DevicesSetConfig != undefined) {
664
+ this.DefectConfig = val.safecheck.DevicesConfig
665
+ // 获取到配置项,进行遍历,获取每个隐患项
666
+ for (var Key1 in this.DefectConfig){
667
+ this.device_types.push({label:Key1,value:Key1})
668
+ for(var Key2 in this.DefectConfig[Key1].items){
669
+ this.DefectConfigs.push({label:Key2,value:Key2})
670
+ }
671
+ }
672
+ // 非民用或其他配置项加入,在进行遍历
673
+ }
674
+ }catch (e) {
675
+ //tag
676
+ }
677
+ },
678
+ showaudio(){
679
+ //tag
680
+ this.audioshow=!this.audioshow
681
+ //tag
682
+ },
683
+ getmeterbook(val){
684
+ this.cbc=[]
685
+ this.cbc.push({
686
+ label:'全部',
687
+ value:''
688
+ })
689
+ if (val==''){
690
+
691
+ this.cbcs.forEach(res=>{
692
+ this.cbc.push({
693
+ label:res.f_book_name,
694
+ value:res.id
695
+ })
696
+ })
697
+ }else{
698
+ this.cbcs.forEach(res=>{
699
+ if (res.f_book_slice_area==val){
700
+ this.cbc.push({
701
+ label:res.f_book_name,
702
+ value:res.id
703
+ })
704
+ }
705
+ })
706
+ }
707
+ },
708
+ getSafeParam(val){
709
+ if(this.$appdata.getParam(val)){
710
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam(val)]
711
+ }else{
712
+ return [{label: '全部', value: ''}]
713
+ }
714
+
715
+ },
716
+ Mreadibook(val){
717
+ ////tag
718
+ ////tag
719
+ this.sliceArea=[]
720
+ if (val){
721
+ new HttpResetClass().load('POST',`/rs/sql/safe_singleTable_OrderBy`, {data: {
722
+ items: 'name',
723
+ tablename: 't_zone',
724
+ condition: `parentid in ${val}`,
725
+ orderitem: 'id'
726
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
727
+ this.sliceArea.push({
728
+ label:'全部',
729
+ value:''
730
+ })
731
+ res.data.forEach(ress=>{
732
+ this.sliceArea.push({
733
+ label:ress.name,
734
+ value:ress.name
735
+ })
736
+ })
737
+
738
+ })
739
+ }
740
+ },
741
+ getAllMeterBook(val){
742
+ ////tag
743
+ ////tag
744
+ this.cbcs=[]
745
+ if (val){
746
+ new HttpResetClass().load('POST',`/rs/sql/safe_singleTable_OrderBy`, {data: {
747
+ items: 'f_book_name,f_book_slice_area,id',
748
+ tablename: 't_meter_book',
749
+ condition: `f_filiale_id in ${val}`,
750
+ orderitem: 'id'
751
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
752
+ res.data.forEach(ress=>{
753
+ this.cbcs.push({
754
+ id:ress.id,
755
+ f_book_name:ress.f_book_name,
756
+ f_book_slice_area:ress.f_book_slice_area
757
+ })
758
+ })
759
+ this.cbc=[]
760
+ this.cbc.push({
761
+ label:'全部',
762
+ value:''
763
+ })
764
+ this.cbcs.forEach(res=>{
765
+ this.cbc.push({
766
+ label:res.f_book_name,
767
+ value:res.id
768
+ })
769
+ })
770
+ })
771
+ }
772
+ },
773
+ getRes(obj) {
774
+ this.model.f_filialeid = this.$login.convertToIn(obj.resids);
775
+ this.searchData.f_filialeid = this.$login.convertToIn(obj.resids);
776
+ this.Mreadibook(this.model.f_filialeid)
777
+ this.getAllMeterBook(this.model.f_filialeid)
778
+ //this.$refs.paged.$refs.criteria.search()
779
+ },
780
+
781
+ change(row) {
782
+ // Vue.$login = {jwt: row.f_checker_id}
783
+ asyncReady(this).then(() => {
784
+ ////tag)
785
+ row.f_upload_state = '已传'
786
+ this.$goto('new-check-paper', {f_plan_id: row.f_check_plan_id, item: row, role: 'view'}, 'self')
787
+ }).catch(
788
+ (respanse) => {
789
+ alert('获取配置文件失败')
790
+ })
791
+ },
792
+ readConfig() {
793
+ let gen = asyncReady(this)
794
+ return co(gen)
795
+ },
796
+ showChooser() {
797
+ this.showModal = true
798
+ },
799
+ hidden() {
800
+ this.criteriaShow = !this.criteriaShow
801
+ },
802
+ refresh() {
803
+ this.$refs.paged.$refs.criteria.search()
804
+ },
805
+ ok() {
806
+ this.showModal = false
807
+ if (this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow.id) {
808
+ this.model.f_plan_id = this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow.id
809
+ this.model.f_check_plan=this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow
810
+ }
811
+ },
812
+ cancel() {
813
+ this.showModal = false
814
+ this.model.f_check_plan = {f_plan_name: '', id: ''}
815
+ this.model.f_plan_id=''
816
+ },
817
+ print(row) {
818
+ this.showcheckmsg = true
819
+ this.checkInfo = row
820
+ },
821
+
822
+ sort(field, rule) {
823
+ // 将所有排序方式设为不排序,实现相互排斥
824
+ for (let key in this.orderFields) {
825
+ if (key === field) {
826
+ this.orderFields[key] = rule
827
+ } else {
828
+ this.orderFields[key] = 'no'
829
+ }
830
+ }
831
+ // 如果新规则不排序,还原为默认排序
832
+ if (rule === 'no') {
833
+ this.model.paramSource.orderitem = `'${this.orderDefault}'`
834
+ } else {
835
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
836
+ }
837
+ this.search()
838
+ },
839
+ search() {
840
+ this.$refs.paged.$refs.criteria.search()
841
+ },
842
+ selfSearch(args) {
843
+ ////tag
844
+ debugger
845
+ if (args.model.f_is_repaired == '已处理'){
846
+ args.condition += ` and (f_is_repaired = '已处理' or f_deal_dispose in ('现场整改','现场处理'))`
847
+ }
848
+ if (args.model.f_is_repaired == '未处理'){
849
+ args.condition += ` and (f_deal_dispose = '报修' or f_deal_dispose = '未处理') and f_service_id is null`
850
+ }
851
+ if (args.model.f_is_repaired == '处理中'){
852
+ args.condition += ` and f_deal_dispose = '报修' and f_service_id is not null`
853
+ }
854
+ args.condition += ` and f_filialeid in ${this.model.f_filialeid}`
855
+ this.model.search(args.condition, args.model, args.condValue)
856
+ }
857
+ },
858
+
859
+ ready() {
860
+ this.getEmp()
861
+ this.readConfig()
862
+ ////tag
863
+ this.function = this.f
864
+ ////tag
865
+
866
+ let gen = select(this)
867
+ //this.pianqu()
868
+ this.Mreadibook(`('${this.$login.f.orgid}')`)
869
+ co(gen)
870
+ }
871
+ }
872
+ </script>