|
@@ -125,12 +125,11 @@
|
|
<!-- 买产品送代金券 -->
|
|
<!-- 买产品送代金券 -->
|
|
<div v-if="pageType=='BUY_PROD_GIVE_VALID'">
|
|
<div v-if="pageType=='BUY_PROD_GIVE_VALID'">
|
|
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
|
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
|
- <a-form-model-item label="券名称" :label-col="{span:4}" :wrapper-col="{span:16}" prop="promoRule.ruleName">
|
|
|
|
|
|
+ <a-form-model-item label="券名称" :label-col="{span:4}" :wrapper-col="{span:16}" prop="validName">
|
|
<a-input
|
|
<a-input
|
|
- :disabled="isDisabled"
|
|
|
|
- id="promotionEdit-ruleName"
|
|
|
|
|
|
+ id="promotionEdit-validName"
|
|
:maxLength="20"
|
|
:maxLength="20"
|
|
- v-model.trim="form.promoRule.ruleName"
|
|
|
|
|
|
+ v-model.trim="form.validName"
|
|
placeholder="请输入券名称(最多20个字符)"
|
|
placeholder="请输入券名称(最多20个字符)"
|
|
allowClear />
|
|
allowClear />
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
@@ -138,71 +137,66 @@
|
|
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
|
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
|
<a-form-model-item label="券副标题" :label-col="{span:4}" :wrapper-col="{span:16}">
|
|
<a-form-model-item label="券副标题" :label-col="{span:4}" :wrapper-col="{span:16}">
|
|
<a-input
|
|
<a-input
|
|
- :disabled="isDisabled"
|
|
|
|
- id="promotionEdit-ruleTitle"
|
|
|
|
|
|
+ id="promotionEdit-validTitle"
|
|
:maxLength="20"
|
|
:maxLength="20"
|
|
- v-model.trim="form.promoRule.ruleTitle"
|
|
|
|
|
|
+ v-model.trim="form.validTitle"
|
|
placeholder="请输入券副标题(最多20个字符)"
|
|
placeholder="请输入券副标题(最多20个字符)"
|
|
allowClear />
|
|
allowClear />
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
</a-col>
|
|
</a-col>
|
|
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
- <a-form-model-item label="生成方式" prop="promoRule.ruleBaseType">
|
|
|
|
|
|
+ <a-form-model-item label="生成方式" prop="validBaseType">
|
|
<v-select
|
|
<v-select
|
|
style="width:40%;"
|
|
style="width:40%;"
|
|
- v-model="form.promoRule.ruleBaseType"
|
|
|
|
|
|
+ v-model="form.validBaseType"
|
|
id="promotionEdit-ruleBaseType"
|
|
id="promotionEdit-ruleBaseType"
|
|
- code="PROMO_RULE_BASE_TYPE"
|
|
|
|
- :disabled="isDisabled"
|
|
|
|
|
|
+ code="SHOP_PROMO_VALID_BASE_TYPE"
|
|
|
|
+ placeholder="请选择生成方式"
|
|
allowClear></v-select>
|
|
allowClear></v-select>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
</a-col>
|
|
</a-col>
|
|
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
- <a-form-model-item label="券有效期" prop="promoRule.validType">
|
|
|
|
|
|
+ <a-form-model-item label="券有效期" prop="validType">
|
|
<v-select
|
|
<v-select
|
|
style="width:40%;"
|
|
style="width:40%;"
|
|
- v-model="form.promoRule.validType"
|
|
|
|
|
|
+ v-model="form.validType"
|
|
placeholder="请选择券有效期"
|
|
placeholder="请选择券有效期"
|
|
id="promotionEdit-validType"
|
|
id="promotionEdit-validType"
|
|
- code="PROMO_RULE_TICKET_TYPE"
|
|
|
|
- :disabled="isDisabled"
|
|
|
|
|
|
+ code="SHOP_PROMO_VALID_TYPE"
|
|
@change="handleValidType"
|
|
@change="handleValidType"
|
|
allowClear></v-select>
|
|
allowClear></v-select>
|
|
<a-range-picker
|
|
<a-range-picker
|
|
- v-show="form.promoRule.validType==='FIXED'"
|
|
|
|
|
|
+ v-show="form.validType==='FIXED'"
|
|
style="width:40%;margin-left:10px;"
|
|
style="width:40%;margin-left:10px;"
|
|
- v-model="time"
|
|
|
|
|
|
+ v-model="timeLimit"
|
|
:format="dateFormat"
|
|
:format="dateFormat"
|
|
id="promotionEdit-time"
|
|
id="promotionEdit-time"
|
|
- @change="dateChange"
|
|
|
|
- :disabled="isDisabled"
|
|
|
|
|
|
+ @change="dateLimitChange"
|
|
:disabled-date="disabledDate"
|
|
:disabled-date="disabledDate"
|
|
:placeholder="['开始时间', '结束时间']" />
|
|
:placeholder="['开始时间', '结束时间']" />
|
|
- <span style="width:40%;margin-left:10px;" v-show="form.promoRule.validType==='LIMIT'">
|
|
|
|
|
|
+ <span style="width:40%;margin-left:10px;" v-show="form.validType==='LIMIT'">
|
|
有效期<a-input-number
|
|
有效期<a-input-number
|
|
style="margin:0 5px;"
|
|
style="margin:0 5px;"
|
|
- v-model="form.promoRule.validDays"
|
|
|
|
|
|
+ v-model="form.validDays"
|
|
:step="1"
|
|
:step="1"
|
|
id="promotionEdit-validDays"
|
|
id="promotionEdit-validDays"
|
|
:max="99999999"
|
|
:max="99999999"
|
|
:min="1"
|
|
:min="1"
|
|
- :disabled="isDisabled"
|
|
|
|
:precision="0"/>天
|
|
:precision="0"/>天
|
|
</span>
|
|
</span>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
</a-col>
|
|
</a-col>
|
|
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
- <a-form-model-item class="productName" label="券适用范围" prop="promoRule.range">
|
|
|
|
|
|
+ <a-form-model-item class="productName" label="券适用范围" prop="validScope">
|
|
全部产品
|
|
全部产品
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
</a-col>
|
|
</a-col>
|
|
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
- <a-form-model-item label="使用说明" prop="promoRule.ruleExplain">
|
|
|
|
|
|
+ <a-form-model-item label="使用说明" prop="validInfo">
|
|
<a-input
|
|
<a-input
|
|
- v-model="form.promoRule.ruleExplain"
|
|
|
|
- :disabled="isDisabled"
|
|
|
|
|
|
+ v-model="form.validInfo"
|
|
type="textarea"
|
|
type="textarea"
|
|
- id="promotionEdit-ruleExplain"
|
|
|
|
|
|
+ id="promotionEdit-validInfo"
|
|
placeholder="请输入使用说明(最多50个字符)"
|
|
placeholder="请输入使用说明(最多50个字符)"
|
|
:maxLength="50" />
|
|
:maxLength="50" />
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
@@ -210,7 +204,7 @@
|
|
</div>
|
|
</div>
|
|
<div v-if="isShowNextStep">
|
|
<div v-if="isShowNextStep">
|
|
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
- <a-form-model-item :label="pageType==='BUY_PROD_GIVE_PROD'?'满赠规则': pageType==='PROMO_PROD'?'优惠方式':'返券产品'">
|
|
|
|
|
|
+ <a-form-model-item prop="productNum" :label="pageType==='BUY_PROD_GIVE_PROD'?'满赠规则': pageType==='PROMO_PROD'?'优惠方式':'返券产品'">
|
|
<div class="productInfo flex-center">
|
|
<div class="productInfo flex-center">
|
|
<!-- 买产品送产品 -->
|
|
<!-- 买产品送产品 -->
|
|
<div v-if="pageType==='BUY_PROD_GIVE_PROD'">
|
|
<div v-if="pageType==='BUY_PROD_GIVE_PROD'">
|
|
@@ -241,36 +235,29 @@
|
|
</div>
|
|
</div>
|
|
<!-- 特价产品 -->
|
|
<!-- 特价产品 -->
|
|
<div v-if="pageType==='PROMO_PROD'" style="width:80%;">
|
|
<div v-if="pageType==='PROMO_PROD'" style="width:80%;">
|
|
- <a-select
|
|
|
|
- id="promotionList-discountType"
|
|
|
|
- default-value="0"
|
|
|
|
|
|
+ <v-select
|
|
v-model="form.discountType"
|
|
v-model="form.discountType"
|
|
- placeholder="请选择"
|
|
|
|
- style="width:20%;margin-right:5px;"
|
|
|
|
|
|
+ ref="promoState"
|
|
|
|
+ id="promotionList-discountType"
|
|
|
|
+ code="SHOP_PROMO_DISCOUNT_TYPE"
|
|
size="small"
|
|
size="small"
|
|
|
|
+ style="width:15%;margin-right:5px;"
|
|
@change="handleDiscountType"
|
|
@change="handleDiscountType"
|
|
- allowClear>
|
|
|
|
- <a-select-option value="1" id="promotionList-discountType1">
|
|
|
|
- 直降
|
|
|
|
- </a-select-option>
|
|
|
|
- <a-select-option value="2" id="promotionList-discountType2">
|
|
|
|
- 打折
|
|
|
|
- </a-select-option>
|
|
|
|
- </a-select><span>{{ form.discountType==='1'? '直降':'折扣' }}</span>
|
|
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ allowClear></v-select>
|
|
|
|
+ <span>{{ form.discountType==='STRAIGHT_DOWN'? '直降':'折扣' }}</span>
|
|
<a-input-number
|
|
<a-input-number
|
|
- v-model="form.promoRule.ruleValue"
|
|
|
|
- style="width:20%;margin:0 5px;"
|
|
|
|
|
|
+ v-model="resultValue"
|
|
|
|
+ style="width:15%;margin:0 5px;"
|
|
:min="0"
|
|
:min="0"
|
|
:step="1"
|
|
:step="1"
|
|
:precision="2"
|
|
:precision="2"
|
|
:max="99999999"
|
|
:max="99999999"
|
|
- id="promotionEdit-ruleValue"
|
|
|
|
- :disabled="isDisabled"
|
|
|
|
- size="small"/>{{ form.discountType==='1'? '元':'%' }}
|
|
|
|
|
|
+ id="promotionEdit-resultValue"
|
|
|
|
+ size="small"/>{{ form.discountType==='STRAIGHT_DOWN'? '元':'%' }}
|
|
<a-button
|
|
<a-button
|
|
type="primary"
|
|
type="primary"
|
|
id="promotionEdit-addSet-btn"
|
|
id="promotionEdit-addSet-btn"
|
|
- :disabled="isDisabled"
|
|
|
|
class="button-primary"
|
|
class="button-primary"
|
|
size="small"
|
|
size="small"
|
|
@click="handleBatchAdd">批量设置</a-button>
|
|
@click="handleBatchAdd">批量设置</a-button>
|
|
@@ -279,14 +266,13 @@
|
|
<div v-if="pageType=='BUY_PROD_GIVE_VALID'">
|
|
<div v-if="pageType=='BUY_PROD_GIVE_VALID'">
|
|
返券金额
|
|
返券金额
|
|
<a-input-number
|
|
<a-input-number
|
|
- v-model="form.promoRule.ruleValue"
|
|
|
|
|
|
+ v-model="resultValue"
|
|
style="margin:0 5px;"
|
|
style="margin:0 5px;"
|
|
:min="0"
|
|
:min="0"
|
|
:step="1"
|
|
:step="1"
|
|
:precision="2"
|
|
:precision="2"
|
|
:max="99999999"
|
|
:max="99999999"
|
|
- id="promotionEdit-ruleValue"
|
|
|
|
- :disabled="isDisabled"
|
|
|
|
|
|
+ id="promotionEdit-resultValue"
|
|
size="small"/>元
|
|
size="small"/>元
|
|
<a-button
|
|
<a-button
|
|
type="primary"
|
|
type="primary"
|
|
@@ -302,7 +288,7 @@
|
|
</a-col>
|
|
</a-col>
|
|
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
<div style="width: 83%;margin:0 auto 10px;">
|
|
<div style="width: 83%;margin:0 auto 10px;">
|
|
- <productTable ref="chooseProductList" :promoActiveSn="form.promoSn" :disabledVal="isDisabled"></productTable>
|
|
|
|
|
|
+ <productTable ref="chooseProductList" :promoActiveSn="form.promoSn" :discountType="form.discountType" :activeType="pageType"></productTable>
|
|
</div>
|
|
</div>
|
|
</a-col>
|
|
</a-col>
|
|
</div>
|
|
</div>
|
|
@@ -351,8 +337,6 @@ import chooseDealer from '@/views/easyPassManagement/homepageCarouselImg/chooseD
|
|
import productTable from './productTable'
|
|
import productTable from './productTable'
|
|
import chooseProduct from './chooseProductsModal.vue'
|
|
import chooseProduct from './chooseProductsModal.vue'
|
|
// 接口
|
|
// 接口
|
|
-import { productTypeQuery } from '@/api/productType'
|
|
|
|
-import { promoActivePublish, promoActiveDetail, saveBatchEntity, promoCreateBatch, deleteByProductType } from '@/api/promoActive'
|
|
|
|
import { saveChooseProduct, saveShopPromo, shopPromoDetail } from '@/api/shopPromo'
|
|
import { saveChooseProduct, saveShopPromo, shopPromoDetail } from '@/api/shopPromo'
|
|
export default {
|
|
export default {
|
|
name: 'ProductBrandEditModal',
|
|
name: 'ProductBrandEditModal',
|
|
@@ -385,23 +369,23 @@ export default {
|
|
description: '', // '促销描述'
|
|
description: '', // '促销描述'
|
|
dealerEditFlag: '0', // 加盟商编辑 0否 1是
|
|
dealerEditFlag: '0', // 加盟商编辑 0否 1是
|
|
dealerOpenFlag: '0', // 加盟商开关权限 0否 1是
|
|
dealerOpenFlag: '0', // 加盟商开关权限 0否 1是
|
|
- rangeList: []// 选择产品列表
|
|
|
|
- // 'discountType': '特价产品 - 优惠方式',
|
|
|
|
- // 'validName': '券名称',
|
|
|
|
- // 'validTitle': '券副标题',
|
|
|
|
- // 'validBaseType': '券生成方式',
|
|
|
|
- // 'validType': '券有效期类型',
|
|
|
|
- // 'validStartDate': '券生效时间',
|
|
|
|
- // 'validEndDate': '券失效时间',
|
|
|
|
- // 'validDays': '券有效期天数',
|
|
|
|
- // 'validScope': '券适用范围标记 1-全部 0-指定 死值 1'
|
|
|
|
-
|
|
|
|
|
|
+ rangeList: [], // 选择产品列表
|
|
|
|
+ discountType: 'STRAIGHT_DOWN', // 特价产品 - 优惠方式'
|
|
|
|
+ validName: '', // 券名称
|
|
|
|
+ validTitle: '', // 券副标题
|
|
|
|
+ validBaseType: undefined, // 券生成方式
|
|
|
|
+ validType: undefined, // 券有效期类型
|
|
|
|
+ validStartDate: undefined, // 券生效时间
|
|
|
|
+ validEndDate: undefined, // 券失效时间
|
|
|
|
+ validDays: undefined, // 券有效期天数
|
|
|
|
+ validScope: '1', // 券适用范围标记 1-全部 0-指定 死值 1
|
|
|
|
+ validInfo: '', // 使用说明
|
|
|
|
+ productNum: undefined
|
|
},
|
|
},
|
|
conditionValue: undefined, // 买产品送产品 买
|
|
conditionValue: undefined, // 买产品送产品 买
|
|
- resultValue: undefined, // 买产品送产品 赠
|
|
|
|
-
|
|
|
|
|
|
+ resultValue: undefined, // 买产品送产品 赠 返券金额
|
|
chooseDealerList: [], // 所选经销商数据
|
|
chooseDealerList: [], // 所选经销商数据
|
|
- time: [], // 有效期
|
|
|
|
|
|
+ timeLimit: [], // 有效期
|
|
promotionName: '', // 促销名称
|
|
promotionName: '', // 促销名称
|
|
showProModal: false, // 打开产品弹窗
|
|
showProModal: false, // 打开产品弹窗
|
|
isShowNextStep: false, // 是否显示下一步 并提交一半配置产品
|
|
isShowNextStep: false, // 是否显示下一步 并提交一半配置产品
|
|
@@ -418,7 +402,12 @@ export default {
|
|
imageUrl: [{ required: true, message: '请选择要上传的封面图片', trigger: 'change' }],
|
|
imageUrl: [{ required: true, message: '请选择要上传的封面图片', trigger: 'change' }],
|
|
description: [{ required: true, message: '请输入促销描述内容', trigger: 'blur' }],
|
|
description: [{ required: true, message: '请输入促销描述内容', trigger: 'blur' }],
|
|
dealerOpenFlag: [{ required: true, message: '请选择加盟商开关权限', trigger: 'change' }],
|
|
dealerOpenFlag: [{ required: true, message: '请选择加盟商开关权限', trigger: 'change' }],
|
|
- rangeList: [{ required: true, message: '请选择促销产品', trigger: 'change' }]
|
|
|
|
|
|
+ rangeList: [{ required: true, message: '请选择促销产品', trigger: 'change' }],
|
|
|
|
+ validName: [{ required: true, message: '请输入券名称', trigger: ['change', 'blur'] }],
|
|
|
|
+ validBaseType: [{ required: true, message: '请选择生成方式', trigger: 'change' }],
|
|
|
|
+ validType: [{ required: true, message: '请选择券有效期类型', trigger: 'change' }],
|
|
|
|
+ validScope: [{ required: true, message: '请选择券适用范围', trigger: 'blur' }]
|
|
|
|
+ // productNum: [{ required: true, message: '选择产品不能为空', trigger: ['change', 'blur'] }]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -447,6 +436,16 @@ export default {
|
|
this.form.time = []
|
|
this.form.time = []
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ // 有效期
|
|
|
|
+ dateLimitChange (date, dateStrings) {
|
|
|
|
+ if (dateStrings && dateStrings[0]) {
|
|
|
|
+ this.timeLimit = dateStrings
|
|
|
|
+ this.form.validStartDate = date.length ? dateStrings[0] + ' 00:00:00' : ''
|
|
|
|
+ this.form.validEndDate = date.length ? dateStrings[1] + ' 23:59:59' : ''
|
|
|
|
+ } else {
|
|
|
|
+ this.timeLimit = []
|
|
|
|
+ }
|
|
|
|
+ },
|
|
// 打开产品弹窗
|
|
// 打开产品弹窗
|
|
insterProduct (obj) {
|
|
insterProduct (obj) {
|
|
if (obj && Object.keys(obj).length > 0) {
|
|
if (obj && Object.keys(obj).length > 0) {
|
|
@@ -454,6 +453,10 @@ export default {
|
|
}
|
|
}
|
|
this.showProModal = true
|
|
this.showProModal = true
|
|
},
|
|
},
|
|
|
|
+ handleDiscountType (val) {
|
|
|
|
+ this.form.discountType = val
|
|
|
|
+ this.resultValue = undefined
|
|
|
|
+ },
|
|
// 关闭产品弹窗
|
|
// 关闭产品弹窗
|
|
closeProductModal () {
|
|
closeProductModal () {
|
|
this.showProModal = false
|
|
this.showProModal = false
|
|
@@ -476,33 +479,53 @@ export default {
|
|
_this.$refs.imageSet.setFileList(res.data.imageUrl)
|
|
_this.$refs.imageSet.setFileList(res.data.imageUrl)
|
|
}
|
|
}
|
|
_this.form = res.data
|
|
_this.form = res.data
|
|
|
|
+ _this.isShowNextStep = true
|
|
if (_this.$route.params.pageType === 'edit') {
|
|
if (_this.$route.params.pageType === 'edit') {
|
|
_this.pageType = res.data.promoType
|
|
_this.pageType = res.data.promoType
|
|
_this.promotionName = res.data.promoName
|
|
_this.promotionName = res.data.promoName
|
|
}
|
|
}
|
|
-
|
|
|
|
- _this.isShowNextStep = true
|
|
|
|
|
|
+ _this.$nextTick(() => {
|
|
|
|
+ _this.$refs.chooseProductList.pageInit()
|
|
|
|
+ })
|
|
}
|
|
}
|
|
},
|
|
},
|
|
// 券有效期 change
|
|
// 券有效期 change
|
|
handleValidType (con) {
|
|
handleValidType (con) {
|
|
- this.form.promoRule.validType = con
|
|
|
|
|
|
+ this.form.validType = con
|
|
if (con === 'FIXED') {
|
|
if (con === 'FIXED') {
|
|
- this.form.promoRule.validDays = undefined
|
|
|
|
|
|
+ this.form.validDays = undefined
|
|
} else {
|
|
} else {
|
|
- this.time = []
|
|
|
|
- this.form.promoRule.validStartDate = undefined
|
|
|
|
- this.form.promoRule.validEndDate = undefined
|
|
|
|
|
|
+ this.timeLimit = []
|
|
|
|
+ this.form.validStartDate = undefined
|
|
|
|
+ this.form.validEndDate = undefined
|
|
}
|
|
}
|
|
},
|
|
},
|
|
// 确定保存 验证必填
|
|
// 确定保存 验证必填
|
|
handleSave (type) {
|
|
handleSave (type) {
|
|
const _this = this
|
|
const _this = this
|
|
-
|
|
|
|
// 验证组件必填项
|
|
// 验证组件必填项
|
|
_this.$refs.ruleForm.validate(valid => {
|
|
_this.$refs.ruleForm.validate(valid => {
|
|
if (valid) {
|
|
if (valid) {
|
|
- _this.$refs.ruleForm.clearValidate('rangeList')
|
|
|
|
|
|
+ _this.form.promoType = _this.pageType
|
|
|
|
+ _this.form.productNum = _this.$refs.chooseProductList.getChooseProductNum()
|
|
|
|
+
|
|
|
|
+ if (!_this.form.productNum) {
|
|
|
|
+ _this.$message.warning('请选择返券产品!')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if (_this.form.promoType === 'BUY_PROD_GIVE_VALID') {
|
|
|
|
+ if (_this.form.validType === 'FIXED') {
|
|
|
|
+ if (!_this.form.validStartDate || !_this.form.validEndDate) {
|
|
|
|
+ _this.$message.warning('请输入券有效期!')
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ if (!_this.form.validDays) {
|
|
|
|
+ _this.$message.warning('请输入券有效期!')
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
_this.savePartInfo(type)
|
|
_this.savePartInfo(type)
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -510,47 +533,31 @@ export default {
|
|
// 保存
|
|
// 保存
|
|
savePartInfo (type) {
|
|
savePartInfo (type) {
|
|
const _this = this
|
|
const _this = this
|
|
- _this.form.promoType = _this.pageType
|
|
|
|
var formData = JSON.parse(JSON.stringify(_this.form))
|
|
var formData = JSON.parse(JSON.stringify(_this.form))
|
|
delete formData.time
|
|
delete formData.time
|
|
- // // 跳转链接
|
|
|
|
- // if (formData.contentType == 'LINK') {
|
|
|
|
- // delete formData.contentLink
|
|
|
|
- // if (_this.productRangeList && _this.productRangeList.length > 0) {
|
|
|
|
- // formData.promoRule.productRangeList = _this.productRangeList.map(item => { return { productTypeSn: item } })
|
|
|
|
- // }
|
|
|
|
- // // 促销活动
|
|
|
|
- // if (_this.form.linkType === '1') {
|
|
|
|
- // if (_this.form.promoRule.validType === 'FIXED') {
|
|
|
|
- // if (!_this.form.promoRule.validStartDate || _this.form.promoRule.validStartDate.validEndDate) {
|
|
|
|
- // _this.$message.warning('请输入券有效期!')
|
|
|
|
- // return false
|
|
|
|
- // }
|
|
|
|
- // } else {
|
|
|
|
- // if (!_this.form.promoRule.validDays) {
|
|
|
|
- // _this.$message.warning('请输入券有效期!')
|
|
|
|
- // return false
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
- // formData.publishFlag = _this.form.promoRule.publishFlag
|
|
|
|
- // formData.dealerEditFlag = _this.form.promoRule.dealerEditFlag
|
|
|
|
- // } else {
|
|
|
|
- // formData.promoRule = undefined
|
|
|
|
- // }
|
|
|
|
- // if (_this.$refs.chooseProductList) {
|
|
|
|
- // const numInfo = _this.$refs.chooseProductList.getDataNum()
|
|
|
|
- // if (numInfo == 0) {
|
|
|
|
- // _this.$message.warning('请选择返券产品!')
|
|
|
|
- // return
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
- // } else {
|
|
|
|
- // formData.promoRule = undefined
|
|
|
|
- // }
|
|
|
|
|
|
+ delete formData.productNum
|
|
_this.spinning = true
|
|
_this.spinning = true
|
|
saveShopPromo(formData).then(res => {
|
|
saveShopPromo(formData).then(res => {
|
|
if (res.status == 200) {
|
|
if (res.status == 200) {
|
|
- debugger
|
|
|
|
|
|
+ _this.spinning = false
|
|
|
|
+ if (res.data.errorMsg && res.data.errorMsg.length > 0) {
|
|
|
|
+ this.$confirm({
|
|
|
|
+ title: '提示',
|
|
|
|
+ content: res.data.errorMsg.map((item, i) => { return <p>{i * 1 + 1}、{item}</p> }),
|
|
|
|
+ centered: true,
|
|
|
|
+ okText: '知道了',
|
|
|
|
+ cancelText: '取消', // 将cancelText设置为空字符串或去掉该属性可以隐藏取消按钮
|
|
|
|
+ cancelButtonProps: {
|
|
|
|
+ style: {
|
|
|
|
+ display: 'none' // 通过设置样式隐藏取消按钮
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ onOk () {
|
|
|
|
+ console.log('知道了')
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ return
|
|
|
|
+ }
|
|
_this.$message.success(res.message)
|
|
_this.$message.success(res.message)
|
|
if (type === 'all') {
|
|
if (type === 'all') {
|
|
_this.$nextTick(() => {
|
|
_this.$nextTick(() => {
|
|
@@ -561,24 +568,15 @@ export default {
|
|
_this.isShowNextStep = true
|
|
_this.isShowNextStep = true
|
|
_this.getDetail({ sn: res.data.shopPromo.promoSn })
|
|
_this.getDetail({ sn: res.data.shopPromo.promoSn })
|
|
}
|
|
}
|
|
- _this.spinning = false
|
|
|
|
} else {
|
|
} else {
|
|
_this.spinning = false
|
|
_this.spinning = false
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
- // 图片上传
|
|
|
|
|
|
+ // 封面图片上传
|
|
changeImage (file) {
|
|
changeImage (file) {
|
|
this.form.imageUrl = file
|
|
this.form.imageUrl = file
|
|
},
|
|
},
|
|
- // 视频上传
|
|
|
|
- changeVideo (file) {
|
|
|
|
- this.form.content = file
|
|
|
|
- },
|
|
|
|
- // 文本编辑器
|
|
|
|
- editorChange (html, text) {
|
|
|
|
- this.form.content = html
|
|
|
|
- },
|
|
|
|
// 重置
|
|
// 重置
|
|
resetSearchForm () {
|
|
resetSearchForm () {
|
|
if (this.pageType == 'add' || (this.pageType == 'edit' && !this.isDisabled)) {
|
|
if (this.pageType == 'add' || (this.pageType == 'edit' && !this.isDisabled)) {
|
|
@@ -593,31 +591,29 @@ export default {
|
|
this.$refs.editor.setHtml('')
|
|
this.$refs.editor.setHtml('')
|
|
}
|
|
}
|
|
this.form = {
|
|
this.form = {
|
|
- promoActiveSn: undefined, // 促销活动sn
|
|
|
|
- title: '', // 标题
|
|
|
|
- imageSet: '', // 图片
|
|
|
|
- contentType: 'IMAGE_CONTENT', // 内容类型
|
|
|
|
- content: '', // 内容
|
|
|
|
- contentLink: '', // 链接内容
|
|
|
|
|
|
+ promoType: undefined, // 促销类型
|
|
|
|
+ promoName: '', // '促销名称'
|
|
|
|
+ time: [], // 促销时间
|
|
|
|
+ promoStartDate: undefined, // 促销时间-开始
|
|
|
|
+ promoEndDate: undefined, // 促销时间-结束
|
|
sort: undefined, // 排序
|
|
sort: undefined, // 排序
|
|
- publishFlag: '0', // 是否发布
|
|
|
|
- linkType: '1',
|
|
|
|
- dealerEditFlag: '0', // 加盟商编辑 1是 0否
|
|
|
|
- productRangeList: [], // 产品范围列表
|
|
|
|
- promoRule: {
|
|
|
|
- ruleType: 'ticket', // 基本规则类型
|
|
|
|
- ruleName: '', // 券名称
|
|
|
|
- ruleTitle: '', // 副标题
|
|
|
|
- ruleBaseType: 'category', // 券生成方式
|
|
|
|
- ruleExplain: '', // 使用说明
|
|
|
|
- validType: undefined, // 券有效期类型
|
|
|
|
- validStartDate: undefined, // 券生效时间
|
|
|
|
- validEndDate: undefined, // 券失效时间
|
|
|
|
- validDays: undefined, // 券有效期天数
|
|
|
|
- dealerEditFlag: '0', // 加盟商编辑 1是 0否
|
|
|
|
- publishFlag: '0', // 是否发布
|
|
|
|
- range: '1'
|
|
|
|
- } // 链接配置内容
|
|
|
|
|
|
+ allDealerFlag: '1', // 全部经销商 1 部分经销商0'
|
|
|
|
+ imageUrl: undefined, // 促销封面图
|
|
|
|
+ description: '', // '促销描述'
|
|
|
|
+ dealerEditFlag: '0', // 加盟商编辑 0否 1是
|
|
|
|
+ dealerOpenFlag: '0', // 加盟商开关权限 0否 1是
|
|
|
|
+ rangeList: [], // 选择产品列表
|
|
|
|
+ discountType: 'STRAIGHT_DOWN', // 特价产品 - 优惠方式'
|
|
|
|
+ validName: '', // 券名称
|
|
|
|
+ validTitle: '', // 券副标题
|
|
|
|
+ validBaseType: undefined, // 券生成方式
|
|
|
|
+ validType: undefined, // 券有效期类型
|
|
|
|
+ validStartDate: undefined, // 券生效时间
|
|
|
|
+ validEndDate: undefined, // 券失效时间
|
|
|
|
+ validDays: undefined, // 券有效期天数
|
|
|
|
+ validScope: '1', // 券适用范围标记 1-全部 0-指定 死值 1
|
|
|
|
+ validInfo: '', // 使用说明
|
|
|
|
+ productNum: undefined
|
|
}
|
|
}
|
|
this.isShowNextStep = false
|
|
this.isShowNextStep = false
|
|
this.isDisabled = false
|
|
this.isDisabled = false
|
|
@@ -628,42 +624,6 @@ export default {
|
|
this.$refs.ruleForm.resetFields()
|
|
this.$refs.ruleForm.resetFields()
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- // 获取产品范围数据
|
|
|
|
- // getTreeData () {
|
|
|
|
- // productTypeQuery({}).then(res => {
|
|
|
|
- // if (res.status == 200) {
|
|
|
|
- // this.productTypeList = res.data
|
|
|
|
- // } else {
|
|
|
|
- // this.productTypeList = []
|
|
|
|
- // }
|
|
|
|
- // })
|
|
|
|
- // },
|
|
|
|
- // 选择内容类型
|
|
|
|
- changeContentType (e) {
|
|
|
|
- if (e === 'LINK') {
|
|
|
|
- this.form.linkType = '1'
|
|
|
|
- this.form.contentLink = '/pagesB/promoDetail'
|
|
|
|
- this.form.content = '/pagesB/promoDetail'
|
|
|
|
- } else {
|
|
|
|
- this.form.linkType = undefined
|
|
|
|
- this.form.contentLink = ''
|
|
|
|
- this.form.content = ''
|
|
|
|
- }
|
|
|
|
- this.form.contentType = e
|
|
|
|
- },
|
|
|
|
- // 填入link内容
|
|
|
|
- handleLink (con) {
|
|
|
|
- if (!con.target.value || con.target.value != '/pagesB/promoDetail') {
|
|
|
|
- this.form.linkType = '2'
|
|
|
|
- } else {
|
|
|
|
- this.form.linkType = '1'
|
|
|
|
- }
|
|
|
|
- this.form.contentLink = con.target.value
|
|
|
|
- },
|
|
|
|
- // 选择货架促销填入默认值
|
|
|
|
- handleLinkType (val) {
|
|
|
|
- this.form.contentLink = val === '2' ? '' : '/pagesB/promoDetail'
|
|
|
|
- },
|
|
|
|
// 添加产品
|
|
// 添加产品
|
|
handleAddProduct () {
|
|
handleAddProduct () {
|
|
this.chooseTypeList = this.productRangeList
|
|
this.chooseTypeList = this.productRangeList
|
|
@@ -690,31 +650,10 @@ export default {
|
|
saveChooseProduct(productArr).then(res => {
|
|
saveChooseProduct(productArr).then(res => {
|
|
if (res.status == 200) {
|
|
if (res.status == 200) {
|
|
this.showProModal = false
|
|
this.showProModal = false
|
|
- // // 获取产品列表 有分页
|
|
|
|
- this.$refs.chooseProductList.pageInit()
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
- // 选择产品范围
|
|
|
|
- onChangeTree (e) {
|
|
|
|
- deleteByProductType({ promoActiveSn: this.$route.params.sn, productTypeSnList: this.productRangeList || [] }).then(res => {
|
|
|
|
- if (res.status == 200) {
|
|
|
|
|
|
+ // 获取产品列表 有分页
|
|
this.$refs.chooseProductList.pageInit()
|
|
this.$refs.chooseProductList.pageInit()
|
|
}
|
|
}
|
|
})
|
|
})
|
|
- // 保存产品范围
|
|
|
|
- const newArr = this.productRangeList.map(item => {
|
|
|
|
- return {
|
|
|
|
- promoActiveSn: this.$route.params.sn,
|
|
|
|
- promoRuleSn: this.form.promoRule.promoRuleSn,
|
|
|
|
- productTypeSn: item
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- saveBatchEntity({ list: newArr, promoActiveSn: this.$route.params.sn }).then(res => {
|
|
|
|
- if (res.status == 200) {
|
|
|
|
- console.log('保存产品范围成功')
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
},
|
|
},
|
|
// 初始化
|
|
// 初始化
|
|
pageInit () {
|
|
pageInit () {
|
|
@@ -723,9 +662,6 @@ export default {
|
|
} else {
|
|
} else {
|
|
this.pageType = this.$route.params.pageType
|
|
this.pageType = this.$route.params.pageType
|
|
}
|
|
}
|
|
- // this.$nextTick(() => {
|
|
|
|
- // this.getTreeData()
|
|
|
|
- // })
|
|
|
|
}
|
|
}
|
|
},
|
|
},
|
|
mounted () {
|
|
mounted () {
|