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.
- package/.gradle/7.1/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/.gradle/7.1/executionHistory/executionHistory.bin +0 -0
- package/.gradle/7.1/executionHistory/executionHistory.lock +0 -0
- package/.gradle/7.1/fileHashes/fileHashes.bin +0 -0
- package/.gradle/7.1/fileHashes/fileHashes.lock +0 -0
- package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/.gradle/buildOutputCleanup/cache.properties +2 -2
- package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/.gradle/checksums/checksums.lock +0 -0
- package/.gradle/vcs-1/gc.properties +0 -0
- package/build/webpack.base.conf.js +4 -1
- package/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/gradle/wrapper/gradle-wrapper.properties +5 -0
- package/gradlew +185 -0
- package/gradlew.bat +89 -0
- package/package.json +102 -102
- package/src/App.vue +1 -1
- package/src/components/Main.vue +46 -152
- package/src/components/Util.js +343 -343
- package/src/components/equipment/EquipmentManage.vue +3 -3
- package/src/components/equipment/PcAdd.vue +1 -1
- package/src/components/equipment/PcList.vue +4 -3
- package/src/components/equipment/PhoneAdd.vue +1 -1
- package/src/components/equipment/PhoneList.vue +2 -2
- package/src/components/equipment/PosAdd.vue +24 -5
- package/src/components/equipment/PosList.vue +15 -15
- package/src/components/equipment/PosManage.vue +3 -2
- package/src/components/materialManage/materialList.vue +1 -1
- package/src/components/parammanage/ParamPage.vue +6 -6
- package/src/components/parammanage/ParamPages.vue +5 -5
- package/src/components/parammanage/SinglePage.vue +3 -3
- package/src/components/parammanage/SinglePages.vue +3 -3
- package/src/components/server/AddChangeMsg.vue +1 -1
- package/src/components/server/ChangeDeclare.vue +1 -1
- package/src/components/server/Login.vue +630 -528
- package/src/components/server/Menu.vue +188 -188
- package/src/components/server/ModifyPw.vue +11 -5
- package/src/components/server/NewResSelectGroup.vue +211 -0
- package/src/components/server/ResSelect.vue +3 -0
- package/src/components/server/ResSelectGroup.vue +23 -6
- package/src/components/server/RightTree.vue +86 -6
- package/src/components/server/RoleSelector.vue +4 -3
- package/src/components/server/TestResSelectGroup.vue +2 -2
- package/src/plugins/EncryptUtil.js +53 -0
- package/src/plugins/GetLoginInfoService.js +88 -104
- package/src/plugins/HeatGetLoginInfoService.js +491 -0
- package/src/plugins/validation.js +1 -1
- package/src/project/State.js +1 -1
- package/src/stores/AppData.js +1 -1
- package/src/stores/HeatAppData.js +38 -0
- package/src/styles/less/aofeng/themeOne/systemStyle.less +6 -6
- package/src/styles/less/aofeng/themeOne.less +4 -1
- package/src/styles/less/fonts-list.less +4 -4
- package/src/styles/less/stand.less +1 -1
- package/src/system.js +9 -0
- package/static/aodelogo.png +0 -0
- package/static/aodenewlogo.png +0 -0
- package/static/ewmlogo.png +0 -0
- package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
- package/.gradle/buildOutputCleanup/cache.properties.lock +0 -1
- /package/.gradle/{5.2.1 → 7.1/dependencies-accessors}/gc.properties +0 -0
- /package/.gradle/{5.2.1 → 7.1}/fileChanges/last-build.bin +0 -0
- /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 }}
|
15
|
-
|
16
|
-
<span class="glyphicon glyphicon-copyright-mark"></span>
|
17
|
-
系统版本:V1.0.0
|
18
|
-
|
19
|
-
<span class="glyphicon glyphicon-th-large"></span>
|
20
|
-
蓝色主题
|
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">原始密码: </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">新的密码: </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">确认密码: </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 }}
|
15
|
+
|
16
|
+
<span class="glyphicon glyphicon-copyright-mark"></span>
|
17
|
+
系统版本:V1.0.0
|
18
|
+
|
19
|
+
<span class="glyphicon glyphicon-th-large"></span>
|
20
|
+
蓝色主题
|
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">原始密码: </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">新的密码: </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">确认密码: </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
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
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">公  司</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">部  门</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">人  员</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">人  员</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">片  区</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 {
|