Commit 98ff7709 by crushh

update: dist

parent 85d4e9c2
......@@ -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
......@@ -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;
}
......
......@@ -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}`);
}
}
};
......
......@@ -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 {
......
......@@ -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;
......
......@@ -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: [
......
......@@ -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 }">
......
......@@ -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'
......
......@@ -118,6 +118,7 @@ export default {
}
},
{ label: '参与人数', prop: 'userCount', width: '100', align: 'left' },
{ label: '参与次数', prop: 'totalCount', width: '100', align: 'left' }
],
tableList: []
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment