safecheck-client 3.0.33-142 → 3.0.33-143

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 (270) 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/FormPrint.md +18 -18
  15. package/docs/GetParams.md +11 -11
  16. package/docs/GridTree.md +47 -47
  17. package/docs/HttpBusy.md +13 -13
  18. package/docs/HttpStore.md +29 -29
  19. package/docs/MessageBox.md +28 -28
  20. package/docs/PagedList.md +29 -29
  21. package/docs/Pager.md +21 -21
  22. package/docs/PrintFile.md +38 -38
  23. package/docs/Project.md +23 -23
  24. package/docs/Route.md +105 -105
  25. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  26. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  27. package/docs/Task.md +46 -46
  28. package/docs/TreeList.md +28 -28
  29. package/docs/TreeMixin.md +18 -18
  30. package/docs/all.md +10 -10
  31. package/docs/list.md +42 -42
  32. package/docs/partial.md +75 -75
  33. package/docs/selector.md +82 -82
  34. package/docs/tree.md +40 -40
  35. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  36. 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
  37. 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
  38. 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
  39. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  40. package/examples/AddressList/App.vue +13 -13
  41. package/examples/AddressList/index.html +11 -11
  42. package/examples/DispatchList/App.vue +10 -10
  43. package/examples/DispatchList/BaseTree.vue +13 -13
  44. package/examples/DispatchList/Init.vue +22 -22
  45. package/examples/DispatchList/Test.vue +20 -20
  46. package/examples/DispatchList/index.html +11 -11
  47. package/examples/DispatchList/main.js +18 -18
  48. package/home.html +16 -16
  49. package/package.json +1 -1
  50. package/publish.bat +7 -7
  51. package/release.bat +5 -5
  52. package/src/Widget.vue +13 -13
  53. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  54. package/src/android-bootstrap/less/.csscomb.json +304 -304
  55. package/src/android-bootstrap/less/.csslintrc +19 -19
  56. package/src/android-bootstrap/less/alerts.less +73 -73
  57. package/src/android-bootstrap/less/badges.less +66 -66
  58. package/src/android-bootstrap/less/bootstrap.less +56 -56
  59. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  60. package/src/android-bootstrap/less/button-groups.less +247 -247
  61. package/src/android-bootstrap/less/buttons.less +173 -173
  62. package/src/android-bootstrap/less/carousel.less +269 -269
  63. package/src/android-bootstrap/less/close.less +34 -34
  64. package/src/android-bootstrap/less/code.less +69 -69
  65. package/src/android-bootstrap/less/component-animations.less +33 -33
  66. package/src/android-bootstrap/less/grid.less +84 -84
  67. package/src/android-bootstrap/less/input-groups.less +167 -167
  68. package/src/android-bootstrap/less/jumbotron.less +52 -52
  69. package/src/android-bootstrap/less/labels.less +64 -64
  70. package/src/android-bootstrap/less/list-group.less +141 -141
  71. package/src/android-bootstrap/less/media.less +66 -66
  72. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  73. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  74. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  75. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  76. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  77. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  78. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  79. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  80. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  81. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  82. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  83. package/src/android-bootstrap/less/mixins/image.less +33 -33
  84. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  85. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  86. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  87. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  88. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  89. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  90. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  91. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  92. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  93. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  94. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  95. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  96. package/src/android-bootstrap/less/mixins/size.less +10 -10
  97. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  98. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  99. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  100. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  101. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  102. package/src/android-bootstrap/less/mixins.less +40 -40
  103. package/src/android-bootstrap/less/modals.less +151 -151
  104. package/src/android-bootstrap/less/navbar.less +660 -660
  105. package/src/android-bootstrap/less/navs.less +290 -290
  106. package/src/android-bootstrap/less/normalize.less +424 -424
  107. package/src/android-bootstrap/less/pager.less +76 -76
  108. package/src/android-bootstrap/less/pagination.less +89 -89
  109. package/src/android-bootstrap/less/panels.less +274 -274
  110. package/src/android-bootstrap/less/popovers.less +131 -131
  111. package/src/android-bootstrap/less/print.less +101 -101
  112. package/src/android-bootstrap/less/progress-bars.less +87 -87
  113. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  114. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  115. package/src/android-bootstrap/less/scaffolding.less +161 -161
  116. package/src/android-bootstrap/less/tables.less +262 -262
  117. package/src/android-bootstrap/less/theme.less +291 -291
  118. package/src/android-bootstrap/less/thumbnails.less +36 -36
  119. package/src/android-bootstrap/less/tooltip.less +102 -102
  120. package/src/android-bootstrap/less/type.less +303 -303
  121. package/src/android-bootstrap/less/utilities.less +55 -55
  122. package/src/android-bootstrap/less/variables.less +896 -896
  123. package/src/android-bootstrap/less/wells.less +29 -29
  124. package/src/androidTest.js +20 -20
  125. package/src/bootstrap/less/.csscomb.json +304 -304
  126. package/src/bootstrap/less/.csslintrc +19 -19
  127. package/src/bootstrap/less/alerts.less +73 -73
  128. package/src/bootstrap/less/badges.less +66 -66
  129. package/src/bootstrap/less/breadcrumbs.less +26 -26
  130. package/src/bootstrap/less/button-groups.less +247 -247
  131. package/src/bootstrap/less/buttons.less +172 -172
  132. package/src/bootstrap/less/carousel.less +269 -269
  133. package/src/bootstrap/less/close.less +34 -34
  134. package/src/bootstrap/less/code.less +69 -69
  135. package/src/bootstrap/less/component-animations.less +33 -33
  136. package/src/bootstrap/less/dropdowns.less +216 -216
  137. package/src/bootstrap/less/forms.less +626 -626
  138. package/src/bootstrap/less/grid.less +84 -84
  139. package/src/bootstrap/less/input-groups.less +167 -167
  140. package/src/bootstrap/less/jumbotron.less +52 -52
  141. package/src/bootstrap/less/labels.less +64 -64
  142. package/src/bootstrap/less/list-group.less +141 -141
  143. package/src/bootstrap/less/media.less +66 -66
  144. package/src/bootstrap/less/mixins/alerts.less +14 -14
  145. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  146. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  147. package/src/bootstrap/less/mixins/buttons.less +69 -69
  148. package/src/bootstrap/less/mixins/center-block.less +7 -7
  149. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  150. package/src/bootstrap/less/mixins/forms.less +90 -90
  151. package/src/bootstrap/less/mixins/gradients.less +59 -59
  152. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  153. package/src/bootstrap/less/mixins/grid.less +122 -122
  154. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  155. package/src/bootstrap/less/mixins/image.less +33 -33
  156. package/src/bootstrap/less/mixins/labels.less +12 -12
  157. package/src/bootstrap/less/mixins/list-group.less +30 -30
  158. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  159. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  160. package/src/bootstrap/less/mixins/opacity.less +8 -8
  161. package/src/bootstrap/less/mixins/pagination.less +24 -24
  162. package/src/bootstrap/less/mixins/panels.less +24 -24
  163. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  164. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  165. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  166. package/src/bootstrap/less/mixins/resize.less +6 -6
  167. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  168. package/src/bootstrap/less/mixins/size.less +10 -10
  169. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  170. package/src/bootstrap/less/mixins/table-row.less +44 -44
  171. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  172. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  173. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  174. package/src/bootstrap/less/mixins.less +40 -40
  175. package/src/bootstrap/less/modals.less +151 -151
  176. package/src/bootstrap/less/navbar.less +660 -660
  177. package/src/bootstrap/less/normalize.less +424 -424
  178. package/src/bootstrap/less/pager.less +76 -76
  179. package/src/bootstrap/less/pagination.less +89 -89
  180. package/src/bootstrap/less/panels.less +275 -275
  181. package/src/bootstrap/less/popovers.less +131 -131
  182. package/src/bootstrap/less/print.less +101 -101
  183. package/src/bootstrap/less/progress-bars.less +87 -87
  184. package/src/bootstrap/less/responsive-embed.less +35 -35
  185. package/src/bootstrap/less/responsive-utilities.less +194 -194
  186. package/src/bootstrap/less/scaffolding.less +161 -161
  187. package/src/bootstrap/less/theme.less +291 -291
  188. package/src/bootstrap/less/thumbnails.less +36 -36
  189. package/src/bootstrap/less/tooltip.less +102 -102
  190. package/src/bootstrap/less/type.less +303 -303
  191. package/src/bootstrap/less/utilities.less +55 -55
  192. package/src/bootstrap/less/wells.less +29 -29
  193. package/src/components/FileUpload.vue +696 -696
  194. package/src/components/Hello.vue +39 -39
  195. package/src/components/LeftTree.vue +27 -27
  196. package/src/components/Util/ImgSelfSafePlus.vue +218 -218
  197. package/src/components/android/AddGas.vue +147 -147
  198. package/src/components/android/AddressList.vue +61 -61
  199. package/src/components/android/AttendanceTally.vue +116 -116
  200. package/src/components/android/Blank.vue +10 -10
  201. package/src/components/android/CheckUnplanPage.vue +56 -56
  202. package/src/components/android/Checker.vue +12 -12
  203. package/src/components/android/CheckerAnnual.vue +81 -81
  204. package/src/components/android/CheckerAvarta.vue +82 -82
  205. package/src/components/android/CheckerMonthly.vue +84 -84
  206. package/src/components/android/EquipmentInspection.vue +348 -348
  207. package/src/components/android/FootprintMap.vue +120 -120
  208. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  209. package/src/components/android/LcheckUnplan.vue +108 -108
  210. package/src/components/android/MasterMain.vue +77 -77
  211. package/src/components/android/Menu.vue +132 -132
  212. package/src/components/android/NavBottom.vue +157 -157
  213. package/src/components/android/PaperAlarm.vue +85 -85
  214. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  215. package/src/components/android/PlumberAnnual.vue +83 -83
  216. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  217. package/src/components/android/PlumberMonthly.vue +84 -84
  218. package/src/components/android/PostMap.vue +83 -83
  219. package/src/components/android/QueryCheckHistory.vue +122 -122
  220. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  221. package/src/components/android/RepairMain.vue +60 -60
  222. package/src/components/android/Repairman.vue +12 -12
  223. package/src/components/android/StationMaster.vue +12 -12
  224. package/src/components/checkerphonestate/Checker.vue +32 -32
  225. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  226. package/src/components/defects/AddDefectModal.vue +120 -120
  227. package/src/components/defects/AddDevice.vue +95 -95
  228. package/src/components/defects/DefectModal.vue +101 -101
  229. package/src/components/defects/DevicesAndItem.vue +39 -39
  230. package/src/components/defects/DevicesSeting.vue +106 -106
  231. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  232. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  233. package/src/components/metterfiles/MetterFiles.vue +104 -104
  234. package/src/components/notice/NoticeForm.vue +100 -100
  235. package/src/components/notice/NoticeIssue.vue +20 -20
  236. package/src/components/notice/NoticeQuery.vue +76 -76
  237. package/src/components/paper/PicViewer.vue +18 -18
  238. package/src/components/paper/RepairVerifyForm.vue +76 -76
  239. package/src/components/pc/NewCheckpaper.vue +1943 -1940
  240. package/src/components/phonestate/DailyTraffic.vue +57 -57
  241. package/src/components/phonestate/LastKnownState.vue +74 -74
  242. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  243. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  244. package/src/components/phonestate/PostMap.vue +82 -82
  245. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  246. package/src/components/task/RepairAnnual.vue +79 -79
  247. package/src/components/task/RepairAnnualDetail.vue +49 -49
  248. package/src/components/task/RepairMonthly.vue +91 -91
  249. package/src/components/task/TaskAnnual.vue +77 -77
  250. package/src/components/task/TaskAnnualDetail.vue +47 -47
  251. package/src/components/task/TaskMonthly.vue +89 -89
  252. package/src/components/userfile/MeterFile.vue +145 -145
  253. package/src/components/userfile/MeterModify.vue +46 -46
  254. package/src/components/userfile/UserfileChange.vue +277 -277
  255. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  256. package/src/filiale/bayan/android/SafecheckOrderV.vue +2866 -2855
  257. package/src/filiale/bayan/android/SafecheckUserInfo.vue +863 -863
  258. package/src/main.js +33 -33
  259. package/src/plugins/LoadData.js +10 -10
  260. package/src/plugins/LoadParams.js +24 -24
  261. package/src/stores/wxconfig.js +10 -10
  262. package/src/utils/getNowDate.js +33 -33
  263. package/test/e2e/custom-assertions/elementCount.js +26 -26
  264. package/test/e2e/nightwatch.conf.js +40 -40
  265. package/test/e2e/runner.js +30 -30
  266. package/test/e2e/specs/test.js +13 -13
  267. package/test/unit/.eslintrc +5 -5
  268. package/test/unit/TestUtil.js +62 -62
  269. package/test/unit/context.html +20 -20
  270. package/test/unit/index.js +13 -13
@@ -1,57 +1,57 @@
1
- <template>
2
- <div>
3
- <div class="auto">
4
- <label>{{f_user_name}}日流量列表</label>
5
- <button type="button" class="btn btn-default" @click="this.$back('asd')">&lt;&lt;</button>
6
- </div>
7
- <data-grid :model="model" partial='list' v-ref:grid>
8
- <template partial='head'>
9
- <tr>
10
- <th>日期</th>
11
- <th>流量Mb</th>
12
- </tr>
13
- </template>
14
- <template partial='body'>
15
- <td>{{row.f_datetime}}</td>
16
- <td>{{row.f_traffic}}</td>
17
- </template>
18
- </data-grid>
19
- </criteria-paged>
20
- </div>
21
- </template>
22
-
23
- <script>
24
- import { PagedList } from 'vue-client'
25
- import * as Util from '../Util'
26
- import co from 'co'
27
-
28
- let fetchDailyTrafficList = function * (self) {
29
- let result = yield self.$post('rs/sql/日流量明细?pageNo=1&pageSize=9999', {
30
- data: {
31
- f_userinfoid: self.f_userinfoid,
32
- f_user_name: self.f_user_name,
33
- f_ym: self.f_ym
34
- }
35
- }, {
36
- resolveMsg: null,
37
- rejectMsg: '提取任务出错'
38
- })
39
- self.$set("model.rows", result.data)
40
- }
41
-
42
- export default {
43
- title: '日流量明细',
44
- props: ['f_userinfoid', 'f_user_name', 'f_ym'],
45
- data() {
46
- return {
47
- model: {
48
- rows: []
49
- }
50
- }
51
- },
52
- ready () {
53
- let fp = fetchDailyTrafficList(this)
54
- co(fp)
55
- }
56
- }
57
- </script>
1
+ <template>
2
+ <div>
3
+ <div class="auto">
4
+ <label>{{f_user_name}}日流量列表</label>
5
+ <button type="button" class="btn btn-default" @click="this.$back('asd')">&lt;&lt;</button>
6
+ </div>
7
+ <data-grid :model="model" partial='list' v-ref:grid>
8
+ <template partial='head'>
9
+ <tr>
10
+ <th>日期</th>
11
+ <th>流量Mb</th>
12
+ </tr>
13
+ </template>
14
+ <template partial='body'>
15
+ <td>{{row.f_datetime}}</td>
16
+ <td>{{row.f_traffic}}</td>
17
+ </template>
18
+ </data-grid>
19
+ </criteria-paged>
20
+ </div>
21
+ </template>
22
+
23
+ <script>
24
+ import { PagedList } from 'vue-client'
25
+ import * as Util from '../Util'
26
+ import co from 'co'
27
+
28
+ let fetchDailyTrafficList = function * (self) {
29
+ let result = yield self.$post('rs/sql/日流量明细?pageNo=1&pageSize=9999', {
30
+ data: {
31
+ f_userinfoid: self.f_userinfoid,
32
+ f_user_name: self.f_user_name,
33
+ f_ym: self.f_ym
34
+ }
35
+ }, {
36
+ resolveMsg: null,
37
+ rejectMsg: '提取任务出错'
38
+ })
39
+ self.$set("model.rows", result.data)
40
+ }
41
+
42
+ export default {
43
+ title: '日流量明细',
44
+ props: ['f_userinfoid', 'f_user_name', 'f_ym'],
45
+ data() {
46
+ return {
47
+ model: {
48
+ rows: []
49
+ }
50
+ }
51
+ },
52
+ ready () {
53
+ let fp = fetchDailyTrafficList(this)
54
+ co(fp)
55
+ }
56
+ }
57
+ </script>
@@ -1,74 +1,74 @@
1
- <template>
2
- <div>
3
- <criteria-paged :model="model" v-ref:paged>
4
- <criteria partial='criteria' @condition-changed='search'>
5
- <div novalidate class="form-inline auto" partial>
6
- <button class="btn btn-default" @click="search()">刷新</button>
7
- <button type="button" class="btn btn-default" @click="$parent.$parent.lastKnownPos">位置地图&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-map-marker"></span></button>
8
- <div class="form-group">
9
- 部门:
10
- <chooser :userid.sync='$parent.$parent.f.id' resource-type="organization" :width='200' :select-data.sync='$parent.$parent.model.chosenOrg'></chooser>
11
- </div>
12
- {{$parent.$parent.model.chosenOrg.fullname}}
13
- </div>
14
- </criteria>
15
- <data-grid :model="model" partial='list' v-ref:grid>
16
- <template partial='head'>
17
- <tr>
18
- <th>时间</th>
19
- <th>手机使用者</th>
20
- <th>手机串码</th>
21
- <th>经度</th>
22
- <th>纬度</th>
23
- <th>海拔(米)</th>
24
- <th>电量%</th>
25
- <th>信号强度</th>
26
- <th>剩余空间M</th>
27
- <th>流量Kb</th>
28
- </tr>
29
- </template>
30
- <template partial='body'>
31
- <td>{{row.f_datetime}}</td>
32
- <td v-on:click.stop.prevent='$parent.$parent.$parent.footprint(row)'>{{row.f_user_name}}&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-option-horizontal"></span></td>
33
- <td>{{row.f_sn}}</td>
34
- <td>{{row.f_longitude}}</td>
35
- <td>{{row.f_latitude}}</td>
36
- <td>{{row.f_altitude}}</td>
37
- <td>{{row.f_battery_level}}</td>
38
- <td>{{row.f_signal_strength}}</td>
39
- <td>{{row.f_internal_quote}}</td>
40
- <td>{{row.f_traffic/1000}}</td>
41
- </template>
42
- </data-grid>
43
- </criteria-paged>
44
- </div>
45
- </template>
46
-
47
- <script>
48
- import { PagedList } from 'vue-client'
49
-
50
- export default {
51
- title: '足迹及手机状态监控',
52
- props: ['f'],
53
- data () {
54
- let model = new PagedList('rs/sql/最后在线位置及状态', 20, {f_loggedOnUserId: 'this.f_loggedOnUserId', f_loggedOnOrgId: 'this.chosenOrg.id'})
55
- model.chosenOrg = {id:0}
56
- return {
57
- model: model
58
- }
59
- },
60
- methods: {
61
- lastKnownPos () {
62
- this.$goto('post-map', {lonlats: this.model.rows}, 'self')
63
- },
64
- footprint (row) {
65
- this.$goto('footprint-map', {f_userinfoid: row.f_userinfoid, f_user_name: row.f_user_name}, 'self')
66
- }
67
- },
68
- ready () {
69
- this.model.f_loggedOnUserId = this.f.id
70
- this.model.chosenOrg.id = this.f.parent.id
71
- this.model.search()
72
- }
73
- }
74
- </script>
1
+ <template>
2
+ <div>
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='search'>
5
+ <div novalidate class="form-inline auto" partial>
6
+ <button class="btn btn-default" @click="search()">刷新</button>
7
+ <button type="button" class="btn btn-default" @click="$parent.$parent.lastKnownPos">位置地图&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-map-marker"></span></button>
8
+ <div class="form-group">
9
+ 部门:
10
+ <chooser :userid.sync='$parent.$parent.f.id' resource-type="organization" :width='200' :select-data.sync='$parent.$parent.model.chosenOrg'></chooser>
11
+ </div>
12
+ {{$parent.$parent.model.chosenOrg.fullname}}
13
+ </div>
14
+ </criteria>
15
+ <data-grid :model="model" partial='list' v-ref:grid>
16
+ <template partial='head'>
17
+ <tr>
18
+ <th>时间</th>
19
+ <th>手机使用者</th>
20
+ <th>手机串码</th>
21
+ <th>经度</th>
22
+ <th>纬度</th>
23
+ <th>海拔(米)</th>
24
+ <th>电量%</th>
25
+ <th>信号强度</th>
26
+ <th>剩余空间M</th>
27
+ <th>流量Kb</th>
28
+ </tr>
29
+ </template>
30
+ <template partial='body'>
31
+ <td>{{row.f_datetime}}</td>
32
+ <td v-on:click.stop.prevent='$parent.$parent.$parent.footprint(row)'>{{row.f_user_name}}&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-option-horizontal"></span></td>
33
+ <td>{{row.f_sn}}</td>
34
+ <td>{{row.f_longitude}}</td>
35
+ <td>{{row.f_latitude}}</td>
36
+ <td>{{row.f_altitude}}</td>
37
+ <td>{{row.f_battery_level}}</td>
38
+ <td>{{row.f_signal_strength}}</td>
39
+ <td>{{row.f_internal_quote}}</td>
40
+ <td>{{row.f_traffic/1000}}</td>
41
+ </template>
42
+ </data-grid>
43
+ </criteria-paged>
44
+ </div>
45
+ </template>
46
+
47
+ <script>
48
+ import { PagedList } from 'vue-client'
49
+
50
+ export default {
51
+ title: '足迹及手机状态监控',
52
+ props: ['f'],
53
+ data () {
54
+ let model = new PagedList('rs/sql/最后在线位置及状态', 20, {f_loggedOnUserId: 'this.f_loggedOnUserId', f_loggedOnOrgId: 'this.chosenOrg.id'})
55
+ model.chosenOrg = {id:0}
56
+ return {
57
+ model: model
58
+ }
59
+ },
60
+ methods: {
61
+ lastKnownPos () {
62
+ this.$goto('post-map', {lonlats: this.model.rows}, 'self')
63
+ },
64
+ footprint (row) {
65
+ this.$goto('footprint-map', {f_userinfoid: row.f_userinfoid, f_user_name: row.f_user_name}, 'self')
66
+ }
67
+ },
68
+ ready () {
69
+ this.model.f_loggedOnUserId = this.f.id
70
+ this.model.chosenOrg.id = this.f.parent.id
71
+ this.model.search()
72
+ }
73
+ }
74
+ </script>
@@ -1,66 +1,66 @@
1
- <template>
2
- <div>
3
- <criteria-paged :model="model" v-ref:paged>
4
- <criteria partial='criteria' @condition-changed='search'>
5
- <div novalidate class="form-inline auto" partial>
6
- <div class="form-group">
7
- <label class="col-sm-12 control-label">选择年月:</label>
8
- <div class="col-sm-12">
9
- <datepicker placeholder="请选择年月"
10
- :value.sync="$parent.$parent.model.f_ym"
11
- :disabled-days-of-Week="[]"
12
- :format="'yyyy-MM'">
13
- </datepicker>
14
- <button class="btn btn-default" @click="search()">查询</button>
15
- <div class="form-group">
16
- 部门:
17
- <chooser :userid.sync='$parent.$parent.f.id' resource-type="organization" :width='200' :select-data.sync='$parent.$parent.model.chosenOrg'></chooser>
18
- </div>
19
- {{$parent.$parent.model.chosenOrg.fullname}}
20
- </div>
21
- </div>
22
- </div>
23
- </criteria>
24
- <data-grid :model="model" partial='list' v-ref:grid>
25
- <template partial='head'>
26
- <tr>
27
- <th>手机使用者</th>
28
- <th>流量Mb</th>
29
- </tr>
30
- </template>
31
- <template partial='body'>
32
- <td v-on:click.stop.prevent='$parent.$parent.$parent.dailyTraffic(row)'>{{row.f_user_name}}&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-option-horizontal"></span></td>
33
- <td>{{row.f_traffic}}</td>
34
- </template>
35
- </data-grid>
36
- </criteria-paged>
37
- </div>
38
- </template>
39
-
40
- <script>
41
- import { PagedList } from 'vue-client'
42
- import * as Util from '../Util'
43
-
44
- export default {
45
- title: '月流量统计',
46
- props: ['f'],
47
- data () {
48
- let model = new PagedList('rs/rcq/月度流量统计', 20, {f_loggedOnUserId: 'this.f_loggedOnUserId', f_loggedOnOrgId: 'this.chosenOrg.id', f_ym: 'this.f_ym'})
49
- model.f_ym = Util.toStandardYearMonth()
50
- model.chosenOrg = {id:0}
51
- return {
52
- model: model,
53
- }
54
- },
55
- methods: {
56
- dailyTraffic (row) {
57
- this.$goto('daily-traffic', {f_userinfoid: row.f_userinfoid, f_user_name: row.f_user_name, f_ym: this.model.f_ym}, 'self')
58
- }
59
- },
60
- ready () {
61
- this.model.f_loggedOnUserId = this.f.id
62
- this.model.chosenOrg.id = this.f.parent.id
63
- this.model.search()
64
- }
65
- }
66
- </script>
1
+ <template>
2
+ <div>
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='search'>
5
+ <div novalidate class="form-inline auto" partial>
6
+ <div class="form-group">
7
+ <label class="col-sm-12 control-label">选择年月:</label>
8
+ <div class="col-sm-12">
9
+ <datepicker placeholder="请选择年月"
10
+ :value.sync="$parent.$parent.model.f_ym"
11
+ :disabled-days-of-Week="[]"
12
+ :format="'yyyy-MM'">
13
+ </datepicker>
14
+ <button class="btn btn-default" @click="search()">查询</button>
15
+ <div class="form-group">
16
+ 部门:
17
+ <chooser :userid.sync='$parent.$parent.f.id' resource-type="organization" :width='200' :select-data.sync='$parent.$parent.model.chosenOrg'></chooser>
18
+ </div>
19
+ {{$parent.$parent.model.chosenOrg.fullname}}
20
+ </div>
21
+ </div>
22
+ </div>
23
+ </criteria>
24
+ <data-grid :model="model" partial='list' v-ref:grid>
25
+ <template partial='head'>
26
+ <tr>
27
+ <th>手机使用者</th>
28
+ <th>流量Mb</th>
29
+ </tr>
30
+ </template>
31
+ <template partial='body'>
32
+ <td v-on:click.stop.prevent='$parent.$parent.$parent.dailyTraffic(row)'>{{row.f_user_name}}&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-option-horizontal"></span></td>
33
+ <td>{{row.f_traffic}}</td>
34
+ </template>
35
+ </data-grid>
36
+ </criteria-paged>
37
+ </div>
38
+ </template>
39
+
40
+ <script>
41
+ import { PagedList } from 'vue-client'
42
+ import * as Util from '../Util'
43
+
44
+ export default {
45
+ title: '月流量统计',
46
+ props: ['f'],
47
+ data () {
48
+ let model = new PagedList('rs/rcq/月度流量统计', 20, {f_loggedOnUserId: 'this.f_loggedOnUserId', f_loggedOnOrgId: 'this.chosenOrg.id', f_ym: 'this.f_ym'})
49
+ model.f_ym = Util.toStandardYearMonth()
50
+ model.chosenOrg = {id:0}
51
+ return {
52
+ model: model,
53
+ }
54
+ },
55
+ methods: {
56
+ dailyTraffic (row) {
57
+ this.$goto('daily-traffic', {f_userinfoid: row.f_userinfoid, f_user_name: row.f_user_name, f_ym: this.model.f_ym}, 'self')
58
+ }
59
+ },
60
+ ready () {
61
+ this.model.f_loggedOnUserId = this.f.id
62
+ this.model.chosenOrg.id = this.f.parent.id
63
+ this.model.search()
64
+ }
65
+ }
66
+ </script>
@@ -1,15 +1,15 @@
1
- <template>
2
- <div>
3
- <route :comp="{name: 'void-page'}" name="traffic-router"></route>
4
- </div>
5
- </template>
6
-
7
- <script>
8
- export default {
9
- title: '月流量统计',
10
- props: ['f'],
11
- ready () {
12
- this.$goto('monthly-traffic-list', {f: this.f}, 'self')
13
- }
14
- }
15
- </script>
1
+ <template>
2
+ <div>
3
+ <route :comp="{name: 'void-page'}" name="traffic-router"></route>
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ title: '月流量统计',
10
+ props: ['f'],
11
+ ready () {
12
+ this.$goto('monthly-traffic-list', {f: this.f}, 'self')
13
+ }
14
+ }
15
+ </script>
@@ -1,82 +1,82 @@
1
- <template>
2
- <div class="auto">
3
- <button type="button" class="btn btn-default" @click="this.$back('ass')">&lt;&lt;</button>
4
- <div id="allmap2" :style="mapStyle"></div>
5
- </div>
6
- </template>
7
-
8
- <script>
9
- // because of some weired behavior of baidu map, logic cant be extracted out and factored into a map component
10
-
11
- import Vue from 'vue'
12
-
13
- export default {
14
- title: '岗位图',
15
- props: ['lonlats'],
16
- data () {
17
- return {
18
- mapStyle: {
19
- width: (this.$parent.$el.clientWidth -30) + 'px',
20
- height: (this.$parent.$el.clientHeight - 80) + 'px'
21
- },
22
- markers : []
23
- }
24
- },
25
- ready () {
26
- this.lonlats.filter((item) => {
27
- return item.f_longitude != 0 && item.f_latitude != 0
28
- }).forEach((item) => {
29
- this.markers.push({
30
- longitude: item.f_longitude,
31
- latitude: item.f_latitude,
32
- hint: item.f_user_name + '[' + item.f_datetime + ']'
33
- })
34
- })
35
- if(Vue.mapLoaded) {
36
- this.render()
37
- } else {
38
- window.__mapCallback__ = this.mapCallback
39
- let element = document.createElement('script')
40
- element.setAttribute("type","text/javascript")
41
- element.setAttribute("src", 'http://api.map.baidu.com/api?v=2.0&ak=CAErfbr2DatVA6rHdoUELPynrdPh9A6S&callback=__mapCallback__')
42
- document.body.appendChild(element)
43
- }
44
- },
45
- methods: {
46
- mapCallback () {
47
- Vue.mapLoaded = true
48
- this.render()
49
- },
50
- patch () {
51
- let a = document.getElementById('allmap2').getElementsByClassName('BMap_cpyCtrl BMap_noprint anchorBL')
52
- if(a.length != 0) {
53
- a[0].style.height = 'auto'
54
- } else {
55
- window.setTimeout(this.patch, 500)
56
- }
57
- },
58
- render () {
59
- window.map = new BMap.Map("allmap2")
60
- window.map.clearOverlays();
61
- if(this.markers.length == 0)
62
- window.map.centerAndZoom(new BMap.Point(116.404, 39.915), 11)
63
- else
64
- window.map.centerAndZoom(new BMap.Point(this.markers[0].longitude, this.markers[0].latitude), 11)
65
- window.map.addControl(new BMap.NavigationControl())
66
- this.markers.forEach(function(pos) {
67
- var point = new BMap.Point(pos.longitude,pos.latitude)
68
- var marker = new BMap.Marker(point) // 创建标注
69
- var label = new BMap.Label(pos.hint, {offset: new BMap.Size(20, 0)})
70
- marker.setLabel(label)
71
- label.setStyle({ border : '0px', padding: '0px'})
72
- window.map.addOverlay(marker) // 将标注添加到地图中
73
- // var infoWindow = new BMap.InfoWindow(pos.hint) // 创建信息窗口对象
74
- // marker.addEventListener("click", function(){
75
- // window.map.openInfoWindow(infoWindow,point) //开启信息窗口
76
- // })
77
- })
78
- this.patch()
79
- }
80
- }
81
- }
82
- </script>
1
+ <template>
2
+ <div class="auto">
3
+ <button type="button" class="btn btn-default" @click="this.$back('ass')">&lt;&lt;</button>
4
+ <div id="allmap2" :style="mapStyle"></div>
5
+ </div>
6
+ </template>
7
+
8
+ <script>
9
+ // because of some weired behavior of baidu map, logic cant be extracted out and factored into a map component
10
+
11
+ import Vue from 'vue'
12
+
13
+ export default {
14
+ title: '岗位图',
15
+ props: ['lonlats'],
16
+ data () {
17
+ return {
18
+ mapStyle: {
19
+ width: (this.$parent.$el.clientWidth -30) + 'px',
20
+ height: (this.$parent.$el.clientHeight - 80) + 'px'
21
+ },
22
+ markers : []
23
+ }
24
+ },
25
+ ready () {
26
+ this.lonlats.filter((item) => {
27
+ return item.f_longitude != 0 && item.f_latitude != 0
28
+ }).forEach((item) => {
29
+ this.markers.push({
30
+ longitude: item.f_longitude,
31
+ latitude: item.f_latitude,
32
+ hint: item.f_user_name + '[' + item.f_datetime + ']'
33
+ })
34
+ })
35
+ if(Vue.mapLoaded) {
36
+ this.render()
37
+ } else {
38
+ window.__mapCallback__ = this.mapCallback
39
+ let element = document.createElement('script')
40
+ element.setAttribute("type","text/javascript")
41
+ element.setAttribute("src", 'http://api.map.baidu.com/api?v=2.0&ak=CAErfbr2DatVA6rHdoUELPynrdPh9A6S&callback=__mapCallback__')
42
+ document.body.appendChild(element)
43
+ }
44
+ },
45
+ methods: {
46
+ mapCallback () {
47
+ Vue.mapLoaded = true
48
+ this.render()
49
+ },
50
+ patch () {
51
+ let a = document.getElementById('allmap2').getElementsByClassName('BMap_cpyCtrl BMap_noprint anchorBL')
52
+ if(a.length != 0) {
53
+ a[0].style.height = 'auto'
54
+ } else {
55
+ window.setTimeout(this.patch, 500)
56
+ }
57
+ },
58
+ render () {
59
+ window.map = new BMap.Map("allmap2")
60
+ window.map.clearOverlays();
61
+ if(this.markers.length == 0)
62
+ window.map.centerAndZoom(new BMap.Point(116.404, 39.915), 11)
63
+ else
64
+ window.map.centerAndZoom(new BMap.Point(this.markers[0].longitude, this.markers[0].latitude), 11)
65
+ window.map.addControl(new BMap.NavigationControl())
66
+ this.markers.forEach(function(pos) {
67
+ var point = new BMap.Point(pos.longitude,pos.latitude)
68
+ var marker = new BMap.Marker(point) // 创建标注
69
+ var label = new BMap.Label(pos.hint, {offset: new BMap.Size(20, 0)})
70
+ marker.setLabel(label)
71
+ label.setStyle({ border : '0px', padding: '0px'})
72
+ window.map.addOverlay(marker) // 将标注添加到地图中
73
+ // var infoWindow = new BMap.InfoWindow(pos.hint) // 创建信息窗口对象
74
+ // marker.addEventListener("click", function(){
75
+ // window.map.openInfoWindow(infoWindow,point) //开启信息窗口
76
+ // })
77
+ })
78
+ this.patch()
79
+ }
80
+ }
81
+ }
82
+ </script>