matchInfo-projectList.vue
5.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<template>
<div class="collapsebox">
<div class="pd20">
<div class="fr mb20">
<el-input size="small" v-model="query.projectName" :prefix-icon="Search"
@change="getList" clearable/>
</div>
<el-table :data="list" border>
<el-table-column :label="language==0?'组别编号':'Event Code'" prop="code" align="center" :min-width="language==0?70:100">
</el-table-column>
<el-table-column :label="language==0?'组别名称':'Event'" min-width="150" prop="name" align="center"></el-table-column>
<el-table-column :label="language==0?'舞种':'DISCIPLINE'" width="110" prop="danceType" align="center">
</el-table-column>
<el-table-column :label="language==0?'舞种明细':'Dance Detail'" width="120" prop="danceTypeDetailStr" align="center">
<template #default="scope">
<span v-if="scope.row.danceType=='Breaking'">--</span>
<span v-else>{{scope.row.danceTypeDetailStr}}</span>
</template>
</el-table-column>
<el-table-column :label="language==0?'参赛性别':'Sex'" align="center">
<template #default="scope">
<span v-if="scope.row.playTypeStr">{{ scope.row.playTypeStr }}</span>
<span v-else>{{ scope.row.playType }}</span>
</template>
</el-table-column>
<el-table-column :label="language==0?'参赛年龄':'Age'" align="center" :min-width="isNational?120:240">
<template #default="scope">
<div v-if="isNational">
<span v-if="scope.row.ageGroup == '0'" >{{ language==0?'不限制':'Unlimited' }}</span>
<span v-if="scope.row.ageGroup == '1'" >Juvenile I</span>
<span v-if="scope.row.ageGroup == '2'" >Juvenile II</span>
<span v-if="scope.row.ageGroup == '3'" >Juv1& II (comb.)</span>
<span v-if="scope.row.ageGroup == '4'" >Junior I</span>
<span v-if="scope.row.ageGroup == '5'" >Junior II</span>
<span v-if="scope.row.ageGroup == '6'" >Juv I & II (comb.)</span>
<span v-if="scope.row.ageGroup == '7'" >
<span v-if="scope.row.danceType=='Breaking'">2006-01-01 {{ language==0?'至':'~' }} 2010-12-31</span>
<span v-else>Youth</span>
</span>
<span v-if="scope.row.ageGroup == '8'" >Under 21</span>
<span v-if="scope.row.ageGroup == '9'" >Adult</span>
<span v-if="scope.row.ageGroup == '10'" >Senior I</span>
<span v-if="scope.row.ageGroup == '11'" >Senior II</span>
<span v-if="scope.row.ageGroup == '12'" >Senior III</span>
<span v-if="scope.row.ageGroup == '13'" >Senior IV</span>
<span v-if="scope.row.ageGroup == '14'" >Senior V</span>
</div>
<div v-else>
<div>{{ scope.row.birthPeriod.replace(',',language==0?' 至 ':' to ') }}</div>
<div v-if="scope.row.birthPeriodSecond">{{scope.row.birthPeriodSecond?.replace(',',language==0?' 至 ':' to ')}}</div>
<div v-if="scope.row.birthPeriodThird">{{scope.row.birthPeriodThird?.replace(',',language==0?' 至 ':' to ')}}</div>
<div v-if="scope.row.birthPeriodFourth">{{scope.row.birthPeriodFourth?.replace(',',language==0?' 至 ':' to ')}}</div>
<div v-if="scope.row.birthPeriodFifth">{{scope.row.birthPeriodFifth?.replace(',',language==0?' 至 ':' to ')}}</div>
<div v-if="scope.row.birthPeriodSixth">{{scope.row.birthPeriodSixth?.replace(',',language==0?' 至 ':' to ')}}</div>
</div>
</template>
</el-table-column>
<el-table-column :label="language==0?'服务费':'Registration Fee'" width="160" align="center">
<template #default="scope">
<div class="text-primary">{{ language==0?'¥':'€' }}{{ scope.row.serviceFee }}</div>
</template>
</el-table-column>
</el-table>
<PaginationPc
v-show="total>0"
:total="total"
v-model:page="query.pageNum"
v-model:limit="query.pageSize"
@pagination="getList"
/>
</div>
<!-- <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="list.length == 0" description=""/>-->
</div>
</template>
<script setup>
import {Search} from "@element-plus/icons-vue";
import {useStorage} from "@vueuse/core/index"
import {getProjectByCptId} from "@/apiPc/match";
import PaginationPc from "@/components/PaginationPc";
const language= useStorage('language',0)
const list = ref([])
const total = ref(0)
const query = ref({
projectName:'',
pageSize:10,
pageNum:1
})
const props = defineProps({
// list: {
// type: Array,
// required: true,
// default:[]
// },
matchId: {
type: String,
required: false
},
isNational: {
type: Boolean,
required: false,
default: false
},
})
getList()
function getList() {
getProjectByCptId(props.matchId,query.value).then(res=>{
list.value = res.rows
total.value = res.total
})
}
</script>
<style scoped lang="scss">
.table{width: 100%;border-left: 1px solid #e1e1e1;border-top:1px solid #e1e1e1;
th{background: #eee;padding: 6px 10px;text-transform: uppercase;
border-right: 1px solid #e1e1e1;
border-bottom:1px solid #e1e1e1;
font-size: 15px;
}
td{padding: 6px 10px;border-right: 1px solid #e1e1e1;font-size: 15px;
border-bottom:1px solid #e1e1e1;vertical-align: middle;text-align: center;
span{margin-right: 10px}
span::after{content: ','}
span:last-child::after{content: ''}
}
}
</style>