@@ -8,6 +8,7 @@ import Column from "primevue/column";
88import InputText from " primevue/inputtext" ;
99import ProgressSpinner from " primevue/progressspinner" ;
1010import Calendar from " primevue/calendar" ;
11+ import TriStateCheckbox from " primevue/tristatecheckbox" ;
1112import TreeSelect from " primevue/treeselect" ;
1213import type { TreeNode } from " primevue/tree" ;
1314import { FilterMatchMode , FilterOperator } from " primevue/api" ;
@@ -61,6 +62,7 @@ const problemPrefixLength = computed(() =>
6162const filters = ref ({
6263 global: { value: null , matchMode: FilterMatchMode .CONTAINS },
6364 name: { operator: FilterOperator .OR , constraints: [] },
65+ rated: { value: null , matchMode: FilterMatchMode .EQUALS },
6466 startTime: {
6567 operator: FilterOperator .AND ,
6668 constraints: [
@@ -202,6 +204,21 @@ function applySelectedCategories() {
202204 />
203205 </template >
204206 </Column >
207+ <Column field =" rated" header =" Rated" data-type =" boolean" >
208+ <template #body =" { data } " >
209+ <span
210+ class =" pi"
211+ :class =" data.rated ? 'pi-check-circle' : 'pi-times-circle'"
212+ />
213+ </template >
214+ <template #filter =" { filterModel } " >
215+ <label for =" rated-filter" class =" font-bold" >Rated </label >
216+ <TriStateCheckbox
217+ v-model =" filterModel.value"
218+ input-id =" rated-filter"
219+ />
220+ </template >
221+ </Column >
205222 <Column
206223 field =" name"
207224 header =" 比赛名称"
0 commit comments