优化登录

This commit is contained in:
闵宪瑞 2025-01-09 23:24:59 +08:00
parent cae25ad4ce
commit f1cd72e2ec
8 changed files with 79 additions and 12 deletions

View File

@ -41,3 +41,10 @@ export function logoutAdmin() {
export function userInfoAdmin() { export function userInfoAdmin() {
return adminRequest.get("/sys/user/info") return adminRequest.get("/sys/user/info")
} }
/**
*
* @param userId
*/
export function updatePasswordAdmin(data:any) {
return adminRequest.put("/sys/user/password",data)
}

View File

@ -2,7 +2,6 @@
<div class="head"> <div class="head">
<div class="head_l"> <div class="head_l">
<!-- <img src="/icoimg.png" alt="收缩" />--> <!-- <img src="/icoimg.png" alt="收缩" />-->
</div> </div>
<el-dropdown> <el-dropdown>
<div class="head_r"> <div class="head_r">
@ -14,19 +13,67 @@
</div> </div>
<template #dropdown> <template #dropdown>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item >个人中心</el-dropdown-item> <el-dropdown-item @click="drawer = true" >个人中心</el-dropdown-item>
<el-dropdown-item @click="logout">退出登录</el-dropdown-item> <el-dropdown-item @click="logout">退出登录</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>
</el-dropdown> </el-dropdown>
<el-drawer
v-model="drawer"
title="个人中心"
>
<el-form
ref="formRef"
:model="state.dynamicValidateForm"
label-position="top"
>
<el-form-item
prop="password"
label="原始密码"
:rules="[
{
required: true,
message: '原始密码不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="state.dynamicValidateForm.password" />
</el-form-item>
<el-form-item
prop="newPassword"
label="新密码"
:rules="[
{
required: true,
message: '新密码不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="state.dynamicValidateForm.newPassword" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm(formRef)">确定修改</el-button>
</el-form-item>
</el-form>
</el-drawer>
</div> </div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import type { FormInstance } from 'element-plus'
const formRef = ref<FormInstance>()
import { updatePasswordAdmin } from '~/api/user/adminUserApi'
const router = useRouter(); const router = useRouter();
const drawer = ref(false)
const state = reactive({
dynamicValidateForm:{}
})
/** /**
* 退出登录 * 退出登录
@ -37,6 +84,21 @@ const logout = () => {
router.push('/login'); router.push('/login');
}) })
} }
/**
* 修改密码
* @param formEl
*/
const submitForm = (formEl: FormInstance | undefined) => {
if (!formEl) return
formEl.validate((valid) => {
if (valid) {
updatePasswordAdmin(state.dynamicValidateForm).then(result => {
})
}
})
}
</script> </script>
<style scoped> <style scoped>
.head{ .head{

View File

@ -21,7 +21,6 @@
<!-- <img class="module_code_img" :src="state.captchaUrl" @click="getCaptcha">--> <!-- <img class="module_code_img" :src="state.captchaUrl" @click="getCaptcha">-->
<!-- </div>--> <!-- </div>-->
<!-- </div>--> <!-- </div>-->
<div class="module_m"> <div class="module_m">
<div class="module_code"> <div class="module_code">
<el-radio-group v-model="state.role" class="ml-4"> <el-radio-group v-model="state.role" class="ml-4">

View File

@ -13,31 +13,30 @@ export const getUuid = (): string => {
export const getFrontList = () => { export const getFrontList = () => {
const routes = [ const routes = [
{ {
"path": "/", "path": "/admin/",
"name": "产品维度", "name": "产品维度",
"icon": "House", "icon": "House",
}, },
{ {
"path": "/view1", "path": "/admin/view1",
"name": "时间维度", "name": "时间维度",
"icon": "DataAnalysis", "icon": "DataAnalysis",
}, },
{ {
"path": "view2", "path": "/admin/view2",
"name": "地域维度", "name": "地域维度",
"icon": "DataAnalysis", "icon": "DataAnalysis",
}, },
{ {
"path": "view3", "path": "/admin/view3",
"name": "客户维度", "name": "客户维度",
"icon": "DataAnalysis", "icon": "DataAnalysis",
}, },
{ {
"path": "view4", "path": "/admin/view4",
"name": "销售收入维度", "name": "销售收入维度",
"icon": "DataAnalysis", "icon": "DataAnalysis",
}, },
] ]
return routes; return routes;
} }