safecheck-client 3.0.39-2 → 3.0.39-20

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 (273) 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 +6 -6
  46. package/publish.bat +7 -7
  47. package/release.bat +5 -5
  48. package/src/App.vue +26 -26
  49. package/src/Widget.vue +13 -13
  50. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  51. package/src/android-bootstrap/less/.csscomb.json +304 -304
  52. package/src/android-bootstrap/less/.csslintrc +19 -19
  53. package/src/android-bootstrap/less/alerts.less +73 -73
  54. package/src/android-bootstrap/less/badges.less +66 -66
  55. package/src/android-bootstrap/less/bootstrap.less +56 -56
  56. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  57. package/src/android-bootstrap/less/button-groups.less +247 -247
  58. package/src/android-bootstrap/less/buttons.less +173 -173
  59. package/src/android-bootstrap/less/carousel.less +269 -269
  60. package/src/android-bootstrap/less/close.less +34 -34
  61. package/src/android-bootstrap/less/code.less +69 -69
  62. package/src/android-bootstrap/less/component-animations.less +33 -33
  63. package/src/android-bootstrap/less/grid.less +84 -84
  64. package/src/android-bootstrap/less/input-groups.less +167 -167
  65. package/src/android-bootstrap/less/jumbotron.less +52 -52
  66. package/src/android-bootstrap/less/labels.less +64 -64
  67. package/src/android-bootstrap/less/list-group.less +141 -141
  68. package/src/android-bootstrap/less/media.less +66 -66
  69. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  70. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  71. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  72. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  73. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  74. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  75. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  76. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  77. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  78. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  79. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  80. package/src/android-bootstrap/less/mixins/image.less +33 -33
  81. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  82. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  83. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  84. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  85. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  86. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  87. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  88. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  89. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  90. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  91. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  92. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  93. package/src/android-bootstrap/less/mixins/size.less +10 -10
  94. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  95. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  96. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  97. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  98. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  99. package/src/android-bootstrap/less/mixins.less +40 -40
  100. package/src/android-bootstrap/less/modals.less +151 -151
  101. package/src/android-bootstrap/less/navbar.less +660 -660
  102. package/src/android-bootstrap/less/navs.less +290 -290
  103. package/src/android-bootstrap/less/normalize.less +424 -424
  104. package/src/android-bootstrap/less/pager.less +76 -76
  105. package/src/android-bootstrap/less/pagination.less +89 -89
  106. package/src/android-bootstrap/less/panels.less +274 -274
  107. package/src/android-bootstrap/less/popovers.less +131 -131
  108. package/src/android-bootstrap/less/print.less +101 -101
  109. package/src/android-bootstrap/less/progress-bars.less +87 -87
  110. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  111. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  112. package/src/android-bootstrap/less/scaffolding.less +161 -161
  113. package/src/android-bootstrap/less/tables.less +262 -262
  114. package/src/android-bootstrap/less/theme.less +291 -291
  115. package/src/android-bootstrap/less/thumbnails.less +36 -36
  116. package/src/android-bootstrap/less/tooltip.less +102 -102
  117. package/src/android-bootstrap/less/type.less +303 -303
  118. package/src/android-bootstrap/less/utilities.less +55 -55
  119. package/src/android-bootstrap/less/variables.less +896 -896
  120. package/src/android-bootstrap/less/wells.less +29 -29
  121. package/src/assets//345/256/232/344/275/215.png +0 -0
  122. package/src/bootstrap/less/.csscomb.json +304 -304
  123. package/src/bootstrap/less/.csslintrc +19 -19
  124. package/src/bootstrap/less/alerts.less +73 -73
  125. package/src/bootstrap/less/badges.less +66 -66
  126. package/src/bootstrap/less/breadcrumbs.less +26 -26
  127. package/src/bootstrap/less/button-groups.less +247 -247
  128. package/src/bootstrap/less/buttons.less +172 -172
  129. package/src/bootstrap/less/carousel.less +269 -269
  130. package/src/bootstrap/less/close.less +34 -34
  131. package/src/bootstrap/less/code.less +69 -69
  132. package/src/bootstrap/less/component-animations.less +33 -33
  133. package/src/bootstrap/less/dropdowns.less +216 -216
  134. package/src/bootstrap/less/grid.less +84 -84
  135. package/src/bootstrap/less/input-groups.less +167 -167
  136. package/src/bootstrap/less/jumbotron.less +52 -52
  137. package/src/bootstrap/less/labels.less +64 -64
  138. package/src/bootstrap/less/list-group.less +141 -141
  139. package/src/bootstrap/less/media.less +66 -66
  140. package/src/bootstrap/less/mixins/alerts.less +14 -14
  141. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  142. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  143. package/src/bootstrap/less/mixins/buttons.less +69 -69
  144. package/src/bootstrap/less/mixins/center-block.less +7 -7
  145. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  146. package/src/bootstrap/less/mixins/forms.less +90 -90
  147. package/src/bootstrap/less/mixins/gradients.less +59 -59
  148. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  149. package/src/bootstrap/less/mixins/grid.less +122 -122
  150. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  151. package/src/bootstrap/less/mixins/image.less +33 -33
  152. package/src/bootstrap/less/mixins/labels.less +12 -12
  153. package/src/bootstrap/less/mixins/list-group.less +30 -30
  154. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  155. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  156. package/src/bootstrap/less/mixins/opacity.less +8 -8
  157. package/src/bootstrap/less/mixins/pagination.less +24 -24
  158. package/src/bootstrap/less/mixins/panels.less +24 -24
  159. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  160. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  161. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  162. package/src/bootstrap/less/mixins/resize.less +6 -6
  163. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  164. package/src/bootstrap/less/mixins/size.less +10 -10
  165. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  166. package/src/bootstrap/less/mixins/table-row.less +44 -44
  167. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  168. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  169. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  170. package/src/bootstrap/less/mixins.less +40 -40
  171. package/src/bootstrap/less/modals.less +151 -151
  172. package/src/bootstrap/less/navbar.less +660 -660
  173. package/src/bootstrap/less/normalize.less +424 -424
  174. package/src/bootstrap/less/pagination.less +89 -89
  175. package/src/bootstrap/less/panels.less +275 -275
  176. package/src/bootstrap/less/popovers.less +131 -131
  177. package/src/bootstrap/less/print.less +101 -101
  178. package/src/bootstrap/less/progress-bars.less +87 -87
  179. package/src/bootstrap/less/responsive-embed.less +35 -35
  180. package/src/bootstrap/less/responsive-utilities.less +194 -194
  181. package/src/bootstrap/less/scaffolding.less +161 -161
  182. package/src/bootstrap/less/theme.less +291 -291
  183. package/src/bootstrap/less/thumbnails.less +36 -36
  184. package/src/bootstrap/less/tooltip.less +102 -102
  185. package/src/bootstrap/less/type.less +303 -303
  186. package/src/bootstrap/less/utilities.less +55 -55
  187. package/src/bootstrap/less/wells.less +29 -29
  188. package/src/components/FileUpload.vue +696 -696
  189. package/src/components/Hello.vue +39 -39
  190. package/src/components/LeftTree.vue +27 -27
  191. package/src/components/android/AndroidDefectDeal.vue +634 -634
  192. package/src/components/android/AreaPlan.vue +567 -567
  193. package/src/components/android/AttendanceTally.vue +116 -116
  194. package/src/components/android/Blank.vue +10 -10
  195. package/src/components/android/CheckUnplanPage.vue +56 -56
  196. package/src/components/android/Checker.vue +12 -12
  197. package/src/components/android/CheckerAnnual.vue +81 -81
  198. package/src/components/android/CheckerAvarta.vue +82 -82
  199. package/src/components/android/EquipmentInspection.vue +348 -348
  200. package/src/components/android/FootprintMap.vue +120 -120
  201. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  202. package/src/components/android/MasterMain.vue +77 -77
  203. package/src/components/android/Menu.vue +132 -132
  204. package/src/components/android/PaperAlarm.vue +85 -85
  205. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  206. package/src/components/android/PlumberAnnual.vue +83 -83
  207. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  208. package/src/components/android/PlumberMonthly.vue +84 -84
  209. package/src/components/android/PostMap.vue +83 -83
  210. package/src/components/android/QueryCheckHistory.vue +122 -122
  211. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  212. package/src/components/android/RepairMain.vue +60 -60
  213. package/src/components/android/Repairman.vue +12 -12
  214. package/src/components/android/SafecheckOrderV.vue +1 -1
  215. package/src/components/android/StationMaster.vue +12 -12
  216. package/src/components/defects/DefectModal.vue +101 -101
  217. package/src/components/defects/DevicesAndItem.vue +39 -39
  218. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  219. package/src/components/notice/NoticeForm.vue +100 -100
  220. package/src/components/notice/NoticeIssue.vue +20 -20
  221. package/src/components/paper/PicViewer.vue +18 -18
  222. package/src/components/pc/SafeCheckOrder/SafeCheckOrderList.vue +34 -0
  223. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  224. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  225. package/src/components/phonestate/PostMap.vue +82 -82
  226. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  227. package/src/components/userfile/MeterFile.vue +145 -145
  228. package/src/components/userfile/MeterModify.vue +46 -46
  229. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  230. package/src/filiale/bayan/pc/NewCheckpaper.vue +2 -2
  231. package/src/filiale/dexin/android/AreaPlan.vue +567 -567
  232. package/src/filiale/dexin/android.js +21 -21
  233. package/src/filiale/hanzhong/pc/CheckHiddenDanger.vue +2 -2
  234. package/src/filiale/hanzhong/pc/CheckNumberStatistics.vue +1 -1
  235. package/src/filiale/hanzhong/pc/CheckSafeDetail.vue +6 -1
  236. package/src/filiale/hanzhong/pc/CheckSafeStatus.vue +1 -1
  237. package/src/filiale/hanzhong/pc/CheckerSafeDetail.vue +1 -1
  238. package/src/filiale/jinhuang/android/AddPlanItem.vue +430 -0
  239. package/src/filiale/jinhuang/android.js +15 -14
  240. package/src/filiale/kelai/android/PaperFeedback.vue +1384 -1370
  241. package/src/filiale/kelai/pc/UserInfoAudit.vue +126 -90
  242. package/src/filiale/qingjian/android/PhoneUpUserinfo.vue +104 -38
  243. package/src/filiale/qingjian/android/SafecheckOrderV.vue +3 -0
  244. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +42 -19
  245. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1 -0
  246. package/src/filiale/siyang/android/SafecheckDevices.vue +1 -1
  247. package/src/filiale/siyang/android/SafecheckUserInfo.vue +8 -2
  248. package/src/filiale/tongchuan/pc/AMapTrailShowZk.vue +226 -0
  249. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +47 -1
  250. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +46 -0
  251. package/src/filiale/tongchuan/pc/NoCheckplanSafecheck.vue +34 -0
  252. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +34 -0
  253. package/src/filiale/tongchuan/pc/PaperList.vue +44 -10
  254. package/src/filiale/tongchuan/pc/PersonTrack.vue +269 -0
  255. package/src/filiale/tongchuan/pc/SelectCheckPlan.vue +42 -2
  256. package/src/filiale/tongchuan/pc.js +2 -0
  257. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2 -0
  258. package/src/filiale/wuan/android/SafecheckOrderV.vue +1 -0
  259. package/src/filiale/wuan/android/SafecheckUserInfo.vue +79 -16
  260. package/src/filiale/wuan/pc/NewCheckpaper.vue +16 -1
  261. package/src/main.js +33 -33
  262. package/src/plugins/LoadData.js +10 -10
  263. package/src/plugins/LoadParams.js +24 -24
  264. package/src/stores/wxconfig.js +10 -10
  265. package/src/utils/getNowDate.js +33 -33
  266. package/test/e2e/custom-assertions/elementCount.js +26 -26
  267. package/test/e2e/nightwatch.conf.js +40 -40
  268. package/test/e2e/runner.js +30 -30
  269. package/test/e2e/specs/test.js +13 -13
  270. package/test/unit/.eslintrc +5 -5
  271. package/test/unit/TestUtil.js +62 -62
  272. package/test/unit/context.html +20 -20
  273. package/test/unit/index.js +13 -13
@@ -68,6 +68,18 @@
68
68
  condition="f_userinfo_code = '{}'"
69
69
  placeholder="用户编号"/>
70
70
  </div>
71
+ <div class="col-sm-2 form-group">
72
+ <label class="font_normal_body">网&ensp;格&ensp;员</label>
73
+ <v-select class="select_list select"
74
+ placeholder='请选择' style="width: 60%"
75
+ :value.sync="model.f_book_checker" v-model="model.f_book_checker"
76
+ :options='$parent.$parent.users'
77
+ filer-key="name"
78
+ close-on-select clear-button
79
+ condition="f_book_checker like '%{}%' and f_checker_name = '{}'"
80
+ :value-single="true">
81
+ </v-select>
82
+ </div>
71
83
  </div>
72
84
  </div>
73
85
  </div>
@@ -145,6 +157,7 @@ import {HttpResetClass, PagedList} from 'vue-client'
145
157
  // f_orgids: '1522.255', //测试使用
146
158
  suggetsShow: false,
147
159
  f_suggest: '',
160
+ users:[{label: '全部', value: ''}],
148
161
 
149
162
  curorgid: [this.$login.f.orgid],
150
163
  f_orgid: '',
@@ -155,8 +168,29 @@ import {HttpResetClass, PagedList} from 'vue-client'
155
168
  ready(){
156
169
  // 默认查询待处理状态预约
157
170
  this.search()
171
+ this.initBookChecker()
158
172
  },
159
173
  methods: {
174
+ initBookChecker(){
175
+ new HttpResetClass().load('POST', '/rs/search', {
176
+ data: {
177
+ source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($网格员$) != -1)`,
178
+ userid: this.$login.f.id
179
+ }
180
+ }, {resolveMsg: null, rejectMsg: null}).then(res=>{
181
+ let data = res.data
182
+ const addedNames = new Set()
183
+ this.users = []
184
+ data.forEach(user => {
185
+ if (user.state === '在职') {
186
+ if (!addedNames.has(user.name)) {
187
+ this.users.push({ label: user.name, value: user.name })
188
+ addedNames.add(user.name)
189
+ }
190
+ }
191
+ });
192
+ })
193
+ },
160
194
  getPcds(val) {
161
195
  this.pcds = [{label: '全部', value: ''}]
162
196
  new HttpResetClass().load("POST", `/rs/sql/safe_singleTable_OrderBy`,
@@ -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>
@@ -1,59 +1,59 @@
1
- <template>
2
- <div style="height: 100%;width: 100%;padding:10px 0px 10px 0px;">
3
- <div class="auto">
4
- <partial-view v-ref:pv>
5
- <div class="row" style="padding-bottom: 10px">
6
- <label class = "col-sm-4 control-label">用户姓名:</label>
7
- <span class = "col-sm-8">{{rowdata.f_user_name}}</span>
8
- </div>
9
- <div class="row" style="padding-bottom: 10px">
10
- <label class = "col-sm-4 control-label">用户地址:</label>
11
- <span class = "col-sm-8">{{rowdata.f_address}}</span>
12
- </div>
13
- <div class="row" style="padding-bottom: 10px">
14
- <label class = "col-sm-3 control-label">安检人:</label>
15
- <span class = "col-sm-3">{{rowdata.f_checker_name}}</span>
16
- <label class = "col-sm-3 control-label">安检状态:</label>
17
- <span class = "col-sm-3">{{rowdata.f_entry_status}}</span>
18
- </div>
19
- <div class="row" style="padding-bottom: 10px">
20
- <label class = "col-sm-3 control-label">入户时间:</label>
21
- <span class = "col-sm-9">{{rowdata.f_onsite_time}}</span>
22
- </div>
23
- <div class="row" style="padding-bottom: 10px">
24
- <label class = "col-sm-3 control-label">离开时间:</label>
25
- <span class = "col-sm-9">{{rowdata.f_offsite_time}}</span>
26
- </div>
27
- <div class="row" style="padding-bottom: 10px">
28
- <label class = "col-sm-3 control-label">用户评价:</label>
29
- <span class = "col-sm-3">{{rowdata.f_client_evaluation}}</span>
30
- </div>
31
- </partial-view>
32
- </div>
33
- <check-paper-items :row="rowdata"></check-paper-items>
34
- </div>
35
- </template>
36
-
37
- <script>
38
- import Vue from 'vue'
39
- import co from 'co'
40
-
41
- export default {
42
- title: '安检项信息',
43
- name: 'CheckPaperItem',
44
- props: ['row'],
45
- data () {
46
- return {
47
- rowdata: this.row
48
- }
49
- },
50
- ready () {
51
- this.rowdata = this.row
52
- },
53
- watch: {
54
- 'row' (val) {
55
- this.rowdata = val
56
- }
57
- }
58
- }
59
- </script>
1
+ <template>
2
+ <div style="height: 100%;width: 100%;padding:10px 0px 10px 0px;">
3
+ <div class="auto">
4
+ <partial-view v-ref:pv>
5
+ <div class="row" style="padding-bottom: 10px">
6
+ <label class = "col-sm-4 control-label">用户姓名:</label>
7
+ <span class = "col-sm-8">{{rowdata.f_user_name}}</span>
8
+ </div>
9
+ <div class="row" style="padding-bottom: 10px">
10
+ <label class = "col-sm-4 control-label">用户地址:</label>
11
+ <span class = "col-sm-8">{{rowdata.f_address}}</span>
12
+ </div>
13
+ <div class="row" style="padding-bottom: 10px">
14
+ <label class = "col-sm-3 control-label">安检人:</label>
15
+ <span class = "col-sm-3">{{rowdata.f_checker_name}}</span>
16
+ <label class = "col-sm-3 control-label">安检状态:</label>
17
+ <span class = "col-sm-3">{{rowdata.f_entry_status}}</span>
18
+ </div>
19
+ <div class="row" style="padding-bottom: 10px">
20
+ <label class = "col-sm-3 control-label">入户时间:</label>
21
+ <span class = "col-sm-9">{{rowdata.f_onsite_time}}</span>
22
+ </div>
23
+ <div class="row" style="padding-bottom: 10px">
24
+ <label class = "col-sm-3 control-label">离开时间:</label>
25
+ <span class = "col-sm-9">{{rowdata.f_offsite_time}}</span>
26
+ </div>
27
+ <div class="row" style="padding-bottom: 10px">
28
+ <label class = "col-sm-3 control-label">用户评价:</label>
29
+ <span class = "col-sm-3">{{rowdata.f_client_evaluation}}</span>
30
+ </div>
31
+ </partial-view>
32
+ </div>
33
+ <check-paper-items :row="rowdata"></check-paper-items>
34
+ </div>
35
+ </template>
36
+
37
+ <script>
38
+ import Vue from 'vue'
39
+ import co from 'co'
40
+
41
+ export default {
42
+ title: '安检项信息',
43
+ name: 'CheckPaperItem',
44
+ props: ['row'],
45
+ data () {
46
+ return {
47
+ rowdata: this.row
48
+ }
49
+ },
50
+ ready () {
51
+ this.rowdata = this.row
52
+ },
53
+ watch: {
54
+ 'row' (val) {
55
+ this.rowdata = val
56
+ }
57
+ }
58
+ }
59
+ </script>