门店数据页面设计方案.md
12.7 KB
门店数据页面设计方案
一、现有门店数据结构分析
1.1 门店基础信息表 (lq_mdxx)
核心字段:
- 基本信息:门店编码(mdbm)、单据门店编号(djmdbh)、店名(dm)、城市(cs)、地址(dz)
- 联系信息:姓名(xm)、电话号码(dhhm)、座机(zj)
- 状态信息:最新状态(zxzt)、开业时间(kysj)、状态(status)
- 组织归属:事业部(syb)、教育部(jyb)、科技部(kjb)、大项目部(dxmb)
- 门店分类:门店类型(StoreType: 200平门店/旗舰店)、门店类别(StoreCategory: A类/B类/C类)
- 目标设置:
- 门店生命线(xsyj)
- 消耗业绩(xhyj)
- 项目数(xms)
- 人头1(rt1)、人头2(rt2)
- 人次(rc)
- 人员信息:在职人数(zzrs)
1.2 门店相关业务表
开单相关:
lq_kd_kdjlb- 开单记录表(门店业绩来源)lq_kd_pxmx- 开单品项明细表lq_kd_jksyj- 开单健康师业绩表
消耗相关:
lq_xh_hyhk- 会员耗卡表(消耗业绩来源)lq_xh_pxmx- 耗卡品项明细表lq_xh_jksyj- 耗卡健康师业绩表lq_xh_kjbsyj- 耗卡科技部业绩表
退卡相关:
lq_hytk_hytk- 会员退卡表lq_tkjlb- 退卡记录表
统计相关:
lq_statistics_store_total_performance- 门店总业绩统计表lq_share_statistics_store- 门店股份统计表
二、现有门店相关接口梳理
2.1 门店基础信息接口 (LqMdxxService)
| 接口路径 | 方法 | 功能说明 |
|---|---|---|
/api/Extend/LqMdxx/{id} |
GET | 获取门店详细信息 |
/api/Extend/LqMdxx |
GET | 获取门店列表(分页,支持多条件筛选) |
/api/Extend/LqMdxx |
POST | 新建门店信息 |
/api/Extend/LqMdxx/{id} |
PUT | 更新门店信息 |
/api/Extend/LqMdxx/{id}/targets |
PUT | 更新门店目标字段 |
/api/Extend/LqMdxx/{id} |
DELETE | 删除门店(软删除) |
/api/Extend/LqMdxx/Selector |
GET | 获取门店下拉选择数据 |
/api/Extend/LqMdxx/Selector/StoreCategory |
GET | 获取门店类别下拉选择 |
/api/Extend/LqMdxx/Selector/StoreType |
GET | 获取门店类型下拉选择 |
2.2 门店报表接口 (LqReportService)
| 接口路径 | 方法 | 功能说明 |
|---|---|---|
/api/Extend/LqReport/get-store-performance-trend |
POST | 获取门店业绩趋势数据(月度/周度/日度) |
/api/Extend/LqReport/get-store-performance-ranking |
POST | 获取门店业绩排行榜 |
/api/Extend/LqReport/get-store-item-statistics |
POST | 获取门店项目指标统计数据 |
/api/Extend/LqReport/get-store-remaining-rights |
POST | 获取门店剩余权益统计 |
/api/Extend/LqReport/get-store-performance-comparison |
POST | 获取门店业绩对比数据 |
2.3 门店日报接口 (LqDailyReportService)
| 接口路径 | 方法 | 功能说明 |
|---|---|---|
/api/Extend/LqDailyReport/get-store-daily-statistics |
POST | 获取门店每日运营统计数据 |
2.4 门店统计接口 (LqStatisticsService)
| 接口路径 | 方法 | 功能说明 |
|---|---|---|
/api/Extend/LqStatistics/GetStorePerformanceList |
GET | 获取门店业绩统计列表(消耗业绩) |
/api/Extend/LqStatistics/GetStoreOrderPerformanceList |
GET | 获取门店开单业绩统计列表 |
/api/Extend/LqStatistics/StoreStatistics |
POST | 获取门店统计信息(支持日期范围) |
三、门店数据页面可展示维度
3.1 门店概览(Dashboard)
核心指标卡片:
- 门店总数:当前状态为"开店"的门店数量
- 本月总业绩:所有门店本月开单业绩总和
- 本月消耗业绩:所有门店本月消耗业绩总和
- 本月完成率:总消耗业绩 / 总目标业绩
- 活跃门店数:本月有开单或消耗的门店数量
- 平均单店业绩:总业绩 / 门店数
数据来源:
- 门店列表:
/api/Extend/LqMdxx - 业绩统计:
/api/Extend/LqStatistics/GetStoreOrderPerformanceList或/api/Extend/LqStatistics/GetStorePerformanceList
3.2 门店列表页
展示内容:
- 门店基本信息:店名、编码、城市、地址、状态
- 门店分类:门店类型、门店类别
- 组织归属:所属事业部/教育部/科技部/大项目部
- 目标信息:门店生命线、消耗业绩目标、项目数目标
- 实时业绩:本月开单业绩、本月消耗业绩、完成率
- 运营指标:人头数、人次、项目数
功能:
- 多条件筛选(城市、状态、门店类型、门店类别、组织归属)
- 排序(按业绩、完成率等)
- 分页展示
- 点击门店进入详情页
数据来源:
- 门店列表:
/api/Extend/LqMdxx - 业绩数据:
/api/Extend/LqStatistics/StoreStatistics(实时计算)
3.3 门店详情页
3.3.1 门店基础信息卡片
展示内容:
- 门店基本信息:店名、编码、城市、地址、联系方式
- 门店状态:最新状态、开业时间、在职人数
- 组织归属:所属部门、归属时间范围
- 门店分类:门店类型、门店类别
- 目标设置:各项目标值(可编辑)
数据来源:
/api/Extend/LqMdxx/{id}
3.3.2 业绩概览
核心指标:
- 开单业绩:本月开单金额、开单次数、平均开单金额
- 消耗业绩:本月消耗金额、消耗次数、平均消耗金额
- 完成率:消耗业绩 / 目标业绩
- 剩余权益:门店会员剩余权益总额
- 退卡情况:退卡金额、退卡次数
数据来源:
/api/Extend/LqStatistics/StoreStatistics/api/Extend/LqReport/get-store-remaining-rights
3.3.3 业绩趋势图
展示内容:
- 近12个月开单业绩趋势(折线图)
- 近12个月消耗业绩趋势(折线图)
- 开单与消耗对比(双折线图)
数据来源:
/api/Extend/LqReport/get-store-performance-trend
3.3.4 运营指标分析
展示内容:
- 人头数:去重后的消费会员数
- 人次:日度去重客户数
- 项目数:消耗项目总数(原始项目数、加班项目数、陪同项目数)
- 客单价:消耗业绩 / 消耗人次
- 项目单价:消耗业绩 / 项目数
数据来源:
/api/Extend/LqDailyReport/get-store-daily-statistics
3.3.5 项目指标统计
展示内容:
- 消耗项目数、消耗率
- 客单项目数、消耗客单价
- 开单金额、消耗金额
- 消耗人次
数据来源:
/api/Extend/LqReport/get-store-item-statistics
3.3.6 品项分析
展示内容:
- 各品项消耗金额排行(柱状图)
- 各品项消耗次数排行
- 品项分类占比(饼图:生美/科美/医美/产品)
数据来源:
/api/Extend/LqReport/get-store-item-statistics(需要扩展接口支持品项明细)
3.3.7 每日运营数据
展示内容:
- 日期、人头数、人次、项目数、消耗业绩
- 支持时间范围筛选
- 表格展示,支持排序
数据来源:
/api/Extend/LqDailyReport/get-store-daily-statistics
3.3.8 门店对比分析
展示内容:
- 与同类型门店对比(门店类型、门店类别)
- 与同组织门店对比(事业部/教育部/科技部)
- 业绩排名、完成率排名
数据来源:
/api/Extend/LqReport/get-store-performance-comparison/api/Extend/LqReport/get-store-performance-ranking
3.4 门店排行榜
展示内容:
- 门店业绩排行榜(条形图)
- 门店完成率排行榜
- 门店消耗业绩排行榜
- 支持按月份筛选
数据来源:
/api/Extend/LqReport/get-store-performance-ranking
3.5 门店对比分析页
展示内容:
- 多门店业绩对比(折线图)
- 多门店完成率对比(柱状图)
- 多门店运营指标对比(表格)
数据来源:
/api/Extend/LqReport/get-store-performance-comparison
四、页面设计方案
4.1 页面结构
门店数据页面
├── 门店概览(Dashboard)
│ ├── 核心指标卡片(6个)
│ ├── 门店业绩趋势图(近12个月)
│ ├── 门店排行榜(Top 10)
│ └── 门店分布地图(可选)
│
├── 门店列表
│ ├── 筛选条件栏
│ ├── 门店列表表格
│ └── 分页组件
│
├── 门店详情(点击门店进入)
│ ├── 基础信息卡片
│ ├── 业绩概览卡片
│ ├── 业绩趋势图
│ ├── 运营指标分析
│ ├── 项目指标统计
│ ├── 品项分析
│ ├── 每日运营数据表格
│ └── 门店对比分析
│
└── 门店对比(多门店对比)
├── 门店选择器
├── 业绩对比图表
└── 指标对比表格
4.2 页面布局建议
参考现有页面风格:
- 使用卡片式布局(参考
form9.vue领导驾驶舱) - 统一的颜色方案(主色:#409EFF)
- 统计卡片高度100px,内边距12px,圆角12px
- 图表使用 ECharts
- 表格使用 NCC-table 或 Element UI Table
4.3 交互设计
筛选功能:
- 时间范围选择(年月选择器)
- 门店多选(支持全选)
- 城市筛选
- 门店类型/类别筛选
- 组织归属筛选
- 状态筛选
数据刷新:
- 手动刷新按钮
- 自动刷新(可选,如每5分钟)
数据导出:
- 支持导出Excel
- 支持导出PDF(可选)
五、需要新增的接口
5.1 门店概览数据接口
接口路径: /api/Extend/LqReport/get-store-overview
功能: 获取门店概览的核心指标数据
返回数据:
{
"totalStores": 50,
"activeStores": 45,
"monthBillingAmount": 1000000.00,
"monthConsumeAmount": 800000.00,
"completionRate": 80.00,
"avgStorePerformance": 20000.00
}
5.2 门店品项明细统计接口
接口路径: /api/Extend/LqReport/get-store-item-detail-statistics
功能: 获取门店各品项的消耗统计(用于品项分析)
参数:
- storeId: 门店ID
- startTime: 开始时间
- endTime: 结束时间
返回数据:
{
"storeId": "xxx",
"storeName": "xxx",
"items": [
{
"itemId": "xxx",
"itemName": "xxx",
"itemCategory": "生美",
"consumeAmount": 10000.00,
"consumeCount": 50,
"consumeQuantity": 100
}
]
}
5.3 门店多维度对比接口(扩展)
接口路径: /api/Extend/LqReport/get-store-multi-comparison
功能: 支持多门店、多指标、多时间段的对比分析
六、技术实现建议
6.1 前端组件
主要组件:
store-dashboard.vue- 门店概览页store-list.vue- 门店列表页store-detail.vue- 门店详情页store-comparison.vue- 门店对比页store-stat-card.vue- 统计卡片组件(可复用)store-trend-chart.vue- 趋势图组件(可复用)
6.2 后端服务
建议创建: StoreDataService.cs 专门用于门店数据统计
职责:
- 聚合多个数据源的统计结果
- 提供统一的门店数据查询接口
- 缓存常用统计数据(提升性能)
6.3 数据缓存策略
建议:
- 门店基础信息:缓存30分钟
- 门店业绩数据:缓存10分钟(实时性要求高)
- 门店趋势数据:缓存1小时(历史数据变化少)
七、开发优先级建议
第一阶段(核心功能)
- ✅ 门店列表页(基础信息展示、筛选、排序)
- ✅ 门店详情页(基础信息、业绩概览、趋势图)
- ✅ 门店概览Dashboard(核心指标卡片)
第二阶段(增强功能)
- ✅ 门店运营指标分析
- ✅ 门店项目指标统计
- ✅ 门店排行榜
第三阶段(高级功能)
- ✅ 门店品项分析
- ✅ 门店对比分析
- ✅ 门店每日运营数据表格
第四阶段(优化功能)
- ✅ 数据导出功能
- ✅ 数据缓存优化
- ✅ 性能优化
八、注意事项
8.1 数据权限
- 需要根据用户组织权限过滤门店数据
- 参考现有权限控制逻辑(如
LqZjlMdsmxszService.GetManagedStores)
8.2 数据一致性
- 统计数据和列表数据使用相同的过滤条件
- 时间范围、门店筛选保持一致
8.3 性能优化
- 大数据量查询使用分页
- 复杂统计查询考虑使用统计表(如
lq_statistics_store_total_performance) - 避免N+1查询问题
8.4 数据准确性
- 确保统计逻辑与业务逻辑一致
- 注意
F_IsEffective = 1的有效数据过滤 - 注意门店状态过滤(
zxzt = '开店')
九、参考现有页面
- 领导驾驶舱 (
form9.vue) - 参考布局和样式 - 会员画像 (
member-portrait-dialog.vue) - 参考详情页设计 - KPI数据穿透 (
kpi-drill-dialog.vue) - 参考数据展示方式