|
@@ -30,16 +30,16 @@
|
|
|
<a-select
|
|
|
id="promotionRules-basicInfo-activeDateEnable"
|
|
|
placeholder="请选择"
|
|
|
+ @change="handleChange('activeDateEnable')"
|
|
|
v-model="form.activeDateEnable"
|
|
|
style="width: 100%;">
|
|
|
<a-select-option v-for="item in rangeList" :key="item.val" :value="item.val">{{ item.name }}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-model-item>
|
|
|
</a-col>
|
|
|
- <a-col span="12">
|
|
|
+ <a-col span="12" v-if="form.activeDateEnable==1">
|
|
|
<a-form-model-item prop="activeDate">
|
|
|
<a-range-picker
|
|
|
- v-if="form.activeDateEnable==1"
|
|
|
style="width:100%"
|
|
|
id="promotionRules-basicInfo-activeDate"
|
|
|
:disabledDate="disabledDate"
|
|
@@ -51,19 +51,21 @@
|
|
|
</a-row>
|
|
|
<a-row :gutter="15">
|
|
|
<a-col span="12">
|
|
|
- <a-form-model-item label="参与客户" prop="promoBuyerEnable">
|
|
|
+ <a-form-model-item label="参与客户" prop="buyerLimitEnable">
|
|
|
<a-select
|
|
|
- id="promotionRules-basicInfo-promoBuyerEnable"
|
|
|
+ id="promotionRules-basicInfo-buyerLimitEnable"
|
|
|
placeholder="请选择"
|
|
|
- v-model="form.promoBuyerEnable"
|
|
|
+ @change="handleChange('buyerLimitEnable')"
|
|
|
+ v-model="form.buyerLimitEnable"
|
|
|
style="width: 100%;">
|
|
|
<a-select-option v-for="item in rangeCList" :key="item.val" :value="item.val">{{ item.name }}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-model-item>
|
|
|
</a-col>
|
|
|
- <a-col span="12">
|
|
|
- <a-form-model-item prop="promoBuyerEnable">
|
|
|
- <a-button v-if="form.promoBuyerEnable==1" id="promotionRules-basicInfo-choose" type="primary" class="button-success" @click="openModal=true">选择</a-button>
|
|
|
+ <a-col span="12" v-if="form.buyerLimitEnable==1">
|
|
|
+ <a-form-model-item prop="buyerSns">
|
|
|
+ <a-button id="promotionRules-basicInfo-choose" type="primary" class="button-success" @click="openCustomerModal=true">选择</a-button>
|
|
|
+ <span style="font-weight: bold;">当前已选:{{ chooseCust.length }}个</span>
|
|
|
</a-form-model-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
@@ -80,16 +82,16 @@
|
|
|
<a-select
|
|
|
id="promotionRules-basicInfo-activeAmountEnable"
|
|
|
placeholder="请选择"
|
|
|
+ @change="handleChange('activeAmountEnable')"
|
|
|
v-model="form.activeAmountEnable"
|
|
|
style="width: 100%;">
|
|
|
<a-select-option v-for="item in rangeList" :key="item.val" :value="item.val">{{ item.name }}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-model-item>
|
|
|
</a-col>
|
|
|
- <a-col span="12">
|
|
|
+ <a-col span="12" v-if="form.activeAmountEnable==1">
|
|
|
<a-form-model-item prop="activeAmount">
|
|
|
<a-input-number
|
|
|
- v-if="form.activeAmountEnable==1"
|
|
|
id="promotionRules-basicInfo-activeAmount"
|
|
|
v-model="form.activeAmount"
|
|
|
:min="1"
|
|
@@ -115,16 +117,16 @@
|
|
|
<a-select
|
|
|
id="promotionRules-basicInfo-orderAmountEnable"
|
|
|
placeholder="请选择"
|
|
|
+ @change="handleChange('orderAmountEnable')"
|
|
|
v-model="form.orderAmountEnable"
|
|
|
style="width: 100%;">
|
|
|
<a-select-option v-for="item in rangeList" :key="item.val" :value="item.val">{{ item.name }}</a-select-option>
|
|
|
</a-select>
|
|
|
</a-form-model-item>
|
|
|
</a-col>
|
|
|
- <a-col span="12">
|
|
|
+ <a-col span="12" v-if="form.orderAmountEnable==1">
|
|
|
<a-form-model-item prop="orderAmount">
|
|
|
<a-input-number
|
|
|
- v-if="form.orderAmountEnable==1"
|
|
|
id="promotionRules-basicInfo-orderAmount"
|
|
|
v-model="form.orderAmount"
|
|
|
:min="1"
|
|
@@ -133,12 +135,12 @@
|
|
|
style="width: 85%;margin-right: 5px;"
|
|
|
placeholder="请输入订单起订金额(1~999999)"
|
|
|
allowClear />
|
|
|
- <span v-if="form.orderAmountEnable==1">万元</span>
|
|
|
+ <span>万元</span>
|
|
|
</a-form-model-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
|
<a-form-model-item label="备注" prop="remark" :label-col="{span: 4}">
|
|
|
- <a-input
|
|
|
+ <a-textarea
|
|
|
id="promotionRules-basicInfo-remark"
|
|
|
:maxLength="100"
|
|
|
v-model.trim="form.remark"
|
|
@@ -150,19 +152,19 @@
|
|
|
<a-button type="primary" id="promotionRules-basicInfo-modal-save" @click="handleSave">保存</a-button>
|
|
|
<a-button id="promotionRules-basicInfo-modal-back" @click="isShow = false" style="margin-left: 15px;">取消</a-button>
|
|
|
</div>
|
|
|
+ <!-- 选择参与客户 -->
|
|
|
+ <choose-customer-modal :openModal="openCustomerModal" :chooseCust="chooseCust" @close="openCustomerModal=false" @ok="handleOk" />
|
|
|
</a-modal>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import moment from 'moment'
|
|
|
import { VSelect } from '@/components'
|
|
|
-// import { storeCallOutSave } from '@/api/storeCallOut'
|
|
|
-// import { custAllList } from '@/api/customer'
|
|
|
-// import { getLookUpData } from '@/api/data'
|
|
|
-// import { storeCallOutTypeAllList } from '@/api/storeCallOutType'
|
|
|
+import chooseCustomerModal from './chooseCustomerModal'
|
|
|
+import { promoActiveSave } from '@/api/promoActive'
|
|
|
export default {
|
|
|
name: 'StoreTransferOutBasicInfoModal',
|
|
|
- components: { VSelect },
|
|
|
+ components: { VSelect, chooseCustomerModal },
|
|
|
props: {
|
|
|
openModal: {
|
|
|
// 弹框显示状态
|
|
@@ -179,26 +181,29 @@ export default {
|
|
|
},
|
|
|
form: {
|
|
|
name: '',
|
|
|
- activeDateEnable: undefined, // 活动时间启用标记
|
|
|
+ activeDateEnable: 0, // 活动时间启用标记
|
|
|
activeDate: [],
|
|
|
- activeDateStart: '', // 活动时间-开始
|
|
|
- activeDateEnd: '', // 活动时间-结束
|
|
|
- promoBuyerEnable: undefined, // 参与客户启用标记
|
|
|
- activeAmountEnable: undefined, // 活动经费启用标记
|
|
|
- activeAmount: '', // 活动经费上限
|
|
|
- orderAmountEnable: undefined, // 起订金额启用标记
|
|
|
- orderAmount: '', // 订单起订金额
|
|
|
+ activeDateStart: '', // 活动时间-开始
|
|
|
+ activeDateEnd: '', // 活动时间-结束
|
|
|
+ buyerLimitEnable: 0, // 参与客户启用标记
|
|
|
+ buyerSns: '', // 部分客户
|
|
|
+ activeAmountEnable: 0, // 活动经费启用标记
|
|
|
+ activeAmount: '', // 活动经费上限
|
|
|
+ orderAmountEnable: 0, // 起订金额启用标记
|
|
|
+ orderAmount: '', // 订单起订金额
|
|
|
remark: ''
|
|
|
},
|
|
|
rules: {
|
|
|
name: [{ required: true, message: '请输入活动名称', trigger: 'blur' }],
|
|
|
- activeDateEnable: [{ required: true, message: '请选择调往对象名称', trigger: 'change' }],
|
|
|
- putPersonName: [{ required: true, message: '请输入调往对象名称', trigger: 'blur' }],
|
|
|
- callOutType: [{ required: true, message: '请选择调拨类型', trigger: 'change' }]
|
|
|
+ activeDateEnable: [{ required: true, message: '请选择是否限制活动时间', trigger: 'change' }],
|
|
|
+ activeDate: [{ required: true, message: '请选择限制的活动时间', trigger: 'change' }],
|
|
|
+ buyerLimitEnable: [{ required: true, message: '请选择是否限制参与客户', trigger: 'change' }],
|
|
|
+ buyerSns: [{ required: true, message: '请选择参与客户', trigger: 'blur' }],
|
|
|
+ activeAmountEnable: [{ required: true, message: '请选择是否限制活动经费', trigger: 'change' }],
|
|
|
+ activeAmount: [{ required: true, message: '请输入活动经费上限', trigger: 'blur' }],
|
|
|
+ orderAmountEnable: [{ required: true, message: '请选择是否限制起订金额', trigger: 'change' }],
|
|
|
+ orderAmount: [{ required: true, message: '请输入订单起订金额', trigger: 'blur' }]
|
|
|
},
|
|
|
- custData: [], // 调往对象 下拉数据
|
|
|
- putPersonTypeList: [], // 调往对象类型
|
|
|
- storeCallOutTypeList: [], // 调拨类型
|
|
|
dateFormat: 'YYYY-MM-DD',
|
|
|
rangeList: [ // 是否限制
|
|
|
{ name: '不限', val: 0 },
|
|
@@ -208,12 +213,8 @@ export default {
|
|
|
{ name: '全部客户', val: 0 },
|
|
|
{ name: '部分客户', val: 1 }
|
|
|
],
|
|
|
- }
|
|
|
- },
|
|
|
- computed: {
|
|
|
- // 当前所选调往对象是否为客户
|
|
|
- isCustomer () {
|
|
|
- return this.form.putPersonType == 'CUSTOMER'
|
|
|
+ openCustomerModal: false,
|
|
|
+ chooseCust: [] // 当前已选客户
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
@@ -223,7 +224,15 @@ export default {
|
|
|
this.$refs.ruleForm.validate(valid => {
|
|
|
if (valid) {
|
|
|
const form = JSON.parse(JSON.stringify(_this.form))
|
|
|
- storeCallOutSave(form).then(res => {
|
|
|
+ if (form.activeDate && form.activeDate.length > 0) {
|
|
|
+ form.activeDateStart = moment(form.activeDate[0]).format(this.dateFormat)
|
|
|
+ form.activeDateEnd = moment(form.activeDate[1]).format(this.dateFormat)
|
|
|
+ } else {
|
|
|
+ form.activeDateStart = undefined
|
|
|
+ form.activeDateEnd = undefined
|
|
|
+ }
|
|
|
+ delete form.activeDate
|
|
|
+ promoActiveSave(form).then(res => {
|
|
|
if (res.status == 200) {
|
|
|
_this.$message.success(res.message)
|
|
|
setTimeout(() => {
|
|
@@ -238,60 +247,29 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- // 调往对象 change
|
|
|
- putPersonTypeChange (e) {
|
|
|
- this.$refs.ruleForm.resetFields()
|
|
|
- this.form.putPersonSn = undefined
|
|
|
- this.form.putPersonName = ''
|
|
|
- this.form.putPersonType = e.target.value
|
|
|
- },
|
|
|
- // 调往对象名称 change
|
|
|
- putPersonChange (val) {
|
|
|
- const ind = this.custData.findIndex(item => item.customerSn == val)
|
|
|
- this.form.putPersonName = this.custData[ind].customerName
|
|
|
- },
|
|
|
- // 调往对象列表
|
|
|
- getCustAllList () {
|
|
|
- custAllList().then(res => {
|
|
|
- if (res.status == 200) {
|
|
|
- this.custData = res.data
|
|
|
- } else {
|
|
|
- this.custData = []
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- // 调往对象类型
|
|
|
- getPutPersonTypeList () {
|
|
|
- const _this = this
|
|
|
- getLookUpData({
|
|
|
- pageNo: 1,
|
|
|
- pageSize: 1000,
|
|
|
- lookupCode: 'PUT_PERSON_TYPE'
|
|
|
- }).then(res => {
|
|
|
- if (res.status == 200) {
|
|
|
- _this.putPersonTypeList = res.data.list
|
|
|
- } else {
|
|
|
- _this.putPersonTypeList = []
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- // 调拨类型
|
|
|
- getStoreCallOutTypeAllList () {
|
|
|
- storeCallOutTypeAllList().then(res => {
|
|
|
- if (res.status == 200) {
|
|
|
- this.storeCallOutTypeList = res.data
|
|
|
- } else {
|
|
|
- this.storeCallOutTypeList = []
|
|
|
- }
|
|
|
- })
|
|
|
+ handleOk (obj) {
|
|
|
+ this.chooseCust = obj
|
|
|
+ this.form.buyerSns = this.chooseCust.join(',')
|
|
|
},
|
|
|
- filterOption (input, option) {
|
|
|
- return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
|
|
|
+ // select change
|
|
|
+ handleChange (val) {
|
|
|
+ // 数据更改为不限时需重置之前所选数据
|
|
|
+ if (val == 'activeDateEnable' && this.form.activeDateEnable == 0) { // 活动时间
|
|
|
+ this.form.activeDate = []
|
|
|
+ this.form.activeDateStart = ''
|
|
|
+ this.form.activeDateEnd = ''
|
|
|
+ } else if (val == 'buyerLimitEnable' && this.form.buyerLimitEnable == 0) { // 参与客户
|
|
|
+ this.chooseCust = []
|
|
|
+ } else if (val == 'activeAmountEnable' && this.form.activeAmountEnable == 0) { // 活动经费
|
|
|
+ this.form.activeAmount = ''
|
|
|
+ } else if (val == 'orderAmountEnable' && this.form.orderAmountEnable == 0) { // 起订金额
|
|
|
+ this.form.orderAmount = ''
|
|
|
+ }
|
|
|
},
|
|
|
// 不可选日期
|
|
|
disabledDate (date, dateStrings) {
|
|
|
return date && date.valueOf('day') < moment().subtract(1, 'day') // 今天以后,包含今天
|
|
|
- },
|
|
|
+ }
|
|
|
},
|
|
|
watch: {
|
|
|
// 父页面传过来的弹框状态
|
|
@@ -303,10 +281,6 @@ export default {
|
|
|
if (!newValue) {
|
|
|
this.$emit('close')
|
|
|
this.$refs.ruleForm.resetFields()
|
|
|
- } else {
|
|
|
- // this.getCustAllList()
|
|
|
- // this.getPutPersonTypeList()
|
|
|
- // this.getStoreCallOutTypeAllList()
|
|
|
}
|
|
|
}
|
|
|
}
|