feature_0521
root 6 years ago
parent e02a68db10
commit 42505c050c

@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<Form ref="formValidate" :model="formValidate" :rules="ruleValidate" :label-width="80"> <Form ref="formValidate" :model="formValidate" :label-width="80">
<Row> <Row>
<i-col span="20" offset="2"> <i-col span="20" offset="2">
<FormItem label="活动名称" prop="activityName"> <FormItem label="活动名称" prop="activityName">
@ -8,17 +8,18 @@
</FormItem> </FormItem>
<div class="dateClass"> <div class="dateClass">
<Form-item label="活动时间" prop="activityStartDate"> <Form-item label="活动时间" prop="activityStartDate">
<Date-picker @on-change="storeStartDate" type="date" v-model="formValidate.activityStartDate" format="yyyy-MM-dd" placeholder="请选择开始日期" style="width: 200px"></Date-picker> <Date-picker @on-change="storeStartDate" type="date" v-model="userData.activityStartDate" format="yyyy-MM-dd" placeholder="请选择开始日期" style="width: 200px"></Date-picker>
</Form-item> </Form-item>
<div class="text"></div> <div class="text"></div>
<Form-item label="" prop="activityEndDate"> <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> <Date-picker @on-change="storeEndDate" type="date" v-model="userData.activityEndDate" format="yyyy-MM-dd" placeholder="请选择结束日期" style="width: 200px"></Date-picker>
</Form-item> </Form-item>
</div> </div>
<FormItem label="活动类型" prop="activityStyle"> <FormItem label="活动类型" prop="activityStyle">
<div v-for="(item, index) in formValidate.activityStyle" :key="index"> <div v-for="(item, index) in formValidate.activityStyle" :key="index">
<i-input class="inputClass" disabled type="text" v-model="item.name" placeholder=""></i-input> <i-input class="inputClass" disabled type="text" v-model="item.name" placeholder=""></i-input>
<i-input class="inputClass" style="margin-left: 20px" disabled type="text" v-model="item.defaultVal" placeholder=""></i-input> <i-input class="inputClass" style="margin-left: 20px" disabled type="text" v-model="item.defaultVal"
placeholder=""></i-input>
</div> </div>
</FormItem> </FormItem>
</i-col> </i-col>
@ -27,57 +28,62 @@
</div> </div>
</template> </template>
<script> <script>
import store from "../../store/index" import store from "../../store/index"
export default { export default {
name: "useActivityStepOne", name: "useActivityStepOne",
data() { data() {
return { return {
formValidate: { formValidate: {
activityName: '', activityName: '',
activityStartDate: '', activityStartDate: '',
activityEndDate: '', activityEndDate: '',
activityStyle: [], activityStyle: [],
},
flag: store.getters.useModal,
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: { flag: store.getters.useModal,
displayUseModal: Boolean ruleValidate: {
}, activityName: [
watch: { {required: true, message: '活动名称不能为空', trigger: 'blur'}
displayUseModal() { ],
this.formValidate.activityName = store.getters.useData.name activityStartDate: [
this.formValidate.activityStyle = store.getters.useData.inputActivityList {required: true, type: 'date', message: '开始时间不能为空', trigger: 'change'}
}, ],
}, activityEndDate: [
mounted() { {required: true, type: 'date', message: '结束时间不能为空', trigger: 'change'}
this.formValidate.activityName = store.getters.useData.name ],
this.formValidate.activityStyle = store.getters.useData.inputActivityList activityStyle: [
}, {required: true, message: '', trigger: 'blur'}
methods: { ],
storeStartDate(date) {
store.getters.useData.activityStartDate = date
},
storeEndDate(date) {
store.getters.useData.activityEndDate = date
}
} }
}
},
props: {
displayUseModal: Boolean
},
watch: {
displayUseModal() {
this.formValidate.activityName = store.getters.useData.name
this.formValidate.activityStyle = store.getters.useData.inputActivityList
},
},
computed: {
userData() {
return store.getters.useData;
}
},
mounted() {
this.formValidate.activityName = store.getters.useData.name
this.formValidate.activityStyle = store.getters.useData.inputActivityList
},
methods: {
storeStartDate(date) {
store.getters.useData.activityStartDate = date
},
storeEndDate(date) {
store.getters.useData.activityEndDate = date
}
} }
}
</script> </script>
<style scoped> <style scoped>

@ -6,8 +6,9 @@
</div> </div>
<div class="companyTable"> <div class="companyTable">
<div class="companyListClass"> <div class="companyListClass">
<div :class="isSelect[index] == true ? 'tagColorClass' : ''" class="tagClass" @click="selectTag(item,index)" v-for="(item, index) in shopList" :key="index" >{{item.label}}</div> <div :class="selected[i] === true ? 'tagColorClass' : ''" class="tagClass" @click="selectTag(v)" v-for="(v, i) in store" :key="i" >{{v.name}}</div>
</div> </div>
<Spin size="large" fix v-if="loading"></Spin>
</div> </div>
</div> </div>
</template> </template>
@ -18,7 +19,9 @@ export default {
name: "useActivityStepThree", name: "useActivityStepThree",
data() { data() {
return { return {
loading: false,
allSelect: false, allSelect: false,
selected: [],
shopList: [], shopList: [],
isSelect:[], isSelect:[],
selectValue: [], selectValue: [],
@ -28,64 +31,54 @@ export default {
mounted() { mounted() {
this.getShopInfo() this.getShopInfo()
}, },
computed: {
userData() {
return store.getters.userData || {};
},
store() {
return store.getters.store || [];
},
},
methods: { methods: {
getShopInfo() { getShopInfo() {
let that = this const me = this;
let data = { let data = {
userId: JSON.parse(sessionStorage.getItem("loginInfo")).userId userId: JSON.parse(sessionStorage.getItem("loginInfo")).userId
} };
ActivityManager.getShop(data, function (data) { this.loading = true;
that.shopList = [] ActivityManager.getShop(data, function (data) {
that.shopListData = data.data.results store.commit('set_store', data.data.results || []);
data.data.results.forEach(element => { me.updateTag();
that.isSelect.push('') this.loading = false;
that.selectValue.push('') })
that.shopList.push({ },
label: element.name, updateTag() {
value: element.id let map = {};
}) const values = store.getters.useData.selectShopValue || [];
}); values.forEach(row => {
}) map[row.id] = true;
});
let list = [];
this.store.forEach((row, i) => {
list[i] = !!map[row.id];
});
this.selected = list;
}, },
isSelectAllCompany() { isSelectAllCompany() {
if(this.allSelect === true) {
this.isSelect.forEach((element,index) => {
this.isSelect.splice(index,1,true)
})
this.shopList.forEach((element,index) => {
this.selectValue.splice(index,1,element.id)
})
} else {
this.isSelect.forEach((element,index) => {
this.isSelect.splice(index,1,'')
})
this.shopList.forEach((element,index) => {
this.selectValue.splice(index,1,'')
})
}
}, },
selectTag(value,index) { selectTag(v) {
this.isSelect.splice(index,1,!this.isSelect[index]) let list = store.getters.useData.selectShopValue || [];
if(this.isSelect[index] === true) { let exist = -1;
this.selectValue.splice(index, 1, value.value) list.forEach((row, i) => {
} else if(this.isSelect[index] === false) { if (row.id === v.id) exist = i;
this.selectValue.splice(index, 1, '') });
} if (exist >= 0) {
let selectShopValue = [] list.splice(exist, 1);
this.isSelect.forEach((element,index) => { } else {
if(element === true) { list.push(v);
selectShopValue.push(this.selectValue[index])
}
})
let selectShopValueObject = []
for(let j=0; j< selectShopValue.length; j++) {
for(let i = 0; i< this.shopList.length; i++){
if(this.shopList[i].value === selectShopValue[j]) {
selectShopValueObject.push(this.shopListData[i])
}
}
} }
store.getters.useData.selectShopValue = selectShopValueObject store.getters.useData.selectShopValue = list;
this.updateTag();
} }
} }
} }

@ -6,8 +6,9 @@
</div> </div>
<div class="companyTable"> <div class="companyTable">
<div class="companyListClass"> <div class="companyListClass">
<div :class="isSelect[index] == true ? 'tagColorClass' : ''" class="tagClass" @click="selectTag(item,index)" v-for="(item, index) in companyList" :key="index" >{{item.label}}</div> <div :class="selected[i] === true ? 'tagColorClass' : ''" class="tagClass" @click="selectTag(v)" v-for="(v, i) in company" :key="i">{{v.name}}</div>
</div> </div>
<Spin size="large" fix v-if="loading"></Spin>
</div> </div>
</div> </div>
</template> </template>
@ -18,74 +19,68 @@ export default {
name: "useActivityStepTwo", name: "useActivityStepTwo",
data() { data() {
return { return {
loading: false,
allSelect: false, allSelect: false,
companyList: [], selected: [],
isSelect:[],
selectValue: [],
companyListdata:[]
} }
}, },
mounted() { mounted() {
this.getCompanyInfo() this.getCompanyInfo();
this.updateTag();
},
computed: {
userData() {
return store.getters.userData || {};
},
company() {
return store.getters.company || [];
},
}, },
methods: { methods: {
getCompanyInfo() { getCompanyInfo() {
let that = this const me = this;
let data = { this.loading = true;
userId: JSON.parse(sessionStorage.getItem("loginInfo")).userId if (this.company.length === 0) {
} let data = {
ActivityManager.getCompany(data, function (data) { userId: JSON.parse(sessionStorage.getItem("loginInfo")).userId
that.companyList = [] };
that.companyListdata = data.data.results ActivityManager.getCompany(data, function (data) {
data.data.results.forEach(element => { store.commit('set_company', data.data.results || []);
that.isSelect.push('') me.updateTag();
that.selectValue.push('') this.loading = false;
that.companyList.push({
label: element.name,
value: element.id
})
});
})
},
isSelectAllCompany() {
if(this.allSelect === true) {
this.isSelect.forEach((element,index) => {
this.isSelect.splice(index,1,true)
})
this.companyList.forEach((element,index) => {
this.selectValue.splice(index,1,element.id)
})
} else {
this.isSelect.forEach((element,index) => {
this.isSelect.splice(index,1,'')
})
this.companyList.forEach((element,index) => {
this.selectValue.splice(index,1,'')
}) })
} }
}, },
selectTag(value, index) { isSelectAllCompany(e) {
this.isSelect.splice(index,1,!this.isSelect[index]) this.allSelect = e;
if(this.isSelect[index] === true) { store.getters.useData.selectCompanyValue = e ? this.company : [];
this.selectValue.splice(index, 1, value.value) this.updateTag();
} else if(this.isSelect[index] === false) { },
this.selectValue.splice(index, 1, '') updateTag() {
} let map = {};
let selectCompanyValue = [] const values = store.getters.useData.selectCompanyValue || [];
this.isSelect.forEach((element,index) => { values.forEach(row => {
if(element === true) { map[row.id] = true;
selectCompanyValue.push(this.selectValue[index]) });
} let list = [];
}) this.company.forEach((row, i) => {
let selectCompanyValueObject = [] list[i] = !!map[row.id];
for(let j=0; j< selectCompanyValue.length; j++) { });
for(let i = 0; i< this.companyList.length; i++){ this.selected = list;
if(this.companyList[i].value === selectCompanyValue[j]) { },
selectCompanyValueObject.push(this.companyListdata[i]) selectTag(v) {
} let list = store.getters.useData.selectCompanyValue || [];
} let exist = -1;
list.forEach((row, i) => {
if (row.id === v.id) exist = i;
});
if (exist >= 0) {
list.splice(exist, 1);
} else {
list.push(v);
} }
store.getters.useData.selectCompanyValue = selectCompanyValueObject store.getters.useData.selectCompanyValue = list;
this.updateTag();
} }
} }
} }

@ -16,6 +16,12 @@ const activity = {
}, },
[types.SET_ID](state, id) { [types.SET_ID](state, id) {
state.id = id state.id = id
},
set_store(state, store) {
state.store = store;
},
set_company(state, company) {
state.company = company;
} }
}, },
actions: {}, actions: {},
@ -28,6 +34,12 @@ const activity = {
}, },
id: state => { id: state => {
return state.id return state.id
},
store: state => {
return state.store;
},
company: state => {
return state.company;
} }
} }

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save