From 02b5ca7c4868323424a8f1a5f6874ca09bc97917 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?=
<15040126243@163.com>
Date: Thu, 9 Apr 2026 13:18:07 +0800
Subject: [PATCH] =?UTF-8?q?add=20=E5=A2=9E=E5=8A=A0=20=E7=94=A8=E6=88=B7?=
=?UTF-8?q?=E7=AE=A1=E7=90=86=20=E7=94=A8=E6=88=B7=E8=AF=A6=E6=83=85?=
=?UTF-8?q?=E5=B1=95=E7=A4=BA=E6=8A=BD=E5=B1=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../styles/vendors/element-plus/_shell.scss | 3 +
src/views/system/user/index.vue | 19 +++-
src/views/system/user/view.vue | 88 +++++++++++++++++++
3 files changed, 108 insertions(+), 2 deletions(-)
create mode 100644 src/views/system/user/view.vue
diff --git a/src/assets/styles/vendors/element-plus/_shell.scss b/src/assets/styles/vendors/element-plus/_shell.scss
index 17ff8b4..61f8f85 100644
--- a/src/assets/styles/vendors/element-plus/_shell.scss
+++ b/src/assets/styles/vendors/element-plus/_shell.scss
@@ -25,6 +25,9 @@
}
.el-drawer__close-btn {
+ display: flex;
+ align-items: center;
+ justify-content: center;
width: 32px;
height: 32px;
border-radius: 10px;
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 275923f..ffcdcd3 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -188,9 +188,14 @@
key="userName"
label="用户名称"
align="center"
- prop="userName"
:show-overflow-tooltip="true"
- />
+ >
+
+
+ {{ scope.row.userName }}
+
+
+
+
+
+
@@ -474,6 +482,7 @@ import { to } from 'await-to-js';
import { optionselect } from '@/api/system/post';
import { checkPermi } from '@/utils/permission';
import { useUserStore } from '@/store/modules/user';
+import UserViewDrawer from './view.vue';
const router = useRouter();
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -524,6 +533,7 @@ const queryFormRef = ref();
const userFormRef = ref();
const uploadRef = ref();
const formDialogRef = ref();
+const userViewRef = ref>();
const dialog = reactive({
visible: false,
@@ -730,6 +740,11 @@ const handleSelectionChange = (selection: UserVO[]) => {
multiple.value = !selection.length;
};
+/** 详情按钮操作 */
+const handleViewDetail = (row: UserVO) => {
+ userViewRef.value?.openDrawer(row.userId);
+};
+
/** 导入按钮操作 */
const handleImport = () => {
upload.title = '用户导入';
diff --git a/src/views/system/user/view.vue b/src/views/system/user/view.vue
new file mode 100644
index 0000000..39bd314
--- /dev/null
+++ b/src/views/system/user/view.vue
@@ -0,0 +1,88 @@
+
+
+
+ {{ info.nickName }}
+ {{ info.deptName || (info.dept && info.dept.deptName) || '-' }}
+ {{ info.phoneNumber || '-' }}
+ {{ info.email || '-' }}
+ {{ info.userName }}
+
+
+ {{ proxy?.selectDictLabel(sys_normal_disable, info.status) }}
+
+
+ {{ postNames || '-' }}
+ {{ proxy?.selectDictLabel(sys_user_gender, info.gender) || '-' }}
+ {{ roleNames || '-' }}
+
+
+
+
+
+ {{ info.createTime || '-' }}
+ {{ info.updateTime || '-' }}
+ {{ info.loginIp || '-' }}
+ {{ info.loginDate || '-' }}
+ {{ info.remark || '-' }}
+
+
+
+
+
+
+