safecheck-client 3.0.33-144 → 3.0.33-146

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 (286) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/android.html +18 -18
  4. package/config/dev.env.js +6 -6
  5. package/config/index.js +38 -38
  6. package/config/prod.env.js +3 -3
  7. package/config/test.env.js +6 -6
  8. package/docs/AppBase.md +22 -22
  9. package/docs/Busy.md +14 -14
  10. package/docs/CriteriaPaged.md +47 -47
  11. package/docs/DataGrid.md +54 -54
  12. package/docs/DataModel.md +22 -22
  13. package/docs/Dynamic.md +42 -42
  14. package/docs/FormPrint.md +18 -18
  15. package/docs/GetParams.md +11 -11
  16. package/docs/GridTree.md +47 -47
  17. package/docs/HttpBusy.md +13 -13
  18. package/docs/HttpStore.md +29 -29
  19. package/docs/MessageBox.md +28 -28
  20. package/docs/PagedList.md +29 -29
  21. package/docs/Pager.md +21 -21
  22. package/docs/PrintFile.md +38 -38
  23. package/docs/Project.md +23 -23
  24. package/docs/Route.md +105 -105
  25. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  26. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  27. package/docs/Task.md +46 -46
  28. package/docs/TreeList.md +28 -28
  29. package/docs/TreeMixin.md +18 -18
  30. package/docs/all.md +10 -10
  31. package/docs/list.md +42 -42
  32. package/docs/partial.md +75 -75
  33. package/docs/selector.md +82 -82
  34. package/docs/tree.md +40 -40
  35. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  36. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  37. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  38. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  39. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  40. package/examples/AddressList/App.vue +13 -13
  41. package/examples/AddressList/index.html +11 -11
  42. package/examples/DispatchList/App.vue +10 -10
  43. package/examples/DispatchList/BaseTree.vue +13 -13
  44. package/examples/DispatchList/Init.vue +22 -22
  45. package/examples/DispatchList/Test.vue +20 -20
  46. package/examples/DispatchList/index.html +11 -11
  47. package/examples/DispatchList/main.js +18 -18
  48. package/home.html +16 -16
  49. package/package.json +1 -1
  50. package/publish.bat +7 -7
  51. package/release.bat +5 -5
  52. package/src/Widget.vue +13 -13
  53. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  54. package/src/android-bootstrap/less/.csscomb.json +304 -304
  55. package/src/android-bootstrap/less/.csslintrc +19 -19
  56. package/src/android-bootstrap/less/alerts.less +73 -73
  57. package/src/android-bootstrap/less/badges.less +66 -66
  58. package/src/android-bootstrap/less/bootstrap.less +56 -56
  59. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  60. package/src/android-bootstrap/less/button-groups.less +247 -247
  61. package/src/android-bootstrap/less/buttons.less +173 -173
  62. package/src/android-bootstrap/less/carousel.less +269 -269
  63. package/src/android-bootstrap/less/close.less +34 -34
  64. package/src/android-bootstrap/less/code.less +69 -69
  65. package/src/android-bootstrap/less/component-animations.less +33 -33
  66. package/src/android-bootstrap/less/grid.less +84 -84
  67. package/src/android-bootstrap/less/input-groups.less +167 -167
  68. package/src/android-bootstrap/less/jumbotron.less +52 -52
  69. package/src/android-bootstrap/less/labels.less +64 -64
  70. package/src/android-bootstrap/less/list-group.less +141 -141
  71. package/src/android-bootstrap/less/media.less +66 -66
  72. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  73. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  74. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  75. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  76. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  77. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  78. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  79. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  80. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  81. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  82. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  83. package/src/android-bootstrap/less/mixins/image.less +33 -33
  84. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  85. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  86. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  87. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  88. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  89. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  90. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  91. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  92. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  93. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  94. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  95. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  96. package/src/android-bootstrap/less/mixins/size.less +10 -10
  97. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  98. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  99. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  100. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  101. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  102. package/src/android-bootstrap/less/mixins.less +40 -40
  103. package/src/android-bootstrap/less/modals.less +151 -151
  104. package/src/android-bootstrap/less/navbar.less +660 -660
  105. package/src/android-bootstrap/less/navs.less +290 -290
  106. package/src/android-bootstrap/less/normalize.less +424 -424
  107. package/src/android-bootstrap/less/pager.less +76 -76
  108. package/src/android-bootstrap/less/pagination.less +89 -89
  109. package/src/android-bootstrap/less/panels.less +274 -274
  110. package/src/android-bootstrap/less/popovers.less +131 -131
  111. package/src/android-bootstrap/less/print.less +101 -101
  112. package/src/android-bootstrap/less/progress-bars.less +87 -87
  113. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  114. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  115. package/src/android-bootstrap/less/scaffolding.less +161 -161
  116. package/src/android-bootstrap/less/tables.less +262 -262
  117. package/src/android-bootstrap/less/theme.less +291 -291
  118. package/src/android-bootstrap/less/thumbnails.less +36 -36
  119. package/src/android-bootstrap/less/tooltip.less +102 -102
  120. package/src/android-bootstrap/less/type.less +303 -303
  121. package/src/android-bootstrap/less/utilities.less +55 -55
  122. package/src/android-bootstrap/less/variables.less +896 -896
  123. package/src/android-bootstrap/less/wells.less +29 -29
  124. package/src/androidTest.js +20 -20
  125. package/src/bootstrap/less/.csscomb.json +304 -304
  126. package/src/bootstrap/less/.csslintrc +19 -19
  127. package/src/bootstrap/less/alerts.less +73 -73
  128. package/src/bootstrap/less/badges.less +66 -66
  129. package/src/bootstrap/less/breadcrumbs.less +26 -26
  130. package/src/bootstrap/less/button-groups.less +247 -247
  131. package/src/bootstrap/less/buttons.less +172 -172
  132. package/src/bootstrap/less/carousel.less +269 -269
  133. package/src/bootstrap/less/close.less +34 -34
  134. package/src/bootstrap/less/code.less +69 -69
  135. package/src/bootstrap/less/component-animations.less +33 -33
  136. package/src/bootstrap/less/dropdowns.less +216 -216
  137. package/src/bootstrap/less/forms.less +626 -626
  138. package/src/bootstrap/less/grid.less +84 -84
  139. package/src/bootstrap/less/input-groups.less +167 -167
  140. package/src/bootstrap/less/jumbotron.less +52 -52
  141. package/src/bootstrap/less/labels.less +64 -64
  142. package/src/bootstrap/less/list-group.less +141 -141
  143. package/src/bootstrap/less/media.less +66 -66
  144. package/src/bootstrap/less/mixins/alerts.less +14 -14
  145. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  146. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  147. package/src/bootstrap/less/mixins/buttons.less +69 -69
  148. package/src/bootstrap/less/mixins/center-block.less +7 -7
  149. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  150. package/src/bootstrap/less/mixins/forms.less +90 -90
  151. package/src/bootstrap/less/mixins/gradients.less +59 -59
  152. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  153. package/src/bootstrap/less/mixins/grid.less +122 -122
  154. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  155. package/src/bootstrap/less/mixins/image.less +33 -33
  156. package/src/bootstrap/less/mixins/labels.less +12 -12
  157. package/src/bootstrap/less/mixins/list-group.less +30 -30
  158. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  159. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  160. package/src/bootstrap/less/mixins/opacity.less +8 -8
  161. package/src/bootstrap/less/mixins/pagination.less +24 -24
  162. package/src/bootstrap/less/mixins/panels.less +24 -24
  163. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  164. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  165. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  166. package/src/bootstrap/less/mixins/resize.less +6 -6
  167. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  168. package/src/bootstrap/less/mixins/size.less +10 -10
  169. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  170. package/src/bootstrap/less/mixins/table-row.less +44 -44
  171. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  172. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  173. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  174. package/src/bootstrap/less/mixins.less +40 -40
  175. package/src/bootstrap/less/modals.less +151 -151
  176. package/src/bootstrap/less/navbar.less +660 -660
  177. package/src/bootstrap/less/normalize.less +424 -424
  178. package/src/bootstrap/less/pager.less +76 -76
  179. package/src/bootstrap/less/pagination.less +89 -89
  180. package/src/bootstrap/less/panels.less +275 -275
  181. package/src/bootstrap/less/popovers.less +131 -131
  182. package/src/bootstrap/less/print.less +101 -101
  183. package/src/bootstrap/less/progress-bars.less +87 -87
  184. package/src/bootstrap/less/responsive-embed.less +35 -35
  185. package/src/bootstrap/less/responsive-utilities.less +194 -194
  186. package/src/bootstrap/less/scaffolding.less +161 -161
  187. package/src/bootstrap/less/theme.less +291 -291
  188. package/src/bootstrap/less/thumbnails.less +36 -36
  189. package/src/bootstrap/less/tooltip.less +102 -102
  190. package/src/bootstrap/less/type.less +303 -303
  191. package/src/bootstrap/less/utilities.less +55 -55
  192. package/src/bootstrap/less/wells.less +29 -29
  193. package/src/components/FileUpload.vue +696 -696
  194. package/src/components/Hello.vue +39 -39
  195. package/src/components/LeftTree.vue +27 -27
  196. package/src/components/android/AddGas.vue +147 -147
  197. package/src/components/android/AddressList.vue +61 -61
  198. package/src/components/android/AttendanceTally.vue +116 -116
  199. package/src/components/android/Blank.vue +10 -10
  200. package/src/components/android/CheckUnplanPage.vue +56 -56
  201. package/src/components/android/Checker.vue +12 -12
  202. package/src/components/android/CheckerAnnual.vue +81 -81
  203. package/src/components/android/CheckerAvarta.vue +82 -82
  204. package/src/components/android/CheckerMonthly.vue +84 -84
  205. package/src/components/android/EquipmentInspection.vue +348 -348
  206. package/src/components/android/FootprintMap.vue +120 -120
  207. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  208. package/src/components/android/ImgSelfAndroid.vue +1 -1
  209. package/src/components/android/LcheckUnplan.vue +108 -108
  210. package/src/components/android/MasterMain.vue +77 -77
  211. package/src/components/android/Menu.vue +132 -132
  212. package/src/components/android/NavBottom.vue +157 -157
  213. package/src/components/android/PaperAlarm.vue +85 -85
  214. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  215. package/src/components/android/PlumberAnnual.vue +83 -83
  216. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  217. package/src/components/android/PlumberMonthly.vue +84 -84
  218. package/src/components/android/PostMap.vue +83 -83
  219. package/src/components/android/QueryCheckHistory.vue +122 -122
  220. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  221. package/src/components/android/RepairMain.vue +60 -60
  222. package/src/components/android/Repairman.vue +12 -12
  223. package/src/components/android/StationMaster.vue +12 -12
  224. package/src/components/checkerphonestate/Checker.vue +32 -32
  225. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  226. package/src/components/defects/AddDefectModal.vue +120 -120
  227. package/src/components/defects/AddDevice.vue +95 -95
  228. package/src/components/defects/DefectModal.vue +101 -101
  229. package/src/components/defects/DevicesAndItem.vue +39 -39
  230. package/src/components/defects/DevicesSeting.vue +106 -106
  231. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  232. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  233. package/src/components/metterfiles/MetterFiles.vue +104 -104
  234. package/src/components/notice/NoticeForm.vue +100 -100
  235. package/src/components/notice/NoticeIssue.vue +20 -20
  236. package/src/components/notice/NoticeQuery.vue +76 -76
  237. package/src/components/paper/PicViewer.vue +18 -18
  238. package/src/components/paper/RepairVerifyForm.vue +76 -76
  239. package/src/components/phonestate/DailyTraffic.vue +57 -57
  240. package/src/components/phonestate/LastKnownState.vue +74 -74
  241. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  242. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  243. package/src/components/phonestate/PostMap.vue +82 -82
  244. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  245. package/src/components/task/RepairAnnual.vue +79 -79
  246. package/src/components/task/RepairAnnualDetail.vue +49 -49
  247. package/src/components/task/RepairMonthly.vue +91 -91
  248. package/src/components/task/TaskAnnual.vue +77 -77
  249. package/src/components/task/TaskAnnualDetail.vue +47 -47
  250. package/src/components/task/TaskMonthly.vue +89 -89
  251. package/src/components/userfile/MeterFile.vue +145 -145
  252. package/src/components/userfile/MeterModify.vue +46 -46
  253. package/src/components/userfile/UserfileChange.vue +277 -277
  254. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  255. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +633 -633
  256. package/src/filiale/baiyin/android.js +10 -10
  257. package/src/filiale/baiyin/pc/PaperList.vue +790 -790
  258. package/src/filiale/baiyin/pc/PlanChooser.vue +167 -167
  259. package/src/filiale/baiyin/pc/PlanManage.vue +834 -834
  260. package/src/filiale/baiyin/pc/RightTreeSafe.vue +348 -348
  261. package/src/filiale/baiyin/pc/RoleSelector.vue +160 -160
  262. package/src/filiale/baiyin/pc.js +17 -17
  263. package/src/filiale/weinan/pc/DefectListNew.vue +617 -0
  264. package/src/filiale/weinan/pc/DefectMainNew.vue +63 -63
  265. package/src/filiale/weinan/pc.js +46 -45
  266. package/src/filiale/yangchunboneng/android/NewCheckpaperAndroid.vue +20 -20
  267. package/src/filiale/yangchunboneng/android/PaperFeedback.vue +1731 -1731
  268. package/src/filiale/yangchunboneng/android/PhoneUpUserinfo.vue +1 -1
  269. package/src/filiale/yangchunboneng/android/SafecheckDevices.vue +4 -4
  270. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2845 -2845
  271. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  272. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +1192 -1192
  273. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +941 -941
  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
@@ -1,348 +1,348 @@
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
+ <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>