safecheck-client 4.0.1-55 → 4.0.1-57

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 (240) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/android.html +18 -18
  4. package/config/dev.env.js +6 -6
  5. package/config/index.js +38 -38
  6. package/config/prod.env.js +3 -3
  7. package/config/test.env.js +6 -6
  8. package/docs/AppBase.md +22 -22
  9. package/docs/Busy.md +14 -14
  10. package/docs/CriteriaPaged.md +47 -47
  11. package/docs/DataGrid.md +54 -54
  12. package/docs/DataModel.md +22 -22
  13. package/docs/Dynamic.md +42 -42
  14. package/docs/GetParams.md +11 -11
  15. package/docs/HttpBusy.md +13 -13
  16. package/docs/HttpStore.md +29 -29
  17. package/docs/MessageBox.md +28 -28
  18. package/docs/PagedList.md +29 -29
  19. package/docs/Pager.md +21 -21
  20. package/docs/Project.md +23 -23
  21. package/docs/Route.md +105 -105
  22. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  23. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  24. package/docs/Task.md +46 -46
  25. package/docs/TreeList.md +28 -28
  26. package/docs/TreeMixin.md +18 -18
  27. package/docs/all.md +10 -10
  28. package/docs/list.md +42 -42
  29. package/docs/partial.md +75 -75
  30. package/docs/selector.md +82 -82
  31. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  32. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  33. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  34. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  35. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  36. package/examples/AddressList/App.vue +13 -13
  37. package/examples/AddressList/index.html +11 -11
  38. package/examples/DispatchList/App.vue +10 -10
  39. package/examples/DispatchList/BaseTree.vue +13 -13
  40. package/examples/DispatchList/Init.vue +22 -22
  41. package/examples/DispatchList/Test.vue +20 -20
  42. package/examples/DispatchList/index.html +11 -11
  43. package/examples/DispatchList/main.js +18 -18
  44. package/home.html +16 -16
  45. package/package.json +1 -1
  46. package/publish.bat +7 -7
  47. package/release.bat +5 -5
  48. package/src/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/bootstrap/less/.csscomb.json +304 -304
  121. package/src/bootstrap/less/.csslintrc +19 -19
  122. package/src/bootstrap/less/alerts.less +73 -73
  123. package/src/bootstrap/less/badges.less +66 -66
  124. package/src/bootstrap/less/breadcrumbs.less +26 -26
  125. package/src/bootstrap/less/button-groups.less +247 -247
  126. package/src/bootstrap/less/buttons.less +172 -172
  127. package/src/bootstrap/less/carousel.less +269 -269
  128. package/src/bootstrap/less/close.less +34 -34
  129. package/src/bootstrap/less/code.less +69 -69
  130. package/src/bootstrap/less/component-animations.less +33 -33
  131. package/src/bootstrap/less/dropdowns.less +216 -216
  132. package/src/bootstrap/less/grid.less +84 -84
  133. package/src/bootstrap/less/input-groups.less +167 -167
  134. package/src/bootstrap/less/jumbotron.less +52 -52
  135. package/src/bootstrap/less/labels.less +64 -64
  136. package/src/bootstrap/less/list-group.less +141 -141
  137. package/src/bootstrap/less/media.less +66 -66
  138. package/src/bootstrap/less/mixins/alerts.less +14 -14
  139. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  140. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  141. package/src/bootstrap/less/mixins/buttons.less +69 -69
  142. package/src/bootstrap/less/mixins/center-block.less +7 -7
  143. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  144. package/src/bootstrap/less/mixins/forms.less +90 -90
  145. package/src/bootstrap/less/mixins/gradients.less +59 -59
  146. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  147. package/src/bootstrap/less/mixins/grid.less +122 -122
  148. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  149. package/src/bootstrap/less/mixins/image.less +33 -33
  150. package/src/bootstrap/less/mixins/labels.less +12 -12
  151. package/src/bootstrap/less/mixins/list-group.less +30 -30
  152. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  153. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  154. package/src/bootstrap/less/mixins/opacity.less +8 -8
  155. package/src/bootstrap/less/mixins/pagination.less +24 -24
  156. package/src/bootstrap/less/mixins/panels.less +24 -24
  157. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  158. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  159. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  160. package/src/bootstrap/less/mixins/resize.less +6 -6
  161. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  162. package/src/bootstrap/less/mixins/size.less +10 -10
  163. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  164. package/src/bootstrap/less/mixins/table-row.less +44 -44
  165. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  166. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  167. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  168. package/src/bootstrap/less/mixins.less +40 -40
  169. package/src/bootstrap/less/modals.less +151 -151
  170. package/src/bootstrap/less/navbar.less +660 -660
  171. package/src/bootstrap/less/normalize.less +424 -424
  172. package/src/bootstrap/less/pagination.less +89 -89
  173. package/src/bootstrap/less/panels.less +275 -275
  174. package/src/bootstrap/less/popovers.less +131 -131
  175. package/src/bootstrap/less/print.less +101 -101
  176. package/src/bootstrap/less/progress-bars.less +87 -87
  177. package/src/bootstrap/less/responsive-embed.less +35 -35
  178. package/src/bootstrap/less/responsive-utilities.less +194 -194
  179. package/src/bootstrap/less/scaffolding.less +161 -161
  180. package/src/bootstrap/less/theme.less +291 -291
  181. package/src/bootstrap/less/thumbnails.less +36 -36
  182. package/src/bootstrap/less/tooltip.less +102 -102
  183. package/src/bootstrap/less/type.less +303 -303
  184. package/src/bootstrap/less/utilities.less +55 -55
  185. package/src/bootstrap/less/wells.less +29 -29
  186. package/src/components/FileUpload.vue +696 -696
  187. package/src/components/Hello.vue +39 -39
  188. package/src/components/LeftTree.vue +27 -27
  189. package/src/components/android/AttendanceTally.vue +116 -116
  190. package/src/components/android/Blank.vue +10 -10
  191. package/src/components/android/CheckUnplanPage.vue +56 -56
  192. package/src/components/android/Checker.vue +12 -12
  193. package/src/components/android/CheckerAnnual.vue +81 -81
  194. package/src/components/android/CheckerAvarta.vue +82 -82
  195. package/src/components/android/EquipmentInspection.vue +348 -348
  196. package/src/components/android/FootprintMap.vue +120 -120
  197. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  198. package/src/components/android/MasterMain.vue +77 -77
  199. package/src/components/android/Menu.vue +132 -132
  200. package/src/components/android/PaperAlarm.vue +85 -85
  201. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  202. package/src/components/android/PlumberAnnual.vue +83 -83
  203. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  204. package/src/components/android/PlumberMonthly.vue +84 -84
  205. package/src/components/android/PostMap.vue +83 -83
  206. package/src/components/android/QueryCheckHistory.vue +122 -122
  207. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  208. package/src/components/android/RepairMain.vue +60 -60
  209. package/src/components/android/Repairman.vue +12 -12
  210. package/src/components/android/StationMaster.vue +12 -12
  211. package/src/components/defects/DefectModal.vue +101 -101
  212. package/src/components/defects/DevicesAndItem.vue +39 -39
  213. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  214. package/src/components/map/SecurityCheckCoordinates.vue +349 -348
  215. package/src/components/notice/NoticeForm.vue +100 -100
  216. package/src/components/notice/NoticeIssue.vue +20 -20
  217. package/src/components/paper/PicViewer.vue +18 -18
  218. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  219. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  220. package/src/components/phonestate/PostMap.vue +82 -82
  221. package/src/components/planmanage/PlanManage.vue +893 -893
  222. package/src/components/querycheckpaper/CheckPaperList.vue +132 -132
  223. package/src/components/querycheckpaper/CheckPaperSearchUser.vue +100 -100
  224. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  225. package/src/components/userfile/MeterFile.vue +145 -145
  226. package/src/components/userfile/MeterModify.vue +46 -46
  227. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  228. package/src/filiale/xinkang/android/SafecheckOrderV.vue +2676 -2709
  229. package/src/plugins/LoadData.js +10 -10
  230. package/src/plugins/LoadParams.js +24 -24
  231. package/src/stores/wxconfig.js +10 -10
  232. package/src/utils/getNowDate.js +33 -33
  233. package/test/e2e/custom-assertions/elementCount.js +26 -26
  234. package/test/e2e/nightwatch.conf.js +40 -40
  235. package/test/e2e/runner.js +30 -30
  236. package/test/e2e/specs/test.js +13 -13
  237. package/test/unit/.eslintrc +5 -5
  238. package/test/unit/TestUtil.js +62 -62
  239. package/test/unit/context.html +20 -20
  240. package/test/unit/index.js +13 -13
@@ -1,348 +1,349 @@
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:'*',
110
- tablename: 't_check_paper',
111
- condition: condition,
112
- orderitem: '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
- </ul>
143
- </div>
144
- </div>`
145
- },
146
- assemblyData(){
147
- let a2=[]
148
- for(let i=0;i<this.level1.length;i++){
149
- a2.push({
150
- lnglat: [this.level1[i].f_longitude, this.level1[i].f_latitude], //点标记位置
151
- name: '拒检',
152
- id:i,
153
- rowstr:this.level1[i]
154
- })
155
- }
156
- this.level1Mulchs.setData(a2);
157
- this.level1Mulchs.setMap(this.map);
158
-
159
- let a4=[]
160
- for(let p=0;p<this.level3.length;p++){
161
- if (this.level3[p].f_longitude&&this.level3[p].f_latitude){
162
- a4.push({
163
- lnglat: [this.level3[p].f_longitude, this.level3[p].f_latitude], //点标记位置
164
- name: '到访不遇',
165
- id:p,
166
- rowstr:this.level3[p]
167
- })
168
- }
169
- }
170
- this.level3Mulchs.setData(a4);
171
- this.level3Mulchs.setMap(this.map);
172
-
173
- let a5=[]
174
- for(let l=0;l<this.problems.length;l++){
175
- if (this.problems[l].f_longitude&&this.problems[l].f_latitude){
176
- a5.push({
177
- lnglat: [this.problems[l].f_longitude, this.problems[l].f_latitude], //点标记位置
178
- name: '正常',
179
- id:l,
180
- rowstr:this.problems[l]
181
- })
182
- }
183
- }
184
- this.problemsMulchs.setData(a5);
185
- this.problemsMulchs.setMap(this.map);
186
- },
187
- enableChange(vname,val){
188
- switch(vname){
189
- case 'level1':
190
- if(val){
191
- this.level1Mulchs.show()
192
- }else{
193
- this.level1Mulchs.hide()
194
- }
195
- break;
196
- case 'level3':
197
- if(val){
198
- this.level3Mulchs.show()
199
- }else{
200
- this.level3Mulchs.hide()
201
- }
202
- break;
203
- case 'problems':
204
- if(val){
205
- this.problemsMulchs.show()
206
- }else{
207
- this.problemsMulchs.hide()
208
- }
209
- break;
210
- default:
211
- }
212
- },
213
- initMap(){
214
- let that=this
215
- this.map = new AMap.Map('check_map', {
216
- zoom: 17,
217
- viewMode: '2D',
218
- lang: 'zh_cn',
219
- zindex: 99
220
- });
221
- AMap.plugin(
222
- ['AMap.ToolBar','AMap.Geolocation'], () => {
223
- var geolocation = new AMap.Geolocation({
224
- enableHighAccuracy: true,
225
- showbutton: true,
226
- timeout: 10000,
227
- buttonOffset: new AMap.Pixel(10, 20),
228
- buttonPosition: 'LB'
229
- })
230
- that.map.addControl(geolocation)
231
- geolocation.getCurrentPosition();
232
- that.map.addControl(new AMap.ToolBar())
233
- });
234
- this.map.setDefaultCursor('move');
235
- this.infoWindow = new AMap.InfoWindow({
236
- anchor: 'bottom-center',
237
- autoMove:true,
238
- content: '',
239
- offset: new AMap.Pixel(0, -25)
240
- })
241
-
242
- this.level1Mulchs=new AMap.MassMarks([], {
243
- opacity: 0.8,
244
- zIndex: 111,
245
- cursor: 'pointer',
246
- style: this.styleObject[0]
247
- });
248
- this.level1Mulchs.on('click',function (e) {
249
- let defectContent=that.getDefectContent(e.data.rowstr)
250
- that.infoWindow.setContent(defectContent)
251
- that.infoWindow.open(that.map, e.data.lnglat);
252
- })
253
- this.level3Mulchs=new AMap.MassMarks([], {
254
- opacity: 0.8,
255
- zIndex: 111,
256
- cursor: 'pointer',
257
- style: this.styleObject[1]
258
- });
259
- this.level3Mulchs.on('click',function (e) {
260
- let defectContent=that.getDefectContent(e.data.rowstr)
261
- that.infoWindow.setContent(defectContent)
262
- that.infoWindow.open(that.map, e.data.lnglat);
263
- })
264
- this.problemsMulchs=new AMap.MassMarks([], {
265
- opacity: 0.8,
266
- zIndex: 111,
267
- cursor: 'pointer',
268
- style: this.styleObject[2]
269
- });
270
- this.problemsMulchs.on('click',function (e) {
271
- let defectContent=that.getDefectContent(e.data.rowstr)
272
- that.infoWindow.setContent(defectContent)
273
- that.infoWindow.open(that.map, e.data.lnglat);
274
- })
275
- },
276
- async safeRefresh(){
277
- let condition =`f_longitude is not null and f_latitude is not null`
278
- if (this.f_check_start){
279
- condition += ` and f_offsite_time >= '${this.f_check_start} 00:00:00'`
280
- }
281
- if (this.f_check_end){
282
- condition += ` and f_offsite_time <= '${this.f_check_end} 23:59:59'`
283
- }
284
- await this.getNewData(condition)
285
- this.assemblyData()
286
- }
287
- },
288
- destroyed() {
289
- window.clearInterval(this.intervalNum)
290
- }
291
- }
292
- </script>
293
-
294
- <style lang="less" scoped>
295
-
296
- .time-picker-container {
297
- display: flex;
298
- align-items: center;
299
- }
300
-
301
- .time-picker-container /deep/ .v-datepicker {
302
- width: 100% !important;
303
- }
304
-
305
- .date-separator {
306
- padding: 0 5px;
307
- }
308
-
309
- .safe_checkbox_sty{
310
- vertical-align:text-bottom;
311
- margin-right: 3px;
312
-
313
- }
314
- .safe_ul_sty{
315
- list-style-type: none;
316
- font-size: 13px;
317
- padding-left: 5px;
318
- }
319
- .safe_li_sty{
320
- font-size: 13px;
321
- margin-top: 5px;
322
- }
323
- .safe_p{
324
- white-space: nowrap;
325
- overflow: hidden;
326
- text-overflow: ellipsis;
327
- margin: 0 0 0 10px;
328
-
329
- font-size: 12px;
330
- }
331
- .safe_list_li{
332
- margin-top: 5px;
333
- background-color: #ffffff;
334
- border: solid 1px #f0f4fa !important;
335
- color: #666666 !important;
336
- font-size: 1.3rem !important;
337
- font-family: PINGFANG-MEDIUM !important;
338
- padding: 8px;
339
- }
340
- .safe_list_li:hover{
341
- background-color: rgb(203,234,241);
342
- }
343
- .safe_deimg{
344
- vertical-align: text-bottom;
345
- width: 15px;
346
- margin-right: 3px;
347
- }
348
- </style>
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:'*',
110
+ tablename: 't_check_paper',
111
+ condition: condition,
112
+ orderitem: '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
+ </ul>
143
+ </div>
144
+ </div>`
145
+ },
146
+ assemblyData(){
147
+ let a2=[]
148
+ for(let i=0;i<this.level1.length;i++){
149
+ a2.push({
150
+ lnglat: [this.level1[i].f_longitude, this.level1[i].f_latitude], //点标记位置
151
+ name: '拒检',
152
+ id:i,
153
+ rowstr:this.level1[i]
154
+ })
155
+ }
156
+ this.level1Mulchs.setData(a2);
157
+ this.level1Mulchs.setMap(this.map);
158
+
159
+ let a4=[]
160
+ for(let p=0;p<this.level3.length;p++){
161
+ if (this.level3[p].f_longitude&&this.level3[p].f_latitude){
162
+ a4.push({
163
+ lnglat: [this.level3[p].f_longitude, this.level3[p].f_latitude], //点标记位置
164
+ name: '到访不遇',
165
+ id:p,
166
+ rowstr:this.level3[p]
167
+ })
168
+ }
169
+ }
170
+ this.level3Mulchs.setData(a4);
171
+ this.level3Mulchs.setMap(this.map);
172
+
173
+ let a5=[]
174
+ for(let l=0;l<this.problems.length;l++){
175
+ if (this.problems[l].f_longitude&&this.problems[l].f_latitude){
176
+ a5.push({
177
+ lnglat: [this.problems[l].f_longitude, this.problems[l].f_latitude], //点标记位置
178
+ name: '正常',
179
+ id:l,
180
+ rowstr:this.problems[l]
181
+ })
182
+ }
183
+ }
184
+ this.problemsMulchs.setData(a5);
185
+ this.problemsMulchs.setMap(this.map);
186
+ },
187
+ enableChange(vname,val){
188
+ switch(vname){
189
+ case 'level1':
190
+ if(val){
191
+ this.level1Mulchs.show()
192
+ }else{
193
+ this.level1Mulchs.hide()
194
+ }
195
+ break;
196
+ case 'level3':
197
+ if(val){
198
+ this.level3Mulchs.show()
199
+ }else{
200
+ this.level3Mulchs.hide()
201
+ }
202
+ break;
203
+ case 'problems':
204
+ if(val){
205
+ this.problemsMulchs.show()
206
+ }else{
207
+ this.problemsMulchs.hide()
208
+ }
209
+ break;
210
+ default:
211
+ }
212
+ },
213
+ initMap(){
214
+ let that=this
215
+ this.map = new AMap.Map('check_map', {
216
+ zoom: 17,
217
+ viewMode: '2D',
218
+ lang: 'zh_cn',
219
+ zindex: 99,
220
+ zooms: [3, 18] // 设置地图缩放范围为3到18级
221
+ });
222
+ AMap.plugin(
223
+ ['AMap.ToolBar','AMap.Geolocation'], () => {
224
+ var geolocation = new AMap.Geolocation({
225
+ enableHighAccuracy: true,
226
+ showbutton: true,
227
+ timeout: 10000,
228
+ buttonOffset: new AMap.Pixel(10, 20),
229
+ buttonPosition: 'LB'
230
+ })
231
+ that.map.addControl(geolocation)
232
+ geolocation.getCurrentPosition();
233
+ that.map.addControl(new AMap.ToolBar())
234
+ });
235
+ this.map.setDefaultCursor('move');
236
+ this.infoWindow = new AMap.InfoWindow({
237
+ anchor: 'bottom-center',
238
+ autoMove:true,
239
+ content: '',
240
+ offset: new AMap.Pixel(0, -25)
241
+ })
242
+
243
+ this.level1Mulchs=new AMap.MassMarks([], {
244
+ opacity: 0.8,
245
+ zIndex: 111,
246
+ cursor: 'pointer',
247
+ style: this.styleObject[0]
248
+ });
249
+ this.level1Mulchs.on('click',function (e) {
250
+ let defectContent=that.getDefectContent(e.data.rowstr)
251
+ that.infoWindow.setContent(defectContent)
252
+ that.infoWindow.open(that.map, e.data.lnglat);
253
+ })
254
+ this.level3Mulchs=new AMap.MassMarks([], {
255
+ opacity: 0.8,
256
+ zIndex: 111,
257
+ cursor: 'pointer',
258
+ style: this.styleObject[1]
259
+ });
260
+ this.level3Mulchs.on('click',function (e) {
261
+ let defectContent=that.getDefectContent(e.data.rowstr)
262
+ that.infoWindow.setContent(defectContent)
263
+ that.infoWindow.open(that.map, e.data.lnglat);
264
+ })
265
+ this.problemsMulchs=new AMap.MassMarks([], {
266
+ opacity: 0.8,
267
+ zIndex: 111,
268
+ cursor: 'pointer',
269
+ style: this.styleObject[2]
270
+ });
271
+ this.problemsMulchs.on('click',function (e) {
272
+ let defectContent=that.getDefectContent(e.data.rowstr)
273
+ that.infoWindow.setContent(defectContent)
274
+ that.infoWindow.open(that.map, e.data.lnglat);
275
+ })
276
+ },
277
+ async safeRefresh(){
278
+ let condition =`f_longitude is not null and f_latitude is not null`
279
+ if (this.f_check_start){
280
+ condition += ` and f_offsite_time >= '${this.f_check_start} 00:00:00'`
281
+ }
282
+ if (this.f_check_end){
283
+ condition += ` and f_offsite_time <= '${this.f_check_end} 23:59:59'`
284
+ }
285
+ await this.getNewData(condition)
286
+ this.assemblyData()
287
+ }
288
+ },
289
+ destroyed() {
290
+ window.clearInterval(this.intervalNum)
291
+ }
292
+ }
293
+ </script>
294
+
295
+ <style lang="less" scoped>
296
+
297
+ .time-picker-container {
298
+ display: flex;
299
+ align-items: center;
300
+ }
301
+
302
+ .time-picker-container /deep/ .v-datepicker {
303
+ width: 100% !important;
304
+ }
305
+
306
+ .date-separator {
307
+ padding: 0 5px;
308
+ }
309
+
310
+ .safe_checkbox_sty{
311
+ vertical-align:text-bottom;
312
+ margin-right: 3px;
313
+
314
+ }
315
+ .safe_ul_sty{
316
+ list-style-type: none;
317
+ font-size: 13px;
318
+ padding-left: 5px;
319
+ }
320
+ .safe_li_sty{
321
+ font-size: 13px;
322
+ margin-top: 5px;
323
+ }
324
+ .safe_p{
325
+ white-space: nowrap;
326
+ overflow: hidden;
327
+ text-overflow: ellipsis;
328
+ margin: 0 0 0 10px;
329
+
330
+ font-size: 12px;
331
+ }
332
+ .safe_list_li{
333
+ margin-top: 5px;
334
+ background-color: #ffffff;
335
+ border: solid 1px #f0f4fa !important;
336
+ color: #666666 !important;
337
+ font-size: 1.3rem !important;
338
+ font-family: PINGFANG-MEDIUM !important;
339
+ padding: 8px;
340
+ }
341
+ .safe_list_li:hover{
342
+ background-color: rgb(203,234,241);
343
+ }
344
+ .safe_deimg{
345
+ vertical-align: text-bottom;
346
+ width: 15px;
347
+ margin-right: 3px;
348
+ }
349
+ </style>