Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
marketing
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
marketing-web
marketing
Commits
98ff7709
Commit
98ff7709
authored
Jul 28, 2022
by
crushh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: dist
parent
85d4e9c2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
135 additions
and
40 deletions
+135
-40
ai-chart2.png
src/assets/img/ai-chart2.png
+0
-0
index.scss
src/assets/style/components/index.scss
+20
-0
index.vue
src/components/dm-new-member-group/index.vue
+0
-19
ai-data-detail.vue
src/views/ai/ai-data-detail.vue
+0
-0
ai-data-report.vue
src/views/ai/ai-data-report.vue
+1
-1
activity-info.vue
src/views/ai/ai-data-report/activity-info.vue
+23
-2
conversion.vue
src/views/ai/ai-data-report/conversion.vue
+68
-16
task.vue
src/views/ai/task/task.vue
+6
-1
index.vue
src/views/game/cmh/index.vue
+1
-0
statistics.vue
src/views/game/cmh/statistics/statistics.vue
+15
-1
index.vue
src/views/game/dzp/index.vue
+1
-0
No files found.
src/assets/img/ai-chart2.png
0 → 100644
View file @
98ff7709
20 KB
src/assets/style/components/index.scss
View file @
98ff7709
...
...
@@ -248,4 +248,23 @@
/*tooltip宽度*/
.el-tooltip__popper
{
max-width
:
400px
!
important
;
}
.member-group-dialog-wrap
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.member-group-dialog
{
margin
:
0
!
important
;
padding
:
0
4px
4px
;
max-height
:
700px
;
.el-dialog__header
{
display
:
none
;
}
.el-dialog__body
{
padding-bottom
:
0
!
important
;
}
.el-dialog__footer
{
padding
:
20px
0
;
}
}
\ No newline at end of file
src/components/dm-new-member-group/index.vue
View file @
98ff7709
...
...
@@ -252,25 +252,6 @@ export default {
</
script
>
<
style
lang=
"scss"
scoped
>
.member-group-dialog-wrap
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.member-group-dialog
{
margin
:
0
!important
;
padding
:
0
4px
4px
;
max-height
:
700px
;
.el-dialog__header
{
display
:
none
;
}
.el-dialog__body
{
padding-bottom
:
0
!important
;
}
.el-dialog__footer
{
padding
:
20px
0
;
}
}
.delBtn
{
color
:
#f5222d
;
}
...
...
src/views/ai/ai-data-detail.vue
View file @
98ff7709
This diff is collapsed.
Click to expand it.
src/views/ai/ai-data-report.vue
View file @
98ff7709
...
...
@@ -50,7 +50,7 @@ export default {
this
.
filterJson
=
filterJson
;
},
toDetailPage
(
name
)
{
this
.
$router
.
push
(
`/ai/ai-data-detail/
${
this
.
$route
.
params
.
id
}
?flag=
${
this
.
flags
.
smsFlag
}
&analyseFlag=
${
this
.
flags
.
analyseFlag
}
&name=
${
name
}
`
);
this
.
$router
.
push
(
`/ai/ai-data-detail/
${
this
.
$route
.
params
.
id
}
?flag=
${
this
.
flags
.
smsFlag
}
&analyseFlag=
${
this
.
flags
.
analyseFlag
}
&name=
${
name
}
&scene=
${
this
.
$route
.
query
.
scene
}
`
);
}
}
};
...
...
src/views/ai/ai-data-report/activity-info.vue
View file @
98ff7709
...
...
@@ -28,11 +28,18 @@
触达之日起
{{
activityInfo
.
analyseDays
||
'--'
}}
天
</div>
</div>
<div
class=
"member-rule"
>
<div
class=
"member-rule"
v-if=
"scene != 5"
>
<div
class=
"member-rule-title"
>
人群规则:
</div>
<ruleFilter
class=
"member-rule-list"
v-if=
"activityInfo.memberType == 0"
:memberCrowdWidgetId=
"activityInfo.filterJson"
/>
<gic-new-member-group
class=
"member-rule-list"
v-if=
"activityInfo.memberType == 1"
:selected-ids=
"activityInfo.filterJson"
></gic-new-member-group>
</div>
<div
class=
"member-rule"
v-else
>
<div
class=
"member-rule-title"
>
人群规则:
</div>
<div
class=
"numCount"
>
号码导入:
<span>
{{
activityInfo
.
totalCount
&&
activityInfo
.
totalCount
.
toLocaleString
()
}}
</span
>
条
</div>
</div>
</div>
</
template
>
...
...
@@ -46,7 +53,8 @@ export default {
components
:
{
ruleFilter
},
data
()
{
return
{
activityInfo
:
{}
activityInfo
:
{},
scene
:
''
};
},
filters
:
{
...
...
@@ -63,6 +71,7 @@ export default {
},
created
()
{
this
.
getActivityInfo
();
this
.
scene
=
this
.
$route
.
query
.
scene
;
},
methods
:
{
formatDateTimeByType
,
...
...
@@ -102,6 +111,7 @@ export default {
}
}
}
.member-rule
{
margin-top
:
20px
;
.member-rule-title
{
...
...
@@ -110,6 +120,17 @@ export default {
color
:
#303133
;
line-height
:
20px
;
}
.numCount
{
margin-top
:
10px
;
width
:
100%
;
padding
:
16px
;
line-height
:
20px
;
background
:
#f7f8fa
;
border-radius
:
4px
;
span
{
font-weight
:
500
;
}
}
.member-rule-list
{
margin-top
:
10px
;
/deep/
.echo-member-group
{
...
...
src/views/ai/ai-data-report/conversion.vue
View file @
98ff7709
...
...
@@ -30,27 +30,28 @@
</el-table>
<div
class=
"chart-box"
>
<div
class=
"chart-member-count"
v-if=
"funnelData.hasData"
>
<img
:src=
"scene == 5 ? img2 : img1"
class=
"funnelImg"
/>
<div
class=
"funnel"
>
<div
class=
"funnel-item plan-count"
>
<
!--
<
div
class=
"funnel-item plan-count"
>
<p
class=
"item-label"
>
营销人数
</p>
<p
class=
"item-value"
>
{{
numFormat
(
funnelData
.
marketingNumber
)
}}
</p>
</div>
<div
class=
"funnel-item
target-count
"
>
<p
class=
"item-label"
>
触达人数
</p>
<p
class=
"item-value"
>
{{
numFormat
(
funnelData
.
reachNumber
)
}}
</p>
<div
class=
"item-rate"
>
<p
class=
"rate-label"
>
触达率
</p>
<p
class=
"rate-value"
>
{{
funnelData
.
reachRate
}}
</p>
</div>
-->
<div
class=
"funnel-item
"
:style=
"`height:$
{item.height}`" v-for="item in transeData" :key="item.prop
">
<p
class=
"item-label"
>
{{
item
.
label
}}
</p>
<p
class=
"item-value"
>
{{
numFormat
(
funnelData
[
item
.
prop
]
)
}}
</p>
<div
class=
"item-rate"
v-if=
"item.rateLable"
>
<p
class=
"rate-label"
>
{{
item
.
rateLable
}}
</p>
<p
class=
"rate-value"
>
{{
funnelData
[
item
.
rateProp
]
}}
</p>
</div>
</div>
<div
class=
"funnel-item change-count"
>
<
!--
<
div
class=
"funnel-item change-count"
>
<p
class=
"item-label"
>
转化人数
</p>
<p
class=
"item-value"
>
{{
numFormat
(
funnelData
.
conversionNumber
)
}}
</p>
<div
class=
"item-rate"
>
<p
class=
"rate-label"
>
转化率
</p>
<p
class=
"rate-value"
>
{{
funnelData
.
conversionRate
}}
</p>
</div>
</div>
</div>
-->
</div>
</div>
<div
v-else
class=
"no-data"
>
...
...
@@ -72,7 +73,8 @@
import
{
getPlanStatistics
,
getMemberCrowd
,
getComparativeData
}
from
'@/service/api/aiApi.js'
;
import
{
numFormat
}
from
'@/utils/index.js'
;
import
TargetGroup
from
'@/components/target-group.vue'
;
import
img1
from
'../../../assets/img/ai-chart.png'
;
import
img2
from
'../../../assets/img/ai-chart2.png'
;
export
default
{
name
:
'Conversion'
,
props
:
{
...
...
@@ -88,9 +90,12 @@ export default {
components
:
{
TargetGroup
},
data
()
{
return
{
img1
,
img2
,
numFormat
,
activityId
:
''
,
planId
:
''
,
scene
:
''
,
funnelData
:
{
hasData
:
false
},
...
...
@@ -149,6 +154,27 @@ export default {
}
]
],
transeData
:
[
{
prop
:
'marketingNumber'
,
label
:
'营销人数'
,
height
:
'75px'
},
{
prop
:
'reachNumber'
,
label
:
'触达人数'
,
height
:
'68px'
,
rateLable
:
'触达率'
,
rateProp
:
'reachRate'
},
{
prop
:
'conversionNumber'
,
label
:
'转化人数'
,
height
:
'69px'
,
rateLable
:
'转化率'
,
rateProp
:
'conversionRate'
}
],
comparative
:
{
loading
:
false
,
originData
:
[],
...
...
@@ -168,6 +194,18 @@ export default {
created
()
{
this
.
activityId
=
this
.
$route
.
params
.
id
;
this
.
planId
=
this
.
$route
.
query
.
planId
;
this
.
scene
=
this
.
$route
.
query
.
scene
;
if
(
this
.
scene
==
5
)
{
this
.
transeData
[
2
].
height
=
'56px'
;
let
obj
=
{
prop
:
'openCardNumber'
,
label
:
'开卡人数'
,
height
:
'69px'
,
rateLable
:
'开卡转换率'
,
rateProp
:
'openCardConversionRate'
};
this
.
transeData
.
splice
(
2
,
0
,
obj
);
}
this
.
getPlanStatistics
();
this
.
getMemberCrowd
();
},
...
...
@@ -210,7 +248,11 @@ export default {
// 转化人数
conversionNumber
:
targetData
.
conversionNumber
,
// 转化率
conversionRate
:
targetData
.
conversionRate
conversionRate
:
targetData
.
conversionRate
,
// 开卡人数
openCardNumber
:
targetData
.
openCardNumber
,
// 开卡转化率
openCardConversionRate
:
targetData
.
openCardConversionRate
};
});
},
...
...
@@ -362,13 +404,23 @@ export default {
.chart-member-count
{
width
:
calc
(
50%
-
100px
);
margin-right
:
100px
;
position
:
relative
;
.funnelImg
{
width
:
300px
;
position
:
absolute
;
left
:
85px
;
top
:
17px
;
}
.funnel
{
margin
:
16px
auto
0
;
width
:
300px
;
background-image
:
url('../../../assets/img/ai-chart.png')
;
background-repeat
:
no-repeat
;
background-position
:
center
;
background-size
:
100%
;
position
:
absolute
;
left
:
85px
;
//
background-image
:
url('../../../assets/img/ai-chart.png')
;
//
background-repeat
:
no-repeat
;
//
background-position
:
center
;
//
background-size
:
100%
;
.funnel-item
{
position
:
relative
;
display
:
flex
;
...
...
src/views/ai/task/task.vue
View file @
98ff7709
...
...
@@ -206,7 +206,8 @@ export default {
this
.
$router
.
push
({
path
:
'/ai/ai-data-report/'
+
row
.
activityId
,
query
:
{
planId
:
row
.
planId
planId
:
row
.
planId
,
scene
:
row
.
scene
}
});
}
...
...
@@ -266,6 +267,10 @@ export default {
{
value
:
0
,
label
:
'其它场景'
},
{
value
:
5
,
label
:
'开卡场景'
}
],
optionActive
:
[
...
...
src/views/game/cmh/index.vue
View file @
98ff7709
...
...
@@ -63,6 +63,7 @@
</el-table-column>
<el-table-column
label=
"浏览人数"
min-width=
"96px"
prop=
"browseCnt"
></el-table-column>
<el-table-column
label=
"参与人数"
min-width=
"96px"
prop=
"palyCnt"
></el-table-column>
<el-table-column
label=
"参与人次"
min-width=
"96px"
prop=
"playTimes"
></el-table-column>
<el-table-column
label=
"中奖人数"
min-width=
"96px"
prop=
"winCnt"
></el-table-column>
<el-table-column
label=
"游戏状态"
min-width=
"96px"
prop=
"status"
>
<
template
slot-scope=
"{ row }"
>
...
...
src/views/game/cmh/statistics/statistics.vue
View file @
98ff7709
...
...
@@ -258,14 +258,28 @@ export default {
],
[
{
label
:
'参与人次'
,
value
:
''
,
key
:
'playTimes'
,
type
:
'number'
},
{
label
:
'中奖人数'
,
value
:
''
,
key
:
'winCnt'
,
type
:
'number'
}
],
[
{
label
:
'中奖人次'
,
value
:
''
,
key
:
'winTimes'
,
type
:
'number'
},
{
label
:
'中奖率'
,
tips
:
'中奖人
数/参与人数
'
,
tips
:
'中奖人
次/参与人次
'
,
value
:
''
,
key
:
'winRate'
,
type
:
'rate'
...
...
src/views/game/dzp/index.vue
View file @
98ff7709
...
...
@@ -118,6 +118,7 @@ export default {
}
},
{
label
:
'参与人数'
,
prop
:
'userCount'
,
width
:
'100'
,
align
:
'left'
},
{
label
:
'参与次数'
,
prop
:
'totalCount'
,
width
:
'100'
,
align
:
'left'
}
],
tableList
:
[]
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment