门店数据页面设计方案.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)

核心指标卡片:

  1. 门店总数:当前状态为"开店"的门店数量
  2. 本月总业绩:所有门店本月开单业绩总和
  3. 本月消耗业绩:所有门店本月消耗业绩总和
  4. 本月完成率:总消耗业绩 / 总目标业绩
  5. 活跃门店数:本月有开单或消耗的门店数量
  6. 平均单店业绩:总业绩 / 门店数

数据来源:

  • 门店列表:/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小时(历史数据变化少)

七、开发优先级建议

第一阶段(核心功能)

  1. ✅ 门店列表页(基础信息展示、筛选、排序)
  2. ✅ 门店详情页(基础信息、业绩概览、趋势图)
  3. ✅ 门店概览Dashboard(核心指标卡片)

第二阶段(增强功能)

  1. ✅ 门店运营指标分析
  2. ✅ 门店项目指标统计
  3. ✅ 门店排行榜

第三阶段(高级功能)

  1. ✅ 门店品项分析
  2. ✅ 门店对比分析
  3. ✅ 门店每日运营数据表格

第四阶段(优化功能)

  1. ✅ 数据导出功能
  2. ✅ 数据缓存优化
  3. ✅ 性能优化

八、注意事项

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) - 参考数据展示方式