http://localhost:3006/#/dashboard/console 的“今日各区域”“今日下单客户”“概览卡片/最新订单/趋势图”等统计数据目前是全局拉取。
需要新增顶部“区域 Tab”,并按角色展示不同范围的数据:
super_admin:可以看到所有区域 Tab,并且“全部区域”展示全量数据admin/运营人员:只能看到其权限范围内的区域 Tab,并且“全部区域”展示其权限范围内区域的数据之和全部区域、区域A、区域B…createAt 倒序排序显示(不引入新增条数规则)当前 Console 页面使用的统计接口(均支持 regionId):
fetchWorkbenchDashboard({ regionId? }):概览卡片、recentOrders、todoSnapshots、warningCount 等fetchOrderTrend({ regionId?, days }):近 30 日趋势折线(按日期包含 orderCount 与 orderAmount)fetchTodayOrdersByRegion({ regionId? }):今日各区域统计(列表项包含 regionId/regionName/orderCount/orderAmount)fetchTodayOrdersByClient({ regionId?, limit }):今日下单客户统计(列表项包含 clientId/clientName/orderAmount/productQuantity)新增取数所需的区域列表:
fetchActiveRegions():加载启用区域,用于构建 Tab 列表权限区域来源:
useUserStore().getUserInfo.roleuseUserStore().getUserInfo.regionIds(多区域)getUserInfo.regionId(单区域)activeRegionTabKey:
all:代表“全部区域”regionId:代表单个区域super_admin:visibleRegionIds = allActiveRegionIdsadmin:visibleRegionIds = userRegionIdsall当角色为运营且选中“全部区域”,将对 visibleRegionIds 中每个 regionId 并行/串行拉取对应接口结果,并汇总:
todayOrderCount、todayOrderAmount、pendingDeliveryCount、customerCount、supplierCount、deliveryWarningCount 等按字段求和todoSnapshots:
type 为 key 聚合 count 求和items 做去重合并(保留顺序不做强制,展示以去重后数组为准)recentOrders:
recentOrders 数组createAt 倒序排序days(页面固定 30)date 聚合:
orderCount 求和orderAmount 求和regionId 聚合求和:
orderCount 求和orderAmount 求和visibleRegionIds 的顺序渲染(更符合用户直觉)limit=30(与现有页面一致)clientId 聚合:
orderAmount 求和productQuantity 求和orderAmount 倒序排序取前 limit(复用现有 limit,不引入新条数规则)region-tabs region-tab-strip / tab-button-group / region-tab-btnsuper_admin:
admin(权限区域 A,B):