diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..33111e4
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,24 @@
+{
+ "name": "lvqianmeiye_ERP",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "dependencies": {
+ "@qiun/ucharts": "^2.5.0-20230101"
+ }
+ },
+ "node_modules/@qiun/ucharts": {
+ "version": "2.5.0-20230101",
+ "resolved": "https://registry.npmmirror.com/@qiun/ucharts/-/ucharts-2.5.0-20230101.tgz",
+ "integrity": "sha512-C7ccBgfPuGF6dxTRuMW0NPPMSCf1k/kh3I9zkRVBc5PaivudX/rPL+jd2Wty6gn5ya5L3Ob+YmYe09V5xw66Cw=="
+ }
+ },
+ "dependencies": {
+ "@qiun/ucharts": {
+ "version": "2.5.0-20230101",
+ "resolved": "https://registry.npmmirror.com/@qiun/ucharts/-/ucharts-2.5.0-20230101.tgz",
+ "integrity": "sha512-C7ccBgfPuGF6dxTRuMW0NPPMSCf1k/kh3I9zkRVBc5PaivudX/rPL+jd2Wty6gn5ya5L3Ob+YmYe09V5xw66Cw=="
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..27ba349
--- /dev/null
+++ b/package.json
@@ -0,0 +1,5 @@
+{
+ "dependencies": {
+ "@qiun/ucharts": "^2.5.0-20230101"
+ }
+}
diff --git a/绿纤uni-app/apis/modules/store-dashboard.js b/绿纤uni-app/apis/modules/store-dashboard.js
new file mode 100644
index 0000000..daf7bf6
--- /dev/null
+++ b/绿纤uni-app/apis/modules/store-dashboard.js
@@ -0,0 +1,56 @@
+import request from '@/service/request.js'
+import config from '@/common/config.js'
+
+export default {
+ // 获取门店驾驶舱统计数据
+ getStoreDashboardStatistics(data) {
+ return request.post(`${config.getApiBaseUrl()}/api/Extend/LqStoreDashboard/GetStatistics`, data)
+ },
+
+ // 获取门店近12个月业绩趋势
+ getStoreMonthlyTrend(data) {
+ return request.post(`${config.getApiBaseUrl()}/api/Extend/LqReport/get-store-monthly-trend`, data)
+ },
+
+ // 获取门店品项分析(包含品项分类占比)
+ getStoreItemAnalysis(data) {
+ return request.post(`${config.getApiBaseUrl()}/api/Extend/LqReport/get-store-item-analysis`, data)
+ },
+
+ // 获取门店健康师业绩排行(Top 10)
+ getStoreHealthCoachAnalysis(data) {
+ return request.post(`${config.getApiBaseUrl()}/api/Extend/LqReport/get-store-health-coach-analysis`, data)
+ },
+
+ // 获取门店会员分析
+ getStoreMemberAnalysis(data) {
+ return request.post(`${config.getApiBaseUrl()}/api/Extend/LqReport/get-store-member-analysis`, data)
+ },
+
+ // 获取门店各分类月度业绩
+ getCategoryMonthlyPerformance(data) {
+ return request.post(`${config.getApiBaseUrl()}/api/Extend/LqStoreDashboard/GetCategoryMonthlyPerformance`, data)
+ },
+
+ // 获取门店会员转化漏斗数据
+ getMemberConversionFunnel(data) {
+ return request.post(`${config.getApiBaseUrl()}/api/Extend/LqStoreDashboard/GetMemberConversionFunnel`, data)
+ },
+
+ // 获取门店客单价与项目数关系数据
+ getCustomerPriceProjectRelation(data) {
+ return request.post(`${config.getApiBaseUrl()}/api/Extend/LqStoreDashboard/GetCustomerPriceProjectRelation`, data)
+ },
+
+ // 获取门店排名对比数据
+ getStoreComparisonAnalysis(data) {
+ return request.post(`${config.getApiBaseUrl()}/api/Extend/LqReport/get-store-comparison-analysis`, data)
+ },
+
+ // 获取门店一周运营热力图数据
+ getWeeklyHeatmap(data) {
+ return request.post(`${config.getApiBaseUrl()}/api/Extend/LqStoreDashboard/GetWeeklyHeatmap`, data)
+ }
+}
+
+
diff --git a/绿纤uni-app/package-lock.json b/绿纤uni-app/package-lock.json
index f80fc30..384a2bd 100644
--- a/绿纤uni-app/package-lock.json
+++ b/绿纤uni-app/package-lock.json
@@ -1,13 +1,19 @@
{
- "name": "绿纤",
+ "name": "绿纤uni-app",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"dependencies": {
+ "@qiun/ucharts": "^2.5.0-20230101",
"html2canvas": "^1.4.1"
}
},
+ "node_modules/@qiun/ucharts": {
+ "version": "2.5.0-20230101",
+ "resolved": "https://registry.npmmirror.com/@qiun/ucharts/-/ucharts-2.5.0-20230101.tgz",
+ "integrity": "sha512-C7ccBgfPuGF6dxTRuMW0NPPMSCf1k/kh3I9zkRVBc5PaivudX/rPL+jd2Wty6gn5ya5L3Ob+YmYe09V5xw66Cw=="
+ },
"node_modules/base64-arraybuffer": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
@@ -54,6 +60,11 @@
}
},
"dependencies": {
+ "@qiun/ucharts": {
+ "version": "2.5.0-20230101",
+ "resolved": "https://registry.npmmirror.com/@qiun/ucharts/-/ucharts-2.5.0-20230101.tgz",
+ "integrity": "sha512-C7ccBgfPuGF6dxTRuMW0NPPMSCf1k/kh3I9zkRVBc5PaivudX/rPL+jd2Wty6gn5ya5L3Ob+YmYe09V5xw66Cw=="
+ },
"base64-arraybuffer": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
diff --git a/绿纤uni-app/package.json b/绿纤uni-app/package.json
index 95c9e36..180a97b 100644
--- a/绿纤uni-app/package.json
+++ b/绿纤uni-app/package.json
@@ -1,5 +1,6 @@
{
"dependencies": {
+ "@qiun/ucharts": "^2.5.0-20230101",
"html2canvas": "^1.4.1"
}
}
diff --git a/绿纤uni-app/pages.json b/绿纤uni-app/pages.json
index 55068d8..8633ada 100644
--- a/绿纤uni-app/pages.json
+++ b/绿纤uni-app/pages.json
@@ -339,6 +339,12 @@
"style": {
"navigationStyle": "custom"
}
+ },
+ {
+ "path": "pages/store-dashboard/store-dashboard",
+ "style": {
+ "navigationBarTitleText": "门店数据报表"
+ }
}
],
"globalStyle": {
diff --git a/绿纤uni-app/pages/store-dashboard/store-dashboard.vue b/绿纤uni-app/pages/store-dashboard/store-dashboard.vue
new file mode 100644
index 0000000..adc33d5
--- /dev/null
+++ b/绿纤uni-app/pages/store-dashboard/store-dashboard.vue
@@ -0,0 +1,3159 @@
+
+
+
+
+
+ 选择月份
+
+
+ {{ queryParams.month || '请选择月份' }}
+
+
+
+
+
+ 选择门店
+
+
+ {{ currentStoreName || '请选择门店' }}
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+ 加载中...
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 核心指标
+
+
+
+ 开单业绩
+ ¥{{ formatMoney(storeData.BillingPerformance) }}
+
+
+ 消耗业绩
+ ¥{{ formatMoney(storeData.ConsumePerformance) }}
+
+
+ 完成率
+ {{ formatMoney(storeData.CompletionRate, 2) }}%
+
+
+ 净业绩
+ ¥{{ formatMoney(storeData.NetPerformance) }}
+
+
+
+
+
+
+
+
+ 业绩概览
+
+
+
+
+ 开单次数
+ {{ storeData.BillingCount || 0 }}
+
+
+ 消耗次数
+ {{ storeData.ConsumeCount || 0 }}
+
+
+
+
+ 退卡次数
+ {{ storeData.RefundCount || 0 }}
+
+
+ 平均开单金额
+ ¥{{ formatMoney(storeData.AvgBillingAmount) }}
+
+
+
+
+ 平均消耗金额
+ ¥{{ formatMoney(storeData.AvgConsumeAmount) }}
+
+
+ 剩余权益
+ ¥{{ formatMoney(storeData.RemainingRightsAmount) }}
+
+
+
+
+ 目标业绩
+ ¥{{ formatMoney(storeData.TargetPerformance) }}
+
+
+ 退卡金额
+ ¥{{ formatMoney(storeData.RefundAmount) }}
+
+
+
+
+
+
+
+
+
+ 运营指标
+
+
+
+
+ 人头数
+ {{ storeData.HeadCount || 0 }}
+
+
+ 人次
+ {{ storeData.PersonCount || 0 }}
+
+
+
+
+ 项目数
+ {{ storeData.ProjectCount || 0 }}
+
+
+ 客单价
+ ¥{{ formatMoney(storeData.AvgAmountPerPerson) }}
+
+
+
+
+ 项目单价
+ ¥{{ formatMoney(storeData.AvgAmountPerProject) }}
+
+
+ 人均项目数
+ {{ formatMoney(storeData.AvgProjectPerHead, 2) }}
+
+
+
+
+
+
+
+
+
+ 会员分析
+
+
+
+
+ 总会员数
+ {{ formatNumber(memberData.TotalMembers || 0) }}
+
+
+ 本月新增
+ {{ formatNumber(memberData.NewMembersThisMonth || 0) }}
+
+
+
+
+ 活跃会员
+ {{ formatNumber(memberData.ActiveMembers || 0) }}
+ {{ formatMoney(memberData.ActiveMemberRate || 0, 1) }}%
+
+
+ 沉睡会员
+ {{ formatNumber(memberData.SleepMembers || 0) }}
+ {{ formatMoney(memberData.SleepMemberRate || 0, 1) }}%
+
+
+
+
+ 生美会员
+ {{ formatNumber(memberData.BeautyMembers || 0) }}
+
+
+ 医美会员
+ {{ formatNumber(memberData.MedicalMembers || 0) }}
+
+
+
+
+ 科美会员
+ {{ formatNumber(memberData.TechMembers || 0) }}
+
+
+ 教育会员
+ {{ formatNumber(memberData.EducationMembers || 0) }}
+
+
+
+
+
+
+
+
+
+ 近12个月业绩趋势
+
+
+
+
+
+
+
+
+
+
+ 业绩对比分析
+
+
+
+
+
+
+
+
+
+
+ 健康师业绩排行(Top 10)
+
+
+
+
+ {{ index + 1 }}
+
+
+ {{ item.HealthCoachName || '未知' }}
+
+ 开单:¥{{ formatMoney(item.BillingPerformance) }}
+ 消耗:¥{{ formatMoney(item.ConsumePerformance) }}
+ 净业绩:¥{{ formatMoney(item.NetPerformance) }}
+
+
+
+
+
+
+
+
+
+
+ 品项开单排行(Top 10)
+
+
+
+
+ {{ index + 1 }}
+
+
+ {{ item.ItemName || '未知品项' }}
+
+
+ ¥{{ formatMoney(item.BillingAmount) }}
+ {{ item.BillingCount }}次
+
+
+
+
+
+
+
+
+
+
+ 门店排名对比
+
+
+
+ 业绩排名
+
+ {{ comparison.performanceRanking }}
+ / {{ comparison.totalStoreCount }}
+
+
+
+
+
+
+ 同类型门店平均业绩
+ ¥{{ formatMoney(comparison.avgPerformanceSameType) }}
+
+
+ 同类型门店数
+ {{ comparison.sameTypeStoreCount }}家
+
+
+ 同组织门店平均业绩
+ ¥{{ formatMoney(comparison.avgPerformanceSameOrg) }}
+
+
+ 同组织门店数
+ {{ comparison.sameOrgStoreCount }}家
+
+
+
+
+
+
+
+
+
+ 消耗品项排行(Top 10)
+
+
+
+
+ {{ index + 1 }}
+
+
+ {{ item.ItemName || '未知品项' }}
+
+
+ ¥{{ formatMoney(item.ConsumeAmount) }}
+
+
+
+
+
+
+
+
+
+
+ 品项分类占比
+
+
+
+
+
+
+
+
+ {{ item.CategoryName || '其他' }}
+ ¥{{ formatMoney(item.ConsumeAmount) }}
+
+
+
+
+
+
+
+
+ 拓客转化漏斗
+
+
+
+
+
+
+
+
+
+
+ 客单价与项目数关系分析
+
+
+
+
+
+
+
+
+
+
+ 各分类业绩堆叠对比(最近6个月)
+
+
+
+
+
+
+
+
+
+
+ 一周运营热力图
+
+
+
+
+
+
+
+
+
+
+ 目标完成度
+
+
+
+
+
+
+ 目标业绩
+ ¥{{ formatMoney(storeData.TargetPerformance) }}
+
+
+ 消耗业绩
+ ¥{{ formatMoney(storeData.ConsumePerformance) }}
+
+
+
+
+
+
+
+
+ 本月经营提示
+
+
+
+
+ {{ tip.text }}
+
+
+
+
+
+
+
+
+ 快速数据洞察
+
+
+
+
+ {{ insight.value }}
+ {{ insight.desc }}
+
+
+
+
+
+
+
+
+ 本月关键指标
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+