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: '退出登录', logOut: '退出登录',
dashboard: '首页', dashboard: '首页',
github: '项目地址', github: '项目地址',
updatePwd: '修改密码',
screenfull: '全屏', screenfull: '全屏',
theme: '换肤' theme: '换肤'
}, },
@@ -33,12 +33,17 @@
{{$t('navbar.github')}} {{$t('navbar.github')}}
</el-dropdown-item> </el-dropdown-item>
</a> </a>
<el-dropdown-item>
<span @click="updatePwdvisible = true">{{$t('navbar.updatePwd')}}</span>
</el-dropdown-item>
<el-dropdown-item divided> <el-dropdown-item divided>
<span @click="logout" style="display:block;">{{$t('navbar.logOut')}}</span> <span @click="logout" style="display:block;">{{$t('navbar.logOut')}}</span>
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div>
<UpdatePwd :visible="updatePwdvisible" @cancel="handleCancel"></UpdatePwd>
</el-menu> </el-menu>
</template> </template>
@@ -50,9 +55,11 @@ import ErrorLog from '@/components/ErrorLog'
import Screenfull from '@/components/Screenfull' import Screenfull from '@/components/Screenfull'
import LangSelect from '@/components/LangSelect' import LangSelect from '@/components/LangSelect'
import ThemePicker from '@/components/ThemePicker' import ThemePicker from '@/components/ThemePicker'
import UpdatePwd from '../../system/components/update-pwd'
export default { export default {
components: { components: {
UpdatePwd,
Breadcrumb, Breadcrumb,
Hamburger, Hamburger,
ErrorLog, ErrorLog,
@@ -68,6 +75,11 @@ export default {
'loginName' 'loginName'
]) ])
}, },
data() {
return {
updatePwdvisible: false
}
},
methods: { methods: {
toggleSideBar() { toggleSideBar() {
this.$store.dispatch('toggleSideBar') this.$store.dispatch('toggleSideBar')
@@ -76,6 +88,9 @@ export default {
this.$store.dispatch('LogOut').then(() => { this.$store.dispatch('LogOut').then(() => {
location.reload()// In order to re-instantiate the vue-router object to avoid bugs 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; height: 40px;
border-radius: 10px; border-radius: 10px;
} }
.el-icon-caret-bottom { /*.el-icon-caret-bottom {
position: absolute; position: absolute;
right: -20px; right: -20px;
top: 25px; top: 25px;
font-size: 12px; font-size: 12px;
} }*/
} }
} }
} }
@@ -4,14 +4,21 @@
:visible.sync="visible" :visible.sync="visible"
:close-on-click-modal="false" :close-on-click-modal="false"
:before-close="onCancel" :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 :rules="rules" ref='form' :model="formData" label-position="left" label-width="80px" style='padding:0 20px'>
<el-form-item label="登录名" prop="loginName"> <el-form-item label="登录名" prop="loginName" v-if="row">
<el-input v-model="formData.loginName" disabled/> <el-input v-model="formData.loginName" disabled/>
</el-form-item> </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-form-item label="新密码" prop="loginPassword">
<el-input v-model="formData.loginPassword"/> <el-input v-model="formData.loginPassword"/>
</el-form-item> </el-form-item>
<el-form-item label="确认密码" prop="confirmPassword" v-if="!row">
<el-input v-model="formData.confirmPassword"/>
</el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="updatePwd">确定</el-button> <el-button type="primary" @click="updatePwd">确定</el-button>
@@ -22,20 +29,42 @@
</template> </template>
<script> <script>
import { updatePassword } from '@/api/user' import { updatePassword, updateUserPassword } from '@/api/user'
export default { export default {
name: 'updatePwd', name: 'updatePwd',
props: { props: {
row: Object, row: {
visible: Boolean type: Object,
default: null
},
visible: Boolean,
width: {
type: String,
default: '500px'
}
}, },
data() { 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 { return {
formData: { formData: {
id: undefined, id: undefined,
loginName: undefined, loginName: undefined,
loginPassword: undefined loginPassword: undefined,
oldLoginPassword: undefined,
confirmPassword: undefined
}, },
rules: { rules: {
loginName: [ loginName: [
@@ -44,6 +73,12 @@ export default {
loginPassword: [ loginPassword: [
{ required: true, message: '密码必填', trigger: 'blur' }, { required: true, message: '密码必填', trigger: 'blur' },
{ min: 6, max: 10, message: '密码长度为 6 到 10 位之间', 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: { watch: {
visible(val) { visible(val) {
if (val) { if (val) {
this.getRow() this.row && this.getRow()
} }
} }
}, },
@@ -64,13 +99,21 @@ export default {
updatePwd() { updatePwd() {
this.$refs['form'].validate(valid => { this.$refs['form'].validate(valid => {
if (valid) { if (valid) {
updatePassword(this.formData).then(res => { if (this.row) {
console.log(res) updatePassword(this.formData).then(res => {
if (res.data.code === 0) { if (res.data.code === 0) {
this.$message.success('修改成功') this.$message.success('修改成功')
this.onCancel() this.onCancel()
} }
}) })
} else {
updateUserPassword(this.formData).then(res => {
if (res.data.code === 0) {
this.$message.success('修改成功')
this.onCancel()
}
})
}
} }
}) })
}, },