safecheck-client 4.0.1-58 → 4.0.1-59

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 (239) 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 +132 -132
  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 +350 -349
  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/plugins/LoadData.js +10 -10
  229. package/src/plugins/LoadParams.js +24 -24
  230. package/src/stores/wxconfig.js +10 -10
  231. package/src/utils/getNowDate.js +33 -33
  232. package/test/e2e/custom-assertions/elementCount.js +26 -26
  233. package/test/e2e/nightwatch.conf.js +40 -40
  234. package/test/e2e/runner.js +30 -30
  235. package/test/e2e/specs/test.js +13 -13
  236. package/test/unit/.eslintrc +5 -5
  237. package/test/unit/TestUtil.js +62 -62
  238. package/test/unit/context.html +20 -20
  239. package/test/unit/index.js +13 -13
@@ -1,349 +1,350 @@
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>
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
+ center: [110.121181, 37.088921],
222
+ });
223
+ AMap.plugin(
224
+ ['AMap.ToolBar','AMap.Geolocation'], () => {
225
+ var geolocation = new AMap.Geolocation({
226
+ enableHighAccuracy: true,
227
+ showbutton: true,
228
+ timeout: 10000,
229
+ buttonOffset: new AMap.Pixel(10, 20),
230
+ buttonPosition: 'LB'
231
+ })
232
+ that.map.addControl(geolocation)
233
+ geolocation.getCurrentPosition();
234
+ that.map.addControl(new AMap.ToolBar())
235
+ });
236
+ this.map.setDefaultCursor('move');
237
+ this.infoWindow = new AMap.InfoWindow({
238
+ anchor: 'bottom-center',
239
+ autoMove:true,
240
+ content: '',
241
+ offset: new AMap.Pixel(0, -25)
242
+ })
243
+
244
+ this.level1Mulchs=new AMap.MassMarks([], {
245
+ opacity: 0.8,
246
+ zIndex: 111,
247
+ cursor: 'pointer',
248
+ style: this.styleObject[0]
249
+ });
250
+ this.level1Mulchs.on('click',function (e) {
251
+ let defectContent=that.getDefectContent(e.data.rowstr)
252
+ that.infoWindow.setContent(defectContent)
253
+ that.infoWindow.open(that.map, e.data.lnglat);
254
+ })
255
+ this.level3Mulchs=new AMap.MassMarks([], {
256
+ opacity: 0.8,
257
+ zIndex: 111,
258
+ cursor: 'pointer',
259
+ style: this.styleObject[1]
260
+ });
261
+ this.level3Mulchs.on('click',function (e) {
262
+ let defectContent=that.getDefectContent(e.data.rowstr)
263
+ that.infoWindow.setContent(defectContent)
264
+ that.infoWindow.open(that.map, e.data.lnglat);
265
+ })
266
+ this.problemsMulchs=new AMap.MassMarks([], {
267
+ opacity: 0.8,
268
+ zIndex: 111,
269
+ cursor: 'pointer',
270
+ style: this.styleObject[2]
271
+ });
272
+ this.problemsMulchs.on('click',function (e) {
273
+ let defectContent=that.getDefectContent(e.data.rowstr)
274
+ that.infoWindow.setContent(defectContent)
275
+ that.infoWindow.open(that.map, e.data.lnglat);
276
+ })
277
+ },
278
+ async safeRefresh(){
279
+ let condition =`f_longitude is not null and f_latitude is not null`
280
+ if (this.f_check_start){
281
+ condition += ` and f_offsite_time >= '${this.f_check_start} 00:00:00'`
282
+ }
283
+ if (this.f_check_end){
284
+ condition += ` and f_offsite_time <= '${this.f_check_end} 23:59:59'`
285
+ }
286
+ await this.getNewData(condition)
287
+ this.assemblyData()
288
+ }
289
+ },
290
+ destroyed() {
291
+ window.clearInterval(this.intervalNum)
292
+ }
293
+ }
294
+ </script>
295
+
296
+ <style lang="less" scoped>
297
+
298
+ .time-picker-container {
299
+ display: flex;
300
+ align-items: center;
301
+ }
302
+
303
+ .time-picker-container /deep/ .v-datepicker {
304
+ width: 100% !important;
305
+ }
306
+
307
+ .date-separator {
308
+ padding: 0 5px;
309
+ }
310
+
311
+ .safe_checkbox_sty{
312
+ vertical-align:text-bottom;
313
+ margin-right: 3px;
314
+
315
+ }
316
+ .safe_ul_sty{
317
+ list-style-type: none;
318
+ font-size: 13px;
319
+ padding-left: 5px;
320
+ }
321
+ .safe_li_sty{
322
+ font-size: 13px;
323
+ margin-top: 5px;
324
+ }
325
+ .safe_p{
326
+ white-space: nowrap;
327
+ overflow: hidden;
328
+ text-overflow: ellipsis;
329
+ margin: 0 0 0 10px;
330
+
331
+ font-size: 12px;
332
+ }
333
+ .safe_list_li{
334
+ margin-top: 5px;
335
+ background-color: #ffffff;
336
+ border: solid 1px #f0f4fa !important;
337
+ color: #666666 !important;
338
+ font-size: 1.3rem !important;
339
+ font-family: PINGFANG-MEDIUM !important;
340
+ padding: 8px;
341
+ }
342
+ .safe_list_li:hover{
343
+ background-color: rgb(203,234,241);
344
+ }
345
+ .safe_deimg{
346
+ vertical-align: text-bottom;
347
+ width: 15px;
348
+ margin-right: 3px;
349
+ }
350
+ </style>