Browse Source

首次登录系统提示用户修改密码

master
yunuo970428 3 years ago
parent
commit
03329ec342
  1. 10
      anrui-system-ui/src/api/User/login.js
  2. 67
      anrui-system-ui/src/styles/el-form.scss
  3. 1
      anrui-system-ui/src/styles/index.scss
  4. 91
      anrui-system-ui/src/views/Home/Home.vue

10
anrui-system-ui/src/api/User/login.js

@ -9,6 +9,7 @@ class user {
data data
}) })
} }
logout(data) { // 退出 logout(data) { // 退出
return request({ return request({
url: '/portal/v1/sysuser/signOut', url: '/portal/v1/sysuser/signOut',
@ -16,6 +17,7 @@ class user {
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
updatePassword(data) { // 退出修改密码 updatePassword(data) { // 退出修改密码
return request({ return request({
url: '/portal/v1/sysuser/updatePassword', url: '/portal/v1/sysuser/updatePassword',
@ -23,6 +25,7 @@ class user {
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
reGetPwd(data) { reGetPwd(data) {
return request({ return request({
url: `/system/user/reGetPwd/${data.userName}/${data.userPhone}`, url: `/system/user/reGetPwd/${data.userName}/${data.userPhone}`,
@ -30,7 +33,12 @@ class user {
data: qs.stringify(data) data: qs.stringify(data)
}) })
} }
selectPasswordByUserSid(data) {
return request({
url: '/portal/v1/sysuser/selectPasswordByUserSid/' + data,
method: 'get'
})
}
} }
export default new user() export default new user()

67
anrui-system-ui/src/styles/el-form.scss

@ -0,0 +1,67 @@
.listconadd .title {
text-align: center;
font-size: 28px;
//line-height: 90px;
}
.listaddtop {
padding: 0 212px;
border-bottom: 2px solid #e0e3eb;
display: flex;
justify-content: space-between;
align-items: center;
line-height: 34px;
span {
padding: 0 15px;
}
}
.listconadd .demo-ruleForm {
padding: 22px 28px;
}
.el-collapse-item__header {
.el-icon-arrow-right:before {
content: "";
font-size: 20px;
}
}
.demo-ruleForm table {
width: 100%;
border-collapse: collapse;
border: 2px solid #e0e3eb;
border-spacing: 0;
//text-align: right;
td {
border-right: 2px solid #e0e3eb;
border-bottom: 2px solid #e0e3eb;
border-top: 2px solid #e0e3eb;
}
tr {
height: 40px;
}
.el-form-item {
display: inline-block;
}
.el-input {
display: inline-block;
}
}
.tleftb {
text-align: right;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
}
.icon {
color: #e84026;
margin-right: 4px;
}

1
anrui-system-ui/src/styles/index.scss

@ -7,6 +7,7 @@
@import './e-table.scss'; @import './e-table.scss';
@import './element-table.scss'; @import './element-table.scss';
@import './element-tabs.scss'; @import './element-tabs.scss';
@import './el-form.scss';
body { body {
height: 100%; height: 100%;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;

91
anrui-system-ui/src/views/Home/Home.vue

@ -162,6 +162,38 @@
<p>系统管理</p> <p>系统管理</p>
</li> --> </li> -->
<!--</ul>--> <!--</ul>-->
<el-dialog center :visible.sync="dialogVisible" width="40%" :show-close="false" :close-on-click-modal="false">
<el-form :model="form" class="formadd">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span>原密码</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input v-model="form.original" type="password" show-password/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>新密码</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input v-model="form.password" type="password" show-password/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span>确认密码</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input v-model="form.confirmPassword" type="password" show-password/></el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" size="small" @click="handleConirm"> </el-button>
<el-button size="small" @click="handleQuXiao"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -209,6 +241,13 @@
shuliang: { shuliang: {
workCount: '' workCount: ''
}, },
dialogVisible: false,
form: {
original: '',
password: '',
confirmPassword: '',
userSid: ''
},
timer: '', timer: '',
Orgname: '', Orgname: '',
departmentName: '', departmentName: '',
@ -222,8 +261,7 @@
}, },
created() { created() {
this.getNum() this.getsPasswordByUserSid()
this.timer = setInterval(this.getNum, 20000)
}, },
mounted() { mounted() {
this.Orgname = window.sessionStorage.getItem('Orgname') this.Orgname = window.sessionStorage.getItem('Orgname')
@ -238,6 +276,16 @@
// }) // })
}, },
methods: { methods: {
getsPasswordByUserSid() {
User.selectPasswordByUserSid(window.sessionStorage.getItem('userSid')).then((resp) => {
if (resp.success && resp.data) {
this.dialogVisible = true
} else {
this.getNum()
this.timer = setInterval(this.getNum, 20000)
}
})
},
getNum() { getNum() {
getTodoNum(window.sessionStorage.getItem('userSid')).then((resp) => { getTodoNum(window.sessionStorage.getItem('userSid')).then((resp) => {
if (resp.success) { if (resp.success) {
@ -245,6 +293,43 @@
} }
}) })
}, },
handleConirm() {
if (this.form.original === '') {
this.$message({ showClose: true, type: 'error', message: '原密码不能为空' })
return
}
if (this.form.password !== this.form.confirmPassword) {
this.$message({ showClose: true, type: 'error', message: '两次输入密码不一致' })
return
}
this.form.userSid = window.sessionStorage.getItem('userSid')
User.updatePassword(this.form).then((resp) => {
if (resp.success) {
const tip = '密码修改成功,请重新登录点击确定退出'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
type: 'warning'
}).then(() => {
this.handleQuXiao()
})
}
})
},
handleQuXiao() {
this.dialogVisible = false
this.form = {
original: '',
password: '',
confirmPassword: ''
}
User.logout({ token: getStorage() }).then((res) => {
if (res.success) {
removeStorage()
this.$store.commit('user/SET_UESRINFO', '')
this.$router.push({ path: '/login' })
}
})
},
todowork() { todowork() {
window.open('/#/todo' + '?token=' + getStorage(), '_blank') window.open('/#/todo' + '?token=' + getStorage(), '_blank')
// this.$router.push({ path: '/todo' + '?token=' + getStorage() }) // this.$router.push({ path: '/todo' + '?token=' + getStorage() })
@ -490,11 +575,13 @@
font-size: 14px; font-size: 14px;
color: #666; color: #666;
} }
.mark { .mark {
position: absolute; position: absolute;
top: 38%; top: 38%;
margin-left: 58px; margin-left: 58px;
} }
.mark { .mark {
::v-deep .el-badge__content { ::v-deep .el-badge__content {
font-size: 14px !important; font-size: 14px !important;

Loading…
Cancel
Save