safecheck-client 3.0.39-80 → 3.0.39-81

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 (281) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/android.html +18 -18
  4. package/config/dev.env.js +6 -6
  5. package/config/index.js +38 -38
  6. package/config/prod.env.js +3 -3
  7. package/config/test.env.js +6 -6
  8. package/docs/AppBase.md +22 -22
  9. package/docs/Busy.md +14 -14
  10. package/docs/CriteriaPaged.md +47 -47
  11. package/docs/DataGrid.md +54 -54
  12. package/docs/DataModel.md +22 -22
  13. package/docs/Dynamic.md +42 -42
  14. package/docs/GetParams.md +11 -11
  15. package/docs/HttpBusy.md +13 -13
  16. package/docs/HttpStore.md +29 -29
  17. package/docs/MessageBox.md +28 -28
  18. package/docs/PagedList.md +29 -29
  19. package/docs/Pager.md +21 -21
  20. package/docs/Project.md +23 -23
  21. package/docs/Route.md +105 -105
  22. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  23. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  24. package/docs/Task.md +46 -46
  25. package/docs/TreeList.md +28 -28
  26. package/docs/TreeMixin.md +18 -18
  27. package/docs/all.md +10 -10
  28. package/docs/list.md +42 -42
  29. package/docs/partial.md +75 -75
  30. package/docs/selector.md +82 -82
  31. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  32. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  33. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  34. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  35. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  36. package/examples/AddressList/App.vue +13 -13
  37. package/examples/AddressList/index.html +11 -11
  38. package/examples/DispatchList/App.vue +10 -10
  39. package/examples/DispatchList/BaseTree.vue +13 -13
  40. package/examples/DispatchList/Init.vue +22 -22
  41. package/examples/DispatchList/Test.vue +20 -20
  42. package/examples/DispatchList/index.html +11 -11
  43. package/examples/DispatchList/main.js +18 -18
  44. package/home.html +16 -16
  45. package/package.json +1 -1
  46. package/publish.bat +7 -7
  47. package/release.bat +5 -5
  48. package/src/App.vue +31 -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/bootstrap/less/.csscomb.json +304 -304
  122. package/src/bootstrap/less/.csslintrc +19 -19
  123. package/src/bootstrap/less/alerts.less +73 -73
  124. package/src/bootstrap/less/badges.less +66 -66
  125. package/src/bootstrap/less/breadcrumbs.less +26 -26
  126. package/src/bootstrap/less/button-groups.less +247 -247
  127. package/src/bootstrap/less/buttons.less +172 -172
  128. package/src/bootstrap/less/carousel.less +269 -269
  129. package/src/bootstrap/less/close.less +34 -34
  130. package/src/bootstrap/less/code.less +69 -69
  131. package/src/bootstrap/less/component-animations.less +33 -33
  132. package/src/bootstrap/less/dropdowns.less +216 -216
  133. package/src/bootstrap/less/grid.less +84 -84
  134. package/src/bootstrap/less/input-groups.less +167 -167
  135. package/src/bootstrap/less/jumbotron.less +52 -52
  136. package/src/bootstrap/less/labels.less +64 -64
  137. package/src/bootstrap/less/list-group.less +141 -141
  138. package/src/bootstrap/less/media.less +66 -66
  139. package/src/bootstrap/less/mixins/alerts.less +14 -14
  140. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  141. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  142. package/src/bootstrap/less/mixins/buttons.less +69 -69
  143. package/src/bootstrap/less/mixins/center-block.less +7 -7
  144. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  145. package/src/bootstrap/less/mixins/forms.less +90 -90
  146. package/src/bootstrap/less/mixins/gradients.less +59 -59
  147. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  148. package/src/bootstrap/less/mixins/grid.less +122 -122
  149. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  150. package/src/bootstrap/less/mixins/image.less +33 -33
  151. package/src/bootstrap/less/mixins/labels.less +12 -12
  152. package/src/bootstrap/less/mixins/list-group.less +30 -30
  153. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  154. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  155. package/src/bootstrap/less/mixins/opacity.less +8 -8
  156. package/src/bootstrap/less/mixins/pagination.less +24 -24
  157. package/src/bootstrap/less/mixins/panels.less +24 -24
  158. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  159. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  160. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  161. package/src/bootstrap/less/mixins/resize.less +6 -6
  162. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  163. package/src/bootstrap/less/mixins/size.less +10 -10
  164. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  165. package/src/bootstrap/less/mixins/table-row.less +44 -44
  166. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  167. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  168. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  169. package/src/bootstrap/less/mixins.less +40 -40
  170. package/src/bootstrap/less/modals.less +151 -151
  171. package/src/bootstrap/less/navbar.less +660 -660
  172. package/src/bootstrap/less/normalize.less +424 -424
  173. package/src/bootstrap/less/pagination.less +89 -89
  174. package/src/bootstrap/less/panels.less +275 -275
  175. package/src/bootstrap/less/popovers.less +131 -131
  176. package/src/bootstrap/less/print.less +101 -101
  177. package/src/bootstrap/less/progress-bars.less +87 -87
  178. package/src/bootstrap/less/responsive-embed.less +35 -35
  179. package/src/bootstrap/less/responsive-utilities.less +194 -194
  180. package/src/bootstrap/less/scaffolding.less +161 -161
  181. package/src/bootstrap/less/theme.less +291 -291
  182. package/src/bootstrap/less/thumbnails.less +36 -36
  183. package/src/bootstrap/less/tooltip.less +102 -102
  184. package/src/bootstrap/less/type.less +303 -303
  185. package/src/bootstrap/less/utilities.less +55 -55
  186. package/src/bootstrap/less/wells.less +29 -29
  187. package/src/components/FileUpload.vue +696 -696
  188. package/src/components/Hello.vue +39 -39
  189. package/src/components/LeftTree.vue +27 -27
  190. package/src/components/android/AttendanceTally.vue +116 -116
  191. package/src/components/android/Blank.vue +10 -10
  192. package/src/components/android/CheckUnplanPage.vue +56 -56
  193. package/src/components/android/Checker.vue +12 -12
  194. package/src/components/android/CheckerAnnual.vue +81 -81
  195. package/src/components/android/CheckerAvarta.vue +82 -82
  196. package/src/components/android/EquipmentInspection.vue +348 -348
  197. package/src/components/android/FootprintMap.vue +120 -120
  198. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  199. package/src/components/android/MasterMain.vue +77 -77
  200. package/src/components/android/Menu.vue +132 -132
  201. package/src/components/android/PaperAlarm.vue +85 -85
  202. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  203. package/src/components/android/PlumberAnnual.vue +83 -83
  204. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  205. package/src/components/android/PlumberMonthly.vue +84 -84
  206. package/src/components/android/PostMap.vue +83 -83
  207. package/src/components/android/QueryCheckHistory.vue +122 -122
  208. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  209. package/src/components/android/RepairMain.vue +60 -60
  210. package/src/components/android/Repairman.vue +12 -12
  211. package/src/components/android/StationMaster.vue +12 -12
  212. package/src/components/android/rejectInspecCheck.vue +322 -322
  213. package/src/components/defects/DefectModal.vue +101 -101
  214. package/src/components/defects/DevicesAndItem.vue +39 -39
  215. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  216. package/src/components/notice/NoticeForm.vue +100 -100
  217. package/src/components/notice/NoticeIssue.vue +20 -20
  218. package/src/components/paper/PicViewer.vue +18 -18
  219. package/src/components/pc/NewCheckpaperTemp.vue +1308 -1295
  220. package/src/components/pc/RoleSelector.vue +172 -172
  221. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  222. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  223. package/src/components/phonestate/PostMap.vue +82 -82
  224. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  225. package/src/components/rongcheng/AddPlanItem.vue +344 -344
  226. package/src/components/rongcheng/CheckCurrentCreate.vue +1081 -1081
  227. package/src/components/rongcheng/PaperDefectMain.vue +828 -828
  228. package/src/components/userfile/MeterFile.vue +145 -145
  229. package/src/components/userfile/MeterModify.vue +46 -46
  230. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  231. package/src/filiale/BFshiye/android/AndroidDefectDeal.vue +652 -652
  232. package/src/filiale/BFshiye/android/SafecheckUserInfo.vue +861 -861
  233. package/src/filiale/BFshiye/pc/DefectListNew.vue +637 -637
  234. package/src/filiale/BFshiye/pc/checkUserList.vue +772 -772
  235. package/src/filiale/BFshiye/pc.js +17 -17
  236. package/src/filiale/baiyin/android/SafecheckUserInfo.vue +775 -775
  237. package/src/filiale/baiyin/android.js +12 -12
  238. package/src/filiale/dexin/android/SafecheckDevicesTemp.vue +1419 -1360
  239. package/src/filiale/dexin/pc/PaperList.vue +840 -840
  240. package/src/filiale/jiaocheng/android/AddPlanItem.vue +20 -0
  241. package/src/filiale/jiaocheng/android/CurrentCreate.vue +1083 -0
  242. package/src/filiale/jiaocheng/android.js +1 -0
  243. package/src/filiale/jiaocheng/pc/CheckSearchUser.vue +18 -1
  244. package/src/filiale/jiaocheng/pc/PaperList.vue +803 -0
  245. package/src/filiale/jiaocheng/pc.js +1 -0
  246. package/src/filiale/qingjian/android/PhoneUpUserinfo.vue +1357 -1357
  247. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +823 -823
  248. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1919 -1919
  249. package/src/filiale/rongchuang/android/PhoneUpUserinfo.vue +1262 -1262
  250. package/src/filiale/rongchuang/pc/checkPlanList.vue +398 -398
  251. package/src/filiale/rongchuang/pc.js +18 -18
  252. package/src/filiale/siyang/android/PhoneInsurancePurchaseDetail.vue +532 -532
  253. package/src/filiale/wensu/android/SafecheckOrderV.vue +2444 -2444
  254. package/src/filiale/wensu/android/SafecheckUserInfo.vue +712 -712
  255. package/src/filiale/wensu/pc/CheckSearchUser.vue +1251 -1251
  256. package/src/filiale/yangchunboneng/android/CurrentCreate.vue +1191 -1191
  257. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +913 -913
  258. package/src/filiale/yangchunboneng/android.js +21 -21
  259. package/src/filiale/yangchunboneng/pc/CheckBookList.vue +353 -353
  260. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +1197 -1197
  261. package/src/filiale/yangchunboneng/pc/HiddenSituation.vue +171 -171
  262. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +1112 -1112
  263. package/src/filiale/yangchunboneng/pc/PaperList.vue +757 -757
  264. package/src/filiale/yangchunboneng/pc/SelectCheckPlan.vue +331 -331
  265. package/src/filiale/yangchunboneng/pc.js +29 -29
  266. package/src/main.js +33 -33
  267. package/src/plugins/LoadData.js +10 -10
  268. package/src/plugins/LoadParams.js +24 -24
  269. package/src/rongcheng.js +319 -319
  270. package/src/safecheck-android.js +316 -316
  271. package/src/stores/wxconfig.js +10 -10
  272. package/src/utils/getNowDate.js +33 -33
  273. package/test/e2e/custom-assertions/elementCount.js +26 -26
  274. package/test/e2e/nightwatch.conf.js +40 -40
  275. package/test/e2e/runner.js +30 -30
  276. package/test/e2e/specs/test.js +13 -13
  277. package/test/unit/.eslintrc +5 -5
  278. package/test/unit/TestUtil.js +62 -62
  279. package/test/unit/context.html +20 -20
  280. package/test/unit/index.js +13 -13
  281. package/yarn-error.log +0 -140
@@ -1,172 +1,172 @@
1
- <template>
2
- <div style="width: 100%;height: 100%">
3
- <div class="col-sm-6 form-group" style="margin-bottom: 0px">
4
- <label class="font_normal_body">公&emsp;&emsp;司</label>
5
- <right-tree-safe :width="leftWidth" @re-res="getRes" :resobjprop.sync="resobjprop"></right-tree-safe>
6
- </div>
7
- <div class="col-sm-6 form-group" style="margin-bottom: 0px">
8
- <label class="font_normal_body">{{ roleLable }}</label>
9
- <v-select :value="selVal" v-model='selVal'
10
- :value-single="!valueMultiple"
11
- class="select_list select"
12
- :options='users' :placeholder='roleName'
13
- :close-on-select = 'valueClose'
14
- :multiple="valueMultiple"
15
- :width="rightWidth"
16
- @change="valuechange">
17
- </v-select>
18
- </div>
19
- </div>
20
- </template>
21
-
22
- <script>
23
- import {HttpResetClass} from 'vue-client'
24
-
25
- export default {
26
- name: "RoleSelector",
27
- props: {
28
- valueMultiple: {
29
- type: Boolean,
30
- default: false
31
- },
32
- roleName: {
33
- type: String,
34
- default: '安检员'
35
- },
36
- roleLable: {
37
- type: String,
38
- default: '安检员'
39
- },
40
- leftWidth: {
41
- type: String,
42
- default: '60%'
43
- },
44
- rightWidth: {
45
- type: String,
46
- default: '60%'
47
- },
48
- value: {
49
- default: ''
50
- },
51
- resobjprop: {
52
- default: {}
53
- },
54
- valueClose: {
55
- type: Boolean,
56
- default: true
57
- }
58
- },
59
- data() {
60
- return {
61
- // source: `tool.getChildrenOfResName($${this.roleName}$)`,
62
- source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($${this.roleName}$) != -1)`,
63
- allUsers: [],
64
- users: [],
65
- selVal: '',
66
- organizationname:this.$login.f.organizationname,
67
- resids: [],
68
- changeval: ''
69
- }
70
- },
71
- watch: {
72
- 'value'(val) {
73
- console.log("969696", val)
74
- if (val) {
75
- if (this.valueMultiple) {
76
-
77
- } else {
78
- this.selVal = val
79
- }
80
-
81
- }
82
- }
83
- },
84
- async ready() {
85
- await this.search()
86
- await this.filterUser(this.resids)
87
- },
88
- methods: {
89
- async clear() {
90
- // 根据valueMultiple属性设置适当的空值
91
- const emptyValue = this.valueMultiple ? [] : '';
92
- // 设置内部状态
93
- this.selVal = emptyValue;
94
- // 调用valuechange方法,确保值同步
95
- this.valuechange(emptyValue);
96
- },
97
- async search() {
98
- let http = new HttpResetClass()
99
- const res = await http.load('POST', '/rs/search', {
100
- data: {
101
- source: this.source,
102
- userid: this.$login.f.id
103
- }
104
- }, {resolveMsg: null, rejectMsg: null})
105
- this.allUsers = res.data
106
- },
107
- valuechange(val) {
108
- console.log(`val instanceof Array======${!val instanceof Array}`)
109
- if ((typeof val === 'object' && !val instanceof Array) || (val instanceof Event)) {
110
- return
111
- }
112
- if (this.valueMultiple && Array.isArray(val)) {
113
- if (val && val.length > 0) {
114
- let valuesele = `(`
115
- for (let i = 0; i < val.length; i++) {
116
- valuesele += `'${val[i]}',`
117
- }
118
- this.value = valuesele.substring(0, valuesele.length - 1) + ')'
119
- } else {
120
- this.value = ''
121
- }
122
- } else {
123
- this.value = val
124
- }
125
- // this.changeval = val
126
- },
127
- getRes(obj) {
128
- this.resids = obj.resids
129
- this.organizationname = obj.res[0]
130
- this.filterUser(this.resids)
131
- this.$dispatch('re-res', obj)
132
- },
133
- async filterUser(resids) {
134
- // 处理第一次进入页面值异常问题
135
- if (resids.length > 0 && typeof resids[0] == "object") {
136
- resids = resids[0]
137
- }
138
- if (resids[0]) {
139
- this.source = `root.getResourceById($${resids[0]}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($${this.roleName}$) != -1)`
140
- await this.search()
141
- }
142
- this.users = []
143
- this.allUsers.forEach(user => {
144
- if ((this.organizationname == user.organizationname || !user.organizationname) && user.state == '在职') {
145
- this.users.push({label: user.name, value: user.name})
146
- }
147
- })
148
- if (!this.valueMultiple && this.users.length > 0) {
149
- this.users = [{label: '全部', value: ''}, ...this.users]
150
- }
151
- let temp = []
152
- this.users = this.users.filter(item => {
153
- if (!temp.includes(item.label)) {
154
- temp.push(item.label)
155
- return true
156
- }
157
- return false
158
- })
159
- let sort = this.$appdata.getSingleValue('数据排序') || '否'
160
- if (sort == '是'){
161
- this.users.sort((a,b)=>a.label.localeCompare(b.label, 'zh-Hans-CN'))
162
- }
163
- this.$emit('alluser', this.allUsers)
164
- //tag
165
- }
166
- }
167
- }
168
- </script>
169
-
170
- <style scoped>
171
-
172
- </style>
1
+ <template>
2
+ <div style="width: 100%;height: 100%">
3
+ <div class="col-sm-6 form-group" style="margin-bottom: 0px">
4
+ <label class="font_normal_body">公&emsp;&emsp;司</label>
5
+ <right-tree-safe :width="leftWidth" @re-res="getRes" :resobjprop.sync="resobjprop"></right-tree-safe>
6
+ </div>
7
+ <div class="col-sm-6 form-group" style="margin-bottom: 0px">
8
+ <label class="font_normal_body">{{ roleLable }}</label>
9
+ <v-select :value="selVal" v-model='selVal'
10
+ :value-single="!valueMultiple"
11
+ class="select_list select"
12
+ :options='users' :placeholder='roleName'
13
+ :close-on-select = 'valueClose'
14
+ :multiple="valueMultiple"
15
+ :width="rightWidth"
16
+ @change="valuechange">
17
+ </v-select>
18
+ </div>
19
+ </div>
20
+ </template>
21
+
22
+ <script>
23
+ import {HttpResetClass} from 'vue-client'
24
+
25
+ export default {
26
+ name: "RoleSelector",
27
+ props: {
28
+ valueMultiple: {
29
+ type: Boolean,
30
+ default: false
31
+ },
32
+ roleName: {
33
+ type: String,
34
+ default: '安检员'
35
+ },
36
+ roleLable: {
37
+ type: String,
38
+ default: '安检员'
39
+ },
40
+ leftWidth: {
41
+ type: String,
42
+ default: '60%'
43
+ },
44
+ rightWidth: {
45
+ type: String,
46
+ default: '60%'
47
+ },
48
+ value: {
49
+ default: ''
50
+ },
51
+ resobjprop: {
52
+ default: {}
53
+ },
54
+ valueClose: {
55
+ type: Boolean,
56
+ default: true
57
+ }
58
+ },
59
+ data() {
60
+ return {
61
+ // source: `tool.getChildrenOfResName($${this.roleName}$)`,
62
+ source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($${this.roleName}$) != -1)`,
63
+ allUsers: [],
64
+ users: [],
65
+ selVal: '',
66
+ organizationname:this.$login.f.organizationname,
67
+ resids: [],
68
+ changeval: ''
69
+ }
70
+ },
71
+ watch: {
72
+ 'value'(val) {
73
+ console.log("969696", val)
74
+ if (val) {
75
+ if (this.valueMultiple) {
76
+
77
+ } else {
78
+ this.selVal = val
79
+ }
80
+
81
+ }
82
+ }
83
+ },
84
+ async ready() {
85
+ await this.search()
86
+ await this.filterUser(this.resids)
87
+ },
88
+ methods: {
89
+ async clear() {
90
+ // 根据valueMultiple属性设置适当的空值
91
+ const emptyValue = this.valueMultiple ? [] : '';
92
+ // 设置内部状态
93
+ this.selVal = emptyValue;
94
+ // 调用valuechange方法,确保值同步
95
+ this.valuechange(emptyValue);
96
+ },
97
+ async search() {
98
+ let http = new HttpResetClass()
99
+ const res = await http.load('POST', '/rs/search', {
100
+ data: {
101
+ source: this.source,
102
+ userid: this.$login.f.id
103
+ }
104
+ }, {resolveMsg: null, rejectMsg: null})
105
+ this.allUsers = res.data
106
+ },
107
+ valuechange(val) {
108
+ console.log(`val instanceof Array======${!val instanceof Array}`)
109
+ if ((typeof val === 'object' && !val instanceof Array) || (val instanceof Event)) {
110
+ return
111
+ }
112
+ if (this.valueMultiple && Array.isArray(val)) {
113
+ if (val && val.length > 0) {
114
+ let valuesele = `(`
115
+ for (let i = 0; i < val.length; i++) {
116
+ valuesele += `'${val[i]}',`
117
+ }
118
+ this.value = valuesele.substring(0, valuesele.length - 1) + ')'
119
+ } else {
120
+ this.value = ''
121
+ }
122
+ } else {
123
+ this.value = val
124
+ }
125
+ // this.changeval = val
126
+ },
127
+ getRes(obj) {
128
+ this.resids = obj.resids
129
+ this.organizationname = obj.res[0]
130
+ this.filterUser(this.resids)
131
+ this.$dispatch('re-res', obj)
132
+ },
133
+ async filterUser(resids) {
134
+ // 处理第一次进入页面值异常问题
135
+ if (resids.length > 0 && typeof resids[0] == "object") {
136
+ resids = resids[0]
137
+ }
138
+ if (resids[0]) {
139
+ this.source = `root.getResourceById($${resids[0]}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($${this.roleName}$) != -1)`
140
+ await this.search()
141
+ }
142
+ this.users = []
143
+ this.allUsers.forEach(user => {
144
+ if ((this.organizationname == user.organizationname || !user.organizationname) && user.state == '在职') {
145
+ this.users.push({label: user.name, value: user.name})
146
+ }
147
+ })
148
+ if (!this.valueMultiple && this.users.length > 0) {
149
+ this.users = [{label: '全部', value: ''}, ...this.users]
150
+ }
151
+ let temp = []
152
+ this.users = this.users.filter(item => {
153
+ if (!temp.includes(item.label)) {
154
+ temp.push(item.label)
155
+ return true
156
+ }
157
+ return false
158
+ })
159
+ let sort = this.$appdata.getSingleValue('数据排序') || '否'
160
+ if (sort == '是'){
161
+ this.users.sort((a,b)=>a.label.localeCompare(b.label, 'zh-Hans-CN'))
162
+ }
163
+ this.$emit('alluser', this.allUsers)
164
+ //tag
165
+ }
166
+ }
167
+ }
168
+ </script>
169
+
170
+ <style scoped>
171
+
172
+ </style>
@@ -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>