|
@@ -27,11 +27,11 @@
|
|
|
</a-form-model-item>
|
|
|
<a-form-model-item label="规则门槛" prop="gateFlag">
|
|
|
<div class="fixWidthBox">
|
|
|
- <a-radio-group v-model="form.gateFlag" button-style="solid" size="small" @change="changeGateFlag">
|
|
|
- <a-radio-button value="1">
|
|
|
+ <a-radio-group id="promotionList-gateFlag" v-model="form.gateFlag" button-style="solid" size="small" @change="changeGateFlag">
|
|
|
+ <a-radio-button id="promotionList-gateFlag1" value="1">
|
|
|
有
|
|
|
</a-radio-button>
|
|
|
- <a-radio-button value="0">
|
|
|
+ <a-radio-button id="promotionList-gateFlag0" value="0">
|
|
|
无
|
|
|
</a-radio-button>
|
|
|
</a-radio-group>
|
|
@@ -47,29 +47,59 @@
|
|
|
@change="changeGateTypeFlag"
|
|
|
allowClear></v-select>
|
|
|
<div v-if="form.gateType==='RATIO_AMOUNT'">
|
|
|
- 购买门槛产品金额 <a-input-number v-model="form.gateValue" :min="0" :max="999999" :precision="2" size="small"/> %作为配额
|
|
|
+ 购买门槛产品金额 <a-input-number
|
|
|
+ id="promotionList-gateValue"
|
|
|
+ v-model="form.gateValue"
|
|
|
+ :min="0"
|
|
|
+ :max="999999"
|
|
|
+ :precision="2"
|
|
|
+ size="small"/> %作为配额
|
|
|
<a-tooltip title="如:填写100%,则购买10000元门槛产品,可享受10000配额购买正价产品,根据门槛金额动态调整配额">
|
|
|
<a-icon type="question-circle" theme="filled" :style="{ fontSize: '14px', color: 'gray' }"/>
|
|
|
</a-tooltip>
|
|
|
</div>
|
|
|
<div v-if="form.gateType==='MIN_AMOUNT'">
|
|
|
- 购买门槛产品满最低金额 <a-input-number v-model="form.gateValue" :max="999999" :min="0" :precision="2" size="small"/>元,不限制配额。
|
|
|
+ 购买门槛产品满最低金额 <a-input-number
|
|
|
+ id="promotionList-gateValue"
|
|
|
+ v-model="form.gateValue"
|
|
|
+ :max="999999"
|
|
|
+ :min="0"
|
|
|
+ :precision="2"
|
|
|
+ size="small"/>元,不限制配额。
|
|
|
</div>
|
|
|
<div class="ruleDescList" v-if="form.gateType==='FIXED_AMOUNT'">
|
|
|
购买满
|
|
|
- <a-input-number v-model="form.gateValue" :min="0" :max="999999" :precision="2" size="small"/>
|
|
|
+ <a-input-number
|
|
|
+ id="promotionList-gateValue"
|
|
|
+ v-model="form.gateValue"
|
|
|
+ :min="0"
|
|
|
+ :max="999999"
|
|
|
+ :precision="2"
|
|
|
+ size="small"/>
|
|
|
元门槛产品,可使用
|
|
|
- <a-input-number v-model="form.quotaAmount" :min="0" :max="999999" :precision="2" size="small"/>
|
|
|
+ <a-input-number
|
|
|
+ v-model="form.quotaAmount"
|
|
|
+ id="promotionList-quotaAmount"
|
|
|
+ :min="0"
|
|
|
+ :max="999999"
|
|
|
+ :precision="2"
|
|
|
+ size="small"/>
|
|
|
元配额,采购规则中的正价商品(配额算销售额)
|
|
|
</div>
|
|
|
</div>
|
|
|
</a-form-model-item>
|
|
|
<a-form-model-item label="满赠规则" prop="giveRuleType">
|
|
|
- <a-select default-value="SUM_MONEY" v-model="form.giveRuleType" style="width: 160px" size="small" @change="handleRuleType">
|
|
|
- <a-select-option value="SUM_MONEY">
|
|
|
+ <a-select
|
|
|
+ default-value="SUM_MONEY"
|
|
|
+ id="promotionList-giveRuleType"
|
|
|
+ v-model="form.giveRuleType"
|
|
|
+ style="width: 160px"
|
|
|
+ size="small"
|
|
|
+ @change="handleRuleType">
|
|
|
+ <a-select-option id="promotionList-giveRuleType1" value="SUM_MONEY">
|
|
|
金额叠加
|
|
|
</a-select-option>
|
|
|
- <a-select-option value="RATIO">
|
|
|
+ <a-select-option id="promotionList-giveRuleType2" value="RATIO">
|
|
|
按比例
|
|
|
</a-select-option>
|
|
|
</a-select>
|
|
@@ -84,6 +114,7 @@
|
|
|
<a-input-number
|
|
|
v-model="fullGiftRuleList[0].regularValue"
|
|
|
@blur="calculatePrice"
|
|
|
+ id="promotionList-regularValue"
|
|
|
:max="99999999"
|
|
|
:step="1"
|
|
|
:precision="form.regularUnit==='YUAN'?2:0"
|
|
@@ -93,12 +124,13 @@
|
|
|
default-value="YUAN"
|
|
|
v-model="form.regularUnit"
|
|
|
style="width: 50px;margin-left:5px;"
|
|
|
+ id="promotionList-regularUnit"
|
|
|
size="small"
|
|
|
@change="handleUnit">
|
|
|
- <a-select-option value="YUAN">
|
|
|
+ <a-select-option value="YUAN" id="promotionList-yuan">
|
|
|
元
|
|
|
</a-select-option>
|
|
|
- <a-select-option value="GE">
|
|
|
+ <a-select-option value="GE" id="promotionList-ge">
|
|
|
个
|
|
|
</a-select-option>
|
|
|
</a-select>
|
|
@@ -106,6 +138,7 @@
|
|
|
<a-input-number
|
|
|
v-model="fullGiftRuleList[0].promotionValue"
|
|
|
@blur="calculatePrice"
|
|
|
+ id="promotionList-promotionValue"
|
|
|
:min="0"
|
|
|
:step="1"
|
|
|
:max="99999999"
|
|
@@ -122,19 +155,21 @@
|
|
|
:min="i!=0?fullGiftRuleList[i-1].regularValue:0"
|
|
|
:step="1"
|
|
|
:max="99999999"
|
|
|
+ id="promotionList-regularValue1"
|
|
|
:precision="form.regularUnit==='YUAN'?2:0"
|
|
|
size="small"/>
|
|
|
<a-select
|
|
|
default-value="YUAN"
|
|
|
v-model="form.regularUnit"
|
|
|
+ id="promotionList-regularUnit1"
|
|
|
@change="handleChangeUnit"
|
|
|
style="width: 50px;margin-left:5px;"
|
|
|
size="small"
|
|
|
:disabled="i!=0">
|
|
|
- <a-select-option value="YUAN">
|
|
|
+ <a-select-option value="YUAN" id="promotionList-yuan1">
|
|
|
元
|
|
|
</a-select-option>
|
|
|
- <a-select-option value="GE">
|
|
|
+ <a-select-option value="GE" id="promotionList-ge1">
|
|
|
个
|
|
|
</a-select-option>
|
|
|
</a-select>
|
|
@@ -145,20 +180,21 @@
|
|
|
:step="1"
|
|
|
:precision="2"
|
|
|
:max="99999999"
|
|
|
+ id="promotionList-promotionValue1"
|
|
|
size="small"/>
|
|
|
%为促销品采购额
|
|
|
- <a-button type="link" v-if="i==0&&fullGiftRuleList&&fullGiftRuleList.length<5" class="button-info" @click="addFullGiftRule">+新增</a-button>
|
|
|
- <a-button type="link" v-if="i!=0" class="button-error" @click="delFullGiftRule(i)">删除</a-button>
|
|
|
+ <a-button type="link" id="promotionList-add" v-if="i==0&&fullGiftRuleList&&fullGiftRuleList.length<5" class="button-info" @click="addFullGiftRule">+新增</a-button>
|
|
|
+ <a-button type="link" id="promotionList-del" v-if="i!=0" class="button-error" @click="delFullGiftRule(i)">删除</a-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</a-form-model-item>
|
|
|
<a-form-model-item label="采购额适用范围" prop="scopeFlag">
|
|
|
<div class="fixWidthBox">
|
|
|
- <a-radio-group v-model="form.scopeFlag" button-style="solid" size="small">
|
|
|
- <a-radio-button value="0">
|
|
|
+ <a-radio-group id="promotionList-scopeFlag" v-model="form.scopeFlag" button-style="solid" size="small">
|
|
|
+ <a-radio-button value="0" id="promotionList-scopeFlag0">
|
|
|
部分产品
|
|
|
</a-radio-button>
|
|
|
- <a-radio-button value="1">
|
|
|
+ <a-radio-button value="1" id="promotionList-scopeFlag1">
|
|
|
全部产品
|
|
|
</a-radio-button>
|
|
|
</a-radio-group>
|
|
@@ -167,14 +203,14 @@
|
|
|
</a-form-model>
|
|
|
<a-card size="small" :bordered="false" class="pages-wrap">
|
|
|
<div class="flex" style="margin-bottom:10px;">
|
|
|
- <a-radio-group v-model="chooseVal" button-style="solid">
|
|
|
- <a-radio-button value="a" v-show="form.gateFlag==='1'">
|
|
|
+ <a-radio-group id="promotionList-chooseVal" v-model="chooseVal" button-style="solid">
|
|
|
+ <a-radio-button value="a" id="promotionList-chooseVal-a" v-show="form.gateFlag==='1'">
|
|
|
门槛产品
|
|
|
</a-radio-button>
|
|
|
- <a-radio-button value="b">
|
|
|
+ <a-radio-button value="b" id="promotionList-chooseVal-b">
|
|
|
正价产品
|
|
|
</a-radio-button>
|
|
|
- <a-radio-button value="c" v-show="form.scopeFlag==='0'">
|
|
|
+ <a-radio-button value="c" id="promotionList-chooseVal-c" v-show="form.scopeFlag==='0'">
|
|
|
促销产品
|
|
|
</a-radio-button>
|
|
|
</a-radio-group>
|
|
@@ -184,8 +220,8 @@
|
|
|
type="link"
|
|
|
class="button-info"
|
|
|
@click="openGuideModal=true"
|
|
|
- id="promotionList-edit-btn">+导入产品</a-button>
|
|
|
- <a-button type="link" class="button-error" @click="handlePreview">预览</a-button>
|
|
|
+ id="promotionList-import-btn">+导入产品</a-button>
|
|
|
+ <a-button type="link" id="promotionList-preview-btn" class="button-error" @click="handlePreview">预览</a-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div v-show="chooseVal=='a'"><tableType1 :unitTypeList="unitTypeDataList" ref="cillProduct"></tableType1></div>
|
|
@@ -193,7 +229,7 @@
|
|
|
<div v-show="chooseVal=='c'"><tableType1 :unitTypeList="unitTypeDataList" ref="offerProduct"></tableType1></div>
|
|
|
</a-card>
|
|
|
<div class="btn-cont">
|
|
|
- <a-button id="promotionList-basicInfo-modal-back" @click="isShow = false">取消</a-button>
|
|
|
+ <a-button id="promotionList-basicInfo-back" @click="isShow = false">取消</a-button>
|
|
|
<a-button style="margin-left: 15px;" type="primary" id="promotionList-modal-save" @click="handleSave">确定</a-button>
|
|
|
</div>
|
|
|
</a-spin>
|
|
@@ -206,14 +242,17 @@
|
|
|
|
|
|
<script>
|
|
|
import { commonMixin } from '@/utils/mixin'
|
|
|
+// 组件
|
|
|
import { VSelect } from '@/components'
|
|
|
import tableType1 from './tableType1.vue'
|
|
|
-import { promotionSave, getRuleDetail } from '@/api/promotion'
|
|
|
import ImportGuideModal from './importGuideModal.vue'
|
|
|
-import { getLookUpData } from '@/api/data'
|
|
|
import productPreviewModal from './productPreviewModal'
|
|
|
+// 接口
|
|
|
+import { getLookUpData } from '@/api/data'
|
|
|
+import { promotionSave, getRuleDetail } from '@/api/promotion'
|
|
|
+
|
|
|
export default {
|
|
|
- name: 'PromotionListBasicInfoModal',
|
|
|
+ name: 'SendAmountModal',
|
|
|
mixins: [commonMixin],
|
|
|
components: { VSelect, tableType1, ImportGuideModal, productPreviewModal },
|
|
|
props: {
|
|
@@ -232,43 +271,47 @@ export default {
|
|
|
},
|
|
|
data () {
|
|
|
return {
|
|
|
- isShow: this.openModal, // 是否打开弹框
|
|
|
spinning: false,
|
|
|
+ isShow: this.openModal, // 是否打开弹框
|
|
|
+ // form表单label布局
|
|
|
formItemLayout: {
|
|
|
labelCol: { span: 4 },
|
|
|
wrapperCol: { span: 17 }
|
|
|
},
|
|
|
+ // 提交参数
|
|
|
form: {
|
|
|
promotionRuleType: 'BUY_PROD_GIVE_MONEY', // 买产品送采购额
|
|
|
accrualFlag: 1,
|
|
|
- description: '',
|
|
|
+ description: '', // 规则简称
|
|
|
gateFlag: '0', // 门槛
|
|
|
- gateType: undefined,
|
|
|
- gateValue: undefined,
|
|
|
- quotaAmount: undefined,
|
|
|
- giveRuleType: 'SUM_MONEY',
|
|
|
- regularUnit: 'YUAN',
|
|
|
+ gateType: undefined, // 页面类型
|
|
|
+ gateValue: undefined, // 门槛产品有效值
|
|
|
+ quotaAmount: undefined, // 可使用门槛产品配额
|
|
|
+ giveRuleType: 'SUM_MONEY', // 满赠规则
|
|
|
+ regularUnit: 'YUAN', // 单位
|
|
|
scopeFlag: '1',
|
|
|
- gateInfo: undefined,
|
|
|
- ruleInfo: undefined,
|
|
|
- gateUnit: undefined,
|
|
|
- quotaUnit: undefined
|
|
|
+ gateInfo: undefined, // 门槛规则描述
|
|
|
+ ruleInfo: undefined, // 规则详情描述
|
|
|
+ gateUnit: undefined, // 单位
|
|
|
+ quotaUnit: undefined// 单位类型 yuan ge
|
|
|
},
|
|
|
+ // 表单验证规则
|
|
|
rules: {
|
|
|
description: [ { required: true, message: '请输入规则简称', trigger: 'blur' } ],
|
|
|
gateFlag: [ { required: true, message: '请选择规则门槛', trigger: 'change' } ],
|
|
|
giveRuleType: [{ required: true, message: '请选择满赠规则', trigger: 'change' }],
|
|
|
scopeFlag: [{ required: true, message: '请选择采购额适用范围', trigger: 'change' }]
|
|
|
},
|
|
|
- chooseVal: 'a',
|
|
|
- scaleNum: 0,
|
|
|
- openGuideModal: false,
|
|
|
+ chooseVal: 'a', // 当前页面展示值
|
|
|
+ scaleNum: 0, // 促销品采购额比例
|
|
|
+ openGuideModal: false, // 打开导入产品弹窗
|
|
|
+ // 列表数据
|
|
|
fullGiftRuleList: [{
|
|
|
regularValue: undefined,
|
|
|
promotionValue: undefined
|
|
|
}],
|
|
|
code: 'SCOPE_UNIT_TYPE', // 起订类型数据字典
|
|
|
- unitTypeDataList: [],
|
|
|
+ unitTypeDataList: [], // 起订量数据
|
|
|
openProductModal: false, // 预览弹窗
|
|
|
previewList: []// 预览值
|
|
|
}
|
|
@@ -287,6 +330,7 @@ export default {
|
|
|
this.form.regularUnit = val
|
|
|
this.fullGiftRuleList[0].regularValue = undefined
|
|
|
},
|
|
|
+ // 单位选择
|
|
|
handleChangeUnit (e) {
|
|
|
this.form.regularUnit = e
|
|
|
this.fullGiftRuleList.forEach(item => {
|
|
@@ -310,6 +354,7 @@ export default {
|
|
|
closeGuideModel () {
|
|
|
this.openGuideModal = false
|
|
|
},
|
|
|
+ // 导入成功
|
|
|
hanldeOk (arr) {
|
|
|
const name = this.chooseVal == 'a' ? 'cill' : this.chooseVal == 'b' ? 'normalPrice' : 'offer'
|
|
|
this.$refs[name + 'Product'].importRow(arr)
|
|
@@ -334,6 +379,7 @@ export default {
|
|
|
this.chooseVal = 'a'
|
|
|
}
|
|
|
},
|
|
|
+ // 选择门槛与配额设置要求
|
|
|
changeGateTypeFlag (val) {
|
|
|
this.form.gateType = val
|
|
|
this.form.gateValue = undefined
|
|
@@ -519,7 +565,7 @@ export default {
|
|
|
promotionRuleType: 'BUY_PROD_GIVE_MONEY', // 买产品送采购额
|
|
|
description: '',
|
|
|
gateFlag: '0', // 门槛
|
|
|
- gateType: undefined,
|
|
|
+ gateType: undefined, //
|
|
|
gateValue: undefined,
|
|
|
quotaAmount: undefined,
|
|
|
giveRuleType: 'SUM_MONEY',
|
|
@@ -585,6 +631,7 @@ export default {
|
|
|
_this.spinning = false
|
|
|
})
|
|
|
},
|
|
|
+ // 根绝要求重组数据
|
|
|
newData (list) {
|
|
|
list.forEach(con => {
|
|
|
// 品牌
|
|
@@ -643,6 +690,7 @@ export default {
|
|
|
})
|
|
|
return list
|
|
|
},
|
|
|
+ // 获取起订类型数据字典
|
|
|
getUnitTypeList () {
|
|
|
const _this = this
|
|
|
getLookUpData({
|
|
@@ -700,6 +748,7 @@ export default {
|
|
|
this.openProductModal = true
|
|
|
})
|
|
|
},
|
|
|
+ // 关闭产品弹窗
|
|
|
closeProductModal () {
|
|
|
this.previewList = []
|
|
|
this.openProductModal = false
|