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
b6cc33e0
Commit
b6cc33e0
authored
Dec 13, 2019
by
Kyle_Li
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加微盟渠道
parent
380cac48
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
1019 additions
and
231 deletions
+1019
-231
index.html
index.html
+1
-0
addGroupCate.vue
src/view/companyGroup/membershipSystem/addGroupCate.vue
+286
-72
addIntegralSytem.vue
src/view/companyGroup/membershipSystem/addIntegralSytem.vue
+180
-29
addPointSystem.vue
src/view/companyGroup/membershipSystem/addPointSystem.vue
+20
-3
editGroupCate.vue
src/view/companyGroup/membershipSystem/editGroupCate.vue
+332
-91
editIntegralSytem.vue
src/view/companyGroup/membershipSystem/editIntegralSytem.vue
+173
-30
editPointSystem.vue
src/view/companyGroup/membershipSystem/editPointSystem.vue
+24
-3
pointSystem.vue
src/view/companyGroup/membershipSystem/pointSystem.vue
+3
-3
No files found.
index.html
View file @
b6cc33e0
...
...
@@ -23,5 +23,6 @@
<script
src=
"//web-1251519181.file.myqcloud.com/components/area-ab.2.0.00.js"
></script>
<script
src=
"//web-1251519181.file.myqcloud.com/components/input.2.0.00.js"
></script>
<script
src=
"//web-1251519181.file.myqcloud.com/components/export.1.0.1.js"
></script>
<script
src=
"//web-1251519181.file.myqcloud.com/components/store-new.2.0.46.js"
></script>
</body>
</html>
src/view/companyGroup/membershipSystem/addGroupCate.vue
View file @
b6cc33e0
...
...
@@ -13,43 +13,77 @@
<el-form-item
label=
"适用条件"
class=
"padding-0"
>
<div
class=
"title-tip"
>
该设置只对微信商城中的积分抵现起作用。
</div>
</el-form-item>
<div
class=
"form-child margin-20 "
>
<template
v-for=
"(item, index) in ruleForm.gradeStrategyChannelList"
>
<template
v-if=
"item.channelType == 1"
>
<el-form-item
label=
"适用微信商城"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.status"
>
</el-switch>
</el-form-item>
<div
class=
"form-child margin-20"
v-if=
"item.status"
:key=
"index"
>
<el-form-item
label=
"选择商户"
>
<el-select
v-model=
"ruleForm.cliqueEnterpriseIds"
placeholder=
"请选择"
multiple
>
<el-option
v-for=
"item in mechantOption"
:key=
"item.enterpriseId"
:label=
"item.brandName"
:value=
"item.enterpriseId
"
>
</el-option>
<el-select
v-model=
"item.cliqueEnterpriseIdArr"
placeholder=
"请选择"
multiple
size=
"small"
>
<el-option
v-for=
"item in mechantOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value
"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"适用商品"
class=
"padding-0"
>
<div>
<el-select
class=
"fl"
style=
"margin-right: 10px;"
v-model=
"ruleForm.strategyRelationType"
placeholder=
"请选择"
@
change=
"changeGood($event)"
>
<el-select
class=
"fl"
style=
"margin-right: 10px;"
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
>
<el-option
v-for=
"item in applyGoods"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
<!-- 二级 -->
<!-- 商品品牌 -->
<el-select
class=
"fl"
@
change=
"selectGoodsStore"
v-if=
"ruleForm.strategyRelationType == 2"
v-model=
"value5
"
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"item in goodsTreeOptions
"
:key=
"item.brandId"
:label=
"item.brandName"
:value=
"item.brandId"
>
</el-option>
<el-select
size=
"small"
class=
"fl"
@
change=
"selectGoodsStoreWx"
v-if=
"item.channelRelationProType == 2"
v-model=
"valueWx
"
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"item in goodsTreeOptionsWx
"
:key=
"item.brandId"
:label=
"item.brandName"
:value=
"item.brandId"
>
</el-option>
</el-select>
<!-- 商品品类 -->
<div
class=
"fl goods-cate"
v-if=
"ruleForm.strategyRelationType == 3
"
>
<div
v-if=
"item.channelRelationProType == 3"
class=
"fl goods-cate
"
>
<goodsCate
ref=
"selectGoodsCate"
:selectCateType=
"selectCateTypeWx"
:selectCateData=
"selectCateDataWx"
@
getCateIds=
"getCateIds"
></goodsCate>
</div>
<el-button
style=
"width:217px"
class=
"fl"
v-if=
"ruleForm.strategyRelationType == 4"
@
click
.
stop
.
prevent=
"showGoodsDialog('wx')"
>
已选
{{
goodsListWx
.
length
}}
件商品
</el-button>
</div>
<el-button
style=
"width:202px"
class=
"fl"
v-if=
"item.channelRelationProType == 4"
@
click=
"showGoodsDialog('wx')"
>
已选
{{
goodsListWx
.
length
}}
件商品
</el-button>
</el-form-item>
<el-form-item
label=
"折扣控制"
prop=
"region"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"ruleForm.discountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
<div
class=
"radio-cell margin-20"
>
<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.01"
></el-input-number>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
: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>
</div>
</
template
>
<!-- 微盟渠道-->
<
template
v-if=
"item.channelType == 9"
>
<el-form-item
label=
"微盟渠道"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.status"
>
</el-switch>
</el-form-item>
<div
class=
"form-child margin-20"
v-if=
"item.status == true"
:key=
"index"
>
<el-form-item
label=
"选择店铺"
>
<vue-gic-store-new
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
</el-form-item>
<el-form-item
label=
"微盟商品"
class=
"padding-0"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
>
<el-option
v-for=
"item in wMGoodOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"折扣控制"
prop=
"region"
class=
"input-margin-b"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"ruleForm.d
iscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
v-model=
"ruleForm.d
iscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"0.01"
></el-input-number>
<el-radio
v-model=
"item.integralUseD
iscountControl"
label=
"2"
>
折扣
</el-radio>
<el-input-number
v-model=
"item.integralUseD
iscountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"0.01"
></el-input-number>
<label>
至
</label>
<el-input-number
v-model=
"ruleForm.d
iscountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"0.01"
></el-input-number>
<el-input-number
v-model=
"item.integralUseD
iscountControlUpper"
: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>
</div>
</
template
>
</template>
<el-form-item
label=
"折扣"
prop=
""
class=
"margin-20"
>
<el-input
@
focus=
"inputFocus('discountRate')"
@
change=
"formatInputChange($event)"
v-model=
"ruleForm.discountRate"
></el-input>
折
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00
</span>
...
...
@@ -82,7 +116,7 @@ import goodsCate from 'components/memberShip/goodsCate';
import
strLength
from
'@/common/js/strlen'
;
import
showMsg
from
'@/common/js/showmsg'
;
import
errMsg
from
'@/common/js/error'
;
import
{
getRequest
,
postRequest
}
from
'@/api/api'
;
import
{
getRequest
,
postRequest
,
postJson
}
from
'@/api/api'
;
import
{
log
}
from
'@/utils/index.js'
;
export
default
{
...
...
@@ -144,6 +178,30 @@ export default {
value
:
'4'
}
],
// 微盟渠道
wMShopOption
:
[
{
label
:
'所有店铺'
,
// 就是所有门店
value
:
'1'
}
],
wMGoodOption
:
[
{
label
:
'所有商品'
,
value
:
'1'
}
],
// 商品品牌
goodsTreeOptionsWx
:
[],
valueWx
:
[],
goodsTreeOptionsLine
:
[],
valueLine
:
[],
// 门店 新
uuid
:
''
,
// 新增传空,编辑必传,
options
:
[
0
,
1
,
2
,
3
,
4
,
5
],
// 0 全部 1 门店类型 2门店标签 3 门店区域 4 门店分组 5 部分门店
isAdd
:
true
,
scencs
:
'integral'
,
wmuuid
:
''
,
// 微盟
ruleForm
:
{
// 积分获取规则
gradeStrategyId
:
''
,
//策略id
...
...
@@ -158,7 +216,32 @@ export default {
gradeStrategyGoodsRelationIds
:
[],
// 策略关联商品信息id
cliqueEnterpriseIds
:
[],
// 策略关联商户信息
relationCount
:
'0'
,
enterpriseMS
:
null
enterpriseMS
:
null
,
perpetualFlag
:
1
,
gradeStrategyChannelList
:
[
{
gradeStrategyChannelId
:
''
,
//id
channelType
:
'1'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
status
:
true
,
//渠道配置是否启用 1启用 0停用
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper
:
'0.0'
,
integralUseDiscountControlLower
:
'0.0'
,
strategyGoodsRelationIdArr
:
[],
// 商品
},
{
gradeStrategyChannelId
:
''
,
//id
channelType
:
'9'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
status
:
true
,
//渠道配置是否启用 1启用 0停用
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper
:
'0.0'
,
integralUseDiscountControlLower
:
'0.0'
,
strategyGoodsRelationIdArr
:
[],
// 商品
}
]
},
// 商品品类
...
...
@@ -211,6 +294,59 @@ export default {
this
.
$router
.
push
(
'/addGroupGrade'
);
}
},
async
checkListValue
(
data
)
{
let
obj
=
{
flag
:
true
,
text
:
''
};
if
(
!!
data
.
gradeStrategyChannelList
.
length
)
{
for
(
let
i
=
0
;
i
<
data
.
gradeStrategyChannelList
.
length
;
i
++
)
{
if
(
!!
data
.
gradeStrategyChannelList
[
i
].
status
)
{
if
(
!!
data
.
gradeStrategyChannelList
[
i
].
status
&&
data
.
gradeStrategyChannelList
[
i
].
integralUseDiscountControl
==
2
)
{
if
(
!
data
.
gradeStrategyChannelList
[
i
].
integralUseDiscountControlUpper
||
!
data
.
gradeStrategyChannelList
[
i
].
integralUseDiscountControlLower
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请填写折扣'
;
}
if
(
parseInt
(
data
.
gradeStrategyChannelList
[
i
].
integralUseDiscountControlUpper
)
>
10
||
parseInt
(
data
.
gradeStrategyChannelList
[
i
].
integralUseDiscountControlLower
)
>
10
||
Number
(
data
.
gradeStrategyChannelList
[
i
].
integralUseDiscountControlUpper
)
<=
Number
(
data
.
gradeStrategyChannelList
[
i
].
integralUseDiscountControlLower
))
{
obj
.
flag
=
false
;
obj
.
text
=
'折扣格式有误'
;
}
}
if
(
data
.
gradeStrategyChannelList
[
i
].
channelType
==
1
&&
!
data
.
gradeStrategyChannelList
[
i
].
cliqueEnterpriseIdArr
.
length
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请选择商户'
;
}
if
(
data
.
gradeStrategyChannelList
[
i
].
channelType
==
3
)
{
const
storeGroupDom
=
this
.
$refs
.
storeGroup
;
let
flag
=
null
;
if
(
storeGroupDom
instanceof
Array
)
{
flag
=
await
this
.
$refs
.
storeGroup
[
0
].
isStoreSave
();
}
else
{
flag
=
await
this
.
$refs
.
storeGroup
.
isStoreSave
();
}
if
(
!
flag
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请选择门店'
;
}
}
if
(
data
.
gradeStrategyChannelList
[
i
].
channelType
==
9
)
{
const
storeGroupDom
=
this
.
$refs
.
wmstoreGroup
;
let
flag
=
null
;
if
(
storeGroupDom
instanceof
Array
)
{
flag
=
await
this
.
$refs
.
wmstoreGroup
[
0
].
isStoreSave
();
}
else
{
flag
=
await
this
.
$refs
.
wmstoreGroup
.
isStoreSave
();
}
if
(
!
flag
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请选择门店'
;
}
}
}
}
}
return
obj
;
},
// 获取商户列表
getCliqueInfo
()
{
let
that
=
this
;
...
...
@@ -226,7 +362,7 @@ export default {
});
that
.
mechantOption
=
data
;
// 默认选择商户
that
.
ruleForm
.
channelList
[
0
].
enterpriseRelation
IdArr
=
[
data
[
0
].
enterpriseId
];
// that.ruleForm.gradeStrategyChannelList[0].cliqueEnterprise
IdArr = [data[0].enterpriseId];
return
;
}
errMsg
.
errorMsg
(
resData
);
...
...
@@ -235,6 +371,40 @@ export default {
// log(error);
});
},
// 获取商品品牌 1
getGoodsBrand
()
{
let
that
=
this
;
let
para
=
{};
getRequest
(
'/api-mall/list-enterprise-brand'
,
para
)
.
then
(
res
=>
{
// log(res.data.result)
let
resData
=
res
.
data
;
if
(
resData
.
errorCode
==
0
)
{
let
data
=
resData
.
result
;
that
.
goodsTreeOptionsWx
=
data
;
that
.
goodsTreeOptionsLine
=
data
;
}
errMsg
.
errorMsg
(
resData
);
})
.
catch
(
function
(
error
)
{
that
.
$message
.
error
({
duration
:
1000
,
message
:
error
.
message
});
});
},
// 选择商品品牌 微信商城
selectGoodsStoreWx
(
val
)
{
this
.
valueWx
=
val
;
this
.
ruleForm
.
gradeStrategyChannelList
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
channelType
==
'1'
)
{
this
.
ruleForm
.
gradeStrategyChannelList
[
index
].
strategyGoodsRelationIdArr
=
[];
val
.
forEach
(
ele
=>
{
this
.
ruleForm
.
gradeStrategyChannelList
[
index
].
strategyGoodsRelationIdArr
.
push
(
ele
);
});
}
});
},
// 保存
submitForm
(
formName
)
{
let
that
=
this
;
...
...
@@ -245,46 +415,88 @@ export default {
showMsg
.
showmsg
(
'请填写策略名称'
,
'error'
);
return
;
}
if
(
data
.
strategyRelationType
==
2
&&
that
.
value5
.
length
<
1
)
{
showMsg
.
showmsg
(
'请选择商品品牌'
,
'error'
);
// if (data.strategyRelationType == 2 && that.value5.length
<
1
)
{
// showMsg.showmsg('请选择商品品牌', 'error');
// return;
// }
// if (data.strategyRelationType == 3 && that.cateDataWx.length
<
1
)
{
// showMsg.showmsg('请选择商品品类', 'error');
// return;
// }
// if (data.strategyRelationType == 4 && that.goodsListWx.length
<
1
)
{
// showMsg.showmsg('请选择单件商品', 'error');
// return;
// }
// if (!data.cliqueEnterpriseIds.length) {
// showMsg.showmsg('请选择商户', 'error');
// return;
// }
// 扣控制中的折扣率判断
// if (data.discountControl == 2) {
// let flagA = Number(data.discountControlUpper)
<=
Number
(
data
.
discountControlLower
);
// if (!data.discountControlUpper || !data.discountControlLower) {
// that.$message.error('折扣控制中的折扣不能为空');
// return;
// }
// if (flagA) {
// that.$message.error('折扣控制中的折扣格式有误');
// return;
// }
// }
if
(
data
.
discountRate
==
''
)
{
showMsg
.
showmsg
(
'请填写折扣'
,
'error'
);
return
;
}
if
(
data
.
strategyRelationType
==
3
&&
that
.
cateDataWx
.
length
<
1
)
{
showMsg
.
showmsg
(
'请选择商品品类'
,
'error'
);
}
else
if
(
data
.
discountRate
<
0.01
)
{
showMsg
.
showmsg
(
'折扣不能为0哦'
,
'error'
);
return
;
}
if
(
data
.
strategyRelationType
==
4
&&
that
.
goodsListWx
.
length
<
1
)
{
showMsg
.
showmsg
(
'请选择单件商品'
,
'error'
);
that
.
checkListValue
(
data
).
then
(
res
=>
{
if
(
!
res
.
flag
)
{
showMsg
.
showmsg
(
res
.
text
,
'error'
);
return
;
}
else
{
// 设置开启状态 1-->true
data
.
gradeStrategyChannelList
.
forEach
(
function
(
ele
,
index
)
{
ele
.
status
=
ele
.
status
==
true
?
1
:
0
;
if
(
ele
.
channelType
==
1
)
{
ele
.
strategyGoodsRelationIdArr
=
ele
.
goodsRelationIdArr
;
delete
ele
.
goodsRelationIdArr
;
}
if
(
!
data
.
cliqueEnterpriseIds
.
length
)
{
showMsg
.
showmsg
(
'请选择商户'
,
'error'
);
return
;
if
(
ele
.
channelType
==
'9'
)
{
ele
.
storeControlId
=
that
.
wmuuid
;
}
// 扣控制中的折扣率判断
if
(
data
.
discountControl
==
2
)
{
let
flagA
=
Number
(
data
.
discountControlUpper
)
<=
Number
(
data
.
discountControlLower
);
if
(
!
data
.
discountControlUpper
||
!
data
.
discountControlLower
)
{
that
.
$message
.
error
(
'折扣控制中的折扣不能为空'
);
return
;
});
let
saveBool
=
true
;
data
.
gradeStrategyChannelList
.
forEach
(
item
=>
{
if
(
item
.
channelType
==
1
&&
item
.
status
==
1
)
{
// 微信商城
// 适用商品
if
(
item
.
channelRelationProType
==
2
&&
this
.
valueWx
.
length
<
1
)
{
// 商品品牌
showMsg
.
showmsg
(
'请选择商品品牌'
,
'error'
);
return
(
saveBool
=
false
);
}
if
(
flagA
)
{
that
.
$message
.
error
(
'折扣控制中的折扣格式有误'
);
return
;
if
(
item
.
channelRelationProType
==
3
&&
this
.
cateDataWx
.
length
<
1
)
{
// 商品品类
showMsg
.
showmsg
(
'请选择商品品类'
,
'error'
);
return
(
saveBool
=
false
);
}
if
(
item
.
channelRelationProType
==
4
&&
this
.
goodsListWx
.
length
<
1
)
{
// 单件商品
showMsg
.
showmsg
(
'请选择单件商品'
,
'error'
);
return
(
saveBool
=
false
);
}
if
(
data
.
discountRate
==
''
)
{
showMsg
.
showmsg
(
'请填写折扣'
,
'error'
);
return
;
}
else
if
(
data
.
discountRate
<
0.01
)
{
showMsg
.
showmsg
(
'折扣不能为0哦'
,
'error'
);
return
;
}
});
data
.
discountControlUpper
=
data
.
discountControlUpper
||
'0'
;
data
.
discountControlLower
=
data
.
discountControlLower
||
'0'
;
data
.
cliqueEnterpriseIds
=
data
.
cliqueEnterpriseIds
.
join
(
','
);
data
.
gradeStrategyGoodsRelationIds
=
data
.
gradeStrategyGoodsRelationIds
.
join
(
','
);
data
.
cliqueEnterpriseIds
=
data
.
cliqueEnterpriseIds
&&
data
.
cliqueEnterpriseIds
.
length
&&
data
.
cliqueEnterpriseIds
.
join
(
','
);
data
.
gradeStrategyGoodsRelationIds
=
data
.
gradeStrategyGoodsRelationIds
&&
data
.
gradeStrategyGoodsRelationIds
.
length
&&
data
.
gradeStrategyGoodsRelationIds
.
join
(
','
);
if
(
saveBool
)
{
that
.
saveInfo
(
data
);
}
}
})
}
else
{
log
(
'error submit!!'
);
return
false
;
...
...
@@ -295,7 +507,7 @@ export default {
saveInfo
(
form
)
{
let
that
=
this
;
let
para
=
form
;
post
Request
(
'/api-admin/save-member-grade-strategy'
,
para
)
post
Json
(
'/api-admin/save-member-grade-strategy'
,
para
)
.
then
(
res
=>
{
// log(res.data.result)
let
resData
=
res
.
data
;
...
...
@@ -361,28 +573,6 @@ export default {
changeRoute
(
route
)
{
this
.
$router
.
push
(
route
);
},
// 获取商品品牌 1
getGoodsBrand
()
{
let
that
=
this
;
let
para
=
{};
getRequest
(
'/api-mall/list-enterprise-brand'
,
para
)
.
then
(
res
=>
{
// log(res.data.result)
let
resData
=
res
.
data
;
if
(
resData
.
errorCode
==
0
)
{
let
data
=
resData
.
result
;
that
.
goodsTreeOptions
=
data
;
return
;
}
errMsg
.
errorMsg
(
resData
);
})
.
catch
(
function
(
error
)
{
that
.
$message
.
error
({
duration
:
1000
,
message
:
error
.
message
});
});
},
// 选择商品品牌
selectGoodsStore
(
val
)
{
this
.
value5
=
val
;
...
...
@@ -418,21 +608,45 @@ export default {
// 商品品类
getCateIds
(
val
)
{
// 获取数据
// log(val);
if
(
val
.
selectCateType
==
'wx'
)
{
this
.
ruleForm
.
gradeStrategyGoodsRelationIds
=
[];
this
.
cateDataWx
=
[];
this
.
ruleForm
.
gradeStrategyChannelList
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
channelType
==
'1'
)
{
this
.
ruleForm
.
gradeStrategyChannelList
[
index
].
strategyGoodsRelationIdArr
=
[];
val
.
cateIdsList
.
forEach
(
ele
=>
{
this
.
ruleForm
.
gradeStrategyGoodsRelationIds
.
push
(
ele
);
this
.
ruleForm
.
gradeStrategyChannelList
[
index
].
strategyGoodsRelationIdArr
.
push
(
ele
);
this
.
cateDataWx
.
push
(
ele
);
});
}
});
}
else
if
(
val
.
selectCateType
==
'line'
)
{
this
.
ruleForm
.
gradeStrategyChannelList
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
channelType
==
'3'
)
{
this
.
ruleForm
.
gradeStrategyChannelList
[
index
].
strategyGoodsRelationIdArr
=
[];
val
.
cateIdsList
.
forEach
(
ele
=>
{
this
.
ruleForm
.
gradeStrategyChannelList
[
index
].
strategyGoodsRelationIdArr
.
push
(
ele
);
this
.
cateDataLine
.
push
(
ele
);
});
}
});
}
},
selectGoodsCateHide
()
{
// 调用子组件 商品品类组件的函数
if
(
this
.
ruleForm
.
strategyRelationType
==
3
)
{
if
(
this
.
ruleForm
.
gradeStrategyChannelList
.
length
>
0
)
{
this
.
ruleForm
.
gradeStrategyChannelList
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
channelType
==
'1'
&&
item
.
channelRelationProType
==
3
)
{
// 微信商城
if
(
this
.
$refs
.
selectGoodsCate
instanceof
Array
)
{
this
.
$refs
.
selectGoodsCate
[
0
].
hideDragClick
();
}
else
{
this
.
$refs
.
selectGoodsCate
.
hideDragClick
();
}
}
});
}
},
},
components
:
{
...
...
src/view/companyGroup/membershipSystem/addIntegralSytem.vue
View file @
b6cc33e0
...
...
@@ -24,7 +24,10 @@
<!-- 只获取微信的 -->
<template
v-for=
"(item, index) in ruleForm.channelList"
>
<template
v-if=
"item.channelType == 1"
>
<div
class=
"form-child margin-20"
:key=
"index"
>
<el-form-item
label=
"适用微信商城"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
</el-form-item>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus"
:key=
"index"
>
<el-form-item
label=
"选择商户"
>
<el-select
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
size=
"small"
>
<el-option
v-for=
"item in mechantOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
...
...
@@ -60,6 +63,35 @@
</el-form-item>
</div>
</
template
>
<!-- 微盟渠道-->
<
template
v-if=
"item.channelType == 9"
>
<el-form-item
label=
"微盟渠道"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
</el-form-item>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<el-form-item
label=
"选择店铺"
>
<vue-gic-store-new
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
</el-form-item>
<el-form-item
label=
"微盟商品"
class=
"padding-0"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
>
<el-option
v-for=
"item in wMGoodOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"折扣控制"
prop=
"region"
class=
"input-margin-b"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
<div
class=
"radio-cell margin-20"
>
<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.01"
></el-input-number>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
: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>
</div>
</
template
>
</template>
<el-form-item
label=
"抵现规则"
prop=
""
class=
"margin-20"
>
...
...
@@ -183,6 +215,25 @@ export default {
// value: '4',
// },
],
// 微盟渠道
wMShopOption
:
[
{
label
:
'所有店铺'
,
// 就是所有门店
value
:
'1'
}
],
wMGoodOption
:
[
{
label
:
'所有商品'
,
value
:
'1'
}
],
// 门店 新
uuid
:
''
,
// 新增传空,编辑必传,
options
:
[
0
,
1
,
2
,
3
,
4
,
5
],
// 0 全部 1 门店类型 2门店标签 3 门店区域 4 门店分组 5 部分门店
isAdd
:
true
,
scencs
:
'integral'
,
wmuuid
:
''
,
// 微盟
ruleForm
:
{
// 积分获取规则
integralStrategyId
:
''
,
//策略id
...
...
@@ -198,13 +249,32 @@ export default {
integralGetEffectiveDays
:
1
,
// 获取积分有效天
integralUseStatus
:
'0'
,
// 积分抵现开启 1是0否
integralUse
:
{
fee
:
''
,
integral
:
''
},
// 积分抵现 {fee:5,integral:5}
perpetualFlag
:
1
,
channelList
:
[
{
integralStrategyChannelId
:
''
,
//id
enterpriseId
:
''
,
integralStrategyId
:
''
,
//策略id
channelType
:
'1'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
openStatus
:
1
,
//渠道配置是否启用 1启用 0停用
openStatus
:
true
,
//渠道配置是否启用 1启用 0停用
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper
:
'0.0'
,
integralUseDiscountControlLower
:
'0.0'
,
useProportionalRestriction
:
'0.0'
,
// 抵现比例限制
strategyGoodsRelationIdArr
:
[],
// 商品
storeRelationIdArr
:
[],
//门店
enterpriseRelationIdArr
:
[]
//商户
},
{
integralStrategyChannelId
:
''
,
//id
enterpriseId
:
''
,
integralStrategyId
:
''
,
//策略id
channelType
:
'9'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
openStatus
:
true
,
//渠道配置是否启用 1启用 0停用
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
...
...
@@ -275,6 +345,59 @@ export default {
goBack
()
{
this
.
$router
.
go
(
-
1
);
},
async
checkListValue
(
data
)
{
let
obj
=
{
flag
:
true
,
text
:
''
};
if
(
!!
data
.
channelList
.
length
)
{
for
(
let
i
=
0
;
i
<
data
.
channelList
.
length
;
i
++
)
{
if
(
!!
data
.
channelList
[
i
].
openStatus
)
{
if
(
!!
data
.
channelList
[
i
].
openStatus
&&
data
.
channelList
[
i
].
integralUseDiscountControl
==
2
)
{
if
(
!
data
.
channelList
[
i
].
integralUseDiscountControlUpper
||
!
data
.
channelList
[
i
].
integralUseDiscountControlLower
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请填写折扣'
;
}
if
(
parseInt
(
data
.
channelList
[
i
].
integralUseDiscountControlUpper
)
>
10
||
parseInt
(
data
.
channelList
[
i
].
integralUseDiscountControlLower
)
>
10
||
Number
(
data
.
channelList
[
i
].
integralUseDiscountControlUpper
)
<=
Number
(
data
.
channelList
[
i
].
integralUseDiscountControlLower
))
{
obj
.
flag
=
false
;
obj
.
text
=
'折扣格式有误'
;
}
}
if
(
data
.
channelList
[
i
].
channelType
==
1
&&
!
data
.
channelList
[
i
].
enterpriseRelationIdArr
.
length
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请选择商户'
;
}
if
(
data
.
channelList
[
i
].
channelType
==
3
)
{
const
storeGroupDom
=
this
.
$refs
.
storeGroup
;
let
flag
=
null
;
if
(
storeGroupDom
instanceof
Array
)
{
flag
=
await
this
.
$refs
.
storeGroup
[
0
].
isStoreSave
();
}
else
{
flag
=
await
this
.
$refs
.
storeGroup
.
isStoreSave
();
}
if
(
!
flag
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请选择门店'
;
}
}
if
(
data
.
channelList
[
i
].
channelType
==
9
)
{
const
storeGroupDom
=
this
.
$refs
.
wmstoreGroup
;
let
flag
=
null
;
if
(
storeGroupDom
instanceof
Array
)
{
flag
=
await
this
.
$refs
.
wmstoreGroup
[
0
].
isStoreSave
();
}
else
{
flag
=
await
this
.
$refs
.
wmstoreGroup
.
isStoreSave
();
}
if
(
!
flag
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请选择门店'
;
}
}
}
}
}
return
obj
;
},
// 保存
submitForm
(
formName
)
{
let
that
=
this
;
...
...
@@ -287,22 +410,22 @@ export default {
showMsg
.
showmsg
(
'请填写策略名称'
,
'error'
);
return
;
}
if
(
!
data
.
channelList
[
0
].
enterpriseRelationIdArr
.
length
)
{
showMsg
.
showmsg
(
'请选择商户'
,
'error'
);
return
;
}
if
(
data
.
channelList
[
0
].
integralUseDiscountControl
==
2
)
{
let
flagA
=
Number
(
data
.
channelList
[
0
].
integralUseDiscountControlLower
)
>=
Number
(
data
.
channelList
[
0
].
integralUseDiscountControlUpper
);
if
(
!
data
.
channelList
[
0
].
integralUseDiscountControlLower
||
!
data
.
channelList
[
0
].
integralUseDiscountControlUpper
)
{
that
.
$message
.
error
(
'折扣控制中的折扣不能为空'
);
return
;
}
if
(
flagA
)
{
that
.
$message
.
error
(
'折扣控制中的折扣格式有误'
);
return
;
}
}
//
if (!data.channelList[0].enterpriseRelationIdArr.length) {
//
showMsg.showmsg('请选择商户', 'error');
//
return;
//
}
//
if (data.channelList[0].integralUseDiscountControl == 2) {
//
let flagA = Number(data.channelList[0].integralUseDiscountControlLower) >= Number(data.channelList[0].integralUseDiscountControlUpper);
//
if (!data.channelList[0].integralUseDiscountControlLower || !data.channelList[0].integralUseDiscountControlUpper) {
//
that.$message.error('折扣控制中的折扣不能为空');
//
return;
//
}
//
if (flagA) {
//
that.$message.error('折扣控制中的折扣格式有误');
//
return;
//
}
//
}
let
flag
=
!
data
.
integralUse
.
fee
||
String
(
data
.
integralUse
.
integral
)
==
''
;
if
(
data
.
integralUseStatus
==
1
&&
flag
)
{
that
.
$message
.
error
(
'请填写抵现规则'
);
...
...
@@ -319,18 +442,43 @@ export default {
}
}
if
(
!
data
.
channelList
[
0
].
useProportionalRestriction
)
{
showMsg
.
showmsg
(
'请填写比例限制'
,
'error'
);
// if (!data.channelList[0].useProportionalRestriction) {
// showMsg.showmsg('请填写比例限制', 'error');
// return;
// } else {
// if (data.channelList[0].useProportionalRestriction > 100) {
// showMsg.showmsg('比例限制不能大于100', 'error');
// return;
// }
// }
that
.
checkListValue
(
data
).
then
(
res
=>
{
if
(
!
res
.
flag
)
{
showMsg
.
showmsg
(
res
.
text
,
'error'
);
return
;
}
else
{
if
(
data
.
channelList
[
0
].
useProportionalRestriction
>
100
)
{
showMsg
.
showmsg
(
'比例限制不能大于100'
,
'error'
);
return
;
// 设置开启状态 1-->true
data
.
channelList
.
forEach
(
function
(
ele
,
index
)
{
ele
.
openStatus
=
ele
.
openStatus
==
true
?
1
:
0
;
if
(
ele
.
channelType
==
1
)
{
ele
.
strategyGoodsRelationIdArr
=
ele
.
goodsRelationIdArr
;
delete
ele
.
goodsRelationIdArr
;
}
if
(
!
ele
.
enterpriseRelationIdArr
||
!
ele
.
enterpriseRelationIdArr
.
length
)
{
ele
.
enterpriseRelationIdArr
=
[];
}
if
(
!
ele
.
storeRelationIdArr
||
!
ele
.
storeRelationIdArr
.
length
)
{
ele
.
storeRelationIdArr
=
[];
}
if
(
!
ele
.
strategyGoodsRelationIdArr
||
!
ele
.
strategyGoodsRelationIdArr
.
length
)
{
ele
.
strategyGoodsRelationIdArr
=
[];
}
if
(
ele
.
channelType
==
'9'
)
{
ele
.
storeControlId
=
that
.
wmuuid
;
}
});
let
saveBool
=
true
;
data
.
channelList
.
forEach
(
item
=>
{
if
(
item
.
channelType
==
1
)
{
if
(
item
.
channelType
==
1
&&
item
.
openStatus
==
1
)
{
// 微信商城
// 适用商品
if
(
item
.
channelRelationProType
==
2
&&
this
.
valueWx
.
length
<
1
)
{
...
...
@@ -360,15 +508,17 @@ export default {
// data.integralUse.fee = data.integralUse.fee;
// data.integralUse.integral = data.integralUse.integral;
data
.
integralUse
=
JSON
.
stringify
(
data
.
integralUse
);
if
(
data
.
channelList
)
{
data
.
channelList
.
forEach
(
function
(
ele
,
index
)
{
ele
.
openStatus
=
1
;
});
}
//
if (data.channelList) {
//
data.channelList.forEach(function(ele, index) {
//
ele.openStatus = 1;
//
});
//
}
if
(
saveBool
)
{
that
.
saveForm
(
data
);
}
}
})
}
else
{
log
(
'error submit!!'
);
return
false
;
...
...
@@ -794,6 +944,7 @@ export default {
width
:
100%
;
padding
:
15px
20px
10px
0px
;
background
:
#f5f6f9
;
margin
:
22px
0
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
...
...
src/view/companyGroup/membershipSystem/addPointSystem.vue
View file @
b6cc33e0
...
...
@@ -90,9 +90,7 @@
</el-form-item>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<el-form-item
label=
"选择店铺"
>
<el-select
v-model=
"item.channelRelationStoreType"
placeholder=
"请选择"
>
<el-option
v-for=
"item in wMShopOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
<vue-gic-store-new
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
</el-form-item>
<el-form-item
label=
"微盟商品"
class=
"padding-0"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
>
...
...
@@ -353,6 +351,7 @@ export default {
integralGetEffectiveDays
:
1
,
// 获取积分有效天
integralUseStatus
:
'0'
,
// 积分抵现开启 1是0否
integralUse
:
null
,
// 积分抵现 {fee:5,integral:5}
perpetualFlag
:
1
,
channelList
:
[
{
integralStrategyChannelId
:
''
,
//id
...
...
@@ -448,6 +447,7 @@ export default {
options
:
[
0
,
1
,
2
,
3
,
4
,
5
],
// 0 全部 1 门店类型 2门店标签 3 门店区域 4 门店分组 5 部分门店
isAdd
:
true
,
scencs
:
'integral'
,
wmuuid
:
''
,
// 微盟
/* 人群筛选器 */
dialogVisiblePeople
:
false
,
...
...
@@ -523,6 +523,19 @@ export default {
obj
.
text
=
'请选择门店'
;
}
}
if
(
data
.
channelList
[
i
].
channelType
==
9
)
{
const
storeGroupDom
=
this
.
$refs
.
wmstoreGroup
;
let
flag
=
null
;
if
(
storeGroupDom
instanceof
Array
)
{
flag
=
await
this
.
$refs
.
wmstoreGroup
[
0
].
isStoreSave
();
}
else
{
flag
=
await
this
.
$refs
.
wmstoreGroup
.
isStoreSave
();
}
if
(
!
flag
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请选择门店'
;
}
}
}
}
}
...
...
@@ -595,6 +608,9 @@ export default {
ele
.
channelStoreType
=
'-1'
;
ele
.
storeControlId
=
that
.
uuid
;
}
if
(
ele
.
channelType
==
'9'
)
{
ele
.
storeControlId
=
that
.
wmuuid
;
}
});
data
.
integralGet
.
fee
=
parseInt
(
data
.
integralGet
.
fee
*
10
);
data
.
integralGet
.
integral
=
parseInt
(
data
.
integralGet
.
integral
*
10
);
...
...
@@ -1092,6 +1108,7 @@ export default {
.form-child
{
padding
:
15px
20px
10px
0px
;
background
:
#f5f6f9
;
margin
:
22px
0
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
...
...
src/view/companyGroup/membershipSystem/editGroupCate.vue
View file @
b6cc33e0
...
...
@@ -13,44 +13,77 @@
<el-form-item
label=
"适用条件"
class=
"padding-0"
>
<div
class=
"title-tip"
>
该设置只对微信商城中的积分抵现起作用。
</div>
</el-form-item>
<div
class=
"form-child margin-20"
>
<template
v-for=
"(item, index) in ruleForm.gradeStrategyChannelList"
>
<template
v-if=
"item.channelType == 1"
>
<el-form-item
label=
"适用微信商城"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.status"
>
</el-switch>
</el-form-item>
<div
class=
"form-child margin-20"
v-if=
"item.status"
:key=
"index"
>
<el-form-item
label=
"选择商户"
>
<el-select
v-model=
"ruleForm.cliqueEnterpriseIds"
placeholder=
"请选择"
multiple
>
<el-option
v-for=
"item in mechantOption"
:key=
"item.enterpriseId"
:label=
"item.brandName"
:value=
"item.enterpriseId
"
>
</el-option>
<el-select
v-model=
"item.cliqueEnterpriseIdArr"
placeholder=
"请选择"
multiple
size=
"small"
>
<el-option
v-for=
"item in mechantOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value
"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"适用商品"
class=
"padding-0"
>
<div>
<el-select
class=
"fl"
style=
"margin-right: 10px;"
v-model=
"ruleForm.strategyRelationType"
placeholder=
"请选择"
@
change=
"changeGood($event)"
>
<el-select
class=
"fl"
style=
"margin-right: 10px;"
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
>
<el-option
v-for=
"item in applyGoods"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
<!-- 二级 -->
<!-- 商品品牌 -->
<el-select
class=
"fl"
@
change=
"selectGoodsStore"
v-if=
"ruleForm.strategyRelationType == 2"
v-model=
"value5
"
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"item in goodsTreeOptions
"
:key=
"item.brandId"
:label=
"item.brandName"
:value=
"item.brandId"
>
</el-option>
<el-select
size=
"small"
class=
"fl"
@
change=
"selectGoodsStoreWx"
v-if=
"item.channelRelationProType == 2"
v-model=
"valueWx
"
multiple
placeholder=
"请选择"
>
<el-option
v-for=
"item in goodsTreeOptionsWx
"
:key=
"item.brandId"
:label=
"item.brandName"
:value=
"item.brandId"
>
</el-option>
</el-select>
<!-- 商品品类 -->
<div
class=
"fl goods-cate"
v-if=
"ruleForm.strategyRelationType == 3
"
>
<div
v-if=
"item.channelRelationProType == 3"
class=
"fl goods-cate
"
>
<goodsCate
ref=
"selectGoodsCate"
:selectCateType=
"selectCateTypeWx"
:selectCateData=
"selectCateDataWx"
@
getCateIds=
"getCateIds"
></goodsCate>
</div>
<el-button
style=
"width:217px"
class=
"fl"
v-if=
"ruleForm.strategyRelationType == 4"
@
click
.
stop
.
prevent=
"showGoodsDialog('wx')"
>
已选
{{
goodsListWx
.
length
}}
件商品
</el-button>
</div>
<el-button
style=
"width:202px"
class=
"fl"
v-if=
"item.channelRelationProType == 4"
@
click=
"showGoodsDialog('wx')"
>
已选
{{
goodsListWx
.
length
}}
件商品
</el-button>
</el-form-item>
<el-form-item
label=
"折扣控制"
prop=
"region"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"ruleForm.discountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
<div
class=
"radio-cell margin-20"
>
<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.01"
></el-input-number>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
: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>
</div>
</
template
>
<!-- 微盟渠道-->
<
template
v-if=
"item.channelType == 9"
>
<el-form-item
label=
"微盟渠道"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.status"
>
</el-switch>
</el-form-item>
<div
class=
"form-child margin-20"
v-if=
"item.status == true"
:key=
"index"
>
<el-form-item
label=
"选择店铺"
>
<vue-gic-store-new
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
</el-form-item>
<el-form-item
label=
"微盟商品"
class=
"padding-0"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
>
<el-option
v-for=
"item in wMGoodOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"折扣控制"
prop=
"region"
class=
"input-margin-b"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
<div
class=
"radio-cell margin-20"
>
<el-radio
v-model=
"ruleForm.discountControl"
label=
"2"
>
折扣
</el-radio>
<!--
<el-input
@
change=
"formatInputChange($event)"
v-model=
"ruleForm.discountControlLower"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.discountControlLower"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"0.01"
></el-input-number>
<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.01"
></el-input-number>
<label>
至
</label>
<!--
<el-input
@
change=
"formatInputChange($event)"
v-model=
"ruleForm.discountControlUpper"
></el-input>
-->
<el-input-number
v-model=
"ruleForm.discountControlUpper"
:precision=
"2"
:controls=
"false"
:max=
"10.0"
:min=
"0.01"
></el-input-number>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
: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>
</div>
</
template
>
</template>
<el-form-item
label=
"折扣"
prop=
"discountRate"
class=
"margin-20"
>
<el-input
@
focus=
"inputFocus('discountRate')"
@
change=
"formatInputChange($event)"
v-model=
"ruleForm.discountRate"
></el-input>
折
<span
style=
"font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;"
>
注意:折扣范围0.01-10.00
</span>
...
...
@@ -82,7 +115,7 @@ import goodsCate from 'components/memberShip/goodsCate';
import
strLength
from
'@/common/js/strlen'
;
import
showMsg
from
'@/common/js/showmsg'
;
import
errMsg
from
'@/common/js/error'
;
import
{
getRequest
,
postRequest
}
from
'@/api/api'
;
import
{
getRequest
,
postRequest
,
postJson
}
from
'@/api/api'
;
import
{
log
}
from
'@/utils/index.js'
;
export
default
{
name
:
'editGroupCate'
,
...
...
@@ -158,6 +191,30 @@ export default {
value
:
'4'
}
],
// 微盟渠道
wMShopOption
:
[
{
label
:
'所有店铺'
,
// 就是所有门店
value
:
'1'
}
],
wMGoodOption
:
[
{
label
:
'所有商品'
,
value
:
'1'
}
],
// 商品品牌
goodsTreeOptionsWx
:
[],
valueWx
:
[],
goodsTreeOptionsLine
:
[],
valueLine
:
[],
// 门店 新
uuid
:
''
,
// 新增传空,编辑必传,
options
:
[
0
,
1
,
2
,
3
,
4
,
5
],
// 0 全部 1 门店类型 2门店标签 3 门店区域 4 门店分组 5 部分门店
isAdd
:
true
,
scencs
:
'integral'
,
wmuuid
:
''
,
// 微盟
ruleForm
:
{
// 积分获取规则
gradeStrategyId
:
''
,
//策略id
...
...
@@ -173,7 +230,34 @@ export default {
cliqueEnterpriseIds
:
[],
// 策略关联商户信息
relationCount
:
0
,
enterpriseMS
:
null
,
goodsCategoryList
:
[]
goodsCategoryList
:
[],
perpetualFlag
:
1
,
gradeStrategyChannelList
:
[
{
gradeStrategyChannelId
:
''
,
//id
channelType
:
'1'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
status
:
true
,
//渠道配置是否启用 1启用 0停用
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper
:
'0.0'
,
integralUseDiscountControlLower
:
'0.0'
,
strategyGoodsRelationIdArr
:
[],
// 商品
cliqueEnterpriseIdArr
:
[],
},
{
gradeStrategyChannelId
:
''
,
//id
channelType
:
'9'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
status
:
true
,
//渠道配置是否启用 1启用 0停用
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper
:
'0.0'
,
integralUseDiscountControlLower
:
'0.0'
,
strategyGoodsRelationIdArr
:
[],
// 商品
cliqueEnterpriseIdArr
:
[],
}
]
},
// 商品品类
...
...
@@ -211,6 +295,93 @@ export default {
goBack
()
{
this
.
$router
.
go
(
-
1
);
},
async
checkListValue
(
data
)
{
let
obj
=
{
flag
:
true
,
text
:
''
};
if
(
!!
data
.
gradeStrategyChannelList
.
length
)
{
for
(
let
i
=
0
;
i
<
data
.
gradeStrategyChannelList
.
length
;
i
++
)
{
if
(
!!
data
.
gradeStrategyChannelList
[
i
].
status
)
{
if
(
!!
data
.
gradeStrategyChannelList
[
i
].
status
&&
data
.
gradeStrategyChannelList
[
i
].
integralUseDiscountControl
==
2
)
{
if
(
!
data
.
gradeStrategyChannelList
[
i
].
integralUseDiscountControlUpper
||
!
data
.
gradeStrategyChannelList
[
i
].
integralUseDiscountControlLower
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请填写折扣'
;
}
if
(
parseInt
(
data
.
gradeStrategyChannelList
[
i
].
integralUseDiscountControlUpper
)
>
10
||
parseInt
(
data
.
gradeStrategyChannelList
[
i
].
integralUseDiscountControlLower
)
>
10
||
Number
(
data
.
gradeStrategyChannelList
[
i
].
integralUseDiscountControlUpper
)
<=
Number
(
data
.
gradeStrategyChannelList
[
i
].
integralUseDiscountControlLower
))
{
obj
.
flag
=
false
;
obj
.
text
=
'折扣格式有误'
;
}
}
if
(
data
.
gradeStrategyChannelList
[
i
].
channelType
==
1
&&
!
data
.
gradeStrategyChannelList
[
i
].
cliqueEnterpriseIdArr
.
length
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请选择商户'
;
}
if
(
data
.
gradeStrategyChannelList
[
i
].
channelType
==
3
)
{
const
storeGroupDom
=
this
.
$refs
.
storeGroup
;
let
flag
=
null
;
if
(
storeGroupDom
instanceof
Array
)
{
flag
=
await
this
.
$refs
.
storeGroup
[
0
].
isStoreSave
();
}
else
{
flag
=
await
this
.
$refs
.
storeGroup
.
isStoreSave
();
}
if
(
!
flag
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请选择门店'
;
}
}
if
(
data
.
gradeStrategyChannelList
[
i
].
channelType
==
9
)
{
const
storeGroupDom
=
this
.
$refs
.
wmstoreGroup
;
let
flag
=
null
;
if
(
storeGroupDom
instanceof
Array
)
{
flag
=
await
this
.
$refs
.
wmstoreGroup
[
0
].
isStoreSave
();
}
else
{
flag
=
await
this
.
$refs
.
wmstoreGroup
.
isStoreSave
();
}
if
(
!
flag
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请选择门店'
;
}
}
}
}
}
return
obj
;
},
// 获取商品品牌 1
getGoodsBrand
()
{
let
that
=
this
;
let
para
=
{};
getRequest
(
'/api-mall/list-enterprise-brand'
,
para
)
.
then
(
res
=>
{
// log(res.data.result)
let
resData
=
res
.
data
;
if
(
resData
.
errorCode
==
0
)
{
let
data
=
resData
.
result
;
that
.
goodsTreeOptionsWx
=
data
;
that
.
goodsTreeOptionsLine
=
data
;
}
errMsg
.
errorMsg
(
resData
);
})
.
catch
(
function
(
error
)
{
that
.
$message
.
error
({
duration
:
1000
,
message
:
error
.
message
});
});
},
// 选择商品品牌 微信商城
selectGoodsStoreWx
(
val
)
{
this
.
valueWx
=
val
;
this
.
ruleForm
.
gradeStrategyChannelList
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
channelType
==
'1'
)
{
this
.
ruleForm
.
gradeStrategyChannelList
[
index
].
strategyGoodsRelationIdArr
=
[];
val
.
forEach
(
ele
=>
{
this
.
ruleForm
.
gradeStrategyChannelList
[
index
].
strategyGoodsRelationIdArr
.
push
(
ele
);
});
}
});
},
// 保存
submitForm
(
formName
)
{
let
that
=
this
;
...
...
@@ -221,22 +392,22 @@ export default {
showMsg
.
showmsg
(
'请填写策略名称'
,
'error'
);
return
;
}
if
(
data
.
strategyRelationType
==
2
&&
that
.
value5
.
length
<
1
)
{
showMsg
.
showmsg
(
'请选择商品品牌'
,
'error'
);
return
;
}
if
(
data
.
strategyRelationType
==
3
&&
that
.
cateDataWx
.
length
<
1
)
{
showMsg
.
showmsg
(
'请选择商品品类'
,
'error'
);
return
;
}
if
(
data
.
strategyRelationType
==
4
&&
that
.
goodsListWx
.
length
<
1
)
{
showMsg
.
showmsg
(
'请选择单件商品'
,
'error'
);
return
;
}
if
(
!
data
.
cliqueEnterpriseIds
.
length
)
{
showMsg
.
showmsg
(
'请选择商户'
,
'error'
);
return
;
}
//
if (data.strategyRelationType == 2 && that.value5.length
<
1
)
{
//
showMsg.showmsg('请选择商品品牌', 'error');
//
return;
//
}
//
if (data.strategyRelationType == 3 && that.cateDataWx.length
<
1
)
{
//
showMsg.showmsg('请选择商品品类', 'error');
//
return;
//
}
//
if (data.strategyRelationType == 4 && that.goodsListWx.length
<
1
)
{
//
showMsg.showmsg('请选择单件商品', 'error');
//
return;
//
}
//
if (!data.cliqueEnterpriseIds.length) {
//
showMsg.showmsg('请选择商户', 'error');
//
return;
//
}
// if (data.discountControl == 2&&(!data.discountControlLower||!data.discountControlUpper)) {
// showMsg.showmsg('请选择折扣控制中的折扣率','error')
...
...
@@ -245,17 +416,17 @@ export default {
// 扣控制中的折扣率判断
if
(
data
.
discountControl
==
2
)
{
let
flagA
=
Number
(
data
.
discountControlUpper
)
<=
Number
(
data
.
discountControlLower
);
if
(
!
data
.
discountControlUpper
||
!
data
.
discountControlLower
)
{
that
.
$message
.
error
(
'折扣控制中的折扣率不能为空'
);
return
;
}
if
(
flagA
)
{
that
.
$message
.
error
(
'折扣控制中的折扣率格式有误'
);
return
;
}
}
//
if (data.discountControl == 2) {
//
let flagA = Number(data.discountControlUpper)
<=
Number
(
data
.
discountControlLower
);
//
if (!data.discountControlUpper || !data.discountControlLower) {
//
that.$message.error('折扣控制中的折扣率不能为空');
//
return;
//
}
//
if (flagA) {
//
that.$message.error('折扣控制中的折扣率格式有误');
//
return;
//
}
//
}
if
(
data
.
discountRate
==
''
)
{
showMsg
.
showmsg
(
'请填写折扣率'
,
'error'
);
return
;
...
...
@@ -263,11 +434,53 @@ export default {
showMsg
.
showmsg
(
'折扣率不能为0哦'
,
'error'
);
return
;
}
that
.
checkListValue
(
data
).
then
(
res
=>
{
if
(
!
res
.
flag
)
{
showMsg
.
showmsg
(
res
.
text
,
'error'
);
return
;
}
else
{
// 设置开启状态 1-->true
data
.
gradeStrategyChannelList
.
forEach
(
function
(
ele
,
index
)
{
ele
.
status
=
ele
.
status
==
true
?
1
:
0
;
if
(
ele
.
channelType
==
1
)
{
ele
.
strategyGoodsRelationIdArr
=
ele
.
goodsRelationIdArr
;
delete
ele
.
goodsRelationIdArr
;
}
if
(
ele
.
channelType
==
'9'
)
{
ele
.
storeControlId
=
that
.
wmuuid
;
}
});
let
saveBool
=
true
;
data
.
gradeStrategyChannelList
.
forEach
(
item
=>
{
if
(
item
.
channelType
==
1
&&
item
.
status
==
1
)
{
// 微信商城
// 适用商品
if
(
item
.
channelRelationProType
==
2
&&
this
.
valueWx
.
length
<
1
)
{
// 商品品牌
showMsg
.
showmsg
(
'请选择商品品牌'
,
'error'
);
return
(
saveBool
=
false
);
}
if
(
item
.
channelRelationProType
==
3
&&
this
.
cateDataWx
.
length
<
1
)
{
// 商品品类
showMsg
.
showmsg
(
'请选择商品品类'
,
'error'
);
return
(
saveBool
=
false
);
}
if
(
item
.
channelRelationProType
==
4
&&
this
.
goodsListWx
.
length
<
1
)
{
// 单件商品
showMsg
.
showmsg
(
'请选择单件商品'
,
'error'
);
return
(
saveBool
=
false
);
}
}
});
data
.
discountControlUpper
=
data
.
discountControlUpper
||
'0'
;
data
.
discountControlLower
=
data
.
discountControlLower
||
'0'
;
data
.
cliqueEnterpriseIds
=
data
.
cliqueEnterpriseIds
.
join
(
','
);
data
.
gradeStrategyGoodsRelationIds
=
data
.
gradeStrategyGoodsRelationIds
.
join
(
','
);
data
.
cliqueEnterpriseIds
=
data
.
cliqueEnterpriseIds
&&
data
.
cliqueEnterpriseIds
.
length
&&
data
.
cliqueEnterpriseIds
.
join
(
','
);
data
.
gradeStrategyGoodsRelationIds
=
data
.
gradeStrategyGoodsRelationIds
&&
data
.
gradeStrategyGoodsRelationIds
.
length
&&
data
.
gradeStrategyGoodsRelationIds
.
join
(
','
);
if
(
saveBool
)
{
that
.
saveInfo
(
data
);
}
}
})
}
else
{
log
(
'error submit!!'
);
return
false
;
...
...
@@ -279,7 +492,7 @@ export default {
saveInfo
(
form
)
{
let
that
=
this
;
let
para
=
form
;
post
Request
(
'/api-admin/save-member-grade-strategy'
,
para
)
post
Json
(
'/api-admin/save-member-grade-strategy'
,
para
)
.
then
(
res
=>
{
let
resData
=
res
.
data
;
if
(
resData
.
errorCode
==
0
)
{
...
...
@@ -416,27 +629,36 @@ export default {
}
else
{
data
.
cliqueEnterpriseIds
=
[];
}
if
(
!!
data
.
gradeStrategyGoodsRelationIds
)
{
data
.
gradeStrategyGoodsRelationIds
=
that
.
bouncer
(
data
.
gradeStrategyGoodsRelationIds
.
split
(
','
));
// 所有商品
if
(
data
.
strategyRelationType
==
1
)
{
data
.
gradeStrategyGoodsRelationIds
=
[];
if
(
data
.
gradeStrategyChannelList
)
{
data
.
gradeStrategyChannelList
.
forEach
(
item
=>
{
if
(
item
.
channelType
==
'1'
)
{
// 微信商城
if
(
item
.
channelRelationProType
==
3
)
{
// 商品品类
if
(
item
.
goodsCategoryList
)
{
item
.
goodsCategoryList
.
forEach
(
item
=>
{
that
.
selectCateDataWx
.
push
(
item
);
});
}
}
if
(
item
.
channelRelationProType
==
4
)
{
// 单件商品
if
(
item
.
strategyGoodsRelationIdArr
)
{
item
.
strategyGoodsRelationIdArr
.
forEach
(
item
=>
{
that
.
goodsListWx
.
push
(
item
);
});
}
}
if
(
item
.
channelRelationProType
==
2
)
{
// 商品品牌
if
(
data
.
strategyRelationType
==
2
)
{
that
.
value5
=
data
.
gradeStrategyGoodsRelationIds
;
if
(
item
.
strategyGoodsRelationIdArr
)
{
item
.
strategyGoodsRelationIdArr
.
forEach
(
item
=>
{
that
.
valueWx
.
push
(
item
);
});
}
// 商品品类
if
(
data
.
strategyRelationType
==
3
)
{
that
.
selectCateDataWx
=
data
.
goodsCategoryList
;
that
.
cateDataWx
=
data
.
gradeStrategyGoodsRelationIds
;
}
// 单件商品
if
(
data
.
strategyRelationType
==
4
)
{
that
.
goodsListWx
=
data
.
gradeStrategyGoodsRelationIds
;
}
}
else
{
data
.
gradeStrategyGoodsRelationIds
=
[];
});
}
data
.
discountRate
=
String
(
data
.
discountRate
);
data
.
calculationMethod
=
String
(
data
.
calculationMethod
);
...
...
@@ -444,7 +666,7 @@ export default {
data
.
discountControlUpper
=
String
(
data
.
discountControlUpper
);
data
.
discountControlLower
=
String
(
data
.
discountControlLower
);
data
.
strategyRelationType
=
String
(
data
.
strategyRelationType
);
that
.
ruleForm
=
data
;
that
.
ruleForm
=
that
.
formatData
(
data
)
;
that
.
ruleForm
.
goodsCategoryList
=
[];
// 字数控制
that
.
cateNameLength
=
strLength
.
getZhLen
(
that
.
ruleForm
.
strategyName
);
...
...
@@ -464,6 +686,41 @@ export default {
});
},
formatData
(
item
)
{
item
.
gradeStrategyChannelList
.
forEach
((
ele
,
index
)
=>
{
ele
.
status
=
ele
.
status
==
0
?
false
:
true
;
ele
.
channelType
=
String
(
ele
.
channelType
);
ele
.
channelStoreType
=
String
(
ele
.
channelStoreType
);
ele
.
channelRelationProType
=
String
(
ele
.
channelRelationProType
);
ele
.
integralUseDiscountControl
=
String
(
ele
.
integralUseDiscountControl
);
ele
.
integralUseDiscountControlUpper
=
String
(
ele
.
integralUseDiscountControlUpper
);
ele
.
integralUseDiscountControlLower
=
String
(
ele
.
integralUseDiscountControlLower
);
if
(
!
ele
.
strategyGoodsRelationIdArr
||
!
ele
.
strategyGoodsRelationIdArr
.
length
)
{
ele
.
strategyGoodsRelationIdArr
=
[];
}
if
(
!
ele
.
cliqueEnterpriseIdArr
||
!
ele
.
cliqueEnterpriseIdArr
.
length
)
{
ele
.
cliqueEnterpriseIdArr
=
[];
}
if
(
ele
.
channelType
==
9
)
{
this
.
wmuuid
=
ele
.
storeControlId
;
this
.
isAdd
=
false
;
}
});
let
bool
=
item
.
gradeStrategyChannelList
.
some
(
item
=>
item
.
channelType
==
9
);
!
bool
&&
item
.
gradeStrategyChannelList
.
push
({
gradeStrategyChannelId
:
''
,
//id
channelType
:
'9'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
status
:
true
,
//渠道配置是否启用 1启用 0停用
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper
:
'0.0'
,
integralUseDiscountControlLower
:
'0.0'
,
strategyGoodsRelationIdArr
:
[],
// 商品
cliqueEnterpriseIdArr
:
[]
//商户
})
return
item
;
},
changeGood
(
e
)
{
// 切换适用商品
if
(
this
.
ruleForm
.
strategyRelationType
==
'1'
)
{
...
...
@@ -471,31 +728,6 @@ export default {
}
},
// 获取商品品牌 1
getGoodsBrand
()
{
let
that
=
this
;
let
para
=
{};
getRequest
(
'/api-mall/list-enterprise-brand'
,
para
)
.
then
(
res
=>
{
// log(res.data.result)
let
resData
=
res
.
data
;
if
(
resData
.
errorCode
==
0
)
{
let
data
=
resData
.
result
;
that
.
goodsTreeOptions
=
data
;
return
;
}
errMsg
.
errorMsg
(
resData
);
})
.
catch
(
function
(
error
)
{
// log(error);
that
.
$message
.
error
({
duration
:
1000
,
message
:
error
.
message
});
});
},
// 选择商品品牌
selectGoodsStore
(
val
)
{
this
.
value5
=
val
;
...
...
@@ -545,10 +777,19 @@ export default {
},
selectGoodsCateHide
()
{
// 调用子组件 商品品类组件的函数
if
(
this
.
ruleForm
.
strategyRelationType
==
3
)
{
if
(
this
.
ruleForm
.
gradeStrategyChannelList
.
length
>
0
)
{
this
.
ruleForm
.
gradeStrategyChannelList
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
channelType
==
'1'
&&
item
.
channelRelationProType
==
3
)
{
// 微信商城
if
(
this
.
$refs
.
selectGoodsCate
instanceof
Array
)
{
this
.
$refs
.
selectGoodsCate
[
0
].
hideDragClick
();
}
else
{
this
.
$refs
.
selectGoodsCate
.
hideDragClick
();
}
}
});
}
},
},
components
:
{
topNav
,
...
...
src/view/companyGroup/membershipSystem/editIntegralSytem.vue
View file @
b6cc33e0
...
...
@@ -26,7 +26,10 @@
<!-- 只获取微信的 -->
<template
v-for=
"(item, index) in ruleForm.channelList"
>
<template
v-if=
"item.channelType == 1"
>
<div
class=
"form-child margin-20"
:key=
"index"
>
<el-form-item
label=
"适用微信商城"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
active-text=
"启用"
inactive-text=
"停用"
>
</el-switch>
</el-form-item>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus"
:key=
"index"
>
<el-form-item
label=
"选择商户"
>
<el-select
v-model=
"item.enterpriseRelationIdArr"
placeholder=
"请选择"
multiple
size=
"small"
>
<el-option
v-for=
"item in mechantOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
...
...
@@ -69,6 +72,35 @@
</el-form-item>
</div>
</
template
>
<!-- 微盟渠道-->
<
template
v-if=
"item.channelType == 9"
>
<el-form-item
label=
"微盟渠道"
prop=
""
:key=
"index"
>
<el-switch
v-model=
"item.openStatus"
>
</el-switch>
</el-form-item>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus"
:key=
"index"
>
<el-form-item
label=
"选择店铺"
>
<vue-gic-store-new
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
</el-form-item>
<el-form-item
label=
"微盟商品"
class=
"padding-0"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
>
<el-option
v-for=
"item in wMGoodOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"折扣控制"
prop=
"region"
class=
"input-margin-b"
>
<div
class=
"radio-cell"
>
<el-radio
v-model=
"item.integralUseDiscountControl"
label=
"1"
>
所有折扣商品都适用
</el-radio>
</div>
<div
class=
"radio-cell margin-20"
>
<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.01"
></el-input-number>
<label>
至
</label>
<el-input-number
v-model=
"item.integralUseDiscountControlUpper"
: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>
</div>
</
template
>
</template>
<el-form-item
label=
"抵现规则"
prop=
""
class=
"margin-20"
>
...
...
@@ -196,6 +228,25 @@ export default {
// value: '4',
// },
],
// 微盟渠道
wMShopOption
:
[
{
label
:
'所有店铺'
,
// 就是所有门店
value
:
'1'
}
],
wMGoodOption
:
[
{
label
:
'所有商品'
,
value
:
'1'
}
],
// 门店 新
uuid
:
''
,
// 新增传空,编辑必传,
options
:
[
0
,
1
,
2
,
3
,
4
,
5
],
// 0 全部 1 门店类型 2门店标签 3 门店区域 4 门店分组 5 部分门店
isAdd
:
true
,
scencs
:
'integral'
,
wmuuid
:
''
,
// 微盟
ruleForm
:
{
// 积分获取规则
integralStrategyId
:
'ff80808163a7a09b0163b01171e202db'
,
//策略id
...
...
@@ -212,13 +263,14 @@ export default {
integralGetEffectiveDays
:
1
,
// 获取积分有效天
integralUseStatus
:
'0'
,
// 积分抵现开启 1是0否
integralUse
:
{
fee
:
''
,
integral
:
''
},
// 积分抵现 {fee:5,integral:5}
perpetualFlag
:
1
,
channelList
:
[
{
integralStrategyChannelId
:
'ff808081649321d20164a1fafbdd01df'
,
//id
enterpriseId
:
'ff8080815dacd3a2015dacd3ef5c0000'
,
integralStrategyId
:
'ff80808163a7a09b0163b01171e202db'
,
//策略id
channelType
:
'1'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
openStatus
:
1
,
//渠道配置是否启用 1启用 0停用
openStatus
:
true
,
//渠道配置是否启用 1启用 0停用
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
...
...
@@ -300,6 +352,46 @@ export default {
goBack
()
{
this
.
$router
.
go
(
-
1
);
},
async
checkListValue
(
data
)
{
let
obj
=
{
flag
:
true
,
text
:
''
};
if
(
!!
data
.
channelList
.
length
)
{
for
(
let
i
=
0
;
i
<
data
.
channelList
.
length
;
i
++
)
{
if
(
!!
data
.
channelList
[
i
].
openStatus
)
{
if
(
data
.
channelList
[
i
].
integralUseDiscountControl
==
2
)
{
if
(
!
data
.
channelList
[
i
].
integralUseDiscountControlUpper
||
!
data
.
channelList
[
i
].
integralUseDiscountControlLower
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请填写折扣'
;
}
if
(
parseInt
(
data
.
channelList
[
i
].
integralUseDiscountControlUpper
)
>
10
||
parseInt
(
data
.
channelList
[
i
].
integralUseDiscountControlLower
)
>
10
||
Number
(
data
.
channelList
[
i
].
integralUseDiscountControlUpper
)
<=
Number
(
data
.
channelList
[
i
].
integralUseDiscountControlLower
))
{
obj
.
flag
=
false
;
obj
.
text
=
'折扣格式有误'
;
}
}
if
(
data
.
channelList
[
i
].
channelType
==
1
&&
!
data
.
channelList
[
i
].
enterpriseRelationIdArr
.
length
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请选择商户'
;
}
if
(
data
.
channelList
[
i
].
channelType
==
9
)
{
const
storeGroupDom
=
this
.
$refs
.
wmstoreGroup
;
let
flag
=
null
;
if
(
storeGroupDom
instanceof
Array
)
{
flag
=
await
this
.
$refs
.
wmstoreGroup
[
0
].
isStoreSave
();
}
else
{
flag
=
await
this
.
$refs
.
wmstoreGroup
.
isStoreSave
();
}
if
(
!
flag
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请选择门店'
;
}
}
}
}
}
return
obj
;
},
// 保存
submitForm
(
formName
)
{
let
that
=
this
;
...
...
@@ -313,21 +405,21 @@ export default {
showMsg
.
showmsg
(
'请填写策略名称'
,
'error'
);
return
;
}
if
(
!
data
.
channelList
[
0
].
enterpriseRelationIdArr
.
length
)
{
showMsg
.
showmsg
(
'请选择商户'
,
'error'
);
return
;
}
if
(
data
.
channelList
[
0
].
integralUseDiscountControl
==
2
)
{
let
flagA
=
Number
(
data
.
channelList
[
0
].
integralUseDiscountControlLower
)
>=
Number
(
data
.
channelList
[
0
].
integralUseDiscountControlUpper
);
if
(
!
data
.
channelList
[
0
].
integralUseDiscountControlLower
||
!
data
.
channelList
[
0
].
integralUseDiscountControlUpper
)
{
that
.
$message
.
error
(
'折扣控制中的折扣不能为空'
);
return
;
}
if
(
flagA
)
{
that
.
$message
.
error
(
'折扣控制中的折扣格式有误'
);
return
;
}
}
//
if (!data.channelList[0].enterpriseRelationIdArr.length) {
//
showMsg.showmsg('请选择商户', 'error');
//
return;
//
}
//
if (data.channelList[0].integralUseDiscountControl == 2) {
//
let flagA = Number(data.channelList[0].integralUseDiscountControlLower) >= Number(data.channelList[0].integralUseDiscountControlUpper);
//
if (!data.channelList[0].integralUseDiscountControlLower || !data.channelList[0].integralUseDiscountControlUpper) {
//
that.$message.error('折扣控制中的折扣不能为空');
//
return;
//
}
//
if (flagA) {
//
that.$message.error('折扣控制中的折扣格式有误');
//
return;
//
}
//
}
let
flag
=
!
data
.
integralUse
.
fee
||
String
(
data
.
integralUse
.
integral
)
==
''
;
if
(
data
.
integralUseStatus
==
1
&&
flag
)
{
that
.
$message
.
error
(
'请填写抵现规则'
);
...
...
@@ -344,19 +436,43 @@ export default {
}
}
if
(
!
data
.
channelList
[
0
].
useProportionalRestriction
)
{
showMsg
.
showmsg
(
'请填写比例限制'
,
'error'
);
// if (!data.channelList[0].useProportionalRestriction) {
// showMsg.showmsg('请填写比例限制', 'error');
// return;
// } else {
// if (data.channelList[0].useProportionalRestriction > 100) {
// showMsg.showmsg('比例限制不能大于100', 'error');
// return;
// }
// }
that
.
checkListValue
(
data
).
then
(
res
=>
{
if
(
!
res
.
flag
)
{
showMsg
.
showmsg
(
res
.
text
,
'error'
);
return
;
}
else
{
if
(
data
.
channelList
[
0
].
useProportionalRestriction
>
100
)
{
showMsg
.
showmsg
(
'比例限制不能大于100'
,
'error'
);
return
;
// 设置开启状态 1-->true
data
.
channelList
.
forEach
(
function
(
ele
,
index
)
{
ele
.
openStatus
=
ele
.
openStatus
==
true
?
1
:
0
;
if
(
ele
.
channelType
==
1
)
{
ele
.
strategyGoodsRelationIdArr
=
ele
.
goodsRelationIdArr
;
delete
ele
.
goodsRelationIdArr
;
}
if
(
!
ele
.
enterpriseRelationIdArr
||
!
ele
.
enterpriseRelationIdArr
.
length
)
{
ele
.
enterpriseRelationIdArr
=
[];
}
if
(
!
ele
.
storeRelationIdArr
||
!
ele
.
storeRelationIdArr
.
length
)
{
ele
.
storeRelationIdArr
=
[];
}
if
(
!
ele
.
strategyGoodsRelationIdArr
||
!
ele
.
strategyGoodsRelationIdArr
.
length
)
{
ele
.
strategyGoodsRelationIdArr
=
[];
}
if
(
ele
.
channelType
==
'9'
)
{
ele
.
storeControlId
=
that
.
wmuuid
;
}
});
let
saveBool
=
true
;
data
.
channelList
.
forEach
(
item
=>
{
if
(
item
.
channelType
==
1
)
{
if
(
item
.
channelType
==
1
&&
item
.
openStatus
==
1
)
{
// 微信商城
// 适用商品
if
(
item
.
channelRelationProType
==
2
&&
this
.
valueWx
.
length
<
1
)
{
...
...
@@ -389,14 +505,17 @@ export default {
// data.integralUse.integral = data.integralUse.integral;
data
.
integralUse
=
JSON
.
stringify
(
data
.
integralUse
);
if
(
data
.
channelList
)
{
data
.
channelList
.
forEach
(
function
(
ele
,
index
)
{
ele
.
openStatus
=
1
;
});
}
// if (data.channelList) {
// data.channelList.forEach(function(ele, index) {
// ele.openStatus = 1;
// });
// }
data
.
perpetualFlag
=
1
;
if
(
saveBool
)
{
that
.
saveForm
(
data
);
}
}
})
}
else
{
log
(
'error submit!!'
);
return
false
;
...
...
@@ -596,7 +715,8 @@ export default {
item
.
integralUseStatus
=
String
(
item
.
integralUseStatus
);
item
.
useCrowd
=
String
(
item
.
useCrowd
);
item
.
integralGet
=
JSON
.
parse
(
item
.
integralGet
);
item
.
channelList
.
forEach
(
function
(
ele
,
index
)
{
item
.
channelList
.
forEach
((
ele
,
index
)
=>
{
ele
.
openStatus
=
ele
.
openStatus
==
0
?
false
:
true
;
ele
.
channelType
=
String
(
ele
.
channelType
);
ele
.
channelRelationStoreType
=
String
(
ele
.
channelRelationStoreType
);
ele
.
channelStoreType
=
String
(
ele
.
channelStoreType
);
...
...
@@ -614,7 +734,30 @@ export default {
if
(
!
ele
.
enterpriseRelationIdArr
||
!
ele
.
enterpriseRelationIdArr
.
length
)
{
ele
.
enterpriseRelationIdArr
=
[];
}
if
(
ele
.
channelType
==
9
)
{
this
.
wmuuid
=
ele
.
storeControlId
;
this
.
isAdd
=
false
;
}
});
let
bool
=
item
.
channelList
.
some
(
item
=>
item
.
channelType
==
9
);
!
bool
&&
item
.
channelList
.
push
({
integralStrategyChannelId
:
''
,
//id
enterpriseId
:
''
,
integralStrategyId
:
''
,
//策略id
channelType
:
'9'
,
//渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫
openStatus
:
true
,
//渠道配置是否启用 1启用 0停用
channelRelationEnterpriseType
:
'1'
,
// 策略关联企业 1所有企业 2部分企业
channelRelationStoreType
:
'1'
,
//策略关联门店类型 1所有门店 2门店分组 3部分门店
channelStoreType
:
'-1'
,
// 策略选择门店类型 (-1:所有 0:自营 1:联营 2:加盟,3代销4托管)
channelRelationProType
:
'1'
,
// 策略关联商品类型 1所有商品 2商品品牌 3商品类目 4部分商品
integralUseDiscountControl
:
'1'
,
// 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper
:
'0.0'
,
integralUseDiscountControlLower
:
'0.0'
,
useProportionalRestriction
:
'0.0'
,
// 抵现比例限制
strategyGoodsRelationIdArr
:
[],
// 商品
storeRelationIdArr
:
[],
//门店
enterpriseRelationIdArr
:
[]
//商户
})
return
item
;
},
...
...
src/view/companyGroup/membershipSystem/editPointSystem.vue
View file @
b6cc33e0
...
...
@@ -146,9 +146,7 @@
</el-form-item>
<div
class=
"form-child margin-20"
v-if=
"item.openStatus == true"
:key=
"index"
>
<el-form-item
label=
"选择店铺"
>
<el-select
v-model=
"item.channelRelationStoreType"
placeholder=
"请选择"
>
<el-option
v-for=
"item in wMShopOption"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
<vue-gic-store-new
:scenesVal=
"scencs"
:options=
"options"
:isAdd=
"isAdd"
:uuid
.
sync=
"wmuuid"
ref=
"wmstoreGroup"
></vue-gic-store-new>
</el-form-item>
<el-form-item
label=
"微盟商品"
class=
"padding-0"
>
<el-select
v-model=
"item.channelRelationProType"
placeholder=
"请选择"
>
...
...
@@ -407,6 +405,7 @@ export default {
integralGetEffectiveDays
:
1
,
// 获取积分有效天
integralUseStatus
:
0
,
// 积分抵现开启 1是0否
integralUse
:
null
,
// 积分抵现 {fee:5,integral:5}
perpetualFlag
:
1
,
channelList
:
[]
},
cateOptions
:
[
...
...
@@ -437,6 +436,7 @@ export default {
options
:
[
0
,
1
,
2
,
3
,
4
,
5
],
// 0 全部 1 门店类型 2门店标签 3 门店区域 4 门店分组 5 部分门店
isAdd
:
true
,
scencs
:
'integral'
,
wmuuid
:
''
,
// 微盟
// 太平鸟标识
tpnEditBool
:
false
,
tpnEnterpriseId
:
'ff808081671d3ceb01672adebf4e6149'
...
...
@@ -515,6 +515,19 @@ export default {
obj
.
text
=
'请选择门店'
;
}
}
if
(
data
.
channelList
[
i
].
channelType
==
9
)
{
const
storeGroupDom
=
this
.
$refs
.
wmstoreGroup
;
let
flag
=
null
;
if
(
storeGroupDom
instanceof
Array
)
{
flag
=
await
this
.
$refs
.
wmstoreGroup
[
0
].
isStoreSave
();
}
else
{
flag
=
await
this
.
$refs
.
wmstoreGroup
.
isStoreSave
();
}
if
(
!
flag
)
{
obj
.
flag
=
false
;
obj
.
text
=
'请选择门店'
;
}
}
}
}
}
...
...
@@ -585,6 +598,9 @@ export default {
ele
.
channelStoreType
=
'-1'
;
ele
.
storeControlId
=
that
.
uuid
;
}
if
(
ele
.
channelType
==
'9'
)
{
ele
.
storeControlId
=
that
.
wmuuid
;
}
});
data
.
integralGet
.
fee
=
parseInt
(
data
.
integralGet
.
fee
*
10
);
data
.
integralGet
.
integral
=
parseInt
(
data
.
integralGet
.
integral
*
10
);
...
...
@@ -929,6 +945,10 @@ export default {
this
.
uuid
=
ele
.
storeControlId
;
this
.
isAdd
=
false
;
}
if
(
ele
.
channelType
==
9
)
{
this
.
wmuuid
=
ele
.
storeControlId
;
this
.
isAdd
=
false
;
}
// 判断是否有微盟
channelType
.
push
(
ele
.
channelType
);
});
...
...
@@ -1229,6 +1249,7 @@ export default {
.form-child
{
padding
:
15px
20px
10px
0px
;
background
:
#f5f6f9
;
margin
:
22px
0
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
...
...
src/view/companyGroup/membershipSystem/pointSystem.vue
View file @
b6cc33e0
...
...
@@ -101,14 +101,14 @@
<el-table-column
prop=
""
label=
"适用商品"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
:key=
"index"
>
{{
item
.
channelRelationProType
==
1
&&
item
.
integralUseDiscountControl
==
1
?
'所有商品'
:
'自定义配置'
}}
<span
v-if=
"item.channelType == 1"
>
{{
item
.
channelRelationProType
==
1
&&
item
.
integralUseDiscountControl
==
1
?
"所有商品"
:
"自定义配置"
}}
</span>
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
""
label=
"折扣控制"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
:key=
"index"
>
{{
item
.
integralUseDiscountControl
==
1
?
'不限制'
:
item
.
integralUseDiscountControlLower
+
':'
+
item
.
integralUseDiscountControlUpper
}}
<span
v-if=
"item.channelType == 1"
>
{{
item
.
integralUseDiscountControl
==
1
?
"不限制"
:
(
item
.
integralUseDiscountControlLower
+
':'
+
item
.
integralUseDiscountControlUpper
)
}}
</span>
</span>
</
template
>
</el-table-column>
...
...
@@ -121,7 +121,7 @@
</el-table-column>
<el-table-column
prop=
""
label=
"比例限制"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"(item, index) in scope.row.channelList"
:key=
"index"
>
{{
item
.
useProportionalRestriction
}}
%
</span>
<span
v-for=
"(item, index) in scope.row.channelList"
:key=
"index"
>
<span
v-if=
"item.channelType == 1"
>
{{
item
.
useProportionalRestriction
}}
%
</span>
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
>
...
...
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