发布修改

master
Sigo 4 years ago
parent 000cf9254d
commit 4528ec8627

@ -2,7 +2,7 @@ import {
service service
} from "../../utils/service"; } from "../../utils/service";
// 主页查询 // 发布
export function doAdd(data) { export function doAdd(data) {
return service({ return service({
url: "/platformCoupon/add", url: "/platformCoupon/add",

@ -18,6 +18,10 @@ export default {
// console.log('file', file); // console.log('file', file);
console.log('fileList', fileList); console.log('fileList', fileList);
}, },
//
handleClear() {
this.$refs.upload.clearFiles();
}
} }
} }
</script> </script>

@ -19,45 +19,49 @@
<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-form-item> </el-form-item>
<el-form-item prop="fullReductionMoney" v-show="form.serviceConditions===0" :prop="form.serviceConditions===0?'fullReductionMoney':''"> <el-form-item v-if="form.serviceConditions===0" prop="fullReductionMoney">
<amount-input ref="fullReductionMoney" @amount="handleAmount" name="fullReductionMoney" placeholder="满减金额(满多少可以减)"></amount-input> <amount-input ref="fullReductionMoney" @amount="handleAmount" name="fullReductionMoney" placeholder="满减金额(满多少可以减)"></amount-input>
</el-form-item> </el-form-item>
<el-form-item label="适用门店" prop="suitableStore"> <el-form-item label="适用门店" prop="suitableStore">
<el-input v-model.trim="form.suitableStore" placeholder="优惠券适用的门店"></el-input> <el-radio v-model="form.suitableStore" :label="0"></el-radio>
<el-radio v-model="form.suitableStore" :label="1"></el-radio>
</el-form-item>
<el-form-item v-if="form.suitableStore===1" prop="useStoreList">
<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-input v-model.trim="form.suitableProject" placeholder="优惠券适用的项目"></el-input> <el-radio v-model="form.suitableProject" :label="0"></el-radio>
<el-radio v-model="form.suitableProject" :label="1"></el-radio>
</el-form-item>
<el-form-item v-if="form.suitableProject===1" prop="projectList">
<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 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-form-item> </el-form-item>
<el-form-item v-show="form.indateType===0" :prop="form.indateType===0?'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>
<el-input v-model.trim="form.endDay" placeholder="生效后多少天内有效"></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item v-show="form.indateType===0" :prop="form.indateType===0?'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-show="form.indateType===1" :prop="form.indateType===1?'startDate':''"> <el-form-item v-if="form.indateType===1" prop="startDate">
<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">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<!-- <el-form-item v-show="form.indateType===1" :prop="form.indateType===1?'endDay':''">
<el-date-picker v-model="form.endDay" type="date" placeholder="截止日期" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item> -->
<el-form-item label="分享提成规则" prop="shareCommissionRules"> <el-form-item label="分享提成规则" prop="shareCommissionRules">
<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-form-item> </el-form-item>
<el-form-item v-show="form.shareCommissionRules===0" :prop="form.shareCommissionRules===0?'fixedAmount':''"> <el-form-item v-if="form.shareCommissionRules===0" prop="fixedAmount">
<amount-input ref="fixedAmount" @amount="handleAmount" name="fixedAmount" placeholder="固定提成(元)"></amount-input> <amount-input ref="fixedAmount" @amount="handleAmount" name="fixedAmount" placeholder="固定提成(元)"></amount-input>
</el-form-item> </el-form-item>
<el-form-item v-show="form.shareCommissionRules===1" :prop="form.shareCommissionRules===1?'orderCommission':''"> <el-form-item v-if="form.shareCommissionRules===1" prop="orderCommission">
<amount-input ref="orderCommission" @amount="handleAmount" name="orderCommission" placeholder="单据金额抽成(%)"></amount-input> <amount-input ref="orderCommission" @amount="handleAmount" name="orderCommission" placeholder="单据金额抽成(%)"></amount-input>
</el-form-item> </el-form-item>
<el-form-item label="活动图片" prop="imageUrl"> <el-form-item label="活动图片" prop="imageUrl">
<active-img @active-img="handleImage"></active-img> <active-img ref="activeImg" @active-img="handleImage"></active-img>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-col> </el-col>
@ -76,7 +80,7 @@
<script> <script>
import AmountInput from '@/components/AmountInput/index' import AmountInput from '@/components/AmountInput/index'
import ActiveImg from './activeImg.vue' import ActiveImg from './activeImg'
export default { export default {
name: 'Form', name: 'Form',
components: { AmountInput, ActiveImg }, components: { AmountInput, ActiveImg },
@ -98,15 +102,8 @@ export default {
couponType: [ couponType: [
{ required: true, message: '请选择优惠方式', trigger: ['blur', 'change'] }, { required: true, message: '请选择优惠方式', trigger: ['blur', 'change'] },
], ],
fullReductionMoney: [ fullReductionMoney: [
{ required: true, message: '请输入满减金额', trigger: 'blur' }, { required: true, message: '请输入满减金额', trigger: 'blur' },
{
pattern: /^\d*(?:\.\d{0,2})?$/,
//pattern: /^1[3456789]\d{9}$/,
message: '最多能输入两位小数',
trigger: 'blur',
},
], ],
suitableStore: [ suitableStore: [
{ required: true, message: '请选择适用门店', trigger: ['blur', 'change'] }, { required: true, message: '请选择适用门店', trigger: ['blur', 'change'] },
@ -117,10 +114,16 @@ export default {
indateType: [ indateType: [
{ required: true, message: '请选择有效方式', trigger: ['blur', 'change'] }, { required: true, message: '请选择有效方式', trigger: ['blur', 'change'] },
], ],
startDay: [
{ required: true, message: '请输入多少天', trigger: 'blur' },
],
endDay: [
{ required: true, message: '请输入多少天', trigger: 'blur' },
],
shareCommissionRules: [ shareCommissionRules: [
{ required: true, message: '请选择分享提成规则', trigger: ['blur', 'change'] }, { required: true, message: '请选择分享提成规则', trigger: ['blur', 'change'] },
], ],
// imageUrl: [{ required: true, message: '', trigger: ['blur', 'change'] }], imageUrl: [{ required: true, message: '请上传活动图片', trigger: ['blur', 'change'] }],
}, },
} }
}, },
@ -138,9 +141,16 @@ export default {
}, },
// //
resetForm() { resetForm() {
this.$refs.fullReductionMoney.reset() let form = Object.assign({}, this.form);
this.$refs.fixedAmount.reset() if (form.serviceConditions === 0) {
this.$refs.orderCommission.reset() 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')
}, },
@ -148,7 +158,7 @@ export default {
// //
handleImage(file) { handleImage(file) {
let form = Object.assign({}, this.form); let form = Object.assign({}, this.form);
form.file = file form.multipartFile = file
this.form = Object.assign({}, form); this.form = Object.assign({}, form);
}, },
// //
@ -157,6 +167,10 @@ export default {
form[name] = amount form[name] = amount
this.form = Object.assign({}, form) this.form = Object.assign({}, form)
}, },
//
handleClear() {
this.$refs.activeImg.handleClear()
}
}, },
} }
</script> </script>

@ -23,13 +23,14 @@
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24"> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
<div class="box"> <div class="box">
<el-button type="warning" @click="handleLast" size="medium">上一步</el-button> <el-button type="warning" @click="handleLast" size="medium">上一步</el-button>
<el-button type="primary" @click="handleNext" size="medium">提交</el-button> <el-button type="primary" @click="handleSubmit" size="medium">提交</el-button>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
</template> </template>
<script> <script>
import { doAdd } from "@/api/discount-coupon/issue.js";
export default { export default {
data() { data() {
return { return {
@ -51,8 +52,19 @@ export default {
this.$emit('next', 1) this.$emit('next', 1)
}, },
// //
handleNext() { async handleSubmit() {
this.$emit('next', 3) let format = new FormData()
Object.keys(this.form).map(key => {
format.append(key, this.form[key])
})
let { code } = await doAdd(format)
if (code == '000000') {
this.$message({
message: '发布成功',
type: 'success'
});
this.$emit('next', 3)
}
}, },
}, },
} }

@ -26,78 +26,25 @@ export default {
data() { data() {
return { return {
active: 1, active: 1,
form: { form: {},
couponNum: 1,
},
rules: {
name: [
{ required: true, message: '请输入活动名称', trigger: 'blur' },
{
min: 3,
max: 5,
message: '长度在 3 到 5 个字符',
trigger: 'blur',
},
],
deductionAmount: [
{ required: true, message: '请输入抵扣金额', trigger: 'blur' },
{
pattern: /^\d*(?:\.\d{0,2})?$/,
//pattern: /^1[3456789]\d{9}$/,
message: '最多能输入两位小数',
trigger: 'blur',
},
],
couponNum: [{ required: true, message: '优惠券数量', trigger: 'blur' }],
shareAmount: [
{ required: true, message: '请输入分润', trigger: 'blur' },
{
pattern: /^\d*(?:\.\d{0,2})?$/,
//pattern: /^1[3456789]\d{9}$/,
message: '最多能输入两位小数',
trigger: 'blur',
},
],
phone: [
{ required: true, message: '请输入联系方式', trigger: 'blur' },
{ min: 11, max: 11, message: '请输入11位手机号码', trigger: 'blur' },
{
pattern: /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/,
//pattern: /^1[3456789]\d{9}$/,
message: '请输入正确的手机号码',
trigger: 'blur',
},
],
imgUrl: [{ required: true, message: '请上传活动图片', trigger: 'change' }],
region: [{ required: true, message: '请选择活动区域', trigger: 'change' }],
},
} }
}, },
methods: { methods: {
submitForm() { // /
this.$refs.form.validate((valid) => {
if (valid) {
alert('submit!')
} else {
return false
}
})
},
resetForm() {
this.$refs.deductionAmount.reset()
this.$refs.shareAmount.reset()
this.$refs.form.resetFields()
},
handleAmount(name, amount) {
let form = Object.assign({}, this.form)
form[name] = amount
this.form = Object.assign({}, form)
},
//
handleNext(active, form) { handleNext(active, form) {
this.active = active this.active = active
let activeName = active == 1 ? 'edit' : active == 2 ? 'templates' : 'complete' let activeName = active == 1 ? 'edit' : active == 2 ? 'templates' : 'complete'
this.$refs[activeName].handleData(fiorm) if (activeName == 'templates') {
this.$nextTick(function () {
this.$refs[activeName].handleData(form)
});
}
if (active === 1) {
//
this.$nextTick(function () {
this.$refs.edit.handleClear()
});
}
}, },
}, },
} }

Loading…
Cancel
Save