From a9686c7d45a779858d9dc3a6a2f738b7e818b972 Mon Sep 17 00:00:00 2001 From: msh-agent Date: Sun, 3 May 2026 03:53:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(user-tag):=20=E5=90=8E=E5=8F=B0=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=88=97=E8=A1=A8=E5=B1=95=E7=A4=BA=E6=A0=87=E7=AD=BE?= =?UTF-8?q?=20+=20=E5=B0=8F=E7=A8=8B=E5=BA=8F=E7=94=A8=E6=88=B7=E4=B8=AD?= =?UTF-8?q?=E5=BF=83=E4=BC=9A=E5=91=98=E7=AD=89=E7=BA=A7=E4=B8=8B=E6=96=B9?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 后台 msh_single_admin user/list/index.vue: - 在「分组」「推荐人」之间新增「用户标签」列,用 el-tag 渲染(多标签 ',' 切分) - 加入默认显示项 checkedCities / columnData 后端 UserCenterResponse + UserServiceImpl: - UserCenterResponse 新增 tagName 字段 - getUserCenter 在已注入的 userTagService 基础上回填标签名(已存在 getGroupNameInId) 小程序 pages/user/index.vue: - 用户名 + VIP 行下方新增 .user-tags 容器,按 ',' 切分多标签 - 半透明白底胶囊,与顶部渐变橙色背景协调 附带修复: - pages/tool/calculator-history.vue formatTime 兼容 ISO/数组/数字/旧字符串四种来源 - 解决「NaN-NaN-NaN NaN:NaN」问题(ISO 字符串里的 'T' 被替换 / 后变非法日期) Co-Authored-By: Claude Opus 4.7 (1M context) --- .../common/response/UserCenterResponse.java | 3 +++ .../service/service/impl/UserServiceImpl.java | 4 +++ .../src/views/user/list/index.vue | 18 +++++++++++-- .../pages/tool/calculator-history.vue | 25 +++++++++++++------ msh_single_uniapp/pages/user/index.vue | 25 +++++++++++++++++++ 5 files changed, 66 insertions(+), 9 deletions(-) diff --git a/msh_crmeb_22/crmeb-common/src/main/java/com/zbkj/common/response/UserCenterResponse.java b/msh_crmeb_22/crmeb-common/src/main/java/com/zbkj/common/response/UserCenterResponse.java index 3d9ece1..76ab61e 100644 --- a/msh_crmeb_22/crmeb-common/src/main/java/com/zbkj/common/response/UserCenterResponse.java +++ b/msh_crmeb_22/crmeb-common/src/main/java/com/zbkj/common/response/UserCenterResponse.java @@ -85,4 +85,7 @@ public class UserCenterResponse implements Serializable { @ApiModelProperty(value = "用户收藏数量") private Integer collectCount; + + @ApiModelProperty(value = "用户标签名(逗号分隔,多标签)") + private String tagName; } diff --git a/msh_crmeb_22/crmeb-service/src/main/java/com/zbkj/service/service/impl/UserServiceImpl.java b/msh_crmeb_22/crmeb-service/src/main/java/com/zbkj/service/service/impl/UserServiceImpl.java index 1187140..7f288bb 100644 --- a/msh_crmeb_22/crmeb-service/src/main/java/com/zbkj/service/service/impl/UserServiceImpl.java +++ b/msh_crmeb_22/crmeb-service/src/main/java/com/zbkj/service/service/impl/UserServiceImpl.java @@ -564,6 +564,10 @@ public class UserServiceImpl extends ServiceImpl implements UserS userCenterResponse.setVipName(systemUserLevel.getName()); } } + // 用户标签:在会员等级下方展示 + if (StrUtil.isNotBlank(currentUser.getTagId())) { + userCenterResponse.setTagName(userTagService.getGroupNameInId(currentUser.getTagId())); + } // 充值开关 String rechargeSwitch = systemConfigService.getValueByKey(SysConfigConstants.CONFIG_KEY_RECHARGE_SWITCH); if (StrUtil.isNotBlank(rechargeSwitch)) { diff --git a/msh_single_admin/src/views/user/list/index.vue b/msh_single_admin/src/views/user/list/index.vue index 117a6cd..8ef5552 100755 --- a/msh_single_admin/src/views/user/list/index.vue +++ b/msh_single_admin/src/views/user/list/index.vue @@ -209,6 +209,20 @@ + + +