matchInfo-projectList.vue
4.63 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
<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">
</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?100: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'" >Youth</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>{{scope.row.birthPeriodSecond?.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>