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
3cb6cf26
Commit
3cb6cf26
authored
May 25, 2022
by
crushh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: 按钮权限
parent
dc2ff480
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
29 additions
and
23 deletions
+29
-23
base-config.vue
src/views/game/cmh/base-config.vue
+8
-4
form.vue
src/views/game/cmh/form.vue
+2
-3
index.vue
src/views/game/cmh/index.vue
+1
-7
prize-config.vue
src/views/game/cmh/prize-config.vue
+9
-4
rule-config.vue
src/views/game/cmh/rule-config.vue
+9
-5
No files found.
src/views/game/cmh/base-config.vue
View file @
3cb6cf26
...
...
@@ -3,13 +3,13 @@
<dm-sub-title
type=
"line"
>
基本信息
</dm-sub-title>
<div
class=
"mt20"
>
<el-form-item
label=
"游戏名称"
prop=
"gameName"
>
<el-input
maxlength=
"10"
class=
"w382"
@
change=
"handleNameChange"
v-model
.
trim=
"baseForm.gameName"
show-word-limit
:disabled=
"isDisabled"
placeholder=
"请输入游戏名称"
/>
</el-form-item>
<el-form-item
label=
"游戏时间"
prop=
"gameTime"
><el-date-picker
class=
"w382"
v-model=
"baseForm.gameTime"
:picker-options=
"pickerOptions"
value-format=
"timestamp"
@
change=
"refresh"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker></el-form-item>
<el-form-item
label=
"游戏说明"
prop=
"gameRule"
>
<el-input
maxlength=
"500"
class=
"w382"
v-model
.
trim=
"baseForm.gameRule"
show-word-limit
:
disabled=
"isDisabled"
:
autosize=
"
{ minRows: 4 }" type="textarea" />
</el-form-item>
<el-form-item
label=
"游戏时间"
prop=
"gameTime"
><el-date-picker
class=
"w382"
v-model=
"baseForm.gameTime"
:
disabled=
"isDisabled"
:
picker-options=
"pickerOptions"
value-format=
"timestamp"
@
change=
"refresh"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker></el-form-item>
<el-form-item
label=
"游戏说明"
prop=
"gameRule"
>
<el-input
maxlength=
"500"
class=
"w382"
v-model
.
trim=
"baseForm.gameRule"
show-word-limit
:autosize=
"
{ minRows: 4 }" type="textarea" />
</el-form-item>
</div>
<dm-sub-title
type=
"line"
>
展示信息配置
</dm-sub-title>
<div
class=
"mt20"
>
<el-form-item
label=
"游戏模板"
prop=
"templateId"
>
<el-radio-group
@
change=
"handleTemplateChange"
v-model=
"baseForm.templateId"
>
<el-radio-group
@
change=
"handleTemplateChange"
v-model=
"baseForm.templateId"
:disabled=
"isDisabled"
>
<el-radio
v-for=
"item in templateData"
:label=
"item.templateId"
:key=
"item.templateId"
>
{{
item
.
templateName
}}
</el-radio>
</el-radio-group>
</el-form-item>
...
...
@@ -133,7 +133,7 @@ export default {
isPlay
:
false
,
backMusicOptions
:
[],
customMusicOptions
:
[],
isDisabled
:
false
,
templateData
:
[],
api
:
config
.
api
,
prizeStyleJson
:
[],
// 抽奖样式
...
...
@@ -156,6 +156,7 @@ export default {
};
},
props
:
{
gameStatus
:
0
,
templateArr
:
{
type
:
Array
,
default
:
()
=>
[]
...
...
@@ -178,6 +179,9 @@ export default {
}
else
{
return
this
.
backMusicOptions
;
}
},
isDisabled
()
{
return
this
.
gameStatus
==
1
;
}
},
watch
:
{
...
...
src/views/game/cmh/form.vue
View file @
3cb6cf26
...
...
@@ -33,9 +33,9 @@
<dm-step
title=
"3.规则配置"
@
click
.
native=
"active = 2"
></dm-step>
</dm-steps>
<div
class=
"formContent"
>
<baseConfig
:templateArr=
"templateData"
:echoData=
"baseForm"
v-show=
"active == 0"
@
change=
"handleBaseConfigChange"
@
nextStep=
"data => nextStep(1, data)"
/>
<baseConfig
:
gameStatus=
"gameStatus"
:
templateArr=
"templateData"
:echoData=
"baseForm"
v-show=
"active == 0"
@
change=
"handleBaseConfigChange"
@
nextStep=
"data => nextStep(1, data)"
/>
<prizeConfig
:gameStatus=
"gameStatus"
:invalidCard=
"invalidCard"
:prizeMax=
"prizeMax"
:echoData=
"prizeForm"
:prizeMin=
"prizeMin"
v-show=
"active == 1"
@
nextStep=
"data => nextStep(2, data)"
@
prevStep=
"step => (active = step)"
/>
<ruleConfig
:shareCard=
"shareCard"
:shareReport=
"shareReport"
:echoData=
"ruleForm"
v-show=
"active == 2"
@
nextStep=
"data => submit(3, data)"
@
prevStep=
"step => (active = step)"
:btnLoading=
"btnLoading"
/>
<ruleConfig
:
gameStatus=
"gameStatus"
:
shareCard=
"shareCard"
:shareReport=
"shareReport"
:echoData=
"ruleForm"
v-show=
"active == 2"
@
nextStep=
"data => submit(3, data)"
@
prevStep=
"step => (active = step)"
:btnLoading=
"btnLoading"
/>
</div>
</div>
</div>
...
...
@@ -107,7 +107,6 @@ export default {
},
watch
:
{
templateId
(
val
)
{
console
.
log
(
val
);
const
data
=
this
.
templateData
.
filter
(
item
=>
item
.
templateId
==
val
)[
0
];
console
.
log
(
data
);
const
{
prizeMax
,
prizeMin
}
=
data
;
...
...
src/views/game/cmh/index.vue
View file @
3cb6cf26
...
...
@@ -42,7 +42,7 @@
<el-option
v-for=
"(v, i) in gameStatusOptions"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
</el-select>
<el-checkbox
class=
"vertical-middle ml0"
v-if=
"$store.state.marketing.isShowSelf"
v-model=
"listParams.createMe"
:true-label=
"1"
:false-label=
"0"
label=
"仅看本人"
border
@
change=
"refresh"
/>
<el-button
class=
"fr"
type=
"primary"
@
click=
"addGame"
>
新建游戏
</el-button>
<el-button
class=
"fr"
type=
"primary"
@
click=
"addGame"
v-if=
"$getButtonLimit($buttonCode.marketingCmhAdd)"
:limit-code=
"$buttonCode.marketingCmhAdd"
>
新建游戏
</el-button>
</div>
<el-table
tooltipEffect=
"light"
:data=
"tableList"
style=
"width:100%"
>
<el-table-column
label=
"游戏名称"
min-width=
"183px"
prop=
"gameName"
show-overflow-tooltip
:formatter=
"(row, col, val) => val || '--'"
></el-table-column>
...
...
@@ -148,7 +148,6 @@ export default {
limitCode
:
this
.
$buttonCode
.
marketingCmhInfo
},
visible
:
row
=>
{
return
true
;
return
this
.
$getButtonLimit
(
this
.
$buttonCode
.
marketingCmhInfo
);
},
handler
:
row
=>
this
.
$router
.
push
(
'/game/cmh/info/'
+
row
.
gameId
)
...
...
@@ -159,7 +158,6 @@ export default {
limitCode
:
this
.
$buttonCode
.
marketingCmhEdit
},
visible
:
row
=>
{
return
true
;
return
(
row
.
status
===
1
||
row
.
status
===
0
)
&&
this
.
$getButtonLimit
(
this
.
$buttonCode
.
marketingCmhEdit
);
},
handler
:
row
=>
this
.
$router
.
push
(
`/game/cmh/edit/
${
row
.
gameId
}
`
)
...
...
@@ -170,7 +168,6 @@ export default {
limitCode
:
this
.
$buttonCode
.
marketingCmhCopy
},
visible
:
row
=>
{
return
true
;
return
this
.
$getButtonLimit
(
this
.
$buttonCode
.
marketingCmhCopy
);
},
handler
:
row
=>
this
.
$router
.
push
(
'/game/cmh/copy/'
+
row
.
gameId
)
...
...
@@ -181,7 +178,6 @@ export default {
limitCode
:
this
.
$buttonCode
.
marketingCmhUrl
},
visible
:
row
=>
{
return
true
;
return
(
row
.
status
===
1
||
row
.
status
===
0
)
&&
this
.
$getButtonLimit
(
this
.
$buttonCode
.
marketingCmhUrl
);
},
handler
:
row
=>
this
.
setLinks
(
row
,
6
)
...
...
@@ -192,7 +188,6 @@ export default {
limitCode
:
this
.
$buttonCode
.
marketingCmhStop
},
visible
:
row
=>
{
return
true
;
return
row
.
status
===
1
&&
this
.
$getButtonLimit
(
this
.
$buttonCode
.
marketingCmhStop
);
},
handler
:
row
=>
this
.
stopPlan
(
row
)
...
...
@@ -203,7 +198,6 @@ export default {
limitCode
:
this
.
$buttonCode
.
marketingCmhStatistics
},
visible
:
row
=>
{
return
true
;
return
(
row
.
status
===
1
||
row
.
status
===
2
||
row
.
status
===
3
)
&&
this
.
$getButtonLimit
(
this
.
$buttonCode
.
marketingCmhStatistics
);
},
handler
:
row
=>
this
.
$router
.
push
(
'/cmh/statistics/'
+
row
.
gameId
)
...
...
src/views/game/cmh/prize-config.vue
View file @
3cb6cf26
...
...
@@ -19,7 +19,7 @@
<
template
slot=
"header"
>
<span
class=
"needCell"
>
奖品类型
</span>
</
template
>
<
template
slot-scope=
"{ row, $index }"
>
<el-form-item
:prop=
"'gamePrizeList.' + $index + '.' + 'prizeType'"
:rules=
"rules.prizeType"
label-width=
"0"
>
<el-select
v-model=
"row.prizeType"
@
change=
"val => handleTypeChange(val, $index)"
>
<el-select
v-model=
"row.prizeType"
:disabled=
"isDisabled"
@
change=
"val => handleTypeChange(val, $index)"
>
<el-option
v-for=
"(v, i) in prizeTypeOptions"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -29,12 +29,12 @@
<
template
slot=
"header"
>
<span
class=
"needCell"
>
奖项设置
</span>
</
template
>
<
template
slot-scope=
"{ row, $index }"
>
<div
v-if=
"row.prizeType == 1"
>
<el-form-item
:prop=
"'gamePrizeList.' + $index + '.' + 'prizeNumber'"
:rules=
"rules.prizeNumber"
label-width=
"0"
>
<el-input
class=
"inputClass-32"
v-model
.
number=
"row.prizeNumber"
@
change=
"val => handlePrizeNumChange(val, $index)"
/>
积分
</el-form-item>
<el-form-item
:prop=
"'gamePrizeList.' + $index + '.' + 'prizeNumber'"
:rules=
"rules.prizeNumber"
label-width=
"0"
>
<el-input
class=
"inputClass-32"
:disabled=
"isDisabled"
v-model
.
number=
"row.prizeNumber"
@
change=
"val => handlePrizeNumChange(val, $index)"
/>
积分
</el-form-item>
</div>
<el-form-item
label-width=
"0"
v-else-if=
"row.prizeType == 2"
>
<el-button
type=
"text"
@
click=
"selectCard($index)"
v-show=
"!row.prizeRelationId"
>
选择卡券
</el-button>
<div
class=
"box"
v-show=
"row.prizeRelationId"
>
<i
class=
"cardIcon iconfont-components3 icon-cp-close-circle-fill"
@
click=
"delCard($index)"
></i>
<i
v-show=
"!isDisabled"
class=
"cardIcon iconfont-components3 icon-cp-close-circle-fill"
@
click=
"delCard($index)"
></i>
<div
:class=
"['cardBox', row.status == 1 || row.status == 2 ? 'redBorder' : '']"
>
<el-tag
v-show=
"row.status == 1"
size=
"mini"
type=
"danger"
class=
"tagIcon"
>
删除
</el-tag>
<el-tag
v-show=
"row.status == 2"
size=
"mini"
type=
"danger"
class=
"tagIcon"
>
失效
</el-tag>
...
...
@@ -122,7 +122,7 @@
<el-table-column
label=
"操作"
fixed=
"right"
>
<
template
slot-scope=
"{ row, $index }"
>
<el-popconfirm
icon=
"el-icon-info"
title=
"确认删除吗?"
@
confirm=
"del($index)"
>
<el-button
slot=
"reference"
type=
"text"
v-show=
"row.prizeType != 0 || prizeForm.gamePrizeList.filter(item => item.prizeType == 0).length > 1"
>
删除
</el-button>
<el-button
slot=
"reference"
:disabled=
"isDisabled"
type=
"text"
v-show=
"row.prizeType != 0 || prizeForm.gamePrizeList.filter(item => item.prizeType == 0).length > 1"
>
删除
</el-button>
</el-popconfirm>
</
template
>
</el-table-column>
...
...
@@ -223,6 +223,11 @@ export default {
dmUploadAvatar
,
libCard
},
computed
:
{
isDisabled
()
{
return
this
.
gameStatus
==
1
;
}
},
mounted
()
{
this
.
drag
();
},
...
...
src/views/game/cmh/rule-config.vue
View file @
3cb6cf26
...
...
@@ -2,8 +2,8 @@
<el-form
size=
"small"
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"160px"
>
<dm-sub-title
type=
"line"
class=
"mb20"
>
玩法配置
</dm-sub-title>
<el-form-item
label=
"参与人群"
prop=
"memberType"
>
<el-radio
v-model=
"ruleForm.memberType"
:label=
"0"
>
会员筛选
</el-radio>
<el-radio
v-model=
"ruleForm.memberType"
:label=
"1"
>
会员分组
</el-radio>
<el-radio
v-model=
"ruleForm.memberType"
:label=
"0"
:disabled=
"isDisabled"
>
会员筛选
</el-radio>
<el-radio
v-model=
"ruleForm.memberType"
:label=
"1"
:disabled=
"isDisabled"
>
会员分组
</el-radio>
</el-form-item>
<el-form-item>
<div
v-show=
"ruleForm.memberType == 0"
>
...
...
@@ -16,15 +16,15 @@
<div
v-show=
"ruleForm.memberType == 1"
>
<el-button
v-if=
"!selectedGroupIds"
size=
"small"
@
click=
"groupVisible = true"
>
添加分组
</el-button>
<gic-new-member-group
:visiable
.
sync=
"groupVisible"
:selectedIds=
"selectedGroupIds"
@
change=
"confirmGroupDialog"
/>
<gic-new-member-group
:visiable
.
sync=
"groupVisible"
:
onlyRead=
"isDisabled"
:
selectedIds=
"selectedGroupIds"
@
change=
"confirmGroupDialog"
/>
</div>
</el-form-item>
<el-form-item
label=
"适用人群说明"
prop=
"memberDesc"
>
<el-input
maxlength=
"100"
class=
"w382"
placeholder=
"请输入适用人群说明"
v-model
.
trim=
"ruleForm.memberDesc"
show-word-limit
:
disabled=
"isDisabled"
:
autosize=
"
{ minRows: 4 }" type="textarea" />
<el-input
maxlength=
"100"
class=
"w382"
placeholder=
"请输入适用人群说明"
v-model
.
trim=
"ruleForm.memberDesc"
show-word-limit
:autosize=
"
{ minRows: 4 }" type="textarea" />
</el-form-item>
<el-form-item
label=
"参与门槛"
prop=
"playConditionFlag"
>
<el-radio-group
v-model=
"ruleForm.playConditionFlag"
>
<el-radio-group
v-model=
"ruleForm.playConditionFlag"
:disabled=
"isDisabled"
>
<el-radio
:label=
"0"
>
无门槛
</el-radio>
<el-radio
:label=
"1"
>
有门槛
</el-radio>
</el-radio-group>
...
...
@@ -193,6 +193,7 @@ export default {
props
:
{
shareCard
:
''
,
shareReport
:
''
,
gameStatus
:
0
,
btnLoading
:
false
,
echoData
:
{
type
:
Object
,
...
...
@@ -239,6 +240,9 @@ export default {
computed
:
{
storeParams
()
{
return
!
this
.
isAdd
?
{
creatorId
:
this
.
ruleForm
.
creatorId
}
:
{};
},
isDisabled
()
{
return
this
.
gameStatus
==
1
;
}
},
methods
:
{
...
...
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