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
61a35d01
Commit
61a35d01
authored
May 31, 2022
by
crushh
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/游戏营销' into dev
parents
0a45b9bb
d53c046c
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
43 additions
and
12 deletions
+43
-12
index.html
index.html
+1
-0
game.js
src/router/modules/game.js
+3
-3
gameApi.js
src/service/api/gameApi.js
+6
-0
index.vue
src/views/game/cmh/index.vue
+31
-7
info.vue
src/views/game/cmh/info.vue
+1
-1
prize-config.vue
src/views/game/cmh/prize-config.vue
+1
-1
prizeDetail
src/views/game/cmh/prizeDetail
+0
-0
activityDetail.vue
src/views/game/cmh/statistics/activityDetail.vue
+0
-0
prizeDetail.vue
src/views/game/cmh/statistics/prizeDetail.vue
+0
-0
statistics.vue
src/views/game/cmh/statistics/statistics.vue
+0
-0
No files found.
index.html
View file @
61a35d01
...
...
@@ -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营销-->
...
...
src/router/modules/game.js
View file @
61a35d01
...
...
@@ -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'
)
}
]
};
...
...
src/service/api/gameApi.js
View file @
61a35d01
...
...
@@ -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'
);
src/views/game/cmh/index.vue
View file @
61a35d01
...
...
@@ -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=
"p
layNum"
:formatter=
"(row, col, val) => val || '--'
"
></el-table-column>
<el-table-column
label=
"中奖人数"
min-width=
"96px"
prop=
"win
Num"
: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=
"p
alyCnt
"
></el-table-column>
<el-table-column
label=
"中奖人数"
min-width=
"96px"
prop=
"win
Cnt
"
></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
);
});
}
}
};
...
...
src/views/game/cmh/info.vue
View file @
61a35d01
...
...
@@ -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
>
...
...
src/views/game/cmh/prize-config.vue
View file @
61a35d01
...
...
@@ -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>
...
...
src/views/game/cmh/prizeDetail
0 → 100644
View file @
61a35d01
src/views/game/cmh/statistics/activityDetail.vue
0 → 100644
View file @
61a35d01
src/views/game/cmh/statistics/prizeDetail.vue
0 → 100644
View file @
61a35d01
src/views/game/cmh/statistics/statistics.vue
0 → 100644
View file @
61a35d01
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