多租户商城-商户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

125 lines
3.4 KiB

<template>
<el-dialog :close-on-click-modal="false" title="新增渠道优惠券" width="80%" :visible.sync="visible" @close="closeModal">
<el-form ref="form" :model="form" size="small" label-width="120px">
<coupon-select ref="couponSelect" @couponChange="couponChange($event)" />
<product-select ref="productSelect" />
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="doCancel">{{ $t('common.cancel') }}</el-button>
<el-button type="primary" @click="doSubmit">确认</el-button>
</div>
</el-dialog>
</template>
<script>
import {
add
} from '@/api/channelCoupons'
import ProductSelect from '@/views/marketing/channelCoupons/components/productSelect.vue'
import CouponSelect from '@/views/marketing/channelCoupons/components/couponSelect.vue'
import Cookies from 'js-cookie'
import {getShopId} from "@@/utils/auth.js"
export default {
name: 'AdForm',
components: { CouponSelect, ProductSelect },
data() {
return {
loading: false,
visible: false,
channelList: [],
form: {}
}
},
methods: {
// 关闭弹窗
closeModal() {
this.$refs.couponSelect.tableData = []
this.$refs.couponSelect.params = {
search: '',
page: 1,
pageSize: 10,
shopId: undefined,
shelveState: 1
}
this.$refs.productSelect.tableData = []
this.$refs.productSelect.visible = false
this.$refs.productSelect.params = {
search: '',
page: 1,
pageSize: 10,
shopId: undefined,
shelveState: 1
}
this.$refs.couponSelect.getTableData()
},
// 打开弹出窗
show(row) {
/*this.form = {
shopId: parseInt(getShopId())
}*/
this.visible = true
},
// 取消
doCancel() {
this.visible = false
},
doSubmit() {
this.$refs['form'].validate((valid) => {
if (valid) {
this.loading = true
this.doAdd()
}
})
},
doAdd() {
this.$refs['form'].validate((valid) => {
if (valid) {
this.form.shopCouponId = this.$refs.couponSelect.tableRadio.shopCouponId
this.form.productId = this.$refs.productSelect.tableRadio.productId
if (!this.form.productId) {
this.$message({
message: '请查询并选择商品',
type: 'warning'
})
return false
}
if (!this.form.shopCouponId) {
this.$message({
message: '请查询并选择优惠券',
type: 'warning'
})
return false
}
add(this.form).then(res => {
this.loading = false
this.resetForm()
this.$emit('reset')
this.$message({
message: this.$t('common.addsuccessful'),
type: 'success'
})
}).catch(err => {
console.log(err.response.data.message)
this.loading = false
})
}
})
},
couponChange(val) {
this.$refs.productSelect.getTableData(val)
},
resetForm() {
this.visible = false
this.$refs.productSelect.params.search = ''
this.$refs.productSelect.data = []
this.$refs.couponSelect.params.search = ''
this.$refs.couponSelect.data = []
}
}
}
</script>
<style lang='scss' scoped>
//@import url(); 引入公共css类
@import url("../../../styles/elDialog.scss");
</style>