safecheck-client 3.0.33-143 → 3.0.33-145

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 (269) 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/android/AddGas.vue +147 -147
  197. package/src/components/android/AddressList.vue +61 -61
  198. package/src/components/android/AttendanceTally.vue +116 -116
  199. package/src/components/android/Blank.vue +10 -10
  200. package/src/components/android/CheckUnplanPage.vue +56 -56
  201. package/src/components/android/Checker.vue +12 -12
  202. package/src/components/android/CheckerAnnual.vue +81 -81
  203. package/src/components/android/CheckerAvarta.vue +82 -82
  204. package/src/components/android/CheckerMonthly.vue +84 -84
  205. package/src/components/android/EquipmentInspection.vue +348 -348
  206. package/src/components/android/FootprintMap.vue +120 -120
  207. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  208. package/src/components/android/LcheckUnplan.vue +108 -108
  209. package/src/components/android/MasterMain.vue +77 -77
  210. package/src/components/android/Menu.vue +132 -132
  211. package/src/components/android/NavBottom.vue +157 -157
  212. package/src/components/android/PaperAlarm.vue +85 -85
  213. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  214. package/src/components/android/PlumberAnnual.vue +83 -83
  215. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  216. package/src/components/android/PlumberMonthly.vue +84 -84
  217. package/src/components/android/PostMap.vue +83 -83
  218. package/src/components/android/QueryCheckHistory.vue +122 -122
  219. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  220. package/src/components/android/RepairMain.vue +60 -60
  221. package/src/components/android/Repairman.vue +12 -12
  222. package/src/components/android/StationMaster.vue +12 -12
  223. package/src/components/checkerphonestate/Checker.vue +32 -32
  224. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  225. package/src/components/defects/AddDefectModal.vue +120 -120
  226. package/src/components/defects/AddDevice.vue +95 -95
  227. package/src/components/defects/DefectModal.vue +101 -101
  228. package/src/components/defects/DevicesAndItem.vue +39 -39
  229. package/src/components/defects/DevicesSeting.vue +106 -106
  230. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  231. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  232. package/src/components/metterfiles/MetterFiles.vue +104 -104
  233. package/src/components/notice/NoticeForm.vue +100 -100
  234. package/src/components/notice/NoticeIssue.vue +20 -20
  235. package/src/components/notice/NoticeQuery.vue +76 -76
  236. package/src/components/paper/PicViewer.vue +18 -18
  237. package/src/components/paper/RepairVerifyForm.vue +76 -76
  238. package/src/components/pc/NewCheckpaper.vue +1943 -1943
  239. package/src/components/phonestate/DailyTraffic.vue +57 -57
  240. package/src/components/phonestate/LastKnownState.vue +74 -74
  241. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  242. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  243. package/src/components/phonestate/PostMap.vue +82 -82
  244. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  245. package/src/components/task/RepairAnnual.vue +79 -79
  246. package/src/components/task/RepairAnnualDetail.vue +49 -49
  247. package/src/components/task/RepairMonthly.vue +91 -91
  248. package/src/components/task/TaskAnnual.vue +77 -77
  249. package/src/components/task/TaskAnnualDetail.vue +47 -47
  250. package/src/components/task/TaskMonthly.vue +89 -89
  251. package/src/components/userfile/MeterFile.vue +145 -145
  252. package/src/components/userfile/MeterModify.vue +46 -46
  253. package/src/components/userfile/UserfileChange.vue +277 -277
  254. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  255. package/src/filiale/bayan/android/SafecheckOrderV.vue +2866 -2866
  256. package/src/filiale/bayan/android/SafecheckUserInfo.vue +863 -863
  257. package/src/main.js +33 -33
  258. package/src/plugins/LoadData.js +10 -10
  259. package/src/plugins/LoadParams.js +24 -24
  260. package/src/stores/wxconfig.js +10 -10
  261. package/src/utils/getNowDate.js +33 -33
  262. package/test/e2e/custom-assertions/elementCount.js +26 -26
  263. package/test/e2e/nightwatch.conf.js +40 -40
  264. package/test/e2e/runner.js +30 -30
  265. package/test/e2e/specs/test.js +13 -13
  266. package/test/unit/.eslintrc +5 -5
  267. package/test/unit/TestUtil.js +62 -62
  268. package/test/unit/context.html +20 -20
  269. 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>