Merge remote-tracking branch 'origin/dev' into warm-flw-future

# Conflicts:
#	src/views/system/user/index.vue
This commit is contained in:
疯狂的狮子Li 2024-12-27 13:49:08 +08:00
commit c0c5c8d7d4
5 changed files with 32 additions and 19 deletions

View File

@ -16,7 +16,12 @@
// ele
--brder-color: #e8e8e8;
// 添加 tag 相关变量
--tags-view-active-bg: var(--el-color-primary);
--tags-view-active-border-color: var(--el-color-primary);
}
html.dark {
--menuBg: #1d1e1f;
--menuColor: #bfcbd9;
@ -36,6 +41,25 @@ html.dark {
.el-tree-node__content {
--el-color-primary-light-9: #262727;
}
.el-button--primary {
--el-button-bg-color: var(--el-color-primary-dark-6);
--el-button-border-color: var(--el-color-primary-light-2);
}
.el-switch {
--el-switch-on-color: var(--el-color-primary-dark-6);
--el-switch-border-color: var(--el-color-primary-light-2);
}
.el-tag--primary {
--el-tag-bg-color: var(--el-color-primary-dark-6);
--el-tag-border-color: var(--el-color-primary-light-2);
}
// 在深色模式下使用更深的颜色
--tags-view-active-bg: var(--el-color-primary-dark-6);
--tags-view-active-border-color: var(--el-color-primary-light-2);
// vxe-table 主题
--vxe-font-color: #98989e;
--vxe-primary-color: #2c7ecf;
@ -108,4 +132,4 @@ $base-sidebar-width: 200px;
dangerColor: $--color-danger;
infoColor: $--color-info;
warningColor: $--color-warning;
}
}

View File

@ -91,8 +91,8 @@ const activeMenu = computed(() => {
let activePath = path;
if (path !== undefined && path.lastIndexOf('/') > 0 && hideList.indexOf(path) === -1) {
const tmpPath = path.substring(1, path.length);
activePath = '/' + tmpPath.substring(0, tmpPath.indexOf('/'));
if (!route.meta.link) {
activePath = '/' + tmpPath.substring(0, tmpPath.indexOf('/'));
appStore.toggleSideBarHide(false);
}
} else if (!route.children) {

View File

@ -31,7 +31,7 @@ export const hasRoles: Directive = {
const { roles } = useUserStore();
if (value && value instanceof Array && value.length > 0) {
const hasRole = roles.some((role: string) => {
return role === 'admin' || value.includes(role);
return role === 'superadmin' || role === 'admin' || value.includes(role);
});
if (!hasRole) {
el.parentNode && el.parentNode.removeChild(el);

View File

@ -70,8 +70,8 @@ const isActive = (r: RouteLocationNormalized): boolean => {
const activeStyle = (tag: RouteLocationNormalized) => {
if (!isActive(tag)) return {};
return {
'background-color': theme.value,
'border-color': theme.value
'background-color': 'var(--tags-view-active-bg)',
'border-color': 'var(--tags-view-active-border-color)'
};
};
const isAffix = (tag: RouteLocationNormalized) => {

View File

@ -68,7 +68,7 @@
</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-has-permi="['system:user:delete']" type="danger" plain :disabled="multiple" icon="Delete" @click="handleDelete()">
<el-button v-has-permi="['system:user:remove']" type="danger" plain :disabled="multiple" icon="Delete" @click="handleDelete()">
删除
</el-button>
</el-col>
@ -81,8 +81,8 @@
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item icon="Download" @click="importTemplate">下载模板</el-dropdown-item>
<el-dropdown-item icon="Top" @click="handleImport">导入数据</el-dropdown-item>
<el-dropdown-item icon="Download" @click="handleExport"> 导出数据</el-dropdown-item>
<el-dropdown-item v-has-permi="['system:user:import']" icon="Top" @click="handleImport">导入数据</el-dropdown-item>
<el-dropdown-item v-has-permi="['system:user:export']" icon="Download" @click="handleExport">导出数据</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
@ -579,15 +579,6 @@ function submitFileForm() {
uploadRef.value?.submit();
}
/** 初始化部门数据 */
const initTreeData = async () => {
//
if (deptOptions.value === undefined) {
const row = await treeselect();
deptOptions.value = row.data;
}
};
/** 重置操作表单 */
const reset = () => {
form.value = { ...initFormData };
@ -605,7 +596,6 @@ const handleAdd = async () => {
const { data } = await api.getUser();
dialog.visible = true;
dialog.title = '新增用户';
await initTreeData();
postOptions.value = data.posts;
roleOptions.value = data.roles;
form.value.password = initPassword.value.toString();
@ -618,7 +608,6 @@ const handleUpdate = async (row?: UserForm) => {
const { data } = await api.getUser(userId);
dialog.visible = true;
dialog.title = '修改用户';
await initTreeData();
Object.assign(form.value, data.user);
postOptions.value = data.posts;
roleOptions.value = data.roles;