You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bsdgy-front/src/pages/activity/useActivityStepOne.vue

147 lines
3.6 KiB
Vue

6 years ago
<template>
<div>
5 years ago
<Form
ref="formValidate"
:model="formValidate"
:rules="ruleValidate"
:label-width="80"
>
6 years ago
<Row>
6 years ago
<i-col span="20" offset="2">
5 years ago
<FormItem label="活动名称" prop="name">
<div>
<i-input
disabled
type="text"
v-model="schedule.name"
placeholder
></i-input>
</div>
6 years ago
</FormItem>
<div class="dateClass">
<Form-item label="活动时间" prop="activityStartDate">
5 years ago
<Date-picker
@on-change="storeStartDate"
type="date"
v-model="formValidate.activityStartDate"
format="yyyy-MM-dd"
placeholder="请选择开始日期"
style="width: 200px"
></Date-picker>
6 years ago
</Form-item>
<div class="text"></div>
5 years ago
<Form-item label prop="activityEndDate">
<Date-picker
@on-change="storeEndDate"
type="date"
v-model="formValidate.activityEndDate"
format="yyyy-MM-dd"
placeholder="请选择结束日期"
style="width: 200px"
></Date-picker>
6 years ago
</Form-item>
</div>
<FormItem label="活动类型" prop="activityStyle">
5 years ago
<RadioGroup v-model="formValidate.activityStyle" vertical>
<Radio
:border="true"
v-for="(item, index) in schedule.params"
:key="index"
:label="item.id"
style="margin-bottom: 10px"
>
<Icon type="social-apple"></Icon>
<span
>{{
item.name
}}&nbsp;&nbsp;&nbsp;&nbsp;----&nbsp;&nbsp;&nbsp;&nbsp;{{
item.key
}}</span
>
</Radio>
</RadioGroup>
6 years ago
</FormItem>
</i-col>
</Row>
</Form>
</div>
</template>
<script>
5 years ago
import store from "../../store/index";
import { mapGetters } from "vuex";
6 years ago
5 years ago
export default {
name: "useActivityStepOne",
data() {
return {
formValidate: store.getters.useData,
ruleValidate: {
activityName: [
{ required: true, message: "活动名称不能为空", trigger: "blur" },
],
activityStartDate: [
{
required: true,
type: "date",
message: "开始时间不能为空",
trigger: "change",
},
],
activityEndDate: [
{
required: true,
type: "date",
message: "结束时间不能为空",
trigger: "change",
},
],
activityStyle: [{ required: true, message: "", trigger: "blur" }],
},
};
},
props: {
schedule: Object,
},
created() {
this.formValidate = store.getters.useData;
},
watch: {
["formValidate.activityStyle"]() {
let _this = this;
let type = {};
this.schedule.params.forEach((item) => {
if (item.id == _this.formValidate.activityStyle) {
type = item;
6 years ago
}
5 years ago
});
store.getters.useData.params = [type];
},
},
methods: {
storeStartDate(date) {
store.getters.useData.beginTime = date;
},
storeEndDate(date) {
store.getters.useData.endTime = date;
},
},
};
6 years ago
</script>
6 years ago
<style scoped>
5 years ago
.dateClass {
display: flex;
}
6 years ago
5 years ago
.text {
position: relative;
left: 100px;
}
6 years ago
5 years ago
.inputClass {
width: 45%;
margin-bottom: 10px;
margin-right: 20px;
}
</style>