diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index d4deb34..b26d334 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -19,7 +19,15 @@ + + + + + + + + + + + + + + @@ -44,11 +71,13 @@ import RuoYiDoc from '@/components/RuoYi/Doc' import useAppStore from '@/store/modules/app' import useUserStore from '@/store/modules/user' import useSettingsStore from '@/store/modules/settings' - +import { resetUserPwd } from "@/api/system/user"; +import { updateUserPwd } from "@/api/system/user"; const appStore = useAppStore() const userStore = useUserStore() const settingsStore = useSettingsStore() - +const { proxy } = getCurrentInstance(); +let open = ref(false) function toggleSideBar() { appStore.toggleSideBar() } @@ -58,6 +87,9 @@ function handleCommand(command) { case "setLayout": setLayout(); break; + case "resetPwd": + resetPwd(); + break; case "logout": logout(); break; @@ -78,10 +110,49 @@ function logout() { }).catch(() => { }); } +/** 重置密码按钮操作 */ +const user = reactive({ + oldPassword: undefined, + newPassword: undefined, + confirmPassword: undefined +}); + +const equalToPassword = (rule, value, callback) => { + if (user.newPassword !== value) { + callback(new Error("两次输入的密码不一致")); + } else { + callback(); + } +}; +const rules = ref({ + oldPassword: [{ required: true, message: "旧密码不能为空", trigger: "blur" }], + newPassword: [{ required: true, message: "新密码不能为空", trigger: "blur" }, { min: 6, max: 20, message: "长度在 6 到 20 个字符", trigger: "blur" }], + confirmPassword: [{ required: true, message: "确认密码不能为空", trigger: "blur" }, { required: true, validator: equalToPassword, trigger: "blur" }] +}); + +/** 提交按钮 */ +function submit() { + proxy.$refs.pwdRef.validate(valid => { + if (valid) { + updateUserPwd(user.oldPassword, user.newPassword).then(response => { + proxy.$modal.msgSuccess("修改成功"); + open.value = false + }); + } + }); +}; + const emits = defineEmits(['setLayout']) function setLayout() { emits('setLayout'); } +/** 关闭按钮 */ +function close() { + open.value = false +}; +function resetPwd(row) { + open.value = true +};