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(() => {