safecheck-client 3.0.33-136 → 3.0.33-137

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 (291) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/android.html +18 -18
  4. package/build/css-loaders.js +34 -34
  5. package/build/dev-android.js +151 -151
  6. package/build/dev-client.js +8 -8
  7. package/build/release.sh +28 -28
  8. package/build/utils.js +71 -71
  9. package/build/webpack.baseandroid.conf.js +83 -83
  10. package/build/webpack.devandroid.conf.js +33 -33
  11. package/build/webpack.hanwei.conf.js +57 -57
  12. package/build/webpack.hwbase.conf.js +78 -78
  13. package/build/webpack.prodandroid.conf.js +60 -60
  14. package/build/webpack.test.conf.js +31 -31
  15. package/config/dev.env.js +6 -6
  16. package/config/index.js +38 -38
  17. package/config/prod.env.js +3 -3
  18. package/config/test.env.js +6 -6
  19. package/docs/AppBase.md +22 -22
  20. package/docs/Busy.md +14 -14
  21. package/docs/Criteria.md +47 -47
  22. package/docs/CriteriaPaged.md +47 -47
  23. package/docs/DataGrid.md +54 -54
  24. package/docs/DataModel.md +22 -22
  25. package/docs/Dynamic.md +42 -42
  26. package/docs/FormPrint.md +18 -18
  27. package/docs/GetParams.md +11 -11
  28. package/docs/GridTree.md +47 -47
  29. package/docs/HttpBusy.md +13 -13
  30. package/docs/HttpStore.md +29 -29
  31. package/docs/MessageBox.md +28 -28
  32. package/docs/PagedList.md +29 -29
  33. package/docs/Pager.md +21 -21
  34. package/docs/PrintFile.md +38 -38
  35. package/docs/Project.md +23 -23
  36. package/docs/Route.md +105 -105
  37. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  38. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  39. package/docs/Task.md +46 -46
  40. package/docs/TreeList.md +28 -28
  41. package/docs/TreeMixin.md +18 -18
  42. package/docs/all.md +10 -10
  43. package/docs/list.md +42 -42
  44. package/docs/partial.md +75 -75
  45. package/docs/selector.md +82 -82
  46. package/docs/tree.md +40 -40
  47. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  48. 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
  49. 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
  50. 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
  51. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  52. package/examples/AddressList/App.vue +13 -13
  53. package/examples/AddressList/index.html +11 -11
  54. package/examples/DispatchList/App.vue +10 -10
  55. package/examples/DispatchList/BaseTree.vue +13 -13
  56. package/examples/DispatchList/Init.vue +22 -22
  57. package/examples/DispatchList/Test.vue +20 -20
  58. package/examples/DispatchList/index.html +11 -11
  59. package/examples/DispatchList/main.js +18 -18
  60. package/home.html +16 -16
  61. package/package.json +3 -3
  62. package/publish.bat +7 -7
  63. package/release.bat +5 -5
  64. package/src/Widget.vue +13 -13
  65. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  66. package/src/android-bootstrap/less/.csscomb.json +304 -304
  67. package/src/android-bootstrap/less/.csslintrc +19 -19
  68. package/src/android-bootstrap/less/alerts.less +73 -73
  69. package/src/android-bootstrap/less/badges.less +66 -66
  70. package/src/android-bootstrap/less/bootstrap.less +56 -56
  71. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  72. package/src/android-bootstrap/less/button-groups.less +247 -247
  73. package/src/android-bootstrap/less/buttons.less +173 -173
  74. package/src/android-bootstrap/less/carousel.less +269 -269
  75. package/src/android-bootstrap/less/close.less +34 -34
  76. package/src/android-bootstrap/less/code.less +69 -69
  77. package/src/android-bootstrap/less/component-animations.less +33 -33
  78. package/src/android-bootstrap/less/grid.less +84 -84
  79. package/src/android-bootstrap/less/input-groups.less +167 -167
  80. package/src/android-bootstrap/less/jumbotron.less +52 -52
  81. package/src/android-bootstrap/less/labels.less +64 -64
  82. package/src/android-bootstrap/less/list-group.less +141 -141
  83. package/src/android-bootstrap/less/media.less +66 -66
  84. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  85. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  86. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  87. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  88. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  89. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  90. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  91. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  92. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  93. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  94. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  95. package/src/android-bootstrap/less/mixins/image.less +33 -33
  96. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  97. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  98. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  99. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  100. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  101. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  102. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  103. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  104. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  105. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  106. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  107. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  108. package/src/android-bootstrap/less/mixins/size.less +10 -10
  109. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  110. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  111. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  112. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  113. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  114. package/src/android-bootstrap/less/mixins.less +40 -40
  115. package/src/android-bootstrap/less/modals.less +151 -151
  116. package/src/android-bootstrap/less/navbar.less +660 -660
  117. package/src/android-bootstrap/less/navs.less +290 -290
  118. package/src/android-bootstrap/less/normalize.less +424 -424
  119. package/src/android-bootstrap/less/pager.less +76 -76
  120. package/src/android-bootstrap/less/pagination.less +89 -89
  121. package/src/android-bootstrap/less/panels.less +274 -274
  122. package/src/android-bootstrap/less/popovers.less +131 -131
  123. package/src/android-bootstrap/less/print.less +101 -101
  124. package/src/android-bootstrap/less/progress-bars.less +87 -87
  125. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  126. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  127. package/src/android-bootstrap/less/scaffolding.less +161 -161
  128. package/src/android-bootstrap/less/tables.less +262 -262
  129. package/src/android-bootstrap/less/theme.less +291 -291
  130. package/src/android-bootstrap/less/thumbnails.less +36 -36
  131. package/src/android-bootstrap/less/tooltip.less +102 -102
  132. package/src/android-bootstrap/less/type.less +303 -303
  133. package/src/android-bootstrap/less/utilities.less +55 -55
  134. package/src/android-bootstrap/less/variables.less +896 -896
  135. package/src/android-bootstrap/less/wells.less +29 -29
  136. package/src/androidTest.js +20 -20
  137. package/src/bootstrap/less/.csscomb.json +304 -304
  138. package/src/bootstrap/less/.csslintrc +19 -19
  139. package/src/bootstrap/less/alerts.less +73 -73
  140. package/src/bootstrap/less/badges.less +66 -66
  141. package/src/bootstrap/less/breadcrumbs.less +26 -26
  142. package/src/bootstrap/less/button-groups.less +247 -247
  143. package/src/bootstrap/less/buttons.less +172 -172
  144. package/src/bootstrap/less/carousel.less +269 -269
  145. package/src/bootstrap/less/close.less +34 -34
  146. package/src/bootstrap/less/code.less +69 -69
  147. package/src/bootstrap/less/component-animations.less +33 -33
  148. package/src/bootstrap/less/dropdowns.less +216 -216
  149. package/src/bootstrap/less/forms.less +626 -626
  150. package/src/bootstrap/less/grid.less +84 -84
  151. package/src/bootstrap/less/input-groups.less +167 -167
  152. package/src/bootstrap/less/jumbotron.less +52 -52
  153. package/src/bootstrap/less/labels.less +64 -64
  154. package/src/bootstrap/less/list-group.less +141 -141
  155. package/src/bootstrap/less/media.less +66 -66
  156. package/src/bootstrap/less/mixins/alerts.less +14 -14
  157. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  158. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  159. package/src/bootstrap/less/mixins/buttons.less +69 -69
  160. package/src/bootstrap/less/mixins/center-block.less +7 -7
  161. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  162. package/src/bootstrap/less/mixins/forms.less +90 -90
  163. package/src/bootstrap/less/mixins/gradients.less +59 -59
  164. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  165. package/src/bootstrap/less/mixins/grid.less +122 -122
  166. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  167. package/src/bootstrap/less/mixins/image.less +33 -33
  168. package/src/bootstrap/less/mixins/labels.less +12 -12
  169. package/src/bootstrap/less/mixins/list-group.less +30 -30
  170. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  171. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  172. package/src/bootstrap/less/mixins/opacity.less +8 -8
  173. package/src/bootstrap/less/mixins/pagination.less +24 -24
  174. package/src/bootstrap/less/mixins/panels.less +24 -24
  175. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  176. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  177. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  178. package/src/bootstrap/less/mixins/resize.less +6 -6
  179. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  180. package/src/bootstrap/less/mixins/size.less +10 -10
  181. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  182. package/src/bootstrap/less/mixins/table-row.less +44 -44
  183. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  184. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  185. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  186. package/src/bootstrap/less/mixins.less +40 -40
  187. package/src/bootstrap/less/modals.less +151 -151
  188. package/src/bootstrap/less/navbar.less +660 -660
  189. package/src/bootstrap/less/normalize.less +424 -424
  190. package/src/bootstrap/less/pager.less +76 -76
  191. package/src/bootstrap/less/pagination.less +89 -89
  192. package/src/bootstrap/less/panels.less +275 -275
  193. package/src/bootstrap/less/popovers.less +131 -131
  194. package/src/bootstrap/less/print.less +101 -101
  195. package/src/bootstrap/less/progress-bars.less +87 -87
  196. package/src/bootstrap/less/responsive-embed.less +35 -35
  197. package/src/bootstrap/less/responsive-utilities.less +194 -194
  198. package/src/bootstrap/less/scaffolding.less +161 -161
  199. package/src/bootstrap/less/theme.less +291 -291
  200. package/src/bootstrap/less/thumbnails.less +36 -36
  201. package/src/bootstrap/less/tooltip.less +102 -102
  202. package/src/bootstrap/less/type.less +303 -303
  203. package/src/bootstrap/less/utilities.less +55 -55
  204. package/src/bootstrap/less/wells.less +29 -29
  205. package/src/components/FileUpload.vue +696 -696
  206. package/src/components/Hello.vue +39 -39
  207. package/src/components/LeftTree.vue +27 -27
  208. package/src/components/android/AddGas.vue +147 -147
  209. package/src/components/android/AddressList.vue +61 -61
  210. package/src/components/android/AttendanceTally.vue +116 -116
  211. package/src/components/android/Blank.vue +10 -10
  212. package/src/components/android/CheckUnplanPage.vue +56 -56
  213. package/src/components/android/Checker.vue +12 -12
  214. package/src/components/android/CheckerAnnual.vue +81 -81
  215. package/src/components/android/CheckerAvarta.vue +82 -82
  216. package/src/components/android/CheckerMonthly.vue +84 -84
  217. package/src/components/android/EquipmentInspection.vue +348 -348
  218. package/src/components/android/FootprintMap.vue +120 -120
  219. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  220. package/src/components/android/LcheckUnplan.vue +108 -108
  221. package/src/components/android/MasterMain.vue +77 -77
  222. package/src/components/android/Menu.vue +132 -132
  223. package/src/components/android/NavBottom.vue +157 -157
  224. package/src/components/android/PaperAlarm.vue +85 -85
  225. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  226. package/src/components/android/PlumberAnnual.vue +83 -83
  227. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  228. package/src/components/android/PlumberMonthly.vue +84 -84
  229. package/src/components/android/PostMap.vue +83 -83
  230. package/src/components/android/QueryCheckHistory.vue +122 -122
  231. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  232. package/src/components/android/RepairMain.vue +60 -60
  233. package/src/components/android/Repairman.vue +12 -12
  234. package/src/components/android/SafecheckDevices.vue +1298 -1298
  235. package/src/components/android/StationMaster.vue +12 -12
  236. package/src/components/checkerphonestate/Checker.vue +32 -32
  237. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  238. package/src/components/defects/AddDefectModal.vue +120 -120
  239. package/src/components/defects/AddDevice.vue +95 -95
  240. package/src/components/defects/DefectModal.vue +101 -101
  241. package/src/components/defects/DevicesAndItem.vue +39 -39
  242. package/src/components/defects/DevicesSeting.vue +106 -106
  243. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  244. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  245. package/src/components/metterfiles/MetterFiles.vue +104 -104
  246. package/src/components/notice/NoticeForm.vue +100 -100
  247. package/src/components/notice/NoticeIssue.vue +20 -20
  248. package/src/components/notice/NoticeQuery.vue +76 -76
  249. package/src/components/paper/PicViewer.vue +18 -18
  250. package/src/components/paper/RepairVerifyForm.vue +76 -76
  251. package/src/components/phonestate/DailyTraffic.vue +57 -57
  252. package/src/components/phonestate/LastKnownState.vue +74 -74
  253. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  254. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  255. package/src/components/phonestate/PostMap.vue +82 -82
  256. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  257. package/src/components/task/RepairAnnual.vue +79 -79
  258. package/src/components/task/RepairAnnualDetail.vue +49 -49
  259. package/src/components/task/RepairMonthly.vue +91 -91
  260. package/src/components/task/TaskAnnual.vue +77 -77
  261. package/src/components/task/TaskAnnualDetail.vue +47 -47
  262. package/src/components/task/TaskMonthly.vue +89 -89
  263. package/src/components/userfile/MeterFile.vue +145 -145
  264. package/src/components/userfile/MeterModify.vue +46 -46
  265. package/src/components/userfile/UserFile.vue +118 -118
  266. package/src/components/userfile/UserfileChange.vue +277 -277
  267. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  268. package/src/filiale/baiyin/android.js +9 -10
  269. package/src/filiale/baiyin/pc/PlanManage.vue +834 -834
  270. package/src/filiale/baiyin/pc.js +13 -17
  271. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +810 -810
  272. package/src/filiale/tongchuan/android/SafecheckOrderV.vue +3033 -3033
  273. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +1192 -1192
  274. package/src/main.js +33 -33
  275. package/src/plugins/LoadData.js +10 -10
  276. package/src/plugins/LoadParams.js +24 -24
  277. package/src/stores/wxconfig.js +10 -10
  278. package/src/utils/getNowDate.js +33 -33
  279. package/test/e2e/custom-assertions/elementCount.js +26 -26
  280. package/test/e2e/nightwatch.conf.js +40 -40
  281. package/test/e2e/runner.js +30 -30
  282. package/test/e2e/specs/test.js +13 -13
  283. package/test/unit/.eslintrc +5 -5
  284. package/test/unit/TestUtil.js +62 -62
  285. package/test/unit/context.html +20 -20
  286. package/test/unit/index.js +13 -13
  287. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +0 -633
  288. package/src/filiale/baiyin/pc/PaperList.vue +0 -790
  289. package/src/filiale/baiyin/pc/PlanChooser.vue +0 -167
  290. package/src/filiale/baiyin/pc/RightTreeSafe.vue +0 -348
  291. package/src/filiale/baiyin/pc/RoleSelector.vue +0 -160
@@ -1,167 +0,0 @@
1
- <template>
2
- <div>
3
- <form class="form-inline">
4
- <div class="row form-group">
5
- <div class="col-sm-4">
6
- <label class="font_normal_body" for="c_plan_year">计划年份:</label>
7
- <v-select id="c_plan_year" :value.sync="c_plan_year"
8
- class="select_list select"
9
- :width="'55%'"
10
- style="width: 55%"
11
- :options='c_year_list' close-on-select clear-button></v-select>
12
- </div>
13
- <div class="col-sm-4">
14
- <label class="font_normal_body" for="c_plan_month">计划月份:</label>
15
- <v-select id="c_plan_month" :value.sync="c_plan_month"
16
- class="select_list select"
17
- :width="'55%'"
18
- style="width: 55%"
19
- :options='c_month_list' close-on-select clear-button></v-select>
20
- </div>
21
- <div class="col-sm-4">
22
- <label class="font_normal_body">安检人员:</label>
23
- <v-select id="checker" :value.sync="model.f_checker_id" placeholder='安检员'
24
- :value-single="true"
25
- class="select_list select"
26
- :width="'55%'"
27
- style="width: 55%"
28
- :options='checkers' close-on-select clear-button> </v-select>
29
- </div>
30
- </div>
31
- <div class="row form-group">
32
- <!--<div style="width: 65%;height:100%; display: inline-block">-->
33
- <div class="col-sm-4">
34
- <label class="font_normal_body">是否共享:</label>
35
- <v-select id="share" :value.sync="model.f_is_share" placeholder='是否共享'
36
- :value-single="true"
37
- class="select_list select"
38
- :width="'55%'"
39
- style="width: 55%"
40
- :options='shares' close-on-select clear-button> </v-select>
41
- </div>
42
-
43
- <div class="col-sm-4">
44
- <label class="font_normal_body">计划名称:</label>
45
- <input type="text" class="input_search" v-model="model.f_plan_name"
46
- style="width: 60%" placeholder="计划名称" condition="f_plan_name like '%{}%'">
47
- </div>
48
- <div class="col-sm-4">
49
- <button type="button" class="button_search" @click="search()">查询</button>
50
- </div>
51
- </div>
52
- </form>
53
- <hr>
54
- <table class="table table_sy">
55
- <thead>
56
- <tr>
57
- <th></th>
58
- <th>计划名称</th>
59
- <th>计划类型</th>
60
- </tr>
61
- </thead>
62
- <tbody>
63
- <tr v-for="row in model.rows">
64
- <td @click="select(row, $index)">{{row.selected ? '☆' : ''}}</td>
65
- <td @click="select(row, $index)">{{row.f_plan_name}}</td>
66
- <td @click="select(row, $index)">{{row.f_plan_type}}</td>
67
- </tr>
68
- </tbody>
69
- </table>
70
- </div>
71
- </template>
72
-
73
- <script>
74
- import { PagedList } from 'vue-client'
75
- import Vue from 'vue'
76
- import co from 'co'
77
- import { HttpResetClass } from 'vue-client'
78
-
79
- let selectnew = function * (self) {
80
- let http = new HttpResetClass()
81
- http.load('POST', '/rs/search', {
82
- data:{
83
- source: `this.getSpecialResByType($user$).where(row.getAttributes().get($rolesnames$)!=null ).where(row.getAttributes().get($rolesnames$).indexOf($安检员$) != -1)`,
84
- userid: self.$login.f.f_orgids.substring(0,this.$login.f.f_orgids.length-1)
85
- }
86
- }, {resolveMsg: null, rejectMsg: null}).then((res) => {
87
- self.checkers = []
88
- let arr = []
89
- //tag
90
- res.data.forEach((resRow) => {
91
- if(!arr.includes(resRow.name) && resRow.state == '在职'){
92
- arr.push(resRow.name)
93
- self.checkers.push({label:resRow.name,value:resRow.id})
94
- }
95
- })
96
- self.checkers.push({label:'全部',value:''})
97
- })
98
- }
99
-
100
-
101
- export default {
102
- title: '选择安检计划',
103
- props: ['f'],
104
- data() {
105
- let options = []
106
- let year = (new Date()).getFullYear()
107
- for(let i = year - 8; i <= year +1; i++ )
108
- options.push({label: i+'', value: i+''})
109
- let moptions = []
110
- for(let i=1; i<=12; i++)
111
- moptions.push({label: i + '', value: i + ''})
112
- let model = new PagedList('rs/sql/按年月人员提取安检计划', 20,
113
- {f_subcompany:'this.f_subcompany',f_plan_name:'this.f_plan_name',f_checker_id: 'this.f_checker_id', f_plan_year: 'this.f_plan_year', f_plan_month: 'this.f_plan_month', f_is_share: 'this.f_is_share',f_filialeid:'this.f_filialeid'})
114
- model.f_checker_id = ''
115
- model.f_plan_name=''
116
- model.f_filialeid = this.$login.f.f_orgids.substring(0,this.$login.f.f_orgids.length-1)
117
- return {
118
- checker:'',
119
- checkers:[],
120
- shares: [{label: '全部', value: ''}, {label: '是', value: '是'}, {label: '否', value: '否'}],
121
- c_plan_year: [year + ''],
122
- c_year_list: options,
123
- c_month_list: moptions,
124
- c_plan_month: [moptions[new Date().getMonth()].value],
125
- model: model,
126
- selectedRow: {}
127
- }
128
- },
129
- ready () {
130
- this.model.f_plan_year = this.c_plan_year[0]
131
- this.model.f_plan_month = this.c_plan_month[0]
132
- this.model.f_subcompany = this.$login.f.f_orgids.substring(0,this.$login.f.f_orgids.length-1)
133
- //tag
134
- //tag
135
- //tag
136
- this.model.f_plan_name=''
137
- let gen = selectnew(this)
138
- return co(gen)
139
- },
140
- watch: {
141
- 'c_plan_year' (val) {
142
- this.model.f_plan_year = val[0]
143
- },
144
- 'c_plan_month' (val) {
145
- this.model.f_plan_month = val[0]
146
- },
147
- 'checker'(){
148
- //tag
149
- this.selectedRow = {}
150
- }
151
- },
152
- methods: {
153
- search () {
154
- //this.model.rows = []
155
- this.model.rows = []
156
- this.model.search()
157
- },
158
- select(row, idx) {
159
- if(this.selectedRow)
160
- this.$set('model.rows[' + this.selectedRow.idx + '].selected', false)
161
- this.selectedRow = row
162
- this.selectedRow.idx = idx
163
- this.$set('model.rows[' + idx + '].selected', true)
164
- }
165
- }
166
- }
167
- </script>
@@ -1,348 +0,0 @@
1
- <template>
2
- <dropdown :model='model' class="auto" id="res-tree" v-if="!islist" v-el:dropdown :style="{width:width}">
3
- <button type="button" class="btn btn-default dropdown-toggle select-style" data-toggle="dropdown" style="width: 100%">
4
- <span class='btn-content' :style="{textOverflow:'ellipsis',overflow: 'hidden'}">{{ orgnames }}</span>
5
- <span class="caret"></span>
6
- </button>
7
- <div class="dropdown-menu auto" style="width:auto;max-height: 500px;overflow: auto" >
8
- <input type="text" placeholder="Search"
9
- placeholder='请输入'
10
- slot="dropdown-menu"
11
- v-model="searchText"
12
- class="form-control" autocomplete="off"
13
- @keydown.enter="buluer(searchText)">
14
- <tree :filter="strsign" :model='model' v-ref:tree :is-click="false" role="menu">
15
- <span partial>
16
- <span class="glyphicon glyphicon-chevron-down" v-show="row.open&&row.data.children.length>0" style="color:balck;"></span>
17
- <span class="glyphicon glyphicon-chevron-right" v-show="!row.open&&row.data.children.length>0" style="color:balck;"></span>
18
- <span class="RightTreeCanSelect" v-if="row.data.hasright" @click.stop="$parent.$parent.$parent.selectclick(row.data)">{{row.data.name}}</span>
19
- <span class="RightTreeCanNotSelect" v-else>{{row.data.name}}</span>
20
- <span class="glyphicon glyphicon-ok " v-if="$parent.$parent.$parent.isSelect(row.data.id)" style="color:balck;"></span>
21
- </span>
22
- </tree>
23
- </div>
24
-
25
- </dropdown>
26
- <v-select v-if="islist"
27
- placeholder='请选择'
28
- :options='childrenOptions'
29
- @change="selectclick"
30
- :value-single="true"
31
- close-on-select></v-select>
32
- </template>
33
- <script>
34
- import Vue from 'vue';
35
- import co from 'co'
36
- import { PagedList, HttpResetClass } from 'vue-client'
37
- import * as ldapHelper from '../../../utils/LdapHelper'
38
- let saveGen = function * (self) {
39
- //获取分公司树
40
- let data = {
41
- source: self.source,
42
- userid: self.userid
43
- }
44
- // if(self.$treeorg==null || (self.$treeorg!=null&&self.$treeorg.length==0)){
45
- let http = new HttpResetClass()
46
- let ret = yield http.load('POST', `${self.Url}/rs/search`, data, {resolveMsg: null, rejectMsg: null})
47
- // 去掉前面的两层节点
48
- ret.data[0].children[0].children.forEach((item) => {
49
- self.model.push(item)
50
- })
51
- Vue.$treeorg = Vue.prototype.$treeorg = self.model;
52
- // }
53
- //if(self.$treeorg!=null){
54
- // self.model = self.$treeorg;
55
- //}
56
- // 给资源添加父关系
57
- ldapHelper.procParent(self.model)
58
- // 树转列
59
- // if (self.islist) {
60
- // self.treetoList(self.model)
61
- // }
62
- if(self.initresid.length>0){
63
- if(self.initresid[0] == ''){
64
- self.initresid[0] = self.$login.f.f_orgids.substring(0,this.$login.f.f_orgids.length-1);
65
- }
66
- }else{
67
- self.initresid = [];
68
- self.initresid[0] = self.$login.f.f_orgids.substring(0,this.$login.f.f_orgids.length-1);
69
- }
70
- if(self.initresid&&self.initresid.length>0){
71
- self.isselect = false;
72
- self.initTreetoList(self.model)
73
- self.initregion(self.childrenOptions)
74
- self.childrenOptions.forEach((item) => {
75
- if(item.id == null && item.value !=null ){
76
- item = item.value
77
- }
78
- if(item.id==self.initresid[0]){
79
- //默认加载如果已选中的和传入参数相等会取消选择,这种操作不应该被允许
80
- if(self.orgids==item.id){
81
- self.initdataone(item);
82
- return;
83
- }
84
- self.selectclick(item);
85
- self.isselect = true;
86
- return;
87
- }
88
- })
89
- //如果没有找到公司,说明是选择的是大区
90
- if(!self.isselect){
91
- self.childrenregionOption.forEach((item) => {
92
- if(item.id == null && item.value !=null ){
93
- item = item.value;
94
- }
95
- if(item.id==self.initresid[0]){
96
- //默认加载如果已选中的和传入参数相等会取消选择,这种操作不应该被允许
97
- if(self.orgids==item.id){
98
- self.initdataone(item);
99
- return;
100
- }
101
- self.selectclick(item);
102
- return;
103
- }
104
- })
105
- }
106
- }
107
- //self.selectRes()
108
- }
109
- export default {
110
- title: '资源树',
111
- props: {
112
- searchText:'',
113
- strsign:'',
114
- source: {
115
- type: String,
116
- require: true,
117
- default:`tool.getFullTree(this.getRights().where(row.getType() == $organization$))`
118
- },
119
- //资源初始化数据
120
- initresid: {
121
- type: Array,
122
- default() { return [] },
123
- },
124
- resid: {
125
- },
126
- resobjprop:"",
127
- islist: {
128
- type: Boolean,
129
- default: false
130
- },
131
- //是否有查看上级的权限
132
- Url:{
133
- type: String,
134
- default:''
135
- },
136
- width:{
137
- type:String,
138
- default:'60%'
139
- }
140
- },
141
- data () {
142
- return {
143
- resobj:{res:this.$login.f.f_fengongsi, resids:this.$login.f.f_orgids.substring(0,this.$login.f.f_orgids.length-1)},
144
- userid: this.$login.f.id,
145
- resname:[this.$login.f.f_fengongsi],
146
- orgnames : "请选择",
147
- //单选点击 返回所有子
148
- orgids : null,
149
- orgobj:null,
150
- model: [
151
-
152
- ],
153
- childrenOptions: [],
154
- childrenregionOption:[],
155
- isselect: false
156
- }
157
- },
158
- methods: {
159
- selectRes () {
160
- let newobj={
161
- "res": [this.resname],
162
- "resids": [this.orgids],
163
- }
164
- this.$emit('re-res', newobj)
165
- },
166
- //树形结构变成list
167
- initTreetoList(val) {
168
- for (let value of val) {
169
- this.initErgodicList(value)
170
- }
171
- },
172
- //找到跟节点
173
- initErgodicList (val) {
174
- if(val.children.length > 0){
175
- this.childrenOptions.push(val)
176
- this.treetoList(val.children)
177
- }else{
178
- this.childrenOptions.push(val)
179
- }
180
- },
181
- initregion(val){
182
- if(val ==null ) return;
183
- val.forEach((item)=>{
184
- if(item.name != null){
185
- if(item.name.includes("公司")){
186
- return;
187
- }else{
188
- this.initregion(item.children)
189
- this.childrenregionOption.push({label:"",value:item})
190
- //return item;
191
- }
192
- }else{
193
- return;
194
- }
195
- })
196
-
197
- },
198
- async buluer (val) {
199
- this.strsign=val
200
- await new Promise(resolve => {
201
- this.$nextTick(() => {
202
- resolve()
203
- })
204
- })
205
- },
206
- //点击资源的方法
207
- selectclick (row) {
208
- if(this.orgids==row.id){
209
- //取消点击
210
- this.orgnames="请选择"
211
- this.orgids=null
212
- this.orgobj=null
213
- let newobj={
214
- "res": [],
215
- "resids": [],
216
- "orgobj": [],
217
- }
218
- this.$emit('re-res', newobj)
219
- }else{
220
- //点中点击
221
- this.orgnames=row.name
222
- this.orgids=row.id
223
- this.orgobj=row
224
- let objs=[]
225
- let objids=[]
226
- let objnames=[]
227
- this.addResChild(row,objs)
228
- objs.forEach((item) => {
229
- objids.push(item.id)
230
- objnames.push(item.name)
231
- })
232
- let newobj={
233
- "res": objnames,
234
- "resids": objids,
235
- "orgobj": objs,
236
- }
237
- this.$emit('re-res', newobj)
238
- }
239
- },
240
- initdataone(row){
241
- //点中点击
242
- this.orgnames=row.name
243
- this.orgids=row.id
244
- this.orgobj=row
245
- let objs=[]
246
- let objids=[]
247
- let objnames=[]
248
- this.addResChild(row,objs)
249
- objs.forEach((item) => {
250
- objids.push(item.id)
251
- objnames.push(item.name)
252
- })
253
- let newobj={
254
- "res": objnames,
255
- "resids": objids,
256
- "orgobj": objs,
257
- }
258
- this.$emit('re-res', newobj)
259
- },
260
- addResChild(val,objs){
261
- objs.push(val)
262
- if(val.children && val.children.length>0){
263
- Object.keys(val.children).forEach((key) => {
264
- this.addResChild(val.children[key],objs)
265
- })
266
- }
267
- return objs
268
- },
269
- //检查是否显示对勾
270
- isSelect(val) {
271
- if(this.orgids==val){
272
- return true
273
- }else{
274
- return false
275
- }
276
- },
277
- //树形结构变成list
278
- treetoList(val) {
279
- for (let value of val) {
280
- this.ergodicList(value)
281
- }
282
- },
283
- //找到跟节点
284
- ergodicList (val) {
285
- val.children.length > 0 ? this.treetoList(val.children) : this.childrenOptions.push({label: val.name, value: val})
286
- },
287
- //处理显示默认值
288
- dealResObj (val) {
289
- try{
290
- var arr=val.res.split(".")
291
- //截取最后一个分公司名字
292
- this.resname=arr[arr.length-1].toString()
293
- this.orgnames=arr[arr.length-1].toString()
294
- this.resid = val.resids
295
- this.orgids = val.resids
296
- }catch (e){
297
- this.resname='请选择组织'
298
- }
299
- },
300
- judgBoundary(){
301
- //判断是否超出边界,超出移动
302
- if(document.documentElement.offsetWidth< this.$els.dropdown.getBoundingClientRect().right){
303
- this.left = document.documentElement.offsetWidth - this.$els.dropdown.getBoundingClientRect().right - 25
304
- }
305
- }
306
- },
307
- events: {
308
-
309
- },
310
- ready () {
311
- this.dealResObj (this.resobj)
312
- let gen = saveGen(this)
313
- return co(gen)
314
- },
315
- watch: {
316
- 'resobjprop'(){
317
- //tag
318
- this.dealResObj (this.resobjprop)
319
- }
320
- }
321
- }
322
- </script>
323
- <style lang="less">
324
- #res-tree {
325
- .list-group-item {
326
- background-color: #FFF;
327
- color: #000;
328
- padding: 5px 10px;
329
- border:0px;
330
- white-space: nowrap;
331
- }
332
- }
333
- #res-tree .list-group {
334
- width: auto;
335
- min-width: 100%;
336
- }
337
- .hide-text-overflow{
338
- overflow: hidden;
339
- text-overflow: ellipsis
340
- }
341
- .select-style {
342
- border: 0px;
343
- /*border-bottom: 2px solid #C9CCCF;*/
344
- border: 1px solid #93B2D3;
345
- border-radius: 0px;
346
- color: #555;
347
- }
348
- </style>
@@ -1,160 +0,0 @@
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.f_orgids.substring(0,this.$login.f.f_orgids.length-1)}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolesnames$).indexOf($${this.roleName}$) != -1)`,
63
- allUsers: [],
64
- users: [],
65
- selVal: '',
66
- organizationname:this.$login.f.f_fengongsi,
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 search() {
90
- let http = new HttpResetClass()
91
- const res = await http.load('POST', '/rs/search', {
92
- data: {
93
- source: this.source,
94
- userid: this.$login.f.id
95
- }
96
- }, {resolveMsg: null, rejectMsg: null})
97
- this.allUsers = res.data
98
- },
99
- valuechange(val) {
100
- console.log(`val instanceof Array======${!val instanceof Array}`)
101
- if ((typeof val === 'object' && !val instanceof Array) || (val instanceof Event)) {
102
- return
103
- }
104
- if (this.valueMultiple && Array.isArray(val)) {
105
- if (val && val.length > 0) {
106
- let valuesele = `(`
107
- for (let i = 0; i < val.length; i++) {
108
- valuesele += `'${val[i]}',`
109
- }
110
- this.value = valuesele.substring(0, valuesele.length - 1) + ')'
111
- } else {
112
- this.value = ''
113
- }
114
- } else {
115
- this.value = val
116
- }
117
- // this.changeval = val
118
- },
119
- getRes(obj) {
120
- this.resids = obj.resids
121
- this.organizationname = obj.res[0]
122
- this.filterUser(this.resids)
123
- this.$dispatch('re-res', obj)
124
- },
125
- async filterUser(resids) {
126
- // 处理第一次进入页面值异常问题
127
- if (resids.length > 0 && typeof resids[0] == "object") {
128
- resids = resids[0]
129
- }
130
- if (resids[0]) {
131
- this.source = `tool.getChildrenOfResName($${this.roleName}$)`
132
- await this.search()
133
- }
134
- this.users = []
135
- this.allUsers.forEach(user => {
136
- if (this.organizationname == user.organizationname || !user.organizationname){
137
- this.users.push({label: user.name, value: user.name})
138
- }
139
- })
140
- if (!this.valueMultiple && this.users.length > 0) {
141
- this.users = [{label: '全部', value: ''}, ...this.users]
142
- }
143
- let temp = []
144
- this.users = this.users.filter(item => {
145
- if (!temp.includes(item.label)) {
146
- temp.push(item.label)
147
- return true
148
- }
149
- return false
150
- })
151
- this.$emit('alluser', this.allUsers)
152
- //tag
153
- }
154
- }
155
- }
156
- </script>
157
-
158
- <style scoped>
159
-
160
- </style>