Commit 61a35d01 by crushh

Merge branch 'feature/游戏营销' into dev

parents 0a45b9bb d53c046c
......@@ -5,6 +5,7 @@
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="shortcut icon" href="./static/img/favicon.ico">
<title></title>
<link rel="stylesheet" type="text/css" href="<%= htmlWebpackPlugin.options.BASE_URL %>static/css/common.css">
<link rel="stylesheet" href="//at.alicdn.com/t/font_688955_2dxzdzrb3a7.css"> <!--GIC后台3.0-->
<script src="//at.alicdn.com/t/font_688955_2dxzdzrb3a7.js"></script> <!--GIC后台3.0-->
<link rel="stylesheet" href="//at.alicdn.com/t/font_3229694_f4zx0uhc8y.css"> <!--GIC3.0营销-->
......
......@@ -231,17 +231,17 @@ export default {
{
path: 'cmh/statistics/:id',
name: '拆盲盒数据统计',
component: () => import(/* webpackChunkName: "game" */ '../../views/game/cmh/form.vue')
component: () => import(/* webpackChunkName: "game" */ '../../views/game/cmh/statistics/statistics.vue')
},
{
path: 'cmh/statistics/activityDetail/:id',
name: '拆盲盒数据统计-活动明细',
component: () => import(/* webpackChunkName: "game" */ '../../views/game/cmh/form.vue')
component: () => import(/* webpackChunkName: "game" */ '../../views/game/cmh/statistics/activityDetail.vue')
},
{
path: 'cmh/statistics/prizeDetail/:id',
name: '拆盲盒数据统计-奖品明细',
component: () => import(/* webpackChunkName: "game" */ '../../views/game/cmh/form.vue')
component: () => import(/* webpackChunkName: "game" */ '../../views/game/cmh/statistics/prizeDetail.vue')
}
]
};
......
......@@ -186,3 +186,9 @@ export const stopGame = params => requests(PREFIX + '/game-pro/stop-game', param
// 转换成页面链接
export const getPageLink = params => requests('api-admin/get-page-link', params, true, false, 'get');
// 活动基础数据-拆盲盒
export const getGameOverview = params => requests(PREFIX + '/game-data/get-game-overview', params, true, false, 'get');
// 游戏活动分页查询-统计
export const pageStatistics = params => requests(PREFIX + 'game-pro/page-statistics', params, true, false, 'post');
......@@ -59,9 +59,9 @@
{{ row.playConditionFlag == 1 ? '有门槛' : row.playConditionFlag == 0 ? '无门槛' : '- -' }}
</template>
</el-table-column>
<el-table-column label="浏览人数" min-width="96px" prop="visitorNum" :formatter="(row, col, val) => val || '--'"></el-table-column>
<el-table-column label="参与人数" min-width="96px" prop="playNum" :formatter="(row, col, val) => val || '--'"></el-table-column>
<el-table-column label="中奖人数" min-width="96px" prop="winNum" :formatter="(row, col, val) => val || '--'"></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="winCnt"></el-table-column>
<el-table-column label="游戏状态" min-width="96px" prop="status">
<template slot-scope="{ row }">
<div><span :class="gameStatusClass[row.status]"></span>{{ gameStatus[row.status] }}</div>
......@@ -85,7 +85,7 @@
</template>
<script>
import { api as viewerApi } from 'v-viewer';
import { cmhPage, stopGame } from '@/service/api/gameApi.js';
import { cmhPage, stopGame, pageStatistics } from '@/service/api/gameApi.js';
import links from '../common/links';
import { formatDateTimeByType } from '@/utils/index.js';
......@@ -203,7 +203,7 @@ export default {
visible: row => {
return (row.status === 1 || row.status === 2 || row.status === 3) && this.$getButtonLimit(this.$buttonCode.marketingCmhStatistics);
},
handler: row => this.$router.push('/cmh/statistics/' + row.gameId)
handler: row => this.$router.push('/game/cmh/statistics/' + row.gameId)
}
]
};
......@@ -312,12 +312,36 @@ export default {
this.tableList = res.result.list || [];
this.total = res.result.total || 0;
this.notShrink = this.tableList.length > 0 ? 0 : 1;
let ids = this.tableList.map(item => item.gameId).join(',');
this.pageStatistics(ids);
this.loading = false;
})
.catch(() => {
console.log('finally');
.finally(() => {
this.loading = false;
});
},
pageStatistics(ids) {
pageStatistics({ ids }).then(res => {
console.log(res);
const { result } = res;
let obj = {};
result.forEach(element => {
obj[element.gameId] = element;
});
this.tableList.forEach(item => {
if (obj[item.gameId]) {
const { browseCnt, palyCnt, winCnt } = obj[item.gameId];
item.browseCnt = browseCnt;
item.palyCnt = palyCnt;
item.winCnt = winCnt;
} else {
item.browseCnt = '- -';
item.palyCnt = '- -';
item.winCnt = '- -';
}
});
this.tableList = this.tableList.splice(0);
});
}
}
};
......
......@@ -31,7 +31,7 @@
<el-descriptions-item label="总中奖率"> {{ form.gameRuleInfo && form.gameRuleInfo.winChance }}%</el-descriptions-item>
<el-descriptions-item label="库存提醒">
{{ form.prizeNoticeFlag == 1 ? `开启(库存低于 ${form.prizeNoticeStock} 件奖品库发送短信提醒 )` : '未开启' }}
<el-popover placement="right" width="200" trigger="hover" content="您创建的游戏【游戏名称】中【奖品名称】的奖品数量已低于___件,请及时关注并补充!">
<el-popover placement="right" width="200" trigger="hover" content="您创建的游戏(游戏名称)中(奖品名称)的奖品数量已低于(奖品数量)件,请及时关注并补充!">
<el-button slot="reference" type="text" class="ml16" v-show="form.prizeNoticeFlag == 1">查看短信内容 </el-button>
</el-popover>
</el-descriptions-item>
......
......@@ -136,7 +136,7 @@
<el-form-item prop="prizeNoticeStock">
<el-input class="w180" v-model.number="prizeForm.prizeNoticeStock" placeholder="请输入" />
<span class="ml10">件奖品库发送短信提醒</span>
<el-popover placement="right" width="200" trigger="hover" content="您创建的游戏【游戏名称】中【奖品名称】的奖品数量已低于___件,请及时关注并补充!">
<el-popover placement="right" width="200" trigger="hover" content="您创建的游戏(游戏名称)中(奖品名称)的奖品数量已低于(奖品数量)件,请及时关注并补充!">
<el-button slot="reference" type="text" class="ml16">查看短信内容 </el-button>
</el-popover>
</el-form-item>
......
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