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
8dc50a78
Commit
8dc50a78
authored
May 25, 2022
by
crushh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: dist
parent
27699b05
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
127 additions
and
36 deletions
+127
-36
base-config.vue
src/views/game/cmh/base-config.vue
+23
-6
form.vue
src/views/game/cmh/form.vue
+4
-5
gameTemplate.vue
src/views/game/cmh/gameTemplate.vue
+1
-0
prize-config.vue
src/views/game/cmh/prize-config.vue
+38
-12
rule-config.vue
src/views/game/cmh/rule-config.vue
+61
-13
No files found.
src/views/game/cmh/base-config.vue
View file @
8dc50a78
...
...
@@ -81,12 +81,14 @@
<el-switch
v-model=
"baseForm.bulletFlag"
:active-value=
"1"
:inactive-value=
"0"
/>
<div
class=
"tips mt10"
>
开启后,如有三名以上用户获奖后,活动首页将轮播展示用户中奖信息。
</div>
</el-form-item>
<el-form-item
label=
"广告位"
prop=
"adsImageUrl"
>
<el-form-item
label=
"广告位"
>
<el-switch
v-model=
"baseForm.adsFlag"
:active-value=
"1"
:inactive-value=
"0"
/>
<div
class=
"adsImg"
v-show=
"baseForm.adsFlag"
>
<dm-upload-avatar
class=
"upload-avatar"
width=
"375"
height=
"75"
:limit=
"
{ type: false, maxSize: 1 }" fileType="img" :model.sync="adsImageUrl" label="上传图片" tips="" @backImg="handleAdsChange" :unused="isInfo">
</dm-upload-avatar>
<div
class=
"tips"
style=
"margin-bottom: 20px;"
>
图片建议尺寸
{{
baseForm
.
adsImageUrlSize0
}}
或等比图片,格式 jpg/png/gif,大小
{{
baseForm
.
adsImageUrlSize1
}}
M以内。
</div>
<el-form-item
label=
"小程序跳转路径"
prop=
"link"
label-width=
"110px"
>
<el-form-item
prop=
"adsImageUrl"
:rules=
"rules.adsImageUrl"
label-width=
"0"
>
<dm-upload-avatar
class=
"upload-avatar"
width=
"375"
height=
"75"
:limit=
"
{ type: false, maxSize: 1 }" fileType="img" :model.sync="adsImageUrl" label="上传图片" tips="" @backImg="handleAdsChange" :unused="isInfo">
</dm-upload-avatar>
<div
class=
"tips"
>
图片建议尺寸
{{
baseForm
.
adsImageUrlSize0
}}
或等比图片,格式 jpg/png/gif,大小
{{
baseForm
.
adsImageUrlSize1
}}
M以内。
</div>
</el-form-item>
<el-form-item
label=
"小程序跳转路径"
prop=
"link"
label-width=
"110px"
:rules=
"rules.link"
>
<div
class=
"wxapp mr16"
v-if=
"selectLink.linkData.name"
>
{{
selectLink
.
linkData
.
name
}}
</div>
...
...
@@ -112,11 +114,27 @@ const maxTimeRange = 180 * 24 * 60 * 60 * 1000; // 6个月
const
music
=
new
Audio
();
export
default
{
data
()
{
const
adsImageUrlVal
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
baseForm
.
adsFlag
==
1
&&
!
this
.
baseForm
.
adsImageUrl
)
{
callback
(
new
Error
(
'请上传广告位图片'
));
}
else
{
callback
();
}
};
const
linkVal
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
baseForm
.
adsFlag
==
1
&&
!
this
.
baseForm
.
adsLinkUrl
)
{
callback
(
new
Error
(
'请选择链接'
));
}
else
{
callback
();
}
};
return
{
rules
:
{
gameName
:
{
type
:
'string'
,
required
:
true
,
message
:
'游戏名称未填写'
,
trigger
:
'blur'
},
gameTime
:
{
type
:
'array'
,
required
:
true
,
message
:
'未配置游戏时间'
,
trigger
:
'blur'
},
gameRule
:
{
type
:
'string'
,
required
:
true
,
message
:
'未配置游戏说明'
,
trigger
:
'blur'
}
gameRule
:
{
type
:
'string'
,
required
:
true
,
message
:
'未配置游戏说明'
,
trigger
:
'blur'
},
adsImageUrl
:
{
validator
:
adsImageUrlVal
},
link
:
{
validator
:
linkVal
}
},
baseForm
:
{
gameName
:
''
,
...
...
@@ -202,7 +220,6 @@ export default {
this
.
handleTemplateArr
(
Object
.
values
(
gameExt
),
true
);
this
.
adsImageUrl
=
{
imgUrl
:
this
.
baseForm
.
adsImageUrl
,
code
:
this
.
baseForm
.
adsImageUrl
};
const
currentTemp
=
this
.
templateData
.
filter
(
item
=>
item
.
templateId
==
this
.
baseForm
.
templateId
)[
0
];
currentTemp
.
gameTemplateMaterialList
.
forEach
(
item
=>
{
if
(
item
.
materialKey
==
'backMusicUrl'
)
{
this
.
backMusicOptions
.
push
(
item
);
...
...
src/views/game/cmh/form.vue
View file @
8dc50a78
...
...
@@ -99,7 +99,6 @@ export default {
ruleConfig
},
mounted
()
{
console
.
log
(
'form----->mounted'
);
this
.
getGameTemplateByType
();
},
destroyed
()
{
...
...
@@ -142,7 +141,7 @@ export default {
this
.
gameId
=
gameId
;
this
.
gameStatus
=
status
;
}
const
{
winChance
,
filterJson
,
filterJsonView
,
memberDesc
,
memberType
,
playConditionFlag
,
playTimes
,
shareFlag
,
shareImageUrl
,
shareRuleDesc
}
=
gameRuleInfo
;
const
{
ruleId
,
winChance
,
filterJson
,
filterJsonView
,
memberDesc
,
memberType
,
playConditionFlag
,
playTimes
,
shareFlag
,
shareImageUrl
,
shareRuleDesc
}
=
gameRuleInfo
;
gameRuleConditionList
.
forEach
(
item
=>
{
item
.
conditionJson
=
JSON
.
parse
(
item
.
conditionJson
);
});
...
...
@@ -159,7 +158,7 @@ export default {
const
{
result
}
=
await
cardView
({
ids
:
cardIdArr
.
join
(
','
)
});
this
.
invalidCard
=
result
;
// 1删除 2失效
}
this
.
ruleForm
=
{
filterJson
,
gameRuleConditionList
,
memberDesc
,
memberType
,
playConditionFlag
,
playTimes
,
shareFlag
,
shareImageUrl
,
shareRuleDesc
,
memberWeightView
,
creatorId
,
filterJsonView
};
this
.
ruleForm
=
{
ruleId
,
filterJson
,
gameRuleConditionList
,
memberDesc
,
memberType
,
playConditionFlag
,
playTimes
,
shareFlag
,
shareImageUrl
,
shareRuleDesc
,
memberWeightView
,
creatorId
,
filterJsonView
};
this
.
prizeForm
=
{
winChance
,
prizeNoticeStock
,
gamePrizeList
,
prizeNoticeFlag
};
this
.
baseForm
=
{
adsFlag
,
backMusicFlag
,
bulletFlag
,
templateId
,
gameTime
:
[
startDate
,
endDate
],
gameName
,
gameRule
,
gameExt
};
});
...
...
@@ -214,8 +213,8 @@ export default {
console
.
log
(
this
.
submitData
);
this
.
submitData
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
submitData
));
const
{
winChance
,
filterJson
,
filterJsonView
,
memberDesc
,
memberType
,
playConditionFlag
,
playTimes
,
shareFlag
,
shareImageUrl
,
gameRuleConditionList
,
gameName
,
gamePrizeList
,
prizeNoticeStock
,
prizeNoticeFlag
,
adsFlag
,
bulletFlag
,
backMusicFlag
,
templateId
,
gameRule
,
gameTime
,
gameExt
}
=
this
.
submitData
;
const
gameRuleInfo
=
{
winChance
,
filterJson
,
filterJsonView
,
memberDesc
,
memberType
,
playConditionFlag
,
playTimes
,
shareFlag
,
shareImageUrl
,
shareRuleDesc
:
gameName
};
const
{
ruleId
,
winChance
,
filterJson
,
filterJsonView
,
memberDesc
,
memberType
,
playConditionFlag
,
playTimes
,
shareFlag
,
shareImageUrl
,
gameRuleConditionList
,
gameName
,
gamePrizeList
,
prizeNoticeStock
,
prizeNoticeFlag
,
adsFlag
,
bulletFlag
,
backMusicFlag
,
templateId
,
gameRule
,
gameTime
,
gameExt
}
=
this
.
submitData
;
const
gameRuleInfo
=
{
ruleId
,
winChance
,
filterJson
,
filterJsonView
,
memberDesc
,
memberType
,
playConditionFlag
,
playTimes
,
shareFlag
,
shareImageUrl
,
shareRuleDesc
:
gameName
};
gameRuleConditionList
.
forEach
(
item
=>
{
delete
item
.
index
;
item
.
conditionJson
=
JSON
.
stringify
(
item
.
conditionJson
);
...
...
src/views/game/cmh/gameTemplate.vue
View file @
8dc50a78
...
...
@@ -350,6 +350,7 @@ img {
.ad-image
{
margin
:
39px
15px
15px
;
border-radius
:
8px
;
height
:
150px
;
width
:
calc
(
100%
-
30px
);
}
...
...
src/views/game/cmh/prize-config.vue
View file @
8dc50a78
...
...
@@ -132,8 +132,8 @@
<el-form-item
label=
"库存提醒"
prop=
"winChance"
>
<el-switch
v-model=
"prizeForm.prizeNoticeFlag"
:active-value=
"1"
:inactive-value=
"0"
/>
</el-form-item>
<el-form-item
label=
"库存低于"
prop=
"prizeNoticeStock"
v-show=
"prizeForm.prizeNoticeFlag == 1"
>
<el-form-item
prop=
"prizeNoticeStock"
:rules=
"rules.prizeNoticeStock"
>
<el-form-item
label=
"库存低于"
v-show=
"prizeForm.prizeNoticeFlag == 1"
>
<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=
"您创建的游戏【游戏名称】中【奖品名称】的奖品数量已低于___件,请及时关注并补充!"
>
...
...
@@ -155,12 +155,27 @@ import libCard from '@/views/sign/components/lib-card.vue';
import
Sortable
from
'sortablejs'
;
export
default
{
data
()
{
const
prizeNoticeStockVal
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
prizeForm
.
prizeNoticeFlag
)
{
console
.
log
(
value
);
console
.
log
(
new
RegExp
(
'([1-9]{1}
\\
d{0,9})|(0{1})'
).
test
(
value
));
if
(
!
new
RegExp
(
'([1-9]{1}
\\
d{0,9})|(0{1})'
).
test
(
value
))
{
callback
(
new
Error
(
'请输入不超过1000000的数字'
));
return
;
}
if
(
value
<
0
||
value
>
1000000
)
{
callback
(
new
Error
(
'请输入不超过1000000的数字'
));
return
;
}
}
callback
();
};
return
{
rules
:
{
winChance
:
{
type
:
'number'
,
required
:
true
,
message
:
'请输入不超过100的数字'
,
max
:
100
,
min
:
0
},
prizeNumber
:
{
type
:
'number'
,
required
:
true
,
message
:
'请输入不超过1000000的数字'
,
max
:
1000000
,
min
:
1
},
prizeStock
:
{
type
:
'number'
,
required
:
true
,
message
:
'请输入不超过1000000的数字'
,
max
:
1000000
,
min
:
0
},
prizeNoticeStock
:
{
type
:
'number'
,
message
:
'请输入不超过1000000的数字'
,
max
:
1000000
,
min
:
0
},
prizeNoticeStock
:
{
validator
:
prizeNoticeStockVal
},
prizeName
:
{
type
:
'string'
,
required
:
true
,
message
:
'请输入奖品名称'
},
prizeType
:
{
required
:
true
,
message
:
'请选择奖品类型'
}
},
...
...
@@ -203,7 +218,7 @@ export default {
}
],
index
:
0
,
is
Add
:
this
.
$route
.
meta
.
type
===
'add
'
is
Edit
:
this
.
$route
.
meta
.
type
===
'edit
'
};
},
props
:
{
...
...
@@ -248,7 +263,11 @@ export default {
this
.
prizeForm
.
gamePrizeList
.
forEach
(
item
=>
{
if
(
item
.
prizeType
==
2
)
{
item
.
status
=
val
[
item
.
prizeRelationId
].
invalid
;
item
.
max
=
val
[
item
.
prizeRelationId
].
stock
;
if
(
this
.
isEdit
)
{
item
.
max
=
item
.
prizeStock
+
val
[
item
.
prizeRelationId
].
stock
;
}
else
{
item
.
max
=
val
[
item
.
prizeRelationId
].
stock
;
}
}
});
}
...
...
@@ -256,10 +275,13 @@ export default {
methods
:
{
prizeStockRule
(
row
)
{
return
(
rule
,
value
,
callback
)
=>
{
console
.
log
(
value
);
if
(
row
.
prizeType
==
1
)
{
if
(
isNaN
(
value
)
||
value
>
1000000
||
value
<
0
)
{
callback
(
new
Error
(
`请输入不超过1000000的数字`
));
if
(
!
new
RegExp
(
'([1-9]{1}
\\
d{0,9})|(0{1})'
).
test
(
value
))
{
callback
(
new
Error
(
'请输入不超过1000000的数字'
));
return
;
}
if
(
value
<
0
||
value
>
1000000
)
{
callback
(
new
Error
(
'请输入不超过1000000的数字'
));
return
;
}
}
...
...
@@ -268,7 +290,11 @@ export default {
callback
(
new
Error
(
`请选择卡券`
));
return
;
}
if
(
isNaN
(
value
)
||
value
>
row
.
max
||
value
<
0
)
{
if
(
!
new
RegExp
(
'([1-9]{1}
\\
d{0,9})|(0{1})'
).
test
(
value
))
{
callback
(
new
Error
(
'请输入'
));
return
;
}
if
(
value
>
row
.
max
||
value
<
0
)
{
callback
(
new
Error
(
`大于奖品关联库存
${
row
.
max
}
`
));
return
;
}
...
...
@@ -384,11 +410,11 @@ export default {
item
.
prizeImageUrl
=
item
.
prizeImageUrl
.
imgUrl
||
''
;
}
if
(
item
.
prizeType
!=
0
)
{
if
(
this
.
isAdd
)
{
item
.
optNum
=
item
.
prizeStock
;
}
else
{
if
(
this
.
isEdit
&&
item
.
isOld
)
{
let
num
=
item
.
prizeStock
-
item
.
prizeStockOriginal
;
item
.
optNum
=
num
;
}
else
{
item
.
optNum
=
item
.
prizeStock
;
}
}
else
{
item
.
optNum
=
-
1
;
...
...
src/views/game/cmh/rule-config.vue
View file @
8dc50a78
<
template
>
<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"
:disabled=
"isDisabled"
>
会员筛选
</el-radio>
<el-radio
v-model=
"ruleForm.memberType"
:label=
"1"
:disabled=
"isDisabled"
>
会员分组
</el-radio>
<el-form-item
label=
"参与人群"
prop=
"filterJson"
>
<el-radio-group
v-model=
"ruleForm.memberType"
:disabled=
"isDisabled"
@
change=
"clearValidate('filterJson')"
>
<el-radio
:label=
"0"
>
会员筛选
</el-radio>
<el-radio
:label=
"1"
>
会员分组
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item>
<div
v-show=
"ruleForm.memberType == 0"
>
...
...
@@ -50,7 +52,7 @@
<el-input
placeholder=
"请输入积分"
v-model=
"item.conditionJson.value"
class=
"w140"
/>
<span
class=
"ml10"
>
积分
</span>
</el-form-item>
<el-form-item
label=
"提示客户积分获取路径"
:prop=
"'gameRuleConditionList.' + index + '.conditionJson.' + 'mpUrlView'"
>
<el-form-item
label=
"提示客户积分获取路径"
:prop=
"'gameRuleConditionList.' + index + '.conditionJson.' + 'mpUrlView'"
:rules=
"rules.mpUrlView"
>
<div></div>
<div
class=
"wxapp mr16"
v-if=
"item.conditionJson.mpUrlView && item.conditionJson.mpUrlView.name"
>
{{
item
.
conditionJson
.
mpUrlView
.
name
}}
...
...
@@ -78,7 +80,7 @@
</div>
</div>
</div>
<el-form-item
label=
"小程序卡片标题"
label-width=
"122px"
:prop=
"'gameRuleConditionList.' + index + '.conditionJson.' + 'shareTitle'"
>
<el-input
class=
"w340"
maxlength=
"24"
show-word-limit
v-model=
"item.conditionJson.shareTitle"
/>
</el-form-item>
<el-form-item
label=
"小程序卡片标题"
label-width=
"122px"
:prop=
"'gameRuleConditionList.' + index + '.conditionJson.' + 'shareTitle'"
:rules=
"rules.shareTitle"
>
<el-input
class=
"w340"
maxlength=
"24"
show-word-limit
v-model=
"item.conditionJson.shareTitle"
/>
</el-form-item>
<el-form-item
label=
"小程序卡片图片"
label-width=
"122px"
>
<div
class=
"flex"
>
<img
:src=
"item.conditionJson.shareCard"
alt=
"游戏背景"
style=
"width: 100px;height: 75px;"
/>
...
...
@@ -101,14 +103,14 @@
</el-form-item>
</div>
<div
v-show=
"item.conditionJson.type == 12"
>
<el-form-item
label=
"关注回复"
:prop=
"'gameRuleConditionList.' + index + '.conditionJson.' + 'subscribeMsg'"
label-width=
"80px"
>
<el-input
maxlength=
"20"
show-word-limit
v-model=
"item.conditionJson.subscribeMsg"
/>
</el-form-item>
<el-form-item
label=
"关注回复"
:prop=
"'gameRuleConditionList.' + index + '.conditionJson.' + 'subscribeMsg'"
label-width=
"80px"
:rules=
"rules.subscribeMsg"
>
<el-input
maxlength=
"20"
show-word-limit
v-model=
"item.conditionJson.subscribeMsg"
/>
</el-form-item>
</div>
</div>
</div>
</div>
</div>
</el-form-item>
<el-form-item
label=
"每人最多可玩次数"
prop=
"playTimes"
>
<el-input
v-model=
"ruleForm.playTimes"
class=
"w140"
placeholder=
"上限1000"
:disabled=
"isDisabled"
/>
次游戏次数
</el-form-item>
<el-form-item
label=
"每人最多可玩次数"
prop=
"playTimes"
:rules=
"rules.playTimes"
>
<el-input
v-model=
"ruleForm.playTimes"
class=
"w140"
placeholder=
"上限1000"
:disabled=
"isDisabled"
/>
次游戏次数
</el-form-item>
<el-form-item
label=
"分享"
prop=
"shareFlag"
>
<el-switch
v-model=
"ruleForm.shareFlag"
:active-value=
"1"
:inactive-value=
"0"
/>
<div
class=
"tips"
>
关闭后用户无法分享小程序
</div>
...
...
@@ -126,6 +128,38 @@ import Linktools from '@/components/linktools-fulls/index.vue';
import
gicNewMemberGroup
from
'@/components/dm-new-member-group/index.vue'
;
export
default
{
data
()
{
const
filterJsonVal
=
(
rule
,
value
,
callback
)
=>
{
if
((
this
.
ruleForm
.
memberType
==
0
&&
!
this
.
ruleForm
.
hasSearchData
)
||
(
this
.
ruleForm
.
memberType
==
1
&&
!
this
.
selectedGroupIds
))
{
callback
(
new
Error
(
'请选择参与人群'
));
return
;
}
callback
();
};
const
mpUrlViewVal
=
(
rule
,
value
,
callback
)
=>
{
console
.
log
(
value
);
if
(
this
.
ruleForm
.
gameRuleConditionList
[
1
].
conditionType
!=
-
1
&&
!
this
.
ruleForm
.
gameRuleConditionList
[
1
].
conditionJson
.
dumpPath
)
{
callback
(
new
Error
(
'请选择'
));
return
;
}
callback
();
};
const
shareTitleVal
=
(
rule
,
value
,
callback
)
=>
{
console
.
log
(
value
);
if
(
this
.
ruleForm
.
gameRuleConditionList
[
2
].
conditionType
!=
-
1
&&
this
.
ruleForm
.
gameRuleConditionList
[
2
].
conditionJson
.
type
==
11
&&
!
this
.
ruleForm
.
gameRuleConditionList
[
2
].
conditionJson
.
shareTitle
)
{
callback
(
new
Error
(
'请输入'
));
return
;
}
callback
();
};
const
subscribeMsgVal
=
(
rule
,
value
,
callback
)
=>
{
console
.
log
(
value
);
if
(
this
.
ruleForm
.
gameRuleConditionList
[
2
].
conditionType
!=
-
1
&&
this
.
ruleForm
.
gameRuleConditionList
[
2
].
conditionJson
.
type
==
12
&&
!
this
.
ruleForm
.
gameRuleConditionList
[
2
].
conditionJson
.
subscribeMsg
)
{
callback
(
new
Error
(
'请输入'
));
return
;
}
callback
();
};
return
{
// 链接小工具选择链接
show
:
false
,
...
...
@@ -139,7 +173,7 @@ export default {
hasSearchData
:
''
,
memberType
:
0
,
memberDesc
:
''
,
playConditionFlag
:
1
,
playConditionFlag
:
0
,
shareFlag
:
1
,
playTimes
:
''
,
filterJsonView
:
''
,
...
...
@@ -149,7 +183,7 @@ export default {
gameRuleConditionList
:
[
{
type
:
2
,
conditionType
:
-
1
,
// 赠与免费游戏次数
zuo
conditionType
:
-
1
,
// 赠与免费游戏次数
conditionJson
:
{
type
:
21
,
value
:
''
...
...
@@ -185,7 +219,12 @@ export default {
rules
:
{
memberType
:
{
required
:
true
,
message
:
'请选择'
},
memberDesc
:
{
type
:
'string'
,
required
:
true
,
message
:
'未配置游戏说明'
,
trigger
:
'blur'
},
playConditionFlag
:
{
required
:
true
}
// playTimes: { type: 'number', required: true, message: '请输入不超过1000的数字', max: 1000, min: 1 },
playConditionFlag
:
{
required
:
true
},
mpUrlView
:
{
validator
:
mpUrlViewVal
},
shareTitle
:
{
validator
:
shareTitleVal
},
filterJson
:
{
validator
:
filterJsonVal
},
subscribeMsg
:
{
validator
:
subscribeMsgVal
}
},
isAdd
:
this
.
$route
.
meta
.
type
===
'add'
};
...
...
@@ -212,24 +251,24 @@ export default {
this
.
ruleForm
.
gameRuleConditionList
=
this
.
ruleForm
.
gameRuleConditionList
.
splice
(
0
);
},
echoData
(
val
)
{
const
{
filterJson
,
filterJsonView
,
gameRuleConditionList
,
memberDesc
,
memberType
,
playConditionFlag
,
playTimes
,
shareFlag
,
shareImageUrl
,
shareRuleDesc
,
memberWeightView
,
creatorId
}
=
val
;
const
{
ruleId
,
filterJson
,
filterJsonView
,
gameRuleConditionList
,
memberDesc
,
memberType
,
playConditionFlag
,
playTimes
,
shareFlag
,
shareImageUrl
,
shareRuleDesc
,
memberWeightView
,
creatorId
}
=
val
;
let
obj
=
{};
gameRuleConditionList
.
forEach
(
item
=>
{
obj
[
item
.
conditionType
]
=
item
;
});
this
.
ruleForm
.
gameRuleConditionList
.
forEach
(
item
=>
{
if
(
obj
[
item
.
type
])
{
console
.
log
(
obj
[
item
.
type
]);
item
.
conditionType
=
obj
[
item
.
type
].
conditionType
;
item
.
conditionJson
=
obj
[
item
.
type
].
conditionJson
;
}
item
.
conditionId
=
obj
[
item
.
type
].
conditionId
;
});
if
(
memberType
==
1
)
{
this
.
selectedGroupIds
=
filterJson
;
}
else
{
this
.
ruleForm
.
hasSearchData
=
filterJson
;
}
this
.
ruleForm
=
Object
.
assign
(
this
.
ruleForm
,
{
memberDesc
,
memberType
,
playConditionFlag
,
playTimes
,
shareFlag
,
shareImageUrl
,
shareRuleDesc
,
memberWeightView
,
creatorId
,
filterJsonView
});
this
.
ruleForm
=
Object
.
assign
(
this
.
ruleForm
,
{
ruleId
,
memberDesc
,
memberType
,
playConditionFlag
,
playTimes
,
shareFlag
,
shareImageUrl
,
shareRuleDesc
,
memberWeightView
,
creatorId
,
filterJsonView
});
console
.
log
(
this
.
ruleForm
);
}
},
...
...
@@ -249,10 +288,12 @@ export default {
/**客户分组 */
confirmGroupDialog
(
arr
,
idStr
)
{
this
.
selectedGroupIds
=
idStr
;
this
.
clearValidate
(
'filterJson'
);
},
/*-------人群筛选器的方法-------*/
getData
()
{
this
.
$refs
.
peopleFilter
.
confirmSet
();
this
.
clearValidate
(
'filterJson'
);
},
// 取消
cancelFilter
()
{
...
...
@@ -322,7 +363,14 @@ export default {
prevStep
()
{
this
.
$emit
(
'prevStep'
,
1
);
},
clearValidate
(
name
)
{
this
.
$refs
.
ruleForm
.
clearValidate
(
name
);
},
submit
()
{
if
(
this
.
ruleForm
.
playConditionFlag
==
1
&&
!
this
.
ruleForm
.
gameRuleConditionList
.
filter
(
item
=>
item
.
conditionType
!=
-
1
).
length
)
{
this
.
$message
.
error
(
'请至少勾选一项'
);
return
;
}
this
.
$refs
.
ruleForm
.
validate
((
val
,
obj
)
=>
{
if
(
val
)
{
const
data
=
{
...
this
.
ruleForm
};
...
...
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