|
@@ -592,10 +592,10 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column v-for="(item, index) in chapters" :key="index" :label="item.json.title"
|
|
|
- :min-width="item.type == 5 ? 200 : 150" align="left" :filters="item.type == 1 ? item.nameFilters : (item.type == 6 || item.type == 11)? item.nameFilters : null"
|
|
|
- :filter-method="item.type == 1 ? (value, row) => { return filterName(value, row, index) } : (item.type == 6 || item.type == 11)?(value, row) => { return filterCourse(value, row, index)}:null"
|
|
|
- :filter-placement="item.type == 1 || item.type ==6|| item.type ==11 ? filterPlacement : null">
|
|
|
-
|
|
|
+ :min-width="item.type == 5 ? 200 : 150" align="left"
|
|
|
+ :filters="item.type == 1 ? item.nameFilters : (item.type == 6 || item.type == 11)? item.nameFilters : item.type==8?getTimeFilterText(item,index):null"
|
|
|
+ :filter-method="item.type == 1 ? (value, row) => { return filterName(value, row, index) } : (item.type == 6 || item.type == 11)?(value, row) => { return filterCourse(value, row, index)}:item.type==8?(value,row)=>{return filterTime(value,row,index)}:null"
|
|
|
+ :filter-placement="item.type == 8 ||item.type == 1 || item.type ==6|| item.type ==11 ? filterPlacement : null">
|
|
|
<template slot-scope="scope">
|
|
|
<div v-if="scope.row.array[index].type == 1" style="display: flex; flex-wrap: wrap;">
|
|
|
<span class="answer_type" v-for="(answer2, index2) in scope.row.array[index].json.answer2"
|
|
@@ -1122,6 +1122,32 @@ export default {
|
|
|
_result = _sum ? (_result/_sum).toFixed(2) : 0
|
|
|
return _result ? _result : 0;
|
|
|
}
|
|
|
+ },
|
|
|
+ getTimeFilterText(){
|
|
|
+ return (item,index)=>{
|
|
|
+ let _result = [];
|
|
|
+ if(item.type==8){
|
|
|
+ let array = []
|
|
|
+ this.worksArray.forEach(i=>{
|
|
|
+ if(i.array[index].type == 8){
|
|
|
+ let _data = i.array[index].json.answer2;
|
|
|
+ if(!array.map(r=>r.value).includes(_data)){
|
|
|
+ array.push({text:_data,value:_data})
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ array.sort((a, b) =>{
|
|
|
+
|
|
|
+ const dateA = new Date((a.value.replace(/年|月/g, '-')).replace(/日/g,""));
|
|
|
+ const dateB = new Date((b.value.replace(/年|月/g, '-')).replace(/日/g,""));
|
|
|
+ return dateB - dateA; // 从小到大排序
|
|
|
+ });
|
|
|
+
|
|
|
+ console.log("👉排序:",array)
|
|
|
+ _result=array;
|
|
|
+ }
|
|
|
+ return _result;
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
@@ -1191,6 +1217,10 @@ export default {
|
|
|
filterCourse(value, row, index) {
|
|
|
return row.array[index].json.answer2.indexOf(value) != -1;
|
|
|
},
|
|
|
+ //筛选日期
|
|
|
+ filterTime(value, row, index){
|
|
|
+ return row.array[index].json.answer2.indexOf(value)!=-1;
|
|
|
+ },
|
|
|
wordClickHandler(name, value) {
|
|
|
// this.$notify({
|
|
|
// title: name,
|
|
@@ -1681,6 +1711,7 @@ export default {
|
|
|
item.nameFilters.push({ text: item.json.array[i].option, value: item.json.array[i].option })
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
array.push(item)
|
|
|
return item;
|
|
|
});
|