diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Order/OrderDto.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Order/OrderDto.cs index bc64ec8..fcf45f8 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Order/OrderDto.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Order/OrderDto.cs @@ -20,6 +20,11 @@ public class OrderDto /// public long UserId { get; set; } + /// + /// 用户UID + /// + public string? UserUid { get; set; } + /// /// 用户昵称 /// diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Order/OrderQueryRequest.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Order/OrderQueryRequest.cs index 9c63ef7..3c31ee5 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Order/OrderQueryRequest.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Order/OrderQueryRequest.cs @@ -15,6 +15,11 @@ public class OrderQueryRequest : PagedRequest /// public long? UserId { get; set; } + /// + /// 用户UID(模糊搜索) + /// + public string? UserUid { get; set; } + /// /// 订单类型:1测评订单 2预约订单 /// diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/User/UserQueryRequest.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/User/UserQueryRequest.cs index 7ac613c..9552e97 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/User/UserQueryRequest.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/User/UserQueryRequest.cs @@ -5,6 +5,11 @@ namespace MiAssessment.Admin.Business.Models.User; /// public class UserQueryRequest : PagedRequest { + /// + /// 上级用户ID(查询某用户的下级列表) + /// + public long? ParentUserId { get; set; } + /// /// 用户UID /// diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Services/OrderService.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Services/OrderService.cs index 95b462d..c734dc1 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Services/OrderService.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Services/OrderService.cs @@ -86,6 +86,7 @@ public class OrderService : IOrderService Id = o.Id, OrderNo = o.OrderNo, UserId = o.UserId, + UserUid = o.User != null ? o.User.Uid : null, UserNickname = o.User != null ? o.User.Nickname : null, UserPhone = o.User != null ? o.User.Phone : null, OrderType = o.OrderType, @@ -137,6 +138,7 @@ public class OrderService : IOrderService Id = order.Id, OrderNo = order.OrderNo, UserId = order.UserId, + UserUid = order.User?.Uid, UserNickname = order.User?.Nickname, UserPhone = order.User?.Phone, OrderType = order.OrderType, @@ -282,6 +284,7 @@ public class OrderService : IOrderService Id = o.Id, OrderNo = o.OrderNo, UserId = o.UserId, + UserUid = o.User != null ? o.User.Uid : null, UserNickname = o.User != null ? o.User.Nickname : null, UserPhone = o.User != null ? o.User.Phone : null, OrderType = o.OrderType, @@ -343,6 +346,12 @@ public class OrderService : IOrderService query = query.Where(o => o.UserId == request.UserId.Value); } + // 按用户UID搜索 + if (!string.IsNullOrWhiteSpace(request.UserUid)) + { + query = query.Where(o => o.User != null && o.User.Uid.Contains(request.UserUid)); + } + // 按订单类型筛选 if (request.OrderType.HasValue) { diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Services/UserBusinessService.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Services/UserBusinessService.cs index 39b80ee..275f7dc 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Services/UserBusinessService.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Services/UserBusinessService.cs @@ -380,6 +380,12 @@ public class UserBusinessService : IUserBusinessService /// 过滤后的查询 private IQueryable ApplyUserQueryFilters(IQueryable query, UserQueryRequest request) { + // 按上级用户ID筛选(查询下级用户) + if (request.ParentUserId.HasValue) + { + query = query.Where(u => u.ParentUserId == request.ParentUserId.Value); + } + // 按UID筛选 if (!string.IsNullOrWhiteSpace(request.Uid)) { diff --git a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/api/business/order.ts b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/api/business/order.ts index f426ad8..a76505d 100644 --- a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/api/business/order.ts +++ b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/api/business/order.ts @@ -19,6 +19,8 @@ export interface OrderItem { orderNo: string /** 用户ID */ userId: number + /** 用户UID */ + userUid: string /** 用户昵称 */ userNickname: string /** 用户手机号 */ @@ -79,6 +81,8 @@ export interface OrderQuery extends PagedRequest { orderNo?: string /** 用户ID */ userId?: number + /** 用户UID(模糊搜索) */ + userUid?: string /** 订单类型筛选 */ orderType?: number /** 订单状态筛选 */ diff --git a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/api/business/user.ts b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/api/business/user.ts index eb29000..624db68 100644 --- a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/api/business/user.ts +++ b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/api/business/user.ts @@ -65,6 +65,8 @@ export interface UserDetail extends UserItem { * 用户查询参数 */ export interface UserQuery extends PagedRequest { + /** 上级用户ID(查询下级列表) */ + parentUserId?: number /** 用户UID(模糊搜索) */ uid?: string /** 手机号(模糊搜索) */ diff --git a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/order/index.vue b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/order/index.vue index 1583aa8..6c65e2a 100644 --- a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/order/index.vue +++ b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/order/index.vue @@ -27,10 +27,10 @@ @keyup.enter="handleSearch" /> - + @@ -96,10 +96,11 @@ - + @@ -216,7 +217,7 @@

用户信息

- {{ state.orderDetail.userId }} + {{ state.orderDetail.userUid }} {{ state.orderDetail.userNickname }} {{ state.orderDetail.userPhone }} @@ -448,7 +449,7 @@ const queryParams = reactive({ page: 1, pageSize: 10, orderNo: '', - userId: '', + userUid: '', orderType: undefined as string | undefined, status: undefined as string | undefined, payType: undefined as string | undefined, @@ -631,8 +632,8 @@ async function loadOrderList() { if (queryParams.orderNo) { params.orderNo = queryParams.orderNo } - if (queryParams.userId) { - params.userId = Number(queryParams.userId) + if (queryParams.userUid) { + params.userUid = queryParams.userUid } if (queryParams.orderType !== undefined && queryParams.orderType !== '') { params.orderType = Number(queryParams.orderType) @@ -701,7 +702,7 @@ function handleSearch() { */ function handleReset() { queryParams.orderNo = '' - queryParams.userId = '' + queryParams.userUid = '' queryParams.orderType = undefined queryParams.status = undefined queryParams.payType = undefined @@ -818,8 +819,8 @@ async function handleExport() { if (queryParams.orderNo) { params.orderNo = queryParams.orderNo } - if (queryParams.userId) { - params.userId = Number(queryParams.userId) + if (queryParams.userUid) { + params.userUid = queryParams.userUid } if (queryParams.orderType !== undefined && queryParams.orderType !== '') { params.orderType = Number(queryParams.orderType) @@ -920,6 +921,11 @@ onMounted(() => { color: var(--text-primary, #303133); } +.user-info .uid { + font-size: 12px; + color: var(--el-color-primary); +} + .user-info .phone { font-size: 12px; color: var(--text-secondary, #909399); diff --git a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/user/index.vue b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/user/index.vue index a430fd2..6655fed 100644 --- a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/user/index.vue +++ b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/user/index.vue @@ -161,12 +161,16 @@ - +