safecheck-client 3.0.39-8 → 3.0.39-80

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 (312) 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//345/256/232/344/275/215.png +0 -0
  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/FileUpload.vue +696 -696
  188. package/src/components/Hello.vue +39 -39
  189. package/src/components/LeftTree.vue +27 -27
  190. package/src/components/Util/ImgSelfSafePlus.vue +2 -2
  191. package/src/components/android/AndroidDefectDeal.vue +2 -2
  192. package/src/components/android/AttendanceTally.vue +116 -116
  193. package/src/components/android/Blank.vue +10 -10
  194. package/src/components/android/CheckUnplanPage.vue +56 -56
  195. package/src/components/android/Checker.vue +12 -12
  196. package/src/components/android/CheckerAnnual.vue +81 -81
  197. package/src/components/android/CheckerAvarta.vue +82 -82
  198. package/src/components/android/EquipmentInspection.vue +348 -348
  199. package/src/components/android/FootprintMap.vue +120 -120
  200. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  201. package/src/components/android/MasterMain.vue +77 -77
  202. package/src/components/android/Menu.vue +132 -132
  203. package/src/components/android/NewCheckpaperAndroid.vue +2 -2
  204. package/src/components/android/PaperAlarm.vue +85 -85
  205. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  206. package/src/components/android/PhoneUpUserinfo.vue +11 -0
  207. package/src/components/android/PlumberAnnual.vue +83 -83
  208. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  209. package/src/components/android/PlumberMonthly.vue +84 -84
  210. package/src/components/android/PostMap.vue +83 -83
  211. package/src/components/android/QueryCheckHistory.vue +122 -122
  212. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  213. package/src/components/android/RepairMain.vue +60 -60
  214. package/src/components/android/Repairman.vue +12 -12
  215. package/src/components/android/StationMaster.vue +12 -12
  216. package/src/components/android/rejectInspecCheck.vue +322 -0
  217. package/src/components/defects/DefectModal.vue +101 -101
  218. package/src/components/defects/DevicesAndItem.vue +39 -39
  219. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  220. package/src/components/notice/NoticeForm.vue +100 -100
  221. package/src/components/notice/NoticeIssue.vue +20 -20
  222. package/src/components/paper/PicViewer.vue +18 -18
  223. package/src/components/pc/AddPlanItemYyChange.vue +5 -1
  224. package/src/components/pc/NewCheckpaper.vue +108 -14
  225. package/src/components/pc/PaperDefectMain.vue +1 -1
  226. package/src/components/pc/SafeCheckOrder/SafeCheckOrderList.vue +34 -0
  227. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  228. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  229. package/src/components/phonestate/PostMap.vue +82 -82
  230. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  231. package/src/components/rongcheng/PaperStatem.vue +6 -6
  232. package/src/components/rongcheng/PhoneUpUserinfo.vue +1 -0
  233. package/src/components/userfile/MeterFile.vue +145 -145
  234. package/src/components/userfile/MeterModify.vue +46 -46
  235. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  236. package/src/filiale/BFshiye/android/AndroidDefectDeal.vue +652 -0
  237. package/src/filiale/BFshiye/android/PhoneUpUserinfo.vue +3 -1
  238. package/src/filiale/BFshiye/android/SafecheckUserInfo.vue +861 -861
  239. package/src/filiale/BFshiye/pc/DefectListNew.vue +637 -0
  240. package/src/filiale/BFshiye/pc/NewCheckpaper.vue +18 -56
  241. package/src/filiale/BFshiye/pc.js +3 -2
  242. package/src/filiale/baiyin/android/SafecheckUserInfo.vue +775 -0
  243. package/src/filiale/baiyin/android.js +1 -0
  244. package/src/filiale/bayan/pc/NewCheckpaper.vue +2 -2
  245. package/src/filiale/bayan/pc/SelectAreaReport.vue +1 -0
  246. package/src/filiale/bayan/pc/SummaryOfSecurityInspectionProgress.vue +7 -7
  247. package/src/filiale/dexin/android/SafecheckOrderV.vue +1 -1
  248. package/src/filiale/dexin/android/SafecheckOrderVTemp.vue +4 -1
  249. package/src/filiale/hanzhong/pc/CheckHiddenDanger.vue +2 -2
  250. package/src/filiale/hanzhong/pc/CheckNumberStatistics.vue +1 -1
  251. package/src/filiale/hanzhong/pc/CheckSafeDetail.vue +6 -1
  252. package/src/filiale/hanzhong/pc/CheckSafeStatus.vue +1 -1
  253. package/src/filiale/hanzhong/pc/CheckerSafeDetail.vue +1 -1
  254. package/src/filiale/huatong/android/SafecheckOrderV.vue +2 -2
  255. package/src/filiale/jiaocheng/pc/NewCheckpaper.vue +64 -4
  256. package/src/filiale/jinhuang/android/AddPlanItem.vue +430 -0
  257. package/src/filiale/jinhuang/android/PhoneUpUserinfo.vue +183 -145
  258. package/src/filiale/jinhuang/android.js +2 -1
  259. package/src/filiale/kelai/android/PaperFeedback.vue +1553 -1550
  260. package/src/filiale/kelai/android/PhoneUpUserinfo.vue +1 -1
  261. package/src/filiale/kelai/android/SafecheckOrderV.vue +1 -1
  262. package/src/filiale/kelai/android/SafecheckUserInfo.vue +1 -1
  263. package/src/filiale/kelai/pc/PaperList.vue +13 -0
  264. package/src/filiale/kelai/pc/UserInfoAudit.vue +126 -90
  265. package/src/filiale/liaoyuan/pc/DefectPaperWeiXiu.vue +4 -6
  266. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +7 -7
  267. package/src/filiale/liaoyuan/pc/checkPlanList.vue +2 -3
  268. package/src/filiale/qingjian/android/PhoneUpUserinfo.vue +125 -38
  269. package/src/filiale/qingjian/android/SafecheckDevices.vue +1 -1
  270. package/src/filiale/qingjian/android/SafecheckOrderV.vue +3 -0
  271. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +42 -19
  272. package/src/filiale/rongchuang/android/AddPlanItemVisitingWithoutMeeting.vue +454 -0
  273. package/src/filiale/rongchuang/android/AddPlanItemYy.vue +498 -0
  274. package/src/filiale/rongchuang/android/PhoneUpUserinfo.vue +1262 -0
  275. package/src/filiale/rongchuang/android/SafecheckDevices.vue +1 -1
  276. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +3 -2
  277. package/src/filiale/rongchuang/android.js +3 -0
  278. package/src/filiale/rongchuang/pc/NewCheckpaper.vue +13 -1
  279. package/src/filiale/rongchuang/pc/checkPlanList.vue +398 -0
  280. package/src/filiale/rongchuang/pc.js +1 -0
  281. package/src/filiale/shanxian/pc/NewCheckpaper.vue +4 -4
  282. package/src/filiale/siyang/android/PhoneInsurancePurchaseDetail.vue +58 -24
  283. package/src/filiale/tongchuan/android/PhoneUpUserinfo.vue +888 -889
  284. package/src/filiale/tongchuan/android/SafecheckDevices.vue +909 -885
  285. package/src/filiale/tongchuan/pc/AMapTrailShowZk.vue +226 -0
  286. package/src/filiale/tongchuan/pc/CheckPlanCountChartAreaByWangGeYuan.vue +137 -0
  287. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +47 -1
  288. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +46 -0
  289. package/src/filiale/tongchuan/pc/NoCheckplanSafecheck.vue +34 -0
  290. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +34 -0
  291. package/src/filiale/tongchuan/pc/PaperList.vue +44 -10
  292. package/src/filiale/tongchuan/pc/PersonTrack.vue +269 -0
  293. package/src/filiale/tongchuan/pc/SelectCheckPlan.vue +42 -2
  294. package/src/filiale/tongchuan/pc.js +3 -0
  295. package/src/filiale/wenxi/pc/PaperList.vue +9 -3
  296. package/src/filiale/wuan/android/SafecheckOrderV.vue +2242 -2242
  297. package/src/filiale/wuan/android/SafecheckUserInfo.vue +659 -659
  298. package/src/filiale/yangchunboneng/android/AndiroidSecurityAudit.vue +2 -1
  299. package/src/filiale/yangchunboneng/pc/CheckPlanAreaList.vue +3 -3
  300. package/src/plugins/LoadData.js +10 -10
  301. package/src/plugins/LoadParams.js +24 -24
  302. package/src/safecheck-android.js +1 -0
  303. package/src/stores/wxconfig.js +10 -10
  304. package/src/utils/getNowDate.js +33 -33
  305. package/test/e2e/custom-assertions/elementCount.js +26 -26
  306. package/test/e2e/nightwatch.conf.js +40 -40
  307. package/test/e2e/runner.js +30 -30
  308. package/test/e2e/specs/test.js +13 -13
  309. package/test/unit/.eslintrc +5 -5
  310. package/test/unit/TestUtil.js +62 -62
  311. package/test/unit/context.html +20 -20
  312. package/test/unit/index.js +13 -13
@@ -170,16 +170,6 @@
170
170
  <!-- <right-tree @re-res="$parent.$parent.getRes" :initresid="$parent.$parent.$login.f.orgid">-->
171
171
  <!-- </right-tree>-->
172
172
  <!-- </div>-->
173
- <div class="col-sm-4 form-group" v-show="$parent.$parent.criteriaShow" style="margin: 0">
174
- <role-selector-safe
175
- role-name="安检员"
176
- role-lable="安&nbsp;检&nbsp;员&nbsp;"
177
- @re-res="$parent.$parent.getRes"
178
- :value.sync="model.f_checker_id"
179
- v-model="model.f_checker_id"
180
- condition="f_checker_name = '{}'">
181
- </role-selector-safe>
182
- </div>
183
173
  <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
184
174
  <label class="font_normal_body">操作人员</label>
185
175
  <input type="text" class="input_search" v-model="model.f_checker"
@@ -222,6 +212,28 @@
222
212
  :value-single="true">
223
213
  </v-select>
224
214
  </div>
215
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
216
+ <label class="font_normal_body">网&ensp;格&ensp;员</label>
217
+ <v-select class="select_list select"
218
+ placeholder='请选择' style="width: 60%"
219
+ :value.sync="model.f_book_checker" v-model="model.f_book_checker"
220
+ :options='$parent.$parent.users'
221
+ filer-key="name"
222
+ close-on-select clear-button
223
+ condition="f_book_checker like '%{}%' and f_checker_name = '{}'"
224
+ :value-single="true">
225
+ </v-select>
226
+ </div>
227
+ <div class="col-sm-4 form-group" v-show="$parent.$parent.criteriaShow" style="margin: 0">
228
+ <role-selector-safe
229
+ role-name="安检员"
230
+ role-lable="安&nbsp;检&nbsp;员&nbsp;"
231
+ @re-res="$parent.$parent.getRes"
232
+ :value.sync="model.f_checker_id"
233
+ v-model="model.f_checker_id"
234
+ condition="f_checker_name = '{}'">
235
+ </role-selector-safe>
236
+ </div>
225
237
  </div>
226
238
  <modal :show.sync="$parent.$parent.showModal" v-ref:modal backdrop="false">
227
239
  <div slot="modal-header" class="modal-header">
@@ -432,6 +444,7 @@ export default {
432
444
  value: ''
433
445
  }, ...this.$appdata.getParam('安检状态')] : [{label: '全部', value: ''}],
434
446
  f_checkplans: this.$appdata.getParam('有无计划'),
447
+ users:[{label: '全部', value: ''}],
435
448
  showcheckmsg: false,
436
449
  checkInfo: {},
437
450
  orderDefault: "'f_offsite_time'",
@@ -629,6 +642,26 @@ export default {
629
642
  })
630
643
  })
631
644
  },
645
+ initBookChecker(){
646
+ new HttpResetClass().load('POST', '/rs/search', {
647
+ data: {
648
+ source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($网格员$) != -1)`,
649
+ userid: this.$login.f.id
650
+ }
651
+ }, {resolveMsg: null, rejectMsg: null}).then(res=>{
652
+ let data = res.data
653
+ const addedNames = new Set()
654
+ this.users = []
655
+ data.forEach(user => {
656
+ if (user.state === '在职') {
657
+ if (!addedNames.has(user.name)) {
658
+ this.users.push({ label: user.name, value: user.name })
659
+ addedNames.add(user.name)
660
+ }
661
+ }
662
+ });
663
+ })
664
+ }
632
665
  },
633
666
 
634
667
  ready() {
@@ -641,6 +674,7 @@ export default {
641
674
  this.Mreadibook(`('${this.$login.f.orgid}')`)
642
675
  co(gen)
643
676
  this.getTableBrands()
677
+ this.initBookChecker()
644
678
  },
645
679
  watch: {
646
680
  'model.f_no_checkplan'(val) {
@@ -0,0 +1,269 @@
1
+ <template>
2
+ <div class="basic-main" style="height: 100%">
3
+ <div class="row">
4
+ <div class="col-sm-9 amap-main">
5
+ <div class="form-horizontal select-overspread container-fluid auto">
6
+ <div class="row">
7
+ <div class="col-sm-3 form-input-group" style="width: 20%">
8
+ <label class="control-label">公&emsp;&emsp;司</label>
9
+ <right-tree-safe @re-res="getRes" >
10
+ </right-tree-safe>
11
+ </div>
12
+ <div class="col-sm-3 form-input-group" style="width: 20%">
13
+ <label class="control-label" >轨迹时间</label>
14
+ <datepicker placeholder="轨迹时间"
15
+ :value.sync="searchCondition.date"
16
+ v-model="searchCondition.date"
17
+ :format="'yyyy-MM-dd'">
18
+ </datepicker>
19
+ </div>
20
+ <div class="col-sm-3 form-input-group" style="width: 20%">
21
+ <label class="control-label">安检员</label>
22
+ <v-select :value.sync="searchCondition.userId" v-model='searchCondition.userId'
23
+ :value-single="true" clear-button search
24
+ :options='searchUserEndOption' placeholder='请选择'
25
+ ></v-select>
26
+ </div>
27
+ <div class="col-sm-3 form-input-group" style="width: 20%">
28
+ <label class="control-label">班组</label>
29
+ <v-select :value.sync="searchCondition.departmentId" v-model='searchCondition.departmentId'
30
+ :value-single="true" clear-button search
31
+ :options='searchDepartmentOption' placeholder='请选择'
32
+ ></v-select>
33
+ </div>
34
+ <div class="col-sm-3 form-input-group" style="width: 20%">
35
+ <label class="control-label">网格员</label>
36
+ <v-select class="select_list select"
37
+ placeholder='请选择' style="width: 60%"
38
+ :value.sync="f_book_checker" v-model="f_book_checker"
39
+ :options='users'
40
+ filer-key="name"
41
+ close-on-select clear-button
42
+ :value-single="true">
43
+ </v-select>
44
+ </div>
45
+ <div class="col-sm-3 form-input-group" style="width: 20%;float:right;">
46
+ <button class="btn btn-primary" @click="search">查询</button>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ <a-map-trajectory-new :outerlinedata.sync="outerlinedata" :pathnavigatorstyle="pathnavigatorstyle" :dom="dom"></a-map-trajectory-new>
51
+ </div>
52
+ <div class="col-sm-3">
53
+ <div id="zzz" class="basic-main" style="flex:1;margin-left: 0px;overflow: hidden">
54
+ <div class="flex">
55
+ <div class="panel panel-info" style="flex: 4;margin-top:0px;height: 50%">
56
+ <div class="panel-heading" style="height: auto">
57
+ <h3 class="panel-title">轨迹记录</h3>
58
+ </div>
59
+ <div class="panel-body" style="overflow: scroll; height: 700px">
60
+ <accordion :one-at-a-time="true" v-if="reponData.length>0">
61
+ <template v-for="row in reponData">
62
+ <panel is-open="false" type="primary" @click="chengeLocation(row)">
63
+ <strong slot="header">人员姓名:{{row.name}}</strong>
64
+ <!-- <div v-for="(idx,item) in row.result" @click="chengeLocation(item)" :class="{'alert alert-info':idx%2===0,'alert alert-success':idx%2!==0}">-->
65
+ <!-- 轨迹时间段:{{item.f_start_date}} ~ {{item.f_end_date}}-->
66
+ <!-- </div>-->
67
+ </panel>
68
+ </template>
69
+ </accordion>
70
+ <h4 class="panel-title" v-else>暂无相关数据</h4>
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ </div>
77
+
78
+ </div>
79
+ </template>
80
+
81
+ <script>
82
+ import {HttpResetClass} from 'vue-client'
83
+ import { douglasPeuckerForAMap } from '../../../components/map/douglasPeuckerForAMap'
84
+
85
+ export default {
86
+ title: "安检员轨迹展示",
87
+ data() {
88
+ return {
89
+ showTaskPoints: [],
90
+ taskModel: {},
91
+ // 当前分公司下所有的用户id
92
+ toUserIds: '',
93
+ // 当前公司的所有安检员
94
+ searchUserEndOption: [],
95
+ searchDepartmentOption: [],
96
+ // 请求到的结果集合
97
+ reponData: [],
98
+ // 点集
99
+ outerlinedata: [],
100
+ pathnavigatorstyle: {
101
+ // 图标宽度
102
+ width: 16,
103
+ // 图标高度
104
+ height: 32,
105
+ // 图标地址(外链地址或者Base64)
106
+ iconBase64: 'https://webapi.amap.com/ui/1.1/ui/misc/PathSimplifier/examples/imgs/car.png'
107
+ },
108
+ // 分公司ids
109
+ f_filialeids: '',
110
+ path: [],
111
+ aMap: null,
112
+ map: null,
113
+ filialeOptions: [],
114
+ userid: null,
115
+ dom: 'amapIdLOCUS' + Math.round(Math.random() * 10) + Math.round(Math.random() * 10),
116
+ rootSubmenuKeys: ['1', '2'],
117
+ users:[{label: '全部', value: ''}],
118
+ f_book_checker:'',
119
+ openKeys: ['1'],
120
+ searchCondition: {
121
+ condition: '1 = 1',
122
+ orderTime: 'ps.f_realtime asc',
123
+ date: '',
124
+ userId: undefined,
125
+ departmentId: undefined
126
+ }
127
+ }
128
+ },
129
+ methods: {
130
+ chengeLocation(row) {
131
+ const points = douglasPeuckerForAMap(row.points, 2, 'tm')
132
+ this.outerlinedata = [{ path: points, speed: Math.ceil(points.length / 2), name: `${this.searchCondition.date}的轨迹` }]
133
+ },
134
+ search() {
135
+ var condition = '1 = 1'
136
+ if (!this.f_filialeids) {
137
+ return this.$showMessage('请选择需要查询的分公司')
138
+ }
139
+ if (!this.searchCondition.date) {
140
+ return this.$showMessage('请选择需要查看的轨迹时间')
141
+ }
142
+ // if (!this.searchCondition.userId[0]) {
143
+ // return this.$showMessage('请选择需要查看的轨迹所属人员')
144
+ // }
145
+
146
+ if (typeof this.searchCondition.date !== 'string') {
147
+ this.searchCondition.date = this.searchCondition.date.format('YYYY-MM-DD')
148
+ }
149
+ condition += " and ps.f_realtime >= '" + this.searchCondition.date + " 00:00:00' and ps.f_realtime <= '" + this.searchCondition.date + " 23:59:59'"
150
+ let userIds = []
151
+ if (this.searchCondition.userId && !userIds.includes(this.searchCondition.userId)) {
152
+ userIds.push(this.searchCondition.userId)
153
+ }
154
+ if (this.f_book_checker && !userIds.includes(this.f_book_checker)) {
155
+ userIds.push(this.f_book_checker)
156
+ }
157
+ if (userIds.length > 0) {
158
+ const idsStr = userIds.map(id => `'${id}'`).join(',')
159
+ condition += ` and ps.f_user_id in (${idsStr})`
160
+ }
161
+ let condition2 = '1 = 1'
162
+ if(this.searchCondition.departmentId){
163
+ condition2 += ` and d.id = '${this.searchCondition.departmentId}'`
164
+ }
165
+ this.searchCondition.condition = condition
166
+ this.$resetpost('rs/logic/getPhoneState', { condition: this.searchCondition.condition, condition2, orderTime: this.searchCondition.orderTime }, {resolveMsg: "轨迹记录查询成功", rejectMsg: "轨迹记录查询失败"}).then((response)=>{
167
+ if (response.data.state === 'success') {
168
+ this.reponData = response.data.result
169
+ // const points = douglasPeuckerForAMap(response.data.result, 2, 'tm')
170
+ // this.outerlinedata = [{ path: points, speed: Math.ceil(points.length / 2), name: `${this.searchCondition.date}的轨迹` }]
171
+ } else {
172
+ this.$showMessage("该用户当日使用app时间较短或行程较少,不足够生成轨迹")
173
+ }
174
+ })
175
+ },
176
+ getRes(obj){
177
+ // this.model.f_filialeids = this.$login.convertToIn(obj.resids);
178
+ if (obj.res != undefined && obj.res.length > 0 && obj.res[0] != undefined) {
179
+ this.getNewData(obj.res[0])
180
+ }
181
+ this.f_filialeids = this.$login.convertToIn(obj.resids);
182
+ },
183
+ //获取定位人员类表
184
+ async getNewData(organization){
185
+ // let organization = '公司名称'
186
+ // let userRolestr = '需要定位人员'
187
+ let userRolestr = '安检员'
188
+ let res =await new HttpResetClass().load('POST', '/rs/search', {
189
+ // source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($需要定位人员$) != -1))',
190
+ source: "this.getParentByName($"+organization+"$).getAllChildrens().where(row.getAttributes().get($resourcetype$)==$user$).where(row.getAttributes().get($rolestr$)!=null).where(row.getAttributes().get($rolestr$).indexOf($"+userRolestr+"$)!=-1)",
191
+ userid: this.$login.f.id
192
+ }, {resolveMsg: null, rejectMsg: null})
193
+ let dataEnd = [{label:'全部',value:''}]
194
+ let idsEnd = []
195
+ res.data.forEach(res=>{
196
+ let h=true
197
+ dataEnd.forEach(per=>{
198
+ if(res.id==per.value){
199
+ h=false
200
+ }
201
+ })
202
+ if(h){
203
+ dataEnd.push({label:res.name,value:res.id})
204
+ idsEnd.push(res.id)
205
+ }
206
+ })
207
+ this.toUserIds = this.$login.convertToIn(idsEnd); //所有的员工ID
208
+ this.searchUserEndOption = dataEnd
209
+
210
+ let resp = await new HttpResetClass().load('POST', `/rs/sql/safe_singleTable_OrderBy`, {
211
+ data: {
212
+ items:'*',
213
+ tablename: 't_department',
214
+ condition: `parentid = '${this.$login.f.orgid}' and f_dep_type = '部门'`,
215
+ orderitem:'id'
216
+ }
217
+ }, {resolveMsg: null, rejectMsg: null})
218
+ //tag)
219
+ const departments = [{label: '全部', value: ''}]
220
+ for (const item of resp.data) {
221
+ departments.push({
222
+ label: item.name,
223
+ value: item.id
224
+ })
225
+ }
226
+ this.searchDepartmentOption = departments
227
+ },
228
+ toStandardDateString () {
229
+ const dt = new Date()
230
+ const month = dt.getMonth() + 1
231
+ const date = dt.getDate()
232
+ return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
233
+ },
234
+ initBookChecker(){
235
+ new HttpResetClass().load('POST', '/rs/search', {
236
+ data: {
237
+ source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($网格员$) != -1)`,
238
+ userid: this.$login.f.id
239
+ }
240
+ }, {resolveMsg: null, rejectMsg: null}).then(res=>{
241
+ let data = res.data
242
+ const addedNames = new Set()
243
+ this.users = []
244
+ data.forEach(user => {
245
+ if (user.state === '在职') {
246
+ if (!addedNames.has(user.name)) {
247
+ this.users.push({label:user.name,value:user.id})
248
+ addedNames.add(user.name)
249
+ }
250
+ }
251
+ })
252
+ console.log(this.users)
253
+ })
254
+ },
255
+
256
+ },
257
+ ready(){
258
+ this.searchCondition.date = this.toStandardDateString()
259
+ this.initBookChecker()
260
+ }
261
+ }
262
+ </script>
263
+
264
+ <style lang="less" scoped>
265
+ .amap-main {
266
+ height: 90%;
267
+ padding-right:10px;
268
+ }
269
+ </style>
@@ -59,6 +59,17 @@
59
59
  :show-rest-button="reset">
60
60
  </datepicker>
61
61
  </div>
62
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
63
+ <label class="font_normal_body">网&ensp;格&ensp;员</label>
64
+ <v-select class="select_list select"
65
+ placeholder='请选择' style="width: 60%"
66
+ :value.sync="model.f_book_checker" v-model="model.f_book_checker"
67
+ :options='$parent.$parent.users'
68
+ filer-key="name"
69
+ close-on-select clear-button
70
+ :value-single="true">
71
+ </v-select>
72
+ </div>
62
73
  <!--<div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}" v-if="$parent.$parent.criteriaShow">-->
63
74
  <!--<label class="font_normal_body">安检起始</label>-->
64
75
  <!--<datepicker-->
@@ -144,6 +155,7 @@
144
155
  </template>
145
156
  <script>
146
157
  import {PagedList} from 'vue-client'
158
+ import HttpResetClass from "vue-client/src/plugins/HttpResetClass";
147
159
 
148
160
 
149
161
  export default {
@@ -184,6 +196,7 @@
184
196
  f_start_time:'',
185
197
  f_end_time:''
186
198
  },
199
+ users:[{label: '全部', value: ''}],
187
200
  checker: this.$login.f,
188
201
  checkers: [],
189
202
  checkersname: [],
@@ -225,10 +238,16 @@
225
238
  condition2 += ` AND f_offsite_time <= '${this.f_end_time} 23:59:59'`
226
239
  }
227
240
  if (this.$refs.paged.$refs.cri.model.f_checker_id){
228
- debugger
229
241
  condition3 += ` AND f_checker in ${this.$refs.paged.$refs.cri.model.f_checker_id} `
230
- condition2 += ` AND f_checker_name in ${this.$refs.paged.$refs.cri.model.f_checker_id} `
242
+ condition2 += ` AND tcp.f_checker_name in ${this.$refs.paged.$refs.cri.model.f_checker_id} `
231
243
  }
244
+
245
+ if (this.$refs.paged.$refs.cri.model.f_book_checker){
246
+ condition3 += ` AND f_checker = '${this.$refs.paged.$refs.cri.model.f_book_checker}' `
247
+ condition2 += ` AND tcp.f_checker_name = '${this.$refs.paged.$refs.cri.model.f_book_checker}' `
248
+ condition2 += ` AND tcb.f_checker_name like '%${this.$refs.paged.$refs.cri.model.f_book_checker}%' `
249
+ }
250
+
232
251
  this.model.f_start_time=this.f_start_time
233
252
  this.model.f_end_time=this.f_end_time
234
253
  this.model.condition1=condition1
@@ -239,12 +258,33 @@
239
258
  getRes(obj){
240
259
  this.model.f_filialeids = this.$login.convertToIn(obj.resids);
241
260
  //tag
261
+ },
262
+ initBookChecker(){
263
+ new HttpResetClass().load('POST', '/rs/search', {
264
+ data: {
265
+ source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($网格员$) != -1)`,
266
+ userid: this.$login.f.id
267
+ }
268
+ }, {resolveMsg: null, rejectMsg: null}).then(res=>{
269
+ let data = res.data
270
+ const addedNames = new Set()
271
+ this.users = []
272
+ data.forEach(user => {
273
+ if (user.state === '在职') {
274
+ if (!addedNames.has(user.name)) {
275
+ this.users.push({ label: user.name, value: user.name })
276
+ addedNames.add(user.name)
277
+ }
278
+ }
279
+ });
280
+ })
242
281
  }
243
282
  },
244
283
  ready() {
245
284
  this.model.id = this.$login.f.id
246
285
  this.model.f_subcompany = this.$login.f.f_fengongsi
247
286
  this.model.f_filialeid = this.$login.f.orgid
287
+ this.initBookChecker()
248
288
  },
249
289
 
250
290
  watch: {
@@ -14,6 +14,8 @@ let specialComp = {
14
14
  'check-book-entry': (resolve) => { require(['./pc/CheckBookEntry'], resolve) },
15
15
  'check-book-details': (resolve) => { require(['./pc/CheckBookDetails'], resolve) },
16
16
  'check-book-list': (resolve) => { require(['./pc/CheckBookList'], resolve) },
17
+ 'amap-trail-show-zk': (resolve) => { require(['./pc/AMapTrailShowZk'], resolve) },
18
+ 'person-track': (resolve) => { require(['./pc/PersonTrack'], resolve) },
17
19
 
18
20
  // 安检结果查看列表
19
21
  'defect-paper': (resolve) => { require(['./pc/DefectPaper'], resolve) },
@@ -23,6 +25,7 @@ let specialComp = {
23
25
  'check-plan': (resolve) => { require(['./pc/CheckPlan'], resolve) },
24
26
  'select-check-plan': (resolve) => { require(['./pc/SelectCheckPlan'], resolve) },
25
27
  'CheckPlanCountChartArea': (resolve) => { require(['./pc/CheckPlanCountChartArea'], resolve) },
28
+ 'CheckPlanCountChartAreaByWangGeYuan': (resolve) => { require(['./pc/CheckPlanCountChartAreaByWangGeYuan'], resolve) },
26
29
  'check_screen': (resolve) => { require(['./pc/repairScreen'], resolve) },
27
30
  'hiddensituation': (resolve) => { require(['./pc/HiddenSituation'], resolve) },
28
31
  'role-selector-safe': (resolve) => { require(['./pc/RoleSelector'], resolve) },
@@ -17,9 +17,14 @@
17
17
  style="width: 60%" placeholder="客户名称" condition="f_user_name like '%{}%'">
18
18
  </div>
19
19
  <div class="form-group col-sm-2">
20
- <label class="font_normal_body">客户电话</label>
21
- <input type="text" class="input_search" v-model="model.f_user_phone"
22
- style="width: 60%" placeholder="客户电话" condition="f_user_phone like '%{}%'">
20
+
21
+ <label class="font_normal_body">客户类型</label>
22
+ <v-select :value.sync="model.f_check_type" v-model='model.f_check_type'
23
+ :value-single="true" style="width: 60%"
24
+ class="select_list select"
25
+ :options='$parent.$parent.check_types' placeholder='客户类型'
26
+ close-on-select
27
+ condition="f_check_type = '{}'"></v-select>
23
28
  </div>
24
29
  <div class="form-group col-sm-2">
25
30
  <label class="font_normal_body">小&emsp;&emsp;区</label>
@@ -621,6 +626,7 @@ export default {
621
626
  f_entry_status: [{label: '全部', value: ''}, ...this.$appdata.getParam('安检状态')],
622
627
  user_states:[{label: '全部', value: ''}, ...this.$appdata.getParam('用户状态')],
623
628
  safecheck_type:[{label: '全部', value: ''}, ...this.$appdata.getParam('安检类型')],
629
+ check_types:[{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')],
624
630
  f_checkplans: this.$appdata.getParam('有无计划'),
625
631
  showcheckmsg: false,
626
632
  checkInfo: {},