safecheck-client 4.0.1-7 → 4.0.1-70

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 (304) 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 +5 -5
  46. package/publish.bat +7 -7
  47. package/release.bat +5 -5
  48. package/src/Widget.vue +13 -13
  49. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  50. package/src/android-bootstrap/less/.csscomb.json +304 -304
  51. package/src/android-bootstrap/less/.csslintrc +19 -19
  52. package/src/android-bootstrap/less/alerts.less +73 -73
  53. package/src/android-bootstrap/less/badges.less +66 -66
  54. package/src/android-bootstrap/less/bootstrap.less +56 -56
  55. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  56. package/src/android-bootstrap/less/button-groups.less +247 -247
  57. package/src/android-bootstrap/less/buttons.less +173 -173
  58. package/src/android-bootstrap/less/carousel.less +269 -269
  59. package/src/android-bootstrap/less/close.less +34 -34
  60. package/src/android-bootstrap/less/code.less +69 -69
  61. package/src/android-bootstrap/less/component-animations.less +33 -33
  62. package/src/android-bootstrap/less/grid.less +84 -84
  63. package/src/android-bootstrap/less/input-groups.less +167 -167
  64. package/src/android-bootstrap/less/jumbotron.less +52 -52
  65. package/src/android-bootstrap/less/labels.less +64 -64
  66. package/src/android-bootstrap/less/list-group.less +141 -141
  67. package/src/android-bootstrap/less/media.less +66 -66
  68. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  69. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  70. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  71. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  72. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  73. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  74. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  75. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  76. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  77. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  78. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  79. package/src/android-bootstrap/less/mixins/image.less +33 -33
  80. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  81. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  82. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  83. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  84. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  85. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  86. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  87. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  88. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  89. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  90. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  91. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  92. package/src/android-bootstrap/less/mixins/size.less +10 -10
  93. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  94. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  95. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  96. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  97. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  98. package/src/android-bootstrap/less/mixins.less +40 -40
  99. package/src/android-bootstrap/less/modals.less +151 -151
  100. package/src/android-bootstrap/less/navbar.less +660 -660
  101. package/src/android-bootstrap/less/navs.less +290 -290
  102. package/src/android-bootstrap/less/normalize.less +424 -424
  103. package/src/android-bootstrap/less/pager.less +76 -76
  104. package/src/android-bootstrap/less/pagination.less +89 -89
  105. package/src/android-bootstrap/less/panels.less +274 -274
  106. package/src/android-bootstrap/less/popovers.less +131 -131
  107. package/src/android-bootstrap/less/print.less +101 -101
  108. package/src/android-bootstrap/less/progress-bars.less +87 -87
  109. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  110. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  111. package/src/android-bootstrap/less/scaffolding.less +161 -161
  112. package/src/android-bootstrap/less/tables.less +262 -262
  113. package/src/android-bootstrap/less/theme.less +291 -291
  114. package/src/android-bootstrap/less/thumbnails.less +36 -36
  115. package/src/android-bootstrap/less/tooltip.less +102 -102
  116. package/src/android-bootstrap/less/type.less +303 -303
  117. package/src/android-bootstrap/less/utilities.less +55 -55
  118. package/src/android-bootstrap/less/variables.less +896 -896
  119. package/src/android-bootstrap/less/wells.less +29 -29
  120. package/src/assets//350/255/246/345/221/212 (3).png +0 -0
  121. package/src/assets//350/255/246/345/221/212 (4).png +0 -0
  122. package/src/assets//350/255/246/345/221/212 (5).png +0 -0
  123. package/src/bootstrap/less/.csscomb.json +304 -304
  124. package/src/bootstrap/less/.csslintrc +19 -19
  125. package/src/bootstrap/less/alerts.less +73 -73
  126. package/src/bootstrap/less/badges.less +66 -66
  127. package/src/bootstrap/less/breadcrumbs.less +26 -26
  128. package/src/bootstrap/less/button-groups.less +247 -247
  129. package/src/bootstrap/less/buttons.less +172 -172
  130. package/src/bootstrap/less/carousel.less +269 -269
  131. package/src/bootstrap/less/close.less +34 -34
  132. package/src/bootstrap/less/code.less +69 -69
  133. package/src/bootstrap/less/component-animations.less +33 -33
  134. package/src/bootstrap/less/dropdowns.less +216 -216
  135. package/src/bootstrap/less/grid.less +84 -84
  136. package/src/bootstrap/less/input-groups.less +167 -167
  137. package/src/bootstrap/less/jumbotron.less +52 -52
  138. package/src/bootstrap/less/labels.less +64 -64
  139. package/src/bootstrap/less/list-group.less +141 -141
  140. package/src/bootstrap/less/media.less +66 -66
  141. package/src/bootstrap/less/mixins/alerts.less +14 -14
  142. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  143. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  144. package/src/bootstrap/less/mixins/buttons.less +69 -69
  145. package/src/bootstrap/less/mixins/center-block.less +7 -7
  146. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  147. package/src/bootstrap/less/mixins/forms.less +90 -90
  148. package/src/bootstrap/less/mixins/gradients.less +59 -59
  149. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  150. package/src/bootstrap/less/mixins/grid.less +122 -122
  151. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  152. package/src/bootstrap/less/mixins/image.less +33 -33
  153. package/src/bootstrap/less/mixins/labels.less +12 -12
  154. package/src/bootstrap/less/mixins/list-group.less +30 -30
  155. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  156. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  157. package/src/bootstrap/less/mixins/opacity.less +8 -8
  158. package/src/bootstrap/less/mixins/pagination.less +24 -24
  159. package/src/bootstrap/less/mixins/panels.less +24 -24
  160. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  161. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  162. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  163. package/src/bootstrap/less/mixins/resize.less +6 -6
  164. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  165. package/src/bootstrap/less/mixins/size.less +10 -10
  166. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  167. package/src/bootstrap/less/mixins/table-row.less +44 -44
  168. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  169. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  170. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  171. package/src/bootstrap/less/mixins.less +40 -40
  172. package/src/bootstrap/less/modals.less +151 -151
  173. package/src/bootstrap/less/navbar.less +660 -660
  174. package/src/bootstrap/less/normalize.less +424 -424
  175. package/src/bootstrap/less/pagination.less +89 -89
  176. package/src/bootstrap/less/panels.less +275 -275
  177. package/src/bootstrap/less/popovers.less +131 -131
  178. package/src/bootstrap/less/print.less +101 -101
  179. package/src/bootstrap/less/progress-bars.less +87 -87
  180. package/src/bootstrap/less/responsive-embed.less +35 -35
  181. package/src/bootstrap/less/responsive-utilities.less +194 -194
  182. package/src/bootstrap/less/scaffolding.less +161 -161
  183. package/src/bootstrap/less/theme.less +291 -291
  184. package/src/bootstrap/less/thumbnails.less +36 -36
  185. package/src/bootstrap/less/tooltip.less +102 -102
  186. package/src/bootstrap/less/type.less +303 -303
  187. package/src/bootstrap/less/utilities.less +55 -55
  188. package/src/bootstrap/less/wells.less +29 -29
  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 +22 -3
  193. package/src/components/android/AndroidDefectDeal.vue +356 -323
  194. package/src/components/android/AndroidDefectDetails.vue +3 -3
  195. package/src/components/android/AppInstallationMaterial.vue +865 -0
  196. package/src/components/android/AttendanceTally.vue +116 -116
  197. package/src/components/android/Blank.vue +10 -10
  198. package/src/components/android/CheckUnplanPage.vue +56 -56
  199. package/src/components/android/Checker.vue +12 -12
  200. package/src/components/android/CheckerAnnual.vue +81 -81
  201. package/src/components/android/CheckerAvarta.vue +82 -82
  202. package/src/components/android/DailyworkloadQuery.vue +2 -1
  203. package/src/components/android/EquipmentInspection.vue +348 -348
  204. package/src/components/android/FootprintMap.vue +120 -120
  205. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  206. package/src/components/android/MasterMain.vue +77 -77
  207. package/src/components/android/Menu.vue +132 -132
  208. package/src/components/android/NewCheckpaperAndroid.vue +22 -48
  209. package/src/components/android/PaperAlarm.vue +85 -85
  210. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  211. package/src/components/android/PlumberAnnual.vue +83 -83
  212. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  213. package/src/components/android/PlumberMonthly.vue +84 -84
  214. package/src/components/android/PostMap.vue +83 -83
  215. package/src/components/android/QueryCheckHistory.vue +122 -122
  216. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  217. package/src/components/android/RepairMain.vue +60 -60
  218. package/src/components/android/Repairman.vue +12 -12
  219. package/src/components/android/StationMaster.vue +12 -12
  220. package/src/components/android/SwitchValve.vue +1 -1
  221. package/src/components/checkplan/CheckDetail.vue +1 -1
  222. package/src/components/defects/DefectModal.vue +101 -101
  223. package/src/components/defects/DevicesAndItem.vue +39 -39
  224. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  225. package/src/components/map/SecurityCheckCoordinates.vue +361 -0
  226. package/src/components/notice/NoticeForm.vue +100 -100
  227. package/src/components/notice/NoticeIssue.vue +20 -20
  228. package/src/components/paper/PicViewer.vue +18 -18
  229. package/src/components/pc/CheckBookUser.vue +337 -337
  230. package/src/components/pc/DefectDeal.vue +1 -0
  231. package/src/components/pc/DefectMaterialLook.vue +98 -0
  232. package/src/components/pc/PaperDefectMain.vue +26 -1
  233. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  234. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  235. package/src/components/phonestate/PostMap.vue +82 -82
  236. package/src/components/planmanage/PlanManage.vue +1 -0
  237. package/src/components/querycheckpaper/CheckPaperList.vue +6 -4
  238. package/src/components/querycheckpaper/CheckPaperSearchUser.vue +30 -4
  239. package/src/components/querycheckpaper/CheckSearchUser.vue +6 -1
  240. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  241. package/src/components/userfile/MeterFile.vue +145 -145
  242. package/src/components/userfile/MeterModify.vue +46 -46
  243. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  244. package/src/filiale/jinhong/android/CurrentCreate.vue +66 -22
  245. package/src/filiale/jinhong/pc/CheckBookList.vue +10 -7
  246. package/src/filiale/jinhong/pc/DefectPaperNew.vue +10 -10
  247. package/src/filiale/jinhong/pc/checkUserList.vue +30 -6
  248. package/src/filiale/libo/android/PaperFeedback.vue +1579 -0
  249. package/src/filiale/libo/android/PhoneUpUserinfo.vue +1249 -0
  250. package/src/filiale/libo/android/SafecheckOrderV.vue +2302 -0
  251. package/src/filiale/libo/android.js +14 -0
  252. package/src/filiale/libo/pc/NewCheckpaper.vue +1987 -0
  253. package/src/filiale/libo/pc.js +12 -0
  254. package/src/filiale/meihekou/android/CurrentCreate.vue +1 -1
  255. package/src/filiale/meihekou/android/MeterReading.vue +9 -5
  256. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +3 -2
  257. package/src/filiale/meihekou/android/SafecheckDevices.vue +5 -5
  258. package/src/filiale/meihekou/android/SafecheckOrderV.vue +324 -311
  259. package/src/filiale/meihekou/pc/NewCheckpaper.vue +2 -2
  260. package/src/filiale/meihekou/pc/NewCheckpaperNew.vue +2050 -0
  261. package/src/filiale/meihekou/pc/PaperList.vue +1205 -0
  262. package/src/filiale/meihekou/pc.js +2 -0
  263. package/src/filiale/minsheng/android/SwitchValve.vue +1 -1
  264. package/src/filiale/qianneng/android/SwitchValve.vue +1 -1
  265. package/src/filiale/qingjian/pc/checkUserList.vue +35 -0
  266. package/src/filiale/taiyuan/android/CurrentCreate.vue +1016 -0
  267. package/src/filiale/taiyuan/android/PhoneUpUserinfo.vue +1259 -0
  268. package/src/filiale/taiyuan/android/SafecheckOrderV.vue +2341 -0
  269. package/src/filiale/taiyuan/android/SafecheckUserInfo.vue +776 -0
  270. package/src/filiale/taiyuan/android.js +13 -0
  271. package/src/filiale/taiyuan/pc/DefectDeal.vue +1034 -0
  272. package/src/filiale/taiyuan/pc/NewCheckpaper.vue +1976 -0
  273. package/src/filiale/taiyuan/pc/PlanManage.vue +891 -0
  274. package/src/filiale/taiyuan/pc/checkUserList.vue +798 -0
  275. package/src/filiale/taiyuan/pc.js +15 -0
  276. package/src/filiale/tongchuan/android/SwitchValve.vue +1 -1
  277. package/src/filiale/xinkang/android/AddPlanItem.vue +244 -196
  278. package/src/filiale/xinkang/android/AndroidDefectDeal.vue +1 -0
  279. package/src/filiale/xinkang/android/SafecheckDevices.vue +52 -22
  280. package/src/filiale/xinkang/android/SafecheckOrderV.vue +24 -80
  281. package/src/filiale/xinkang/android/SafecheckUserInfo.vue +1 -1
  282. package/src/filiale/xinkang/pc/CheckSearchUser.vue +12 -12
  283. package/src/filiale/xinkang/pc/NewCheckpaper.vue +20 -44
  284. package/src/filiale/xinkang/pc/PaperList.vue +2 -9
  285. package/src/filiale/yuansheng/android/SwitchValve.vue +1 -1
  286. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1030 -1030
  287. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +4 -4
  288. package/src/filiale/yunchengminsheng/pc/PaperList.vue +811 -0
  289. package/src/filiale/yunchengminsheng/pc.js +1 -0
  290. package/src/main.js +33 -33
  291. package/src/plugins/LoadData.js +10 -10
  292. package/src/plugins/LoadParams.js +24 -24
  293. package/src/safecheck-android.js +4 -0
  294. package/src/safecheck.js +6 -0
  295. package/src/stores/wxconfig.js +10 -10
  296. package/src/utils/getNowDate.js +33 -33
  297. package/test/e2e/custom-assertions/elementCount.js +26 -26
  298. package/test/e2e/nightwatch.conf.js +40 -40
  299. package/test/e2e/runner.js +30 -30
  300. package/test/e2e/specs/test.js +13 -13
  301. package/test/unit/.eslintrc +5 -5
  302. package/test/unit/TestUtil.js +62 -62
  303. package/test/unit/context.html +20 -20
  304. package/test/unit/index.js +13 -13
@@ -0,0 +1,361 @@
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="basic-main" style="flex:7">
4
+ <div id="check_map" style="height:100%">
5
+ </div>
6
+ </div>
7
+ <div id="zzz" class="basic-main" style="flex:1;margin-left: 0px;overflow: hidden">
8
+ <div class="panel panel-info" style="margin-top:0px; height: 100%; display: flex; flex-direction: column;">
9
+ <div class="panel-heading" style="height: 50px">
10
+ <h3 class="panel-title">状态选择</h3>
11
+ </div>
12
+ <div class="panel-body">
13
+ <ul class="safe_ul_sty">
14
+ <li class="safe_li_sty"><input class="safe_checkbox_sty" v-model="mulchs.level1" @change="enableChange('level1',mulchs.level1)" type="checkbox"/><img class="safe_deimg" src="../../assets/警告 (3).png"/>拒检</li>
15
+ <li class="safe_li_sty"><input class="safe_checkbox_sty" v-model="mulchs.level3" @change="enableChange('level3',mulchs.level3)" type="checkbox"/><img class="safe_deimg" src="../../assets/警告 (4).png"/>到访不遇</li>
16
+ <li class="safe_li_sty"><input class="safe_checkbox_sty" v-model="mulchs.problems" @change="enableChange('problems',mulchs.problems)" type="checkbox"/><img class="safe_deimg" src="../../assets/警告 (5).png"/>正常</li>
17
+ </ul>
18
+ </div>
19
+ <div class="panel-heading" style="height: 50px">
20
+ <h3 class="panel-title">时间选择</h3>
21
+ </div>
22
+ <div class="panel-body">
23
+ <div class="row" style="height: 50px">
24
+ <datepicker
25
+ :value.sync="f_check_start"
26
+ placeholder='开始时间'
27
+ :disabled-days-of-week="[]"
28
+ @change="safeRefresh"
29
+ :format="'yyyy-MM-dd'"
30
+ :show-rest-button="reset"
31
+ v-model="f_check_start">
32
+ </datepicker>
33
+ </div>
34
+
35
+ <div class="row" style="height: 50px">
36
+ <datepicker
37
+ :value.sync="f_check_end"
38
+ placeholder='结束时间'
39
+ :disabled-days-of-week="[]"
40
+ @change="safeRefresh"
41
+ :format="'yyyy-MM-dd'"
42
+ :show-rest-button="reset"
43
+ v-model="f_check_end">
44
+ </datepicker>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </template>
51
+
52
+ <script>
53
+ import * as Util from '../Util'
54
+ import {HttpResetClass} from 'vue-client'
55
+
56
+ export default {
57
+ title: '用户安检定位信息',
58
+ data() {
59
+ return {
60
+ loading: false,
61
+ f_check_start:'',
62
+ f_check_end:'',
63
+ map:null,
64
+ infoWindow:null,
65
+ level1Mulchs:null,//拒检点位
66
+ level3Mulchs:null,//到访不遇点位
67
+ problemsMulchs:null,//正常点位
68
+ level1:[],
69
+ level3:[],
70
+ problems:[],
71
+ defectList:{rows:[]},
72
+ intervalNum:'',
73
+ mulchs:{//覆盖物控制显示
74
+ level1:true,
75
+ level3:true,
76
+ problems:true
77
+ },
78
+ styleObject :[
79
+ {
80
+ url: require('../../assets/警告 (3).png'), //拒检图标URL
81
+ anchor: new AMap.Pixel(14, 8), // 图标偏移位置
82
+ size: new AMap.Size(26, 28) //图标大小
83
+ },
84
+ {
85
+ url: require('../../assets/警告 (4).png'), //到访不遇图标URL
86
+ anchor: new AMap.Pixel(14, 8), // 图标偏移位置
87
+ size: new AMap.Size(26, 28) //图标大小
88
+ },
89
+ {
90
+ url: require('../../assets/警告 (5).png'), //正常图标URL
91
+ anchor: new AMap.Pixel(14, 8), // 图标偏移位置
92
+ size: new AMap.Size(26, 28) //图标大小
93
+ }
94
+ ]
95
+ }
96
+ },
97
+ async ready(){
98
+ this.initMap()
99
+ await this.getNewData(`f_longitude is not null and f_latitude is not null`)
100
+ this.assemblyData()
101
+ this.intervalNum=window.setInterval(this.safeRefresh, 240000)
102
+ },
103
+ methods: {
104
+ async getNewData (condition) {
105
+ this.loading = true
106
+ let arr = await new HttpResetClass().load('POST', `api/af-safecheck/sql/safe_singleTable_OrderBy`,
107
+ {
108
+ data: {
109
+ items:'tcp.*,tab.f_adjustable_name,tr.f_name as f_region_name ',
110
+ tablename: 't_check_paper tcp left join t_userfiles uf on uf.f_userinfo_id = tcp.f_userinfoid left join t_adjustablebox tab on tab.id=uf.f_adjustable_id left join t_region tr on tab.f_region_id=tr.id',
111
+ condition: condition,
112
+ orderitem: 'tcp.f_entry_status'
113
+ }}, {resolveMsg: null, rejectMsg: null})
114
+ if (arr.data) {
115
+ this.level1 = []
116
+ this.level3 = []
117
+ this.problems = []
118
+ arr.data.forEach((defect) => {
119
+ if (defect.f_entry_status == '拒检' ) {
120
+ this.level1.push(defect)
121
+ } else if (defect.f_entry_status == '到访不遇' ) {
122
+ this.level3.push(defect)
123
+ } else {
124
+ this.problems.push(defect)
125
+ }
126
+ })
127
+ }
128
+ this.loading = false
129
+ this.defectList.rows = arr.data
130
+ },
131
+ getDefectContent(row){
132
+ return `
133
+ <div style="padding:0px;margin-left: 8px;"><b>安检内容</b></div>
134
+ <div class="panel panel-default" style="background-color: azure;border-radius: 5px;margin-left: 8px;">
135
+ <div class="panel-body">
136
+ <ul style="list-style-type: none;font-size: 15px;">
137
+ <li style="margin: 3px 0;">用户姓名: ${row.f_user_name}</li>
138
+ <li style="margin: 3px 0;">用户地址: ${row.f_address}</li>
139
+ <li style="margin: 3px 0;">安检状态: ${row.f_entry_status}</li>
140
+ <li style="margin: 3px 0;">安检时间: ${row.f_offsite_time}</li>
141
+ <li style="margin: 3px 0;">安检人员: ${row.f_checker_name}</li>
142
+ <li style="margin: 3px 0;">调压箱: ${row.f_adjustable_name?row.f_adjustable_name:'无'}</li>
143
+ <li style="margin: 3px 0;">所属区域: ${row.f_region_name?row.f_region_name:'无'}</li>
144
+ </ul>
145
+ </div>
146
+ </div>`
147
+ },
148
+ assemblyData(){
149
+ let a2=[]
150
+ for(let i=0;i<this.level1.length;i++){
151
+ a2.push({
152
+ lnglat: [this.level1[i].f_longitude, this.level1[i].f_latitude], //点标记位置
153
+ name: '拒检',
154
+ id:i,
155
+ rowstr:this.level1[i]
156
+ })
157
+ }
158
+ this.level1Mulchs.setData(a2);
159
+ this.level1Mulchs.setMap(this.map);
160
+
161
+ let a4=[]
162
+ for(let p=0;p<this.level3.length;p++){
163
+ if (this.level3[p].f_longitude&&this.level3[p].f_latitude){
164
+ a4.push({
165
+ lnglat: [this.level3[p].f_longitude, this.level3[p].f_latitude], //点标记位置
166
+ name: '到访不遇',
167
+ id:p,
168
+ rowstr:this.level3[p]
169
+ })
170
+ }
171
+ }
172
+ this.level3Mulchs.setData(a4);
173
+ this.level3Mulchs.setMap(this.map);
174
+
175
+ let a5=[]
176
+ for(let l=0;l<this.problems.length;l++){
177
+ if (this.problems[l].f_longitude&&this.problems[l].f_latitude){
178
+ a5.push({
179
+ lnglat: [this.problems[l].f_longitude, this.problems[l].f_latitude], //点标记位置
180
+ name: '正常',
181
+ id:l,
182
+ rowstr:this.problems[l]
183
+ })
184
+ }
185
+ }
186
+ this.problemsMulchs.setData(a5);
187
+ this.problemsMulchs.setMap(this.map);
188
+ },
189
+ enableChange(vname,val){
190
+ switch(vname){
191
+ case 'level1':
192
+ if(val){
193
+ this.level1Mulchs.show()
194
+ }else{
195
+ this.level1Mulchs.hide()
196
+ }
197
+ break;
198
+ case 'level3':
199
+ if(val){
200
+ this.level3Mulchs.show()
201
+ }else{
202
+ this.level3Mulchs.hide()
203
+ }
204
+ break;
205
+ case 'problems':
206
+ if(val){
207
+ this.problemsMulchs.show()
208
+ }else{
209
+ this.problemsMulchs.hide()
210
+ }
211
+ break;
212
+ default:
213
+ }
214
+ },
215
+ initMap(){
216
+ let that=this
217
+ this.map = new AMap.Map('check_map', {
218
+ zoom: 17,
219
+ viewMode: '2D',
220
+ lang: 'zh_cn',
221
+ zindex: 99,
222
+ zooms: [3, 18], // 设置地图缩放范围为3到18级
223
+ center: [110.121181, 37.088921],
224
+ });
225
+ AMap.plugin(
226
+ ['AMap.ToolBar','AMap.Geolocation'], () => {
227
+ var geolocation = new AMap.Geolocation({
228
+ enableHighAccuracy: true,
229
+ showbutton: true,
230
+ timeout: 10000,
231
+ buttonOffset: new AMap.Pixel(10, 20),
232
+ buttonPosition: 'LB'
233
+ })
234
+ that.map.addControl(geolocation)
235
+ geolocation.getCurrentPosition();
236
+ that.map.addControl(new AMap.ToolBar())
237
+ });
238
+ this.map.setDefaultCursor('move');
239
+ this.infoWindow = new AMap.InfoWindow({
240
+ anchor: 'bottom-center',
241
+ autoMove:true,
242
+ content: '',
243
+ offset: new AMap.Pixel(0, -25)
244
+ })
245
+
246
+ this.level1Mulchs=new AMap.MassMarks([], {
247
+ opacity: 0.8,
248
+ zIndex: 111,
249
+ cursor: 'pointer',
250
+ style: this.styleObject[0]
251
+ });
252
+ this.level1Mulchs.on('mouseover',function (e) {
253
+ let defectContent=that.getDefectContent(e.data.rowstr)
254
+ that.infoWindow.setContent(defectContent)
255
+ that.infoWindow.open(that.map, e.data.lnglat);
256
+ })
257
+ this.level1Mulchs.on('mouseout',function (e) {
258
+ that.infoWindow.close();
259
+ })
260
+ this.level3Mulchs=new AMap.MassMarks([], {
261
+ opacity: 0.8,
262
+ zIndex: 111,
263
+ cursor: 'pointer',
264
+ style: this.styleObject[1]
265
+ });
266
+ this.level3Mulchs.on('mouseover',function (e) {
267
+ let defectContent=that.getDefectContent(e.data.rowstr)
268
+ that.infoWindow.setContent(defectContent)
269
+ that.infoWindow.open(that.map, e.data.lnglat);
270
+ })
271
+ this.level3Mulchs.on('mouseout',function (e) {
272
+ that.infoWindow.close();
273
+ })
274
+ this.problemsMulchs=new AMap.MassMarks([], {
275
+ opacity: 0.8,
276
+ zIndex: 111,
277
+ cursor: 'pointer',
278
+ style: this.styleObject[2]
279
+ });
280
+ this.problemsMulchs.on('mouseover',function (e) {
281
+ let defectContent=that.getDefectContent(e.data.rowstr)
282
+ that.infoWindow.setContent(defectContent)
283
+ that.infoWindow.open(that.map, e.data.lnglat);
284
+ })
285
+ this.problemsMulchs.on('mouseout',function (e) {
286
+ that.infoWindow.close();
287
+ })
288
+ },
289
+ async safeRefresh(){
290
+ let condition =`f_longitude is not null and f_latitude is not null`
291
+ if (this.f_check_start){
292
+ condition += ` and f_offsite_time >= '${this.f_check_start} 00:00:00'`
293
+ }
294
+ if (this.f_check_end){
295
+ condition += ` and f_offsite_time <= '${this.f_check_end} 23:59:59'`
296
+ }
297
+ await this.getNewData(condition)
298
+ this.assemblyData()
299
+ }
300
+ },
301
+ destroyed() {
302
+ window.clearInterval(this.intervalNum)
303
+ }
304
+ }
305
+ </script>
306
+
307
+ <style lang="less" scoped>
308
+
309
+ .time-picker-container {
310
+ display: flex;
311
+ align-items: center;
312
+ }
313
+
314
+ .time-picker-container /deep/ .v-datepicker {
315
+ width: 100% !important;
316
+ }
317
+
318
+ .date-separator {
319
+ padding: 0 5px;
320
+ }
321
+
322
+ .safe_checkbox_sty{
323
+ vertical-align:text-bottom;
324
+ margin-right: 3px;
325
+
326
+ }
327
+ .safe_ul_sty{
328
+ list-style-type: none;
329
+ font-size: 13px;
330
+ padding-left: 5px;
331
+ }
332
+ .safe_li_sty{
333
+ font-size: 13px;
334
+ margin-top: 5px;
335
+ }
336
+ .safe_p{
337
+ white-space: nowrap;
338
+ overflow: hidden;
339
+ text-overflow: ellipsis;
340
+ margin: 0 0 0 10px;
341
+
342
+ font-size: 12px;
343
+ }
344
+ .safe_list_li{
345
+ margin-top: 5px;
346
+ background-color: #ffffff;
347
+ border: solid 1px #f0f4fa !important;
348
+ color: #666666 !important;
349
+ font-size: 1.3rem !important;
350
+ font-family: PINGFANG-MEDIUM !important;
351
+ padding: 8px;
352
+ }
353
+ .safe_list_li:hover{
354
+ background-color: rgb(203,234,241);
355
+ }
356
+ .safe_deimg{
357
+ vertical-align: text-bottom;
358
+ width: 15px;
359
+ margin-right: 3px;
360
+ }
361
+ </style>
@@ -1,100 +1,100 @@
1
- <template>
2
- <div>
3
- <validator name='v'>
4
- <form novalidate class="form-horizontal">
5
- <div class="form-group">
6
- <label class="col-sm-2 control-lable">标题:</label>
7
- <div class="col-sm-8">
8
- <input class="form-control" type="text" v-model="notice.f_title" v-validate:f_title='{ required: true }' />
9
- </div>
10
- </div>
11
- <div class="form-group">
12
- <label class="col-sm-2 control-lable">内容:</label>
13
- <div class="col-sm-8">
14
- <textarea class="form-control" type="text" v-model="notice.f_content" v-validate:f_content='{ required: true }'></textarea>
15
- </div>
16
- </div>
17
- <div class="form-group">
18
- <label class="col-sm-2 control-lable">时间:</label>
19
- <div class="col-sm-8">
20
- <input readonly='readonly' class="form-control" type="text" v-model="notice.f_time"/>
21
- </div>
22
- </div>
23
- <div class="form-group">
24
- <label class="col-sm-2 control-lable">分公司:</label>
25
- <div class="col-sm-8">
26
- <v-select :value.sync="notice.f_subcompany" :options='$parent.$refs.query.f_divisions' placeholder='请选择子公司'
27
- close-on-select clear-button></v-select>
28
- </div>
29
- </div>
30
- <div class="form-group col-sm-10 text-right">
31
- <button type="button" class="btn btn-success width-80" @click="save" v-if="$v.valid">保存</button>
32
- <button type="button" class="btn btn-success width-80" @click="anew">新建</button>
33
- <button type="button" class="btn btn-success width-80" @click="delete" v-if="$v.valid">删除</button>
34
- </div>
35
- </form>
36
- </validator>
37
- </div>
38
-
39
- </template>
40
-
41
- <script>
42
- import * as Util from '../Util'
43
- import co from 'co'
44
- import Vue from 'vue'
45
-
46
- let syncSave = function * (self) {
47
- self.notice.f_subcompany = self.$parent.$refs.query.f_divisions[0].value
48
- yield self.$resetpost('rs/entity/t_notice', self.notice)
49
- self.$parent.$refs.query.$refs.cp.$refs.criteria.search()
50
- }
51
-
52
- let syncDelete = function * (self) {
53
- yield self.$remove('rs/entity/t_notice/', {id:self.notice.id })
54
- self.$parent.$refs.query.$refs.cp.$refs.criteria.search()
55
- }
56
-
57
- export default {
58
- title: '公告表单',
59
- props: ['notice'],
60
- computed: {
61
- f_division: {
62
- get() {
63
- if (!this.notice || !this.notice.f_subcompany)
64
- return Vue.f_subcompany
65
- else
66
- return [this.notice.f_subcompany]
67
- },
68
- set(val) {
69
- this.notice.f_subcompany = val[0]
70
- }
71
- }
72
- },
73
- methods: {
74
- save() {
75
- if (!this.notice) {
76
- alert('请选择一个通知。')
77
- return
78
- }
79
- if (!this.notice.id) {
80
- this.$set('notice.f_time', Util.toStandardTimeString())
81
- }
82
- let gen = syncSave(this)
83
- return co(gen)
84
- },
85
- anew() {
86
- this.notice = {}
87
- this.$set('notice.f_time', Util.toStandardTimeString())
88
- },
89
- delete() {
90
- if (!this.notice) {
91
- alert('请选择一个通知。')
92
- return
93
- }
94
- let gen = syncDelete(this)
95
- return co(gen)
96
- }
97
- }
98
- }
99
-
100
- </script>
1
+ <template>
2
+ <div>
3
+ <validator name='v'>
4
+ <form novalidate class="form-horizontal">
5
+ <div class="form-group">
6
+ <label class="col-sm-2 control-lable">标题:</label>
7
+ <div class="col-sm-8">
8
+ <input class="form-control" type="text" v-model="notice.f_title" v-validate:f_title='{ required: true }' />
9
+ </div>
10
+ </div>
11
+ <div class="form-group">
12
+ <label class="col-sm-2 control-lable">内容:</label>
13
+ <div class="col-sm-8">
14
+ <textarea class="form-control" type="text" v-model="notice.f_content" v-validate:f_content='{ required: true }'></textarea>
15
+ </div>
16
+ </div>
17
+ <div class="form-group">
18
+ <label class="col-sm-2 control-lable">时间:</label>
19
+ <div class="col-sm-8">
20
+ <input readonly='readonly' class="form-control" type="text" v-model="notice.f_time"/>
21
+ </div>
22
+ </div>
23
+ <div class="form-group">
24
+ <label class="col-sm-2 control-lable">分公司:</label>
25
+ <div class="col-sm-8">
26
+ <v-select :value.sync="notice.f_subcompany" :options='$parent.$refs.query.f_divisions' placeholder='请选择子公司'
27
+ close-on-select clear-button></v-select>
28
+ </div>
29
+ </div>
30
+ <div class="form-group col-sm-10 text-right">
31
+ <button type="button" class="btn btn-success width-80" @click="save" v-if="$v.valid">保存</button>
32
+ <button type="button" class="btn btn-success width-80" @click="anew">新建</button>
33
+ <button type="button" class="btn btn-success width-80" @click="delete" v-if="$v.valid">删除</button>
34
+ </div>
35
+ </form>
36
+ </validator>
37
+ </div>
38
+
39
+ </template>
40
+
41
+ <script>
42
+ import * as Util from '../Util'
43
+ import co from 'co'
44
+ import Vue from 'vue'
45
+
46
+ let syncSave = function * (self) {
47
+ self.notice.f_subcompany = self.$parent.$refs.query.f_divisions[0].value
48
+ yield self.$resetpost('rs/entity/t_notice', self.notice)
49
+ self.$parent.$refs.query.$refs.cp.$refs.criteria.search()
50
+ }
51
+
52
+ let syncDelete = function * (self) {
53
+ yield self.$remove('rs/entity/t_notice/', {id:self.notice.id })
54
+ self.$parent.$refs.query.$refs.cp.$refs.criteria.search()
55
+ }
56
+
57
+ export default {
58
+ title: '公告表单',
59
+ props: ['notice'],
60
+ computed: {
61
+ f_division: {
62
+ get() {
63
+ if (!this.notice || !this.notice.f_subcompany)
64
+ return Vue.f_subcompany
65
+ else
66
+ return [this.notice.f_subcompany]
67
+ },
68
+ set(val) {
69
+ this.notice.f_subcompany = val[0]
70
+ }
71
+ }
72
+ },
73
+ methods: {
74
+ save() {
75
+ if (!this.notice) {
76
+ alert('请选择一个通知。')
77
+ return
78
+ }
79
+ if (!this.notice.id) {
80
+ this.$set('notice.f_time', Util.toStandardTimeString())
81
+ }
82
+ let gen = syncSave(this)
83
+ return co(gen)
84
+ },
85
+ anew() {
86
+ this.notice = {}
87
+ this.$set('notice.f_time', Util.toStandardTimeString())
88
+ },
89
+ delete() {
90
+ if (!this.notice) {
91
+ alert('请选择一个通知。')
92
+ return
93
+ }
94
+ let gen = syncDelete(this)
95
+ return co(gen)
96
+ }
97
+ }
98
+ }
99
+
100
+ </script>
@@ -1,20 +1,20 @@
1
- <template>
2
- <div class="flex">
3
- <section>
4
- <div class="flex-row">
5
- <div class="over col-md-6">
6
- <notice-query v-ref:query></notice-query>
7
- </div>
8
- <div class="span-row over col-md-6">
9
- <notice-form :notice='$refs.query.selected'></notice-form>
10
- </div>
11
- </div>
12
- </section>
13
- </div>
14
- </template>
15
-
16
- <script>
17
- export default {
18
- title: '通知管理'
19
- }
20
- </script>
1
+ <template>
2
+ <div class="flex">
3
+ <section>
4
+ <div class="flex-row">
5
+ <div class="over col-md-6">
6
+ <notice-query v-ref:query></notice-query>
7
+ </div>
8
+ <div class="span-row over col-md-6">
9
+ <notice-form :notice='$refs.query.selected'></notice-form>
10
+ </div>
11
+ </div>
12
+ </section>
13
+ </div>
14
+ </template>
15
+
16
+ <script>
17
+ export default {
18
+ title: '通知管理'
19
+ }
20
+ </script>
@@ -1,18 +1,18 @@
1
- <template>
2
- <div>
3
- <a href="#" class="btn btn-primary" @click="this.$back('items')" width="800" height="600">&lt;&lt;</a>
4
- <img :src="pic_path">
5
- </div>
6
- </template>
7
-
8
- <script>
9
- export default {
10
- title: '图片浏览',
11
- props: ['pic_path'],
12
- data() {
13
- return {
14
- pic_path : this.pic_path
15
- }
16
- }
17
- }
18
- </script>
1
+ <template>
2
+ <div>
3
+ <a href="#" class="btn btn-primary" @click="this.$back('items')" width="800" height="600">&lt;&lt;</a>
4
+ <img :src="pic_path">
5
+ </div>
6
+ </template>
7
+
8
+ <script>
9
+ export default {
10
+ title: '图片浏览',
11
+ props: ['pic_path'],
12
+ data() {
13
+ return {
14
+ pic_path : this.pic_path
15
+ }
16
+ }
17
+ }
18
+ </script>