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
d0635c52
Commit
d0635c52
authored
Apr 11, 2022
by
caoyanzhi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: AI营销bug
parent
a5ada470
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
34 additions
and
22 deletions
+34
-22
ai-data.vue
src/views/ai/ai-data-report/ai-data.vue
+2
-3
conversion.vue
src/views/ai/ai-data-report/conversion.vue
+32
-19
No files found.
src/views/ai/ai-data-report/ai-data.vue
View file @
d0635c52
...
...
@@ -198,9 +198,9 @@ export default {
item
.
value
=
value
==
null
?
'--'
:
value
;
break
;
}
// 活动不发送挂机短信时,数据指标不展示短信发送总数的字段
// 活动不发送挂机短信时,数据指标不展示短信发送总数
和发送成功数
的字段
// 活动未开启活动分析时,数据指标展示活动费用
return
!
((
this
.
aiDataShow
.
smsFlag
==
0
&&
item
.
key
==
'sentSuccessfullyNumber'
)
||
(
this
.
aiDataShow
.
analyseFlag
!=
0
&&
item
.
key
==
'activityCost'
));
return
!
((
this
.
aiDataShow
.
smsFlag
==
0
&&
item
.
key
==
'sent
MessagesNumber'
)
||
(
this
.
aiDataShow
.
smsFlag
==
0
&&
item
.
key
==
'sent
SuccessfullyNumber'
)
||
(
this
.
aiDataShow
.
analyseFlag
!=
0
&&
item
.
key
==
'activityCost'
));
});
})
.
filter
(
el
=>
el
.
length
>
0
);
...
...
@@ -337,7 +337,6 @@ export default {
{
label
:
'60-119秒'
,
color
:
'#14C9C9'
,
count
:
originData
[
'60_to_119'
],
percent
:
originData
[
'60_to_119_proportion'
]
},
{
label
:
'>120秒'
,
color
:
'#05B770'
,
count
:
originData
[
'greater_than_120'
],
percent
:
originData
[
'120_proportion'
]
}
];
this
.
talkTimeData
.
splice
(
3
,
1
);
const
data
=
[
this
.
talkTimeData
.
reduce
(
(
result
,
el
)
=>
{
...
...
src/views/ai/ai-data-report/conversion.vue
View file @
d0635c52
<
template
>
<div>
<div
class=
"search-bar"
>
<el-select
class=
"contrast"
placeholder=
"选择对比项"
clearable
v-model=
"comparative.type"
@
change=
"getComparativeData"
>
<el-select
class=
"contrast"
placeholder=
"选择对比项"
clearable
v-
if=
"comparative.options.length > 0"
v-
model=
"comparative.type"
@
change=
"getComparativeData"
>
<el-option
v-for=
"el in comparative.options"
:key=
"el.value"
:value=
"el.value"
:label=
"el.label"
></el-option>
</el-select>
<div
class=
"contrast-box"
v-if=
"comparative.type"
>
...
...
@@ -250,31 +250,44 @@ export default {
getMemberCrowd
({
memberCrowdWidgetId
:
this
.
filterJson
}).
then
(
res
=>
{
const
filterFrontShow
=
JSON
.
parse
(
res
.
result
.
filterFrontShow
||
'[]'
);
this
.
comparative
.
options
=
filterFrontShow
.
filter
(
el
=>
el
.
columnKey
!=
'mainStoreId'
)
.
map
(
el
=>
{
.
map
(
typeItem
=>
{
// 对比项 1会员类型、2会员等级、3金字塔、4会员分组
const
valueMap
=
{
wxMember
:
1
,
gradeId
:
2
,
tagGroup
:
3
};
return
{
label
:
el
.
chainNodeName
,
value
:
valueMap
[
el
.
columnKey
],
children
:
el
.
columnKey
==
'wxMember'
?
el
.
selectList
:
el
.
selectList
.
reduce
((
result
,
el
)
=>
result
.
concat
(
el
.
data
),
[])
};
});
const
result
=
{
label
:
typeItem
.
chainNodeName
,
value
:
valueMap
[
typeItem
.
columnKey
],
children
:
[]
};
if
(
typeItem
.
columnKey
==
'wxMember'
)
{
result
.
children
=
typeItem
.
selectValue
.
map
(
el
=>
{
return
typeItem
.
selectList
.
find
(
item
=>
item
.
key
==
el
);
});
}
else
{
result
.
children
=
typeItem
.
selectList
.
reduce
((
result
,
item
)
=>
{
return
result
.
concat
(
item
.
data
);
},
[])
.
filter
(
item
=>
{
return
typeItem
.
selectValue
.
includes
(
item
.
key
);
});
}
return
result
;
})
.
filter
(
el
=>
el
.
columnKey
!=
'mainStoreId'
&&
el
.
children
.
length
>
1
);
});
}
else
if
(
this
.
memberType
==
1
)
{
this
.
axios
.
get
(
`/gic-member-tag-web/member-tag-group/queryGroupByIds?requestProject=memberTag&memberTagGroupIds=
${
this
.
filterJson
}
`
).
then
(
res
=>
{
const
{
errorCode
,
result
}
=
res
.
data
;
if
(
errorCode
==
1
&&
Array
.
isArray
(
result
))
{
this
.
comparative
.
options
.
push
({
label
:
'客户分组'
,
value
:
1
,
children
:
result
.
map
(
el
=>
{
return
{
key
:
el
.
memberTagGroupId
,
value
:
el
.
groupName
};
})
});
this
.
comparative
.
options
=
[
{
label
:
'客户分组'
,
value
:
1
,
children
:
result
.
map
(
el
=>
{
return
{
key
:
el
.
memberTagGroupId
,
value
:
el
.
groupName
};
})
}
];
this
.
comparative
.
options
=
this
.
comparative
.
options
.
filter
(
el
=>
el
.
children
.
length
>
1
);
}
});
}
...
...
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