Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
clique-web
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
clique
clique-web
Commits
fafbcb97
Commit
fafbcb97
authored
Jun 22, 2022
by
huaying
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 通用积分,积分抵现页面布局
parent
fa9dca11
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
478 additions
and
234 deletions
+478
-234
point-form.vue
src/components/memberShip/point-form.vue
+103
-64
addIntegralSytem.vue
src/view/companyGroup/membershipSystem/addIntegralSytem.vue
+79
-61
editIntegralSytem.vue
src/view/companyGroup/membershipSystem/editIntegralSytem.vue
+58
-45
pointSystem.vue
src/view/companyGroup/membershipSystem/pointSystem.vue
+238
-64
No files found.
src/components/memberShip/point-form.vue
View file @
fafbcb97
<
template
>
<
template
>
<div
class=
"form-wrap"
>
<div
class=
"form-wrap"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"120px"
class=
"demo-ruleForm"
>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"120px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"积分获取规则"
prop=
""
>
<dm-sub-title
type=
"fill"
text=
"积分获取策略"
style=
"margin-bottom: 20px;"
/>
<el-form-item
label=
"积分获取规则:"
prop=
"integralGetStatus"
>
<div>
<div>
<el-radio
v-model=
"ruleForm.integralGetStatus"
label=
"0"
>
不获取积分
</el-radio>
</div>
<div
class=
"margin-20"
>
<el-radio
v-model=
"ruleForm.integralGetStatus"
label=
"1"
>
每消费
</el-radio>
<el-radio
v-model=
"ruleForm.integralGetStatus"
label=
"1"
>
每消费
</el-radio>
<!--
<el-input
v-model=
"ruleForm.integralGet.fee"
@
blur=
"formatInputFee($event)"
></el-input>
-->
<!--
<el-input
v-model=
"ruleForm.integralGet.fee"
@
blur=
"formatInputFee($event)"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.integralGet.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralGet.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<label>
元,获取
</label>
<label>
元,获取
</label>
<el-input-number
v-model=
"ruleForm.integralGet.integral"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1
"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralGet.integral"
step-strictly
:controls=
"false
"
></el-input-number>
<!--
<el-input
v-model=
"ruleForm.integralGet.integral"
@
keyup
.
native=
"formatInput($event)"
></el-input>
-->
<label>
积分。取整策略为
</label>
<!--
<el-input
v-model=
"ruleForm.integralGet.integral"
@
keyup
.
native=
"formatInput($event)"
></el-input>
-->
<label>
积分。取整策略为
</label>
<el-select
v-model=
"ruleForm.integralGetStrategy"
placeholder=
"请选择"
>
<el-select
v-model=
"ruleForm.integralGetStrategy"
placeholder=
"请选择"
style=
"width:115px;margin-left:5px;"
>
<el-option
v-for=
"item in cateOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"item in cateOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select><br/>
<span
style=
"color: #909399;font-size:12px; padding-left:22px;"
>
例:根据消费金额计算出积分为4.3,选择「四舍五入」和「进位制」时为5积分,选择「抹零」则为4积分
</span>
</div>
</div>
<div>
<div
class=
"form-child margin-20"
v-if=
"ruleForm.integralGetStatus == 1"
>
<el-radio
v-model=
"ruleForm.integralGetStatus"
label=
"0"
class=
"margin-20"
>
不获取积分
</el-radio>
<el-form-item
label=
"折扣控制:"
prop=
""
label-width=
"100px"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"ruleForm.integralGetDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"ruleForm.integralGetDiscountControl"
label=
"2"
>
折扣
</el-radio>
<!--
<el-input
v-model=
"ruleForm.integralGetDiscountControlLower"
@
change=
"formatInputChange($event)"
></el-input>
-->
<el-input-number
placeholder=
"请输入"
v-model=
"ruleForm.integralGetDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
至
</label>
<!--
<el-input
v-model=
"ruleForm.integralGetDiscountControlUpper"
@
change=
"formatInputChange($event)"
></el-input>
-->
<el-input-number
placeholder=
"请输入"
v-model=
"ruleForm.integralGetDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
折商品都适用
</label>
<span
style=
"font-size: 12px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</el-form-item>
<el-form-item
label=
"积分冻结期:"
prop=
"name"
label-width=
"100px"
class=
"padding-bottom-20 margin-20"
>
<label>
自获取之日起
</label>
<el-input
v-model=
"ruleForm.integralGetFreezeDays"
@
keyup
.
native=
"formatInput($event)"
></el-input>
<label>
天
</label>
<span
style=
"font-size: 12px;color: #828282;padding-left: 10px;"
>
仅对通过订单获取的积分生效,活动类获取的积分没有冻结期
</span></el-form-item>
</div>
</div>
</el-form-item>
</el-form-item>
<div
class=
"form-child"
v-if=
"ruleForm.integralGetStatus == 1"
>
<dm-sub-title
type=
"fill"
text=
"积分抵现策略"
style=
"margin-bottom: 20px;margin-top:40px; "
/>
<el-form-item
label=
"折扣控制"
prop=
""
>
<el-form-item
label=
"抵现规则:"
prop=
"integralUseStatus"
class=
"margin-20"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"ruleForm.integralGetDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"ruleForm.integralGetDiscountControl"
label=
"2"
>
折扣
</el-radio>
<!--
<el-input
v-model=
"ruleForm.integralGetDiscountControlLower"
@
change=
"formatInputChange($event)"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.integralGetDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"0.01"
></el-input-number>
<label>
至
</label>
<!--
<el-input
v-model=
"ruleForm.integralGetDiscountControlUpper"
@
change=
"formatInputChange($event)"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.integralGetDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"0.01"
></el-input-number>
<label>
折商品都适用
</label>
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
</div>
</el-form-item>
<el-form-item
label=
"积分冻结期"
prop=
"name"
class=
"padding-0"
>
<el-input
style=
"padding-left: 0"
v-model=
"ruleForm.integralGetFreezeDays"
@
keyup
.
native=
"formatInput($event)"
></el-input><label>
天
</label>
</el-form-item>
<el-form-item
label=
"积分有效期"
prop=
"name"
class=
"padding-0"
>
<el-input
style=
"padding-left: 0"
v-model=
"ruleForm.effectiveTime"
@
keyup
.
native=
"formatInput($event)"
></el-input><label>
天
</label>
</el-form-item>
</div>
<el-form-item
label=
"积分抵现规则"
prop=
"region"
class=
"margin-20"
>
<div>
<div>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"0"
>
不支持抵现
</el-radio>
</div>
<div
class=
"margin-20"
>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"1"
>
每使用
</el-radio>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"1"
>
每使用
</el-radio>
<!--
<el-input
v-model=
"ruleForm.integralUse.integral"
@
keyup
.
native=
"formatInput($event)"
></el-input>
-->
<!--
<el-input
v-model=
"ruleForm.integralUse.integral"
@
keyup
.
native=
"formatInput($event)"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.integralUse.integral"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1
"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralUse.integral"
step-strictly
:controls=
"false
"
></el-input-number>
<label>
积分,抵
</label>
<label>
积分,抵
</label>
<el-input-number
v-model=
"ruleForm.integralUse.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralUse.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<!--
<el-input
v-model=
"ruleForm.integralUse.fee"
@
blur=
"formatInputFee($event)"
></el-input>
-->
<!--
<el-input
v-model=
"ruleForm.integralUse.fee"
@
blur=
"formatInputFee($event)"
></el-input>
-->
<label>
元
</label>
<label>
元
</label>
</div>
</div>
<div
class=
"margin-20"
>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"0"
>
不支持抵现
</el-radio>
</div>
</el-form-item>
<el-form-item
label=
"积分成本"
>
<label>
每使用
</label>
<el-input-number
v-model=
"ruleForm.integralCost.integral"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<!--
<el-input
v-model=
"ruleForm.integralCost.integral"
@
keyup
.
native=
"formatInput($event)"
></el-input>
-->
<label>
积分,承担
</label>
<!--
<el-input
v-model=
"ruleForm.integralCost.fee"
@
blur=
"formatInputFee($event)"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.integralCost.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<label>
元
</label>
</el-form-item>
<div
class=
"form-child margin-20"
v-if=
"ruleForm.integralUseStatus == 1"
>
<div
class=
"form-child margin-20"
v-if=
"ruleForm.integralUseStatus == 1"
>
<el-form-item
label=
"折扣控制"
prop=
"region"
>
<el-form-item
label=
"折扣控制
:
"
prop=
"region"
>
<div
class=
"radio-cell"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"ruleForm.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"ruleForm.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
</div>
<div
class=
"radio-cell margin-20"
>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"ruleForm.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-radio
v-model=
"ruleForm.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<!--
<el-input
v-model=
"ruleForm.integralUseDiscountControlLower"
@
change=
"formatInputChange($event)"
></el-input>
-->
<!--
<el-input
v-model=
"ruleForm.integralUseDiscountControlLower"
@
change=
"formatInputChange($event)"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.0
1"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
至
</label>
<label>
至
</label>
<!--
<el-input
v-model=
"ruleForm.integralUseDiscountControlUpper"
@
change=
"formatInputChange($event)"
></el-input>
-->
<!--
<el-input
v-model=
"ruleForm.integralUseDiscountControlUpper"
@
change=
"formatInputChange($event)"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.0
1"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
商品都适用
</label>
<label>
折
商品都适用
</label>
<span
style=
"font-size: 1
3px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
<span
style=
"font-size: 1
2px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"比例限制
"
prop=
"name
"
>
<el-form-item
label=
"比例限制
:"
prop=
"name"
class=
"padding-bottom-20 margin-20
"
>
<label>
最多可抵用商品金额的
</label>
<label>
最多可抵用商品金额的
</label>
<el-input
v-model=
"ruleForm.useProportionalRestriction"
@
keyup
.
native=
"formatInput($event)"
>
<el-input
placeholder=
"请输入"
v-model=
"ruleForm.useProportionalRestriction"
@
keyup
.
native=
"formatInput($event)"
></el-input>
%
<template
slot=
"append"
>
%
</
template
>
</el-input>
</el-form-item>
</el-form-item>
</div>
</div>
<el-form-item
label=
"积分说明"
prop=
"desc"
class=
"margin-20"
>
</el-form-item>
<el-form-item
label=
"积分成本:"
required
>
<label>
每使用
</label>
<el-input-number
v-model=
"ruleForm.integralCost.integral"
step-strictly
:controls=
"false"
></el-input-number>
<!--
<el-input
v-model=
"ruleForm.integralCost.integral"
@
keyup
.
native=
"formatInput($event)"
></el-input>
-->
<label>
积分,承担
</label>
<!--
<el-input
v-model=
"ruleForm.integralCost.fee"
@
blur=
"formatInputFee($event)"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.integralCost.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<label>
元
</label>
</el-form-item>
<dm-sub-title
type=
"fill"
text=
"积分有效期"
style=
"margin-bottom: 20px; margin-top:40px;"
/>
<el-form-item
label=
"有效期:"
prop=
"effectiveTime"
class=
"padding-0"
>
<label>
自获取之日起
</label>
<el-input
v-model=
"ruleForm.effectiveTime"
@
keyup
.
native=
"formatInput($event)"
></el-input><label>
天
</label>
<span
style=
"font-size: 12px;color: #828282;line-height: 1;padding-left: 10px;"
>
适用于所有方式获取的积分
</span>
</el-form-item>
<dm-sub-title
type=
"fill"
text=
"积分说明"
style=
"margin-bottom: 20px; margin-top:40px;"
/>
<el-form-item
label=
""
prop=
"desc"
class=
"margin-20"
>
<div
class=
"tinymce-wrap"
>
<div
class=
"tinymce-wrap"
>
<editor
id=
"tinymce"
v-model=
"ruleForm.integralScript"
:init=
"init"
></editor>
<editor
id=
"tinymce"
v-model=
"ruleForm.integralScript"
:init=
"init"
></editor>
</div>
</div>
...
@@ -151,16 +159,31 @@ export default {
...
@@ -151,16 +159,31 @@ export default {
integralUseStatus
:
'1'
,
//积分使用开启(0:否,1:是)
integralUseStatus
:
'1'
,
//积分使用开启(0:否,1:是)
effectiveTime
:
'100'
,
//积分有效期
effectiveTime
:
'100'
,
//积分有效期
integralGetDiscountControl
:
'2'
,
integralGetDiscountControl
:
'2'
,
integralGetDiscountControlUpper
:
'
0.0
'
,
// 折扣控制 折扣范围 下限
integralGetDiscountControlUpper
:
' '
,
// 折扣控制 折扣范围 下限
integralGetDiscountControlLower
:
'
0.0
'
,
// 折扣控制 折扣范围 上限
integralGetDiscountControlLower
:
''
,
// 折扣控制 折扣范围 上限
integralGetFreezeDays
:
'1'
,
// 获取积分冻结天数
integralGetFreezeDays
:
'1'
,
// 获取积分冻结天数
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper
:
'
0.0
'
,
integralUseDiscountControlUpper
:
''
,
integralUseDiscountControlLower
:
'
0.0
'
,
integralUseDiscountControlLower
:
''
,
useProportionalRestriction
:
'90'
,
//抵现比例限制
useProportionalRestriction
:
'90'
,
//抵现比例限制
integralCost
:
{
fee
:
'1'
,
integral
:
'1'
}
//积分成本
integralCost
:
{
fee
:
'1'
,
integral
:
'1'
}
//积分成本
},
},
rules
:
{},
rules
:
{
integralGetStatus
:
[
{
required
:
true
,
message
:
'请选择积分获取规则'
,
trigger
:
'blur'
},
],
integralUseStatus
:
[
{
required
:
true
,
message
:
'请选择抵现规则'
,
trigger
:
'blur'
},
],
effectiveTime
:[
{
required
:
true
,
message
:
'请填写有效期'
,
trigger
:
'blur'
},
],
// strategyName: [
// { required: true, message: '请填写策略名称', trigger: 'blur' },
// ],strategyName: [
// { required: true, message: '请填写策略名称', trigger: 'blur' },
// ]
},
// tinymce
// tinymce
tinymceHtml
:
'请输入内容'
,
tinymceHtml
:
'请输入内容'
,
...
@@ -194,6 +217,7 @@ export default {
...
@@ -194,6 +217,7 @@ export default {
},
},
created
()
{
created
()
{
// this.selectReplayStyle()
// this.selectReplayStyle()
console
.
log
(
this
.
props
.
pointInfo
,
98989
);
},
},
methods
:
{
methods
:
{
// 保存
// 保存
...
@@ -282,7 +306,7 @@ export default {
...
@@ -282,7 +306,7 @@ export default {
if
(
data
.
integralGetStatus
==
1
&&
data
.
integralGetDiscountControl
==
2
)
{
if
(
data
.
integralGetStatus
==
1
&&
data
.
integralGetDiscountControl
==
2
)
{
let
flagA
=
Number
(
data
.
integralGetDiscountControlUpper
)
<=
Number
(
data
.
integralGetDiscountControlLower
);
let
flagA
=
Number
(
data
.
integralGetDiscountControlUpper
)
<=
Number
(
data
.
integralGetDiscountControlLower
);
if
(
!
data
.
integralGetDiscountControlLower
||
!
data
.
integralGetDiscountControlUpper
)
{
if
(
!
data
.
integralGetDiscountControlLower
||
!
data
.
integralGetDiscountControlUpper
)
{
that
.
$message
.
error
(
'
积分获取规则中的折扣不能为空
'
);
that
.
$message
.
error
(
'
请输入商品折扣值
'
);
return
;
return
;
}
}
if
(
flagA
)
{
if
(
flagA
)
{
...
@@ -293,7 +317,7 @@ export default {
...
@@ -293,7 +317,7 @@ export default {
if
(
data
.
integralUseStatus
==
1
&&
data
.
integralUseDiscountControl
==
2
)
{
if
(
data
.
integralUseStatus
==
1
&&
data
.
integralUseDiscountControl
==
2
)
{
let
flagB
=
Number
(
data
.
integralUseDiscountControlUpper
)
<=
Number
(
data
.
integralUseDiscountControlLower
);
let
flagB
=
Number
(
data
.
integralUseDiscountControlUpper
)
<=
Number
(
data
.
integralUseDiscountControlLower
);
if
(
!
data
.
integralUseDiscountControlLower
||
!
data
.
integralUseDiscountControlUpper
)
{
if
(
!
data
.
integralUseDiscountControlLower
||
!
data
.
integralUseDiscountControlUpper
)
{
that
.
$message
.
error
(
'
积分抵现规则中的折扣不能为空
'
);
that
.
$message
.
error
(
'
请输入商品折扣值
'
);
return
;
return
;
}
}
if
(
flagB
)
{
if
(
flagB
)
{
...
@@ -313,9 +337,9 @@ export default {
...
@@ -313,9 +337,9 @@ export default {
}
}
data
.
integralGet
.
fee
=
parseInt
(
data
.
integralGet
.
fee
*
10
);
data
.
integralGet
.
fee
=
parseInt
(
data
.
integralGet
.
fee
*
10
);
data
.
integralGet
.
integral
=
parseInt
(
data
.
integralGet
.
integral
*
10
);
data
.
integralGet
.
integral
=
parseInt
(
data
.
integralGet
.
integral
*
10
);
data
.
integralGet
=
JSON
.
stringify
(
data
.
integralGet
);
data
.
integralGet
=
JSON
.
stringify
(
data
.
integralGet
)
?
JSON
.
stringify
(
data
.
integralGet
):
that
.
ruleForm
.
integralGet
;
data
.
integralUse
=
JSON
.
stringify
(
data
.
integralUse
);
data
.
integralUse
=
JSON
.
stringify
(
data
.
integralUse
)
?
JSON
.
stringify
(
data
.
integralUse
):
that
.
ruleForm
.
integralUse
;
data
.
integralCost
=
JSON
.
stringify
(
data
.
integralCost
);
data
.
integralCost
=
JSON
.
stringify
(
data
.
integralCost
)
?
JSON
.
stringify
(
data
.
integralCost
):
that
.
ruleForm
.
integralCost
;
that
.
saveInfo
(
data
);
that
.
saveInfo
(
data
);
}
else
{
}
else
{
// log('error submit!!');
// log('error submit!!');
...
@@ -379,6 +403,11 @@ export default {
...
@@ -379,6 +403,11 @@ export default {
// 输入框输入校验数字
// 输入框输入校验数字
formatInput
(
e
)
{
formatInput
(
e
)
{
let
that
=
this
;
let
that
=
this
;
that
.
ruleForm
.
integralUse
.
fee
=
strLength
.
getCharVal
(
String
(
that
.
ruleForm
.
integralUse
.
fee
).
replace
(
/
[^\d]
/g
,
''
),
6
)
||
'0'
that
.
ruleForm
.
integralUse
.
integral
=
strLength
.
getCharVal
(
String
(
that
.
ruleForm
.
integralUse
.
integral
).
replace
(
/
[^\d]
/g
,
''
),
8
)
||
'0'
that
.
ruleForm
.
integralCost
.
fee
=
strLength
.
getCharVal
(
String
(
that
.
ruleForm
.
integralCost
.
fee
).
replace
(
/
[^\d]
/g
,
''
),
6
)
||
'0'
that
.
ruleForm
.
integralCost
.
integral
=
strLength
.
getCharVal
(
String
(
that
.
ruleForm
.
integralCost
.
integral
).
replace
(
/
[^\d]
/g
,
''
),
8
)
||
'0'
that
.
ruleForm
.
integralGetFreezeDays
=
strLength
.
getCharVal
(
String
(
that
.
ruleForm
.
integralGetFreezeDays
).
replace
(
/
[^\d]
/g
,
''
),
4
);
that
.
ruleForm
.
integralGetFreezeDays
=
strLength
.
getCharVal
(
String
(
that
.
ruleForm
.
integralGetFreezeDays
).
replace
(
/
[^\d]
/g
,
''
),
4
);
that
.
ruleForm
.
effectiveTime
=
strLength
.
getCharVal
(
String
(
that
.
ruleForm
.
effectiveTime
).
replace
(
/
[^\d]
/g
,
''
),
4
);
that
.
ruleForm
.
effectiveTime
=
strLength
.
getCharVal
(
String
(
that
.
ruleForm
.
effectiveTime
).
replace
(
/
[^\d]
/g
,
''
),
4
);
...
@@ -401,6 +430,10 @@ export default {
...
@@ -401,6 +430,10 @@ export default {
// log("新数据:",newData,oldData)
// log("新数据:",newData,oldData)
if
(
newData
)
{
if
(
newData
)
{
that
.
ruleForm
=
newData
;
that
.
ruleForm
=
newData
;
// 给定一个默认值
if
(
newData
.
integralGetDiscountControl
==
0
)
{
this
.
ruleForm
.
integralGetDiscountControl
=
'1'
;
}
}
}
}
}
},
},
...
@@ -421,10 +454,13 @@ export default {
...
@@ -421,10 +454,13 @@ export default {
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.form-wrap
{
.form-wrap
{
.el-radio
{
margin-right
:
0
;
}
.el-input
,
.el-input
,
/
deep
/
.el-input-number
{
/
deep
/
.el-input-number
{
width
:
1
78
px
;
width
:
1
15
px
;
padding
:
0
10
px
;
padding
:
0
5
px
;
.el-input__inner
{
.el-input__inner
{
text-align
:
left
;
text-align
:
left
;
}
}
...
@@ -439,6 +475,9 @@ export default {
...
@@ -439,6 +475,9 @@ export default {
.padding-0
{
.padding-0
{
padding
:
0
;
padding
:
0
;
}
}
.padding-bottom-20
{
padding-bottom
:
20px
;
}
.form-child
{
.form-child
{
width
:
100%
;
width
:
100%
;
...
...
src/view/companyGroup/membershipSystem/addIntegralSytem.vue
View file @
fafbcb97
...
@@ -12,16 +12,18 @@
...
@@ -12,16 +12,18 @@
label-width=
"100px"
label-width=
"100px"
class=
"demo-ruleForm"
class=
"demo-ruleForm"
>
>
<el-form-item
label=
"策略名称"
prop=
"strategyName"
class=
"padding-0 padding-r-45"
>
<dm-sub-title
type=
"fill"
text=
"基本信息"
style=
"margin-bottom: 20px;"
/>
<el-form-item
label=
"策略名称:"
prop=
"strategyName"
class=
"padding-0 padding-r-45"
>
<el-input
<el-input
placeholder=
"请输入策略名称"
v-model=
"ruleForm.strategyName"
v-model=
"ruleForm.strategyName"
class=
"w-340 padding-0"
class=
"w-340 padding-0"
@
keyup
.
native=
"value => toInput(value)"
@
keyup
.
native=
"value => toInput(value)"
></el-input>
></el-input>
<label
class=
"input-label"
>
{{
cateNameLength
}}
/20
</label>
<label
class=
"input-label"
>
{{
cateNameLength
}}
/20
</label>
</el-form-item>
</el-form-item>
<el-form-item
label=
"适用对象"
prop
class=
"margin-20"
>
<el-form-item
label=
"适用对象
:
"
prop
class=
"margin-20"
>
<el-select
v-model=
"ruleForm.useCrowd"
placeholder=
"请选择"
>
<el-select
v-model=
"ruleForm.useCrowd"
placeholder=
"请选择"
class=
"w340"
>
<el-option
<el-option
v-for=
"item in applyObjOption"
v-for=
"item in applyObjOption"
:key=
"item.value"
:key=
"item.value"
...
@@ -30,25 +32,27 @@
...
@@ -30,25 +32,27 @@
></el-option>
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"人群定向"
v-if=
"ruleForm.useCrowd == 2"
prop
class=
"padding-0"
>
<el-form-item
label=
"人群定向
:
"
v-if=
"ruleForm.useCrowd == 2"
prop
class=
"padding-0"
>
<el-button
@
click=
"showPeople"
>
已设置
{{
selectCount
}}
项筛选
</el-button>
<el-button
@
click=
"showPeople"
>
已设置
{{
selectCount
}}
项筛选
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"适用条件"
class=
"padding-0"
>
<el-form-item
label=
"适用条件
:
"
class=
"padding-0"
>
<div
class=
"title-tip"
>
该设置只对微信商城中的积分抵现起作用。
</div>
<div
class=
"title-tip"
>
该设置只对微信商城中的积分抵现起作用。
</div>
</el-form-item>
</el-form-item>
<!-- 只获取微信的 -->
<dm-sub-title
type=
"fill"
text=
"渠道配置"
style=
"margin-bottom: 20px; margin-top:30px;"
/>
<!-- 只获取微信的 微信改为达摩微商城-->
<template
v-for=
"(item, index) in ruleForm.channelList"
>
<template
v-for=
"(item, index) in ruleForm.channelList"
>
<template
v-if=
"item.channelType == 1"
>
<template
v-if=
"item.channelType == 1"
>
<el-form-item
label=
"
适用微信商城
"
prop=
""
:key=
"index"
>
<el-form-item
label=
"
达摩微商城:
"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
</el-form-item
>
<span
style=
"color: #909399;font-size:12px; margin-left:16px;"
>
客户在达摩微商城产生的订单
</span
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus"
:key=
"index"
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus"
:key=
"index"
>
<el-form-item
label=
"选择商户"
>
<el-form-item
label=
"选择商户
:
"
>
<el-select
<el-select
v-model=
"item.enterpriseRelationIdArr"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
placeholder=
"请选择"
multiple
multiple
size=
"small"
size=
"small"
class=
"w240"
>
>
<el-option
<el-option
v-for=
"item in mechantOption"
v-for=
"item in mechantOption"
...
@@ -58,9 +62,9 @@
...
@@ -58,9 +62,9 @@
></el-option>
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"适用商品
"
class=
"padding-
0"
>
<el-form-item
label=
"适用商品
:"
class=
"margin-2
0"
>
<el-select
<el-select
class=
"fl"
class=
"fl
w240
"
style=
"margin-right: 10px;"
style=
"margin-right: 10px;"
v-model=
"item.channelRelationProType"
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
placeholder=
"请选择"
...
@@ -76,7 +80,7 @@
...
@@ -76,7 +80,7 @@
<!-- 商品品牌 -->
<!-- 商品品牌 -->
<el-select
<el-select
size=
"small"
size=
"small"
class=
"fl"
class=
"fl
w240
"
@
change=
"selectGoodsStoreWx"
@
change=
"selectGoodsStoreWx"
v-if=
"item.channelRelationProType == 2"
v-if=
"item.channelRelationProType == 2"
v-model=
"valueWx"
v-model=
"valueWx"
...
@@ -106,18 +110,18 @@
...
@@ -106,18 +110,18 @@
@
click=
"showGoodsDialog('wx')"
@
click=
"showGoodsDialog('wx')"
>
已选
{{
goodsListWx
.
length
}}
件商品
</el-button>
>
已选
{{
goodsListWx
.
length
}}
件商品
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"折扣控制
"
prop=
"region
"
>
<el-form-item
label=
"折扣控制
:"
prop=
"region"
class=
"margin-20
"
>
<div
class=
"radio-cell"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
</div>
<div
class=
"radio-cell margin-20"
>
<div
class=
"radio-cell margin-20
padding-bottom-20
"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:precision=
"2"
:controls=
"false"
:controls=
"false"
:max=
"10.0"
:max=
"10.0"
:min=
"
0.0
1"
:min=
"1"
></el-input-number>
></el-input-number>
<label>
至
</label>
<label>
至
</label>
<el-input-number
<el-input-number
...
@@ -125,64 +129,65 @@
...
@@ -125,64 +129,65 @@
:precision=
"2"
:precision=
"2"
:controls=
"false"
:controls=
"false"
:max=
"10.0"
:max=
"10.0"
:min=
"
0.0
1"
:min=
"1"
></el-input-number>
></el-input-number>
<label>
折商品都适用
</label>
<label>
折商品都适用
</label>
<span
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
</div>
</div>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form-item>
</
template
>
</
template
>
<!-- 微盟渠道-->
<!-- 微盟渠道-->
<
template
v-if=
"item.channelType == 9"
>
<
template
v-if=
"item.channelType == 9"
>
<el-form-item
label=
"微盟渠道"
prop=
""
:key=
"index"
>
<el-form-item
label=
"微盟渠道
:
"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
</el-form-item
>
<span
style=
"color: #909399;font-size:12px; margin-left:16px;"
>
客户在微盟微商城产生的订单
</span
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<el-form-item
label=
"选择商户"
>
<el-form-item
label=
"选择商户
:
"
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
class=
"w240"
>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"选择店铺"
>
<el-form-item
label=
"选择店铺
:"
class=
"margin-20
"
>
<el-select
v-model=
"storeValue"
v-if=
"!isJinHua"
>
<el-select
v-model=
"storeValue"
v-if=
"!isJinHua"
class=
"w240"
>
<el-option
label=
"所有门店"
value=
""
></el-option>
<el-option
label=
"所有门店"
value=
""
></el-option>
</el-select>
</el-select>
<vue-gic-store-new
v-else
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
<vue-gic-store-new
v-else
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
</el-form-item>
</el-form-item>
<el-form-item
label=
"微盟商品
"
class=
"padding-
0"
>
<el-form-item
label=
"微盟商品
:"
class=
"margin-2
0"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
class=
"w240"
>
<el-option
v-for=
"item in wMGoodOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"item in wMGoodOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"折扣控制
"
prop=
"region"
class=
"input-margin-b
"
>
<el-form-item
label=
"折扣控制
:"
prop=
"region"
class=
"input-margin-b margin-20 padding-bottom-20
"
>
<div
class=
"radio-cell"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
</div>
<div
class=
"radio-cell margin-20"
>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.0
1"
></el-input-number>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
至
</label>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.0
1"
></el-input-number>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
折商品都适用
</label>
<label>
折商品都适用
</label>
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</div>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form-item>
</
template
>
</
template
>
</template>
</template>
<dm-sub-title
type=
"fill"
text=
"规则配置"
style=
"margin-bottom: 20px; margin-top:40px;"
/>
<el-form-item
label=
"抵现规则
"
prop
class=
"margin-20
"
>
<el-form-item
label=
"抵现规则
:"
prop=
"integralUseStatus"
class=
"margin-20"
label-width=
"110px
"
>
<div>
<div>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"0"
>
不支持抵现
</el-radio>
</div>
<div
class=
"margin-20"
>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"1"
>
每使用
</el-radio>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"1"
>
每使用
</el-radio>
<el-input-number
<el-input-number
v-model=
"ruleForm.integralUse.integral"
v-model=
"ruleForm.integralUse.integral"
:precision=
"1"
:controls=
"false"
:controls=
"false"
:max=
"10000.0"
step-strictly
:min=
"0.1"
></el-input-number>
></el-input-number>
<label>
积分,抵
</label>
<label>
积分,抵
</label>
<el-input-number
<el-input-number
...
@@ -194,25 +199,23 @@
...
@@ -194,25 +199,23 @@
></el-input-number>
></el-input-number>
<label>
元
</label>
<label>
元
</label>
</div>
</div>
<div>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"0"
class=
"margin-20"
>
不支持抵现
</el-radio>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"比例限制
"
prop=
"name
"
>
<el-form-item
label=
"比例限制
:"
prop=
"name"
required
label-width=
"110px
"
>
<label
style=
"color: #606266"
>
最多可抵用商品金额的
</label>
<label
style=
"color: #606266"
>
最多可抵用商品金额的
</label>
<el-input
<el-input
placeholder=
"请输入"
@
keyup
.
native=
"formatInputNum($event)"
@
keyup
.
native=
"formatInputNum($event)"
v-model=
"ruleForm.channelList[0].useProportionalRestriction"
v-model=
"ruleForm.channelList[0].useProportionalRestriction"
>
></el-input>
%
<
template
slot=
"append"
>
%
</
template
>
</el-input>
</el-form-item>
</el-form-item>
<!-- 新增策略有效期配置 -->
<!-- 新增策略有效期配置 -->
<el-form-item
label=
"策略有效期
"
prop=
"
"
>
<el-form-item
label=
"策略有效期
:"
prop=
"perpetualFlag"
label-width=
"110px
"
>
<!-- 1 永久 0 非永久 -->
<!-- 1 永久 0 非永久 -->
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"1"
>
永久有效
</el-radio>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"1"
>
永久有效
</el-radio>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"0"
>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"0"
>
在该时段内有效
在该时段内有效
</el-radio>
<div
style=
"marginTop: 10px"
>
<el-date-picker
<el-date-picker
v-if=
"ruleForm.perpetualFlag === 0"
v-if=
"ruleForm.perpetualFlag === 0"
v-model=
"ruleForm.perpetualDate"
v-model=
"ruleForm.perpetualDate"
...
@@ -223,7 +226,7 @@
...
@@ -223,7 +226,7 @@
value-format=
"timestamp"
value-format=
"timestamp"
:default-time=
"['00:00:00', '23:59:59']"
>
:default-time=
"['00:00:00', '23:59:59']"
>
</el-date-picker>
</el-date-picker>
</
el-radio
>
</
div
>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-row>
<el-row>
...
@@ -319,12 +322,15 @@ export default {
...
@@ -319,12 +322,15 @@ export default {
path
:
'/pointSystem'
path
:
'/pointSystem'
},
},
{
{
name
:
'
添加
积分抵现策略'
,
name
:
'
新增
积分抵现策略'
,
path
:
''
path
:
''
}
}
],
],
rules
:
{
rules
:
{
strategyName
:
[{
required
:
true
,
message
:
'请填写策略名称'
,
trigger
:
'blur'
}]
strategyName
:
[{
required
:
true
,
message
:
'请填写策略名称'
,
trigger
:
'blur'
}],
// strategyName: [{ required: true, message: '请选择抵现规则', trigger: 'blur' }],
integralUseStatus
:
[{
required
:
true
,
message
:
'请输入积分抵现比例限制'
,
trigger
:
'blur'
}],
perpetualFlag
:
[{
required
:
true
,
message
:
'请选择策略有效期'
,
trigger
:
'blur'
}],
},
},
// 添加商品弹窗
// 添加商品弹窗
goodShow
:
false
,
goodShow
:
false
,
...
@@ -402,9 +408,9 @@ export default {
...
@@ -402,9 +408,9 @@ export default {
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper
:
'
0.0
'
,
integralUseDiscountControlUpper
:
''
,
integralUseDiscountControlLower
:
'
0.0
'
,
integralUseDiscountControlLower
:
''
,
useProportionalRestriction
:
'
0.0
'
,
// 抵现比例限制
useProportionalRestriction
:
''
,
// 抵现比例限制
strategyGoodsRelationIdArr
:
[],
// 商品
strategyGoodsRelationIdArr
:
[],
// 商品
storeRelationIdArr
:
[],
//门店
storeRelationIdArr
:
[],
//门店
enterpriseRelationIdArr
:
[]
//商户
enterpriseRelationIdArr
:
[]
//商户
...
@@ -420,9 +426,9 @@ export default {
...
@@ -420,9 +426,9 @@ export default {
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper
:
'
0.0
'
,
integralUseDiscountControlUpper
:
''
,
integralUseDiscountControlLower
:
'
0.0
'
,
integralUseDiscountControlLower
:
''
,
useProportionalRestriction
:
'
0.0
'
,
// 抵现比例限制
useProportionalRestriction
:
''
,
// 抵现比例限制
strategyGoodsRelationIdArr
:
[],
// 商品
strategyGoodsRelationIdArr
:
[],
// 商品
storeRelationIdArr
:
[],
//门店
storeRelationIdArr
:
[],
//门店
enterpriseRelationIdArr
:
[]
//商户
enterpriseRelationIdArr
:
[]
//商户
...
@@ -1037,7 +1043,10 @@ export default {
...
@@ -1037,7 +1043,10 @@ export default {
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.right-box
{
.right-box
{
padding
:
24px
32px
;
padding
:
20px
;
}
.w340
{
width
:
340px
;
}
}
.attention-wrap
{
.attention-wrap
{
.item-label
{
.item-label
{
...
@@ -1060,15 +1069,18 @@ export default {
...
@@ -1060,15 +1069,18 @@ export default {
font-size
:
12px
;
font-size
:
12px
;
color
:
#888
;
color
:
#888
;
}
}
.attention-content-wrap
{
//
.attention-content-wrap
{
}
//
}
}
}
.form-wrap
{
.form-wrap
{
.el-radio
{
margin-right
:
0
;
}
.el-input
,
.el-input
,
/
deep
/
.el-input-number
{
/
deep
/
.el-input-number
{
width
:
1
78
px
;
width
:
1
15
px
;
padding
:
0
10
px
;
padding
:
0
5
px
;
.el-input__inner
{
.el-input__inner
{
text-align
:
left
;
text-align
:
left
;
}
}
...
@@ -1105,9 +1117,9 @@ export default {
...
@@ -1105,9 +1117,9 @@ export default {
.form-child
{
.form-child
{
width
:
100%
;
width
:
100%
;
padding
:
15px
20px
10px
0px
;
padding
:
20px
20px
0
0
;
background
:
#f5f6f9
;
background
:
#f5f6f9
;
margin
:
22px
0
;
margin
-top
:
20px
;
-webkit-box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
...
@@ -1120,6 +1132,9 @@ export default {
...
@@ -1120,6 +1132,9 @@ export default {
.margin-20
{
.margin-20
{
margin-top
:
20px
;
margin-top
:
20px
;
}
}
.padding-bottom-20
{
padding-bottom
:
20px
;
}
.tinymce-wrap
{
.tinymce-wrap
{
width
:
780px
;
width
:
780px
;
...
@@ -1156,6 +1171,9 @@ export default {
...
@@ -1156,6 +1171,9 @@ export default {
.margin-r-6
{
.margin-r-6
{
margin-right
:
6px
;
margin-right
:
6px
;
}
}
.w240
{
width
:
240px
;
}
.right-box
/
deep
/
.el-input__inner
{
.right-box
/
deep
/
.el-input__inner
{
padding-right
:
12px
;
padding-right
:
12px
;
...
...
src/view/companyGroup/membershipSystem/editIntegralSytem.vue
View file @
fafbcb97
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
label-width=
"100px"
label-width=
"100px"
class=
"demo-ruleForm"
class=
"demo-ruleForm"
>
>
<dm-sub-title
type=
"fill"
text=
"基本信息"
style=
"margin-bottom: 20px;"
/>
<el-form-item
label=
"策略名称"
prop=
"strategyName"
class=
"padding-0 padding-r-45"
>
<el-form-item
label=
"策略名称"
prop=
"strategyName"
class=
"padding-0 padding-r-45"
>
<el-input
<el-input
v-model=
"ruleForm.strategyName"
v-model=
"ruleForm.strategyName"
...
@@ -38,12 +39,13 @@
...
@@ -38,12 +39,13 @@
<el-form-item
label=
"适用条件"
class=
"padding-0"
>
<el-form-item
label=
"适用条件"
class=
"padding-0"
>
<div
class=
"title-tip"
>
该设置只对微信商城中的积分抵现起作用。
</div>
<div
class=
"title-tip"
>
该设置只对微信商城中的积分抵现起作用。
</div>
</el-form-item>
</el-form-item>
<dm-sub-title
type=
"fill"
text=
"渠道配置"
style=
"margin-bottom: 20px; margin-top:30px;"
/>
<!-- 只获取微信的 -->
<!-- 只获取微信的 -->
<template
v-for=
"(item, index) in ruleForm.channelList"
>
<template
v-for=
"(item, index) in ruleForm.channelList"
>
<template
v-if=
"item.channelType == 1"
>
<template
v-if=
"item.channelType == 1"
>
<el-form-item
label=
"
适用微信
商城"
prop=
""
:key=
"index"
>
<el-form-item
label=
"
达摩微
商城"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
active-text=
"启用"
inactive-text=
"停用
"
>
</el-switch>
<el-switch
v-model=
"item.openStatus"
:active-value=
"1"
:inactive-value=
"0
"
>
</el-switch>
</el-form-item
>
<span
style=
"color: #909399;font-size:12px; margin-left:16px;"
>
客户在微盟微商城产生的订单
</span
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus"
:key=
"index"
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus"
:key=
"index"
>
<el-form-item
label=
"选择商户"
>
<el-form-item
label=
"选择商户"
>
<el-select
<el-select
...
@@ -51,6 +53,7 @@
...
@@ -51,6 +53,7 @@
placeholder=
"请选择"
placeholder=
"请选择"
multiple
multiple
size=
"small"
size=
"small"
class=
"w240"
>
>
<el-option
<el-option
v-for=
"item in mechantOption"
v-for=
"item in mechantOption"
...
@@ -61,9 +64,9 @@
...
@@ -61,9 +64,9 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"适用商品"
class=
"
padding-
0"
>
<el-form-item
label=
"适用商品"
class=
"
margin-2
0"
>
<el-select
<el-select
class=
"fl"
class=
"fl
w240
"
style=
"margin-right: 10px;"
style=
"margin-right: 10px;"
v-model=
"item.channelRelationProType"
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
placeholder=
"请选择"
...
@@ -80,7 +83,7 @@
...
@@ -80,7 +83,7 @@
<!-- 商品品牌 -->
<!-- 商品品牌 -->
<el-select
<el-select
size=
"small"
size=
"small"
class=
"fl"
class=
"fl
w240
"
@
change=
"selectGoodsStoreWx"
@
change=
"selectGoodsStoreWx"
v-if=
"item.channelRelationProType == 2"
v-if=
"item.channelRelationProType == 2"
v-model=
"valueWx"
v-model=
"valueWx"
...
@@ -113,11 +116,11 @@
...
@@ -113,11 +116,11 @@
>
已选
{{
goodsListWx
.
length
}}
件商品
</el-button>
>
已选
{{
goodsListWx
.
length
}}
件商品
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
label=
"折扣控制
"
prop=
"region
"
>
<el-form-item
label=
"折扣控制
:"
prop=
"region"
class=
"margin-20
"
>
<div
class=
"radio-cell"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
</div>
<div
class=
"radio-cell margin-20"
>
<div
class=
"radio-cell margin-20
padding-bottom-20
"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<!--
<el-input
@
focus=
"inputFocus(item,'integralUseDiscountControlLower')"
@
change=
"formatInputChange($event)"
v-model=
"item.integralUseDiscountControlLower"
></el-input>
-->
<!--
<el-input
@
focus=
"inputFocus(item,'integralUseDiscountControlLower')"
@
change=
"formatInputChange($event)"
v-model=
"item.integralUseDiscountControlLower"
></el-input>
-->
<el-input-number
<el-input-number
...
@@ -125,7 +128,7 @@
...
@@ -125,7 +128,7 @@
:precision=
"2"
:precision=
"2"
:controls=
"false"
:controls=
"false"
:max=
"10.0"
:max=
"10.0"
:min=
"
0.0
1"
:min=
"1"
></el-input-number>
></el-input-number>
<label>
至
</label>
<label>
至
</label>
<!--
<el-input
@
focus=
"inputFocus(item,'integralUseDiscountControlUpper')"
@
change=
"formatInputChange($event)"
v-model=
"item.integralUseDiscountControlUpper"
></el-input>
-->
<!--
<el-input
@
focus=
"inputFocus(item,'integralUseDiscountControlUpper')"
@
change=
"formatInputChange($event)"
v-model=
"item.integralUseDiscountControlUpper"
></el-input>
-->
...
@@ -134,84 +137,82 @@
...
@@ -134,84 +137,82 @@
:precision=
"2"
:precision=
"2"
:controls=
"false"
:controls=
"false"
:max=
"10.0"
:max=
"10.0"
:min=
"
0.0
1"
:min=
"1"
></el-input-number>
></el-input-number>
<label>
折商品都适用
</label>
<label>
折商品都适用
</label>
<span
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
</div>
</div>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form-item>
</
template
>
</
template
>
<!-- 微盟渠道-->
<!-- 微盟渠道-->
<
template
v-if=
"item.channelType == 9"
>
<
template
v-if=
"item.channelType == 9"
>
<el-form-item
label=
"微盟渠道"
prop=
""
:key=
"index"
>
<el-form-item
label=
"微盟渠道"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
</el-form-item
>
<span
style=
"color: #909399;font-size:12px; margin-left:16px;"
>
客户在微盟微商城产生的订单
</span
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus"
:key=
"index"
>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus"
:key=
"index"
>
<el-form-item
label=
"选择商户"
>
<el-form-item
label=
"选择商户"
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
>
<el-select
size=
"small"
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
class=
"w240"
>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"(item, ind) in mechantOption"
:key=
"ind"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"选择店铺"
>
<el-form-item
label=
"选择店铺"
class=
"margin-20"
>
<el-select
v-model=
"storeValue"
v-if=
"!isJinHua"
>
<el-select
v-model=
"storeValue"
v-if=
"!isJinHua"
class=
"w240"
>
<el-option
label=
"所有门店"
value=
""
></el-option>
<el-option
label=
"所有门店"
value=
""
></el-option>
</el-select>
</el-select>
<vue-gic-store-new
v-else
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
<vue-gic-store-new
v-else
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
</el-form-item>
</el-form-item>
<el-form-item
label=
"微盟商品"
class=
"
padding-
0"
>
<el-form-item
label=
"微盟商品"
class=
"
margin-2
0"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
class=
"w240"
>
<el-option
v-for=
"item in wMGoodOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
<el-option
v-for=
"item in wMGoodOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"折扣控制
"
prop=
"region"
class=
"input-margin-b
"
>
<el-form-item
label=
"折扣控制
:"
prop=
"region"
class=
"input-margin-b margin-20 padding-bottom-20
"
>
<div
class=
"radio-cell"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
</div>
<div
class=
"radio-cell margin-20"
>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.0
1"
></el-input-number>
<el-input-number
v-model=
"item.integralUseDiscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
至
</label>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"
0.0
1"
></el-input-number>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"1"
></el-input-number>
<label>
折商品都适用
</label>
<label>
折商品都适用
</label>
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣
</span>
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价
</span>
</div>
</div>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form-item>
</
template
>
</
template
>
</template>
</template>
<dm-sub-title
type=
"fill"
text=
"规则配置"
style=
"margin-bottom: 20px; margin-top:40px;"
/>
<el-form-item
label=
"抵现规则
"
prop=
""
class=
"margin-20
"
>
<el-form-item
label=
"抵现规则
:"
prop=
"integralUseStatus"
class=
"margin-20"
label-width=
"110px
"
>
<div>
<div>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"0"
>
不支持抵现
</el-radio>
</div>
<div
class=
"margin-20"
>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"1"
>
每使用
</el-radio>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"1"
>
每使用
</el-radio>
<!-- <el-input @keyup.native="formatInputNum($event)" v-model="ruleForm.integralUse.integral"></el-input> -->
<!-- <el-input @keyup.native="formatInputNum($event)" v-model="ruleForm.integralUse.integral"></el-input> -->
<el-input-number
v-model=
"ruleForm.integralUse.integral"
:
precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralUse.integral"
:
controls=
"false"
step-strictly
></el-input-number>
<label>
积分,抵
</label>
<label>
积分,抵
</label>
<!-- <el-input @blur="formatInputNumBlur($event)" v-model="ruleForm.integralUse.fee"></el-input> -->
<!-- <el-input @blur="formatInputNumBlur($event)" v-model="ruleForm.integralUse.fee"></el-input> -->
<el-input-number
v-model=
"ruleForm.integralUse.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<el-input-number
v-model=
"ruleForm.integralUse.fee"
:precision=
"1"
:controls=
"false"
:max=
"10000.0"
:min=
"0.1"
></el-input-number>
<label>
元
</label>
<label>
元
</label>
</div>
</div>
<div>
<el-radio
v-model=
"ruleForm.integralUseStatus"
label=
"0"
class=
"margin-20"
>
不支持抵现
</el-radio>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"比例限制"
prop=
"name"
>
<el-form-item
label=
"比例限制
:"
label-width=
"110px
"
prop=
"name"
>
<label
style=
"color: #606266"
>
最多可抵用商品金额的
</label>
<label
style=
"color: #606266"
>
最多可抵用商品金额的
</label>
<el-input
@
keyup
.
native=
"formatInputNum($event)"
v-model=
"ruleForm.channelList[0].useProportionalRestriction"
>
<el-input
@
keyup
.
native=
"formatInputNum($event)"
v-model=
"ruleForm.channelList[0].useProportionalRestriction"
></el-input>
%
<
template
slot=
"append"
>
%
</
template
>
</el-input>
</el-form-item>
</el-form-item>
<!-- 新增策略有效期配置 -->
<!-- 新增策略有效期配置 -->
<el-form-item
label=
"策略有效期
"
prop
>
<el-form-item
label=
"策略有效期
:"
prop=
"perpetualFlag"
label-width=
"110px"
>
<!-- 1 永久 0 非永久 -->
<!-- 1 永久 0 非永久 -->
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"1"
>
永久有效
</el-radio>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"1"
>
永久有效
</el-radio>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"0"
>
<el-radio
v-model=
"ruleForm.perpetualFlag"
:label=
"0"
>
在该时段内有效
在该时段内有效
</el-radio>
<div
style=
"margin-top:10px;"
>
<el-date-picker
<el-date-picker
v-if=
"ruleForm.perpetualFlag === 0"
v-if=
"ruleForm.perpetualFlag === 0"
v-model=
"ruleForm.perpetualDate"
v-model=
"ruleForm.perpetualDate"
...
@@ -222,8 +223,8 @@
...
@@ -222,8 +223,8 @@
value-format=
"timestamp"
value-format=
"timestamp"
:default-time=
"['00:00:00', '23:59:59']"
:default-time=
"['00:00:00', '23:59:59']"
></el-date-picker>
></el-date-picker>
</
el-radio
>
</
div
>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-row>
<el-row>
<el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click=
"submitForm('ruleForm')"
>
保 存
</el-button>
<el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click=
"submitForm('ruleForm')"
>
保 存
</el-button>
...
@@ -1121,7 +1122,10 @@ export default {
...
@@ -1121,7 +1122,10 @@ export default {
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.right-box
{
.right-box
{
padding
:
24px
32px
;
padding
:
20px
;
}
.w340
{
width
:
340px
;
}
}
.attention-wrap
{
.attention-wrap
{
.item-label
{
.item-label
{
...
@@ -1144,15 +1148,18 @@ export default {
...
@@ -1144,15 +1148,18 @@ export default {
font-size
:
12px
;
font-size
:
12px
;
color
:
#888
;
color
:
#888
;
}
}
.attention-content-wrap
{
//
.attention-content-wrap
{
}
//
}
}
}
.form-wrap
{
.form-wrap
{
.el-radio
{
margin-right
:
0
;
}
.el-input
,
.el-input
,
/
deep
/
.el-input-number
{
/
deep
/
.el-input-number
{
width
:
1
78
px
;
width
:
1
15
px
;
padding
:
0
10
px
;
padding
:
0
5
px
;
.el-input__inner
{
.el-input__inner
{
text-align
:
left
;
text-align
:
left
;
}
}
...
@@ -1197,8 +1204,9 @@ export default {
...
@@ -1197,8 +1204,9 @@ export default {
.form-child
{
.form-child
{
width
:
100%
;
width
:
100%
;
padding
:
15px
20px
1
0px
0px
;
padding
:
20px
20px
0px
0px
;
background
:
#f5f6f9
;
background
:
#f5f6f9
;
margin-top
:
20px
;
-webkit-box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
...
@@ -1211,6 +1219,9 @@ export default {
...
@@ -1211,6 +1219,9 @@ export default {
.margin-20
{
.margin-20
{
margin-top
:
20px
;
margin-top
:
20px
;
}
}
.padding-bottom-20
{
padding-bottom
:
20px
;
}
.tinymce-wrap
{
.tinymce-wrap
{
width
:
780px
;
width
:
780px
;
...
@@ -1247,7 +1258,9 @@ export default {
...
@@ -1247,7 +1258,9 @@ export default {
.margin-r-6
{
.margin-r-6
{
margin-right
:
6px
;
margin-right
:
6px
;
}
}
.w240
{
width
:
240px
;
}
.right-box
/
deep
/
.el-input__inner
{
.right-box
/
deep
/
.el-input__inner
{
padding-right
:
12px
;
padding-right
:
12px
;
}
}
...
...
src/view/companyGroup/membershipSystem/pointSystem.vue
View file @
fafbcb97
...
@@ -3,27 +3,19 @@
...
@@ -3,27 +3,19 @@
<topNavNew
:navpath=
"navpath"
></topNavNew>
<topNavNew
:navpath=
"navpath"
></topNavNew>
<div
class=
"right-content"
>
<div
class=
"right-content"
>
<div
class=
"right-box"
>
<div
class=
"right-box"
>
<div
class=
"attention-wrap"
>
<div
class=
"attention-wrap"
style=
"padding:20px;"
>
<!-- 积分制度 -->
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<div
class=
"point-cell point-form"
>
<el-tab-pane
label=
"通用积分策略"
name=
"first"
>
<div
class=
"point-cell-wrap"
>
<point-form
:pointInfo=
"pointInfo"
:projectName=
"projectName"
></point-form>
<point-form
:pointInfo=
"pointInfo"
:projectName=
"projectName"
></point-form>
</div>
</el-tab-pane>
</div>
<el-tab-pane
label=
"特殊积分获取策略"
name=
"second"
>
<div
class=
"height-24"
></div>
<div
style=
"font-size: 12px;color: #828282;"
>
订单命中特殊积分获取策略时,则执行特殊积分获取策略;订单命中多个特殊积分获取策略时,则按照最优的积分策略(赠送积分最多)进行计算
</div>
<!-- 特殊积分获取策略 -->
<div
style=
"float: left;"
class=
"btn-r-wrap"
>
<div
class=
"point-cell point-table"
>
<el-input
placeholder=
"请输入策略名称"
clearable
v-model=
"keywords"
@
change=
"onSearch"
prefix-icon=
"el-icon-search"
style=
"width:260px;"
></el-input>
<div
class=
"flex table-top title-wrap"
>
<div
class=
"flex-1 flex-l"
>
<p
class=
"flex-title"
>
特殊积分获取策略
</p>
<div
class=
"flex-lable"
>
设置除通用积分获取规则以外的特殊策略
</div>
</div>
</div>
</div>
<div
class=
"fr btn-r-wrap"
><el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click=
"handleAdd('point')"
>
新增策略
</el-button></div>
<div
class=
"fr btn-r-wrap"
><el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click=
"handleAdd('point')"
>
新增策略
</el-button></div>
<!-- table border-->
<div
class=
"table-contain"
>
<el-table
class=
"table-no-line-wrap"
:data=
"achieveTableData"
style=
"width: 100%"
>
<el-table
class=
"table-no-line-wrap"
:data=
"achieveTableData"
style=
"width: 100%"
>
<el-table-column
prop=
"strategyName"
label=
"策略名称"
>
</el-table-column>
<el-table-column
prop=
"strategyName"
label=
"策略名称"
:show-overflow-tooltip=
"true"
min-width=
"126"
>
</el-table-column>
<el-table-column
prop=
""
label=
"线下渠道"
>
<el-table-column
prop=
""
label=
"线下渠道"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 3"
:key=
"index"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 3"
:key=
"index"
>
...
@@ -35,7 +27,7 @@
...
@@ -35,7 +27,7 @@
</span>
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
""
label=
"
微信
商城"
>
<el-table-column
prop=
""
label=
"
达摩微
商城"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 1"
:key=
"index"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 1"
:key=
"index"
>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
...
@@ -46,7 +38,7 @@
...
@@ -46,7 +38,7 @@
</span>
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
""
label=
"微盟"
>
<el-table-column
prop=
""
label=
"微盟
渠道
"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 9"
:key=
"index"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 9"
:key=
"index"
>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
...
@@ -57,7 +49,40 @@
...
@@ -57,7 +49,40 @@
</span>
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
""
label=
"适用对象"
>
<el-table-column
prop=
""
label=
"天猫渠道"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 8"
:key=
"index"
>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
<span
v-else
>
<span
v-if=
"item.channelRelationProType == 1"
>
通用
</span>
<span
v-if=
"item.channelRelationProType != 1"
>
自定义配置
</span>
</span>
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
""
label=
"抖音渠道"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 11"
:key=
"index"
>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
<span
v-else
>
<span
v-if=
"item.channelRelationProType == 1"
>
通用
</span>
<span
v-if=
"item.channelRelationProType != 1"
>
自定义配置
</span>
</span>
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
""
label=
"其他渠道"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 10"
:key=
"index"
>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
<span
v-else
>
<span
v-if=
"item.channelRelationProType == 1"
>
通用
</span>
<span
v-if=
"item.channelRelationProType != 1"
>
自定义配置
</span>
</span>
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
""
label=
"适用对象"
min-width=
"70px"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
useCrowd
==
1
?
'所有会员'
:
'自定义人群'
}}
{{
scope
.
row
.
useCrowd
==
1
?
'所有会员'
:
'自定义人群'
}}
</
template
>
</
template
>
...
@@ -100,22 +125,59 @@
...
@@ -100,22 +125,59 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
</div>
<dm-pagination
</div>
@
size-change=
"handleSizeChange"
<div
class=
"height-24"
></div>
@
current-change=
"handleCurrentChange"
<!-- 特殊积分抵现策略 -->
:current-page=
"pageNum"
<div
class=
"point-cell point-table"
>
:page-size=
"pageSize"
<div
class=
"flex table-top title-wrap"
>
:total=
"totalCount"
<div
class=
"flex-1 flex-l"
>
:page-sizes=
"[20, 40, 60, 80]"
<p
class=
"flex-title"
>
特殊积分抵现策略
</p>
layout=
"total, sizes, prev, pager, next"
<div
class=
"flex-lable"
>
设置消费时使用积分抵现的规则(仅用于微信商城结算)
</div>
background
style=
"text-align: right; margin-top:20px;"
></dm-pagination>
</el-tab-pane>
<el-tab-pane
label=
"特殊积分抵现策略"
name=
"third"
>
<div
style=
"font-size: 12px;color: #828282;"
>
设置消费时使用积分抵现的规则,线下渠道和微盟渠道开启时需要做接口对接后生效
</div>
<div
style=
"float: left;"
class=
"btn-r-wrap"
>
<el-input
placeholder=
"请输入策略名称"
clearable
v-model=
"keywords1"
@
change=
"onSearch1"
prefix-icon=
"el-icon-search"
style=
"width:260px;"
></el-input>
</div>
</div>
</div>
<div
class=
"fr btn-r-wrap"
><el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click=
"handleAdd('integ')"
>
新增策略
</el-button></div>
<div
class=
"fr btn-r-wrap"
><el-button
:disabled=
"tpnEditBool"
type=
"primary"
@
click=
"handleAdd('integ')"
>
新增策略
</el-button></div>
<!-- table -->
<!-- table -->
<div
class=
"table-contain"
>
<el-table
:data=
"exchangeTableData"
style=
"width: 100%"
>
<el-table
:data=
"exchangeTableData"
style=
"width: 100%"
>
<el-table-column
prop=
"strategyName"
label=
"策略名称"
>
</el-table-column>
<el-table-column
prop=
"strategyName"
label=
"策略名称"
>
</el-table-column>
<!-- <el-table-column prop="" label="线下渠道">
<template slot-scope="scope">
<span v-for="(item, index) in scope.row.channelList" v-show="item.channelType == 3" :key="index">
<span v-if="item.openStatus == 0">关闭</span>
<span v-else>
<span v-if="item.channelRelationProType == 1 && item.channelRelationStoreType == 1">通用</span>
<span v-if="item.channelRelationProType != 1 || item.channelRelationStoreType != 1">自定义配置</span>
</span>
</span>
</template>
</el-table-column> -->
<el-table-column
prop=
""
label=
"达摩微商城"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 1"
:key=
"index"
>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
<span
v-else
>
<span
v-if=
"item.channelRelationProType == 1 && item.channelRelationStoreType == 1"
>
通用
</span>
<span
v-if=
"item.channelRelationProType != 1 || item.channelRelationStoreType != 1"
>
自定义配置
</span>
</span>
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
""
label=
"微盟渠道"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
v-show=
"item.channelType == 9"
:key=
"index"
>
<span
v-if=
"item.openStatus == 0"
>
关闭
</span>
<span
v-else
>
<span
v-if=
"item.channelRelationProType == 1 && item.channelRelationStoreType == 1"
>
通用
</span>
<span
v-if=
"item.channelRelationProType != 1 || item.channelRelationStoreType != 1"
>
自定义配置
</span>
</span>
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"useCrowd"
label=
"适用对象"
>
<el-table-column
prop=
"useCrowd"
label=
"适用对象"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
useCrowd
==
1
?
'所有会员'
:
'自定义人群'
}}
{{
scope
.
row
.
useCrowd
==
1
?
'所有会员'
:
'自定义人群'
}}
...
@@ -131,7 +193,7 @@
...
@@ -131,7 +193,7 @@
<el-table-column
prop=
""
label=
"折扣控制"
>
<el-table-column
prop=
""
label=
"折扣控制"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
:key=
"index"
>
<span
v-for=
"(item, index) in scope.row.channelList"
:key=
"index"
>
<span
v-if=
"item.channelType == 1"
>
{{
item
.
integralUseDiscountControl
==
1
?
"不限制"
:
(
item
.
integralUseDiscountControlLower
+
'
:
'
+
item
.
integralUseDiscountControlUpper
)
}}
</span>
<span
v-if=
"item.channelType == 1"
>
{{
item
.
integralUseDiscountControl
==
1
?
"不限制"
:
(
item
.
integralUseDiscountControlLower
+
'
:
'
+
item
.
integralUseDiscountControlUpper
)
}}
</span>
</span>
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -179,8 +241,18 @@
...
@@ -179,8 +241,18 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
</div>
<dm-pagination
</div>
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"pageNum1"
:page-size=
"pageSize1"
:total=
"totalCount1"
:page-sizes=
"[20, 40, 60, 80]"
layout=
"total, sizes, prev, pager, next"
background
style=
"text-align: right; margin-top:20px;"
></dm-pagination>
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -199,7 +271,16 @@ export default {
...
@@ -199,7 +271,16 @@ export default {
name
:
'pointSystem'
,
name
:
'pointSystem'
,
data
()
{
data
()
{
return
{
return
{
activeName
:
'first'
,
projectName
:
'gic-clique'
,
// 当前项目名
projectName
:
'gic-clique'
,
// 当前项目名
keywords
:
''
,
// 关键字查询
pageNum
:
1
,
pageSize
:
20
,
totalCount
:
0
,
keywords1
:
''
,
// 关键字查询
pageNum1
:
1
,
pageSize1
:
20
,
totalCount1
:
0
,
navpath
:
[
navpath
:
[
{
{
name
:
'集团管理'
,
name
:
'集团管理'
,
...
@@ -285,34 +366,67 @@ export default {
...
@@ -285,34 +366,67 @@ export default {
});
});
});
});
},
},
// 通用积分
getPointInfos
()
{
var
that
=
this
var
param
=
{
requestProject
:
that
.
projectName
}
postRequest
(
'/api-admin/get-member-integral-setting'
,
param
)
.
then
((
res
)
=>
{
var
resData
=
res
.
data
if
(
resData
.
errorCode
==
0
)
{
that
.
pointInfo
=
that
.
handleData
(
resData
.
result
.
memberIntegral
)
return
;
}
errMsg
.
errorMsg
(
resData
)
})
.
catch
(
function
(
error
)
{
console
.
log
(
error
);
});
},
// 获取积分制度
// 获取积分制度
getPointInfo
()
{
getPointInfo
()
{
let
that
=
this
;
let
that
=
this
;
let
param
=
{
let
param
=
{
requestProject
:
that
.
projectName
requestProject
:
that
.
projectName
,
keyword
:
that
.
keywords
,
strategyType
:
1
};
};
postRequest
(
'/api-admin/get-member-integral-setting'
,
param
)
// postRequest('/api-admin/get-member-integral-setting', param)
postRequest
(
'/api-admin/query-integral-setting'
,
param
)
.
then
(
res
=>
{
.
then
(
res
=>
{
let
resData
=
res
.
data
;
let
resData
=
res
.
data
;
if
(
resData
.
errorCode
==
0
)
{
if
(
resData
.
errorCode
==
0
)
{
if
(
!!
resData
.
result
.
strategyList
&&
!!
resData
.
result
.
strategyList
.
length
)
{
// if (!!resData.result.strategyList && !!resData.result.strategyList.length) {
let
arr
=
resData
.
result
.
strategyList
;
// let arr = resData.result.strategyList;
// 积分策略
// // 积分策略
arr
.
forEach
(
function
(
ele
,
index
)
{
// arr.forEach(function(ele, index) {
ele
.
integralGet
=
JSON
.
parse
(
ele
.
integralGet
);
// ele.integralGet = JSON.parse(ele.integralGet);
ele
.
integralUse
=
JSON
.
parse
(
ele
.
integralUse
);
// ele.integralUse = JSON.parse(ele.integralUse);
if
(
ele
.
strategyType
==
1
)
{
// if (ele.strategyType == 1) {
that
.
achieveTableData
.
push
(
ele
);
// that.achieveTableData.push(ele);
}
else
{
// } else {
that
.
exchangeTableData
.
push
(
ele
);
// that.exchangeTableData.push(ele);
}
// }
});
// });
}
// }
// form
// // form
if
(
!!
resData
.
result
.
memberIntegral
)
{
// if (!!resData.result.memberIntegral) {
that
.
pointInfo
=
that
.
handleData
(
resData
.
result
.
memberIntegral
);
// that.pointInfo = that.handleData(resData.result.memberIntegral);
}
// }
return
;
// return;
// 6月迭代抖音修改
that
.
totalCount
=
resData
.
result
.
totalCount
;
that
.
pageSize
=
resData
.
result
.
pageSize
;
that
.
pageNum
=
resData
.
result
.
pageNum
;
that
.
achieveTableData
=
resData
.
result
.
result
;
that
.
achieveTableData
.
forEach
((
ele
,
index
)
=>
{
ele
.
integralGet
=
JSON
.
parse
(
ele
.
integralGet
);
ele
.
integralUse
=
JSON
.
parse
(
ele
.
integralUse
);
})
}
}
errMsg
.
errorMsg
(
resData
);
errMsg
.
errorMsg
(
resData
);
})
})
...
@@ -320,6 +434,34 @@ export default {
...
@@ -320,6 +434,34 @@ export default {
log
(
error
);
log
(
error
);
});
});
},
},
// 抵现策略
getIntefralInfo
()
{
var
that
=
this
// 积分抵现策略
var
params
=
{
requestProject
:
that
.
projectName
,
keyword
:
that
.
keywords1
,
strategyType
:
2
}
postRequest
(
'/api-admin/query-integral-setting'
,
params
)
// postRequest('/api-admin/get-member-integral-setting',param)
.
then
((
res
)
=>
{
var
resData
=
res
.
data
if
(
resData
.
errorCode
==
0
)
{
// 6月迭代修改
that
.
totalCount1
=
resData
.
result
.
totalCount
;
that
.
pageSize1
=
resData
.
result
.
pageSize
;
that
.
pageNum1
=
resData
.
result
.
pageNum
;
that
.
exchangeTableData
=
resData
.
result
.
result
;
}
// that.userFormVisible = false;
// console.log(resData);
})
.
catch
(
function
(
error
)
{
console
.
log
(
error
);
});
},
// 处理表单中数据
// 处理表单中数据
handleData
(
item
)
{
handleData
(
item
)
{
item
.
integralGetStatus
=
String
(
item
.
integralGetStatus
);
item
.
integralGetStatus
=
String
(
item
.
integralGetStatus
);
...
@@ -332,14 +474,43 @@ export default {
...
@@ -332,14 +474,43 @@ export default {
item
.
integralUseDiscountControlUpper
=
String
(
item
.
integralUseDiscountControlUpper
);
item
.
integralUseDiscountControlUpper
=
String
(
item
.
integralUseDiscountControlUpper
);
item
.
integralUseDiscountControlLower
=
String
(
item
.
integralUseDiscountControlLower
);
item
.
integralUseDiscountControlLower
=
String
(
item
.
integralUseDiscountControlLower
);
item
.
integralGet
=
JSON
.
parse
(
item
.
integralGet
);
// item.integralGet = JSON.parse(item.integralGet);
item
.
integralUse
=
JSON
.
parse
(
item
.
integralUse
);
// item.integralUse = JSON.parse(item.integralUse);
item
.
integralCost
=
JSON
.
parse
(
item
.
integralCost
);
// item.integralCost = JSON.parse(item.integralCost);
let
isJSONBool1
=
this
.
isJSON
(
item
.
integralGet
);
let
isJSONBool2
=
this
.
isJSON
(
item
.
integralUse
);
let
isJSONBool3
=
this
.
isJSON
(
item
.
integralCost
);
if
(
isJSONBool1
){
item
.
integralGet
=
JSON
.
parse
(
item
.
integralGet
);
}
else
{
// 不是json 先转成对象再转成json
item
.
integralGet
=
JSON
.
parse
(
JSON
.
stringify
(
eval
(
'('
+
item
.
integralGet
+
')'
)))
}
if
(
isJSONBool2
){
item
.
integralUse
=
JSON
.
parse
(
item
.
integralUse
);
}
else
{
item
.
integralUse
=
JSON
.
parse
(
JSON
.
stringify
(
eval
(
'('
+
item
.
integralUse
+
')'
)))
}
if
(
isJSONBool3
){
item
.
integralCost
=
JSON
.
parse
(
item
.
integralCost
);
}
else
{
item
.
integralCost
=
JSON
.
parse
(
JSON
.
stringify
(
eval
(
'('
+
item
.
integralCost
+
')'
)))
}
item
.
integralGet
.
fee
=
Number
(
item
.
integralGet
.
fee
/
10
).
toFixed
(
1
);
item
.
integralGet
.
fee
=
Number
(
item
.
integralGet
.
fee
/
10
).
toFixed
(
1
);
item
.
integralGet
.
integral
=
Number
(
item
.
integralGet
.
integral
/
10
);
item
.
integralGet
.
integral
=
Number
(
item
.
integralGet
.
integral
/
10
);
return
item
;
return
item
;
},
},
isJSON
(
str
)
{
if
(
typeof
str
==
'string'
)
{
try
{
// var obj=JSON.parse(str);
// console.log('转换成功:'+obj);
return
true
;
}
catch
(
e
)
{
// console.log('error:'+str+'!!!'+e);
return
false
;
}
}
},
changeRoute
(
route
)
{
changeRoute
(
route
)
{
this
.
$router
.
push
(
route
);
this
.
$router
.
push
(
route
);
},
},
...
@@ -388,6 +559,8 @@ export default {
...
@@ -388,6 +559,8 @@ export default {
mounted
()
{
mounted
()
{
let
that
=
this
;
let
that
=
this
;
that
.
getPointInfo
();
that
.
getPointInfo
();
that
.
getPointInfos
();
that
.
getIntefralInfo
();
that
.
getLoginInfo
();
that
.
getLoginInfo
();
}
}
};
};
...
@@ -409,8 +582,8 @@ export default {
...
@@ -409,8 +582,8 @@ export default {
width
:
80px
;
width
:
80px
;
}
}
}
}
.attention-content-wrap
{
//
.attention-content-wrap
{
}
//
}
}
}
.attention-wrap
{
.attention-wrap
{
...
@@ -444,8 +617,9 @@ export default {
...
@@ -444,8 +617,9 @@ export default {
}
}
.flex-lable
{
.flex-lable
{
font-size
:
1
3
px
;
font-size
:
1
2
px
;
color
:
#828282
;
color
:
#828282
;
line-height
:
20px
;
}
}
.flex-l
{
.flex-l
{
...
@@ -468,7 +642,7 @@ export default {
...
@@ -468,7 +642,7 @@ export default {
padding
:
20px
32px
15px
;
padding
:
20px
32px
15px
;
}
}
.btn-r-wrap
{
.btn-r-wrap
{
padding
:
2
4px
24px
22
px
0
;
padding
:
2
0
px
0
;
}
}
.table-contain
{
.table-contain
{
padding
:
0
24px
24px
;
padding
:
0
24px
24px
;
...
...
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