Commit a4fef048 by 曾经

Merge branch 'master' into feature/停复机

* master: (32 commits)
  update: dist
  update: dist
  fix: dd
  update: dist
  fix: 有效期
  fix: 积分有效天数检验
  fix: 积分策略提示信息ui
  fix: 引入图标库
  fix: 积分策略提示文案ui修改
  fix: dd
  fix: jifen
  fix; 积分有效期
  update: 修复会员卡设置bug
  update: 修复会员卡设置bug
  fix: 积分有效期校验
  fix: 积分老数据兼容修改
  fix: 积分校验提示信息修改
  fix: 积分通用和抵现校验定位
  fix: 积分禁用
  update: dist
  ...

# Conflicts:
#	dist/index.html
#	dist/static/js/37.29a4b9c1745d64cfc6cd.js
#	dist/static/js/37.29a4b9c1745d64cfc6cd.js.map
#	dist/static/js/37.5a65b0174f843f0d8be9.js
#	dist/static/js/37.5a65b0174f843f0d8be9.js.map
#	dist/static/js/37.fa399aea4c5a144ef8fb.js
#	dist/static/js/37.fa399aea4c5a144ef8fb.js.map
#	dist/static/js/38.619d17c30edaf714d4e6.js
#	dist/static/js/38.91e212527125ab12b5b1.js
#	dist/static/js/38.c87321412b595001a395.js
#	dist/static/js/5.307b129f1a13ed13c71d.js.map
#	dist/static/js/6.51f127d5a5b283212b70.js.map
#	dist/static/js/6.cb35c9668cf721acc599.js
#	dist/static/js/6.cb35c9668cf721acc599.js.map
#	dist/static/js/8.b88326ad14d012ad7898.js
#	dist/static/js/manifest.b02394884ed74e79518b.js.map
#	dist/static/js/manifest.cdeb591d1beb41b20702.js.map
#	dist/static/js/manifest.ebdf2db04429972d1c41.js.map
parents 8934b079 bec62c9e
module.exports = { module.exports = {
proxyList: { proxyList: {
'/api-auth/': { '/api-auth/': {
target: 'http://gicdev.demogic.com/api-auth/', target: 'http://www.gicdev.com/api-auth/',
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
'^/api-auth': '' '^/api-auth': ''
} }
}, },
'/api-admin/': { '/api-admin/': {
target: 'http://gicdev.demogic.com/api-admin/', target: 'http://www.gicdev.com/api-admin/',
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
'^/api-admin': '' '^/api-admin': ''
} }
}, },
'/api-plug/': { '/api-plug/': {
target: 'http://gicdev.demogic.com/api-plug/', target: 'http://www.gicdev.com/api-plug/',
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
'^/api-plug': '' '^/api-plug': ''
} }
}, },
'/api-mall/': { '/api-mall/': {
target: 'http://gicdev.demogic.com/api-mall/', target: 'http://www.gicdev.com/api-mall/',
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
'^/api-mall': '' '^/api-mall': ''
......
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<link rel="shortcut icon" href="./favicon.ico"/> <link rel="shortcut icon" href="./favicon.ico"/>
<script src="//at.alicdn.com/t/c/font_3380872_l18pdwht2eo.js"></script> <!-- 3.0新版商户后台 -->
<link rel="stylesheet" type="text/css" href="//at.alicdn.com/t/c/font_3380872_l18pdwht2eo.css" /> <!-- 3.0新版商户后台 -->
<title>GIC-集团后台</title> <title>GIC-集团后台</title>
</head> </head>
<body style="background-color: #f0f2f5;min-width: 1400px;"> <body style="background-color: #f0f2f5;min-width: 1400px;">
...@@ -12,7 +14,7 @@ ...@@ -12,7 +14,7 @@
(function() { (function() {
var src = '/component/static/import-component.js?timestrap='+ new Date().getTime(); var src = '/component/static/import-component.js?timestrap='+ new Date().getTime();
var host = window.location.host; var host = window.location.host;
host = host.indexOf('localhost') > -1 || host.indexOf('192.168') > -1 ? 'gicdev.demogic.com' : host; host = host.indexOf('localhost') > -1 || host.indexOf('192.168') > -1 ? 'www.gicdev.com' : host;
document.write('<script src="//'+ host + src +'"><\/script>') document.write('<script src="//'+ host + src +'"><\/script>')
})() })()
</script> </script>
......
...@@ -5,7 +5,7 @@ import { Message } from 'element-ui'; ...@@ -5,7 +5,7 @@ import { Message } from 'element-ui';
// Vue.axios.defaults.timeout = 30000; // Vue.axios.defaults.timeout = 30000;
var local = window.location.origin; var local = window.location.origin;
if (local.indexOf('localhost') != -1) { if (local.indexOf('localhost') != -1) {
local = 'http://gicdev.demogic.com'; local = 'http://www.gicdev.com';
} }
Vue.axios.interceptors.request.use( Vue.axios.interceptors.request.use(
config => { config => {
......
...@@ -7,7 +7,7 @@ export default { ...@@ -7,7 +7,7 @@ export default {
errorMsg: function(response) { errorMsg: function(response) {
var local = window.location.origin; var local = window.location.origin;
if (local.indexOf('localhost') != -1) { if (local.indexOf('localhost') != -1) {
local = 'http://gicdev.demogic.com'; local = 'http://www.gicdev.com';
} }
if (response.errorCode != 0) { if (response.errorCode != 0) {
if (response.errorCode == 401) { if (response.errorCode == 401) {
......
...@@ -5,6 +5,6 @@ ...@@ -5,6 +5,6 @@
var config = window.location.origin; // 获取域名和协议 var config = window.location.origin; // 获取域名和协议
// eslint-disable-next-line // eslint-disable-next-line
module.exports = { module.exports = {
// config: 'http://gicdev.demogic.com', // config: 'http://www.gicdev.com',
config config
}; };
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<div> <div>
<el-radio v-model="ruleForm.integralGetStatus" label="0" @change="radioEvent">不获取积分</el-radio> <el-radio v-model="ruleForm.integralGetStatus" label="0" @change="radioEvent">不获取积分</el-radio>
</div> </div>
<div class="margin-20"> <div class="margin-20 integralGet">
<el-radio v-model="ruleForm.integralGetStatus" label="1">每消费</el-radio> <el-radio v-model="ruleForm.integralGetStatus" label="1">每消费</el-radio>
<!-- <el-input v-model="ruleForm.integralGet.fee" @blur="formatInputFee($event)"></el-input> --> <!-- <el-input v-model="ruleForm.integralGet.fee" @blur="formatInputFee($event)"></el-input> -->
<el-input-number v-model="ruleForm.integralGet.fee" placeholder="请输入" :precision="1" :controls="false" :max="10000.0" :min="0.1"></el-input-number> <el-input-number v-model="ruleForm.integralGet.fee" placeholder="请输入" :precision="1" :controls="false" :max="10000.0" :min="0.1"></el-input-number>
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<div class="form-child margin-20" v-if="ruleForm.integralGetStatus == 1"> <div class="form-child margin-20" v-if="ruleForm.integralGetStatus == 1">
<el-form-item label="折扣控制:" prop="" label-width="100px"> <el-form-item label="折扣控制:" prop="" label-width="100px">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="ruleForm.integralGetDiscountControl" label="1" @change="radioEvent3">所有折扣商品都适用</el-radio> <el-radio class="integralGetDiscountControlLower1" v-model="ruleForm.integralGetDiscountControl" label="1" @change="radioEvent3">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20"> <div class="radio-cell margin-20">
<el-radio v-model="ruleForm.integralGetDiscountControl" label="2">折扣</el-radio> <el-radio v-model="ruleForm.integralGetDiscountControl" label="2">折扣</el-radio>
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<span style="font-size: 12px;color: #828282;line-height: 1;padding-left: 10px;">折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价</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> </div>
</el-form-item> </el-form-item>
<el-form-item label="积分冻结期:" prop="name" label-width="100px" class="padding-bottom-20 margin-20"> <el-form-item label="积分冻结期:" prop="integralGetFreezeDays" label-width="100px" class="padding-bottom-20 margin-20 integralGetFreezeDays">
<label>自获取之日起</label> <label>自获取之日起</label>
<el-input v-model="ruleForm.integralGetFreezeDays" placeholder="请输入" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.integralGetFreezeDays" placeholder="请输入" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
<el-radio v-model="ruleForm.integralUseStatus" label="0" @change="radioEvent1">不支持抵现</el-radio> <el-radio v-model="ruleForm.integralUseStatus" label="0" @change="radioEvent1">不支持抵现</el-radio>
</div> </div>
<div class="margin-20"> <div class="margin-20">
<el-radio v-model="ruleForm.integralUseStatus" label="1">每使用</el-radio> <el-radio class="integralUse" v-model="ruleForm.integralUseStatus" label="1">每使用</el-radio>
<!-- <el-input v-model="ruleForm.integralUse.integral" @keyup.native="formatInput($event)"></el-input> --> <!-- <el-input v-model="ruleForm.integralUse.integral" @keyup.native="formatInput($event)"></el-input> -->
<el-input-number v-model="ruleForm.integralUse.integral" placeholder="请输入" step-strictly :controls="false"></el-input-number> <el-input-number v-model="ruleForm.integralUse.integral" placeholder="请输入" step-strictly :controls="false"></el-input-number>
<label>积分,抵 </label> <label>积分,抵 </label>
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
<el-radio v-model="ruleForm.integralUseDiscountControl" label="1" @change="radioEvent4">所有折扣商品都适用</el-radio> <el-radio v-model="ruleForm.integralUseDiscountControl" label="1" @change="radioEvent4">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20"> <div class="radio-cell margin-20">
<el-radio v-model="ruleForm.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio class="integralUseDiscountControlLower1" v-model="ruleForm.integralUseDiscountControl" label="2">折扣</el-radio>
<!-- <el-input v-model="ruleForm.integralUseDiscountControlLower" @change="formatInputChange($event)"></el-input> --> <!-- <el-input v-model="ruleForm.integralUseDiscountControlLower" @change="formatInputChange($event)"></el-input> -->
<el-input-number v-model="ruleForm.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" ></el-input-number> <el-input-number v-model="ruleForm.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" ></el-input-number>
<label></label> <label></label>
...@@ -72,13 +72,13 @@ ...@@ -72,13 +72,13 @@
<span style="font-size: 12px;color: #828282;line-height: 1;padding-left: 10px;">折扣范围1-10,填写8.8,则表示“打8.8折”,也即商品原价*8.8/10=商品折后价</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> </div>
</el-form-item> </el-form-item>
<el-form-item label="比例限制:" prop="name" class="padding-bottom-20 margin-20"> <el-form-item label="比例限制:" prop="name" class="padding-bottom-20 margin-20 useProportionalRestriction">
<label>最多可抵用商品金额的 </label> <label>最多可抵用商品金额的 </label>
<el-input placeholder="请输入" v-model="ruleForm.useProportionalRestriction" @keyup.native="formatInput($event)"></el-input>% <el-input placeholder="请输入" v-model="ruleForm.useProportionalRestriction" @keyup.native="formatInput($event)"></el-input>%
</el-form-item> </el-form-item>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="积分成本:" required> <el-form-item label="积分成本:" required class="integralCost">
<label>每使用</label> <label>每使用</label>
<el-input-number v-model="ruleForm.integralCost.integral" placeholder="请输入" step-strictly :controls="false"></el-input-number> <el-input-number v-model="ruleForm.integralCost.integral" placeholder="请输入" step-strictly :controls="false"></el-input-number>
<!-- <el-input v-model="ruleForm.integralCost.integral" @keyup.native="formatInput($event)"></el-input> --> <!-- <el-input v-model="ruleForm.integralCost.integral" @keyup.native="formatInput($event)"></el-input> -->
...@@ -88,17 +88,72 @@ ...@@ -88,17 +88,72 @@
<label></label> <label></label>
</el-form-item> </el-form-item>
<dm-sub-title type="fill" text="积分有效期" style="margin-bottom: 20px; margin-top:40px;"/> <dm-sub-title type="fill" text="积分有效期" style="margin-bottom: 20px; margin-top:40px;"/>
<el-form-item label="有效期:" prop="effectiveTime" class="padding-0"> <el-form-item label="有效期:" prop="integralExpireType" class="padding-0 yearY" >
<label>自获取之日起</label> <el-popover width="520" trigger="hover" placement="right">
<el-input v-model="ruleForm.effectiveTime" placeholder="请输入" @keyup.native="formatInput($event)"></el-input><label></label> <span style="font-size: 12px;color: #828282;line-height: 1;padding-left: 10px;">适用于所有方式获取的积分</span> <div style="line-height:20px">
<p style="color:#303133;font-size:12px;font-weight:600">规则说明:</p>
<p style="color:#e6a23c;font-size:12px;">
仅GIC计算积分时,配置的积分有效期才会生效,<br/>
ERP计算积分时,此配置项不生效;
</p>
<ul style="color:#303133;font-size:12px;">
<li>1、永久有效:客户获取的积分永久有效,系统不会清零;</li>
<li>2、按年失效:在第X年的X月X日失效:例:设置第二年的12月1日失效,则2021年获取的所有积分在2022年12月1日失效;</li>
<li>3、按月失效:在第X个月的X日失效:例:设置第二月的1日失效,则3月获取的所有积分在4月1日失效;</li>
<li>4、按天失效:每天获取的所有积分在获取之日起365天后失效:例:设置365天,则2022年12月1号获取的积分在2023年12月1号失效;</li>
<li>5、修改积分有效期后,已经获取的积分有效期不变,后续获取的积分按照修改后的积分有效期生效;</li>
</ul>
</div>
<i slot="reference" class="iconfont icon-QuestionCircleOutlined" style="font-size:14px;color:#606266;"></i>
</el-popover>
<span style="font-size: 12px;color: #909399;line-height: 1;padding-left: 5px;">适用于所有方式获取的积分</span>
<div class="radio-cell mb20">
<el-radio v-model="ruleForm.integralExpireType" label="1" @change="radioExpireType1">永久有效</el-radio>
</div>
<div class="radio-cell mb20">
<el-radio v-model="ruleForm.integralExpireType" label="2" @change="radioExpireType1"><label>按年失效:</label></el-radio>
<label>每年获取的所有积分,在</label>
<el-select v-model="yearY" placeholder="请选择" style="width:120px;margin:0 10px;">
<el-option v-for="n in yearList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label></label>
<el-select v-model="yearM" placeholder="请选择" style="width:120px;margin:0 10px;">
<el-option v-for="n in 12" :key="n" :label="n" :value="n"></el-option>
</el-select>
<label></label>
<el-select v-model="yearD" placeholder="请选择" style="width:120px;margin:0 10px;">
<el-option v-for="n in dayList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label>日失效</label>
</div>
<div class="radio-cell mb20">
<el-radio v-model="ruleForm.integralExpireType" label="3" @change="radioExpireType1"><label>按月失效:</label></el-radio>
<label>每月获取的所有积分,在</label>
<el-select v-model="mouthM" placeholder="请选择" style="width:120px;margin:0 10px;">
<el-option v-for="n in mouthList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label></label>
<el-select v-model="mouthD" placeholder="请选择" style="width:120px;margin:0 10px;">
<el-option v-for="n in dayList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label>日失效</label>
</div>
<div class="radio-cell">
<el-radio v-model="ruleForm.integralExpireType" label="0" @change="radioExpireType1"><label>按天失效:</label></el-radio>
<label>每天获取的所有积分,在获取之日起</label>
<el-input placeholder="请输入" v-model="ruleForm.effectiveTime" @keyup.native="formatInput($event)"></el-input>
<label>天后失效</label>
<span style="font-size: 12px;color: #909399;line-height: 1;padding-left: 10px;">建议不超过3年(1095天)</span>
</div>
</el-form-item>
<dm-sub-title type="fill" text="积分说明" style="margin-bottom: 20px; margin-top:40px;"/>
<p style="font-size:12px; color:#606266">积分说明展示在会员小程序-积分商城-积分明细页</p>
<el-form-item label="" label-width="0" prop="desc" class="margin-20">
<div class="tinymce-wrap">
<editor id="tinymce" v-model="ruleForm.integralScript" :init="init"></editor>
</div>
<!-- <div v-html='tinymceHtml'></div> -->
</el-form-item> </el-form-item>
<dm-sub-title type="fill" text="积分说明" style="margin-bottom: 20px; margin-top:40px;"/>
<el-form-item label="" label-width="0" prop="desc" class="margin-20">
<div class="tinymce-wrap">
<editor id="tinymce" v-model="ruleForm.integralScript" :init="init"></editor>
</div>
<!-- <div v-html='tinymceHtml'></div> -->
</el-form-item>
</el-form> </el-form>
</div> </div>
<div class="bottom"> <div class="bottom">
...@@ -109,7 +164,7 @@ ...@@ -109,7 +164,7 @@
<script type="text/javascript"> <script type="text/javascript">
import { postRequest, postForm } from '@/api/api'; import { postRequest, postForm } from '@/api/api';
import { log } from '@/utils/index.js'; import { log } from '@/utils/index.js';
import errMsg from '@/common/js/error';
import strLength from '@/common/js/strlen'; import strLength from '@/common/js/strlen';
import tinymce from 'tinymce/tinymce'; import tinymce from 'tinymce/tinymce';
import 'tinymce/themes/modern/theme'; import 'tinymce/themes/modern/theme';
...@@ -123,6 +178,7 @@ import 'tinymce/plugins/contextmenu'; ...@@ -123,6 +178,7 @@ import 'tinymce/plugins/contextmenu';
import 'tinymce/plugins/wordcount'; import 'tinymce/plugins/wordcount';
import 'tinymce/plugins/colorpicker'; import 'tinymce/plugins/colorpicker';
import 'tinymce/plugins/textcolor'; import 'tinymce/plugins/textcolor';
import { scrollToError } from '@/utils/validate';
export default { export default {
name: 'pointSystem', name: 'pointSystem',
props: { props: {
...@@ -131,7 +187,41 @@ export default { ...@@ -131,7 +187,41 @@ export default {
contactBool: Boolean contactBool: Boolean
}, },
data() { data() {
// 天数
const dayList = ()=> {
let arr = []
for(let i = 1; i < 28; i++){
arr.push({key: `${i}`,value: `${i}`})
}
arr.push({key: '0', value: '月末'})
return arr;
}
// 月数
const mouthList = ()=> {
let arr = []
for(let i = 2; i < 37; i++){
arr.push({key: i,value: `第${i}个月`})
}
return arr;
}
// 年数
const yearList = ()=> {
let arr = []
for(let i = 2; i < 5; i++){
arr.push({key: i,value: `第${i}年`})
}
return arr;
}
return { return {
scrollToError,
dayList: dayList(),
mouthList: mouthList(),
mouthM: '', //按月失效 月
mouthD: '', //按月失效 月
yearList: yearList(),
yearY: '', //按年失效 年
yearM: '', //按年失效 月
yearD: '', //按年失效 日
repProjectName: 'gic-clique', repProjectName: 'gic-clique',
// form // form
...@@ -157,9 +247,9 @@ export default { ...@@ -157,9 +247,9 @@ export default {
integralUse: { fee: undefined, integral: undefined }, //积分使用 integralUse: { fee: undefined, integral: undefined }, //积分使用
integralGetStrategy: '1', integralGetStrategy: '1',
integralScript: '', //说明 integralScript: '', //说明
integralGetStatus: '1', //积分获得开启(0:否,1:是) integralGetStatus: '0', //积分获得开启(0:否,1:是)
integralUseStatus: '1', //积分使用开启(0:否,1:是) integralUseStatus: '0', //积分使用开启(0:否,1:是)
effectiveTime: '', //积分有效期 effectiveTime: '0', //积分有效期
integralGetDiscountControl: '2', integralGetDiscountControl: '2',
integralGetDiscountControlUpper: undefined, // 折扣控制 折扣范围 下限 integralGetDiscountControlUpper: undefined, // 折扣控制 折扣范围 下限
integralGetDiscountControlLower: undefined, // 折扣控制 折扣范围 上限 integralGetDiscountControlLower: undefined, // 折扣控制 折扣范围 上限
...@@ -168,7 +258,9 @@ export default { ...@@ -168,7 +258,9 @@ export default {
integralUseDiscountControlUpper: undefined, integralUseDiscountControlUpper: undefined,
integralUseDiscountControlLower: undefined, integralUseDiscountControlLower: undefined,
useProportionalRestriction: '90', //抵现比例限制 useProportionalRestriction: '90', //抵现比例限制
integralCost: { fee: undefined, integral: undefined } //积分成本 integralCost: { fee: undefined, integral: undefined }, //积分成本
integralExpireType: '0', //积分有效期类型 0 未默认滚动到期 1永久 2 按年失效 3按月失效
integralExpireRule: '', //积分有效期规则 年 x(年),x(月),x(日,为0标识月末) 月,x(月),x(日,为0标识月末)
}, },
rules: { rules: {
integralGetStatus: [ integralGetStatus: [
...@@ -177,8 +269,8 @@ export default { ...@@ -177,8 +269,8 @@ export default {
integralUseStatus: [ integralUseStatus: [
{ required: true, message: '请选择抵现规则', trigger: 'blur' }, { required: true, message: '请选择抵现规则', trigger: 'blur' },
], ],
effectiveTime: [ integralExpireType: [
{ required: true, message: '请填写有效期', trigger: 'blur' }, { required: true, message: '请选择积分有效期', trigger: 'blur' },
], ],
// strategyName: [ // strategyName: [
// { required: true, message: '请填写策略名称', trigger: 'blur' }, // { required: true, message: '请填写策略名称', trigger: 'blur' },
...@@ -219,6 +311,7 @@ export default { ...@@ -219,6 +311,7 @@ export default {
}, },
created() { created() {
// this.selectReplayStyle() // this.selectReplayStyle()
this.getPointInfos();
}, },
methods: { methods: {
radioEvent() { radioEvent() {
...@@ -237,6 +330,31 @@ export default { ...@@ -237,6 +330,31 @@ export default {
this.ruleForm.integralUseDiscountControlLower = undefined; this.ruleForm.integralUseDiscountControlLower = undefined;
this.ruleForm.integralUseDiscountControlUpper =undefined; this.ruleForm.integralUseDiscountControlUpper =undefined;
}, },
radioExpireType1(e) {
if(e==0){
this.yearY='';
this.yearM='';
this.yearD='';
this.mouthM='';
this.mouthD='';
}else if(e==1) {
this.yearY='';
this.yearM='';
this.yearD='';
this.mouthM='';
this.mouthD='';
this.ruleForm.effectiveTime = undefined;
}else if (e==2) {
this.mouthM='';
this.mouthD='';
this.ruleForm.effectiveTime = undefined;
} else if (e == 3) {
this.yearY='';
this.yearM='';
this.yearD='';
this.ruleForm.effectiveTime = undefined;
}
},
// 保存 // 保存
submitForm(formName) { submitForm(formName) {
let that = this; let that = this;
...@@ -249,23 +367,27 @@ export default { ...@@ -249,23 +367,27 @@ export default {
// 非空验证 // 非空验证
let flag = !data.integralGet.fee || !data.integralGet.integral; let flag = !data.integralGet.fee || !data.integralGet.integral;
if (data.integralGetStatus == 1 && flag) { if (data.integralGetStatus == 1 && flag) {
this.scrollToError(this, 'integralGet');
that.$message.error('请填写积分获取规则'); that.$message.error('请填写积分获取规则');
return; return;
} }
if (data.integralGetStatus == 1) { if (data.integralGetStatus == 1) {
if (!Number(data.integralGet.fee)) { if (!Number(data.integralGet.fee)) {
this.scrollToError(this, 'integralGet');
that.$message.error('积分获取规则中的消费金额不能为0'); that.$message.error('积分获取规则中的消费金额不能为0');
return; return;
} }
if (!Number(data.integralGet.integral)) { if (!Number(data.integralGet.integral)) {
this.scrollToError(this, 'integralGet');
that.$message.error('积分获取规则中的获取积分不能为0'); that.$message.error('积分获取规则中的获取积分不能为0');
return; return;
} }
} }
// log(String(data.integralGetFreezeDays)); // log(String(data.integralGetFreezeDays));
if (String(data.integralGetFreezeDays) == '') { if (data.integralGetStatus == 1 && String(data.integralGetFreezeDays) == '') {
this.scrollToError(this, 'integralGetFreezeDays');
// 积分冻结期 // 积分冻结期
that.$message.error({ that.$message.error({
duration: 1000, duration: 1000,
...@@ -274,25 +396,49 @@ export default { ...@@ -274,25 +396,49 @@ export default {
return; return;
} }
if (data.effectiveTime == '') { if(data.integralExpireType == ''){ // 积分有效期类型
// 积分有效期 this.scrollToError(this, 'yearY');
that.$message.error({ that.$message.error({
duration: 1000, duration: 1000,
message: '请填写积分有效期' message: "请设置积分有效期"
})
return;
}
if(data.integralExpireType ==3 && (this.mouthM == '' || this.mouthD == '')) {
this.scrollToError(this, 'yearY');
that.$message.error({
duration: 1000,
message: "请完善积分有效期信息"
})
return;
}else if(data.integralExpireType ==2 && (this.yearY == '' || this.yearM == '' || this.yearD == '' )) {
this.scrollToError(this, 'yearY');
that.$message.error({
duration: 1000,
message: "请完善积分有效期信息"
})
return;
} else if (data.integralExpireType ==0 && data.effectiveTime=='') {
this.scrollToError(this, 'yearY');
that.$message.error({
duration: 1000,
message: "请完善积分有效期信息"
})
return;
}else if ( String(data.integralExpireType)== 0 && data.effectiveTime=='' && parseInt(data.effectiveTime) < 1) {
this.scrollToError(this, 'yearY');
that.$message.error({
duration: 1000,
message: '积分有效期不能低于最低限制'
}); });
return; return;
} else {
if (parseInt(data.effectiveTime) < 1) {
that.$message.error({
duration: 1000,
message: '积分有效期不能低于最低限制'
});
return;
}
} }
let tag = !data.integralUse.fee || !data.integralUse.integral || !data.integralCost.integral || !data.integralCost.fee || !parseInt(data.useProportionalRestriction); let tag = !data.integralUse.fee || !data.integralUse.integral || !data.integralCost.integral || !data.integralCost.fee || !parseInt(data.useProportionalRestriction);
if (data.integralUseStatus == 1 && tag) { if (data.integralUseStatus == 1 && tag) {
this.scrollToError(this, 'integralUse');
that.$message.error({ that.$message.error({
duration: 1000, duration: 1000,
message: '请填写积分抵现规则' message: '请填写积分抵现规则'
...@@ -301,20 +447,24 @@ export default { ...@@ -301,20 +447,24 @@ export default {
} }
if (data.integralUseStatus == 1) { if (data.integralUseStatus == 1) {
if (!Number(data.integralUse.fee)) { if (!Number(data.integralUse.fee)) {
this.scrollToError(this, 'integralUse');
that.$message.error('积分抵现规则中的抵现金额不能为0'); that.$message.error('积分抵现规则中的抵现金额不能为0');
return; return;
} }
if (!Number(data.integralUse.integral)) { if (!Number(data.integralUse.integral)) {
this.scrollToError(this, 'integralUse');
that.$message.error('积分抵现规则中的使用积分不能为0'); that.$message.error('积分抵现规则中的使用积分不能为0');
return; return;
} }
} }
// 积分成本 // 积分成本
if (!Number(data.integralCost.fee)) { if (!Number(data.integralCost.fee)) {
this.scrollToError(this, 'integralCost');
that.$message.error('积分成本中的承担金额不能为0'); that.$message.error('积分成本中的承担金额不能为0');
return; return;
} }
if (!Number(data.integralCost.integral)) { if (!Number(data.integralCost.integral)) {
this.scrollToError(this, 'integralCost');
that.$message.error('积分成本中的使用积分不能为0'); that.$message.error('积分成本中的使用积分不能为0');
return; return;
} }
...@@ -323,10 +473,12 @@ export default { ...@@ -323,10 +473,12 @@ export default {
if (data.integralGetStatus == 1 && data.integralGetDiscountControl == 2) { if (data.integralGetStatus == 1 && data.integralGetDiscountControl == 2) {
let flagA = Number(data.integralGetDiscountControlUpper) <= Number(data.integralGetDiscountControlLower); let flagA = Number(data.integralGetDiscountControlUpper) <= Number(data.integralGetDiscountControlLower);
if (!data.integralGetDiscountControlLower || !data.integralGetDiscountControlUpper) { if (!data.integralGetDiscountControlLower || !data.integralGetDiscountControlUpper) {
this.scrollToError(this, 'integralGetDiscountControlLower1');
that.$message.error('请输入商品折扣值'); that.$message.error('请输入商品折扣值');
return; return;
} }
if (flagA) { if (flagA) {
this.scrollToError(this, 'integralGetDiscountControlLower1');
that.$message.error('积分获取规则中的折扣格式有误'); that.$message.error('积分获取规则中的折扣格式有误');
return; return;
} }
...@@ -334,16 +486,19 @@ export default { ...@@ -334,16 +486,19 @@ export default {
if (data.integralUseStatus == 1 && data.integralUseDiscountControl == 2) { if (data.integralUseStatus == 1 && data.integralUseDiscountControl == 2) {
let flagB = Number(data.integralUseDiscountControlUpper) <= Number(data.integralUseDiscountControlLower); let flagB = Number(data.integralUseDiscountControlUpper) <= Number(data.integralUseDiscountControlLower);
if (!data.integralUseDiscountControlLower || !data.integralUseDiscountControlUpper) { if (!data.integralUseDiscountControlLower || !data.integralUseDiscountControlUpper) {
this.scrollToError(this, 'integralUseDiscountControlLower1');
that.$message.error('请输入商品折扣值'); that.$message.error('请输入商品折扣值');
return; return;
} }
if (flagB) { if (flagB) {
this.scrollToError(this, 'integralUseDiscountControlLower1');
that.$message.error('积分抵现规则中的折扣格式有误'); that.$message.error('积分抵现规则中的折扣格式有误');
return; return;
} }
} }
if (data.useProportionalRestriction > 100) { if (data.useProportionalRestriction > 100) {
this.scrollToError(this, 'useProportionalRestriction');
that.$message.error('比例限制文本格式有误'); that.$message.error('比例限制文本格式有误');
return; return;
} }
...@@ -357,9 +512,30 @@ export default { ...@@ -357,9 +512,30 @@ export default {
data.integralGet = JSON.stringify(data.integralGet)?JSON.stringify(data.integralGet):that.ruleForm.integralGet; 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.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; data.integralCost = JSON.stringify(data.integralCost)?JSON.stringify(data.integralCost):that.ruleForm.integralCost;
if( data.integralExpireType == 0){
data.integralExpireRule = ''
}else if(data.integralExpireType == 1) {
data.integralExpireRule = ''
delete data.effectiveTime
} else if(data.integralExpireType == 2) {
data.integralExpireRule = `${this.yearY},${this.yearM},${this.yearD}`
delete data.effectiveTime
}else if(data.integralExpireType == 3) {
data.integralExpireRule = `${this.mouthM},${this.mouthD}`
delete data.effectiveTime
}
that.saveInfo(data); that.saveInfo(data);
} else { } else {
// log('error submit!!'); // log('error submit!!');
setTimeout(() => {
var isError = document.getElementsByClassName("is-error");
if (isError[0].querySelector('input')) {
isError[0].querySelector('input').focus();
} else if (isError[0].querySelector('textarea')) {
isError[0].querySelector('textarea').focus();
}
}, 1)
return false; return false;
} }
}); });
...@@ -369,7 +545,7 @@ export default { ...@@ -369,7 +545,7 @@ export default {
let that = this; let that = this;
let param = data; let param = data;
param.requestProject = that.repProjectName; param.requestProject = that.repProjectName;
// log(param) log(param, 9090)
postRequest('/api-admin/save-member-integral-setting', param) postRequest('/api-admin/save-member-integral-setting', param)
.then(res => { .then(res => {
// log(res,res.data,res.data.errorCode) // log(res,res.data,res.data.errorCode)
...@@ -434,7 +610,120 @@ export default { ...@@ -434,7 +610,120 @@ export default {
} }
that.$forceUpdate(); that.$forceUpdate();
} },
// 通用积分
getPointInfos() {
var that = this
var param = {
requestProject: that.projectName
}
postRequest('/api-admin/get-member-integral-setting',param)
.then((res) => {
var resData = res.data
// console.log(resData, 'ppp');
if (resData.errorCode == 0) {
// that.pointInfo = that.handleData(resData.result.memberIntegral)
that.ruleForm = that.handleData(resData.result.memberIntegral);
that.ruleForm.integralExpireRule = that.ruleForm.integralExpireRule ? that.ruleForm.integralExpireRule.split(',') : '';
if(this.ruleForm.integralGetStatus == 0) {
this.ruleForm.integralGet.fee = undefined;
this.ruleForm.integralGet.integral = undefined;
}
if(this.ruleForm.integralUseStatus == 0) {
this.ruleForm.integralUse.fee = undefined;
this.ruleForm.integralUse.integral = undefined;
}
// 给定一个默认值
if (that.ruleForm.integralGetDiscountControl == 0) {
this.ruleForm.integralGetDiscountControl = '1';
}
if (that.ruleForm.integralUseDiscountControl == 0) {
this.ruleForm.integralUseDiscountControl = '1';
}
if(this.ruleForm.integralGetDiscountControl == 1) {
this.ruleForm.integralGetDiscountControlLower = undefined;
this.ruleForm.integralGetDiscountControlUpper = undefined
}
if(this.ruleForm.integralUseDiscountControl == 1) {
this.ruleForm.integralUseDiscountControlLower = undefined;
this.ruleForm.integralUseDiscountControlUpper = undefined
}
if(this.ruleForm.integralExpireType == 'null'){
this.ruleForm.integralExpireType = '0';
}else if(that.ruleForm.integralExpireType == 2) {
this.yearY = Number(this.ruleForm.integralExpireRule[0]);
this.yearM = Number(this.ruleForm.integralExpireRule[1]);
this.yearD = this.ruleForm.integralExpireRule[2];
this.ruleForm.effectiveTime = ''
console.log(that.yearY, that.yearM, that.yearD);
}else if(this.ruleForm.integralExpireType == 3) {
this.mouthM = Number(this.ruleForm.integralExpireRule[0]);
this.mouthD = this.ruleForm.integralExpireRule[1];
this.ruleForm.effectiveTime = ''
}else if(that.ruleForm.integralExpireType == 1) {
that.ruleForm.effectiveTime = ''
}
return;
}
errMsg.errorMsg(resData)
})
.catch(function (error) {
console.log(error);
});
},
// 处理表单中数据
handleData(item) {
item.integralGetStatus = String(item.integralGetStatus);
item.integralUseStatus = String(item.integralUseStatus);
item.integralGetStrategy = String(item.integralGetStrategy);
item.integralGetDiscountControl = String(item.integralGetDiscountControl);
item.integralUseDiscountControl = String(item.integralUseDiscountControl);
item.integralGetDiscountControlUpper = String(item.integralGetDiscountControlUpper);
item.integralGetDiscountControlLower = String(item.integralGetDiscountControlLower);
item.integralUseDiscountControlUpper = String(item.integralUseDiscountControlUpper);
item.integralUseDiscountControlLower = String(item.integralUseDiscountControlLower);
item.integralExpireType = String(item.integralExpireType);
item.integralExpireRule = String(item.integralExpireRule);
// 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;
}
}
},
}, },
watch: { watch: {
projectName: function(newData, oldData) { projectName: function(newData, oldData) {
...@@ -442,35 +731,55 @@ export default { ...@@ -442,35 +731,55 @@ export default {
// log("新数据:",newData,oldData) // log("新数据:",newData,oldData)
that.repProjectName = newData || 'gic-web'; that.repProjectName = newData || 'gic-web';
}, },
pointInfo: function(newData, oldData) { // pointInfo: {
let that = this; // handle: function(newData, oldData) {
if (newData) { // console.log(newData, oldData, 'newData, oldData');
that.ruleForm = newData; // let that = this;
if(this.ruleForm.integralGetStatus == 0) { // if (newData) {
this.ruleForm.integralGet.fee = undefined; // that.ruleForm = newData;
this.ruleForm.integralGet.integral = undefined; // that.ruleForm.integralExpireRule = that.ruleForm.integralExpireRule.split(',')
} // if(this.ruleForm.integralGetStatus == 0) {
if(this.ruleForm.integralUseStatus == 0) { // this.ruleForm.integralGet.fee = undefined;
this.ruleForm.integralUse.fee = undefined; // this.ruleForm.integralGet.integral = undefined;
this.ruleForm.integralUse.integral = undefined; // }
} // if(this.ruleForm.integralUseStatus == 0) {
// 给定一个默认值 // this.ruleForm.integralUse.fee = undefined;
if (newData.integralGetDiscountControl == 0) { // this.ruleForm.integralUse.integral = undefined;
this.ruleForm.integralGetDiscountControl = '1'; // }
} // // 给定一个默认值
if (newData.integralUseDiscountControl == 0) { // if (newData.integralGetDiscountControl == 0) {
this.ruleForm.integralUseDiscountControl = '1'; // this.ruleForm.integralGetDiscountControl = '1';
} // }
if(this.ruleForm.integralGetDiscountControl == 1) { // if (newData.integralUseDiscountControl == 0) {
this.ruleForm.integralGetDiscountControlLower = undefined; // this.ruleForm.integralUseDiscountControl = '1';
this.ruleForm.integralGetDiscountControlUpper = undefined // }
} // if(this.ruleForm.integralGetDiscountControl == 1) {
if(this.ruleForm.integralUseDiscountControl == 1) { // this.ruleForm.integralGetDiscountControlLower = undefined;
this.ruleForm.integralUseDiscountControlLower = undefined; // this.ruleForm.integralGetDiscountControlUpper = undefined
this.ruleForm.integralUseDiscountControlUpper = undefined // }
} // if(this.ruleForm.integralUseDiscountControl == 1) {
} // this.ruleForm.integralUseDiscountControlLower = undefined;
} // this.ruleForm.integralUseDiscountControlUpper = undefined
// }
// if(this.ruleForm.integralExpireType == null){
// this.ruleForm.integralExpireType = 1;
// }else if(that.ruleForm.integralExpireType == 2) {
// this.yearY = Number(this.ruleForm.integralExpireRule[0]);
// this.yearM = Number(this.ruleForm.integralExpireRule[1]);
// this.yearD = Number(this.ruleForm.integralExpireRule[2]);
// this.ruleForm.effectiveTime = ''
// console.log(that.yearY, that.yearM, that.yearD);
// }else if(this.ruleForm.integralExpireType == 3) {
// this.mouthM = Number(this.ruleForm.integralExpireRule[0]);
// this.mouthD = Number(this.ruleForm.integralExpireRule[1]);
// this.ruleForm.effectiveTime = ''
// }else if(that.ruleForm.integralExpireType == 1) {
// that.ruleForm.effectiveTime = ''
// }
// }
// },
// immediate: true
// }
}, },
components: { components: {
Editor Editor
...@@ -479,6 +788,7 @@ export default { ...@@ -479,6 +788,7 @@ export default {
let that = this; let that = this;
tinymce.init({}); tinymce.init({});
// 传递的数据非空赋值 // 传递的数据非空赋值
console.log(Object.keys(that.pointInfo), 'Object.keys(that.pointInfo)');
if (that.pointInfo) { if (that.pointInfo) {
if (Object.keys(that.pointInfo).length) { if (Object.keys(that.pointInfo).length) {
that.ruleForm = that.pointInfo; that.ruleForm = that.pointInfo;
...@@ -488,6 +798,9 @@ export default { ...@@ -488,6 +798,9 @@ export default {
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.mb20 {
margin-bottom: 20px;
}
.bottom{ .bottom{
position: fixed; position: fixed;
bottom: 0px; bottom: 0px;
......
...@@ -40,3 +40,20 @@ export function validateEmail(email) { ...@@ -40,3 +40,20 @@ export function validateEmail(email) {
const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email); return re.test(email);
} }
/** 表单校验滚动到第一个错误项
* @param {Object} that vue实例
* this.scrollToError(this);
*/
export const scrollToError = (that, className = 'is-error') => {
that.$nextTick(_ => {
const isError = document.getElementsByClassName(className);
isError[0].scrollIntoView({
// 滚动到指定节点
// 值有start,center,end,nearest,当前显示在视图区域中间
block: 'center',
// 值有auto、instant,smooth,缓动动画(当前是慢速的)
behavior: 'smooth'
});
});
};
...@@ -355,7 +355,7 @@ export default { ...@@ -355,7 +355,7 @@ export default {
postRequest('/api-admin/download-clique-settlement', para).then(res => { postRequest('/api-admin/download-clique-settlement', para).then(res => {
let config = window.location.origin; // 获取域名和协议 let config = window.location.origin; // 获取域名和协议
if (config.indexOf('localhost') > -1) { if (config.indexOf('localhost') > -1) {
config = 'http://gicdev.demogic.com'; config = 'http://www.gicdev.com';
} }
window.location.href = config + '/api-admin/download-clique-settlement?requestProject=' + this.repProjectName; window.location.href = config + '/api-admin/download-clique-settlement?requestProject=' + this.repProjectName;
}); });
......
...@@ -20,7 +20,7 @@ export default { ...@@ -20,7 +20,7 @@ export default {
let host = window.location.origin; let host = window.location.origin;
log('当前host:', host); log('当前host:', host);
if (host.indexOf('localhost') != '-1') { if (host.indexOf('localhost') != '-1') {
that.baseUrl = 'http://gicdev.demogic.com'; that.baseUrl = 'http://www.gicdev.com';
} else { } else {
that.baseUrl = host; that.baseUrl = host;
} }
......
...@@ -146,11 +146,11 @@ ...@@ -146,11 +146,11 @@
<el-input v-model="ruleForm.upLevelHighcost" @focus="inputFocus('upLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelHighcost" @focus="inputFocus('upLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
</div> </div>
<div class="check-cell"> <!-- <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelDaystoredSelect">当天储值满</el-checkbox> <el-checkbox v-model="ruleForm.upLevelDaystoredSelect">当天储值满</el-checkbox>
<el-input v-model="ruleForm.upLevelDaystored" @focus="inputFocus('upLevelDaystored', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelDaystored" @focus="inputFocus('upLevelDaystored', 'money')" @keyup.native="formatInput($event)"></el-input>
<label> 元 </label> <label> 元 </label>
</div> </div> -->
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelSumcostSelect"></el-checkbox> <el-checkbox v-model="ruleForm.upLevelSumcostSelect"></el-checkbox>
<el-input v-model="ruleForm.upLevelSumcostDays" @focus="inputFocus('upLevelSumcostDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelSumcostDays" @focus="inputFocus('upLevelSumcostDays', 'day')" @keyup.native="formatInput($event)"></el-input>
...@@ -165,13 +165,13 @@ ...@@ -165,13 +165,13 @@
<el-input v-model="ruleForm.upLevelCosttimes" @focus="inputFocus('upLevelCosttimes', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelCosttimes" @focus="inputFocus('upLevelCosttimes', 'day')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
</div> </div>
<div class="check-cell"> <!-- <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelSumstoredSelect"></el-checkbox> <el-checkbox v-model="ruleForm.upLevelSumstoredSelect"></el-checkbox>
<el-input v-model="ruleForm.upLevelSumstoredDays" @focus="inputFocus('upLevelSumstoredDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelSumstoredDays" @focus="inputFocus('upLevelSumstoredDays', 'day')" @keyup.native="formatInput($event)"></el-input>
<label>天内储值满</label> <label>天内储值满</label>
<el-input v-model="ruleForm.upLevelSumstored" @focus="inputFocus('upLevelSumstored', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelSumstored" @focus="inputFocus('upLevelSumstored', 'money')" @keyup.native="formatInput($event)"></el-input>
<label> 元 </label> <label> 元 </label>
</div> </div> -->
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelSumintegralSelect"></el-checkbox> <el-checkbox v-model="ruleForm.upLevelSumintegralSelect"></el-checkbox>
<el-input v-model="ruleForm.upLevelSumintegralDays" @focus="inputFocus('upLevelSumintegralDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelSumintegralDays" @focus="inputFocus('upLevelSumintegralDays', 'day')" @keyup.native="formatInput($event)"></el-input>
...@@ -205,13 +205,13 @@ ...@@ -205,13 +205,13 @@
<el-input v-model="ruleForm.lowLevelHighcost" @focus="inputFocus('lowLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelHighcost" @focus="inputFocus('lowLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
</div> </div>
<div class="check-cell"> <!-- <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelDaystoredSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelDaystoredSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelDaystoredDays" @focus="inputFocus('lowLevelDaystoredDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelDaystoredDays" @focus="inputFocus('lowLevelDaystoredDays', 'day')" @keyup.native="formatInput($event)"></el-input>
<label>天内单天储值满</label> <label>天内单天储值满</label>
<el-input v-model="ruleForm.lowLevelDaystored" @focus="inputFocus('lowLevelDaystored', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelDaystored" @focus="inputFocus('lowLevelDaystored', 'money')" @keyup.native="formatInput($event)"></el-input>
<label> 元 </label> <label> 元 </label>
</div> </div> -->
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelSumcostSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelSumcostSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelSumcostDays" @focus="inputFocus('lowLevelSumcostDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelSumcostDays" @focus="inputFocus('lowLevelSumcostDays', 'day')" @keyup.native="formatInput($event)"></el-input>
...@@ -226,13 +226,13 @@ ...@@ -226,13 +226,13 @@
<el-input v-model="ruleForm.lowLevelCosttimes" @focus="inputFocus('lowLevelCosttimes', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelCosttimes" @focus="inputFocus('lowLevelCosttimes', 'day')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
</div> </div>
<div class="check-cell"> <!-- <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelSumstoredSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelSumstoredSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelSumstoredDays" @focus="inputFocus('lowLevelSumstoredDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelSumstoredDays" @focus="inputFocus('lowLevelSumstoredDays', 'day')" @keyup.native="formatInput($event)"></el-input>
<label>天内储值满</label> <label>天内储值满</label>
<el-input v-model="ruleForm.lowLevelSumstored" @focus="inputFocus('lowLevelSumstored', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelSumstored" @focus="inputFocus('lowLevelSumstored', 'money')" @keyup.native="formatInput($event)"></el-input>
<label> 元 </label> <label> 元 </label>
</div> </div> -->
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelSumintegralSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelSumintegralSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelSumintegralDays" @focus="inputFocus('lowLevelSumintegralDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelSumintegralDays" @focus="inputFocus('lowLevelSumintegralDays', 'day')" @keyup.native="formatInput($event)"></el-input>
...@@ -333,11 +333,11 @@ export default { ...@@ -333,11 +333,11 @@ export default {
upLevelSumstoredDays: '0', upLevelSumstoredDays: '0',
upLevelSumintegralSelect: false, //x天内获得x积分 upLevelSumintegralSelect: false, //x天内获得x积分
upLevelSumintegral: '0', upLevelSumintegral: '0',
upLevelSumintegralDays: '', upLevelSumintegralDays: '0',
upLevelConsumeSelect: false, // x天内消费满x元-开关 upLevelConsumeSelect: false, // x天内消费满x元-开关
upLevelConsumeCost: '0', // x天内消费满x元 upLevelConsumeCost: '0', // x天内消费满x元
autoDowngrade: true, //自动降级 1启用 2停用 autoDowngrade: true, //自动降级 1启用 2停用
gradeEffectDay: '0', //自升级之日起算X天 gradeEffectDay: 0, //自升级之日起算X天
lowLevelHighcostDays: '0', //x天内单天消费满x元 lowLevelHighcostDays: '0', //x天内单天消费满x元
lowLevelHighcost: '0', lowLevelHighcost: '0',
lowLevelHighcostSelect: false, lowLevelHighcostSelect: false,
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="人群定向:" v-if="ruleForm.useCrowd == 2" prop class="padding-0"> <el-form-item label="人群定向:" v-if="ruleForm.useCrowd == 2" prop class="padding-0 selectCount">
<el-button @click="showPeople">已设置{{ selectCount }}项筛选</el-button> <el-button @click="showPeople">已设置{{ selectCount }}项筛选</el-button>
</el-form-item> </el-form-item>
<el-form-item label="适用条件:" class="padding-0"> <el-form-item label="适用条件:" class="padding-0">
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
<!-- 商品品牌 --> <!-- 商品品牌 -->
<el-select <el-select
size="small" size="small"
class="fl w240" class="fl w240 valueWx"
@change="selectGoodsStoreWx" @change="selectGoodsStoreWx"
v-if="item.channelRelationProType == 2" v-if="item.channelRelationProType == 2"
v-model="valueWx" v-model="valueWx"
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
></el-option> ></el-option>
</el-select> </el-select>
<!-- 商品品类 --> <!-- 商品品类 -->
<div v-if="item.channelRelationProType == 3" class="fl goods-cate"> <div v-if="item.channelRelationProType == 3" class="fl goods-cate cateDataWx">
<goodsCate <goodsCate
ref="selectGoodsCate" ref="selectGoodsCate"
:selectCateType="selectCateTypeWx" :selectCateType="selectCateTypeWx"
...@@ -105,16 +105,16 @@ ...@@ -105,16 +105,16 @@
</div> </div>
<el-button <el-button
style="width:202px" style="width:202px"
class="fl" class="fl goodsListWx"
v-if="item.channelRelationProType == 4" v-if="item.channelRelationProType == 4"
@click="showGoodsDialog('wx')" @click="showGoodsDialog('wx')"
>已选{{ goodsListWx.length }}件商品</el-button> >已选{{ goodsListWx.length }}件商品</el-button>
</el-form-item> </el-form-item>
<el-form-item label="折扣控制:" prop="region" class="margin-20"> <el-form-item label="折扣控制:" prop="region" class="margin-20">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEvent2">所有折扣商品都适用</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEventn(2)">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20 padding-bottom-20"> <div class="radio-cell margin-20 padding-bottom-20 zk0">
<el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio>
<el-input-number <el-input-number
placeholder="请输入" placeholder="请输入"
...@@ -164,9 +164,9 @@ ...@@ -164,9 +164,9 @@
</el-form-item> </el-form-item>
<el-form-item label="折扣控制:" prop="region" class="input-margin-b margin-20 padding-bottom-20"> <el-form-item label="折扣控制:" prop="region" class="input-margin-b margin-20 padding-bottom-20">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEvent1">所有折扣商品都适用</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEventn(1)">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20"> <div class="radio-cell margin-20 zk1">
<el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio>
<el-input-number placeholder="请输入" v-model="item.integralUseDiscountControlLower" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number> <el-input-number placeholder="请输入" v-model="item.integralUseDiscountControlLower" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number>
<label></label> <label></label>
...@@ -184,7 +184,7 @@ ...@@ -184,7 +184,7 @@
<div> <div>
<el-radio v-model="ruleForm.integralUseStatus" label="0" @change="radioEvent()">不支持抵现</el-radio> <el-radio v-model="ruleForm.integralUseStatus" label="0" @change="radioEvent()">不支持抵现</el-radio>
</div> </div>
<div class="margin-20"> <div class="margin-20 integralUse">
<el-radio v-model="ruleForm.integralUseStatus" label="1">每使用</el-radio> <el-radio v-model="ruleForm.integralUseStatus" label="1">每使用</el-radio>
<el-input-number <el-input-number
placeholder="请输入" placeholder="请输入"
...@@ -292,7 +292,7 @@ import strLength from '@/common/js/strlen'; ...@@ -292,7 +292,7 @@ import strLength from '@/common/js/strlen';
import { getRequest, postRequest, postJson } from '@/api/api'; import { getRequest, postRequest, postJson } from '@/api/api';
import { log } from '@/utils/index.js'; import { log } from '@/utils/index.js';
import wmMixins from './strategy.js'; import wmMixins from './strategy.js';
import { scrollToError } from '@/utils/validate';
const timeStramp = { const timeStramp = {
year: new Date().getFullYear(), year: new Date().getFullYear(),
month: new Date().getMonth(), month: new Date().getMonth(),
...@@ -304,6 +304,7 @@ export default { ...@@ -304,6 +304,7 @@ export default {
mixins: [wmMixins], mixins: [wmMixins],
data() { data() {
return { return {
scrollToError,
repProjectName: 'gic-clique', repProjectName: 'gic-clique',
navpath: [ navpath: [
{ {
...@@ -484,15 +485,9 @@ export default { ...@@ -484,15 +485,9 @@ export default {
// this.selectReplayStyle() // this.selectReplayStyle()
}, },
methods: { methods: {
radioEvent2() { radioEventn(n) {
// console.log(this.ruleForm.channelType, 78787); this.ruleForm.channelList[n].integralUseDiscountControlLower = undefined;
this.ruleForm.channelList[0].integralUseDiscountControlLower = undefined; this.ruleForm.channelList[n].integralUseDiscountControlUpper = undefined;
this.ruleForm.channelList[0].integralUseDiscountControlUpper = undefined;
},
radioEvent1() {
// console.log(this.ruleForm.channelType, 78787);
this.ruleForm.channelList[1].integralUseDiscountControlLower = undefined;
this.ruleForm.channelList[1].integralUseDiscountControlUpper = undefined;
}, },
radioEvent() { radioEvent() {
this.ruleForm.integralUse.fee = undefined; this.ruleForm.integralUse.fee = undefined;
...@@ -513,19 +508,23 @@ export default { ...@@ -513,19 +508,23 @@ export default {
if (!!data.channelList[i].openStatus && data.channelList[i].integralUseDiscountControl == 2) { if (!!data.channelList[i].openStatus && data.channelList[i].integralUseDiscountControl == 2) {
if (!data.channelList[i].integralUseDiscountControlUpper || !data.channelList[i].integralUseDiscountControlLower) { if (!data.channelList[i].integralUseDiscountControlUpper || !data.channelList[i].integralUseDiscountControlLower) {
obj.flag = false; obj.flag = false;
this.scrollToError(this, `zk${i}`);
obj.text = '请填写折扣'; 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)) { 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.flag = false;
this.scrollToError(this, `zk${i}`);
obj.text = '折扣格式有误'; obj.text = '折扣格式有误';
} }
} }
if (data.channelList[i].channelType == 1 && !data.channelList[i].enterpriseRelationIdArr.length) { if (data.channelList[i].channelType == 1 && !data.channelList[i].enterpriseRelationIdArr.length) {
obj.flag = false; obj.flag = false;
this.scrollToError(this, `zk${i}`);
obj.text = '请选择商户'; obj.text = '请选择商户';
} }
if (data.channelList[i].channelType == 9 && !data.channelList[i].enterpriseRelationIdArr.length) { if (data.channelList[i].channelType == 9 && !data.channelList[i].enterpriseRelationIdArr.length) {
obj.flag = false; obj.flag = false;
this.scrollToError(this, `zk${i}`);
obj.text = '请选择商户'; obj.text = '请选择商户';
} }
if (data.channelList[i].channelType == 3) { if (data.channelList[i].channelType == 3) {
...@@ -589,15 +588,18 @@ export default { ...@@ -589,15 +588,18 @@ export default {
// } // }
let flag = !data.integralUse.fee || String(data.integralUse.integral) == ''; let flag = !data.integralUse.fee || String(data.integralUse.integral) == '';
if (data.integralUseStatus == 1 && flag) { if (data.integralUseStatus == 1 && flag) {
this.scrollToError(this, 'integralUse');
that.$message.error('请填写抵现规则'); that.$message.error('请填写抵现规则');
return; return;
} }
if (data.integralUseStatus == 1) { if (data.integralUseStatus == 1) {
if (!Number(data.integralUse.fee)) { if (!Number(data.integralUse.fee)) {
this.scrollToError(this, 'integralUse');
showMsg.showmsg('抵现规则中的抵现金额不能为0', 'error'); showMsg.showmsg('抵现规则中的抵现金额不能为0', 'error');
return; return;
} }
if (!Number(data.integralUse.integral)) { if (!Number(data.integralUse.integral)) {
this.scrollToError(this, 'integralUse');
showMsg.showmsg('抵现规则中的使用积分不能为0', 'error'); showMsg.showmsg('抵现规则中的使用积分不能为0', 'error');
return; return;
} }
...@@ -649,16 +651,19 @@ export default { ...@@ -649,16 +651,19 @@ export default {
// 微信商城 // 微信商城
// 适用商品 // 适用商品
if (item.channelRelationProType == 2 && this.valueWx.length < 1) { if (item.channelRelationProType == 2 && this.valueWx.length < 1) {
this.scrollToError(this, 'valueWx');
// 商品品牌 // 商品品牌
showMsg.showmsg('请选择商品品牌', 'error'); showMsg.showmsg('请选择商品品牌', 'error');
return (saveBool = false); return (saveBool = false);
} }
if (item.channelRelationProType == 3 && this.cateDataWx.length < 1) { if (item.channelRelationProType == 3 && this.cateDataWx.length < 1) {
this.scrollToError(this, 'cateDataWx');
// 商品品类 // 商品品类
showMsg.showmsg('请选择商品品类', 'error'); showMsg.showmsg('请选择商品品类', 'error');
return (saveBool = false); return (saveBool = false);
} }
if (item.channelRelationProType == 4 && this.goodsListWx.length < 1) { if (item.channelRelationProType == 4 && this.goodsListWx.length < 1) {
this.scrollToError(this, 'goodsListWx');
// 单件商品 // 单件商品
showMsg.showmsg('请选择单件商品', 'error'); showMsg.showmsg('请选择单件商品', 'error');
return (saveBool = false); return (saveBool = false);
...@@ -667,6 +672,7 @@ export default { ...@@ -667,6 +672,7 @@ export default {
}); });
// 自定义人群 // 自定义人群
if (data.useCrowd == 2 && this.selectCount < 1) { if (data.useCrowd == 2 && this.selectCount < 1) {
this.scrollToError(this, 'selectCount');
showMsg.showmsg('请选择人群定向', 'error'); showMsg.showmsg('请选择人群定向', 'error');
return; return;
} }
...@@ -699,7 +705,8 @@ export default { ...@@ -699,7 +705,8 @@ export default {
} }
}) })
} else { } else {
log('error submit!!'); this.scrollToError(this);
showMsg.showmsg('表单信息未填写完整','error')
return false; return false;
} }
}); });
......
...@@ -37,11 +37,11 @@ ...@@ -37,11 +37,11 @@
<el-input v-model="ruleForm.upLevelHighcost" @focus="inputFocus('upLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelHighcost" @focus="inputFocus('upLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
</div> </div>
<div class="check-cell"> <!-- <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelDaystoredSelect">当天储值满</el-checkbox> <el-checkbox v-model="ruleForm.upLevelDaystoredSelect">当天储值满</el-checkbox>
<el-input v-model="ruleForm.upLevelDaystored" @focus="inputFocus('upLevelDaystored', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelDaystored" @focus="inputFocus('upLevelDaystored', 'money')" @keyup.native="formatInput($event)"></el-input>
<label> 元 </label> <label> 元 </label>
</div> </div> -->
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelSumcostSelect"></el-checkbox> <el-checkbox v-model="ruleForm.upLevelSumcostSelect"></el-checkbox>
<el-input v-model="ruleForm.upLevelSumcostDays" @focus="inputFocus('upLevelSumcostDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelSumcostDays" @focus="inputFocus('upLevelSumcostDays', 'day')" @keyup.native="formatInput($event)"></el-input>
...@@ -56,13 +56,13 @@ ...@@ -56,13 +56,13 @@
<el-input v-model="ruleForm.upLevelCosttimes" @focus="inputFocus('upLevelCosttimes', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelCosttimes" @focus="inputFocus('upLevelCosttimes', 'day')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
</div> </div>
<div class="check-cell"> <!-- <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelSumstoredSelect"></el-checkbox> <el-checkbox v-model="ruleForm.upLevelSumstoredSelect"></el-checkbox>
<el-input v-model="ruleForm.upLevelSumstoredDays" @focus="inputFocus('upLevelSumstoredDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelSumstoredDays" @focus="inputFocus('upLevelSumstoredDays', 'day')" @keyup.native="formatInput($event)"></el-input>
<label>天内储值满</label> <label>天内储值满</label>
<el-input v-model="ruleForm.upLevelSumstored" @focus="inputFocus('upLevelSumstored', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelSumstored" @focus="inputFocus('upLevelSumstored', 'money')" @keyup.native="formatInput($event)"></el-input>
<label> 元 </label> <label> 元 </label>
</div> </div> -->
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelSumintegralSelect"></el-checkbox> <el-checkbox v-model="ruleForm.upLevelSumintegralSelect"></el-checkbox>
<el-input v-model="ruleForm.upLevelSumintegralDays" @focus="inputFocus('upLevelSumintegralDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelSumintegralDays" @focus="inputFocus('upLevelSumintegralDays', 'day')" @keyup.native="formatInput($event)"></el-input>
...@@ -96,13 +96,13 @@ ...@@ -96,13 +96,13 @@
<el-input v-model="ruleForm.lowLevelHighcost" @focus="inputFocus('lowLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelHighcost" @focus="inputFocus('lowLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
</div> </div>
<div class="check-cell"> <!-- <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelDaystoredSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelDaystoredSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelDaystoredDays" @focus="inputFocus('lowLevelDaystoredDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelDaystoredDays" @focus="inputFocus('lowLevelDaystoredDays', 'day')" @keyup.native="formatInput($event)"></el-input>
<label>天内单天储值满</label> <label>天内单天储值满</label>
<el-input v-model="ruleForm.lowLevelDaystored" @focus="inputFocus('lowLevelDaystored', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelDaystored" @focus="inputFocus('lowLevelDaystored', 'money')" @keyup.native="formatInput($event)"></el-input>
<label> 元 </label> <label> 元 </label>
</div> </div> -->
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelSumcostSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelSumcostSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelSumcostDays" @focus="inputFocus('lowLevelSumcostDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelSumcostDays" @focus="inputFocus('lowLevelSumcostDays', 'day')" @keyup.native="formatInput($event)"></el-input>
...@@ -117,13 +117,13 @@ ...@@ -117,13 +117,13 @@
<el-input v-model="ruleForm.lowLevelCosttimes" @focus="inputFocus('lowLevelCosttimes', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelCosttimes" @focus="inputFocus('lowLevelCosttimes', 'day')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
</div> </div>
<div class="check-cell"> <!-- <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelSumstoredSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelSumstoredSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelSumstoredDays" @focus="inputFocus('lowLevelSumstoredDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelSumstoredDays" @focus="inputFocus('lowLevelSumstoredDays', 'day')" @keyup.native="formatInput($event)"></el-input>
<label>天内储值满</label> <label>天内储值满</label>
<el-input v-model="ruleForm.lowLevelSumstored" @focus="inputFocus('lowLevelSumstored', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelSumstored" @focus="inputFocus('lowLevelSumstored', 'money')" @keyup.native="formatInput($event)"></el-input>
<label> 元 </label> <label> 元 </label>
</div> </div> -->
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelSumintegralSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelSumintegralSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelSumintegralDays" @focus="inputFocus('lowLevelSumintegralDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelSumintegralDays" @focus="inputFocus('lowLevelSumintegralDays', 'day')" @keyup.native="formatInput($event)"></el-input>
......
...@@ -34,10 +34,10 @@ ...@@ -34,10 +34,10 @@
</el-form-item> </el-form-item>
<el-form-item label="折扣控制:" prop="region" label-width="85px"> <el-form-item label="折扣控制:" prop="region" label-width="85px">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEvent0">所有折扣商品都适用</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEventN(0)">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20"> <div class="radio-cell margin-20">
<el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio class="zk0" v-model="item.integralUseDiscountControl" label="2">折扣</el-radio>
<el-input-number v-model="item.integralUseDiscountControlLower" :precision="2" :controls="false" :max="10.0" :min="1" :step="0.01" placeholder="请输入" style="width: 115px"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlLower" :precision="2" :controls="false" :max="10.0" :min="1" :step="0.01" placeholder="请输入" style="width: 115px"></el-input-number>
<label></label> <label></label>
<el-input-number v-model="item.integralUseDiscountControlUpper" :precision="2" :controls="false" :max="10.0" :min="1" placeholder="请输入" style="width: 115px"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlUpper" :precision="2" :controls="false" :max="10.0" :min="1" placeholder="请输入" style="width: 115px"></el-input-number>
...@@ -73,10 +73,10 @@ ...@@ -73,10 +73,10 @@
</el-form-item> </el-form-item>
<el-form-item label="折扣控制:" prop="region" label-width="85px" style="margin-bottom: 20px"> <el-form-item label="折扣控制:" prop="region" label-width="85px" style="margin-bottom: 20px">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEvent1">所有折扣商品都适用</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEventN(1)">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20"> <div class="radio-cell margin-20">
<el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio class="zk1" v-model="item.integralUseDiscountControl" label="2">折扣</el-radio>
<el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number>
<label></label> <label></label>
<el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number>
...@@ -111,10 +111,10 @@ ...@@ -111,10 +111,10 @@
</el-form-item> </el-form-item>
<el-form-item label="折扣控制:" prop="region" class="input-margin-b" label-width="85px"> <el-form-item label="折扣控制:" prop="region" class="input-margin-b" label-width="85px">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEvent2">所有折扣商品都适用</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEventN(2)">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20"> <div class="radio-cell margin-20">
<el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio class="zk2" v-model="item.integralUseDiscountControl" label="2">折扣</el-radio>
<el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number>
<label></label> <label></label>
<el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number>
...@@ -138,10 +138,10 @@ ...@@ -138,10 +138,10 @@
</el-form-item> </el-form-item>
<el-form-item label="折扣控制:" prop="region" label-width="85px" style="margin-bottom: 20px"> <el-form-item label="折扣控制:" prop="region" label-width="85px" style="margin-bottom: 20px">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEvent3">所有折扣商品都适用</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEventN(3)">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20"> <div class="radio-cell margin-20">
<el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio class="zk3" v-model="item.integralUseDiscountControl" label="2">折扣</el-radio>
<el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number>
<label></label> <label></label>
<el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number>
...@@ -165,10 +165,10 @@ ...@@ -165,10 +165,10 @@
</el-form-item> </el-form-item>
<el-form-item label="折扣控制:" prop="region" label-width="85px" style="margin-bottom: 20px"> <el-form-item label="折扣控制:" prop="region" label-width="85px" style="margin-bottom: 20px">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEvent4">所有折扣商品都适用</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEventN(4)">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20"> <div class="radio-cell margin-20">
<el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio class="zk4" v-model="item.integralUseDiscountControl" label="2">折扣</el-radio>
<el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number>
<label></label> <label></label>
<el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number>
...@@ -192,10 +192,10 @@ ...@@ -192,10 +192,10 @@
</el-form-item> </el-form-item>
<el-form-item label="折扣控制:" prop="region" label-width="85px" style="margin-bottom: 20px"> <el-form-item label="折扣控制:" prop="region" label-width="85px" style="margin-bottom: 20px">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEvent5">所有折扣商品都适用</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEventN(5)">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20"> <div class="radio-cell margin-20">
<el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio class="zk5" v-model="item.integralUseDiscountControl" label="2">折扣</el-radio>
<el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number>
<label></label> <label></label>
<el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1" style="width: 115px"></el-input-number>
...@@ -225,7 +225,7 @@ ...@@ -225,7 +225,7 @@
<el-radio v-model="ruleForm.integralGetStatus" label="0" @change="radioEvent">不获取积分</el-radio> <el-radio v-model="ruleForm.integralGetStatus" label="0" @change="radioEvent">不获取积分</el-radio>
</div> </div>
<div class="margin-20"> <div class="margin-20">
<el-radio v-model="ruleForm.integralGetStatus" label="1">每消费</el-radio> <el-radio class="integralGet" v-model="ruleForm.integralGetStatus" label="1">每消费</el-radio>
<el-input-number v-model="ruleForm.integralGet.fee" placeholder="请输入" :precision="1" :controls="false" :max="10000.0" :min="0.1" style="width: 115px"></el-input-number> <el-input-number v-model="ruleForm.integralGet.fee" placeholder="请输入" :precision="1" :controls="false" :max="10000.0" :min="0.1" style="width: 115px"></el-input-number>
<label>元,获取 </label> <label>元,获取 </label>
<!-- <el-input v-model="ruleForm.integralGet.integral" @blur="formatInputNumBlur($event)"></el-input> --> <!-- <el-input v-model="ruleForm.integralGet.integral" @blur="formatInputNumBlur($event)"></el-input> -->
...@@ -242,9 +242,110 @@ ...@@ -242,9 +242,110 @@
<el-input v-model="ruleForm.integralGetFreezeDays" @keyup.native="formatInputNum($event)" style="width: 115px"></el-input><label></label> <el-input v-model="ruleForm.integralGetFreezeDays" @keyup.native="formatInputNum($event)" style="width: 115px"></el-input><label></label>
<span class="setting-tips">仅对通过订单获取的积分生效,活动类获取的积分没有冻结期</span> <span class="setting-tips">仅对通过订单获取的积分生效,活动类获取的积分没有冻结期</span>
</el-form-item> </el-form-item>
<el-form-item label="积分有效期:" v-if="ruleForm.integralGetStatus == 1" prop="integralGetEffectiveDays"> <el-form-item label="积分有效期:" prop="userGeneralIntegralExpireRule" class="eff">
自获取之日起 <el-radio v-model="ruleForm.userGeneralIntegralExpireRule" :label="1">通用积分策略有效期</el-radio>
<el-input v-model="ruleForm.integralGetEffectiveDays" @keyup.native="formatInputNum($event)" style="width: 115px"></el-input><label></label> <el-radio v-model="ruleForm.userGeneralIntegralExpireRule" :label="0">自定义有效期
<el-popover width="520" trigger="hover" placement="right">
<div style="line-height:20px">
<p style="color:#303133;font-size:12px;font-weight:600">规则说明:</p>
<p style="color:#e6a23c;font-size:12px;">
仅GIC计算积分时,配置的积分有效期才会生效,<br/>
ERP计算积分时,此配置项不生效;
</p>
<ul style="color:#303133;font-size:12px;">
<li>1、永久有效:客户获取的积分永久有效,系统不会清零;</li>
<li>2、按年失效:在第X年的X月X日失效:例:设置第二年的12月1日失效,则2021年获取的所有积分在2022年12月1日失效;</li>
<li>3、按月失效:在第X个月的X日失效:例:设置第二月的1日失效,则3月获取的所有积分在4月1日失效;</li>
<li>4、按天失效:每天获取的所有积分在获取之日起365天后失效:例:设置365天,则2022年12月1号获取的积分在2023年12月1号失效;</li>
<li>5、修改积分有效期后,已经获取的积分有效期不变,后续获取的积分按照修改后的积分有效期生效;</li>
</ul>
</div>
<i slot="reference" class="iconfont icon-QuestionCircleOutlined" style="font-size:14px;color:#606266;"></i>
</el-popover>
</el-radio>
<!-- 通用积分有效期 -->
<div class="mt16" v-if="ruleForm.userGeneralIntegralExpireRule == 1">
<div class="radio-cell" v-if="timeType == 1">
<el-radio v-model="timeType" :label="1" @change="radioExpireType1" disabled="true">永久有效</el-radio>
</div>
<div class="radio-cell" v-else-if="timeType == 2">
<el-radio v-model="timeType" :label="2" disabled="true"><label>按年失效:</label></el-radio>
<label>每年获取的所有积分,在</label>
<el-select v-model="yearYT" placeholder="请选择" style="width:120px;margin-right:20px" disabled="true">
<el-option v-for="n in yearList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label></label>
<el-select v-model="yearMT" placeholder="请选择" style="width:120px;margin-right:20px" disabled="true">
<el-option v-for="n in 12" :key="n" :label="n" :value="n"></el-option>
</el-select>
<label></label>
<el-select v-model="yearDT" placeholder="请选择" style="width:120px;margin-right:20px" disabled="true">
<el-option v-for="n in dayList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label>日失效</label>
</div>
<div class="radio-cell" v-else-if="timeType == 3">
<el-radio v-model="timeType" :label="3" disabled="true"><label>按月失效:</label></el-radio>
<label>每月获取的所有积分,在</label>
<el-select v-model="mouthMT" placeholder="请选择" style="width:120px;margin-right:20px" disabled="true">
<el-option v-for="n in mouthList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label></label>
<el-select v-model="mouthDT" placeholder="请选择" style="width:120px; margin-right:20px" disabled="true">
<el-option v-for="n in dayList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label>日失效</label>
</div>
<!-- <div class="radio-cell" v-else-if="timeType == 0 || timeType == null"> -->
<div class="radio-cell" v-else-if="timeType == 0 || timeType == null">
<el-radio v-model="timeType" :label="0" disabled="true">
<label>每天获取的所有积分,在获取之日起</label></el-radio>
<el-input placeholder="请输入" style="width:115px" v-model="effectiveDays" @keyup.native="formatInputNum($event)" disabled="true"></el-input>
<label>天后失效</label>
<span style="font-size: 12px;color: #909399;line-height: 1;padding-left: 10px;">建议不超过3年(1095天)</span>
</div>
<div class="radio-cell" v-else>
<p style="color:red;">还未配置通用积分策略,请先配置通用积分策略再选择「通用积分策略有效期」</p>
</div>
</div>
<!-- 自定义有效期 -->
<div style="margin-top:10px;" class="form-child p20" v-if="ruleForm.userGeneralIntegralExpireRule == 0">
<div class="radio-cell mb20">
<el-radio class="yearY" v-model="ruleForm.integralExpireType" :label="2" @change="radioExpireType1">按年失效:</el-radio>
<label>每年获取的所有积分,在</label>
<el-select v-model="yearY" placeholder="请选择" class="selectwm">
<el-option v-for="n in yearList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label></label>
<el-select v-model="yearM" placeholder="请选择" class="selectwm">
<el-option v-for="n in 12" :key="n" :label="n" :value="n"></el-option>
</el-select>
<label></label>
<el-select v-model="yearD" placeholder="请选择" class="selectwm">
<el-option v-for="n in dayList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label>日失效</label>
</div>
<div class="radio-cell mb20">
<el-radio class="mouthM" v-model="ruleForm.integralExpireType" :label="3" @change="radioExpireType1">按月失效:</el-radio>
<label>每月获取的所有积分,在</label>
<el-select v-model="mouthM" placeholder="请选择" class="selectwm">
<el-option v-for="n in mouthList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label></label>
<el-select v-model="mouthD" placeholder="请选择" class="selectwm">
<el-option v-for="n in dayList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label>日失效</label>
</div>
<div class="radio-cell">
<el-radio class="integralGetEffectiveDays" v-model="ruleForm.integralExpireType" :label="0" @change="radioExpireType1">按天失效:</el-radio>
<label>每天获取的所有积分,在获取之日起</label>
<el-input placeholder="请输入" style="width:115px" v-model="ruleForm.integralGetEffectiveDays" @keyup.native="formatInputNum($event)"></el-input>
<label>天后失效</label>
<span style="font-size: 12px;color: #909399;line-height: 1;padding-left: 10px;">建议不超过3年(1095天)</span>
</div>
</div>
</el-form-item> </el-form-item>
<!-- 新增策略有效期配置 --> <!-- 新增策略有效期配置 -->
<el-form-item label="策略有效期:" prop="perpetualFlag"> <el-form-item label="策略有效期:" prop="perpetualFlag">
...@@ -312,6 +413,7 @@ import { postRequest, postJson } from '@/api/api'; ...@@ -312,6 +413,7 @@ import { postRequest, postJson } from '@/api/api';
import strLength from '@/common/js/strlen'; import strLength from '@/common/js/strlen';
import { log } from '@/utils/index.js'; import { log } from '@/utils/index.js';
import wmMixins from './strategy.js'; import wmMixins from './strategy.js';
import { scrollToError } from '@/utils/validate';
const timeStramp = { const timeStramp = {
year: new Date().getFullYear(), year: new Date().getFullYear(),
...@@ -323,7 +425,49 @@ export default { ...@@ -323,7 +425,49 @@ export default {
name: 'addPointSytem', name: 'addPointSytem',
mixins: [wmMixins], mixins: [wmMixins],
data() { data() {
// 天数
const dayList = ()=> {
let arr = []
for(let i = 1; i < 28; i++){
arr.push({key: `${i}`,value: `${i}`})
}
arr.push({key: '0', value: '月末'})
return arr;
}
// 月数
const mouthList = ()=> {
let arr = []
for(let i = 2; i < 37; i++){
arr.push({key: i,value: `第${i}个月`})
}
return arr;
}
// 年数
const yearList = ()=> {
let arr = []
for(let i = 2; i < 5; i++){
arr.push({key: i,value: `第${i}年`})
}
return arr;
}
return { return {
scrollToError,
yearYT: '', //按年失效 年
yearMT: '', //按年失效 月
yearDT: '', //按年失效 日
mouthMT: '', //按月失效 月
mouthDT: '', //按月失效 月
effectiveDays: '',
timeType: '',
timeRuleType: '',
dayList: dayList(),
mouthList: mouthList(),
mouthM: '', //按月失效 月
mouthD: '', //按月失效 月
yearList: yearList(),
yearY: '', //按年失效 年
yearM: '', //按年失效 月
yearD: '', //按年失效 日
repProjectName: 'gic-clique', repProjectName: 'gic-clique',
navpath: [ navpath: [
{ {
...@@ -472,6 +616,9 @@ export default { ...@@ -472,6 +616,9 @@ export default {
cateNameLength: 0, cateNameLength: 0,
ruleForm: { ruleForm: {
userGeneralIntegralExpireRule: 1,
integralExpireType: '', //积分有效期类型 0 未默认滚动到期 1永久 2 按年失效 3按月失效
integralExpireRule: '', //积分有效期规则 年 x(年),x(月),x(日,为0标识月末) 月,x(月),x(日,为0标识月末)
// 积分获取规则 // 积分获取规则
integralStrategyId: '', //策略id integralStrategyId: '', //策略id
enterpriseId: '', enterpriseId: '',
...@@ -483,7 +630,7 @@ export default { ...@@ -483,7 +630,7 @@ export default {
integralGet: { fee: '1', integral: '1' }, integralGet: { fee: '1', integral: '1' },
integralGetStrategy: '1', // 取整策略 1四舍五入 2抹零 3向上取整 integralGetStrategy: '1', // 取整策略 1四舍五入 2抹零 3向上取整
integralGetFreezeDays: 1, // 获取积分冻结天数 integralGetFreezeDays: 1, // 获取积分冻结天数
integralGetEffectiveDays: 1, // 获取积分有效天 integralGetEffectiveDays: '', // 获取积分有效天
integralUseStatus: '0', // 积分抵现开启 1是0否 integralUseStatus: '0', // 积分抵现开启 1是0否
// integralUse: { fee: undefined, integral: undefined }, // 积分抵现 {fee:5,integral:5} // integralUse: { fee: undefined, integral: undefined }, // 积分抵现 {fee:5,integral:5}
perpetualFlag: 1, perpetualFlag: 1,
...@@ -608,7 +755,7 @@ export default { ...@@ -608,7 +755,7 @@ export default {
useCrowd: { required: true, message: '请选择适用对象', trigger: 'blur' }, useCrowd: { required: true, message: '请选择适用对象', trigger: 'blur' },
integralGetStatus: { required: true, message: '请选择获取规则', trigger: 'blur' }, integralGetStatus: { required: true, message: '请选择获取规则', trigger: 'blur' },
integralGetFreezeDays: { required: true, message: '请输入积分冻结期', trigger: 'blur' }, integralGetFreezeDays: { required: true, message: '请输入积分冻结期', trigger: 'blur' },
integralGetEffectiveDays: { required: true, message: '请输入积分有效期', trigger: 'blur' }, userGeneralIntegralExpireRule: { required: true, message: '请输入有效期类型', trigger: 'blur' },
perpetualFlag: { required: true, message: '请选择策略有效期', trigger: 'blur' } perpetualFlag: { required: true, message: '请选择策略有效期', trigger: 'blur' }
}, },
cateOptions: [ cateOptions: [
...@@ -647,34 +794,63 @@ export default { ...@@ -647,34 +794,63 @@ export default {
}, },
methods: { methods: {
radioEvent0() { // 获取通用积分策略
this.ruleForm.channelList[0].integralUseDiscountControlLower = undefined; getPointInfo() {
this.ruleForm.channelList[0].integralUseDiscountControlUpper = undefined; var that = this
}, postRequest('/api-admin/get-member-integral-setting',{requestProject: that.projectName})
radioEvent1() { .then((res) => {
this.ruleForm.channelList[1].integralUseDiscountControlLower = undefined; var resData = res.data
this.ruleForm.channelList[1].integralUseDiscountControlUpper = undefined; console.log(resData,'resData');
}, if(resData.errorCode == 0) {
radioEvent2() { this.timeType = resData.result.memberIntegral.integralExpireType ? resData.result.memberIntegral.integralExpireType : 0;
this.ruleForm.channelList[2].integralUseDiscountControlLower = undefined; this.timeRuleType = resData.result.memberIntegral.integralExpireRule ? resData.result.memberIntegral.integralExpireRule.split(',') : '';
this.ruleForm.channelList[2].integralUseDiscountControlUpper = undefined; if(this.timeType ==2) {
}, this.yearYT = Number(this.timeRuleType[0])
radioEvent3() { this.yearMT = Number(this.timeRuleType[1])
this.ruleForm.channelList[3].integralUseDiscountControlLower = undefined; this.yearDT = this.timeRuleType[2]
this.ruleForm.channelList[3].integralUseDiscountControlUpper = undefined; }else if(this.timeType == 3) {
}, this.mouthMT = Number(this.timeRuleType[0])
radioEvent4() { this.mouthDT = this.timeRuleType[1]
this.ruleForm.channelList[4].integralUseDiscountControlLower = undefined; } else if (this.timeType == 0 || this.timeType == null) {
this.ruleForm.channelList[4].integralUseDiscountControlUpper = undefined; this.effectiveDays = resData.result.memberIntegral.effectiveTime;
}
console.log(this.timeType,'this.timeType');
}
})
}, },
radioEvent5() { radioEventN(n) {
this.ruleForm.channelList[5].integralUseDiscountControlLower = undefined; this.ruleForm.channelList[n].integralUseDiscountControlLower = undefined;
this.ruleForm.channelList[5].integralUseDiscountControlUpper = undefined; this.ruleForm.channelList[n].integralUseDiscountControlUpper = undefined;
}, },
radioEvent() { radioEvent() {
this.ruleForm.integralGet.fee = undefined; this.ruleForm.integralGet.fee = undefined;
this.ruleForm.integralGet.integral = undefined; this.ruleForm.integralGet.integral = undefined;
}, },
radioExpireType1(e) {
if(e==0){
this.yearY='';
this.yearM='';
this.yearD='';
this.mouthM='';
this.mouthD='';
}else if(e==1) {
this.yearY='';
this.yearM='';
this.yearD='';
this.mouthM='';
this.mouthD='';
this.ruleForm.integralGetEffectiveDays = '';
}else if (e==2) {
this.mouthM='';
this.mouthD='';
this.ruleForm.integralGetEffectiveDays = '';
} else if (e == 3) {
this.yearY='';
this.yearM='';
this.yearD='';
this.ruleForm.integralGetEffectiveDays = '';
}
},
onStoreChange(item) { onStoreChange(item) {
if (item.channelType == 3) { if (item.channelType == 3) {
this.uuid = ''; this.uuid = '';
...@@ -718,10 +894,12 @@ export default { ...@@ -718,10 +894,12 @@ export default {
if (!!data.channelList[i].openStatus && data.channelList[i].integralUseDiscountControl == 2) { if (!!data.channelList[i].openStatus && data.channelList[i].integralUseDiscountControl == 2) {
if (!data.channelList[i].integralUseDiscountControlUpper || !data.channelList[i].integralUseDiscountControlLower) { if (!data.channelList[i].integralUseDiscountControlUpper || !data.channelList[i].integralUseDiscountControlLower) {
obj.flag = false; obj.flag = false;
this.scrollToError(this, `zk${i}`);
obj.text = '请填写折扣'; 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)) { 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.flag = false;
this.scrollToError(this, `zk${i}`);
obj.text = '折扣格式有误'; obj.text = '折扣格式有误';
} }
} }
...@@ -801,10 +979,12 @@ export default { ...@@ -801,10 +979,12 @@ export default {
} }
if (data.integralGetStatus == 1) { if (data.integralGetStatus == 1) {
if (!Number(data.integralGet.fee)) { if (!Number(data.integralGet.fee)) {
this.scrollToError(this, 'integralGet');
showMsg.showmsg('获取规则中的消费金额不能为0', 'error'); showMsg.showmsg('获取规则中的消费金额不能为0', 'error');
return; return;
} }
if (!Number(data.integralGet.integral)) { if (!Number(data.integralGet.integral)) {
this.scrollToError(this, 'integralGet');
showMsg.showmsg('获取规则中的获取积分不能为0', 'error'); showMsg.showmsg('获取规则中的获取积分不能为0', 'error');
return; return;
} }
...@@ -813,9 +993,46 @@ export default { ...@@ -813,9 +993,46 @@ export default {
showMsg.showmsg('请填写积分冻结期', 'error'); showMsg.showmsg('请填写积分冻结期', 'error');
return; return;
} }
if (data.integralGetStatus == 1 && !Number(data.integralGetEffectiveDays)) { if (data.userGeneralIntegralExpireRule == 0) {
showMsg.showmsg('请填写积分有效期', 'error'); if(data.integralExpireType == null) {
return; this.scrollToError(this, 'mouthM');
showMsg.showmsg('请设置积分有效期','error')
return;
}
if(data.integralExpireType ==3 && (this.mouthM == '' || this.mouthD == '')) {
this.scrollToError(this, 'mouthM');
showMsg.showmsg('请完善积分有效期信息','error')
return;
}else if(data.integralExpireType ==2 && (this.yearY == '' || this.yearM == '' || this.yearD == '' )) {
this.scrollToError(this, 'yearY');
showMsg.showmsg('请完善积分有效期信息','error')
return;
} else if (data.integralExpireType ==0 && !Number(data.integralGetEffectiveDays)) {
this.scrollToError(this, 'integralGetEffectiveDays');
showMsg.showmsg('请完善积分有效期信息','error')
return;
}
}
if(data.userGeneralIntegralExpireRule == 1) {
data.integralExpireType = this.timeType
if(this.timeType==0 || this.timeType == null){
data.integralGetEffectiveDays = this.effectiveDays
}else {
data.integralExpireRule = this.timeRuleType.toString()
}
}else if (data.userGeneralIntegralExpireRule == 0) {
if(data.integralExpireType == 0) {
data.integralExpireRule = ''
}else if(data.integralExpireType == 1) {
data.integralExpireRule = ''
data.integralGetEffectiveDays = ''
} else if(data.integralExpireType == 2) {
data.integralExpireRule = `${this.yearY},${this.yearM},${this.yearD}`
data.integralGetEffectiveDays = ''
}else if(data.integralExpireType == 3) {
data.integralExpireRule = `${this.mouthM},${this.mouthD}`
data.integralGetEffectiveDays = ''
}
} }
that.checkListValue(data).then(res => { that.checkListValue(data).then(res => {
if (!res.flag) { if (!res.flag) {
...@@ -880,7 +1097,8 @@ export default { ...@@ -880,7 +1097,8 @@ export default {
} }
}); });
} else { } else {
log('error submit!!'); this.scrollToError(this);
showMsg.showmsg('表单信息未填写完整','error')
return false; return false;
} }
}); });
...@@ -1290,10 +1508,11 @@ export default { ...@@ -1290,10 +1508,11 @@ export default {
}, },
created() { created() {
// this.selectReplayStyle() // this.selectReplayStyle()
log('create'); // log('create');
}, },
beforeMount() { beforeMount() {
log('beforeMount'); // log('beforeMount');
}, },
mounted() { mounted() {
let that = this; let that = this;
...@@ -1303,10 +1522,21 @@ export default { ...@@ -1303,10 +1522,21 @@ export default {
// 获取门店分组 // 获取门店分组
that.getStoreGroup(); that.getStoreGroup();
that.getLoginInfo(); that.getLoginInfo();
this.getPointInfo();
} }
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.mt16 {
margin-top: 7px;
}
.selectwm {
width:120px;
margin:0 10px;
}
.mb20 {
margin-bottom: 20px;
}
.bottom{ .bottom{
position: fixed; position: fixed;
bottom: 0px; bottom: 0px;
......
...@@ -160,7 +160,7 @@ export default { ...@@ -160,7 +160,7 @@ export default {
let host = window.location.origin; let host = window.location.origin;
log('当前host:', host); log('当前host:', host);
if (host.indexOf('localhost') != '-1') { if (host.indexOf('localhost') != '-1') {
that.baseUrl = 'http://gicdev.demogic.com'; that.baseUrl = 'http://www.gicdev.com';
} else { } else {
that.baseUrl = host; that.baseUrl = host;
} }
...@@ -197,7 +197,7 @@ export default { ...@@ -197,7 +197,7 @@ export default {
let baseUrl; let baseUrl;
log('当前host:', host); log('当前host:', host);
if (host.indexOf('localhost') != '-1') { if (host.indexOf('localhost') != '-1') {
baseUrl = 'http://gicdev.demogic.com'; baseUrl = 'http://www.gicdev.com';
} else { } else {
baseUrl = host; baseUrl = host;
} }
...@@ -428,8 +428,10 @@ export default { ...@@ -428,8 +428,10 @@ export default {
that.areaOptions = JSON.parse(obj); that.areaOptions = JSON.parse(obj);
// that.areaOptions = JSON.parse(JSON.stringify(newEnterprise.region)) // that.areaOptions = JSON.parse(JSON.stringify(newEnterprise.region))
// 时间 // 时间
if (!!newEnterprise.storeBusinessTime) { if (typeof newEnterprise.storeBusinessTime == 'string' && newEnterprise.storeBusinessTime.indexOf(':') > 0) {
newEnterprise.storeBusinessTime = newTime.timeToDate(newEnterprise.storeBusinessTime); newEnterprise.storeBusinessTime = newTime.timeToDate(newEnterprise.storeBusinessTime);
} else {
newEnterprise.storeBusinessTime = []
} }
// 长度 // 长度
......
...@@ -139,11 +139,11 @@ ...@@ -139,11 +139,11 @@
<el-input v-model="ruleForm.upLevelHighcost" @focus="inputFocus('upLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelHighcost" @focus="inputFocus('upLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
</div> </div>
<div class="check-cell"> <!-- <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelDaystoredSelect">当天储值满</el-checkbox> <el-checkbox v-model="ruleForm.upLevelDaystoredSelect">当天储值满</el-checkbox>
<el-input v-model="ruleForm.upLevelDaystored" @focus="inputFocus('upLevelDaystored', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelDaystored" @focus="inputFocus('upLevelDaystored', 'money')" @keyup.native="formatInput($event)"></el-input>
<label> 元 </label> <label> 元 </label>
</div> </div> -->
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelSumcostSelect"></el-checkbox> <el-checkbox v-model="ruleForm.upLevelSumcostSelect"></el-checkbox>
<el-input v-model="ruleForm.upLevelSumcostDays" @focus="inputFocus('upLevelSumcostDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelSumcostDays" @focus="inputFocus('upLevelSumcostDays', 'day')" @keyup.native="formatInput($event)"></el-input>
...@@ -158,13 +158,13 @@ ...@@ -158,13 +158,13 @@
<el-input v-model="ruleForm.upLevelCosttimes" @focus="inputFocus('upLevelCosttimes', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelCosttimes" @focus="inputFocus('upLevelCosttimes', 'day')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
</div> </div>
<div class="check-cell"> <!-- <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelSumstoredSelect"></el-checkbox> <el-checkbox v-model="ruleForm.upLevelSumstoredSelect"></el-checkbox>
<el-input v-model="ruleForm.upLevelSumstoredDays" @focus="inputFocus('upLevelSumstoredDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelSumstoredDays" @focus="inputFocus('upLevelSumstoredDays', 'day')" @keyup.native="formatInput($event)"></el-input>
<label>天内储值满</label> <label>天内储值满</label>
<el-input v-model="ruleForm.upLevelSumstored" @focus="inputFocus('upLevelSumstored', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelSumstored" @focus="inputFocus('upLevelSumstored', 'money')" @keyup.native="formatInput($event)"></el-input>
<label> 元 </label> <label> 元 </label>
</div> </div> -->
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelSumintegralSelect"></el-checkbox> <el-checkbox v-model="ruleForm.upLevelSumintegralSelect"></el-checkbox>
<el-input v-model="ruleForm.upLevelSumintegralDays" @focus="inputFocus('upLevelSumintegralDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelSumintegralDays" @focus="inputFocus('upLevelSumintegralDays', 'day')" @keyup.native="formatInput($event)"></el-input>
...@@ -198,13 +198,13 @@ ...@@ -198,13 +198,13 @@
<el-input v-model="ruleForm.lowLevelHighcost" @focus="inputFocus('lowLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelHighcost" @focus="inputFocus('lowLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
</div> </div>
<div class="check-cell"> <!-- <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelDaystoredSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelDaystoredSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelDaystoredDays" @focus="inputFocus('lowLevelDaystoredDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelDaystoredDays" @focus="inputFocus('lowLevelDaystoredDays', 'day')" @keyup.native="formatInput($event)"></el-input>
<label>天内单天储值满</label> <label>天内单天储值满</label>
<el-input v-model="ruleForm.lowLevelDaystored" @focus="inputFocus('lowLevelDaystored', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelDaystored" @focus="inputFocus('lowLevelDaystored', 'money')" @keyup.native="formatInput($event)"></el-input>
<label> 元 </label> <label> 元 </label>
</div> </div> -->
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelSumcostSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelSumcostSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelSumcostDays" @focus="inputFocus('lowLevelSumcostDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelSumcostDays" @focus="inputFocus('lowLevelSumcostDays', 'day')" @keyup.native="formatInput($event)"></el-input>
...@@ -219,13 +219,13 @@ ...@@ -219,13 +219,13 @@
<el-input v-model="ruleForm.lowLevelCosttimes" @focus="inputFocus('lowLevelCosttimes', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelCosttimes" @focus="inputFocus('lowLevelCosttimes', 'day')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
</div> </div>
<div class="check-cell"> <!-- <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelSumstoredSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelSumstoredSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelSumstoredDays" @focus="inputFocus('lowLevelSumstoredDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelSumstoredDays" @focus="inputFocus('lowLevelSumstoredDays', 'day')" @keyup.native="formatInput($event)"></el-input>
<label>天内储值满</label> <label>天内储值满</label>
<el-input v-model="ruleForm.lowLevelSumstored" @focus="inputFocus('lowLevelSumstored', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelSumstored" @focus="inputFocus('lowLevelSumstored', 'money')" @keyup.native="formatInput($event)"></el-input>
<label> 元 </label> <label> 元 </label>
</div> </div> -->
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelSumintegralSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelSumintegralSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelSumintegralDays" @focus="inputFocus('lowLevelSumintegralDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelSumintegralDays" @focus="inputFocus('lowLevelSumintegralDays', 'day')" @keyup.native="formatInput($event)"></el-input>
...@@ -329,7 +329,7 @@ export default { ...@@ -329,7 +329,7 @@ export default {
upLevelConsumeSelect: false, // x天内消费满x元-开关 upLevelConsumeSelect: false, // x天内消费满x元-开关
upLevelConsumeCost: '', // x天内消费满x元 upLevelConsumeCost: '', // x天内消费满x元
autoDowngrade: true, //自动降级 1启用 2停用 autoDowngrade: true, //自动降级 1启用 2停用
gradeEffectDay: '', //自升级之日起算X天 gradeEffectDay: '0', //自升级之日起算X天
lowLevelHighcostDays: '', //x天内单天消费满x元 lowLevelHighcostDays: '', //x天内单天消费满x元
lowLevelHighcost: '', lowLevelHighcost: '',
lowLevelHighcostSelect: false, lowLevelHighcostSelect: false,
...@@ -609,7 +609,7 @@ export default { ...@@ -609,7 +609,7 @@ export default {
data.upLevelSumstoredDays = data.upLevelSumstoredDays || 0; data.upLevelSumstoredDays = data.upLevelSumstoredDays || 0;
data.upLevelSumstored = data.upLevelSumstored || 0; data.upLevelSumstored = data.upLevelSumstored || 0;
data.upLevelSumintegralDays = data.upLevelSumintegralDays || 0; data.upLevelSumintegralDays = data.upLevelSumintegralDays || 0;
data.upLevelSumintegral = data.upLevelSumintegra data.upLevelSumintegral = data.upLevelSumintegral || 0;
data.upLevelConsumeCost = data.upLevelConsumeCost || 0; data.upLevelConsumeCost = data.upLevelConsumeCost || 0;
data.gradeEffectDay = data.gradeEffectDay || 0; data.gradeEffectDay = data.gradeEffectDay || 0;
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
</el-form-item> </el-form-item>
<el-form-item label="适用对象" prop class="margin-20"> <el-form-item label="适用对象" prop class="margin-20">
<el-select @change="changePeople" v-model="ruleForm.useCrowd" placeholder="请选择"> <el-select :disabled="true" @change="changePeople" v-model="ruleForm.useCrowd" placeholder="请选择">
<el-option <el-option
v-for="item in applyObjOption" v-for="item in applyObjOption"
:key="item.value" :key="item.value"
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="人群定向" v-if="ruleForm.useCrowd == 2" prop class="padding-0"> <el-form-item label="人群定向" v-if="ruleForm.useCrowd == 2" prop class="padding-0">
<el-button @click="showPeople">已设置{{ selectCount }}项筛选</el-button> <el-button :disabled="true" @click="showPeople">已设置{{ selectCount }}项筛选</el-button>
</el-form-item> </el-form-item>
<el-form-item label="适用条件" class="padding-0"> <el-form-item label="适用条件" class="padding-0">
...@@ -66,6 +66,7 @@ ...@@ -66,6 +66,7 @@
<el-form-item label="适用商品" class="margin-20"> <el-form-item label="适用商品" class="margin-20">
<el-select <el-select
:disabled="opendisabled1"
class="fl w240" class="fl w240"
style="margin-right: 10px;" style="margin-right: 10px;"
v-model="item.channelRelationProType" v-model="item.channelRelationProType"
...@@ -82,8 +83,9 @@ ...@@ -82,8 +83,9 @@
<!-- 商品品牌 --> <!-- 商品品牌 -->
<el-select <el-select
:disabled="opendisabled1"
size="small" size="small"
class="fl w240" class="fl w240 valueWx"
@change="selectGoodsStoreWx" @change="selectGoodsStoreWx"
v-if="item.channelRelationProType == 2" v-if="item.channelRelationProType == 2"
v-model="valueWx" v-model="valueWx"
...@@ -99,8 +101,9 @@ ...@@ -99,8 +101,9 @@
</el-select> </el-select>
<!-- 商品品类 --> <!-- 商品品类 -->
<div v-if="item.channelRelationProType == 3" class="fl goods-cate"> <div v-if="item.channelRelationProType == 3" class="fl goods-cate cateDataWx">
<goodsCate <goodsCate
:disabled="opendisabled1"
ref="selectGoodsCate" ref="selectGoodsCate"
:selectCateType="selectCateTypeWx" :selectCateType="selectCateTypeWx"
:selectCateData="selectCateDataWx" :selectCateData="selectCateDataWx"
...@@ -109,8 +112,9 @@ ...@@ -109,8 +112,9 @@
</div> </div>
<el-button <el-button
:disabled="opendisabled1"
style="width:202px" style="width:202px"
class="fl" class="fl goodsListWx"
v-if="item.channelRelationProType == 4" v-if="item.channelRelationProType == 4"
@click="showGoodsDialog('wx')" @click="showGoodsDialog('wx')"
>已选{{ goodsListWx.length }}件商品</el-button> >已选{{ goodsListWx.length }}件商品</el-button>
...@@ -118,10 +122,10 @@ ...@@ -118,10 +122,10 @@
<el-form-item label="折扣控制:" prop="region" class="margin-20"> <el-form-item label="折扣控制:" prop="region" class="margin-20">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEvent2()">所有折扣商品都适用</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEventn(2)">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20 padding-bottom-20"> <div class="radio-cell margin-20 padding-bottom-20">
<el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio class="zk0" v-model="item.integralUseDiscountControl" label="2">折扣</el-radio>
<!-- <el-input @focus="inputFocus(item,'integralUseDiscountControlLower')" @change="formatInputChange($event)" v-model="item.integralUseDiscountControlLower"></el-input> --> <!-- <el-input @focus="inputFocus(item,'integralUseDiscountControlLower')" @change="formatInputChange($event)" v-model="item.integralUseDiscountControlLower"></el-input> -->
<el-input-number <el-input-number
v-model="item.integralUseDiscountControlLower" v-model="item.integralUseDiscountControlLower"
...@@ -164,19 +168,19 @@ ...@@ -164,19 +168,19 @@
<el-select v-model="storeValue" v-if="!isJinHua" class="w240"> <el-select v-model="storeValue" v-if="!isJinHua" class="w240">
<el-option label="所有门店" value=""></el-option> <el-option label="所有门店" value=""></el-option>
</el-select> </el-select>
<vue-gic-store-new v-else :scenesVal="scencs" :options="options" :isAdd="isAdd" :uuid.sync="wmuuid" ref="wmstoreGroup"></vue-gic-store-new> <vue-gic-store-new :disabled="opendisabled9" v-else :scenesVal="scencs" :options="options" :isAdd="isAdd" :uuid.sync="wmuuid" ref="wmstoreGroup"></vue-gic-store-new>
</el-form-item> </el-form-item>
<el-form-item label="微盟商品" class="margin-20"> <el-form-item label="微盟商品" class="margin-20">
<el-select v-model="item.channelRelationProType" placeholder="请选择" class="w240"> <el-select :disabled="opendisabled9" v-model="item.channelRelationProType" placeholder="请选择" class="w240">
<el-option v-for="item in wMGoodOption" :key="item.value" :label="item.label" :value="item.value"> </el-option> <el-option v-for="item in wMGoodOption" :key="item.value" :label="item.label" :value="item.value"> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="折扣控制:" prop="region" class="input-margin-b margin-20 padding-bottom-20"> <el-form-item label="折扣控制:" prop="region" class="input-margin-b margin-20 padding-bottom-20">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEvent1()">所有折扣商品都适用</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEventn(1)">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20"> <div class="radio-cell margin-20">
<el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio class="zk1" v-model="item.integralUseDiscountControl" label="2">折扣</el-radio>
<el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number>
<label></label> <label></label>
<el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number>
...@@ -193,7 +197,7 @@ ...@@ -193,7 +197,7 @@
<div> <div>
<el-radio v-model="ruleForm.integralUseStatus" label="0" @change="radioEvent()">不支持抵现</el-radio> <el-radio v-model="ruleForm.integralUseStatus" label="0" @change="radioEvent()">不支持抵现</el-radio>
</div> </div>
<div class="margin-20"> <div class="margin-20 integralUse">
<el-radio v-model="ruleForm.integralUseStatus" label="1">每使用</el-radio> <el-radio v-model="ruleForm.integralUseStatus" label="1">每使用</el-radio>
<!-- <el-input @keyup.native="formatInputNum($event)" v-model="ruleForm.integralUse.integral"></el-input> --> <!-- <el-input @keyup.native="formatInputNum($event)" v-model="ruleForm.integralUse.integral"></el-input> -->
<el-input-number v-model="ruleForm.integralUse.integral" placeholder="请输入" :controls="false" step-strictly></el-input-number> <el-input-number v-model="ruleForm.integralUse.integral" placeholder="请输入" :controls="false" step-strictly></el-input-number>
...@@ -272,7 +276,7 @@ import strLength from '@/common/js/strlen'; ...@@ -272,7 +276,7 @@ import strLength from '@/common/js/strlen';
import { getRequest, postRequest, postJson } from '@/api/api'; import { getRequest, postRequest, postJson } from '@/api/api';
import { log } from '@/utils/index.js'; import { log } from '@/utils/index.js';
import wmMixins from './strategy.js'; import wmMixins from './strategy.js';
import { scrollToError } from '@/utils/validate';
const timeStramp = { const timeStramp = {
year: new Date().getFullYear(), year: new Date().getFullYear(),
month: new Date().getMonth(), month: new Date().getMonth(),
...@@ -284,6 +288,10 @@ export default { ...@@ -284,6 +288,10 @@ export default {
mixins: [wmMixins], mixins: [wmMixins],
data() { data() {
return { return {
scrollToError,
opendisabled3: false,
opendisabled1: false,
opendisabled9: false,
repProjectName: 'gic-clique', repProjectName: 'gic-clique',
navpath: [ navpath: [
{ {
...@@ -476,15 +484,9 @@ export default { ...@@ -476,15 +484,9 @@ export default {
that.getLoginInfo(); that.getLoginInfo();
}, },
methods: { methods: {
radioEvent2() { radioEventn(n) {
// console.log(this.ruleForm.channelType, 78787); this.ruleForm.channelList[n].integralUseDiscountControlLower = undefined;
this.ruleForm.channelList[0].integralUseDiscountControlLower = undefined; this.ruleForm.channelList[n].integralUseDiscountControlUpper = undefined;
this.ruleForm.channelList[0].integralUseDiscountControlUpper = undefined;
},
radioEvent1() {
// console.log(this.ruleForm.channelType, 78787);
this.ruleForm.channelList[1].integralUseDiscountControlLower = undefined;
this.ruleForm.channelList[1].integralUseDiscountControlUpper = undefined;
}, },
radioEvent() { radioEvent() {
this.ruleForm.integralUse.fee = undefined; this.ruleForm.integralUse.fee = undefined;
...@@ -505,19 +507,23 @@ export default { ...@@ -505,19 +507,23 @@ export default {
if (data.channelList[i].integralUseDiscountControl == 2) { if (data.channelList[i].integralUseDiscountControl == 2) {
if (!data.channelList[i].integralUseDiscountControlUpper || !data.channelList[i].integralUseDiscountControlLower) { if (!data.channelList[i].integralUseDiscountControlUpper || !data.channelList[i].integralUseDiscountControlLower) {
obj.flag = false; obj.flag = false;
this.scrollToError(this, `zk${i}`);
obj.text = '请填写折扣'; 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)) { 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.flag = false;
this.scrollToError(this, `zk${i}`);
obj.text = '折扣格式有误'; obj.text = '折扣格式有误';
} }
} }
if (data.channelList[i].channelType == 1 && !data.channelList[i].enterpriseRelationIdArr.length) { if (data.channelList[i].channelType == 1 && !data.channelList[i].enterpriseRelationIdArr.length) {
obj.flag = false; obj.flag = false;
this.scrollToError(this, `zk${i}`);
obj.text = '请选择商户'; obj.text = '请选择商户';
} }
if (data.channelList[i].channelType == 9 && !data.channelList[i].enterpriseRelationIdArr.length) { if (data.channelList[i].channelType == 9 && !data.channelList[i].enterpriseRelationIdArr.length) {
obj.flag = false; obj.flag = false;
this.scrollToError(this, `zk${i}`);
obj.text = '请选择商户'; obj.text = '请选择商户';
} }
if (data.channelList[i].channelType == 9 && this.isJinHua) { if (data.channelList[i].channelType == 9 && this.isJinHua) {
...@@ -568,15 +574,18 @@ export default { ...@@ -568,15 +574,18 @@ export default {
// } // }
let flag = !data.integralUse.fee || String(data.integralUse.integral) == ''; let flag = !data.integralUse.fee || String(data.integralUse.integral) == '';
if (data.integralUseStatus == 1 && flag) { if (data.integralUseStatus == 1 && flag) {
this.scrollToError(this, 'integralUse');
that.$message.error('请填写抵现规则'); that.$message.error('请填写抵现规则');
return; return;
} }
if (data.integralUseStatus == 1) { if (data.integralUseStatus == 1) {
if (!Number(data.integralUse.fee)) { if (!Number(data.integralUse.fee)) {
this.scrollToError(this, 'integralUse');
showMsg.showmsg('抵现规则中的抵现金额不能为0', 'error'); showMsg.showmsg('抵现规则中的抵现金额不能为0', 'error');
return; return;
} }
if (!Number(data.integralUse.integral)) { if (!Number(data.integralUse.integral)) {
this.scrollToError(this, 'integralUse');
showMsg.showmsg('抵现规则中的使用积分不能为0', 'error'); showMsg.showmsg('抵现规则中的使用积分不能为0', 'error');
return; return;
} }
...@@ -628,16 +637,19 @@ export default { ...@@ -628,16 +637,19 @@ export default {
// 微信商城 // 微信商城
// 适用商品 // 适用商品
if (item.channelRelationProType == 2 && this.valueWx.length < 1) { if (item.channelRelationProType == 2 && this.valueWx.length < 1) {
this.scrollToError(this, 'valueWx');
// 商品品牌 // 商品品牌
showMsg.showmsg('请选择商品品牌', 'error'); showMsg.showmsg('请选择商品品牌', 'error');
return (saveBool = false); return (saveBool = false);
} }
if (item.channelRelationProType == 3 && this.cateDataWx.length < 1) { if (item.channelRelationProType == 3 && this.cateDataWx.length < 1) {
this.scrollToError(this, 'cateDataWx');
// 商品品类 // 商品品类
showMsg.showmsg('请选择商品品类', 'error'); showMsg.showmsg('请选择商品品类', 'error');
return (saveBool = false); return (saveBool = false);
} }
if (item.channelRelationProType == 4 && this.goodsListWx.length < 1) { if (item.channelRelationProType == 4 && this.goodsListWx.length < 1) {
this.scrollToError(this, 'goodsListWx');
// 单件商品 // 单件商品
showMsg.showmsg('请选择单件商品', 'error'); showMsg.showmsg('请选择单件商品', 'error');
return (saveBool = false); return (saveBool = false);
...@@ -646,6 +658,7 @@ export default { ...@@ -646,6 +658,7 @@ export default {
}); });
// 自定义人群 // 自定义人群
if (data.useCrowd == 2 && this.selectCount < 1) { if (data.useCrowd == 2 && this.selectCount < 1) {
this.scrollToError(this, 'selectCount');
showMsg.showmsg('请选择人群定向', 'error'); showMsg.showmsg('请选择人群定向', 'error');
return; return;
} }
...@@ -680,7 +693,8 @@ export default { ...@@ -680,7 +693,8 @@ export default {
} }
}) })
} else { } else {
log('error submit!!'); this.scrollToError(this);
showMsg.showmsg('表单信息未填写完整','error')
return false; return false;
} }
}); });
...@@ -797,6 +811,15 @@ export default { ...@@ -797,6 +811,15 @@ export default {
if (item.channelList) { if (item.channelList) {
item.channelList.forEach(item => { item.channelList.forEach(item => {
if(item.openStatus == true) {
if(item.channelType==3) {
this.opendisabled3 = true;
}else if(item.channelType==1) {
this.opendisabled1 = true;
}else if(item.channelType==9) {
this.opendisabled9 = true;
}
}
if(item.openStatus == false) { if(item.openStatus == false) {
item.integralUseDiscountControl == 1 item.integralUseDiscountControl == 1
} }
......
...@@ -37,11 +37,11 @@ ...@@ -37,11 +37,11 @@
<el-input v-model="ruleForm.upLevelHighcost" @focus="inputFocus('upLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelHighcost" @focus="inputFocus('upLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
</div> </div>
<div class="check-cell"> <!-- <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelDaystoredSelect">当天储值满</el-checkbox> <el-checkbox v-model="ruleForm.upLevelDaystoredSelect">当天储值满</el-checkbox>
<el-input v-model="ruleForm.upLevelDaystored" @focus="inputFocus('upLevelDaystored', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelDaystored" @focus="inputFocus('upLevelDaystored', 'money')" @keyup.native="formatInput($event)"></el-input>
<label> 元 </label> <label> 元 </label>
</div> </div> -->
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelSumcostSelect"></el-checkbox> <el-checkbox v-model="ruleForm.upLevelSumcostSelect"></el-checkbox>
<el-input v-model="ruleForm.upLevelSumcostDays" @focus="inputFocus('upLevelSumcostDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelSumcostDays" @focus="inputFocus('upLevelSumcostDays', 'day')" @keyup.native="formatInput($event)"></el-input>
...@@ -56,13 +56,13 @@ ...@@ -56,13 +56,13 @@
<el-input v-model="ruleForm.upLevelCosttimes" @focus="inputFocus('upLevelCosttimes', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelCosttimes" @focus="inputFocus('upLevelCosttimes', 'day')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
</div> </div>
<div class="check-cell"> <!-- <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelSumstoredSelect"></el-checkbox> <el-checkbox v-model="ruleForm.upLevelSumstoredSelect"></el-checkbox>
<el-input v-model="ruleForm.upLevelSumstoredDays" @focus="inputFocus('upLevelSumstoredDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelSumstoredDays" @focus="inputFocus('upLevelSumstoredDays', 'day')" @keyup.native="formatInput($event)"></el-input>
<label>天内储值满</label> <label>天内储值满</label>
<el-input v-model="ruleForm.upLevelSumstored" @focus="inputFocus('upLevelSumstored', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelSumstored" @focus="inputFocus('upLevelSumstored', 'money')" @keyup.native="formatInput($event)"></el-input>
<label> 元 </label> <label> 元 </label>
</div> </div> -->
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.upLevelSumintegralSelect"></el-checkbox> <el-checkbox v-model="ruleForm.upLevelSumintegralSelect"></el-checkbox>
<el-input v-model="ruleForm.upLevelSumintegralDays" @focus="inputFocus('upLevelSumintegralDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.upLevelSumintegralDays" @focus="inputFocus('upLevelSumintegralDays', 'day')" @keyup.native="formatInput($event)"></el-input>
...@@ -96,13 +96,13 @@ ...@@ -96,13 +96,13 @@
<el-input v-model="ruleForm.lowLevelHighcost" @focus="inputFocus('lowLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelHighcost" @focus="inputFocus('lowLevelHighcost', 'money')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
</div> </div>
<div class="check-cell"> <!-- <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelDaystoredSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelDaystoredSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelDaystoredDays" @focus="inputFocus('lowLevelDaystoredDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelDaystoredDays" @focus="inputFocus('lowLevelDaystoredDays', 'day')" @keyup.native="formatInput($event)"></el-input>
<label>天内单天储值满</label> <label>天内单天储值满</label>
<el-input v-model="ruleForm.lowLevelDaystored" @focus="inputFocus('lowLevelDaystored', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelDaystored" @focus="inputFocus('lowLevelDaystored', 'money')" @keyup.native="formatInput($event)"></el-input>
<label> 元 </label> <label> 元 </label>
</div> </div> -->
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelSumcostSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelSumcostSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelSumcostDays" @focus="inputFocus('lowLevelSumcostDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelSumcostDays" @focus="inputFocus('lowLevelSumcostDays', 'day')" @keyup.native="formatInput($event)"></el-input>
...@@ -117,13 +117,13 @@ ...@@ -117,13 +117,13 @@
<el-input v-model="ruleForm.lowLevelCosttimes" @focus="inputFocus('lowLevelCosttimes', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelCosttimes" @focus="inputFocus('lowLevelCosttimes', 'day')" @keyup.native="formatInput($event)"></el-input>
<label></label> <label></label>
</div> </div>
<div class="check-cell"> <!-- <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelSumstoredSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelSumstoredSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelSumstoredDays" @focus="inputFocus('lowLevelSumstoredDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelSumstoredDays" @focus="inputFocus('lowLevelSumstoredDays', 'day')" @keyup.native="formatInput($event)"></el-input>
<label>天内储值满</label> <label>天内储值满</label>
<el-input v-model="ruleForm.lowLevelSumstored" @focus="inputFocus('lowLevelSumstored', 'money')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelSumstored" @focus="inputFocus('lowLevelSumstored', 'money')" @keyup.native="formatInput($event)"></el-input>
<label> 元 </label> <label> 元 </label>
</div> </div> -->
<div class="check-cell"> <div class="check-cell">
<el-checkbox v-model="ruleForm.lowLevelSumintegralSelect"></el-checkbox> <el-checkbox v-model="ruleForm.lowLevelSumintegralSelect"></el-checkbox>
<el-input v-model="ruleForm.lowLevelSumintegralDays" @focus="inputFocus('lowLevelSumintegralDays', 'day')" @keyup.native="formatInput($event)"></el-input> <el-input v-model="ruleForm.lowLevelSumintegralDays" @focus="inputFocus('lowLevelSumintegralDays', 'day')" @keyup.native="formatInput($event)"></el-input>
......
...@@ -34,10 +34,12 @@ ...@@ -34,10 +34,12 @@
:uuid.sync="uuid" :uuid.sync="uuid"
:isClique="true" :isClique="true"
ref="storeGroup" ref="storeGroup"
:readonly="opendisabled3"
></dm-store-selector> ></dm-store-selector>
</el-form-item> </el-form-item>
<el-form-item label="适用商品:" prop="name" class="margin-20"> <el-form-item label="适用商品:" prop="name" class="margin-20">
<el-select <el-select
:disabled="opendisabled3"
class=" w215" class=" w215"
v-model="item.channelRelationProType" v-model="item.channelRelationProType"
placeholder="请选择" placeholder="请选择"
...@@ -52,6 +54,7 @@ ...@@ -52,6 +54,7 @@
</el-select> </el-select>
<!-- 二级 --> <!-- 二级 -->
<span <span
:disabled="opendisabled3"
class="span-txt" class="span-txt"
ref="treeinput" ref="treeinput"
v-if="item.channelRelationProType == 2" v-if="item.channelRelationProType == 2"
...@@ -64,6 +67,7 @@ ...@@ -64,6 +67,7 @@
@click="toggle('brand')" @click="toggle('brand')"
>已选择 {{ item.strategyGoodsRelationIdArr ? item.strategyGoodsRelationIdArr.length : 0 }} 个品类</span> >已选择 {{ item.strategyGoodsRelationIdArr ? item.strategyGoodsRelationIdArr.length : 0 }} 个品类</span>
<treeselect <treeselect
:disabled="opendisabled3"
v-if="item.channelRelationProType == 2 || item.channelRelationProType == 3" v-if="item.channelRelationProType == 2 || item.channelRelationProType == 3"
placeholder placeholder
noOptionsText="暂无数据" noOptionsText="暂无数据"
...@@ -80,16 +84,17 @@ ...@@ -80,16 +84,17 @@
/> />
<!--:default-expand-level="1":load-options="loadOptions" :normalizer="normalizer" :always-open="goodsOpen" --> <!--:default-expand-level="1":load-options="loadOptions" :normalizer="normalizer" :always-open="goodsOpen" -->
<el-button <el-button
:disabled="opendisabled3"
v-if="item.channelRelationProType == 4" v-if="item.channelRelationProType == 4"
@click="showGoodsDialog" @click="showGoodsDialog"
>已选0件商品</el-button> >已选0件商品</el-button>
</el-form-item> </el-form-item>
<el-form-item label="折扣控制:" prop="region" class="margin-20 padding-bottom-20"> <el-form-item label="折扣控制:" prop="region" class="margin-20 padding-bottom-20">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEvent0">所有折扣商品都适用</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEventN(0)">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20"> <div class="radio-cell margin-20">
<el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio class="zk0" v-model="item.integralUseDiscountControl" label="2">折扣</el-radio>
<!-- <el-input v-model="item.integralUseDiscountControlLower" @focus="inputFocus(item)" @keyup.native="formatInput($event)"></el-input> --> <!-- <el-input v-model="item.integralUseDiscountControlLower" @focus="inputFocus(item)" @keyup.native="formatInput($event)"></el-input> -->
<el-input-number <el-input-number
v-model="item.integralUseDiscountControlLower" v-model="item.integralUseDiscountControlLower"
...@@ -144,6 +149,7 @@ ...@@ -144,6 +149,7 @@
<el-form-item label="适用商品:" class="margin-20"> <el-form-item label="适用商品:" class="margin-20">
<el-select <el-select
:disabled="opendisabled1"
class="w215" class="w215"
v-model="item.channelRelationProType" v-model="item.channelRelationProType"
placeholder="请选择" placeholder="请选择"
...@@ -158,18 +164,21 @@ ...@@ -158,18 +164,21 @@
</el-select> </el-select>
<!-- 二级 --> <!-- 二级 -->
<span <span
:disabled="opendisabled1"
class="span-txt" class="span-txt"
ref="treeinput" ref="treeinput"
v-if="item.channelRelationProType == 2" v-if="item.channelRelationProType == 2"
@click="toggle('wx')" @click="toggle('wx')"
>已选择 {{ item.goodsRelationIds ? item.goodsRelationIds.length : 0 }} 个品牌</span> >已选择 {{ item.goodsRelationIds ? item.goodsRelationIds.length : 0 }} 个品牌</span>
<span <span
:disabled="opendisabled1"
class="span-txt" class="span-txt"
ref="treeinput" ref="treeinput"
v-if="item.channelRelationProType == 3" v-if="item.channelRelationProType == 3"
@click="toggle('wx')" @click="toggle('wx')"
>已选择 {{ item.goodsRelationIds ? item.goodsRelationIds.length : 0 }} 个品类</span> >已选择 {{ item.goodsRelationIds ? item.goodsRelationIds.length : 0 }} 个品类</span>
<treeselect <treeselect
:disabled="opendisabled1"
v-if="item.channelRelationProType == 2 || item.channelRelationProType == 3" v-if="item.channelRelationProType == 2 || item.channelRelationProType == 3"
placeholder placeholder
noOptionsText="暂无数据" noOptionsText="暂无数据"
...@@ -185,16 +194,17 @@ ...@@ -185,16 +194,17 @@
/> />
<!--model=item.strategyGoodsRelationIds和上一个相同会有问题 --> <!--model=item.strategyGoodsRelationIds和上一个相同会有问题 -->
<el-button <el-button
:disabled="opendisabled1"
v-if="item.channelRelationProType == 4" v-if="item.channelRelationProType == 4"
@click="showGoodsDialog" @click="showGoodsDialog"
>已选0件商品</el-button> >已选0件商品</el-button>
</el-form-item> </el-form-item>
<el-form-item label="折扣控制:" prop="region" class="margin-20 padding-bottom-20"> <el-form-item label="折扣控制:" prop="region" class="margin-20 padding-bottom-20">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEvent1">所有折扣商品都适用</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEventN(1)">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20"> <div class="radio-cell margin-20">
<el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio class="zk1" v-model="item.integralUseDiscountControl" label="2">折扣</el-radio>
<!-- <el-input v-model="item.integralUseDiscountControlLower" @focus="inputFocus(item)" @keyup.native="formatInput($event)"></el-input> --> <!-- <el-input v-model="item.integralUseDiscountControlLower" @focus="inputFocus(item)" @keyup.native="formatInput($event)"></el-input> -->
<el-input-number <el-input-number
v-model="item.integralUseDiscountControlLower" v-model="item.integralUseDiscountControlLower"
...@@ -283,21 +293,21 @@ ...@@ -283,21 +293,21 @@
</el-form-item> </el-form-item>
<el-form-item label="选择店铺:" class="margin-20"> <el-form-item label="选择店铺:" class="margin-20">
<el-select v-model="storeValue" v-if="!isJinHua" class="w215"> <el-select v-model="storeValue" v-if="!isJinHua" class="w215">
<el-option label="所有门店:" value=""></el-option> <el-option label="所有门店" value=""></el-option>
</el-select> </el-select>
<vue-gic-store-new v-else :scenesVal="scencs" :options="options" :isAdd="isAdd" :uuid.sync="wmuuid" ref="wmstoreGroup"></vue-gic-store-new> <vue-gic-store-new :disabled="opendisabled9" v-else :scenesVal="scencs" :options="options" :isAdd="isAdd" :uuid.sync="wmuuid" ref="wmstoreGroup"></vue-gic-store-new>
</el-form-item> </el-form-item>
<el-form-item label="微盟商品:" class="margin-20"> <el-form-item label="微盟商品:" class="margin-20">
<el-select v-model="item.channelRelationProType" placeholder="请选择" class="w215"> <el-select :disabled="opendisabled9" v-model="item.channelRelationProType" placeholder="请选择" class="w215">
<el-option v-for="item in wMGoodOption" :key="item.value" :label="item.label" :value="item.value"> </el-option> <el-option v-for="item in wMGoodOption" :key="item.value" :label="item.label" :value="item.value"> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="折扣控制:" prop="region" class="input-margin-b margin-20 padding-bottom-20"> <el-form-item label="折扣控制:" prop="region" class="input-margin-b margin-20 padding-bottom-20">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEvent2">所有折扣商品都适用</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEventN(2)">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20"> <div class="radio-cell margin-20">
<el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio class="zk2" v-model="item.integralUseDiscountControl" label="2">折扣</el-radio>
<el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number>
<label></label> <label></label>
<el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number>
...@@ -321,10 +331,10 @@ ...@@ -321,10 +331,10 @@
</el-form-item> </el-form-item>
<el-form-item label="折扣控制:" prop="region" class="input-margin-b margin-20 padding-bottom-20"> <el-form-item label="折扣控制:" prop="region" class="input-margin-b margin-20 padding-bottom-20">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEvent3">所有折扣商品都适用</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEventN(3)">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20"> <div class="radio-cell margin-20">
<el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio class="zk3" v-model="item.integralUseDiscountControl" label="2">折扣</el-radio>
<el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number>
<label></label> <label></label>
<el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number>
...@@ -348,10 +358,10 @@ ...@@ -348,10 +358,10 @@
</el-form-item> </el-form-item>
<el-form-item label="折扣控制:" prop="region" class="input-margin-b margin-20 padding-bottom-20"> <el-form-item label="折扣控制:" prop="region" class="input-margin-b margin-20 padding-bottom-20">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEvent4">所有折扣商品都适用</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEventN(4)">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20"> <div class="radio-cell margin-20">
<el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio class="zk4" v-model="item.integralUseDiscountControl" label="2">折扣</el-radio>
<el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number>
<label></label> <label></label>
<el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number>
...@@ -375,10 +385,10 @@ ...@@ -375,10 +385,10 @@
</el-form-item> </el-form-item>
<el-form-item label="折扣控制:" prop="region" class="input-margin-b margin-20 padding-bottom-20"> <el-form-item label="折扣控制:" prop="region" class="input-margin-b margin-20 padding-bottom-20">
<div class="radio-cell"> <div class="radio-cell">
<el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEvent5">所有折扣商品都适用</el-radio> <el-radio v-model="item.integralUseDiscountControl" label="1" @change="radioEventN(5)">所有折扣商品都适用</el-radio>
</div> </div>
<div class="radio-cell margin-20"> <div class="radio-cell margin-20">
<el-radio v-model="item.integralUseDiscountControl" label="2">折扣</el-radio> <el-radio class="zk5" v-model="item.integralUseDiscountControl" label="2">折扣</el-radio>
<el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlLower" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number>
<label></label> <label></label>
<el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number> <el-input-number v-model="item.integralUseDiscountControlUpper" placeholder="请输入" :precision="2" :controls="false" :max="10.0" :min="1"></el-input-number>
...@@ -393,11 +403,11 @@ ...@@ -393,11 +403,11 @@
<dm-sub-title text="规则配置" type="fill" style="margin: 40px 0 20px"></dm-sub-title> <dm-sub-title text="规则配置" type="fill" style="margin: 40px 0 20px"></dm-sub-title>
<el-form-item label="适用对象:" prop="useCrowd" class="margin-20"> <el-form-item label="适用对象:" prop="useCrowd" class="margin-20">
<el-radio-group v-model="ruleForm.useCrowd"> <el-radio-group v-model="ruleForm.useCrowd">
<el-radio v-for="item in applyObjOption" :key="item.value" :label="item.value">{{ item.label }}</el-radio> <el-radio :disabled="true" v-for="item in applyObjOption" :key="item.value" :label="item.value">{{ item.label }}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="人群定向" v-if="ruleForm.useCrowd == 2" prop="" class="padding-0"> <el-form-item label="人群定向" v-if="ruleForm.useCrowd == 2" prop="" class="padding-0">
<el-button style="width: 214px;" @click="showPeople">已设置{{ selectCount }}项筛选</el-button> <el-button :disabled="true" style="width: 214px;" @click="showPeople">已设置{{ selectCount }}项筛选</el-button>
</el-form-item> </el-form-item>
<el-form-item label="获取规则:" prop="integralGetStatus"> <el-form-item label="获取规则:" prop="integralGetStatus">
<div> <div>
...@@ -421,8 +431,109 @@ ...@@ -421,8 +431,109 @@
<label>自获取之日起</label><el-input v-model="ruleForm.integralGetFreezeDays" @keyup.native="formatInputNum($event)"></el-input><label></label> <label>自获取之日起</label><el-input v-model="ruleForm.integralGetFreezeDays" @keyup.native="formatInputNum($event)"></el-input><label></label>
<span style="font-size: 12px;color: #828282;line-height: 1;padding-left: 10px;">仅对通过订单获取的积分生效,活动类获取的积分没有冻结期</span> <span style="font-size: 12px;color: #828282;line-height: 1;padding-left: 10px;">仅对通过订单获取的积分生效,活动类获取的积分没有冻结期</span>
</el-form-item> </el-form-item>
<el-form-item label="积分有效期:" v-if="ruleForm.integralGetStatus == 1" prop="integralGetEffectiveDays"> <el-form-item label="积分有效期:" prop="userGeneralIntegralExpireRule">
<label>自获取之日起</label><el-input v-model="ruleForm.integralGetEffectiveDays" @keyup.native="formatInputNum($event)"></el-input><label></label> <el-radio v-model="ruleForm.userGeneralIntegralExpireRule" @change="radiouserGeneralIntegralExpireRule" :label="1">通用积分策略有效期</el-radio>
<el-radio v-model="ruleForm.userGeneralIntegralExpireRule" @change="radiouserGeneralIntegralExpireRule" :label="0">自定义有效期
<el-popover width="520" trigger="hover" placement="right">
<div style="line-height:20px">
<p style="color:#303133;font-size:12px;font-weight:600">规则说明:</p>
<p style="color:#e6a23c;font-size:12px;">
仅GIC计算积分时,配置的积分有效期才会生效,<br/>
ERP计算积分时,此配置项不生效;
</p>
<ul style="color:#303133;font-size:12px;">
<li>1、永久有效:客户获取的积分永久有效,系统不会清零;</li>
<li>2、按年失效:在第X年的X月X日失效:例:设置第二年的12月1日失效,则2021年获取的所有积分在2022年12月1日失效;</li>
<li>3、按月失效:在第X个月的X日失效:例:设置第二月的1日失效,则3月获取的所有积分在4月1日失效;</li>
<li>4、按天失效:每天获取的所有积分在获取之日起365天后失效:例:设置365天,则2022年12月1号获取的积分在2023年12月1号失效;</li>
<li>5、修改积分有效期后,已经获取的积分有效期不变,后续获取的积分按照修改后的积分有效期生效;</li>
</ul>
</div>
<i slot="reference" class="iconfont icon-QuestionCircleOutlined" style="font-size:14px;color:#606266;"></i>
</el-popover>
</el-radio>
<!-- 通用积分有效期 -->
<div class="mt16" v-if="ruleForm.userGeneralIntegralExpireRule == 1">
<div class="radio-cell" v-if="timeType == 1">
<el-radio v-model="timeType" :label="1" @change="radioExpireType1" disabled="true">永久有效</el-radio>
</div>
<div class="radio-cell" v-else-if="timeType == 2">
<el-radio v-model="timeType" :label="2" disabled="true"><label>按年失效:</label></el-radio>
<label>每年获取的所有积分,在</label>
<el-select v-model="yearYT" placeholder="请选择" style="width:120px;margin-right:20px" disabled="true">
<el-option v-for="n in yearList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label></label>
<el-select v-model="yearMT" placeholder="请选择" style="width:120px;margin-right:20px" disabled="true">
<el-option v-for="n in 12" :key="n" :label="n" :value="n"></el-option>
</el-select>
<label></label>
<el-select v-model="yearDT" placeholder="请选择" style="width:120px;margin-right:20px" disabled="true">
<el-option v-for="n in dayList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label>日失效</label>
</div>
<div class="radio-cell" v-else-if="timeType == 3">
<el-radio v-model="timeType" :label="3" disabled="true"><label>按月失效:</label></el-radio>
<label>每月获取的所有积分,在</label>
<el-select v-model="mouthMT" placeholder="请选择" style="width:120px;margin-right:20px" disabled="true">
<el-option v-for="n in mouthList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label></label>
<el-select v-model="mouthDT" placeholder="请选择" style="width:120px; margin-right:20px" disabled="true">
<el-option v-for="n in dayList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label>日失效</label>
</div>
<div class="radio-cell" v-else-if="timeType == 0 || timeType == null">
<el-radio v-model="timeType" :label="0" disabled="true">
<label>每天获取的所有积分,在获取之日起</label></el-radio>
<el-input placeholder="请输入" style="width:115px" v-model="effectiveDays" @keyup.native="formatInputNum($event)" disabled="true"></el-input>
<label>天后失效</label>
<span style="font-size: 12px;color: #909399;line-height: 1;padding-left: 10px;">建议不超过3年(1095天)</span>
</div>
<div class="radio-cell" v-else>
<p style="color:red;">还未配置通用积分策略,请先配置通用积分策略再选择「通用积分策略有效期」</p>
</div>
</div>
<!-- 自定义有效期 -->
<div class="form-child" style="padding:20px; margin-top:10px;" v-if="ruleForm.userGeneralIntegralExpireRule == 0">
<div class="radio-cell mb20">
<el-radio v-model="ruleForm.integralExpireType" :label="2" @change="radioExpireType1">按年失效:</el-radio>
<label>每年获取的所有积分,在</label>
<el-select v-model="yearY" placeholder="请选择" class="selectwm">
<el-option v-for="n in yearList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label></label>
<el-select v-model="yearM" placeholder="请选择" class="selectwm">
<el-option v-for="n in 12" :key="n" :label="n" :value="n"></el-option>
</el-select>
<label></label>
<el-select v-model="yearD" placeholder="请选择" class="selectwm">
<el-option v-for="n in dayList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label>日失效</label>
</div>
<div class="radio-cell mb20">
<el-radio v-model="ruleForm.integralExpireType" :label="3" @change="radioExpireType1">按月失效:</el-radio>
<label>每月获取的所有积分,在</label>
<el-select v-model="mouthM" placeholder="请选择" class="selectwm">
<el-option v-for="n in mouthList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label></label>
<el-select v-model="mouthD" placeholder="请选择" class="selectwm">
<el-option v-for="n in dayList" :key="n.key" :label="n.value" :value="n.key"></el-option>
</el-select>
<label>日失效</label>
</div>
<div class="radio-cell">
<el-radio v-model="ruleForm.integralExpireType" :label="0" @change="radioExpireType1">按天失效:</el-radio>
<label>每天获取的所有积分,在获取之日起</label>
<el-input placeholder="请输入" style="width:115px" v-model="ruleForm.integralGetEffectiveDays" @keyup.native="formatInputNum($event)"></el-input>
<label>天后失效</label>
<span style="font-size: 12px;color: #909399;line-height: 1;padding-left: 10px;">建议不超过3年(1095天)</span>
</div>
</div>
</el-form-item> </el-form-item>
<!-- 新增策略有效期配置 --> <!-- 新增策略有效期配置 -->
<el-form-item label="策略有效期:" prop="perpetualFlag"> <el-form-item label="策略有效期:" prop="perpetualFlag">
...@@ -480,8 +591,8 @@ ...@@ -480,8 +591,8 @@
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-row> <el-row>
<el-button @click="dialogVisiblePeople = false">取 消</el-button> <el-button :disabled="true" @click="dialogVisiblePeople = false">取 消</el-button>
<el-button type="primary" @click="getPeopleData">确 定</el-button> <el-button :disabled="true" type="primary" @click="getPeopleData">确 定</el-button>
</el-row> </el-row>
</span> </span>
</el-dialog> </el-dialog>
...@@ -500,6 +611,7 @@ import { postRequest, postJson } from '@/api/api'; ...@@ -500,6 +611,7 @@ import { postRequest, postJson } from '@/api/api';
import strLength from '@/common/js/strlen'; import strLength from '@/common/js/strlen';
import { log } from '@/utils/index.js'; import { log } from '@/utils/index.js';
import wmMixins from './strategy.js'; import wmMixins from './strategy.js';
import { scrollToError } from '@/utils/validate';
const timeStramp = { const timeStramp = {
year: new Date().getFullYear(), year: new Date().getFullYear(),
...@@ -511,7 +623,52 @@ export default { ...@@ -511,7 +623,52 @@ export default {
name: 'editPointSytem', name: 'editPointSytem',
mixins: [wmMixins], mixins: [wmMixins],
data() { data() {
// 天数
const dayList = ()=> {
let arr = []
for(let i = 1; i < 28; i++){
arr.push({key: `${i}`,value: `${i}`})
}
arr.push({key: '0', value: '月末'})
return arr;
}
// 月数
const mouthList = ()=> {
let arr = []
for(let i = 2; i < 37; i++){
arr.push({key: i,value: `第${i}个月`})
}
return arr;
}
// 年数
const yearList = ()=> {
let arr = []
for(let i = 2; i < 5; i++){
arr.push({key: i,value: `第${i}年`})
}
return arr;
}
return { return {
scrollToError,
opendisabled3: false,
opendisabled1: false,
opendisabled9: false,
yearYT: '', //按年失效 年
yearMT: '', //按年失效 月
yearDT: '', //按年失效 日
mouthMT: '', //按月失效 月
mouthDT: '', //按月失效 月
effectiveDays: '',
timeType: '',
timeRuleType: '',
dayList: dayList(),
mouthList: mouthList(),
mouthM: '', //按月失效 月
mouthD: '', //按月失效 月
yearList: yearList(),
yearY: '', //按年失效 年
yearM: '', //按年失效 月
yearD: '', //按年失效 日
repProjectName: 'gic-clique', repProjectName: 'gic-clique',
navpath: [ navpath: [
{ {
...@@ -660,11 +817,14 @@ export default { ...@@ -660,11 +817,14 @@ export default {
useCrowd: { required: true, message: '请选择适用对象', trigger: 'blur' }, useCrowd: { required: true, message: '请选择适用对象', trigger: 'blur' },
integralGetStatus: { required: true, message: '请选择获取规则', trigger: 'blur' }, integralGetStatus: { required: true, message: '请选择获取规则', trigger: 'blur' },
integralGetFreezeDays: { required: true, message: '请输入积分冻结期', trigger: 'blur' }, integralGetFreezeDays: { required: true, message: '请输入积分冻结期', trigger: 'blur' },
integralGetEffectiveDays: { required: true, message: '请输入积分有效期', trigger: 'blur' }, userGeneralIntegralExpireRule: { required: true, message: '请输入有效期类型', trigger: 'blur' },
perpetualFlag: { required: true, message: '请选择策略有效期', trigger: 'blur' } perpetualFlag: { required: true, message: '请选择策略有效期', trigger: 'blur' }
}, },
ruleForm: { ruleForm: {
userGeneralIntegralExpireRule: 1,
integralExpireType: '', //积分有效期类型 0 未默认滚动到期 1永久 2 按年失效 3按月失效
integralExpireRule: '', //积分有效期规则 年 x(年),x(月),x(日,为0标识月末) 月,x(月),x(日,为0标识月末)
// 积分获取规则 // 积分获取规则
integralStrategyId: 'ff80808163a7a09b0163b01171e202db', //策略id integralStrategyId: 'ff80808163a7a09b0163b01171e202db', //策略id
enterpriseId: 'ff8080815dacd3a2015dacd3ef5c0000', enterpriseId: 'ff8080815dacd3a2015dacd3ef5c0000',
...@@ -676,7 +836,7 @@ export default { ...@@ -676,7 +836,7 @@ export default {
integralGet: { fee: undefined, integral: undefined }, integralGet: { fee: undefined, integral: undefined },
integralGetStrategy: '1', // 取整策略 1四舍五入 2抹零 3向上取整 integralGetStrategy: '1', // 取整策略 1四舍五入 2抹零 3向上取整
integralGetFreezeDays: 1, // 获取积分冻结天数 integralGetFreezeDays: 1, // 获取积分冻结天数
integralGetEffectiveDays: 1, // 获取积分有效天 integralGetEffectiveDays: '', // 获取积分有效天
integralUseStatus: 0, // 积分抵现开启 1是0否 integralUseStatus: 0, // 积分抵现开启 1是0否
// integralUse: { fee: undefined, integral: undefined }, // 积分抵现 {fee:5,integral:5} // integralUse: { fee: undefined, integral: undefined }, // 积分抵现 {fee:5,integral:5}
perpetualFlag: 1, perpetualFlag: 1,
...@@ -722,34 +882,67 @@ export default { ...@@ -722,34 +882,67 @@ export default {
}, },
methods: { methods: {
radioEvent0() { radiouserGeneralIntegralExpireRule(e) {
this.ruleForm.channelList[0].integralUseDiscountControlLower = undefined; if(e==1) {
this.ruleForm.channelList[0].integralUseDiscountControlUpper = undefined; this.getPointInfo();
}, }
radioEvent1() {
this.ruleForm.channelList[1].integralUseDiscountControlLower = undefined;
this.ruleForm.channelList[1].integralUseDiscountControlUpper = undefined;
},
radioEvent2() {
this.ruleForm.channelList[2].integralUseDiscountControlLower = undefined;
this.ruleForm.channelList[2].integralUseDiscountControlUpper = undefined;
},
radioEvent3() {
this.ruleForm.channelList[3].integralUseDiscountControlLower = undefined;
this.ruleForm.channelList[3].integralUseDiscountControlUpper = undefined;
}, },
radioEvent4() { // 获取通用积分策略
this.ruleForm.channelList[4].integralUseDiscountControlLower = undefined; getPointInfo() {
this.ruleForm.channelList[4].integralUseDiscountControlUpper = undefined; var that = this
postRequest('/api-admin/get-member-integral-setting',{requestProject: that.projectName})
.then((res) => {
var resData = res.data
if(resData.errorCode == 0) {
if(!resData.result.memberIntegral) return;
this.timeType = resData.result.memberIntegral.integralExpireType ? resData.result.memberIntegral.integralExpireType : 0;
this.timeRuleType = resData.result.memberIntegral.integralExpireRule ? resData.result.memberIntegral.integralExpireRule.split(',') : '';
if(this.timeType ==2) {
this.yearYT = Number(this.timeRuleType[0])
this.yearMT = Number(this.timeRuleType[1])
this.yearDT = this.timeRuleType[2]
}else if(this.timeType == 3) {
this.mouthMT = Number(this.timeRuleType[0])
this.mouthDT = this.timeRuleType[1]
} else if (this.timeType == 0 || this.timeType == null) {
this.effectiveDays = resData.result.memberIntegral.effectiveTime;
}
}
})
}, },
radioEvent5() { radioEventN(n) {
this.ruleForm.channelList[5].integralUseDiscountControlLower = undefined; this.ruleForm.channelList[n].integralUseDiscountControlLower = undefined;
this.ruleForm.channelList[5].integralUseDiscountControlUpper = undefined; this.ruleForm.channelList[n].integralUseDiscountControlUpper = undefined;
}, },
radioEvent() { radioEvent() {
this.ruleForm.integralGet.fee = undefined; this.ruleForm.integralGet.fee = undefined;
this.ruleForm.integralGet.integral = undefined; this.ruleForm.integralGet.integral = undefined;
}, },
radioExpireType1(e) {
if(e==0){
this.yearY='';
this.yearM='';
this.yearD='';
this.mouthM='';
this.mouthD='';
}else if(e==1) {
this.yearY='';
this.yearM='';
this.yearD='';
this.mouthM='';
this.mouthD='';
this.ruleForm.integralGetEffectiveDays = '';
}else if (e==2) {
this.mouthM='';
this.mouthD='';
this.ruleForm.integralGetEffectiveDays = '';
} else if (e == 3) {
this.yearY='';
this.yearM='';
this.yearD='';
this.ruleForm.integralGetEffectiveDays = '';
}
},
// 返回 // 返回
goBack() { goBack() {
this.$router.go(-1); this.$router.go(-1);
...@@ -797,10 +990,12 @@ export default { ...@@ -797,10 +990,12 @@ export default {
if (data.channelList[i].integralUseDiscountControl == 2) { if (data.channelList[i].integralUseDiscountControl == 2) {
if (!data.channelList[i].integralUseDiscountControlUpper || !data.channelList[i].integralUseDiscountControlLower) { if (!data.channelList[i].integralUseDiscountControlUpper || !data.channelList[i].integralUseDiscountControlLower) {
obj.flag = false; obj.flag = false;
this.scrollToError(this, `zk${i}`);
obj.text = '请填写折扣'; 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)) { 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.flag = false;
this.scrollToError(this, `zk${i}`);
obj.text = '折扣格式有误'; obj.text = '折扣格式有误';
} }
} }
...@@ -852,6 +1047,7 @@ export default { ...@@ -852,6 +1047,7 @@ export default {
if (valid) { if (valid) {
// 处理数据 // 处理数据
let data = JSON.parse(JSON.stringify(that.ruleForm)); let data = JSON.parse(JSON.stringify(that.ruleForm));
console.log(data, 'data');
delete data.selectorParamsId; delete data.selectorParamsId;
if (!data.strategyName) { if (!data.strategyName) {
showMsg.showmsg('请填写策略名称', 'error'); showMsg.showmsg('请填写策略名称', 'error');
...@@ -859,26 +1055,63 @@ export default { ...@@ -859,26 +1055,63 @@ export default {
} }
let flag = !data.integralGet.fee || String(data.integralGet.integral) == ''; let flag = !data.integralGet.fee || String(data.integralGet.integral) == '';
if (data.integralGetStatus == 1 && flag) { if (data.integralGetStatus == 1 && flag) {
this.scrollToError(this, 'integralGet');
showMsg.showmsg('请填写获取规则', 'error'); showMsg.showmsg('请填写获取规则', 'error');
return; return;
} }
if (data.integralGetStatus == 1) { if (data.integralGetStatus == 1) {
if (!Number(data.integralGet.fee)) { if (!Number(data.integralGet.fee)) {
this.scrollToError(this, 'integralGet');
showMsg.showmsg('获取规则中的消费金额不能为0', 'error'); showMsg.showmsg('获取规则中的消费金额不能为0', 'error');
return; return;
} }
if (!Number(data.integralGet.integral)) { if (!Number(data.integralGet.integral)) {
this.scrollToError(this, 'integralGet');
showMsg.showmsg('获取规则中的获取积分不能为0', 'error'); showMsg.showmsg('获取规则中的获取积分不能为0', 'error');
return; return;
} }
} }
if (data.integralGetStatus == 1 && !Number(data.integralGetFreezeDays) && data.integralGetFreezeDays != '0') { if (data.integralGetStatus == 1 && !Number(data.integralGetFreezeDays) && data.integralGetFreezeDays != '0') {
showMsg.showmsg('请填写积分冻结期', 'error'); showMsg.showmsg('请设置积分有效期', 'error');
return; return;
} }
if (data.integralGetStatus == 1 && !Number(data.integralGetEffectiveDays)) {
showMsg.showmsg('请填写积分有效期', 'error'); if (data.userGeneralIntegralExpireRule == 0) {
return; if(data.integralExpireType ==3 && (this.mouthM == '' || this.mouthD == '')) {
this.scrollToError(this, 'mouthM');
showMsg.showmsg('请完善积分有效期信息','error')
return;
}else if(data.integralExpireType ==2 && (this.yearY == '' || this.yearM == '' || this.yearD == '' )) {
this.scrollToError(this, 'yearY');
showMsg.showmsg('请完善积分有效期信息','error')
return;
} else if (data.integralExpireType ==0 && !Number(data.integralGetEffectiveDays)) {
this.scrollToError(this, 'integralGetEffectiveDays');
showMsg.showmsg('请完善积分有效期信息','error')
return;
}
}
if(data.userGeneralIntegralExpireRule == 1) {
data.integralExpireType = this.timeType
data.integralExpireRule = this.timeRuleType.toString()
if(this.timeType==0 || this.timeType == null){
data.integralGetEffectiveDays = this.effectiveDays
}else {
data.integralExpireRule = this.timeRuleType.toString()
}
}else if (data.userGeneralIntegralExpireRule == 0) {
if(data.integralExpireType == 0) {
data.integralExpireRule = ''
}else if(data.integralExpireType == 1) {
data.integralExpireRule = ''
data.integralGetEffectiveDays = ''
} else if(data.integralExpireType == 2) {
data.integralExpireRule = `${this.yearY},${this.yearM},${this.yearD}`
data.integralGetEffectiveDays = ''
}else if(data.integralExpireType == 3) {
data.integralExpireRule = `${this.mouthM},${this.mouthD}`
data.integralGetEffectiveDays = ''
}
} }
that.checkListValue(data).then(res => { that.checkListValue(data).then(res => {
if (!res.flag) { if (!res.flag) {
...@@ -935,11 +1168,13 @@ export default { ...@@ -935,11 +1168,13 @@ export default {
data.endValidTime = data.perpetualDate[1]; data.endValidTime = data.perpetualDate[1];
} }
delete data.perpetualDate; delete data.perpetualDate;
that.saveForm(data); that.saveForm(data);
} }
}); });
} else { } else {
log('error submit!!'); this.scrollToError(this);
showMsg.showmsg('表单信息未填写完整','error')
return false; return false;
} }
}); });
...@@ -1220,11 +1455,67 @@ export default { ...@@ -1220,11 +1455,67 @@ export default {
// 对channelList进行排序 // 对channelList进行排序
const channelListSort = [3, 1, 9, 8, 11, 10] const channelListSort = [3, 1, 9, 8, 11, 10]
let channelList = channelListSort.map(el => item.channelList.find(item => item.channelType == el)); let channelList = channelListSort.map(el => {
let result = item.channelList.find(item => item.channelType == el);
if (!result) {
switch(el) {
case 11:
result = {
integralStrategyChannelId: "", //id
enterpriseId: "",
integralStrategyId: "", //策略id
channelType: "11", //渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫 11抖音
openStatus: 0, //渠道配置是否启用 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: undefined,
integralUseDiscountControlLower: undefined,
useProportionalRestriction: "0.0", // 抵现比例限制
strategyGoodsRelationIdArr: [], // 商品
storeRelationIdArr: [], //门店
enterpriseRelationIdArr: [] //商户
}
break;
case 10:
result = {
integralStrategyChannelId: "", //id
enterpriseId: "",
integralStrategyId: "", //策略id
channelType: "10", //渠道类型 1微信 3:线下 5淘宝 6京东 7唯品会 8天猫 9微盟 10其他 11抖音
openStatus: 0, //渠道配置是否启用 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: undefined,
integralUseDiscountControlLower: undefined,
useProportionalRestriction: "0.0", // 抵现比例限制
strategyGoodsRelationIdArr: [], // 商品
storeRelationIdArr: [], //门店
enterpriseRelationIdArr: [] //商户
}
break;
}
}
return result
});
// 将channelListSort中不存在的渠道拼到channelList上 // 将channelListSort中不存在的渠道拼到channelList上
channelList = channelList.concat(item.channelList.filter(el => !channelListSort.some(item => el.channelType == item))); channelList = channelList.concat(item.channelList.filter(el => !channelListSort.some(item => el.channelType == item)));
item.channelList = channelList; item.channelList = channelList;
item.channelList.forEach(item => { item.channelList.forEach(item => {
if(item.openStatus == true) {
if(item.channelType==3) {
this.opendisabled3 = true;
}else if(item.channelType==1) {
this.opendisabled1 = true;
}else if(item.channelType==9) {
this.opendisabled9 = true;
}
}
if(item.openStatus == false) { if(item.openStatus == false) {
item.integralUseDiscountControl == 1 item.integralUseDiscountControl == 1
} }
...@@ -1238,6 +1529,40 @@ export default { ...@@ -1238,6 +1529,40 @@ export default {
that.ruleForm.integralGet.fee = undefined; that.ruleForm.integralGet.fee = undefined;
that.ruleForm.integralGet.integral = undefined; that.ruleForm.integralGet.integral = undefined;
} }
// 积分有效期
// 当有效期类型为null时判断有效期天数是否为null 不为null 有效期类型为0 为null 无选中状态
if(that.ruleForm.integralExpireType==null) {
if(!that.ruleForm.userGeneralIntegralExpireRule) {
this.ruleForm.integralExpireType = 0;
this.ruleForm.userGeneralIntegralExpireRule = 0;
}
}
// 积分有效期
that.ruleForm.integralExpireRule = that.ruleForm.integralExpireRule ? that.ruleForm.integralExpireRule.split(',') : '';
if(that.ruleForm.userGeneralIntegralExpireRule==0){
// 当有效期类型为null时判断有效期天数是否为null 不为null 有效期类型为0 为null 无选中状态
if(that.ruleForm.integralExpireType==null) {
if(that.ruleForm.integralGetEffectiveDays != null) {
this.ruleForm.integralExpireType = 0;
}else {
this.ruleForm.integralExpireType = -1;
}
}else if(that.ruleForm.integralExpireType==2){
this.yearY = Number(that.ruleForm.integralExpireRule[0]);
this.yearM = Number(that.ruleForm.integralExpireRule[1]);
this.yearD = that.ruleForm.integralExpireRule[2];
that.ruleForm.integralGetEffectiveDays = '';
}else if(that.ruleForm.integralExpireType==3){
this.mouthM = Number(that.ruleForm.integralExpireRule[0]);
this.mouthD = that.ruleForm.integralExpireRule[1];
that.ruleForm.integralGetEffectiveDays = '';
}
}else if(that.ruleForm.userGeneralIntegralExpireRule==1){
that.ruleForm.userGeneralIntegralExpireRule==1
this.getPointInfo();
}
that.$set(that.ruleForm, 'perpetualDate', []); that.$set(that.ruleForm, 'perpetualDate', []);
that.ruleForm.perpetualDate[1] = this.ruleForm.endValidTime; that.ruleForm.perpetualDate[1] = this.ruleForm.endValidTime;
...@@ -1538,10 +1863,31 @@ export default { ...@@ -1538,10 +1863,31 @@ export default {
// 获取门店分组 // 获取门店分组
that.getStoreGroup(); that.getStoreGroup();
that.getLoginInfo(); that.getLoginInfo();
},
watch: {
'ruleForm.integralExpireType': {
handler: function(val){
this.ruleForm.integralExpireType = val;
if(this.ruleForm.integralExpireType != 0) {
this.ruleForm.integralGetEffectiveDays = ''
}
},
immediate: true
}
} }
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.mt16 {
margin-top: 6px;
}
.selectwm {
width:120px;
margin:0 10px;
}
.mb20 {
margin-bottom: 20px;
}
.bottom{ .bottom{
position: fixed; position: fixed;
bottom: 0px; bottom: 0px;
......
...@@ -716,7 +716,6 @@ export default { ...@@ -716,7 +716,6 @@ export default {
that.getMemberSetInfo(); that.getMemberSetInfo();
that.getTempInfo(); that.getTempInfo();
that.getEnterprise(); that.getEnterprise();
this.getOpenThird();
} }
}; };
</script> </script>
......
...@@ -113,6 +113,7 @@ ...@@ -113,6 +113,7 @@
{{ scope.row.perpetualFlag | normalizeStatus(scope.row.endValidTime) }} {{ scope.row.perpetualFlag | normalizeStatus(scope.row.endValidTime) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="createUserName" label="创建人" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" min-width="100px"> <el-table-column label="操作" min-width="100px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="handleEditClick(scope.row, 'edit')" type="text">编辑</el-button> <el-button @click="handleEditClick(scope.row, 'edit')" type="text">编辑</el-button>
...@@ -226,6 +227,7 @@ ...@@ -226,6 +227,7 @@
{{ scope.row.perpetualFlag | normalizeStatus(scope.row.endValidTime) }} {{ scope.row.perpetualFlag | normalizeStatus(scope.row.endValidTime) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="createUserName" label="创建人" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" min-width="100px"> <el-table-column label="操作" min-width="100px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="handleEditClick2(scope.row)" type="text">编辑</el-button> <el-button @click="handleEditClick2(scope.row)" type="text">编辑</el-button>
...@@ -332,6 +334,23 @@ export default { ...@@ -332,6 +334,23 @@ export default {
this.pageNum1 = 1; this.pageNum1 = 1;
this.getIntefralInfo(); this.getIntefralInfo();
}, },
handleSizeChange(pageSize) {
if (this.activeName == 'second') {
this.pageSize = pageSize;
} else if (this.activeName == 'third') {
this.pageSize1 = pageSize;
}
this.handleCurrentChange(1);
},
handleCurrentChange(pageNum) {
if (this.activeName == 'second') {
this.pageNum = pageNum;
this.getPointInfo();
} else if (this.activeName == 'third') {
this.pageNum1 = pageNum;
this.getIntefralInfo();
}
},
// 新增 // 新增
handleAdd(flag) { handleAdd(flag) {
if (!this.tpnEditBool) { if (!this.tpnEditBool) {
...@@ -395,6 +414,8 @@ export default { ...@@ -395,6 +414,8 @@ export default {
let param = { let param = {
requestProject: that.projectName, requestProject: that.projectName,
keyword: that.keywords, keyword: that.keywords,
currPage: this.pageNum,
pageSize: this.pageSize,
strategyType: 1 strategyType: 1
}; };
// postRequest('/api-admin/get-member-integral-setting', param) // postRequest('/api-admin/get-member-integral-setting', param)
...@@ -423,8 +444,6 @@ export default { ...@@ -423,8 +444,6 @@ export default {
// 6月迭代抖音修改 // 6月迭代抖音修改
that.totalCount = resData.result.totalCount; that.totalCount = resData.result.totalCount;
that.pageSize = resData.result.pageSize;
that.pageNum = resData.result.pageNum;
that.achieveTableData = resData.result.result; that.achieveTableData = resData.result.result;
that.achieveTableData.forEach((ele,index)=>{ that.achieveTableData.forEach((ele,index)=>{
ele.integralGet = JSON.parse(ele.integralGet); ele.integralGet = JSON.parse(ele.integralGet);
...@@ -444,6 +463,8 @@ export default { ...@@ -444,6 +463,8 @@ export default {
var params = { var params = {
requestProject: that.projectName, requestProject: that.projectName,
keyword: that.keywords1, keyword: that.keywords1,
currPage: this.pageNum1,
pageSize: this.pageSize1,
strategyType: 2 strategyType: 2
} }
postRequest('/api-admin/query-integral-setting',params) postRequest('/api-admin/query-integral-setting',params)
...@@ -453,8 +474,6 @@ export default { ...@@ -453,8 +474,6 @@ export default {
if (resData.errorCode == 0) { if (resData.errorCode == 0) {
// 6月迭代修改 // 6月迭代修改
that.totalCount1 = resData.result.totalCount; that.totalCount1 = resData.result.totalCount;
that.pageSize1 = resData.result.pageSize;
that.pageNum1 = resData.result.pageNum;
that.exchangeTableData = resData.result.result; that.exchangeTableData = resData.result.result;
that.exchangeTableData.forEach((ele,index)=>{ that.exchangeTableData.forEach((ele,index)=>{
ele.integralGet = JSON.parse(ele.integralGet); ele.integralGet = JSON.parse(ele.integralGet);
...@@ -480,6 +499,8 @@ export default { ...@@ -480,6 +499,8 @@ export default {
item.integralGetDiscountControlLower = String(item.integralGetDiscountControlLower); item.integralGetDiscountControlLower = String(item.integralGetDiscountControlLower);
item.integralUseDiscountControlUpper = String(item.integralUseDiscountControlUpper); item.integralUseDiscountControlUpper = String(item.integralUseDiscountControlUpper);
item.integralUseDiscountControlLower = String(item.integralUseDiscountControlLower); item.integralUseDiscountControlLower = String(item.integralUseDiscountControlLower);
item.integralExpireType = String(item.integralExpireType);
item.integralExpireRule = String(item.integralExpireRule);
// item.integralGet = JSON.parse(item.integralGet); // item.integralGet = JSON.parse(item.integralGet);
// item.integralUse = JSON.parse(item.integralUse); // item.integralUse = JSON.parse(item.integralUse);
......
...@@ -474,7 +474,7 @@ export default { ...@@ -474,7 +474,7 @@ export default {
parentId: 'tb-cid-11' parentId: 'tb-cid-11'
}; };
that.axios that.axios
.post('http://gicdev.demogic.com:9310/api-mall/list_mall_goods_category', qs.stringify(para)) .post('http://www.gicdev.com:9310/api-mall/list_mall_goods_category', qs.stringify(para))
.then(res => { .then(res => {
log(res, res.data, res.data.errorCode); log(res, res.data, res.data.errorCode);
let resData = res.data; let resData = res.data;
...@@ -539,7 +539,7 @@ export default { ...@@ -539,7 +539,7 @@ export default {
let that = this; let that = this;
let para = {}; let para = {};
that.axios that.axios
.post('http://gicdev.demogic.com:9310/api-mall/list_mall_goods_tag_tree', qs.stringify(para)) .post('http://www.gicdev.com:9310/api-mall/list_mall_goods_tag_tree', qs.stringify(para))
.then(res => { .then(res => {
log(res, res.data, res.data.errorCode); log(res, res.data, res.data.errorCode);
let resData = res.data; let resData = res.data;
...@@ -641,7 +641,7 @@ export default { ...@@ -641,7 +641,7 @@ export default {
parentId: parentId parentId: parentId
}; };
that.axios that.axios
.post('http://gicdev.demogic.com:9310/api-mall/list_mall_goods_category', qs.stringify(para)) .post('http://www.gicdev.com:9310/api-mall/list_mall_goods_category', qs.stringify(para))
.then(res => { .then(res => {
let resData = res.data; let resData = res.data;
if (resData.errorCode == 0) { if (resData.errorCode == 0) {
...@@ -784,7 +784,7 @@ export default { ...@@ -784,7 +784,7 @@ export default {
// that.total = 50; // that.total = 50;
that.axios that.axios
.post('http://gicdev.demogic.com:9310/api-mall/page-mall-goods', qs.stringify(para)) .post('http://www.gicdev.com:9310/api-mall/page-mall-goods', qs.stringify(para))
.then(res => { .then(res => {
log(res, res.data, res.data.errorCode); log(res, res.data, res.data.errorCode);
let resData = res.data; let resData = res.data;
...@@ -954,7 +954,7 @@ export default { ...@@ -954,7 +954,7 @@ export default {
}; };
that.axios that.axios
.post('http://gicdev.demogic.com:9310/api-plug/list-link-data', qs.stringify(para)) .post('http://www.gicdev.com:9310/api-plug/list-link-data', qs.stringify(para))
.then(res => { .then(res => {
log(res, res.data, res.data.errorCode); log(res, res.data, res.data.errorCode);
let resData = res.data; let resData = res.data;
...@@ -1036,7 +1036,7 @@ export default { ...@@ -1036,7 +1036,7 @@ export default {
}; };
that.axios that.axios
.post('http://gicdev.demogic.com:9310/api-plug/query-store-by-code-name', qs.stringify(para)) .post('http://www.gicdev.com:9310/api-plug/query-store-by-code-name', qs.stringify(para))
.then(res => { .then(res => {
log(res, res.data, res.data.errorCode); log(res, res.data, res.data.errorCode);
let resData = res.data; let resData = res.data;
...@@ -1074,7 +1074,7 @@ export default { ...@@ -1074,7 +1074,7 @@ export default {
}; };
that.axios that.axios
.post('http://gicdev.demogic.com:9310/api-auth/do-login', qs.stringify(para)) .post('http://www.gicdev.com:9310/api-auth/do-login', qs.stringify(para))
.then(res => { .then(res => {
log(res, res.data, res.data.errorCode); log(res, res.data, res.data.errorCode);
that.getLinksList(0, 1); that.getLinksList(0, 1);
......
...@@ -463,7 +463,7 @@ export default { ...@@ -463,7 +463,7 @@ export default {
parentId: 'tb-cid-11' parentId: 'tb-cid-11'
}; };
that.axios that.axios
.post('http://gicdev.demogic.com:9310/api-mall/list_mall_goods_category', qs.stringify(para)) .post('http://www.gicdev.com:9310/api-mall/list_mall_goods_category', qs.stringify(para))
.then(res => { .then(res => {
log(res, res.data, res.data.errorCode); log(res, res.data, res.data.errorCode);
let resData = res.data; let resData = res.data;
...@@ -528,7 +528,7 @@ export default { ...@@ -528,7 +528,7 @@ export default {
let that = this; let that = this;
let para = {}; let para = {};
that.axios that.axios
.post('http://gicdev.demogic.com:9310/api-mall/list_mall_goods_tag_tree', qs.stringify(para)) .post('http://www.gicdev.com:9310/api-mall/list_mall_goods_tag_tree', qs.stringify(para))
.then(res => { .then(res => {
let resData = res.data; let resData = res.data;
if (resData.errorCode == 0) { if (resData.errorCode == 0) {
...@@ -602,7 +602,7 @@ export default { ...@@ -602,7 +602,7 @@ export default {
parentId: parentId parentId: parentId
}; };
that.axios that.axios
.post('http://gicdev.demogic.com:9310/api-mall/list_mall_goods_category', qs.stringify(para)) .post('http://www.gicdev.com:9310/api-mall/list_mall_goods_category', qs.stringify(para))
.then(res => { .then(res => {
let resData = res.data; let resData = res.data;
if (resData.errorCode == 0) { if (resData.errorCode == 0) {
...@@ -738,7 +738,7 @@ export default { ...@@ -738,7 +738,7 @@ export default {
// that.total = 50; // that.total = 50;
that.axios that.axios
.post('http://gicdev.demogic.com:9310/api-mall/page-mall-goods', qs.stringify(para)) .post('http://www.gicdev.com:9310/api-mall/page-mall-goods', qs.stringify(para))
.then(res => { .then(res => {
log(res, res.data, res.data.errorCode); log(res, res.data, res.data.errorCode);
let resData = res.data; let resData = res.data;
...@@ -907,7 +907,7 @@ export default { ...@@ -907,7 +907,7 @@ export default {
}; };
that.axios that.axios
.post('http://gicdev.demogic.com:9310/api-plug/list-link-data', qs.stringify(para)) .post('http://www.gicdev.com:9310/api-plug/list-link-data', qs.stringify(para))
.then(res => { .then(res => {
log(res, res.data, res.data.errorCode); log(res, res.data, res.data.errorCode);
let resData = res.data; let resData = res.data;
...@@ -989,7 +989,7 @@ export default { ...@@ -989,7 +989,7 @@ export default {
}; };
that.axios that.axios
.post('http://gicdev.demogic.com:9310/api-plug/query-store-by-code-name', qs.stringify(para)) .post('http://www.gicdev.com:9310/api-plug/query-store-by-code-name', qs.stringify(para))
.then(res => { .then(res => {
log(res, res.data, res.data.errorCode); log(res, res.data, res.data.errorCode);
let resData = res.data; let resData = res.data;
...@@ -1027,7 +1027,7 @@ export default { ...@@ -1027,7 +1027,7 @@ export default {
}; };
that.axios that.axios
.post('http://gicdev.demogic.com:9310/api-auth/do-login', qs.stringify(para)) .post('http://www.gicdev.com:9310/api-auth/do-login', qs.stringify(para))
.then(res => { .then(res => {
log(res, res.data, res.data.errorCode); log(res, res.data, res.data.errorCode);
that.getLinksList(0, 1); that.getLinksList(0, 1);
......
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