21ced84b
“wangming”
feat: 优化会员画像页面样式,...
|
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
|
- **门店分类**:门店类型(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`
**功能:** 获取门店概览的核心指标数据
**返回数据:**
```json
{
"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: 结束时间
**返回数据:**
```json
{
"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(核心指标卡片)
### 第二阶段(增强功能)
4. ✅ 门店运营指标分析
5. ✅ 门店项目指标统计
6. ✅ 门店排行榜
### 第三阶段(高级功能)
7. ✅ 门店品项分析
8. ✅ 门店对比分析
9. ✅ 门店每日运营数据表格
### 第四阶段(优化功能)
10. ✅ 数据导出功能
11. ✅ 数据缓存优化
12. ✅ 性能优化
## 八、注意事项
### 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`) - 参考数据展示方式
|