| | |
| | | <el-input type="textarea" v-model="form.info" placeholder="请输入优惠券说明" maxlength="500" v-trim/> |
| | | </el-form-item> |
| | | <p class="tip-header" >使用限制</p> |
| | | <el-form-item label="有效期" prop="useType"> |
| | | <el-radio-group v-model="form.useType"> |
| | | <el-form-item label="有效期" prop="getDate"> |
| | | <el-radio-group v-model="form.useType" @change="changeApplyType"> |
| | | <el-radio :label="0">固定时段</el-radio> |
| | | <el-radio :label="1">固定时长</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="使用时段" prop="getDate" v-if="form.useType===0"> |
| | | <div class="date-style"> |
| | | <div class="date-style" v-if="form.useType===0"> |
| | | <el-date-picker |
| | | v-model="getDate" |
| | | type="datetimerange" |
| | |
| | | @change="selectDate" |
| | | ></el-date-picker> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="固定时长" prop="validDays" v-if="form.useType===1"> |
| | | <div class="coupon-rule"> |
| | | <div class="coupon-rule" v-if="form.useType===1"> |
| | | <div class="discrep">领劵后</div> |
| | | <el-input |
| | | v-model="form.validDays" |
| | |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="适用对象" prop="applyType"> |
| | | <el-radio-group v-model="form.applyType"> |
| | | <el-radio-group v-model="form.applyType" @change="changeApplyType"> |
| | | <el-radio :label="0">全场通用</el-radio> |
| | | <el-radio :label="1">按品类</el-radio> |
| | | <el-radio :label="2">指定商品</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item v-if="form.applyType===1" label="选择品类" prop="applyCateIdList" > |
| | | <el-form-item label="选择品类" prop="applyTypeRule" v-if="form.applyType===1"> |
| | | <el-select style="margin-left:10px;width: 300px;" v-model="form.applyCateIdList" placeholder="请选择商品分类,支持多选" filterable multiple clearable > |
| | | <el-option v-for="item in categorys" :key="'optCate'+item.id" :label="item.name" :value="item.id"> </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="选中商品" prop="applyTypeRule" v-if="form.applyType===2"> |
| | | <span style="font-size: 12px;color: #216EEE" @click="selectGoods">已指定【 {{applyDataList.length}} 】件商品</span> |
| | | <el-button style="margin-left:30px;display: inline-block;width: 80px;" type="primary" @click="selectGoods">去选择 </el-button> |
| | | </el-form-item> |
| | | <!-- <el-form-item v-if="form.applyType===1" label="选择品类" prop="applyCateIdList" > |
| | | <el-select v-model="form.applyCateIdList" placeholder="请选择商品分类,支持多选" filterable multiple clearable > |
| | | <el-option v-for="item in categorys" :key="'optCate'+item.id" :label="item.name" :value="item.id"> </el-option> |
| | | </el-select> |
| | |
| | | <el-form-item v-if="form.applyType===2" label="选择商品" prop="applyIdList" style="display: flex"> |
| | | <span style="font-size: 12px;color: #216EEE" @click="selectGoods">已指定【 {{applyDataList.length}} 】件商品</span> |
| | | <el-button style="margin-left:30px;display: inline-block;width: 80px;" type="primary" @click="selectGoods">去选择 </el-button> |
| | | </el-form-item> |
| | | </el-form-item>--> |
| | | <p class="tip-header" >发放规则</p> |
| | | <el-form-item label="发放总量" prop="num"> |
| | | <div class="num-style"> |
| | |
| | | } |
| | | } |
| | | const getDateRules = (rule, value, callback) => { |
| | | if (!this.form.startDate) { |
| | | if (!this.form.useType < 0) { |
| | | callback(new Error('请选择有效期')) |
| | | } else if (this.form.useType == 1 && !this.form.validDays) { |
| | | callback(new Error('请输入固定时长天数')) |
| | | } else if (this.form.useType == 0 && !this.form.startDate) { |
| | | callback(new Error('请选择开始时间')) |
| | | } else if (!this.form.endDate) { |
| | | } else if (this.form.useType == 0 && !this.form.endDate) { |
| | | callback(new Error('请输入结束时间')) |
| | | } else { |
| | | callback() |
| | | } |
| | | } |
| | | const getApplyTypeRule = (rule, value, callback) => { |
| | | if (!this.form.applyType < 0) { |
| | | callback(new Error('请选择适用范围')) |
| | | } else if (this.form.applyType == 1 && (!this.form.applyCateIdList || !this.form.applyCateIdList.length)) { |
| | | callback(new Error('请选择使用品类')) |
| | | } else if (this.form.applyType == 2 && (!this.form.applyIdList || !this.form.applyIdList.length)) { |
| | | callback(new Error('请选择指定商品')) |
| | | } else { |
| | | callback() |
| | | } |
| | |
| | | ], |
| | | num: [ |
| | | { required: true, validator: numRule, message: '请输入发放总数', tigger: 'blur' } |
| | | ] |
| | | ], |
| | | /* integral: [ |
| | | { required: true, validator: numRule, message: '请输入兑换条件', tigger: 'blur' } |
| | | ], */ |
| | | // validDays: [ |
| | | // { required: true, message: '请输入可用时间', tigger: 'blur' } |
| | | // ], |
| | | // getDate: [ |
| | | // { required: true, validator: getDateRules, tigger: 'change' } |
| | | // ], |
| | | getDate: [ |
| | | { required: true, validator: getDateRules } |
| | | ], |
| | | applyTypeRule: [ |
| | | { required: true, validator: getApplyTypeRule } |
| | | ] |
| | | // shopId: [ |
| | | // { required: true, validator: numRule, message: '请选择关联店铺', tigger: 'change' } |
| | | // ] |
| | |
| | | this.applyDataList = res || [] |
| | | }) |
| | | }, |
| | | changeApplyType(){ |
| | | this.$refs.form.clearValidate() |
| | | }, |
| | | doSelect (rows) { |
| | | console.log(rows, this.applyDataList) |
| | | this.applyDataList = [] |
| | |
| | | this.form.applyIdList.push(item.id) |
| | | }) |
| | | } |
| | | this.$refs.form.clearValidate(); |
| | | }, |
| | | open (title, target, type) { |
| | | this.showGoods = false |
| | |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | this.getDate = [target.startDate, target.endDate] |
| | | if (target.startDate && target.endDate) { |
| | | this.getDate = [target.startDate, target.endDate] |
| | | } |
| | | if (this.form.applyType === 1) { |
| | | this.form.applyCateIdList = [] |
| | | var ta = this.form.applyIds.split(',') |