Browse Source

加数据项

liuxiaona 2 years ago
parent
commit
54f2316737

+ 3 - 8
.idea/workspace.xml

@@ -2,15 +2,10 @@
2 2
 <project version="4">
3 3
   <component name="ChangeListManager">
4 4
     <list default="true" id="326b77ef-a0bc-4d8a-bd1c-34c4541ee400" name="Changes" comment="">
5
-      <change afterPath="$PROJECT_DIR$/static/js/15.9b7a8e852d7ad450d18f.js" afterDir="false" />
6
-      <change afterPath="$PROJECT_DIR$/static/js/19.75fb13f6a8611c557a2b.js" afterDir="false" />
7 5
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
8
-      <change beforePath="$PROJECT_DIR$/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/index.html" afterDir="false" />
9
-      <change beforePath="$PROJECT_DIR$/project/src/components/customOperate/friendsCircle/fcListdetial.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/customOperate/friendsCircle/fcListdetial.vue" afterDir="false" />
6
+      <change beforePath="$PROJECT_DIR$/project/src/components/dataBoard/playletData.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/dataBoard/playletData.vue" afterDir="false" />
7
+      <change beforePath="$PROJECT_DIR$/project/src/components/dataBoard/throwPerson/throwPersonPuton.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/dataBoard/throwPerson/throwPersonPuton.vue" afterDir="false" />
10 8
       <change beforePath="$PROJECT_DIR$/project/src/components/dataBoard/throwPerson/throwPersonSon.vue" beforeDir="false" afterPath="$PROJECT_DIR$/project/src/components/dataBoard/throwPerson/throwPersonSon.vue" afterDir="false" />
11
-      <change beforePath="$PROJECT_DIR$/static/css/app.0a590cb30daf9ed5b004a49c6fd19e13.css" beforeDir="false" afterPath="$PROJECT_DIR$/static/css/app.0a590cb30daf9ed5b004a49c6fd19e13.css" afterDir="false" />
12
-      <change beforePath="$PROJECT_DIR$/static/js/19.26cd6fbdbc6af3338dcb.js" beforeDir="false" afterPath="$PROJECT_DIR$/static/js/19.26cd6fbdbc6af3338dcb.js" afterDir="false" />
13
-      <change beforePath="$PROJECT_DIR$/static/js/manifest.3210419f869b34f44ea6.js" beforeDir="false" afterPath="$PROJECT_DIR$/static/js/manifest.3210419f869b34f44ea6.js" afterDir="false" />
14 9
     </list>
15 10
     <option name="SHOW_DIALOG" value="false" />
16 11
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -130,7 +125,7 @@
130 125
       <workItem from="1653271650799" duration="18349000" />
131 126
       <workItem from="1653444395016" duration="24196000" />
132 127
       <workItem from="1653616597711" duration="29019000" />
133
-      <workItem from="1653961967069" duration="746000" />
128
+      <workItem from="1653961967069" duration="5723000" />
134 129
     </task>
135 130
     <servers />
136 131
   </component>

+ 8 - 2
project/src/components/dataBoard/playletData.vue

@@ -148,15 +148,21 @@ export default {
148 148
         { prop: 'cost_cover_rate', label: "回本率(%)" },
149 149
         { prop: 'fans_increase', label: "新增粉丝数" },
150 150
         { prop: 'new_user_cost', label: "新增粉丝成本" },
151
+
152
+        { prop: 'charge_user_cost', label: "充值总人数", },
153
+        { prop: 'charge_user_cost', label: "当日首充人数", },
154
+        { prop: 'charge_user_cost', label: "总充值次数", },
155
+        { prop: 'charge_user_cost', label: "新用户首日充值次数", },
156
+
151 157
         { prop: 'new_user_charge_uv', label: "充值人数" },
152 158
         { prop: 'new_user_charge_pv', label: "充值次数" },
153
-        { prop: 'charge_user_cost', label: "充值用户成本", notes: '充值用户成本=当天消耗/充值人数' },
159
+        { prop: 'charge_user_cost', label: "充值用户成本", notes: '充值用户成本=当天消耗/充值人数', min_width: "160" },
154 160
       ],
155 161
       extra: [],
156 162
     }
157 163
   },
158 164
   created () {
159
-    this.height = document.documentElement.clientHeight - 400 > 400 ? document.documentElement.clientHeight - 400 : 400
165
+    this.height = document.documentElement.clientHeight - 300 > 400 ? document.documentElement.clientHeight - 400 : 400
160 166
     this.time = this.default_time
161 167
     this.init(1)
162 168
   },

+ 44 - 33
project/src/components/dataBoard/throwPerson/throwPersonPuton.vue

@@ -8,41 +8,19 @@
8 8
       </div>
9 9
       <el-button type="primary" size="mini" @click="init(1,'export')">导出Excel</el-button>
10 10
     </div>
11
-    <div class="dataInfoBox">
12
-      <div class="dataInfoItem">
11
+    <div class="dataInfoBox" v-loading="dataLoading">
12
+      <div class="dataInfoItem" v-for="(item,index) in dataInfoArrs" :key="index">
13 13
         <div class="dataItemTitle">
14
-          <img src="@/assets/img/icon/累计消耗@2x.png" style="height:14px" class="titleIcon" alt="">
15
-          <span>累计消耗</span>
14
+          <img src="@/assets/img/icon/累计消耗@2x.png" v-if="item.prop == 'cost'" style="height:14px" class="titleIcon" alt="">
15
+          <img src="@/assets/img/icon/累计充值@2x.png" v-if="item.prop == 'pay_money'" style="height:17px" class="titleIcon" alt="">
16
+          <img src="@/assets/img/icon/roi@2x.png" v-if="item.prop == 'first_day_roi'" style="height:14px" class="titleIcon" alt="">
17
+          <img src="@/assets/img/icon/总毛利润额@2x.png" v-if="item.prop == 'profile'" style="height:14px" class="titleIcon" alt="">
18
+          <img src="@/assets/img/icon/回本率@2x.png" v-if="item.prop == 'recall_rate'" style="height:16px" class="titleIcon" alt="">
19
+          <img src="@/assets/img/iconNew/企微成本@2x.png" v-if="item.prop == 'qwcb'" style="height:12px" class="titleIcon" alt="">
20
+          <img src="@/assets/img/iconNew/充值用户成本@2x.png" v-if="item.prop == 'shouri'" style="height:15px" class="titleIcon" alt="">
21
+          <span>{{item.label}}</span>
16 22
         </div>
17
-        <div class="dataItem-data">{{dataInfo&&(dataInfo.cost||dataInfo.cost==0)?$formatNum(dataInfo.cost):'-'}}</div>
18
-      </div>
19
-      <div class="dataInfoItem">
20
-        <div class="dataItemTitle">
21
-          <img src="@/assets/img/icon/累计充值@2x.png" style="height:18px" class="titleIcon" alt="">
22
-          <span>累计充值</span>
23
-        </div>
24
-        <div class="dataItem-data">{{dataInfo&&(dataInfo.pay_money||dataInfo.pay_money==0)?$formatNum(dataInfo.pay_money):'-'}}</div>
25
-      </div>
26
-      <div class="dataInfoItem">
27
-        <div class="dataItemTitle">
28
-          <img src="@/assets/img/icon/roi@2x.png" class="titleIcon" alt="">
29
-          <span>首日ROI</span>
30
-        </div>
31
-        <div class="dataItem-data">{{dataInfo&&(dataInfo.first_day_roi||dataInfo.first_day_roi==0)?dataInfo.first_day_roi:'-'}}</div>
32
-      </div>
33
-      <div class="dataInfoItem">
34
-        <div class="dataItemTitle">
35
-          <img src="@/assets/img/icon/总毛利润额@2x.png" style="height:14px" class="titleIcon" alt="">
36
-          <span>总毛利润额</span>
37
-        </div>
38
-        <div class="dataItem-data">{{dataInfo&&(dataInfo.profile||dataInfo.profile==0)?$formatNum(dataInfo.profile):'-'}}</div>
39
-      </div>
40
-      <div class="dataInfoItem">
41
-        <div class="dataItemTitle">
42
-          <img src="@/assets/img/icon/回本率@2x.png" class="titleIcon" alt="">
43
-          <span>回本率</span>
44
-        </div>
45
-        <div class="dataItem-data">{{dataInfo&&(dataInfo.recall_rate||dataInfo.recall_rate==0)?dataInfo.recall_rate+'%':'-'}}</div>
23
+        <div class="dataItem-data">{{dataInfo&&(dataInfo[item.prop]||dataInfo[item.prop]==0)?$formatNum(dataInfo[item.prop]):'-'}}</div>
46 24
       </div>
47 25
     </div>
48 26
     <ux-grid class="uxGridBox" ref="plxTable" :border="false" @row-click="()=>{return}" :header-cell-style="headerColor" :height="height" show-footer-overflow="tooltip" show-overflow="tooltip" size="mini">
@@ -73,6 +51,37 @@ export default {
73 51
   components: { datePicker, selfChannel },
74 52
   data () {
75 53
     return {
54
+      dataLoading:false,
55
+      dataInfoArrs:[
56
+        {
57
+          prop:'cost',
58
+          label:'累计消耗',
59
+        },
60
+        {
61
+          prop:'pay_money',
62
+          label:'累计充值',
63
+        },
64
+        {
65
+          prop:'first_day_roi',
66
+          label:'首日ROI',
67
+        },
68
+        {
69
+          prop:'profile',
70
+          label:'总毛利润额',
71
+        },
72
+        {
73
+          prop:'recall_rate',
74
+          label:'回本率',
75
+        },
76
+        {
77
+          prop:'qwcb',
78
+          label:'企微成本',
79
+        },
80
+        {
81
+          prop:'shouri',
82
+          label:'用户首日下单成本',
83
+        },
84
+      ],
76 85
       loading: false,
77 86
       page: 1,
78 87
       pages: 0,
@@ -93,6 +102,8 @@ export default {
93 102
         { prop: "end_date", label: "截止日期", min_width: 160 },
94 103
         { prop: "cost", label: "累计消耗" },
95 104
         { prop: "pay_money", label: "累计充值" },
105
+        { prop: "pay_money", label: "企微成本" },
106
+        { prop: "pay_money", label: "用户首日下单成本" , min_width: 160},
96 107
         { prop: "first_day_roi", label: "首日ROI", notes: '首日ROI=当日新用户充值之和/累计消耗' },
97 108
         { prop: "profile", label: "总毛利额", notes: '总毛利额=累计充值-累计消耗' },
98 109
         { prop: "recall_rate", label: "回本率%", notes: '回本率=累计充值/累计消耗' },

+ 44 - 33
project/src/components/dataBoard/throwPerson/throwPersonSon.vue

@@ -7,41 +7,19 @@
7 7
       </div>
8 8
       <el-button type="primary" size="mini" @click="init(1,'export')">导出Excel</el-button>
9 9
     </div>
10
-    <div class="dataInfoBox">
11
-      <div class="dataInfoItem">
10
+    <div class="dataInfoBox" v-loading="dataLoading">
11
+      <div class="dataInfoItem" v-for="(item,index) in dataInfoArrs" :key="index">
12 12
         <div class="dataItemTitle">
13
-          <img src="@/assets/img/icon/累计消耗@2x.png" style="height:14px" class="titleIcon" alt="">
14
-          <span>累计消耗</span>
13
+          <img src="@/assets/img/icon/累计消耗@2x.png" v-if="item.prop == 'sum_paid'" style="height:14px" class="titleIcon" alt="">
14
+          <img src="@/assets/img/icon/累计充值@2x.png" v-if="item.prop == 'sum_charge'" style="height:17px" class="titleIcon" alt="">
15
+          <img src="@/assets/img/icon/roi@2x.png" v-if="item.prop == 'sum_roi'" style="height:14px" class="titleIcon" alt="">
16
+          <img src="@/assets/img/icon/总毛利润额@2x.png" v-if="item.prop == 'sum_profit'" style="height:14px" class="titleIcon" alt="">
17
+          <img src="@/assets/img/icon/回本率@2x.png" v-if="item.prop == 'sum_recover_rate'" style="height:14px" class="titleIcon" alt="">
18
+          <img src="@/assets/img/iconNew/企微成本@2x.png" v-if="item.prop == 'qwcb'" style="height:12px" class="titleIcon" alt="">
19
+          <img src="@/assets/img/iconNew/充值用户成本@2x.png" v-if="item.prop == 'shouri'" style="height:15px" class="titleIcon" alt="">
20
+          <span>{{item.label}}</span>
15 21
         </div>
16
-        <div class="dataItem-data">{{dataInfo&&(dataInfo.sum_paid||dataInfo.sum_paid==0)?$formatNum(dataInfo.sum_paid):'-'}}</div>
17
-      </div>
18
-      <div class="dataInfoItem">
19
-        <div class="dataItemTitle">
20
-          <img src="@/assets/img/icon/累计充值@2x.png" style="height:18px" class="titleIcon" alt="">
21
-          <span>累计充值</span>
22
-        </div>
23
-        <div class="dataItem-data">{{dataInfo&&(dataInfo.sum_charge||dataInfo.sum_charge==0)?$formatNum(dataInfo.sum_charge):'-'}}</div>
24
-      </div>
25
-      <div class="dataInfoItem">
26
-        <div class="dataItemTitle">
27
-          <img src="@/assets/img/icon/roi@2x.png" class="titleIcon" alt="">
28
-          <span>首日ROI</span>
29
-        </div>
30
-        <div class="dataItem-data">{{dataInfo&&(dataInfo.sum_roi||dataInfo.sum_roi==0)?dataInfo.sum_roi:'-'}}</div>
31
-      </div>
32
-      <div class="dataInfoItem">
33
-        <div class="dataItemTitle">
34
-          <img src="@/assets/img/icon/总毛利润额@2x.png" style="height:14px" class="titleIcon" alt="">
35
-          <span>总毛利润额</span>
36
-        </div>
37
-        <div class="dataItem-data">{{dataInfo&&(dataInfo.sum_profit||dataInfo.sum_profit==0)?$formatNum(dataInfo.sum_profit):'-'}}</div>
38
-      </div>
39
-      <div class="dataInfoItem">
40
-        <div class="dataItemTitle">
41
-          <img src="@/assets/img/icon/回本率@2x.png" class="titleIcon" alt="">
42
-          <span>回本率</span>
43
-        </div>
44
-        <div class="dataItem-data">{{dataInfo&&(dataInfo.sum_recover_rate||dataInfo.sum_recover_rate==0)?dataInfo.sum_recover_rate:'-'}}</div>
22
+        <div class="dataItem-data">{{dataInfo&&(dataInfo[item.prop]||dataInfo[item.prop]==0)?$formatNum(dataInfo[item.prop]):'-'}}</div>
45 23
       </div>
46 24
     </div>
47 25
     <ux-grid class="uxGridBox" ref="plxTable" :border="false" @row-click="()=>{return}" :header-cell-style="headerColor" :height="height" show-footer-overflow="tooltip" show-overflow="tooltip" size="mini">
@@ -90,12 +68,45 @@ export default {
90 68
       user_id: '',
91 69
       drama_id: '',
92 70
       gl_loading: false,
71
+      dataLoading:false,
72
+      dataInfoArrs:[
73
+        {
74
+          prop:'sum_paid',
75
+          label:'累计消耗',
76
+        },
77
+        {
78
+          prop:'sum_charge',
79
+          label:'累计充值',
80
+        },
81
+        {
82
+          prop:'qwcb',
83
+          label:'企微成本',
84
+        },
85
+        {
86
+          prop:'shouri',
87
+          label:'用户首日下单成本',
88
+        },
89
+        {
90
+          prop:'sum_roi',
91
+          label:'首日ROI',
92
+        },
93
+        {
94
+          prop:'sum_profit',
95
+          label:'总毛利润额',
96
+        },
97
+        {
98
+          prop:'sum_recover_rate',
99
+          label:'回本率',
100
+        },
101
+      ],
93 102
       desCol: [
94 103
         { prop: "user_name", label: "投手", min_width: 160, fixed: 'left'  },
95 104
         { prop: "date_num", label: "投放天数", min_width: 160, sort: true},
96 105
         { prop: "app_num", label: "投放公众号数", min_width: 160, sort: true },
97 106
         { prop: "day_paid", label: "累计消耗",sort: true },
98 107
         { prop: "charge_total", label: "累计充值",sort: true },
108
+        { prop: "charge_total", label: "企微成本",sort: true },
109
+        { prop: "charge_total", label: "用户首日下单成本",sort: true, min_width: 160 },
99 110
         { prop: "roi", label: "首日ROI", notes: '首日ROI=当日新用户充值之和/累计消耗',sort: true },
100 111
         { prop: "profit", label: "总毛利额", notes: '总毛利额=累计充值-累计消耗',sort: true },
101 112
         { prop: "recover_rate", label: "回本率%", notes: '回本率=累计充值/累计消耗',sort: true },