system-clients 3.2.5 → 3.2.6-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 (63) hide show
  1. package/.gradle/7.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  2. package/.gradle/7.1/executionHistory/executionHistory.bin +0 -0
  3. package/.gradle/7.1/executionHistory/executionHistory.lock +0 -0
  4. package/.gradle/7.1/fileHashes/fileHashes.bin +0 -0
  5. package/.gradle/7.1/fileHashes/fileHashes.lock +0 -0
  6. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  7. package/.gradle/buildOutputCleanup/cache.properties +2 -2
  8. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  9. package/.gradle/checksums/checksums.lock +0 -0
  10. package/.gradle/vcs-1/gc.properties +0 -0
  11. package/build/webpack.base.conf.js +4 -1
  12. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  13. package/gradle/wrapper/gradle-wrapper.properties +5 -0
  14. package/gradlew +185 -0
  15. package/gradlew.bat +89 -0
  16. package/package.json +102 -102
  17. package/src/App.vue +1 -1
  18. package/src/components/Main.vue +46 -152
  19. package/src/components/Util.js +343 -343
  20. package/src/components/equipment/EquipmentManage.vue +3 -3
  21. package/src/components/equipment/PcAdd.vue +1 -1
  22. package/src/components/equipment/PcList.vue +4 -3
  23. package/src/components/equipment/PhoneAdd.vue +1 -1
  24. package/src/components/equipment/PhoneList.vue +2 -2
  25. package/src/components/equipment/PosAdd.vue +24 -5
  26. package/src/components/equipment/PosList.vue +15 -15
  27. package/src/components/equipment/PosManage.vue +3 -2
  28. package/src/components/materialManage/materialList.vue +1 -1
  29. package/src/components/parammanage/ParamPage.vue +6 -6
  30. package/src/components/parammanage/ParamPages.vue +5 -5
  31. package/src/components/parammanage/SinglePage.vue +3 -3
  32. package/src/components/parammanage/SinglePages.vue +3 -3
  33. package/src/components/server/AddChangeMsg.vue +1 -1
  34. package/src/components/server/ChangeDeclare.vue +1 -1
  35. package/src/components/server/Login.vue +630 -528
  36. package/src/components/server/Menu.vue +188 -188
  37. package/src/components/server/ModifyPw.vue +11 -5
  38. package/src/components/server/NewResSelectGroup.vue +211 -0
  39. package/src/components/server/ResSelect.vue +3 -0
  40. package/src/components/server/ResSelectGroup.vue +23 -6
  41. package/src/components/server/RightTree.vue +86 -6
  42. package/src/components/server/RoleSelector.vue +4 -3
  43. package/src/components/server/TestResSelectGroup.vue +2 -2
  44. package/src/plugins/EncryptUtil.js +53 -0
  45. package/src/plugins/GetLoginInfoService.js +88 -104
  46. package/src/plugins/HeatGetLoginInfoService.js +491 -0
  47. package/src/plugins/validation.js +1 -1
  48. package/src/project/State.js +1 -1
  49. package/src/stores/AppData.js +1 -1
  50. package/src/stores/HeatAppData.js +38 -0
  51. package/src/styles/less/aofeng/themeOne/systemStyle.less +6 -6
  52. package/src/styles/less/aofeng/themeOne.less +4 -1
  53. package/src/styles/less/fonts-list.less +4 -4
  54. package/src/styles/less/stand.less +1 -1
  55. package/src/system.js +9 -0
  56. package/static/aodelogo.png +0 -0
  57. package/static/aodenewlogo.png +0 -0
  58. package/static/ewmlogo.png +0 -0
  59. package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
  60. package/.gradle/buildOutputCleanup/cache.properties.lock +0 -1
  61. /package/.gradle/{5.2.1 → 7.1/dependencies-accessors}/gc.properties +0 -0
  62. /package/.gradle/{5.2.1 → 7.1}/fileChanges/last-build.bin +0 -0
  63. /package/.gradle/{buildOutputCleanup/built.bin → 7.1/gc.properties} +0 -0
@@ -1,188 +1,188 @@
1
- <template>
2
- <div class="auto">
3
- <div class="head">
4
- <img src="../../../static/loginlogo.png" alt="图片加载未完成"
5
- style="float:left;width: 100px; height: 80px; margin: 10px 20px 20px 20px;"/>
6
- <div style="float:left;width:auto;height:130px;padding-top:10px;">
7
- <h3 style="font-size: 22px;">欢迎使用陕西燃气管理系统</h3>
8
- <h5 style="font-size: 15px;">Welcome to ShanXi GAS Manage System</h5>
9
- </div>
10
-
11
- <h5 style="float:right;margin-top:70px;margin-right:80px;">
12
-
13
- <span class="glyphicon glyphicon-calendar"></span>
14
- {{ date }}&nbsp;&nbsp;
15
-
16
- <span class="glyphicon glyphicon-copyright-mark"></span>
17
- 系统版本:V1.0.0&nbsp;&nbsp;
18
-
19
- <span class="glyphicon glyphicon-th-large"></span>
20
- 蓝色主题&nbsp;&nbsp;
21
- <a href="#" style="color:#fff;text-decoration:none;" @click.stop.prevent="modify=true">
22
- <span class="glyphicon glyphicon-cog"></span>
23
- 修改密码
24
- </a>
25
- </h5>
26
- </div>
27
- <div class="auto">
28
- <!-- 白线div -->
29
- <div class="whiteline">
30
- </div>
31
- <select-menu :model="functions.functions"></select-menu>
32
- </div>
33
- <modal v-ref:modal :show.sync="modify" :backdrop="false" class="auto">
34
- <header slot="modal-header" class="modal-header">
35
- <h4 class="modal-title">修改密码</h4>
36
- </header>
37
- <article slot="modal-body" class="modal-body modifystyle">
38
- <validator name="v">
39
-
40
- <div class="has-feedback"
41
- :class="{'has-warning':$v.password.required,'has-error':$v.password.equalValid && !($v.password.required),
42
- 'has-success': !$v.password.required && !($v.password.equalValid && !($v.password.required))}">
43
- <label for="password" class="control-label">原始密码:&nbsp;&nbsp;</label>
44
- <input type="password" v-model="deliver.password" class="form-control" id="password" v-validate:password="{ required: true, equalValid: functions.password }">
45
- <span class="glyphicon glyphicon-ok form-control-feedback" v-if="!$v.password.required && !($v.password.equalValid && !($v.password.required))"></span>
46
- <!-- <span class="glyphicon form-control-feedback"
47
- :class="{'glyphicon-warning-sign':$v.password.required,'glyphicon-remove'$v.password.equalValid && !($v.password.required):,
48
- 'glyphicon-ok':!$v.password.required && !($v.password.equalValid && !($v.password.required))}"></span> -->
49
- <span v-if="$v.password.required">不能为空</span>
50
- <span v-if="$v.password.equalValid && !($v.password.required)">原始密码错误 !!</span>
51
- </div>
52
-
53
- <div class="has-feedback"
54
- :class="{'has-warning':$v.newpassword.required, 'has-success': !$v.newpassword.required}">
55
- <label for="newpassword" class="control-label">新的密码:&nbsp;&nbsp;</label>
56
- <input type="password" v-model="deliver.newpassword" class="form-control" id="newpassword" v-validate:newpassword='{ required: true }'>
57
- <span class="glyphicon glyphicon-ok form-control-feedback" v-if="!$v.newpassword.required"></span>
58
- <!-- <span class="glyphicon form-control-feedback"
59
- :class="{'glyphicon-warning-sign':$v.newpassword.required,'glyphicon-ok':!$v.newpassword.required }"></span> -->
60
- <span v-if="$v.newpassword.required">不能为空</span>
61
- </div>
62
-
63
- <div class="has-feedback"
64
- :class="{'has-warning':$v.affirmpassword.required,'has-error':$v.affirmpassword.equalValid && !($v.affirmpassword.required),
65
- 'has-success': !$v.affirmpassword.required && !($v.affirmpassword.equalValid && !($v.affirmpassword.required))}">
66
- <label for="affirmpassword" class="control-label">确认密码:&nbsp;&nbsp;</label>
67
- <input type="password" v-model="deliver.affirmpassword" class="form-control" id="affirmpassword" v-validate:affirmpassword="{ required: true, equalValid: deliver.newpassword }">
68
- <span class="glyphicon glyphicon-ok form-control-feedback" v-if="!$v.affirmpassword.required && !($v.affirmpassword.equalValid && !($v.affirmpassword.required))"></span>
69
- <!-- <span class="glyphicon form-control-feedback"
70
- :class="{'glyphicon-warning-sign':$v.affirmpassword.required,'glyphicon-remove'$v.affirmpassword.equalValid && !($v.affirmpassword.required):,
71
- 'glyphicon-ok':!$v.affirmpassword.required && !($v.affirmpassword.equalValid && !($v.affirmpassword.required))}"></span> -->
72
- <span v-if="$v.affirmpassword.required">不能为空</span>
73
- <span v-if="$v.affirmpassword.equalValid && !($v.affirmpassword.required)">两次密码不一致 !!</span>
74
- </div>
75
-
76
- </validator>
77
- </article>
78
- <footer slot="modal-footer" class="footerbtn">
79
- <button type="button" class="btn btn-success" @click='confirm' :disabled="!$v.valid">确认</button>
80
- <button type="button" class="btn btn-default" @click='close'>取消</button>
81
- </footer>
82
- <modal>
83
- <!-- modifyPassword() -->
84
- </modal>
85
- </modal>
86
- </div>
87
- </template>
88
-
89
- <script>
90
- import co from 'co'
91
- import * as Util from '../Util'
92
-
93
- let saveGen = function * (self) {
94
- self.deliver.ename = self.functions.ename
95
- // let res = yield self.$post('rs/user/entity', {data: self.deliver})
96
- // let res = yield self.$post('rs/db/modifypassword', {data: self.deliver})
97
- let res = yield self.$post('rs/db/modifypwd', {data: self.deliver})
98
- if (res.status === 200 || res.status === 204) {
99
- self.modify = false
100
- self.deliver.password = ''
101
- self.deliver.newpassword = ''
102
- self.deliver.affirmpassword = ''
103
- }
104
- }
105
-
106
- export default {
107
- title: '菜单选择',
108
- props: ['functions'],
109
- data () {
110
- return {
111
- modify: false,
112
- deliver: {
113
- password: '',
114
- newpassword: '',
115
- affirmpassword: ''
116
- }
117
- }
118
- },
119
- computed: {
120
- date () {
121
- return Util.getNowDate()
122
- }
123
- },
124
- methods: {
125
- open (row) {
126
- if (row.link) {
127
- // this.$goto(row.link, {userid: this.functions, source: {isRead: 'modify'}}, 'home-page')
128
- this.$goto(row.link, {f: this.functions}, 'home-page')
129
- }
130
- },
131
- // 修改密码操作
132
- close () {
133
- this.modify = false
134
- },
135
- confirm () {
136
- let gen = saveGen(this)
137
- co(gen)
138
- }
139
- },
140
- events: {
141
- 'select-changed': function (data) {
142
- // 事件回调内的 `this` 自动绑定到注册它的实例上
143
- this.open(data.val)
144
- }
145
- }
146
- }
147
- </script>
148
- <style>
149
- /* 头部样式,大部分使用放在标签内 */
150
- .head {
151
- color: #fff;
152
- height: 110px;
153
- width: 100%;
154
- }
155
- /* 菜单头部与内容区域的中间的白色线 */
156
- .whiteline {
157
- height: 1px;
158
- background: #fff;
159
- margin: 0px 30px;
160
- }
161
- /*修改密码body界面样式*/
162
- .modifystyle {
163
- background: #FCFEEE;
164
- }
165
- .modifystyle div{
166
- height: auto;
167
- margin-bottom: 15px;
168
- /*text-align: center;*/
169
- margin-left: 20%;
170
- }
171
- /*bootstrap字体图标要手动调整,所以使用字体图标的span必须紧跟在input后面,负责会错位*/
172
- .modifystyle div input + span{
173
- top: 0!important;
174
- right: 32%;
175
- }
176
- .modifystyle span{
177
- color: red;
178
- }
179
- /*修改密码底部按钮部分样式*/
180
- .footerbtn {
181
- text-align: center;
182
- padding: 15px;
183
- }
184
- .footerbtn button {
185
- width: 100px;
186
- margin-left: 20px;
187
- }
188
- </style>
1
+ <template>
2
+ <div class="auto">
3
+ <div class="head">
4
+ <img src="../../../static/loginlogo.png" alt="图片加载未完成"
5
+ style="float:left;width: 100px; height: 80px; margin: 10px 20px 20px 20px;"/>
6
+ <div style="float:left;width:auto;height:130px;padding-top:10px;">
7
+ <h3 style="font-size: 22px;">欢迎使用陕西燃气管理系统</h3>
8
+ <h5 style="font-size: 15px;">Welcome to ShanXi GAS Manage System</h5>
9
+ </div>
10
+
11
+ <h5 style="float:right;margin-top:70px;margin-right:80px;">
12
+
13
+ <span class="glyphicon glyphicon-calendar"></span>
14
+ {{ date }}&nbsp;&nbsp;
15
+
16
+ <span class="glyphicon glyphicon-copyright-mark"></span>
17
+ 系统版本:V1.0.0&nbsp;&nbsp;
18
+
19
+ <span class="glyphicon glyphicon-th-large"></span>
20
+ 蓝色主题&nbsp;&nbsp;
21
+ <a href="#" style="color:#fff;text-decoration:none;" @click.stop.prevent="modify=true">
22
+ <span class="glyphicon glyphicon-cog"></span>
23
+ 修改密码
24
+ </a>
25
+ </h5>
26
+ </div>
27
+ <div class="auto">
28
+ <!-- 白线div -->
29
+ <div class="whiteline">
30
+ </div>
31
+ <select-menu :model="functions.functions"></select-menu>
32
+ </div>
33
+ <modal v-ref:modal :show.sync="modify" :backdrop="false" class="auto">
34
+ <header slot="modal-header" class="modal-header">
35
+ <h4 class="modal-title">修改密码</h4>
36
+ </header>
37
+ <article slot="modal-body" class="modal-body modifystyle">
38
+ <validator name="v">
39
+
40
+ <div class="has-feedback"
41
+ :class="{'has-warning':$v.password.required,'has-error':$v.password.equalValid && !($v.password.required),
42
+ 'has-success': !$v.password.required && !($v.password.equalValid && !($v.password.required))}">
43
+ <label for="password" class="control-label">原始密码:&nbsp;&nbsp;</label>
44
+ <input type="password" v-model="deliver.password" class="form-control" id="password" v-validate:password="{ required: true, equalValid: functions.password }">
45
+ <span class="glyphicon glyphicon-ok form-control-feedback" v-if="!$v.password.required && !($v.password.equalValid && !($v.password.required))"></span>
46
+ <!-- <span class="glyphicon form-control-feedback"
47
+ :class="{'glyphicon-warning-sign':$v.password.required,'glyphicon-remove'$v.password.equalValid && !($v.password.required):,
48
+ 'glyphicon-ok':!$v.password.required && !($v.password.equalValid && !($v.password.required))}"></span> -->
49
+ <span v-if="$v.password.required">不能为空</span>
50
+ <span v-if="$v.password.equalValid && !($v.password.required)">原始密码错误 !!</span>
51
+ </div>
52
+
53
+ <div class="has-feedback"
54
+ :class="{'has-warning':$v.newpassword.required, 'has-success': !$v.newpassword.required}">
55
+ <label for="newpassword" class="control-label">新的密码:&nbsp;&nbsp;</label>
56
+ <input type="password" v-model="deliver.newpassword" class="form-control" id="newpassword" v-validate:newpassword='{ required: true }'>
57
+ <span class="glyphicon glyphicon-ok form-control-feedback" v-if="!$v.newpassword.required"></span>
58
+ <!-- <span class="glyphicon form-control-feedback"
59
+ :class="{'glyphicon-warning-sign':$v.newpassword.required,'glyphicon-ok':!$v.newpassword.required }"></span> -->
60
+ <span v-if="$v.newpassword.required">不能为空</span>
61
+ </div>
62
+
63
+ <div class="has-feedback"
64
+ :class="{'has-warning':$v.affirmpassword.required,'has-error':$v.affirmpassword.equalValid && !($v.affirmpassword.required),
65
+ 'has-success': !$v.affirmpassword.required && !($v.affirmpassword.equalValid && !($v.affirmpassword.required))}">
66
+ <label for="affirmpassword" class="control-label">确认密码:&nbsp;&nbsp;</label>
67
+ <input type="password" v-model="deliver.affirmpassword" class="form-control" id="affirmpassword" v-validate:affirmpassword="{ required: true, equalValid: deliver.newpassword }">
68
+ <span class="glyphicon glyphicon-ok form-control-feedback" v-if="!$v.affirmpassword.required && !($v.affirmpassword.equalValid && !($v.affirmpassword.required))"></span>
69
+ <!-- <span class="glyphicon form-control-feedback"
70
+ :class="{'glyphicon-warning-sign':$v.affirmpassword.required,'glyphicon-remove'$v.affirmpassword.equalValid && !($v.affirmpassword.required):,
71
+ 'glyphicon-ok':!$v.affirmpassword.required && !($v.affirmpassword.equalValid && !($v.affirmpassword.required))}"></span> -->
72
+ <span v-if="$v.affirmpassword.required">不能为空</span>
73
+ <span v-if="$v.affirmpassword.equalValid && !($v.affirmpassword.required)">两次密码不一致 !!</span>
74
+ </div>
75
+
76
+ </validator>
77
+ </article>
78
+ <footer slot="modal-footer" class="footerbtn">
79
+ <button type="button" class="btn btn-success" @click='confirm' :disabled="!$v.valid">确认</button>
80
+ <button type="button" class="btn btn-default" @click='close'>取消</button>
81
+ </footer>
82
+ <modal>
83
+ <!-- modifyPassword() -->
84
+ </modal>
85
+ </modal>
86
+ </div>
87
+ </template>
88
+
89
+ <script>
90
+ import co from 'co'
91
+ import * as Util from '../Util'
92
+
93
+ let saveGen = function * (self) {
94
+ self.deliver.ename = self.functions.ename
95
+ // let res = yield self.$post('rs/user/entity', {data: self.deliver})
96
+ // let res = yield self.$post('rs/db/modifypassword', {data: self.deliver})
97
+ let res = yield self.$post('rs/db/modifypwd', {data: self.deliver})
98
+ if (res.status === 200 || res.status === 204) {
99
+ self.modify = false
100
+ self.deliver.password = ''
101
+ self.deliver.newpassword = ''
102
+ self.deliver.affirmpassword = ''
103
+ }
104
+ }
105
+
106
+ export default {
107
+ title: '菜单选择',
108
+ props: ['functions'],
109
+ data () {
110
+ return {
111
+ modify: false,
112
+ deliver: {
113
+ password: '',
114
+ newpassword: '',
115
+ affirmpassword: ''
116
+ }
117
+ }
118
+ },
119
+ computed: {
120
+ date () {
121
+ return Util.getNowDate()
122
+ }
123
+ },
124
+ methods: {
125
+ open (row) {
126
+ if (row.link) {
127
+ // this.$goto(row.link, {userid: this.functions, source: {isRead: 'modify'}}, 'home-page')
128
+ this.$goto(row.link, {f: this.functions}, 'home-page')
129
+ }
130
+ },
131
+ // 修改密码操作
132
+ close () {
133
+ this.modify = false
134
+ },
135
+ confirm () {
136
+ let gen = saveGen(this)
137
+ co(gen)
138
+ }
139
+ },
140
+ events: {
141
+ 'select-changed': function (data) {
142
+ // 事件回调内的 `this` 自动绑定到注册它的实例上
143
+ this.open(data.val)
144
+ }
145
+ }
146
+ }
147
+ </script>
148
+ <style>
149
+ /* 头部样式,大部分使用放在标签内 */
150
+ .head {
151
+ color: #fff;
152
+ height: 110px;
153
+ width: 100%;
154
+ }
155
+ /* 菜单头部与内容区域的中间的白色线 */
156
+ .whiteline {
157
+ height: 1px;
158
+ background: #fff;
159
+ margin: 0px 30px;
160
+ }
161
+ /*修改密码body界面样式*/
162
+ .modifystyle {
163
+ background: #FCFEEE;
164
+ }
165
+ .modifystyle div{
166
+ height: auto;
167
+ margin-bottom: 15px;
168
+ /*text-align: center;*/
169
+ margin-left: 20%;
170
+ }
171
+ /*bootstrap字体图标要手动调整,所以使用字体图标的span必须紧跟在input后面,负责会错位*/
172
+ .modifystyle div input + span{
173
+ top: 0!important;
174
+ right: 32%;
175
+ }
176
+ .modifystyle span{
177
+ color: red;
178
+ }
179
+ /*修改密码底部按钮部分样式*/
180
+ .footerbtn {
181
+ text-align: center;
182
+ padding: 15px;
183
+ }
184
+ .footerbtn button {
185
+ width: 100px;
186
+ margin-left: 20px;
187
+ }
188
+ </style>
@@ -61,13 +61,19 @@
61
61
  // let res = yield self.$post('rs/db/modifypassword', {data: self.deliver})
62
62
  // let res = yield self.$resetpost('/rs/db/modifypwd', {data: self.deliver})
63
63
  // Util.f.password = self.deliver.newpassword
64
- let res = yield self.$resetpost('/rs/user/modifypwd', {data: self.deliver })
64
+ let res = yield self.$resetpost('/rs/user/modifypwd', {data: self.deliver }, { resolveMsg: null, rejectMsg: '请求错误,修改密码失败!' })
65
65
  self.$login.f.password = self.deliver.newpassword
66
66
  if (res.data) {
67
- self.deliver.password = ''
68
- self.deliver.newpassword = ''
69
- self.deliver.affirmpassword = ''
70
- self.show = false
67
+ console.log("修改密码返回:" , res.data)
68
+ if (res.data===true || res.data==='true') {
69
+ self.deliver.password = ''
70
+ self.deliver.newpassword = ''
71
+ self.deliver.affirmpassword = ''
72
+ self.show = false
73
+ self.$showAlert("修改密码成功", 'success', 2000)
74
+ } else {
75
+ self.$showAlert("修改密码失败,原因:" + res.data.msg, 'warning', 2000)
76
+ }
71
77
  }
72
78
  }
73
79
  export default {
@@ -0,0 +1,211 @@
1
+ <template>
2
+ <div :class="style" v-show="companyshow">
3
+ <label class="font_normal_body">公&emsp;&emsp;司</label>
4
+ <right-tree @re-res="getorg"
5
+ :mustselect="mustselect"
6
+ :initresid='initres.org'></right-tree>
7
+ </div>
8
+ <div :class="style" v-show="departmentshow">
9
+ <label class="font_normal_body">部&emsp;&emsp;门</label>
10
+ <res-select restype='department' v-ref:department
11
+ @res-select="getdep"
12
+ :parentresid="depresid"
13
+ :specialquery="specialquery"
14
+ :initresid='initres.dep'
15
+ :mustselect="mustselect"
16
+ :is-mul="mul">
17
+ </res-select>
18
+ </div>
19
+ <div :class="style" v-show="operatorshow && (!cascade)">
20
+ <label class="font_normal_body">人&emsp;&emsp;员</label>
21
+ <res-select restype='user'
22
+ @res-select="getuser"
23
+ :parentresid="depresid"
24
+ :initresid='initres.user'
25
+ :mustselect="mustselect"
26
+ :is-mul="mul">
27
+ </res-select>
28
+ </div>
29
+ <div :class="style" v-show="operatorshow && cascade">
30
+ <label class="font_normal_body">人&emsp;&emsp;员</label>
31
+ <res-select restype='user'
32
+ @res-select="getuser"
33
+ :parentresid="userresid"
34
+ :initresid='initres.user'
35
+ :mustselect="mustselect"
36
+ :is-mul="mul">
37
+ </res-select>
38
+ </div>
39
+ <div :class="style " v-if="sliceareashow" >
40
+ <label class="font_normal_body">片&emsp;&emsp;区</label>
41
+ <v-select :value.sync="slice_area" v-model="slice_area" @change='getarea'
42
+ :options='sliceArea' placeholder='片区/管理站' filer-key="name"
43
+ close-on-select v-ref:slice>
44
+ </v-select>
45
+ </div>
46
+ </template>
47
+ <script>
48
+ import plugin from '../../plugins/GetLoginInfoService'
49
+ import { HttpResetClass } from 'vue-client'
50
+ export default {
51
+ title: '资源选择测试',
52
+ props: {
53
+ style: {
54
+ type: String,
55
+ default: 'col-sm-2 form-group'
56
+ },
57
+ mul: {
58
+ type: Boolean,
59
+ default: true
60
+ },
61
+ //是否只查询营业厅
62
+ specialquery: {
63
+ type: Boolean,
64
+ default: false
65
+ },
66
+ //初始值
67
+ initres: {
68
+ type: Object,
69
+ default: null,
70
+ },
71
+ showComponent:{
72
+ default:['company','department','operator','slicearea']
73
+ },
74
+ //人员是否和部门关联
75
+ cascade: {
76
+ type: Boolean,
77
+ default: true
78
+ },
79
+ selectin: {
80
+ type: Boolean,
81
+ default: true
82
+ }
83
+ },
84
+ data () {
85
+ return {
86
+ orgresid:[this.$login.f.orgid],
87
+ depresid:[],
88
+ userresid:[],
89
+ operatorsid: [],
90
+ sliceArea: [],
91
+ slice_area:[],
92
+ companyshow:false,
93
+ departmentshow:false,
94
+ operatorshow:false,
95
+ sliceareashow:false,
96
+ mustselect:false,
97
+ obj:{
98
+ orgnames:[],
99
+ depnames:[],
100
+ operatornames:[]
101
+ }
102
+ }
103
+ },
104
+ ready () {
105
+ if(this.$login.r.includes('部门默认选中')&& this.selectin){
106
+ this.initres.dep = [this.$login.f.depids]
107
+ }
108
+ if(this.$login.r.includes('人员默认选中')&& this.selectin){
109
+ this.initres.user = [this.$login.f.id]
110
+ if(this.$login.r.includes('人员强制选中')){
111
+ this.mustselect = true
112
+ }
113
+ }
114
+ this.initComponent();
115
+ this.initAreas(this.$login.f.orgid)
116
+ },
117
+ methods:{
118
+ initComponent(){
119
+ let self=this;
120
+ this.showComponent.find((item)=>{
121
+ switch(item){
122
+ case 'company': self.companyshow=true; break;
123
+ case 'department': self.departmentshow=true; break;
124
+ case 'operator': self.operatorshow=true; break;
125
+ case 'slicearea': self.sliceareashow=true; break;
126
+ }
127
+ })
128
+ },
129
+ // 初始化片区
130
+ async initAreas (val) {
131
+ if (val) {
132
+ let http = new HttpResetClass()
133
+ let getAllArea = await http.load('POST', '/rs/search', {
134
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
135
+ userid: this.$login.f.id
136
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
137
+ let arr = getAllArea.data.filter((res) => {
138
+ if(Array.isArray(val)){
139
+ for (let i = 0; i <val.length ; i++) {
140
+ if(res.parentid == val[i]){
141
+ return true
142
+ }
143
+ }
144
+ }
145
+ return res.parentid == val
146
+ })
147
+ this.sliceArea = []
148
+ this.slice_area = []
149
+ arr.forEach((res) => {
150
+ this.sliceArea.push({label: res.name, value: {name: res.name, code:res.number}})
151
+ })
152
+ }
153
+ },
154
+ returnOrg(ids){
155
+ let limit = this.$login.r.includes('数据授权限定')
156
+
157
+ let condition;
158
+ if(this.depresid.length > 0)
159
+ condition = plugin.convertToIn(this.depresid);
160
+ else
161
+ condition = this.$login.f.orgid;
162
+ if(this.userresid.length > 0){
163
+ condition += plugin.convertToIn(this.userresid);
164
+ } else {
165
+ if (limit) {
166
+ let depids = []
167
+ for (let row of this.$refs.department.resoptions) {
168
+ depids.push(row.value)
169
+ }
170
+ let depid = depids.length ? plugin.convertToIn(depids) : `('')`
171
+ condition += depid;
172
+ }
173
+ }
174
+ if(ids && ids.length > 0){
175
+ condition += plugin.convertToIn(ids);
176
+ }
177
+ if(this.slice_area.length>0){
178
+ condition += "'" + this.slice_area[0].name+"'"
179
+ }
180
+ this.$dispatch('re-res',condition,this.obj)
181
+ },
182
+ getorg (obj) {
183
+ this.depresid=obj.resids
184
+ this.obj.orgnames = obj.res
185
+ this.initAreas(obj.resids)
186
+ this.returnOrg();
187
+ },
188
+ getdep(obj,val) {
189
+ this.obj.depnames = val
190
+ this.userresid=obj
191
+ this.returnOrg();
192
+ },
193
+ getuser(obj,val) {
194
+ this.obj.operatornames = val
195
+ this.operatorsid = obj
196
+ this.returnOrg(obj);
197
+ },
198
+ getarea(val) {
199
+ this.slice_area=val
200
+ if(this.operatorsid){
201
+ this.returnOrg(this.operatorsid);
202
+ }else{
203
+ this.returnOrg();
204
+ }
205
+ }
206
+ },
207
+ watch: {
208
+
209
+ }
210
+ }
211
+ </script>
@@ -70,6 +70,9 @@
70
70
  //找到跟节点
71
71
  ergodicList (val,parentname) {
72
72
  if(val.children.length > 0 ){
73
+ if (val.name !== '组织机构' && parentname !== '资源管理'){
74
+ this.resoptions.push({label: parentname === '组织机构' ? val.name : val.name+' - '+parentname, value: val.id})
75
+ }
73
76
  parentname=parentname+val.name
74
77
  this.treetoList(val,parentname)
75
78
  }else {