diff --git a/components/analytics/AnalyticsAreaChart.uvue b/components/analytics/AnalyticsAreaChart.uvue
new file mode 100644
index 00000000..f4ef4e68
--- /dev/null
+++ b/components/analytics/AnalyticsAreaChart.uvue
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/components/analytics/AnalyticsComboChart.uvue b/components/analytics/AnalyticsComboChart.uvue
index fd3ef7b2..f3b08c35 100644
--- a/components/analytics/AnalyticsComboChart.uvue
+++ b/components/analytics/AnalyticsComboChart.uvue
@@ -129,7 +129,7 @@ export default {
let result = params[0].name + '
'
for (let i = 0; i < params.length; i++) {
const p = params[i]
- if (p.seriesName === 'GMV') {
+ if (p.seriesName === '订单金额' || p.seriesName === 'GMV') {
const val = Number(p.value)
const formatted = val >= 10000 ? (val / 10000).toFixed(1) + '万' : val.toFixed(0)
result += `${p.marker} ${p.seriesName}: ¥${formatted}
`
@@ -142,11 +142,11 @@ export default {
},
legend: {
top: 8,
- left: 8,
+ left: 'center',
itemWidth: 10,
itemHeight: 10,
textStyle: { fontSize: 12 },
- data: ['GMV', '订单数'],
+ data: ['订单金额', '订单数'],
bottom: 'auto'
},
xAxis: {
@@ -156,14 +156,14 @@ export default {
axisLine: { lineStyle: { color: 'rgba(0,0,0,0.12)' } },
axisLabel: {
color: 'rgba(0,0,0,0.55)',
- rotate: x.length > 12 ? 45 : 0,
- interval: 0
+ rotate: x.length > 20 ? 45 : 0,
+ interval: x.length > 15 ? 1 : 0
}
},
yAxis: [
{
type: 'value',
- name: 'GMV(元)',
+ name: '金额',
position: 'left',
axisLine: { show: false },
splitLine: { lineStyle: { color: 'rgba(0,0,0,0.06)' } },
@@ -171,7 +171,7 @@ export default {
color: 'rgba(0,0,0,0.55)',
formatter: (value: number) => {
if (value >= 10000) {
- return (value / 10000).toFixed(1) + '万'
+ return (value / 10000).toFixed(0) + '万'
}
return String(Math.round(value))
}
@@ -179,7 +179,7 @@ export default {
},
{
type: 'value',
- name: '订单数',
+ name: '数量',
position: 'right',
alignTicks: true,
axisLine: { show: false },
@@ -192,14 +192,14 @@ export default {
],
series: [
{
- name: 'GMV',
+ name: '订单金额',
type: 'bar',
yAxisIndex: 0,
data: bar,
barMaxWidth: 14,
barCategoryGap: '35%',
itemStyle: {
- borderRadius: [6, 6, 0, 0],
+ borderRadius: [2, 2, 0, 0],
color: '#3b82f6'
}
},
@@ -208,7 +208,7 @@ export default {
type: 'line',
yAxisIndex: 1,
data: line,
- smooth: true,
+ smooth: false,
symbol: 'circle',
symbolSize: 6,
lineStyle: {
diff --git a/components/analytics/AnalyticsPieChart.uvue b/components/analytics/AnalyticsPieChart.uvue
new file mode 100644
index 00000000..83b3b7ef
--- /dev/null
+++ b/components/analytics/AnalyticsPieChart.uvue
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/layouts/admin/AdminLayout.uvue b/layouts/admin/AdminLayout.uvue
index 81e0e55f..3dc66dd2 100644
--- a/layouts/admin/AdminLayout.uvue
+++ b/layouts/admin/AdminLayout.uvue
@@ -200,6 +200,7 @@ onMounted(() => {