HTML 的内容
<el-input v-model="number" placeholder="请输入编号" style="flex:1"></el-input>
<el-checkbox v-for="city in selectData" :label="city.id" :key="city.id">
</el-checkbox>
javascript 的内容
computed: {
selectData() {
const filterKeys = Object.keys(this.filters);
return this.cities1.filter((item, index) => {
return filterKeys.every(key => {
if (key == "value1") {
if (!this.filters[key].length) {
return true;
} else {
let gidateNotified = this.allData[index].gidateNotified;
if (gidateNotified) {
let gidateNotifiedTime = new Date(gidateNotified[0] + '-' + gidateNotified[1] + '-' +
gidateNotified[2]);
if (gidateNotifiedTime >= this.filters[key][0] && gidateNotifiedTime <= this.filters[key][
1
]) {
return true;
}
}
}
} else if (key == "value2") {
if (!this.filters[key].length) {
return true;
} else {
let gidateOccurrence = this.allData[index].gidateOccurrence;
if (gidateOccurrence) {
let gidateOccurrenceTime = new Date(gidateOccurrence[0] + '-' + gidateOccurrence[1] + '-' +
gidateOccurrence[2]);
if (gidateOccurrenceTime >= this.filters[key][0] && gidateOccurrenceTime <= this.filters[key][
1
]) {
return true;
}
}
}
} else if (key == "number") {
if (!this.filters[key]) {
return true;
} else {
let internalEncode = this.allData[index].internalEncode;
let reg = new RegExp(this.filters[key], "i");
console.log(reg);
if (reg.test(internalEncode)) {
return true;
}
}
} else if (key == "number1") {
if (!this.filters[key]) {
return true;
} else {
let eightCenterCode = this.allData[index].addedCenters;
if (eightCenterCode == undefined) {
return false;
} else {
let reg = new RegExp(this.filters[key], "i");
let Exl = false;
eightCenterCode.forEach(item => {
if (reg.test(item.eightCenterCode)) {
Exl = true;
} else {
Exl = false;
}
})
if (Exl) {
return true;
}
}
}
} else if (key == "user") {
if (!this.filters[key]) {
return true;
} else {
let tenSearcherCode = this.allData[index].addedInvestigators;
if (tenSearcherCode == undefined) {
return false;
} else {
let reg = new RegExp(this.filters[key], "i");
let tip = false;
tenSearcherCode.forEach(item => {
if (reg.test(item.tenSearcherCode)) {
tip = true;
} else {
tip = false
}
})
if (tip) {
return true;
}
}
}
} else if (key == "type") {
if (!this.filters[key]) {
return true;
} else {
let gitype = this.allData[index].gitype;
if (this.filters[key] == gitype) {
return true;
}
}
} else if (key == "important") {
if (!this.filters[key]) {
return true;
} else {
let related = this.allData[index].related;
if (this.filters[key] == related) {
return true;
}
}
} else if (key == "subtypeData") {
if (!this.filters[key]) {
return true;
} else {
let SubtypeNameUserName = this.allData[index].SubtypeNameUserName;
let reg = new RegExp(this.filters[key], "i");
if (reg.test(SubtypeNameUserName)) {
return true;
}
}
} else if (key == "subjectNumber") {
if (!this.filters[key]) {
return true;
} else {
let nineSubjectsCode = this.allData[index].addedTestees;
if (nineSubjectsCode == undefined) {
return false;
} else {
let reg = new RegExp(this.filters[key], "i");
let nis = false;
nineSubjectsCode.forEach(item => {
if (reg.test(item.nineSubjectsCode)) {
nis = true;
} else {
nis = false
}
})
if (nis) {
return true;
}
}
}
} else {
return true;
}
})
})
},
watch: {
value1(n) {
this.filters.value1 = n.concat();
},
value2(n) {
this.filters.value2 = n.concat();
},
number(n) {
this.filters.number = n;
},
number1(n) {
this.filters.number1 = n;
},
user(n) {
this.filters.user = n;
},
subtypeData(n) {
this.filters.subtypeData = n;
},
subjectNumber(n) {
this.filters.subjectNumber = n;
},
type(n) {
this.filters.type = n;
},
important(n) {
this.filters.important = n;
},
},