From 542407dcd68da24264c4ac3a6fa8e21f04619a24 Mon Sep 17 00:00:00 2001
From: dap <15891557205@163.com>
Date: Fri, 4 Apr 2025 20:13:43 +0800
Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=94=A8=E6=88=B7=E4=BF=A1?=
=?UTF-8?q?=E6=81=AF=E9=87=8D=E6=9E=84(Description)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
apps/web-antd/src/api/system/user/model.d.ts | 1 +
apps/web-antd/src/views/system/user/info.tsx | 129 ------------------
.../src/views/system/user/user-info-modal.vue | 124 ++++++++++++++---
3 files changed, 108 insertions(+), 146 deletions(-)
delete mode 100644 apps/web-antd/src/views/system/user/info.tsx
diff --git a/apps/web-antd/src/api/system/user/model.d.ts b/apps/web-antd/src/api/system/user/model.d.ts
index 273b1066..ff5f428a 100644
--- a/apps/web-antd/src/api/system/user/model.d.ts
+++ b/apps/web-antd/src/api/system/user/model.d.ts
@@ -66,6 +66,7 @@ export interface User {
roleIds?: string[];
postIds?: number[];
roleId: string;
+ deptName: string;
}
export interface Post {
diff --git a/apps/web-antd/src/views/system/user/info.tsx b/apps/web-antd/src/views/system/user/info.tsx
deleted file mode 100644
index cd00bb81..00000000
--- a/apps/web-antd/src/views/system/user/info.tsx
+++ /dev/null
@@ -1,129 +0,0 @@
-import type { DescItem } from '#/components/description';
-
-import { DictEnum } from '@vben/constants';
-
-import { Tag } from 'ant-design-vue';
-import dayjs from 'dayjs';
-import duration from 'dayjs/plugin/duration';
-import relativeTime from 'dayjs/plugin/relativeTime';
-
-import { renderDict } from '#/utils/render';
-
-dayjs.extend(duration);
-dayjs.extend(relativeTime);
-
-function renderTags(list: string[]) {
- return (
-
- {list.map((item) => (
- {item}
- ))}
-
- );
-}
-
-export const descSchema: DescItem[] = [
- {
- field: 'userId',
- label: '用户ID',
- },
- {
- field: 'status',
- label: '用户状态',
- render(value) {
- return renderDict(value, DictEnum.SYS_NORMAL_DISABLE);
- },
- },
- {
- field: 'nickName',
- label: '用户信息',
- render(_, data) {
- const { deptName = '暂无部门信息', nickName, userName } = data;
- // 为了兼容新版本和旧版本
- let currentDept = deptName;
- if (data.dept && data.dept.deptName) {
- currentDept = data.dept.deptName;
- }
- return `${userName} / ${nickName} / ${currentDept}`;
- },
- },
- {
- field: 'phonenumber',
- label: '手机号',
- render(value) {
- return value || '未设置手机号码';
- },
- },
- {
- field: 'email',
- label: '邮箱',
- render(value) {
- return value || '未设置邮箱地址';
- },
- },
- {
- field: 'postNames',
- label: '岗位',
- render(value) {
- if (Array.isArray(value) && value.length === 0) {
- return '暂无信息';
- }
- return renderTags(value);
- },
- },
- {
- field: 'roleNames',
- label: '权限',
- render(value) {
- if (Array.isArray(value) && value.length === 0) {
- return '暂无信息';
- }
- return renderTags(value);
- },
- },
- {
- field: 'createTime',
- label: '创建时间',
- },
- {
- field: 'loginIp',
- label: '上次登录IP',
- render(value) {
- return value || 从未登录过;
- },
- },
- {
- field: 'loginDate',
- label: '上次登录时间',
- render(value) {
- if (!value) {
- return 从未登录过;
- }
- // 默认en显示
- dayjs.locale('zh-cn');
- // 计算相差秒数
- const diffSeconds = dayjs().diff(dayjs(value), 'second');
- /**
- * 转为时间显示(x月 x天)
- * https://dayjs.fenxianglu.cn/category/duration.html#%E4%BA%BA%E6%80%A7%E5%8C%96
- *
- */
- const diffText = dayjs.duration(diffSeconds, 'seconds').humanize();
- return (
-
- {value}
-
- {diffText}前
-
-
- );
- },
- },
- {
- field: 'remark',
- label: '备注',
- render(value) {
- return value || '无';
- },
- },
-];
diff --git a/apps/web-antd/src/views/system/user/user-info-modal.vue b/apps/web-antd/src/views/system/user/user-info-modal.vue
index 63559afa..fb76558c 100644
--- a/apps/web-antd/src/views/system/user/user-info-modal.vue
+++ b/apps/web-antd/src/views/system/user/user-info-modal.vue
@@ -1,25 +1,34 @@
-
+
+
+ {{ currentUser.userId }}
+
+
+
+
+
+ {{ mixInfo }}
+
+
+ {{ currentUser.phonenumber || '-' }}
+
+
+ {{ currentUser.email || '-' }}
+
+
+
+
+ {{ item }}
+
+
+ -
+
+
+
+
+ {{ item }}
+
+
+ -
+
+
+ {{ currentUser.createTime }}
+
+
+ {{ currentUser.loginIp ?? '-' }}
+
+
+ {{ currentUser.loginDate ?? '-' }}
+
+ {{ diffLoginTime }}前
+
+
+
+ {{ currentUser.remark ?? '-' }}
+
+