Browse Source

添加用户个人中心等内容

develop
ljlong_2630 1 year ago
parent
commit
045a941fb5
  1. 77
      src/layout/components/Navbar.vue
  2. 4
      src/views/model/alert/policy.vue

77
src/layout/components/Navbar.vue

@ -19,7 +19,15 @@
</div>
<template #dropdown>
<el-dropdown-menu>
<router-link to="/user/profile">
<el-dropdown-item>个人中心</el-dropdown-item>
</router-link>
<el-dropdown-item command="setLayout">
<span>布局设置</span>
</el-dropdown-item>
<el-dropdown-item command="resetPwd">
<span>修改密码</span>
</el-dropdown-item>
<el-dropdown-item divided command="logout">
<span>退出登录</span>
</el-dropdown-item>
@ -27,6 +35,25 @@
</template>
</el-dropdown>
</div>
<el-dialog title="修改密码" v-model="open" width="600px" append-to-body draggable>
<el-form ref="pwdRef" :model="user" :rules="rules" label-width="80px">
<el-form-item label="旧密码" prop="oldPassword">
<el-input v-model="user.oldPassword" placeholder="请输入旧密码" type="password" show-password />
</el-form-item>
<el-form-item label="新密码" prop="newPassword">
<el-input v-model="user.newPassword" placeholder="请输入新密码" type="password" show-password />
</el-form-item>
<el-form-item label="确认密码" prop="confirmPassword">
<el-input v-model="user.confirmPassword" placeholder="请确认新密码" type="password" show-password/>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submit()"> </el-button>
<el-button @click="close"> </el-button>
</div>
</template>
</el-dialog>
</div>
</div>
</template>
@ -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
};
</script>
<style lang='scss' scoped>

4
src/views/model/alert/policy.vue

@ -198,7 +198,7 @@
</el-table-column>
<el-table-column label="浮点值" align="center" prop="floatValue" />
<el-table-column label="整数值" align="center" prop="intValue" />
<el-table-column label="开关值" align="center" prop="boolValue" >
<el-table-column label="布尔值" align="center" prop="boolValue" >
<template #default="scope">
{{getBoolValueDic(scope.row.boolValue)}}
</template>
@ -227,7 +227,7 @@
<el-table-column label="等级" align="center" prop="level" />
<el-table-column label="运算符" align="center" prop="operator" />
<el-table-column label="代码" align="center" prop="code" />
<el-table-column label="等级名称" align="center" prop="levelName" />
<el-table-column label="告警等级名称" align="center" prop="levelName" />
</el-table>
<pagination

Loading…
Cancel
Save