Merge remote-tracking branch 'origin/feature/1.6.1' into feature/1.6.1

This commit is contained in:
aoshiguchen
2022-11-25 18:34:17 +08:00
4 changed files with 87 additions and 16 deletions
+12
View File
@@ -85,3 +85,15 @@ export function updatePassword(params) {
})
}
/**
* 修改自己密码
* @param params
*/
export function updateUserPassword(params) {
return request({
url: '/user/current-user/update/password',
method: 'post',
data: params
})
}
+1
View File
@@ -60,6 +60,7 @@ export default {
logOut: '退出登录',
dashboard: '首页',
github: '项目地址',
updatePwd: '修改密码',
screenfull: '全屏',
theme: '换肤'
},
@@ -33,12 +33,17 @@
{{$t('navbar.github')}}
</el-dropdown-item>
</a>
<el-dropdown-item>
<span @click="updatePwdvisible = true">{{$t('navbar.updatePwd')}}</span>
</el-dropdown-item>
<el-dropdown-item divided>
<span @click="logout" style="display:block;">{{$t('navbar.logOut')}}</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
<UpdatePwd :visible="updatePwdvisible" @cancel="handleCancel"></UpdatePwd>
</el-menu>
</template>
@@ -50,9 +55,11 @@ import ErrorLog from '@/components/ErrorLog'
import Screenfull from '@/components/Screenfull'
import LangSelect from '@/components/LangSelect'
import ThemePicker from '@/components/ThemePicker'
import UpdatePwd from '../../system/components/update-pwd'
export default {
components: {
UpdatePwd,
Breadcrumb,
Hamburger,
ErrorLog,
@@ -68,6 +75,11 @@ export default {
'loginName'
])
},
data() {
return {
updatePwdvisible: false
}
},
methods: {
toggleSideBar() {
this.$store.dispatch('toggleSideBar')
@@ -76,6 +88,9 @@ export default {
this.$store.dispatch('LogOut').then(() => {
location.reload()// In order to re-instantiate the vue-router object to avoid bugs
})
},
handleCancel() {
this.updatePwdvisible = false
}
}
}
@@ -130,12 +145,12 @@ export default {
height: 40px;
border-radius: 10px;
}
.el-icon-caret-bottom {
/*.el-icon-caret-bottom {
position: absolute;
right: -20px;
top: 25px;
font-size: 12px;
}
}*/
}
}
}
@@ -4,14 +4,21 @@
:visible.sync="visible"
:close-on-click-modal="false"
:before-close="onCancel"
:width="width"
>
<el-form :rules="rules" ref='form' :model="formData" label-position="left" label-width="70px" style='width: 400px margin-left:50px'>
<el-form-item label="登录名" prop="loginName">
<el-form :rules="rules" ref='form' :model="formData" label-position="left" label-width="80px" style='padding:0 20px'>
<el-form-item label="登录名" prop="loginName" v-if="row">
<el-input v-model="formData.loginName" disabled/>
</el-form-item>
<el-form-item label="旧密码" prop="oldLoginPassword" v-if="!row">
<el-input v-model="formData.oldLoginPassword"/>
</el-form-item>
<el-form-item label="新密码" prop="loginPassword">
<el-input v-model="formData.loginPassword"/>
</el-form-item>
<el-form-item label="确认密码" prop="confirmPassword" v-if="!row">
<el-input v-model="formData.confirmPassword"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="updatePwd">确定</el-button>
@@ -22,20 +29,42 @@
</template>
<script>
import { updatePassword } from '@/api/user'
import { updatePassword, updateUserPassword } from '@/api/user'
export default {
name: 'updatePwd',
props: {
row: Object,
visible: Boolean
row: {
type: Object,
default: null
},
visible: Boolean,
width: {
type: String,
default: '500px'
}
},
data() {
const validatorValue = (rule, value, callback) => {
console.log(value)
if (value === '' || !value) {
console.log(1)
callback(new Error('确认密码必填'))
} else if (this.formData.loginPassword !== value) {
console.log(2)
callback(new Error('与新密码不一致'))
} else {
console.log(3)
callback()
}
}
return {
formData: {
id: undefined,
loginName: undefined,
loginPassword: undefined
loginPassword: undefined,
oldLoginPassword: undefined,
confirmPassword: undefined
},
rules: {
loginName: [
@@ -44,6 +73,12 @@ export default {
loginPassword: [
{ required: true, message: '密码必填', trigger: 'blur' },
{ min: 6, max: 10, message: '密码长度为 6 到 10 位之间', trigger: 'blur' }
],
oldLoginPassword: [
{ required: true, message: '旧密码必填', trigger: 'blur' }
],
confirmPassword: [
{ required: true, validator: validatorValue, trigger: 'blur' }
]
}
}
@@ -51,7 +86,7 @@ export default {
watch: {
visible(val) {
if (val) {
this.getRow()
this.row && this.getRow()
}
}
},
@@ -64,13 +99,21 @@ export default {
updatePwd() {
this.$refs['form'].validate(valid => {
if (valid) {
updatePassword(this.formData).then(res => {
console.log(res)
if (res.data.code === 0) {
this.$message.success('修改成功')
this.onCancel()
}
})
if (this.row) {
updatePassword(this.formData).then(res => {
if (res.data.code === 0) {
this.$message.success('修改成功')
this.onCancel()
}
})
} else {
updateUserPassword(this.formData).then(res => {
if (res.data.code === 0) {
this.$message.success('修改成功')
this.onCancel()
}
})
}
}
})
},