|
|
|
@ -11,34 +11,50 @@
|
|
|
|
<el-input-number v-model="form.couponNumber" :min="1" :precision="0" label="优惠券数量" style="width:100%"></el-input-number>
|
|
|
|
<el-input-number v-model="form.couponNumber" :min="1" :precision="0" label="优惠券数量" style="width:100%"></el-input-number>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="优惠方式" prop="couponType">
|
|
|
|
<el-form-item label="优惠方式" prop="couponType">
|
|
|
|
|
|
|
|
<el-radio-group v-model="form.couponType" @change="handleChange($event===0?['fullKimsMoney']:$event===1?['fullDiscountMoney']:false)">
|
|
|
|
<el-radio v-model="form.couponType" :label="0">代金券</el-radio>
|
|
|
|
<el-radio v-model="form.couponType" :label="0">代金券</el-radio>
|
|
|
|
<el-radio v-model="form.couponType" :label="1">折扣券</el-radio>
|
|
|
|
<el-radio v-model="form.couponType" :label="1">折扣券</el-radio>
|
|
|
|
<el-radio v-model="form.couponType" :label="2">代扣券</el-radio>
|
|
|
|
<el-radio v-model="form.couponType" :label="2">代扣券</el-radio>
|
|
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item prop="fullKimsMoney" v-if="form.couponType===0">
|
|
|
|
|
|
|
|
<el-input-number class="hideBtn" v-model="form.fullKimsMoney" :min="1" :precision="0" placeholder="抵扣金额"></el-input-number>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item prop="fullDiscountMoney" v-if="form.couponType===1">
|
|
|
|
|
|
|
|
<el-input-number class="hideBtn" v-model="form.fullDiscountMoney" :min="1" :max="100" :precision="0" placeholder="折扣(%)"></el-input-number>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="优惠限制" prop="serviceConditions">
|
|
|
|
<el-form-item label="优惠限制" prop="serviceConditions">
|
|
|
|
|
|
|
|
<el-radio-group v-model="form.serviceConditions">
|
|
|
|
<el-radio v-model="form.serviceConditions" :label="0">满减</el-radio>
|
|
|
|
<el-radio v-model="form.serviceConditions" :label="0">满减</el-radio>
|
|
|
|
<el-radio v-model="form.serviceConditions" :label="1">没有限制</el-radio>
|
|
|
|
<el-radio v-model="form.serviceConditions" :label="1">没有限制</el-radio>
|
|
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item v-if="form.serviceConditions===0" prop="fullReductionMoney">
|
|
|
|
<el-form-item v-if="form.serviceConditions===0" prop="fullReductionMoney">
|
|
|
|
<amount-input ref="fullReductionMoney" @amount="handleAmount" name="fullReductionMoney" placeholder="满减金额(满多少可以减)"></amount-input>
|
|
|
|
<el-input-number class="hideBtn" v-model="form.fullReductionMoney" :min="1" :precision="2" placeholder="满减金额(满多少可以减)"></el-input-number>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="适用门店" prop="suitableStore">
|
|
|
|
<el-form-item label="适用门店" prop="suitableStore">
|
|
|
|
|
|
|
|
<el-radio-group v-model="form.suitableStore">
|
|
|
|
<el-radio v-model="form.suitableStore" :label="0">所有门店</el-radio>
|
|
|
|
<el-radio v-model="form.suitableStore" :label="0">所有门店</el-radio>
|
|
|
|
<el-radio v-model="form.suitableStore" :label="1">指定门店</el-radio>
|
|
|
|
<el-radio v-model="form.suitableStore" :label="1">指定门店</el-radio>
|
|
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item v-if="form.suitableStore===1" prop="useStoreList">
|
|
|
|
<el-form-item v-if="form.suitableStore===1" prop="useStoreList">
|
|
|
|
<el-button type="primary" size="mini">选择门店</el-button>
|
|
|
|
<el-button type="primary" size="mini">选择门店</el-button>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="适用项目" prop="suitableProject">
|
|
|
|
<el-form-item label="适用项目" prop="suitableProject">
|
|
|
|
|
|
|
|
<el-radio-group v-model="form.suitableProject">
|
|
|
|
<el-radio v-model="form.suitableProject" :label="0">所有项目</el-radio>
|
|
|
|
<el-radio v-model="form.suitableProject" :label="0">所有项目</el-radio>
|
|
|
|
<el-radio v-model="form.suitableProject" :label="1">指定项目</el-radio>
|
|
|
|
<el-radio v-model="form.suitableProject" :label="1">指定项目</el-radio>
|
|
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item v-if="form.suitableProject===1" prop="projectList">
|
|
|
|
<el-form-item v-if="form.suitableProject===1" prop="projectList">
|
|
|
|
<el-button type="primary" size="mini">选择项目</el-button>
|
|
|
|
<el-button type="primary" size="mini">选择项目</el-button>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="有效方式" prop="indateType">
|
|
|
|
<el-form-item label="有效方式" prop="indateType">
|
|
|
|
|
|
|
|
<el-radio-group v-model="form.indateType" @change="handleChange($event===0?['startDay','endDay']:$event===1?['fixDate']:false)">
|
|
|
|
<el-radio v-model="form.indateType" :label="0">领取后多少天</el-radio>
|
|
|
|
<el-radio v-model="form.indateType" :label="0">领取后多少天</el-radio>
|
|
|
|
<el-radio v-model="form.indateType" :label="1">固定日期</el-radio>
|
|
|
|
<el-radio v-model="form.indateType" :label="1">固定日期</el-radio>
|
|
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item v-if="form.indateType===0" prop="startDay">
|
|
|
|
<el-form-item v-if="form.indateType===0" prop="startDay">
|
|
|
|
<el-input v-model.trim="form.startDay" placeholder="领取后多少天生效"></el-input>
|
|
|
|
<el-input v-model.trim="form.startDay" placeholder="领取后多少天生效"></el-input>
|
|
|
|
@ -46,19 +62,21 @@
|
|
|
|
<el-form-item v-if="form.indateType===0" prop="endDay">
|
|
|
|
<el-form-item v-if="form.indateType===0" prop="endDay">
|
|
|
|
<el-input v-model.trim="form.endDay" placeholder="生效后多少天内有效"></el-input>
|
|
|
|
<el-input v-model.trim="form.endDay" placeholder="生效后多少天内有效"></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item v-if="form.indateType===1" prop="startDate">
|
|
|
|
<el-form-item v-if="form.indateType===1" prop="fixDate">
|
|
|
|
<el-date-picker v-model="form.fixDate" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="截止日期" value-format="yyyy-MM-dd">
|
|
|
|
<el-date-picker v-model="form.fixDate" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="截止日期" value-format="yyyy-MM-dd 00:00:00" @change="handleChange(['fixDate'],true)">
|
|
|
|
</el-date-picker>
|
|
|
|
</el-date-picker>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="分享提成规则" prop="shareCommissionRules">
|
|
|
|
<el-form-item label="分享提成规则" prop="shareCommissionRules">
|
|
|
|
|
|
|
|
<el-radio-group v-model="form.shareCommissionRules" @change="handleChange($event===0?['fixedAmount']:$event===1?['orderCommission']:false)">
|
|
|
|
<el-radio v-model="form.shareCommissionRules" :label="0">固定提成</el-radio>
|
|
|
|
<el-radio v-model="form.shareCommissionRules" :label="0">固定提成</el-radio>
|
|
|
|
<el-radio v-model="form.shareCommissionRules" :label="1">单据金额抽成(%)</el-radio>
|
|
|
|
<el-radio v-model="form.shareCommissionRules" :label="1">单据金额抽成(%)</el-radio>
|
|
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item v-if="form.shareCommissionRules===0" prop="fixedAmount">
|
|
|
|
<el-form-item v-if="form.shareCommissionRules===0" prop="fixedAmount">
|
|
|
|
<amount-input ref="fixedAmount" @amount="handleAmount" name="fixedAmount" placeholder="固定提成(元)"></amount-input>
|
|
|
|
<el-input-number class="hideBtn" v-model="form.fixedAmount" :min="1" :precision="2" placeholder="固定提成(元)"></el-input-number>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item v-if="form.shareCommissionRules===1" prop="orderCommission">
|
|
|
|
<el-form-item v-if="form.shareCommissionRules===1" prop="orderCommission">
|
|
|
|
<amount-input ref="orderCommission" @amount="handleAmount" name="orderCommission" placeholder="单据金额抽成(%)"></amount-input>
|
|
|
|
<el-input-number class="hideBtn" v-model="form.orderCommission" :min="1" :max="100" :precision="0" placeholder="单据金额抽成(%)"></el-input-number>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="活动图片" prop="imageUrl">
|
|
|
|
<el-form-item label="活动图片" prop="imageUrl">
|
|
|
|
<active-img ref="activeImg" @active-img="handleImage"></active-img>
|
|
|
|
<active-img ref="activeImg" @active-img="handleImage"></active-img>
|
|
|
|
@ -75,15 +93,16 @@
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</el-col>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
</el-row>
|
|
|
|
|
|
|
|
<Store ref="Store" @call-back-store="callBackStore"></Store>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
<script>
|
|
|
|
import AmountInput from '@/components/AmountInput/index'
|
|
|
|
|
|
|
|
import ActiveImg from './activeImg'
|
|
|
|
import ActiveImg from './activeImg'
|
|
|
|
|
|
|
|
import Store from '@/components/mulStore/index'
|
|
|
|
export default {
|
|
|
|
export default {
|
|
|
|
name: 'Form',
|
|
|
|
name: 'Form',
|
|
|
|
components: { AmountInput, ActiveImg },
|
|
|
|
components: { ActiveImg, Store },
|
|
|
|
data() {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
form: {
|
|
|
|
form: {
|
|
|
|
@ -102,6 +121,12 @@ export default {
|
|
|
|
couponType: [
|
|
|
|
couponType: [
|
|
|
|
{ required: true, message: '请选择优惠方式', trigger: ['blur', 'change'] },
|
|
|
|
{ required: true, message: '请选择优惠方式', trigger: ['blur', 'change'] },
|
|
|
|
],
|
|
|
|
],
|
|
|
|
|
|
|
|
fullKimsMoney: [
|
|
|
|
|
|
|
|
{ required: true, message: '请输入抵扣金额', trigger: 'blur' },
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
fullDiscountMoney: [
|
|
|
|
|
|
|
|
{ required: true, message: '请输入折扣(%)', trigger: 'blur' },
|
|
|
|
|
|
|
|
],
|
|
|
|
fullReductionMoney: [
|
|
|
|
fullReductionMoney: [
|
|
|
|
{ required: true, message: '请输入满减金额', trigger: 'blur' },
|
|
|
|
{ required: true, message: '请输入满减金额', trigger: 'blur' },
|
|
|
|
],
|
|
|
|
],
|
|
|
|
@ -114,6 +139,9 @@ export default {
|
|
|
|
indateType: [
|
|
|
|
indateType: [
|
|
|
|
{ required: true, message: '请选择有效方式', trigger: ['blur', 'change'] },
|
|
|
|
{ required: true, message: '请选择有效方式', trigger: ['blur', 'change'] },
|
|
|
|
],
|
|
|
|
],
|
|
|
|
|
|
|
|
fixDate: [
|
|
|
|
|
|
|
|
{ required: true, message: '请选择有效日期', trigger: ['blur', 'change'] },
|
|
|
|
|
|
|
|
],
|
|
|
|
startDay: [
|
|
|
|
startDay: [
|
|
|
|
{ required: true, message: '请输入多少天', trigger: 'blur' },
|
|
|
|
{ required: true, message: '请输入多少天', trigger: 'blur' },
|
|
|
|
],
|
|
|
|
],
|
|
|
|
@ -123,6 +151,12 @@ export default {
|
|
|
|
shareCommissionRules: [
|
|
|
|
shareCommissionRules: [
|
|
|
|
{ required: true, message: '请选择分享提成规则', trigger: ['blur', 'change'] },
|
|
|
|
{ required: true, message: '请选择分享提成规则', trigger: ['blur', 'change'] },
|
|
|
|
],
|
|
|
|
],
|
|
|
|
|
|
|
|
fixedAmount: [
|
|
|
|
|
|
|
|
{ required: true, message: '请输入固定金额', trigger: 'blur' },
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
orderCommission: [
|
|
|
|
|
|
|
|
{ required: true, message: '请输入单据金额抽成(%', trigger: 'blur' },
|
|
|
|
|
|
|
|
],
|
|
|
|
imageUrl: [{ required: true, message: '请上传活动图片', trigger: ['blur', 'change'] }],
|
|
|
|
imageUrl: [{ required: true, message: '请上传活动图片', trigger: ['blur', 'change'] }],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -133,7 +167,10 @@ export default {
|
|
|
|
handleNext() {
|
|
|
|
handleNext() {
|
|
|
|
this.$refs.form.validate((valid) => {
|
|
|
|
this.$refs.form.validate((valid) => {
|
|
|
|
if (valid) {
|
|
|
|
if (valid) {
|
|
|
|
this.$emit('next', 2, this.form)
|
|
|
|
let form = Object.assign({}, this.form);
|
|
|
|
|
|
|
|
delete form.fixDate
|
|
|
|
|
|
|
|
delete form.imageUrl
|
|
|
|
|
|
|
|
this.$emit('next', 2, form)
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
return false
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -141,43 +178,48 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// 重置
|
|
|
|
// 重置
|
|
|
|
resetForm() {
|
|
|
|
resetForm() {
|
|
|
|
let form = Object.assign({}, this.form);
|
|
|
|
|
|
|
|
if (form.serviceConditions === 0) {
|
|
|
|
|
|
|
|
this.$refs.fullReductionMoney.reset()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (shareCommissionRules === 0) {
|
|
|
|
|
|
|
|
this.$refs.fixedAmount.reset()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (shareCommissionRules === 1) {
|
|
|
|
|
|
|
|
this.$refs.orderCommission.reset()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
this.$refs.form.resetFields()
|
|
|
|
this.$refs.form.resetFields()
|
|
|
|
this.$baseMessage('重置成功', 'success')
|
|
|
|
this.$baseMessage('重置成功', 'success')
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// ============================== 第三方插件方法 ============================== //
|
|
|
|
// ============================== 第三方插件方法 ============================== //
|
|
|
|
|
|
|
|
// 单选框发生改变时,清除上一个的校验
|
|
|
|
|
|
|
|
handleChange(value, judge) {
|
|
|
|
|
|
|
|
if (judge) {
|
|
|
|
|
|
|
|
this.$refs.form.validateField(value)
|
|
|
|
|
|
|
|
let form = Object.assign({}, this.form);
|
|
|
|
|
|
|
|
form.startDate = form.fixDate[0]
|
|
|
|
|
|
|
|
form.endDate = form.fixDate[1]
|
|
|
|
|
|
|
|
this.form = Object.assign({}, form);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (value.length > 1) {
|
|
|
|
|
|
|
|
value.forEach((item) => {
|
|
|
|
|
|
|
|
this.$refs.form.clearValidate([item])
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
this.$refs.form.clearValidate(value)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
// 选择图片后返回
|
|
|
|
// 选择图片后返回
|
|
|
|
handleImage(file) {
|
|
|
|
handleImage(file) {
|
|
|
|
let form = Object.assign({}, this.form);
|
|
|
|
let form = Object.assign({}, this.form);
|
|
|
|
form.multipartFile = file
|
|
|
|
form.multipartFile = file
|
|
|
|
|
|
|
|
form.imageUrl = true
|
|
|
|
this.form = Object.assign({}, form);
|
|
|
|
this.form = Object.assign({}, form);
|
|
|
|
},
|
|
|
|
this.$nextTick(function () {
|
|
|
|
// 金额自定义组件返回值
|
|
|
|
this.$refs.form.validateField(['imageUrl'])
|
|
|
|
handleAmount(name, amount) {
|
|
|
|
});
|
|
|
|
let form = Object.assign({}, this.form)
|
|
|
|
|
|
|
|
form[name] = amount
|
|
|
|
|
|
|
|
this.form = Object.assign({}, form)
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// 发布后清除选择的文件
|
|
|
|
// 发布后清除选择的文件
|
|
|
|
handleClear() {
|
|
|
|
handleClear() {
|
|
|
|
this.$refs.activeImg.handleClear()
|
|
|
|
this.$refs.activeImg.handleClear()
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
callBackStore() { }
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
|
<style scoped>
|
|
|
|
<style scoped>
|
|
|
|
.container .form {
|
|
|
|
.container .form {
|
|
|
|
width: 500px;
|
|
|
|
width: 500px;
|
|
|
|
/* // margin: 0 auto; */
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.container .box {
|
|
|
|
.container .box {
|
|
|
|
display: flex;
|
|
|
|
display: flex;
|
|
|
|
@ -188,4 +230,19 @@ export default {
|
|
|
|
.form .el-form-item {
|
|
|
|
.form .el-form-item {
|
|
|
|
margin-bottom: 15px;
|
|
|
|
margin-bottom: 15px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.form /deep/ .el-form-item .el-input--medium .el-input__inner {
|
|
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
.form /deep/ .el-form-item .el-form-item__content {
|
|
|
|
|
|
|
|
margin-left: 90px !important;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
.form .hideBtn {
|
|
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
.form .hideBtn /deep/ .el-input-number__decrease {
|
|
|
|
|
|
|
|
display: none;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
.form .hideBtn /deep/ .el-input-number__increase {
|
|
|
|
|
|
|
|
display: none;
|
|
|
|
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
</style>
|
|
|
|
|