Commit fafbcb97 by huaying

fix: 通用积分,积分抵现页面布局

parent fa9dca11
<template>
<div class="form-wrap">
<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>
<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-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>
<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-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-select>
</el-select><br/>
<span style="color: #909399;font-size:12px; padding-left:22px;"> 例:根据消费金额计算出积分为4.3,选择「四舍五入」和「进位制」时为5积分,选择「抹零」则为4积分</span>
</div>
<div>
<el-radio v-model="ruleForm.integralGetStatus" label="0" class="margin-20">不获取积分</el-radio>
</div>
</el-form-item>
<div class="form-child" v-if="ruleForm.integralGetStatus == 1">
<el-form-item label="折扣控制" prop="">
<div class="form-child margin-20" v-if="ruleForm.integralGetStatus == 1">
<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 v-model="ruleForm.integralGetDiscountControlLower" :precision="2" :controls="false" :max="10.0" :min="0.01"></el-input-number>
<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 v-model="ruleForm.integralGetDiscountControlUpper" :precision="2" :controls="false" :max="10.0" :min="0.01"></el-input-number>
<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: 13px;color: #828282;line-height: 1;padding-left: 10px;">注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣</span>
<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" 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>
<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>
<el-form-item label="积分抵现规则" prop="region" class="margin-20">
</el-form-item>
<dm-sub-title type="fill" text="积分抵现策略" style="margin-bottom: 20px;margin-top:40px; "/>
<el-form-item label="抵现规则:" prop="integralUseStatus" class="margin-20">
<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-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>
<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> -->
<label></label>
</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">
<el-form-item label="折扣控制" prop="region">
<el-form-item label="折扣控制:" prop="region">
<div class="radio-cell">
<el-radio v-model="ruleForm.integralUseDiscountControl" label="1">所有折扣商品都适用</el-radio>
</div>
<div class="radio-cell margin-20">
<el-radio v-model="ruleForm.integralUseDiscountControl" label="2">折扣</el-radio>
<!-- <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.01"></el-input-number>
<el-input-number v-model="ruleForm.integralUseDiscountControlLower" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number>
<label></label>
<!-- <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.01"></el-input-number>
<label>商品都适用</label>
<span style="font-size: 13px;color: #828282;line-height: 1;padding-left: 10px;">注意:折扣范围0.01-10.00,最低折扣不能大于最高折扣</span>
<el-input-number v-model="ruleForm.integralUseDiscountControlUpper" :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">
<el-form-item label="比例限制:" prop="name" class="padding-bottom-20 margin-20">
<label>最多可抵用商品金额的 </label>
<el-input v-model="ruleForm.useProportionalRestriction" @keyup.native="formatInput($event)">
<template slot="append">
%
</template>
</el-input>
<el-input placeholder="请输入" v-model="ruleForm.useProportionalRestriction" @keyup.native="formatInput($event)"></el-input>%
</el-form-item>
</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">
<editor id="tinymce" v-model="ruleForm.integralScript" :init="init"></editor>
</div>
......@@ -151,16 +159,31 @@ export default {
integralUseStatus: '1', //积分使用开启(0:否,1:是)
effectiveTime: '100', //积分有效期
integralGetDiscountControl: '2',
integralGetDiscountControlUpper: ' 0.0', // 折扣控制 折扣范围 下限
integralGetDiscountControlLower: '0.0', // 折扣控制 折扣范围 上限
integralGetDiscountControlUpper: ' ', // 折扣控制 折扣范围 下限
integralGetDiscountControlLower: '', // 折扣控制 折扣范围 上限
integralGetFreezeDays: '1', // 获取积分冻结天数
integralUseDiscountControl: '1', // 折扣控制 1所有折扣商品适用 2折扣范围
integralUseDiscountControlUpper: '0.0',
integralUseDiscountControlLower: '0.0',
integralUseDiscountControlUpper: '',
integralUseDiscountControlLower: '',
useProportionalRestriction: '90', //抵现比例限制
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
tinymceHtml: '请输入内容',
......@@ -194,6 +217,7 @@ export default {
},
created() {
// this.selectReplayStyle()
console.log(this.props.pointInfo, 98989);
},
methods: {
// 保存
......@@ -282,7 +306,7 @@ export default {
if (data.integralGetStatus == 1 && data.integralGetDiscountControl == 2) {
let flagA = Number(data.integralGetDiscountControlUpper) <= Number(data.integralGetDiscountControlLower);
if (!data.integralGetDiscountControlLower || !data.integralGetDiscountControlUpper) {
that.$message.error('积分获取规则中的折扣不能为空');
that.$message.error('请输入商品折扣值');
return;
}
if (flagA) {
......@@ -293,7 +317,7 @@ export default {
if (data.integralUseStatus == 1 && data.integralUseDiscountControl == 2) {
let flagB = Number(data.integralUseDiscountControlUpper) <= Number(data.integralUseDiscountControlLower);
if (!data.integralUseDiscountControlLower || !data.integralUseDiscountControlUpper) {
that.$message.error('积分抵现规则中的折扣不能为空');
that.$message.error('请输入商品折扣值');
return;
}
if (flagB) {
......@@ -313,9 +337,9 @@ export default {
}
data.integralGet.fee = parseInt(data.integralGet.fee * 10);
data.integralGet.integral = parseInt(data.integralGet.integral * 10);
data.integralGet = JSON.stringify(data.integralGet);
data.integralUse = JSON.stringify(data.integralUse);
data.integralCost = JSON.stringify(data.integralCost);
data.integralGet = JSON.stringify(data.integralGet)?JSON.stringify(data.integralGet):that.ruleForm.integralGet;
data.integralUse = JSON.stringify(data.integralUse)?JSON.stringify(data.integralUse):that.ruleForm.integralUse;
data.integralCost = JSON.stringify(data.integralCost)?JSON.stringify(data.integralCost):that.ruleForm.integralCost;
that.saveInfo(data);
} else {
// log('error submit!!');
......@@ -379,6 +403,11 @@ export default {
// 输入框输入校验数字
formatInput(e) {
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.effectiveTime = strLength.getCharVal(String(that.ruleForm.effectiveTime).replace(/[^\d]/g, ''), 4);
......@@ -401,6 +430,10 @@ export default {
// log("新数据:",newData,oldData)
if (newData) {
that.ruleForm = newData;
// 给定一个默认值
if (newData.integralGetDiscountControl == 0) {
this.ruleForm.integralGetDiscountControl = '1';
}
}
}
},
......@@ -421,10 +454,13 @@ export default {
</script>
<style lang="less" scoped>
.form-wrap {
.el-radio {
margin-right: 0;
}
.el-input,
/deep/ .el-input-number {
width: 178px;
padding: 0 10px;
width: 115px;
padding: 0 5px;
.el-input__inner {
text-align: left;
}
......@@ -439,6 +475,9 @@ export default {
.padding-0 {
padding: 0;
}
.padding-bottom-20 {
padding-bottom: 20px;
}
.form-child {
width: 100%;
......
......@@ -12,16 +12,18 @@
label-width="100px"
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
placeholder="请输入策略名称"
v-model="ruleForm.strategyName"
class="w-340 padding-0"
@keyup.native="value => toInput(value)"
></el-input>
<label class="input-label">{{ cateNameLength }}/20</label>
</el-form-item>
<el-form-item label="适用对象" prop class="margin-20">
<el-select v-model="ruleForm.useCrowd" placeholder="请选择">
<el-form-item label="适用对象" prop class="margin-20">
<el-select v-model="ruleForm.useCrowd" placeholder="请选择" class="w340">
<el-option
v-for="item in applyObjOption"
:key="item.value"
......@@ -30,25 +32,27 @@
></el-option>
</el-select>
</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-form-item>
<el-form-item label="适用条件" class="padding-0">
<el-form-item label="适用条件" class="padding-0">
<div class="title-tip">该设置只对微信商城中的积分抵现起作用。</div>
</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-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-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">
<el-form-item label="选择商户">
<el-form-item label="选择商户">
<el-select
v-model="item.enterpriseRelationIdArr"
placeholder="请选择"
multiple
size="small"
class="w240"
>
<el-option
v-for="item in mechantOption"
......@@ -58,9 +62,9 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="适用商品" class="padding-0">
<el-form-item label="适用商品:" class="margin-20">
<el-select
class="fl"
class="fl w240"
style="margin-right: 10px;"
v-model="item.channelRelationProType"
placeholder="请选择"
......@@ -76,7 +80,7 @@
<!-- 商品品牌 -->
<el-select
size="small"
class="fl"
class="fl w240"
@change="selectGoodsStoreWx"
v-if="item.channelRelationProType == 2"
v-model="valueWx"
......@@ -106,18 +110,18 @@
@click="showGoodsDialog('wx')"
>已选{{ goodsListWx.length }}件商品</el-button>
</el-form-item>
<el-form-item label="折扣控制" prop="region">
<el-form-item label="折扣控制:" prop="region" class="margin-20">
<div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1">所有折扣商品都适用</el-radio>
</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-input-number
v-model="item.integralUseDiscountControlLower"
:precision="2"
:controls="false"
:max="10.0"
:min="0.01"
:min="1"
></el-input-number>
<label></label>
<el-input-number
......@@ -125,64 +129,65 @@
:precision="2"
:controls="false"
:max="10.0"
:min="0.01"
:min="1"
></el-input-number>
<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>
</el-form-item>
</div>
</el-form-item>
</template>
<!-- 微盟渠道-->
<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-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">
<el-form-item label="选择商户">
<el-select size="small" v-model="item.enterpriseRelationIdArr" placeholder="请选择" multiple>
<el-form-item label="选择商户">
<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-select>
</el-form-item>
<el-form-item label="选择店铺">
<el-select v-model="storeValue" v-if="!isJinHua">
<el-form-item label="选择店铺:" class="margin-20">
<el-select v-model="storeValue" v-if="!isJinHua" class="w240">
<el-option label="所有门店" value=""></el-option>
</el-select>
<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 label="微盟商品" class="padding-0">
<el-select v-model="item.channelRelationProType" placeholder="请选择">
<el-form-item label="微盟商品:" class="margin-20">
<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-select>
</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">
<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>
<el-input-number v-model="item.integralUseDiscountControlLower" :precision="2" :controls="false" :max="10.0" :min="1"></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>
<el-input-number v-model="item.integralUseDiscountControlUpper" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number>
<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>
</el-form-item>
</div>
</el-form-item>
</template>
</template>
<el-form-item label="抵现规则" prop class="margin-20">
<dm-sub-title type="fill" text="规则配置" style="margin-bottom: 20px; margin-top:40px;"/>
<el-form-item label="抵现规则:" prop="integralUseStatus" class="margin-20" label-width="110px">
<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-input-number
v-model="ruleForm.integralUse.integral"
:precision="1"
:controls="false"
:max="10000.0"
:min="0.1"
step-strictly
></el-input-number>
<label>积分,抵</label>
<el-input-number
......@@ -194,25 +199,23 @@
></el-input-number>
<label></label>
</div>
<div>
<el-radio v-model="ruleForm.integralUseStatus" label="0" class="margin-20">不支持抵现</el-radio>
</div>
</el-form-item>
<el-form-item label="比例限制" prop="name">
<el-form-item label="比例限制:" prop="name" required label-width="110px">
<label style="color: #606266">最多可抵用商品金额的</label>
<el-input
placeholder="请输入"
@keyup.native="formatInputNum($event)"
v-model="ruleForm.channelList[0].useProportionalRestriction"
>
<template slot="append">%</template>
</el-input>
></el-input>%
</el-form-item>
<!-- 新增策略有效期配置 -->
<el-form-item label="策略有效期" prop="">
<el-form-item label="策略有效期:" prop="perpetualFlag" label-width="110px">
<!-- 1 永久 0 非永久 -->
<el-radio v-model="ruleForm.perpetualFlag" :label="1">永久有效</el-radio>
<el-radio v-model="ruleForm.perpetualFlag" :label="0">
在该时段内有效
</el-radio>
<div style="marginTop: 10px">
<el-date-picker
v-if="ruleForm.perpetualFlag === 0"
v-model="ruleForm.perpetualDate"
......@@ -223,7 +226,7 @@
value-format="timestamp"
:default-time="['00:00:00', '23:59:59']">
</el-date-picker>
</el-radio>
</div>
</el-form-item>
<el-form-item>
<el-row>
......@@ -319,12 +322,15 @@ export default {
path: '/pointSystem'
},
{
name: '添加积分抵现策略',
name: '新增积分抵现策略',
path: ''
}
],
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,
......@@ -402,9 +408,9 @@ export default {
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', // 抵现比例限制
integralUseDiscountControlUpper: '',
integralUseDiscountControlLower: '',
useProportionalRestriction: '', // 抵现比例限制
strategyGoodsRelationIdArr: [], // 商品
storeRelationIdArr: [], //门店
enterpriseRelationIdArr: [] //商户
......@@ -420,9 +426,9 @@ export default {
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', // 抵现比例限制
integralUseDiscountControlUpper: '',
integralUseDiscountControlLower: '',
useProportionalRestriction: '', // 抵现比例限制
strategyGoodsRelationIdArr: [], // 商品
storeRelationIdArr: [], //门店
enterpriseRelationIdArr: [] //商户
......@@ -1037,7 +1043,10 @@ export default {
</script>
<style lang="less" scoped>
.right-box {
padding: 24px 32px;
padding: 20px;
}
.w340 {
width: 340px;
}
.attention-wrap {
.item-label {
......@@ -1060,15 +1069,18 @@ export default {
font-size: 12px;
color: #888;
}
.attention-content-wrap {
}
// .attention-content-wrap {
// }
}
.form-wrap {
.el-radio {
margin-right: 0;
}
.el-input,
/deep/ .el-input-number {
width: 178px;
padding: 0 10px;
width: 115px;
padding: 0 5px;
.el-input__inner {
text-align: left;
}
......@@ -1105,9 +1117,9 @@ export default {
.form-child {
width: 100%;
padding: 15px 20px 10px 0px;
padding: 20px 20px 0 0;
background: #f5f6f9;
margin: 22px 0;
margin-top: 20px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
......@@ -1120,6 +1132,9 @@ export default {
.margin-20 {
margin-top: 20px;
}
.padding-bottom-20 {
padding-bottom: 20px;
}
.tinymce-wrap {
width: 780px;
......@@ -1156,6 +1171,9 @@ export default {
.margin-r-6 {
margin-right: 6px;
}
.w240 {
width: 240px;
}
.right-box /deep/ .el-input__inner {
padding-right: 12px;
......
......@@ -12,6 +12,7 @@
label-width="100px"
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-input
v-model="ruleForm.strategyName"
......@@ -38,12 +39,13 @@
<el-form-item label="适用条件" class="padding-0">
<div class="title-tip">该设置只对微信商城中的积分抵现起作用。</div>
</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-if="item.channelType == 1">
<el-form-item label="适用微信商城" prop="" :key="index">
<el-switch v-model="item.openStatus" active-text="启用" inactive-text="停用"> </el-switch>
</el-form-item>
<el-form-item label="达摩微商城" prop="" :key="index">
<el-switch v-model="item.openStatus" :active-value="1" :inactive-value="0"> </el-switch>
<span style="color: #909399;font-size:12px; margin-left:16px;">客户在微盟微商城产生的订单</span>
<div class="form-child margin-20" v-if="item.openStatus" :key="index">
<el-form-item label="选择商户">
<el-select
......@@ -51,6 +53,7 @@
placeholder="请选择"
multiple
size="small"
class="w240"
>
<el-option
v-for="item in mechantOption"
......@@ -61,9 +64,9 @@
</el-select>
</el-form-item>
<el-form-item label="适用商品" class="padding-0">
<el-form-item label="适用商品" class="margin-20">
<el-select
class="fl"
class="fl w240"
style="margin-right: 10px;"
v-model="item.channelRelationProType"
placeholder="请选择"
......@@ -80,7 +83,7 @@
<!-- 商品品牌 -->
<el-select
size="small"
class="fl"
class="fl w240"
@change="selectGoodsStoreWx"
v-if="item.channelRelationProType == 2"
v-model="valueWx"
......@@ -113,11 +116,11 @@
>已选{{ goodsListWx.length }}件商品</el-button>
</el-form-item>
<el-form-item label="折扣控制" prop="region">
<el-form-item label="折扣控制:" prop="region" class="margin-20">
<div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1">所有折扣商品都适用</el-radio>
</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-input @focus="inputFocus(item,'integralUseDiscountControlLower')" @change="formatInputChange($event)" v-model="item.integralUseDiscountControlLower"></el-input> -->
<el-input-number
......@@ -125,7 +128,7 @@
:precision="2"
:controls="false"
:max="10.0"
:min="0.01"
:min="1"
></el-input-number>
<label></label>
<!-- <el-input @focus="inputFocus(item,'integralUseDiscountControlUpper')" @change="formatInputChange($event)" v-model="item.integralUseDiscountControlUpper"></el-input> -->
......@@ -134,84 +137,82 @@
:precision="2"
:controls="false"
:max="10.0"
:min="0.01"
:min="1"
></el-input-number>
<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>
</el-form-item>
</div>
</el-form-item>
</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>
<span style="color: #909399;font-size:12px; margin-left:16px;">客户在微盟微商城产生的订单</span>
<div class="form-child margin-20" v-if="item.openStatus" :key="index">
<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-select>
</el-form-item>
<el-form-item label="选择店铺">
<el-select v-model="storeValue" v-if="!isJinHua">
<el-form-item label="选择店铺" class="margin-20">
<el-select v-model="storeValue" v-if="!isJinHua" class="w240">
<el-option label="所有门店" value=""></el-option>
</el-select>
<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 label="微盟商品" class="padding-0">
<el-select v-model="item.channelRelationProType" placeholder="请选择">
<el-form-item label="微盟商品" class="margin-20">
<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-select>
</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">
<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>
<el-input-number v-model="item.integralUseDiscountControlLower" :precision="2" :controls="false" :max="10.0" :min="1"></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>
<el-input-number v-model="item.integralUseDiscountControlUpper" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number>
<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>
</el-form-item>
</div>
</el-form-item>
</template>
</template>
<el-form-item label="抵现规则" prop="" class="margin-20">
<dm-sub-title type="fill" text="规则配置" style="margin-bottom: 20px; margin-top:40px;"/>
<el-form-item label="抵现规则:" prop="integralUseStatus" class="margin-20" label-width="110px">
<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-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>
<!-- <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>
<label></label>
</div>
<div>
<el-radio v-model="ruleForm.integralUseStatus" label="0" class="margin-20">不支持抵现</el-radio>
</div>
</el-form-item>
<el-form-item label="比例限制" prop="name">
<el-form-item label="比例限制:" label-width="110px" prop="name">
<label style="color: #606266">最多可抵用商品金额的 </label>
<el-input @keyup.native="formatInputNum($event)" v-model="ruleForm.channelList[0].useProportionalRestriction">
<template slot="append">
%
</template>
</el-input>
<el-input @keyup.native="formatInputNum($event)" v-model="ruleForm.channelList[0].useProportionalRestriction"></el-input>%
</el-form-item>
<!-- 新增策略有效期配置 -->
<el-form-item label="策略有效期" prop>
<el-form-item label="策略有效期:" prop="perpetualFlag" label-width="110px">
<!-- 1 永久 0 非永久 -->
<el-radio v-model="ruleForm.perpetualFlag" :label="1">永久有效</el-radio>
<el-radio v-model="ruleForm.perpetualFlag" :label="0">
在该时段内有效
</el-radio>
<div style="margin-top:10px;">
<el-date-picker
v-if="ruleForm.perpetualFlag === 0"
v-model="ruleForm.perpetualDate"
......@@ -222,7 +223,7 @@
value-format="timestamp"
:default-time="['00:00:00', '23:59:59']"
></el-date-picker>
</el-radio>
</div>
</el-form-item>
<el-form-item>
<el-row>
......@@ -1121,7 +1122,10 @@ export default {
</script>
<style lang="less" scoped>
.right-box {
padding: 24px 32px;
padding: 20px;
}
.w340 {
width: 340px;
}
.attention-wrap {
.item-label {
......@@ -1144,15 +1148,18 @@ export default {
font-size: 12px;
color: #888;
}
.attention-content-wrap {
}
// .attention-content-wrap {
// }
}
.form-wrap {
.el-radio {
margin-right: 0;
}
.el-input,
/deep/ .el-input-number {
width: 178px;
padding: 0 10px;
width: 115px;
padding: 0 5px;
.el-input__inner {
text-align: left;
}
......@@ -1197,8 +1204,9 @@ export default {
.form-child {
width: 100%;
padding: 15px 20px 10px 0px;
padding: 20px 20px 0px 0px;
background: #f5f6f9;
margin-top: 20px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
......@@ -1211,6 +1219,9 @@ export default {
.margin-20 {
margin-top: 20px;
}
.padding-bottom-20 {
padding-bottom: 20px;
}
.tinymce-wrap {
width: 780px;
......@@ -1247,7 +1258,9 @@ export default {
.margin-r-6 {
margin-right: 6px;
}
.w240 {
width: 240px;
}
.right-box /deep/ .el-input__inner {
padding-right: 12px;
}
......
......@@ -3,27 +3,19 @@
<topNavNew :navpath="navpath"></topNavNew>
<div class="right-content">
<div class="right-box">
<div class="attention-wrap">
<!-- 积分制度 -->
<div class="point-cell point-form">
<div class="point-cell-wrap">
<div class="attention-wrap" style="padding:20px;">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="通用积分策略" name="first" >
<point-form :pointInfo="pointInfo" :projectName="projectName"></point-form>
</div>
</div>
<div class="height-24"></div>
<!-- 特殊积分获取策略 -->
<div class="point-cell point-table">
<div class="flex table-top title-wrap">
<div class="flex-1 flex-l">
<p class="flex-title">特殊积分获取策略</p>
<div class="flex-lable">设置除通用积分获取规则以外的特殊策略</div>
</div>
</el-tab-pane>
<el-tab-pane label="特殊积分获取策略" name="second" >
<div style="font-size: 12px;color: #828282;">订单命中特殊积分获取策略时,则执行特殊积分获取策略;订单命中多个特殊积分获取策略时,则按照最优的积分策略(赠送积分最多)进行计算</div>
<div style="float: left;" class="btn-r-wrap">
<el-input placeholder="请输入策略名称" clearable v-model="keywords" @change="onSearch" prefix-icon="el-icon-search" style="width:260px;"></el-input>
</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-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="线下渠道">
<template slot-scope="scope">
<span v-for="(item, index) in scope.row.channelList" v-show="item.channelType == 3" :key="index">
......@@ -35,7 +27,7 @@
</span>
</template>
</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 == 1" :key="index">
<span v-if="item.openStatus == 0">关闭</span>
......@@ -46,7 +38,7 @@
</span>
</template>
</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 == 9" :key="index">
<span v-if="item.openStatus == 0">关闭</span>
......@@ -57,7 +49,40 @@
</span>
</template>
</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">
{{ scope.row.useCrowd == 1 ? '所有会员' : '自定义人群' }}
</template>
......@@ -100,22 +125,59 @@
</template>
</el-table-column>
</el-table>
</div>
</div>
<div class="height-24"></div>
<!-- 特殊积分抵现策略 -->
<div class="point-cell point-table">
<div class="flex table-top title-wrap">
<div class="flex-1 flex-l">
<p class="flex-title">特殊积分抵现策略</p>
<div class="flex-lable">设置消费时使用积分抵现的规则(仅用于微信商城结算)</div>
</div>
<dm-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pageNum"
:page-size="pageSize"
:total="totalCount"
: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-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 class="fr btn-r-wrap"><el-button :disabled="tpnEditBool" type="primary" @click="handleAdd('integ')">新增策略</el-button></div>
<!-- table -->
<div class="table-contain">
<el-table :data="exchangeTableData" style="width: 100%">
<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="适用对象">
<template slot-scope="scope">
{{ scope.row.useCrowd == 1 ? '所有会员' : '自定义人群' }}
......@@ -131,7 +193,7 @@
<el-table-column prop="" label="折扣控制">
<template slot-scope="scope">
<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>
</template>
</el-table-column>
......@@ -179,8 +241,18 @@
</template>
</el-table-column>
</el-table>
</div>
</div>
<dm-pagination
@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>
......@@ -199,7 +271,16 @@ export default {
name: 'pointSystem',
data() {
return {
activeName: 'first',
projectName: 'gic-clique', // 当前项目名
keywords: '', // 关键字查询
pageNum: 1,
pageSize: 20,
totalCount: 0,
keywords1: '', // 关键字查询
pageNum1: 1,
pageSize1: 20,
totalCount1: 0,
navpath: [
{
name: '集团管理',
......@@ -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() {
let that = this;
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 => {
let resData = res.data;
if (resData.errorCode == 0) {
if (!!resData.result.strategyList && !!resData.result.strategyList.length) {
let arr = resData.result.strategyList;
// 积分策略
arr.forEach(function(ele, index) {
// if (!!resData.result.strategyList && !!resData.result.strategyList.length) {
// let arr = resData.result.strategyList;
// // 积分策略
// arr.forEach(function(ele, index) {
// ele.integralGet = JSON.parse(ele.integralGet);
// ele.integralUse = JSON.parse(ele.integralUse);
// if (ele.strategyType == 1) {
// that.achieveTableData.push(ele);
// } else {
// that.exchangeTableData.push(ele);
// }
// });
// }
// // form
// if (!!resData.result.memberIntegral) {
// that.pointInfo = that.handleData(resData.result.memberIntegral);
// }
// 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);
if (ele.strategyType == 1) {
that.achieveTableData.push(ele);
} else {
that.exchangeTableData.push(ele);
}
});
}
// form
if (!!resData.result.memberIntegral) {
that.pointInfo = that.handleData(resData.result.memberIntegral);
}
return;
})
}
errMsg.errorMsg(resData);
})
......@@ -320,6 +434,34 @@ export default {
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) {
item.integralGetStatus = String(item.integralGetStatus);
......@@ -332,14 +474,43 @@ export default {
item.integralUseDiscountControlUpper = String(item.integralUseDiscountControlUpper);
item.integralUseDiscountControlLower = String(item.integralUseDiscountControlLower);
// item.integralGet = JSON.parse(item.integralGet);
// item.integralUse = JSON.parse(item.integralUse);
// 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.integral = Number(item.integralGet.integral / 10);
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) {
this.$router.push(route);
},
......@@ -388,6 +559,8 @@ export default {
mounted() {
let that = this;
that.getPointInfo();
that.getPointInfos();
that.getIntefralInfo();
that.getLoginInfo();
}
};
......@@ -409,8 +582,8 @@ export default {
width: 80px;
}
}
.attention-content-wrap {
}
// .attention-content-wrap {
// }
}
.attention-wrap {
......@@ -444,8 +617,9 @@ export default {
}
.flex-lable {
font-size: 13px;
font-size: 12px;
color: #828282;
line-height: 20px;
}
.flex-l {
......@@ -468,7 +642,7 @@ export default {
padding: 20px 32px 15px;
}
.btn-r-wrap {
padding: 24px 24px 22px 0;
padding: 20px 0;
}
.table-contain {
padding: 0 24px 24px;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment