许静 преди 5 години
родител
ревизия
710550ccb8

+ 1
- 1
src/components/charts/XLine.vue Целия файл

@@ -9,7 +9,7 @@ export default {
9 9
   props: {
10 10
     value: {
11 11
       type: Object,
12
-      default: () => {},
12
+      default: () => ({}),
13 13
     },
14 14
   },
15 15
   data() {

+ 4
- 0
src/config/api.js Целия файл

@@ -345,6 +345,10 @@ const apis = {
345 345
           method:'get',
346 346
           url: `${commPrefix}/selectNewsUserCount`
347 347
       },
348
+      userBehavior: {
349
+          method:'get',
350
+          url: `${commPrefix}/selectUserBehavior`
351
+      },
348 352
   },
349 353
 }
350 354
 export default apis

+ 14
- 30
src/store/modules/indexEcharts.js Целия файл

@@ -35,8 +35,8 @@ export default {
35 35
         })
36 36
       })
37 37
     },
38
-    getNewsUserCount ({ commit }, payload) {
39
-      return new Promise((resolve, reject) => {
38
+    getNewsUserCount ({ commit }, payload) { // 新增用户 详情页
39
+      return new Promise((resolve, reject) => { 
40 40
         request({
41 41
           ...apis.indexEcharts.newsUserCount,
42 42
           params: payload,
@@ -51,34 +51,6 @@ export default {
51 51
         })
52 52
       })
53 53
     },
54
-    // changeExchangeStatus (_, payload) {
55
-    //   return new Promise((resolve, reject) => {
56
-    //     request({
57
-    //       ...apis.exchange.change,
58
-    //       data: payload,
59
-    //     }).then((data) => {
60
-    //       resolve(data)
61
-    //     }).catch((err) => {
62
-    //       const message = err.message || err.msg
63
-
64
-    //       if (typeof message === 'string') {
65
-    //         reject(message)
66
-    //       }
67
-    //     })
68
-    //   })
69
-    // },
70
-    // verifyById (_, payload) {
71
-    //   return new Promise((resolve, reject) => {
72
-    //     request({
73
-    //       ...apis.exchange.update,
74
-    //       urlData: payload,
75
-    //     }).then((data) => {
76
-    //       resolve(data)
77
-    //     }).catch((err) => {
78
-    //       reject(err)
79
-    //     })
80
-    //   })
81
-    // }
82 54
     getUserResource({ commit }, payload) { // 用户来源 详情页
83 55
       return new Promise((resolve, reject) => {
84 56
         request({
@@ -90,6 +62,18 @@ export default {
90 62
           reject(err)
91 63
         })
92 64
       })
65
+    },
66
+    getUserBehavior({ commit }, payload) { // 用户来源 详情页
67
+      return new Promise((resolve, reject) => {
68
+        request({
69
+          ...apis.indexEcharts.userBehavior,
70
+          params: payload
71
+        }).then((data) => {
72
+          resolve(data)
73
+        }).catch((err) => {
74
+          reject(err)
75
+        })
76
+      })
93 77
     }
94 78
   }
95 79
 }

+ 17
- 27
src/views/indexEcharts/behaviorAnalysis.vue Целия файл

@@ -50,6 +50,10 @@ import { createNamespacedHelpers } from "vuex";
50 50
 import apis from "../../config/api";
51 51
 import { mapState } from "vuex";
52 52
 import Echarts from "echarts";
53
+const {
54
+  mapState: mapIndexEchartsState,
55
+  mapActions: mapIndexEchartsActions
56
+} = createNamespacedHelpers("indexEcharts");
53 57
 
54 58
 export default {
55 59
   components: {},
@@ -73,36 +77,12 @@ export default {
73 77
         }
74 78
       ],
75 79
       value: "",
76
-      tableData2: [
77
-        {
78
-          num: "98",
79
-          name: "王晓红",
80
-          phone: "15742389456",
81
-          building: "香颂.蔚澜半岛"
82
-        },
83
-        {
84
-          num: "99",
85
-          name: "王晓红2",
86
-          phone: "15742389456",
87
-          building: "香颂.蔚澜半岛"
88
-        },
89
-        {
90
-          num: "88",
91
-          name: "王晓红3",
92
-          phone: "15742389456",
93
-          building: "香颂.蔚澜半岛"
94
-        },
95
-        {
96
-          num: "94",
97
-          name: "王晓红4",
98
-          phone: "15742389456",
99
-          building: "香颂.蔚澜半岛"
100
-        }
101
-      ]
80
+      tableData2: []
102 81
     };
103 82
   },
104 83
   computed: {},
105 84
   methods: {
85
+    ...mapIndexEchartsActions(["getUserBehavior"]),
106 86
     search() {},
107 87
     drawLine() {
108 88
       // 折线图
@@ -112,7 +92,14 @@ export default {
112 92
         title: {
113 93
           text: "访问人数"
114 94
         },
115
-        color: ["#000", "green", "#5793f3", "#d14a61", "#241bba", "orange"],
95
+        color: [
96
+          "#ed3a3d",
97
+          "#e613d2",
98
+          "#2ed9f7",
99
+          "#0ab662",
100
+          "#165cf8",
101
+          "#8854b9"
102
+        ],
116 103
         tooltip: {
117 104
           trigger: "axis"
118 105
         },
@@ -177,6 +164,9 @@ export default {
177 164
   },
178 165
   mounted() {
179 166
     this.drawLine();
167
+    this.getUserBehavior().then(x=>{
168
+      this.selectUserBehavior = x
169
+    });
180 170
   }
181 171
 };
182 172
 </script>

+ 5
- 1
src/views/indexEcharts/index.vue Целия файл

@@ -74,6 +74,8 @@ import { createNamespacedHelpers } from "vuex";
74 74
 import apis from "../../config/api";
75 75
 import { mapState } from "vuex";
76 76
 import Echarts from "echarts";
77
+import dayjs from 'dayjs';
78
+
77 79
 const {
78 80
   mapState: mapIndexEchartsState,
79 81
   mapActions: mapIndexEchartsActions
@@ -111,7 +113,9 @@ export default {
111 113
     initPage() {
112 114
       this.setDetailNull();
113 115
       this.getIndexEcharts().then(x => {
114
-        this.lineSeting.dataset.source = this.echartsInfo.selectUserBehavior
116
+        this.lineSeting.dataset.source = (this.echartsInfo.selectUserBehavior || []).map(x => ({ ...x, date: dayjs(x.date).format('YYYY-MM-DD') }))
117
+        // this.lineSeting.series = (this.echartsInfo.selectUserBehavior || []).map(x => ({ ...x, date: dayjs(x.date).format('YYYY-MM-DD') }))
118
+        this.lineSeting.title.text = '访问人数'
115 119
         const data = this.echartsInfo.selectNewsUserCount
116 120
         this.tableData = (data || []).reduce((acc, item, index) => {
117 121
           const { date, userCount, authorizationCount } = item

+ 0
- 1
src/views/indexEcharts/newUsers.vue Целия файл

@@ -21,7 +21,6 @@
21 21
 import { createNamespacedHelpers } from "vuex";
22 22
 import apis from "../../config/api";
23 23
 import { mapState } from "vuex";
24
-
25 24
 const {
26 25
   mapState: mapIndexEchartsState,
27 26
   mapActions: mapIndexEchartsActions