修复刷新丢失权限bug
This commit is contained in:
@ -12,7 +12,7 @@ VITE_APP_BASE_API = 'http://192.168.110.209:8899'
|
|||||||
# 罗成
|
# 罗成
|
||||||
# VITE_APP_BASE_API = 'http://192.168.110.213:8899'
|
# VITE_APP_BASE_API = 'http://192.168.110.213:8899'
|
||||||
# 朱银
|
# 朱银
|
||||||
# VITE_APP_BASE_API = 'http://192.168.110.180:8899'
|
# VITE_APP_BASE_API = 'http://192.168.110.149:8899'
|
||||||
#曾涛
|
#曾涛
|
||||||
# VITE_APP_BASE_API = 'http://192.168.110.171:8899'
|
# VITE_APP_BASE_API = 'http://192.168.110.171:8899'
|
||||||
|
|
||||||
|
@ -75,9 +75,7 @@ export const useUserStore = defineStore('user', () => {
|
|||||||
id: p.projectId,
|
id: p.projectId,
|
||||||
name: p.projectName || '未知项目'
|
name: p.projectName || '未知项目'
|
||||||
}));
|
}));
|
||||||
|
|
||||||
setProjects(projectList);
|
setProjects(projectList);
|
||||||
|
|
||||||
// 如果有缓存的选中项目,且该项目在当前项目列表中存在,则使用缓存的项目
|
// 如果有缓存的选中项目,且该项目在当前项目列表中存在,则使用缓存的项目
|
||||||
const storedProject = getSelectedProjectFromStorage();
|
const storedProject = getSelectedProjectFromStorage();
|
||||||
if (storedProject && projectList.some((p) => p.id === storedProject.id)) {
|
if (storedProject && projectList.some((p) => p.id === storedProject.id)) {
|
||||||
@ -88,17 +86,14 @@ export const useUserStore = defineStore('user', () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
const [err, res] = await to(getUserInfo());
|
const [err, res] = await to(getUserInfo());
|
||||||
console.log(111111111111);
|
|
||||||
|
|
||||||
if (res) {
|
if (res) {
|
||||||
const data = res.data;
|
const data = res.data;
|
||||||
const user = data.user;
|
const user = data.user;
|
||||||
const profile = user.avatar == '' || user.avatar == null ? defAva : user.avatar;
|
const profile = user.avatar == '' || user.avatar == null ? defAva : user.avatar;
|
||||||
|
|
||||||
if (data.roles && data.roles.length > 0) {
|
if (data.roles && data.roles.length > 0) {
|
||||||
setRoles();
|
|
||||||
permissionList.value = data.permissions;
|
permissionList.value = data.permissions;
|
||||||
roleList.value = data.roles;
|
roleList.value = data.roles;
|
||||||
|
setRoles();
|
||||||
} else {
|
} else {
|
||||||
roles.value = ['ROLE_DEFAULT'];
|
roles.value = ['ROLE_DEFAULT'];
|
||||||
}
|
}
|
||||||
@ -113,19 +108,16 @@ export const useUserStore = defineStore('user', () => {
|
|||||||
}
|
}
|
||||||
return Promise.reject(err);
|
return Promise.reject(err);
|
||||||
};
|
};
|
||||||
|
|
||||||
const setInfo = async () => {
|
const setInfo = async () => {
|
||||||
const [err, res] = await to(getUserInfo());
|
const [err, res] = await to(getUserInfo());
|
||||||
|
|
||||||
if (res) {
|
if (res) {
|
||||||
const data = res.data;
|
const data = res.data;
|
||||||
const user = data.user;
|
const user = data.user;
|
||||||
const profile = user.avatar == '' || user.avatar == null ? defAva : user.avatar;
|
const profile = user.avatar == '' || user.avatar == null ? defAva : user.avatar;
|
||||||
|
|
||||||
if (data.roles && data.roles.length > 0) {
|
if (data.roles && data.roles.length > 0) {
|
||||||
setRoles();
|
|
||||||
permissionList.value = data.permissions;
|
permissionList.value = data.permissions;
|
||||||
roleList.value = data.roles;
|
roleList.value = data.roles;
|
||||||
|
setRoles();
|
||||||
} else {
|
} else {
|
||||||
roles.value = ['ROLE_DEFAULT'];
|
roles.value = ['ROLE_DEFAULT'];
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="p-2">
|
<div class="p-2">
|
||||||
<transition :enter-active-class="proxy?.animate.searchAnimate.enter"
|
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
|
||||||
:leave-active-class="proxy?.animate.searchAnimate.leave">
|
|
||||||
<div v-show="showSearch" class="mb-[10px]">
|
<div v-show="showSearch" class="mb-[10px]">
|
||||||
<el-card shadow="hover">
|
<el-card shadow="hover">
|
||||||
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
|
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
|
||||||
@ -9,13 +8,11 @@
|
|||||||
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable @keyup.enter="handleQuery" />
|
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable @keyup.enter="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="类别编码" prop="deptCategory">
|
<el-form-item label="类别编码" prop="deptCategory">
|
||||||
<el-input v-model="queryParams.deptCategory" placeholder="请输入类别编码" clearable style="width: 240px"
|
<el-input v-model="queryParams.deptCategory" placeholder="请输入类别编码" clearable style="width: 240px" @keyup.enter="handleQuery" />
|
||||||
@keyup.enter="handleQuery" />
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="状态" prop="status">
|
<el-form-item label="状态" prop="status">
|
||||||
<el-select v-model="queryParams.status" placeholder="部门状态" clearable>
|
<el-select v-model="queryParams.status" placeholder="部门状态" clearable>
|
||||||
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label"
|
<el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||||
:value="dict.value" />
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@ -31,8 +28,7 @@
|
|||||||
<template #header>
|
<template #header>
|
||||||
<el-row :gutter="10">
|
<el-row :gutter="10">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button v-hasPermi="['system:dept:add']" type="primary" plain icon="Plus" @click="handleAdd()">新增
|
<el-button v-hasPermi="['system:dept:add']" type="primary" plain icon="Plus" @click="handleAdd()">新增 </el-button>
|
||||||
</el-button>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button type="info" plain icon="Sort" @click="handleToggleExpandAll">展开/折叠</el-button>
|
<el-button type="info" plain icon="Sort" @click="handleToggleExpandAll">展开/折叠</el-button>
|
||||||
@ -41,8 +37,14 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-table ref="deptTableRef" v-loading="loading" :data="deptList" row-key="deptId"
|
<el-table
|
||||||
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }" :default-expand-all="isExpandAll">
|
ref="deptTableRef"
|
||||||
|
v-loading="loading"
|
||||||
|
:data="deptList"
|
||||||
|
row-key="deptId"
|
||||||
|
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
|
||||||
|
:default-expand-all="isExpandAll"
|
||||||
|
>
|
||||||
<el-table-column prop="deptName" label="部门名称" width="260"></el-table-column>
|
<el-table-column prop="deptName" label="部门名称" width="260"></el-table-column>
|
||||||
<el-table-column prop="deptCategory" align="center" label="类别编码" width="200"></el-table-column>
|
<el-table-column prop="deptCategory" align="center" label="类别编码" width="200"></el-table-column>
|
||||||
<el-table-column prop="deptType" align="center" label="部门类型" width="200">
|
<el-table-column prop="deptType" align="center" label="部门类型" width="200">
|
||||||
@ -64,16 +66,13 @@
|
|||||||
<el-table-column fixed="right" align="center" label="操作">
|
<el-table-column fixed="right" align="center" label="操作">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tooltip content="修改" placement="top">
|
<el-tooltip content="修改" placement="top">
|
||||||
<el-button v-hasPermi="['system:dept:edit']" link type="primary" icon="Edit"
|
<el-button v-hasPermi="['system:dept:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)" />
|
||||||
@click="handleUpdate(scope.row)" />
|
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="新增" placement="top" v-if="scope.row.deptType != '2' && scope.row.deptType != '5'">
|
<el-tooltip content="新增" placement="top">
|
||||||
<el-button v-hasPermi="['system:dept:add']" link type="primary" icon="Plus"
|
<el-button v-hasPermi="['system:dept:add']" link type="primary" icon="Plus" @click="handleAdd(scope.row)" />
|
||||||
@click="handleAdd(scope.row)" />
|
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="删除" placement="top">
|
<el-tooltip content="删除" placement="top">
|
||||||
<el-button v-hasPermi="['system:dept:remove']" link type="primary" icon="Delete"
|
<el-button v-hasPermi="['system:dept:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)" />
|
||||||
@click="handleDelete(scope.row)" />
|
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -85,9 +84,14 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<el-col v-if="form.parentId !== 0" :span="24">
|
<el-col v-if="form.parentId !== 0" :span="24">
|
||||||
<el-form-item label="上级部门" prop="parentId">
|
<el-form-item label="上级部门" prop="parentId">
|
||||||
<el-tree-select v-model="form.parentId" :data="deptOptions"
|
<el-tree-select
|
||||||
:props="{ value: 'deptId', label: 'deptName', children: 'children' }" value-key="deptId"
|
v-model="form.parentId"
|
||||||
placeholder="选择上级部门" check-strictly />
|
:data="deptOptions"
|
||||||
|
:props="{ value: 'deptId', label: 'deptName', children: 'children' }"
|
||||||
|
value-key="deptId"
|
||||||
|
placeholder="选择上级部门"
|
||||||
|
check-strictly
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
@ -108,8 +112,7 @@
|
|||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="负责人" prop="leader">
|
<el-form-item label="负责人" prop="leader">
|
||||||
<el-select v-model="form.leader" placeholder="请选择负责人">
|
<el-select v-model="form.leader" placeholder="请选择负责人">
|
||||||
<el-option v-for="item in deptUserList" :key="item.userId" :label="item.userName"
|
<el-option v-for="item in deptUserList" :key="item.userId" :label="item.userName" :value="item.userId" />
|
||||||
:value="item.userId" />
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -126,32 +129,17 @@
|
|||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="部门状态">
|
<el-form-item label="部门状态">
|
||||||
<el-radio-group v-model="form.status">
|
<el-radio-group v-model="form.status">
|
||||||
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label
|
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label }}</el-radio>
|
||||||
}}</el-radio>
|
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="部门类型">
|
<el-form-item label="部门类型">
|
||||||
<el-select v-model="form.deptType" placeholder="请选择部门类型" @change="changeProject">
|
<el-select v-model="form.deptType" placeholder="请选择部门类型">
|
||||||
<el-option v-for="dict in sys_dept_type" :key="dict.value" :label="dict.label" :value="dict.value" />
|
<el-option v-for="dict in sys_dept_type" :key="dict.value" :label="dict.label" :value="dict.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12" v-if="form.deptType == '4'">
|
|
||||||
<el-form-item label="所属项目" prop="projectId">
|
|
||||||
<el-select v-model="form.projectId" placeholder="请选择所属项目">
|
|
||||||
<el-option v-for="item in projectList" :key="item.id" :label="item.projectName" :value="item.id" />
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12" v-if="form.deptType == '5'">
|
|
||||||
<el-form-item label="分包单位" prop="contractorId">
|
|
||||||
<el-select v-model="form.contractorId" placeholder="请选择分包单位">
|
|
||||||
<el-option v-for="item in contractorList" :key="item.id" :label="item.name" :value="item.id" />
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
@ -336,16 +324,6 @@ const handleUpdate = async (row: DeptVO) => {
|
|||||||
dialog.title = '修改部门';
|
dialog.title = '修改部门';
|
||||||
};
|
};
|
||||||
|
|
||||||
const changeProject = async (val: any) => {
|
|
||||||
if (val == '4' && (!projectList.value || !projectList.value.length)) {
|
|
||||||
const res = await getDeptList();
|
|
||||||
projectList.value = res.data;
|
|
||||||
} else if (val == '5' && (!contractorList.value || !contractorList.value.length)) {
|
|
||||||
const res = await optionProjectSelect(form.value.rowProjectId);
|
|
||||||
contractorList.value = res;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
const submitForm = () => {
|
const submitForm = () => {
|
||||||
deptFormRef.value?.validate(async (valid: boolean) => {
|
deptFormRef.value?.validate(async (valid: boolean) => {
|
||||||
|
Reference in New Issue
Block a user