diff --git a/src/api/statistics/index.js b/src/api/statistics/index.js
new file mode 100644
index 0000000..7fd504a
--- /dev/null
+++ b/src/api/statistics/index.js
@@ -0,0 +1,32 @@
+import request from '@/utils/request'
+
+// 获取首页查询热卖商品TOP
+export function goodsStatistics(query) {
+ return request({
+ url: '/dev/statistics/index/goodsStatistics',
+ method: 'get',
+ params: query
+ })
+}
+export function memberAndCartStatistics() {
+ return request({
+ url: '/dev/statistics/index/memberAndCart/statistics',
+ method: 'get'
+ })
+}
+
+export function orderAndAftersaleStatistics() {
+ return request({
+ url: '/dev/statistics/index/order/aftersale/statistics',
+ method: 'get'
+ })
+}
+
+// 获取订单信息
+export function orderStatistics(query) {
+ return request({
+ url: '/dev/statistics/index/orderStatistics',
+ method: 'get',
+ params: query
+ })
+}
diff --git a/src/views/components/IndexOrderPanelGroup/TopProduct.vue b/src/views/components/IndexOrderPanelGroup/TopProduct.vue
new file mode 100644
index 0000000..edeb809
--- /dev/null
+++ b/src/views/components/IndexOrderPanelGroup/TopProduct.vue
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+ 商品规格销量榜
+ 商品销量榜
+
+
+
+
+
+
+ 当日
+ 近七日
+ 近一个月
+
+
+
+
+
+
+
+
+
+
+ {{ key }}:{{ value }}
+
+
+
+
+
+
+
+
+
+ {{ row.totalSales }} 件
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/dashboard/OrderLineChart.vue b/src/views/dashboard/OrderLineChart.vue
new file mode 100644
index 0000000..9e07b1f
--- /dev/null
+++ b/src/views/dashboard/OrderLineChart.vue
@@ -0,0 +1,263 @@
+
+
+
+
+
+
+
+ 订单数
+ 支付金额
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/index.vue b/src/views/index.vue
index b15d3dd..d505017 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -9,10 +9,8 @@
- 会员数
-
- 加购数
-
- 分销商数
@@ -20,12 +18,11 @@
-
-
- 2,910
+ {{ memberAndCartStatisticsObj.memberCount }}
+
-
-
- 56
+ {{ memberAndCartStatisticsObj.cartCount }}
-
@@ -40,18 +37,16 @@
售后
-
- 2
+ {{ orderAndAftersaleStatisticsObj.pendingAftersaleCount }}
-
- 1
+ {{ orderAndAftersaleStatisticsObj.processingAftersaleCount }}
@@ -62,33 +57,26 @@
- 未发订单数
-
- 今日订单数
-
- 今日成交额
-
- 今日发货数
-
-
- 50
+ {{ orderAndAftersaleStatisticsObj.waitDeliveredCount }}
-
-
- 0
+ {{ orderAndAftersaleStatisticsObj.todayOrderCount }}
-
-
- 0
+ {{ orderAndAftersaleStatisticsObj.todayTransactionAmount }}
-
-
- 3
+ {{ orderAndAftersaleStatisticsObj.todayHasDeliveredCount }}
@@ -97,43 +85,10 @@
-
- 订单统计
-
-
-
-
-
本月订单总数
-
10000
-
+10%同比上月
-
-
-
本周订单总数
-
1000
-
-10%同比上周
-
-
-
本月销售总额
-
100000
-
+10%同比上月
-
-
-
本周销售总额
-
50000
-
-10%同比上周
-
-
-
-
-
-
-
-
+
+
+
+
@@ -174,6 +129,10 @@
import {str2Date} from '@/utils/date';
import PanelGroup from '@/views/components/PanelGroup'
import { mapGetters } from 'vuex'
+import OrderLineChart from "@/views/dashboard/OrderLineChart.vue";
+import TopProduct from "@/views/components/IndexOrderPanelGroup/TopProduct.vue";
+import {memberAndCartStatistics, orderAndAftersaleStatistics} from "@/api/statistics";
+
const DATA_FROM_BACKEND = {
columns: ['date', 'orderCount','orderAmount'],
rows: [
@@ -197,7 +156,9 @@ const DATA_FROM_BACKEND = {
export default {
components: {
- PanelGroup
+ PanelGroup,
+ OrderLineChart,
+ TopProduct
},
data() {
return {
@@ -239,7 +200,19 @@ export default {
loading: false,
dataEmpty: false,
nowTime: '',
- hello: ''
+ hello: '',
+ memberAndCartStatisticsObj: {
+ memberCount: 0,
+ cartCount: 0
+ },
+ orderAndAftersaleStatisticsObj: {
+ pendingAftersaleCount: 0,
+ processingAftersaleCount: 0,
+ waitDeliveredCount: 0,
+ todayHasDeliveredCount: 0,
+ todayOrderCount: 0,
+ todayTransactionAmount: 0
+ }
}
},
computed: {
@@ -248,6 +221,8 @@ export default {
created() {
this.showTimes()
this.helloTimes()
+ this.memberAndCartStat()
+ this.orderAndAftersaleStat()
this.initOrderCountDate()
this.getData()
},
@@ -329,6 +304,16 @@ export default {
} else {
this.hello = '晚上好'
}
+ },
+ memberAndCartStat(){
+ memberAndCartStatistics().then((response) => {
+ this.memberAndCartStatisticsObj = response
+ })
+ },
+ orderAndAftersaleStat(){
+ orderAndAftersaleStatistics().then((response) => {
+ this.orderAndAftersaleStatisticsObj = response
+ })
}
}
}
diff --git a/src/views/oms/aftersale/index.vue b/src/views/oms/aftersale/index.vue
index 75cb20a..b642751 100644
--- a/src/views/oms/aftersale/index.vue
+++ b/src/views/oms/aftersale/index.vue
@@ -110,8 +110,8 @@
{{ getLogEvent(item.orderStatus) }}
操作人:{{ item.operateMan }}
-
- 备注:{{ item.note }}
+
+ 备注:{{ item.note }}
@@ -185,6 +185,10 @@ export default {
};
},
created() {
+ const { status } = this.$route.query
+ if (status){
+ this.queryParams.status = status
+ }
this.getList();
},
methods: {
diff --git a/src/views/oms/order/index.vue b/src/views/oms/order/index.vue
index 47cbfc1..e69b169 100644
--- a/src/views/oms/order/index.vue
+++ b/src/views/oms/order/index.vue
@@ -219,8 +219,8 @@
{{ getLogEvent(item.orderStatus) }}
操作人:{{ item.operateMan }}
-
- 备注:{{ item.note }}
+
+ 备注:{{ item.note }}
@@ -231,7 +231,7 @@