<template>
<div>
<h1 style="margin:0;padding:10px 10px;font-size:20px;color:#333333;background-color:rgb(243,243,243);">创建满赠促销活动</h1>
<div class="lit">
<template>
<el-tabs v-model="activeName2" type="card" @tab-click="handleClick">
<el-tab-pane label="单品促销" name="first"></el-tab-pane>
<el-tab-pane label="类目促销" name="second"></el-tab-pane>
<el-tab-pane label="品牌促销" name="third"></el-tab-pane>
</el-tabs>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px" class="demo-ruleForm">
<el-form-item label="促销名称:" prop="name">
<el-input style="width:50%;" v-model="ruleForm.name"></el-input>
</el-form-item>
<el-form-item label="促销规则:" required>
<el-radio v-model="ruleForm.radio" label="1">备选项</el-radio>
<el-radio v-model="ruleForm.radio" label="2">备选项</el-radio>
</el-form-item>
<el-form-item >
<div v-if="ruleForm.radio==1" style="display:inline-block;">
满<el-input style="width:80px;margin:0 10px;" v-model="ruleForm.number"></el-input>元
</div>
<div v-else-if="ruleForm.radio==2" style="display:inline-block;">
满<el-input style="width:80px;margin:0 10px;" v-model="ruleForm.number"></el-input>件
</div>
<el-button style="margin:0 10px;" type="primary" @click="addshop">添加赠品</el-button>
</el-form-item>
<el-form-item>
<el-table
:data="this.$store.state.mad.addgoodslist"
key='aTable'
style="width: 100%">
<el-table-column
label="商品图片"
width="180">
<template slot-scope="scope">
<img :src="scope.row.dataPic" class="imagelit" alt="">
</template>
</el-table-column>
<el-table-column
label="商品编号"
prop="goodsCode"
width="180">
</el-table-column>
<el-table-column
label="商品名称"
prop="goodsName"
width="180">
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item v-if="command=='first'" label="选择货品:" required>
<el-button style="margin:0 10px;" type="primary" @click="goodssubmit">选择参加促销的货品</el-button>
<el-checkbox v-model="ruleForm.checked1">全场促销(全场促销可不指定货品)</el-checkbox>
</el-form-item>
<el-form-item v-else-if="command=='second'" label="选择类目:" required>
<el-button style="margin:0 10px;" @click="categorysubmit" type="primary">选择参加促销的类目</el-button>
<el-checkbox v-model="ruleForm.checked2">全场促销(全场促销可不指定货品)</el-checkbox>
</el-form-item>
<el-form-item v-else-if="command=='third'" label="选择品牌:" required>
<el-button style="margin:0 10px;" @click="brandsubmit" type="primary">选择参加促销的品牌</el-button>
<el-checkbox v-model="ruleForm.checked3">全场促销(全场促销可不指定货品)</el-checkbox>
</el-form-item>
<el-form-item v-if="command=='first'" label="已选择货品:" required>
<el-table
:data="this.$store.state.mad.goodslist"
key='firstTable'
style="width:800">
<el-table-column
label="商品图片"
width="180">
<template slot-scope="scope">
<img :src="scope.row.dataPic" class="imagelit" alt="">
</template>
</el-table-column>
<el-table-column
label="商品编号"
prop="goodsCode"
width="180">
</el-table-column>
<el-table-column
label="商品名称"
prop="goodseName"
width="180">
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item v-else-if="command=='second'" label="已选择类目:" required>
<div>123</div>
<template>
<el-table
:data="this.$store.state.mad.categorylist"
key='secondTable'
style="width: 100%">
<el-table-column
label="分类编号"
prop="classtreeCode"
width="180">
</el-table-column>
<el-table-column
label=""
prop=""
width="180">
</el-table-column>
<el-table-column
label="分类名称"
prop="classtreeName"
width="180">
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</template>
</el-form-item>
<el-form-item v-else-if="command=='third'" label="已选择品牌:" required>
<el-table
:data="this.$store.state.mad.brandslist"
key='thirdTable'
style="width: 100%">
<el-table-column
label="品牌编号"
prop="brandCode"
width="180">
</el-table-column>
<el-table-column
width="180">
</el-table-column>
<el-table-column
label="品牌名称"
prop="brandName"
width="180">
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item label="开始时间:" required>
<el-date-picker
v-model="ruleForm.value1"
type="datetime"
prop="date1"
placeholder="选择开始时间">
</el-date-picker>
</el-form-item>
<el-form-item label="结束时间:" required>
<el-date-picker
v-model="ruleForm.value2"
type="datetime"
prop="date2"
placeholder="选择结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="活动站点" >
<el-checkbox v-model="ruleForm.checkeds">WAP</el-checkbox>
</el-form-item>
<el-form-item label="促销描述" prop="type">
<!-- //富文本选择器 -->
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button>
<el-button @click="resetForm('ruleForm')">重置</el-button>
</el-form-item>
</el-form>
</template>
<div>
<!-- 添加赠品 -->
<addshop></addshop>
<!-- 选择货品 -->
<shoppinggoods></shoppinggoods>
<!-- 选择类目 -->
<shoppingcategory></shoppingcategory>
<!-- 选择品牌 -->
<shoppingbrand></shoppingbrand>
</div>
</div>
</div>
</template>
<script>
import shoppinggoods from "./shoppinggoods";
import shoppingcategory from "./shoppingcategory";
import shoppingbrand from "./shoppingbrand";
import addshop from "./addshop";
export default {
components: {
shoppinggoods,
shoppingbrand,
shoppingcategory,
addshop
},
data() {
return {
tableData: [{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1517 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}],
activeName2: 'first',
command:"first",
ruleForm: {
name: '',
value1:"",
value2:"",
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: '',
radio:"1",
checked1:false,
checked2:false,
checked3:false,
checkeds:true//活动站点
},
rules: {
name: [
{ required: true, message: '请输入活动名称', trigger: 'blur' },
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
],
date1: [
{ type: 'date', required: true, message: '请选择开始时间', trigger: 'change' }
],
date2: [
{ type: 'date', required: true, message: '请选择结束时间', trigger: 'change' }
],
type: [
{ type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }
],
resource: [
{ required: true, message: '请选择活动资源', trigger: 'change' }
],
desc: [
{ required: true, message: '请填写活动形式', trigger: 'blur' }
]
}
};
},
methods: {
addshop(){//添加赠品
this.$store.commit('addgoods',true);
console.log(1);
console.log(this.$store.state.mad.addgoodsdialogTableVisible);
},
handleClick(tab, event) {//头部点击切换
console.log(tab.name, event);
this.command=tab.name;
console.log("error");
},
submitForm(formName) {//立即创建
this.$refs[formName].validate((valid) => {
if (valid) {
alert('submit!');
} else {
console.log('error submit!!');
return false;
}
});
},
resetForm(formName) {//重置
this.$refs[formName].resetFields();
},
handleDelete(index, row) {//删除
console.log(index, row);
},
goodssubmit(){//打开促销货品列表
this.$store.commit('goodschange',true);
console.log(1);
console.log(this.$store.state.mad.goodsdialogTableVisible);
},
categorysubmit(){//打开促销类目列表
this.$store.commit('categorychange',true);
console.log(2);
console.log(this.$store.state.mad.categorydialogTableVisible);
},
brandsubmit(){//打开促销品牌列表
this.$store.commit('brandchange',true);
console.log(3);
console.log(this.$store.state.mad.branddialogTableVisible);
}
}
};
</script>
<style scoped>
.lit{
padding:10px;
}
.imagelit{
width:100px;
height:100px;
}
</style>
本文主要设置到多个el-table报错_self.$scopedSlots.default is not a function,此时的解决办法是设置key=""
确保每一个el-table具有唯一性<el-table key='firstTable' v-if="first"></el-table>