system-clients 3.2.3 → 3.2.4-aodeToV4

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 (169) hide show
  1. package/.eslintrc.js +16 -16
  2. package/.gradle/7.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  3. package/.gradle/7.1/executionHistory/executionHistory.bin +0 -0
  4. package/.gradle/7.1/executionHistory/executionHistory.lock +0 -0
  5. package/.gradle/7.1/fileChanges/last-build.bin +0 -0
  6. package/.gradle/7.1/fileHashes/fileHashes.bin +0 -0
  7. package/.gradle/7.1/fileHashes/fileHashes.lock +0 -0
  8. package/.gradle/7.1/gc.properties +0 -0
  9. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  10. package/.gradle/buildOutputCleanup/cache.properties +2 -2
  11. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  12. package/.gradle/checksums/checksums.lock +0 -0
  13. package/.gradle/vcs-1/gc.properties +0 -0
  14. package/SystemClient.iml +11 -11
  15. package/build/webpack.base.conf.js +78 -75
  16. package/build.gradle +6 -6
  17. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  18. package/gradle/wrapper/gradle-wrapper.properties +5 -0
  19. package/gradlew +185 -0
  20. package/gradlew.bat +89 -0
  21. package/index.html +21 -21
  22. package/package.json +2 -2
  23. package/src/App.vue +24 -24
  24. package/src/LodopFuncs.js +123 -123
  25. package/src/components/Main.vue +46 -152
  26. package/src/components/Util.js +343 -343
  27. package/src/components/equipment/EquipmentManage.vue +65 -65
  28. package/src/components/equipment/PcAdd.vue +105 -105
  29. package/src/components/equipment/PcList.vue +120 -119
  30. package/src/components/equipment/PcManage.vue +60 -60
  31. package/src/components/equipment/PhoneAdd.vue +94 -94
  32. package/src/components/equipment/PhoneList.vue +102 -102
  33. package/src/components/equipment/PhoneManage.vue +60 -60
  34. package/src/components/equipment/PosAdd.vue +156 -137
  35. package/src/components/equipment/PosList.vue +164 -164
  36. package/src/components/equipment/PosManage.vue +68 -67
  37. package/src/components/materialManage/materialData.vue +44 -44
  38. package/src/components/materialManage/materialList.vue +255 -255
  39. package/src/components/parammanage/ParamManage.vue +42 -42
  40. package/src/components/parammanage/ParamPage.vue +314 -314
  41. package/src/components/parammanage/ParamPages.vue +222 -222
  42. package/src/components/parammanage/SinglePage.vue +235 -235
  43. package/src/components/parammanage/SinglePages.vue +167 -167
  44. package/src/components/server/AddChangeMsg.vue +66 -66
  45. package/src/components/server/ChangeDeclare.vue +45 -45
  46. package/src/components/server/LeftTree.vue +111 -111
  47. package/src/components/server/LoadData.vue +36 -36
  48. package/src/components/server/Login.vue +726 -624
  49. package/src/components/server/Menu.vue +188 -188
  50. package/src/components/server/ModifyPw.vue +112 -106
  51. package/src/components/server/NewResSelectGroup.vue +211 -0
  52. package/src/components/server/ResSelect.vue +153 -150
  53. package/src/components/server/ResSelectGroup.vue +159 -142
  54. package/src/components/server/RightTree.vue +343 -263
  55. package/src/components/server/RoleSelector.vue +90 -89
  56. package/src/components/server/TestResSelect.vue +58 -58
  57. package/src/components/server/TestResSelectGroup.vue +388 -388
  58. package/src/plugins/EncryptUtil.js +53 -0
  59. package/src/plugins/GetLoginInfoService.js +88 -104
  60. package/src/plugins/HeatGetLoginInfoService.js +491 -0
  61. package/src/plugins/validation.js +7 -7
  62. package/src/project/State.js +17 -17
  63. package/src/stores/AppData.js +38 -38
  64. package/src/stores/HeatAppData.js +38 -0
  65. package/src/styles/fonts/PINGFANG LIGHT.TTF +0 -0
  66. package/src/styles/fonts/PingFangSC-Regular.ttf +0 -0
  67. package/src/styles/fonts/glyphicons-halflings-regular.eot +0 -0
  68. package/src/styles/fonts/glyphicons-halflings-regular.svg +288 -0
  69. package/src/styles/fonts/glyphicons-halflings-regular.ttf +0 -0
  70. package/src/styles/fonts/glyphicons-halflings-regular.woff +0 -0
  71. package/src/styles/fonts/glyphicons-halflings-regular.woff2 +0 -0
  72. package/src/styles/fonts/pingfang-bold.ttf +0 -0
  73. package/src/styles/fonts/pingfang-medium.ttf +0 -0
  74. package/src/styles/fonts/pingfang-regular.ttf +0 -0
  75. package/src/styles/fonts/trendstrends.ttf +0 -0
  76. package/src/styles/fonts//346/261/211/344/273/252/350/217/261/345/277/203/344/275/223/347/256/200.ttf +0 -0
  77. package/src/styles/less/.csscomb.json +304 -0
  78. package/src/styles/less/.csslintrc +19 -0
  79. package/src/styles/less/alerts.less +73 -0
  80. package/src/styles/less/aofeng/animate.min.css +11 -0
  81. package/src/styles/less/aofeng/expandcss.less +569 -0
  82. package/src/styles/less/aofeng/standard.less +2121 -0
  83. package/src/styles/less/aofeng/themeOne/BinaryTemplate.less +686 -0
  84. package/src/styles/less/aofeng/themeOne/loginStyle.less +1586 -0
  85. package/src/styles/less/aofeng/themeOne/systemStyle.less +2650 -0
  86. package/src/styles/less/aofeng/themeOne.less +17 -0
  87. package/src/styles/less/aofeng/themeTwo/newStyle1.less +415 -0
  88. package/src/styles/less/aofeng/themeTwo.less +3 -0
  89. package/src/styles/less/badges.less +66 -0
  90. package/src/styles/less/bootstrap.less +66 -0
  91. package/src/styles/less/breadcrumbs.less +26 -0
  92. package/src/styles/less/button-groups.less +247 -0
  93. package/src/styles/less/buttons.less +172 -0
  94. package/src/styles/less/carousel.less +269 -0
  95. package/src/styles/less/close.less +34 -0
  96. package/src/styles/less/code.less +69 -0
  97. package/src/styles/less/component-animations.less +33 -0
  98. package/src/styles/less/dropdowns.less +216 -0
  99. package/src/styles/less/fonts-list.less +25 -0
  100. package/src/styles/less/forms.less +626 -0
  101. package/src/styles/less/glyphicons.less +305 -0
  102. package/src/styles/less/grid.less +84 -0
  103. package/src/styles/less/input-groups.less +167 -0
  104. package/src/styles/less/jumbotron.less +52 -0
  105. package/src/styles/less/labels.less +64 -0
  106. package/src/styles/less/list-group.less +141 -0
  107. package/src/styles/less/manageStyle/manageChile.less +180 -0
  108. package/src/styles/less/manageStyle/manageStyle.less +1102 -0
  109. package/src/styles/less/manageStyle/safeStyle.less +498 -0
  110. package/src/styles/less/media.less +66 -0
  111. package/src/styles/less/mixins/alerts.less +14 -0
  112. package/src/styles/less/mixins/background-variant.less +9 -0
  113. package/src/styles/less/mixins/border-radius.less +18 -0
  114. package/src/styles/less/mixins/buttons.less +69 -0
  115. package/src/styles/less/mixins/center-block.less +7 -0
  116. package/src/styles/less/mixins/clearfix.less +22 -0
  117. package/src/styles/less/mixins/forms.less +90 -0
  118. package/src/styles/less/mixins/gradients.less +59 -0
  119. package/src/styles/less/mixins/grid-framework.less +92 -0
  120. package/src/styles/less/mixins/grid.less +122 -0
  121. package/src/styles/less/mixins/hide-text.less +21 -0
  122. package/src/styles/less/mixins/image.less +33 -0
  123. package/src/styles/less/mixins/labels.less +12 -0
  124. package/src/styles/less/mixins/list-group.less +30 -0
  125. package/src/styles/less/mixins/nav-divider.less +10 -0
  126. package/src/styles/less/mixins/nav-vertical-align.less +9 -0
  127. package/src/styles/less/mixins/opacity.less +8 -0
  128. package/src/styles/less/mixins/pagination.less +24 -0
  129. package/src/styles/less/mixins/panels.less +24 -0
  130. package/src/styles/less/mixins/progress-bar.less +10 -0
  131. package/src/styles/less/mixins/reset-filter.less +8 -0
  132. package/src/styles/less/mixins/reset-text.less +18 -0
  133. package/src/styles/less/mixins/resize.less +6 -0
  134. package/src/styles/less/mixins/responsive-visibility.less +15 -0
  135. package/src/styles/less/mixins/size.less +10 -0
  136. package/src/styles/less/mixins/tab-focus.less +9 -0
  137. package/src/styles/less/mixins/table-row.less +44 -0
  138. package/src/styles/less/mixins/text-emphasis.less +9 -0
  139. package/src/styles/less/mixins/text-overflow.less +8 -0
  140. package/src/styles/less/mixins/vendor-prefixes.less +227 -0
  141. package/src/styles/less/mixins.less +40 -0
  142. package/src/styles/less/modals.less +151 -0
  143. package/src/styles/less/navbar.less +660 -0
  144. package/src/styles/less/navs.less +285 -0
  145. package/src/styles/less/normalize.less +424 -0
  146. package/src/styles/less/pager.less +76 -0
  147. package/src/styles/less/pagination.less +89 -0
  148. package/src/styles/less/panels.less +275 -0
  149. package/src/styles/less/popovers.less +131 -0
  150. package/src/styles/less/print.less +101 -0
  151. package/src/styles/less/progress-bars.less +87 -0
  152. package/src/styles/less/responsive-embed.less +35 -0
  153. package/src/styles/less/responsive-utilities.less +194 -0
  154. package/src/styles/less/scaffolding.less +161 -0
  155. package/src/styles/less/stand.less +207 -0
  156. package/src/styles/less/tables.less +262 -0
  157. package/src/styles/less/theme.less +291 -0
  158. package/src/styles/less/thumbnails.less +36 -0
  159. package/src/styles/less/tooltip.less +102 -0
  160. package/src/styles/less/type.less +303 -0
  161. package/src/styles/less/utilities.less +55 -0
  162. package/src/styles/less/variables.less +896 -0
  163. package/src/styles/less/wells.less +29 -0
  164. package/src/system.js +85 -76
  165. package/static/aodelogo.png +0 -0
  166. package/static/aodenewlogo.png +0 -0
  167. package/static/ewmlogo.png +0 -0
  168. package/.gradle/buildOutputCleanup/cache.properties.lock +0 -1
  169. /package/.gradle/{buildOutputCleanup/built.bin → 7.1/dependencies-accessors/gc.properties} +0 -0
@@ -1,263 +1,343 @@
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">
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 co from 'co'
35
- import { PagedList, HttpResetClass } from 'vue-client'
36
- import * as ldapHelper from '../../util/LdapHelper'
37
-
38
- let saveGen = function * (self) {
39
- //获取分公司树
40
- let data = {
41
- source: self.source,
42
- userid: self.userid
43
- }
44
- let http = new HttpResetClass()
45
- let ret = yield http.load('POST', `${self.Url}/rs/search`, data, {resolveMsg: null, rejectMsg: null})
46
- // 去掉前面的两层节点
47
- ret.data[0].children[0].children.forEach((item) => {
48
- self.model.push(item)
49
- })
50
- // 给资源添加父关系
51
- ldapHelper.procParent(self.model)
52
- // 树转列
53
- if (self.islist) {
54
- self.treetoList(self.model)
55
- }
56
- if(self.initresid&&self.initresid.length>0){
57
- self.initTreetoList(self.model)
58
- self.childrenOptions.forEach((item) => {
59
- if(item.id==self.initresid[0]){
60
- self.model=[]
61
- self.model.push(item)
62
- self.selectclick(item)
63
- }
64
- })
65
- }
66
- self.selectRes()
67
- }
68
- export default {
69
- title: '资源树',
70
- props: {
71
- searchText:'',
72
- strsign:'',
73
- source: {
74
- type: String,
75
- require: true,
76
- default:`tool.getFullTree(this.getRights().where(row.getType() == $organization$))`
77
- },
78
- //资源初始化数据
79
- initresid: {
80
- type: Array,
81
- default() { return [] },
82
- },
83
- resid: {
84
- },
85
- islist: {
86
- type: Boolean,
87
- default: false
88
- },
89
- //是否有查看上级的权限
90
- Url:{
91
- type: String,
92
- default:''
93
- },
94
- width:{
95
- type:String,
96
- default:'60%'
97
- }
98
- },
99
- data () {
100
- return {
101
- resobj:{res:this.$login.f.orgs, resids:this.$login.f.orgid},
102
- userid: this.$login.f.id,
103
- resname:[this.$login.f.orgs],
104
- orgnames : "请选择",
105
- //单选点击 返回所有子
106
- orgids : null,
107
- orgobj:null,
108
- model: [
109
-
110
- ],
111
- childrenOptions: []
112
- }
113
- },
114
- methods: {
115
- selectRes () {
116
- let newobj={
117
- "res": [this.resname],
118
- "resids": [this.orgids],
119
- }
120
- this.$emit('re-res', newobj)
121
- },
122
- //树形结构变成list
123
- initTreetoList(val) {
124
- for (let value of val) {
125
- this.initErgodicList(value)
126
- }
127
- },
128
- //找到跟节点
129
- initErgodicList (val) {
130
- if(val.children.length > 0){
131
- this.childrenOptions.push(val)
132
- this.treetoList(val.children)
133
- }else{
134
- this.childrenOptions.push(val)
135
- }
136
- },
137
- async buluer (val) {
138
- this.strsign=val
139
- await new Promise(resolve => {
140
- this.$nextTick(() => {
141
- resolve()
142
- })
143
- })
144
- },
145
- //点击资源的方法
146
- selectclick (row) {
147
- if(this.orgids==row.id){
148
- //取消点击
149
- this.orgnames="请选择"
150
- this.orgids=null
151
- this.orgobj=null
152
- let newobj={
153
- "res": [],
154
- "resids": [],
155
- "orgobj": [],
156
- }
157
- this.$emit('re-res', newobj)
158
- }else{
159
- //点中点击
160
- this.orgnames=row.name
161
- this.orgids=row.id
162
- this.orgobj=row
163
- let objs=[]
164
- let objids=[]
165
- let objnames=[]
166
- this.addResChild(row,objs)
167
- objs.forEach((item) => {
168
- objids.push(item.id)
169
- objnames.push(item.name)
170
- })
171
- let newobj={
172
- "res": objnames,
173
- "resids": objids,
174
- "orgobj": objs,
175
- }
176
- this.$emit('re-res', newobj)
177
- }
178
- },
179
- addResChild(val,objs){
180
- objs.push(val)
181
- if(val.children && val.children.length>0){
182
- Object.keys(val.children).forEach((key) => {
183
- this.addResChild(val.children[key],objs)
184
- })
185
- }
186
- return objs
187
- },
188
- //检查是否显示对勾
189
- isSelect(val) {
190
- if(this.orgids==val){
191
- return true
192
- }else{
193
- return false
194
- }
195
- },
196
- //树形结构变成list
197
- treetoList(val) {
198
- for (let value of val) {
199
- this.ergodicList(value)
200
- }
201
- },
202
- //找到跟节点
203
- ergodicList (val) {
204
- val.children.length > 0 ? this.treetoList(val.children) : this.childrenOptions.push({label: val.name, value: val})
205
- },
206
- //处理显示默认值
207
- dealResObj (val) {
208
- try{
209
- var arr=val.res.split(".")
210
- //截取最后一个分公司名字
211
- this.resname=arr[arr.length-1].toString()
212
- this.orgnames=arr[arr.length-1].toString()
213
- this.resid = val.resids
214
- this.orgids = val.resids
215
- }catch (e){
216
- this.resname='请选择组织'
217
- }
218
- },
219
- judgBoundary(){
220
- //判断是否超出边界,超出移动
221
- if(document.documentElement.offsetWidth< this.$els.dropdown.getBoundingClientRect().right){
222
- this.left = document.documentElement.offsetWidth - this.$els.dropdown.getBoundingClientRect().right - 25
223
- }
224
- }
225
- },
226
- events: {
227
-
228
- },
229
- ready () {
230
- // this.dealResObj (this.resobj)
231
- let gen = saveGen(this)
232
- return co(gen)
233
- },
234
- watch: {
235
- }
236
- }
237
- </script>
238
- <style lang="less">
239
- #res-tree {
240
- .list-group-item {
241
- background-color: #FFF;
242
- color: #000;
243
- padding: 5px 10px;
244
- border:0px;
245
- white-space: nowrap;
246
- }
247
- }
248
- #res-tree .list-group {
249
- width: auto;
250
- min-width: 100%;
251
- }
252
- .hide-text-overflow{
253
- overflow: hidden;
254
- text-overflow: ellipsis
255
- }
256
- .select-style {
257
- border: 0px;
258
- /*border-bottom: 2px solid #C9CCCF;*/
259
- border: 1px solid #93B2D3;
260
- border-radius: 0px;
261
- color: #555;
262
- }
263
- </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">
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 '../../util/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.orgid;
65
+ }
66
+ }else{
67
+ self.initresid = [];
68
+ self.initresid[0] = self.$login.f.orgid;
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
+ islist: {
127
+ type: Boolean,
128
+ default: false
129
+ },
130
+ //是否有查看上级的权限
131
+ Url:{
132
+ type: String,
133
+ default:''
134
+ },
135
+ width:{
136
+ type:String,
137
+ default:'60%'
138
+ }
139
+ },
140
+ data () {
141
+ return {
142
+ resobj:{res:this.$login.f.orgs, resids:this.$login.f.orgid},
143
+ userid: this.$login.f.id,
144
+ resname:[this.$login.f.orgs],
145
+ orgnames : "请选择",
146
+ //单选点击 返回所有子
147
+ orgids : null,
148
+ orgobj:null,
149
+ model: [
150
+
151
+ ],
152
+ childrenOptions: [],
153
+ childrenregionOption:[],
154
+ isselect: false
155
+ }
156
+ },
157
+ methods: {
158
+ selectRes () {
159
+ let newobj={
160
+ "res": [this.resname],
161
+ "resids": [this.orgids],
162
+ }
163
+ this.$emit('re-res', newobj)
164
+ },
165
+ //树形结构变成list
166
+ initTreetoList(val) {
167
+ for (let value of val) {
168
+ this.initErgodicList(value)
169
+ }
170
+ },
171
+ //找到跟节点
172
+ initErgodicList (val) {
173
+ if(val.children.length > 0){
174
+ this.childrenOptions.push(val)
175
+ this.treetoList(val.children)
176
+ }else{
177
+ this.childrenOptions.push(val)
178
+ }
179
+ },
180
+ initregion(val){
181
+ if(val ==null ) return;
182
+ val.forEach((item)=>{
183
+ if(item.name != null){
184
+ if(item.name.includes("公司")){
185
+ return;
186
+ }else{
187
+ this.initregion(item.children)
188
+ this.childrenregionOption.push({label:"",value:item})
189
+ //return item;
190
+ }
191
+ }else{
192
+ return;
193
+ }
194
+ })
195
+
196
+ },
197
+ async buluer (val) {
198
+ this.strsign=val
199
+ await new Promise(resolve => {
200
+ this.$nextTick(() => {
201
+ resolve()
202
+ })
203
+ })
204
+ },
205
+ //点击资源的方法
206
+ selectclick (row) {
207
+ if(this.orgids==row.id){
208
+ //取消点击
209
+ this.orgnames="请选择"
210
+ this.orgids=null
211
+ this.orgobj=null
212
+ let newobj={
213
+ "res": [],
214
+ "resids": [],
215
+ "orgobj": [],
216
+ }
217
+ this.$emit('re-res', newobj)
218
+ }else{
219
+ //点中点击
220
+ this.orgnames=row.name
221
+ this.orgids=row.id
222
+ this.orgobj=row
223
+ let objs=[]
224
+ let objids=[]
225
+ let objnames=[]
226
+ this.addResChild(row,objs)
227
+ objs.forEach((item) => {
228
+ objids.push(item.id)
229
+ objnames.push(item.name)
230
+ })
231
+ let newobj={
232
+ "res": objnames,
233
+ "resids": objids,
234
+ "orgobj": objs,
235
+ }
236
+ this.$emit('re-res', newobj)
237
+ }
238
+ },
239
+ initdataone(row){
240
+ //点中点击
241
+ this.orgnames=row.name
242
+ this.orgids=row.id
243
+ this.orgobj=row
244
+ let objs=[]
245
+ let objids=[]
246
+ let objnames=[]
247
+ this.addResChild(row,objs)
248
+ objs.forEach((item) => {
249
+ objids.push(item.id)
250
+ objnames.push(item.name)
251
+ })
252
+ let newobj={
253
+ "res": objnames,
254
+ "resids": objids,
255
+ "orgobj": objs,
256
+ }
257
+ this.$emit('re-res', newobj)
258
+ },
259
+ addResChild(val,objs){
260
+ objs.push(val)
261
+ if(val.children && val.children.length>0){
262
+ Object.keys(val.children).forEach((key) => {
263
+ this.addResChild(val.children[key],objs)
264
+ })
265
+ }
266
+ return objs
267
+ },
268
+ //检查是否显示对勾
269
+ isSelect(val) {
270
+ if(this.orgids==val){
271
+ return true
272
+ }else{
273
+ return false
274
+ }
275
+ },
276
+ //树形结构变成list
277
+ treetoList(val) {
278
+ for (let value of val) {
279
+ this.ergodicList(value)
280
+ }
281
+ },
282
+ //找到跟节点
283
+ ergodicList (val) {
284
+ val.children.length > 0 ? this.treetoList(val.children) : this.childrenOptions.push({label: val.name, value: val})
285
+ },
286
+ //处理显示默认值
287
+ dealResObj (val) {
288
+ try{
289
+ var arr=val.res.split(".")
290
+ //截取最后一个分公司名字
291
+ this.resname=arr[arr.length-1].toString()
292
+ this.orgnames=arr[arr.length-1].toString()
293
+ this.resid = val.resids
294
+ this.orgids = val.resids
295
+ }catch (e){
296
+ this.resname='请选择组织'
297
+ }
298
+ },
299
+ judgBoundary(){
300
+ //判断是否超出边界,超出移动
301
+ if(document.documentElement.offsetWidth< this.$els.dropdown.getBoundingClientRect().right){
302
+ this.left = document.documentElement.offsetWidth - this.$els.dropdown.getBoundingClientRect().right - 25
303
+ }
304
+ }
305
+ },
306
+ events: {
307
+
308
+ },
309
+ ready () {
310
+ this.dealResObj (this.resobj)
311
+ let gen = saveGen(this)
312
+ return co(gen)
313
+ },
314
+ watch: {
315
+ }
316
+ }
317
+ </script>
318
+ <style lang="less">
319
+ #res-tree {
320
+ .list-group-item {
321
+ background-color: #FFF;
322
+ color: #000;
323
+ padding: 5px 10px;
324
+ border:0px;
325
+ white-space: nowrap;
326
+ }
327
+ }
328
+ #res-tree .list-group {
329
+ width: auto;
330
+ min-width: 100%;
331
+ }
332
+ .hide-text-overflow{
333
+ overflow: hidden;
334
+ text-overflow: ellipsis
335
+ }
336
+ .select-style {
337
+ border: 0px;
338
+ /*border-bottom: 2px solid #C9CCCF;*/
339
+ border: 1px solid #93B2D3;
340
+ border-radius: 0px;
341
+ color: #555;
342
+ }
343
+ </style>