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 @@
-
+
+ 个人中心
+
+
+ 布局设置
+
+
+ 修改密码
+
退出登录
@@ -27,6 +35,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -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
+};