ソースを参照

Merge branch 'master' of http://git.ycjcjy.com/zhiyuxing/pc-admin

张延森 5 年 前
コミット
91bca6f028

+ 0
- 1
src/store/modules/indexEcharts.js ファイルの表示

@@ -36,7 +36,6 @@ export default {
36 36
       })
37 37
     },
38 38
     getNewsUserCount ({ commit }, payload) {
39
-      console.log('8888888888888888')
40 39
       return new Promise((resolve, reject) => {
41 40
         request({
42 41
           ...apis.indexEcharts.newsUserCount,

+ 2
- 2
src/views/carouselFigure/advertisementEdit.vue ファイルの表示

@@ -25,11 +25,11 @@
25 25
       <el-form-item label="标题:">
26 26
         <el-input v-model="form.title"></el-input>
27 27
       </el-form-item>
28
-      <el-form-item label="发布位置:">
28
+      <!-- <el-form-item label="发布位置:">
29 29
         <el-select v-model="form.showPosition" placeholder="请选择">
30 30
           <el-option v-for="(item,i) in showPositionList" :key="i" :label="item.name" :value="item.value"></el-option>
31 31
         </el-select>
32
-      </el-form-item>
32
+      </el-form-item> -->
33 33
       <el-form-item label="类型:">
34 34
         <el-select v-model="form.contentType" placeholder="请选择">
35 35
           <el-option v-for="(t,i) in contentTypeList" :key="i" :label="t.name" :value="t.value"></el-option>

+ 2
- 2
src/views/index.js ファイルの表示

@@ -20,8 +20,8 @@ const pages = [
20 20
     },
21 21
     children:[
22 22
       {
23
-        path: 'indexEcharts',
24
-        name: 'indexEcharts',
23
+        path: 'index',
24
+        name: 'index',
25 25
         component: () => import('./indexEcharts/index.vue'),
26 26
         meta: {
27 27
           menuShow: false,

+ 1
- 1
src/views/indexEcharts/behaviorAnalysis.vue ファイルの表示

@@ -23,7 +23,7 @@
23 23
         </ul>
24 24
       </div>
25 25
     </div>
26
-  <p>用户行为 最近一个月 
26
+  <p>最近一周 最近一个月 
27 27
     <el-date-picker
28 28
       v-model="value"
29 29
       type="daterange"

+ 38
- 32
src/views/indexEcharts/index.vue ファイルの表示

@@ -57,7 +57,7 @@
57 57
   <p class="title under-line" @click="toNewUsers()">新增用户</p>
58 58
   <span class="title-desc under-line" @click="toNewUsers()">最近7天</span>
59 59
   <el-table :data="tableData"  border  center  style="width: 100%">
60
-    <el-table-column label=date prop="name" ></el-table-column>
60
+    <el-table-column v-for="(item, index) in tableTitle" :key="index" :label="item" :prop="index == 0 ? 'label': item"></el-table-column>
61 61
   </el-table>
62 62
   <p class="title">意向客户</p>
63 63
   <el-table :data="tableData2"  border  center  style="width: 100%">
@@ -83,24 +83,12 @@ export default {
83 83
   components: {},
84 84
   data() {
85 85
     return {
86
+      // 新增用户
86 87
       tableData: [
87
-        {
88
-          date: "2016-05-02",
89
-          name: "15"
90
-        },
91
-        {
92
-          date: "2016-05-04",
93
-          name: "16"
94
-        },
95
-        {
96
-          date: "2016-05-01",
97
-          name: "17"
98
-        },
99
-        {
100
-          date: "2016-05-03",
101
-          name: "18"
102
-        }
88
+        { label: '新增用户', },
89
+        { label: '授权注册', }
103 90
       ],
91
+      tableTitle: [ '类型' ],
104 92
       tableData2: [
105 93
         {
106 94
           num: "98",
@@ -139,7 +127,25 @@ export default {
139 127
     ...mapIndexEchartsActions(["getIndexEcharts", "setDetailNull"]),
140 128
     initPage() {
141 129
       this.setDetailNull();
142
-      this.getIndexEcharts();
130
+      this.getIndexEcharts().then(x => {
131
+        const data = this.echartsInfo.selectNewsUserCount
132
+        // this.lineSeting.dataset.source = data
133
+        this.tableData = (data || []).reduce((acc, item, index) => {
134
+          const { date, userCount, authorizationCount } = item
135
+          const row2 = {
136
+            ...acc[0],
137
+            [`${date}`]: userCount,
138
+          }
139
+          const row3 = {
140
+            ...acc[1],
141
+            [`${date}`]: authorizationCount,
142
+          }
143
+
144
+          this.tableTitle = this.tableTitle.concat(`${date}`)
145
+
146
+          return [row2, row3];          
147
+        }, this.tableData)
148
+      });;
143 149
     },
144 150
     toNewUsers() {
145 151
       this.$router.push({ name: "newUsers" });
@@ -256,15 +262,15 @@ export default {
256 262
         },
257 263
         series: [
258 264
           {
259
-            name: "访问来源",
265
+            name: "用户来源",
260 266
             type: "pie",
261 267
             radius: "55%",
262 268
             center: ["50%", "60%"],
263
-            label: {
264
-              normal: {
265
-                position: "inner"
266
-              }
267
-            },
269
+            // label: {
270
+            //   normal: {
271
+            //     position: "inner"
272
+            //   }
273
+            // },
268 274
             data: [
269 275
               { value: 15, name: "自主进入" },
270 276
               { value: 30, name: "来源全民经纪人" },
@@ -422,7 +428,7 @@ export default {
422 428
         },
423 429
         series: [
424 430
           {
425
-            name: "访问来源",
431
+            name: "转化率",
426 432
             type: "pie",
427 433
             radius: ["40%", "56%"],
428 434
             avoidLabelOverlap: false,
@@ -464,7 +470,7 @@ export default {
464 470
         },
465 471
         series: [
466 472
           {
467
-            name: "访问来源",
473
+            name: "性别比例",
468 474
             type: "pie",
469 475
             radius: ["40%", "56%"],
470 476
             avoidLabelOverlap: false,
@@ -508,15 +514,15 @@ export default {
508 514
         },
509 515
         series: [
510 516
           {
511
-            name: "访问来源",
517
+            name: "城市分布",
512 518
             type: "pie",
513 519
             radius: "55%",
514 520
             center: ["50%", "60%"],
515
-            label: {
516
-              normal: {
517
-                position: "inner"
518
-              }
519
-            },
521
+            // label: {
522
+            //   normal: {
523
+            //     position: "inner"
524
+            //   }
525
+            // },
520 526
             data: [
521 527
               { value: 21, name: "合肥" },
522 528
               { value: 90, name: "南京" },

+ 25
- 3
src/views/indexEcharts/newUsers.vue ファイルの表示

@@ -1,15 +1,16 @@
1 1
 <template>
2 2
 <div>
3
-  <p class="title">最近一周 最近一个月 
3
+  <p class="title"><span @click="choose(list.id)" :class="active==list.id?'active':''" v-for="(list,index) in dateList" :key="index" >{{list.date}}</span>  
4 4
     <el-date-picker
5 5
       v-model="value"
6 6
       type="daterange"
7 7
       start-placeholder="开始日期"
8 8
       end-placeholder="结束日期"
9
+      @change="changeDate"
9 10
       default-value="2019-08-08">
10 11
     </el-date-picker></p>
11 12
   <x-line :style="{ height: '500px',margin:'20px 0',border:'1px solid #eee', padding:'20px',borderRadius:'5px'}"  :value="lineSeting"></x-line>
12
-   <el-table :data="tableData"  border  center  style="width: 100%">
13
+  <el-table :data="tableData"  border  center  style="width: 100%">
13 14
     <el-table-column v-for="(item, index) in tableTitle" :key="index" :label="item" :prop="index == 0 ? 'label': item"></el-table-column>
14 15
   </el-table>
15 16
 
@@ -32,6 +33,11 @@ export default {
32 33
   data() {
33 34
     return {
34 35
       value: "",
36
+      dateList:[
37
+        {date:'最近一周',id:1},
38
+        {date:'最近一个月',id:2},
39
+      ],
40
+      active:1,
35 41
       lineSeting: {
36 42
         dataset: {
37 43
           dimensions: ['date', 'userCount', 'authorizationCount'],
@@ -52,8 +58,16 @@ export default {
52 58
   },
53 59
   methods: {
54 60
     ...mapIndexEchartsActions(["getNewsUserCount"]),
61
+    choose(id){
62
+      this.active = id;
63
+    },
64
+    changeDate(){
65
+      console.log(this.value,"value");
66
+      if(this.value!=''){
67
+        this.active = '3'
68
+      }
69
+    },
55 70
     initPage() {
56
-      console.log('11111111111111')
57 71
       this.getNewsUserCount().then(x => {
58 72
         const data = this.newsUserCount.selectNewsUserCount
59 73
         this.lineSeting.dataset.source = data
@@ -88,6 +102,14 @@ export default {
88 102
 p {
89 103
   margin: 0;
90 104
 }
105
+.title{
106
+  span{
107
+    margin-right: 15px;
108
+  }
109
+  .active{
110
+    color: #044281;
111
+  }
112
+}
91 113
 </style>
92 114
 
93 115
 

+ 24
- 1
src/views/indexEcharts/userSource.vue ファイルの表示

@@ -1,9 +1,10 @@
1 1
 <template>
2 2
 <div>
3
-  <p class="title">用户行为 最近2个月 
3
+  <p class="title"><span @click="choose(list.id)"  :class="active==list.id?'active':''" v-for="(list,index) in dateList" :key="index" >{{list.date}}</span> 
4 4
     <el-date-picker
5 5
       v-model="value"
6 6
       type="daterange"
7
+      @change="changeDate"
7 8
       start-placeholder="开始日期"
8 9
       end-placeholder="结束日期"
9 10
       default-value="2019-08-08">
@@ -54,6 +55,11 @@ export default {
54 55
   },
55 56
   data() {
56 57
     return {
58
+      dateList:[
59
+        {date:'最近一周',id:1},
60
+        {date:'最近一个月',id:2},
61
+      ],
62
+      active:1,
57 63
       value: '', // 时间
58 64
         header: [], // 表头
59 65
        tableData2: [
@@ -103,6 +109,15 @@ export default {
103 109
      ...mapEchartsActions([
104 110
         'getUserResource'
105 111
      ]),
112
+     choose(id){
113
+      this.active = id;
114
+    },
115
+    changeDate(){
116
+      console.log(this.value,"value");
117
+      if(this.value!=''){
118
+        this.active = '3'
119
+      }
120
+    },
106 121
     drawLine() {
107 122
       // 基于准备好的dom,初始化echarts实例
108 123
       let firstChart = Echarts.init(this.$refs.firstChart);
@@ -273,6 +288,14 @@ export default {
273 288
 p {
274 289
   margin: 0;
275 290
 }
291
+.title{
292
+  span{
293
+    margin-right: 15px;
294
+  }
295
+  .active{
296
+    color: #044281;
297
+  }
298
+}
276 299
 </style>
277 300
 
278 301