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