Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
jijin
/
dance-pc
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
1c9d32e9
authored
2026-07-09 16:42:29 +0800
by
zhangmeng
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
成绩查询
1 parent
f53d9b64
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
287 additions
and
26 deletions
src/viewsPc/components/performance.vue
src/viewsPc/home.vue
src/viewsPc/index.vue
src/viewsPc/index_en.vue
src/viewsPc/components/performance.vue
0 → 100644
View file @
1c9d32e
<
template
>
<el-dialog
v-model=
"show"
:close-on-click-modal=
"false"
:title=
"language==0?'成绩查询':'RESULT QUERY'"
align-center
append-to-body
center
class=
"pcloginpop"
close-icon=
"CircleClose"
destroy-on-close
style=
"min-width:350px;max-width: 500px"
>
<div
v-loading=
"loading"
style=
"min-height: 500px;height: 50vh;"
>
<div>
<div
class=
"flex mt30"
>
<el-input
v-model=
"query"
:placeholder=
"language==0?'输入项目编号查询':'Enter project name or code to Query'"
clearable
@
blur=
"search"
@
empty=
"search"
@
enter=
"search"
/>
<el-button
class=
"btn-lineG"
style=
"color: #fff"
@
click=
"search"
>
{{
language
==
0
?
'查询'
:
'Search'
}}
</el-button>
</div>
<div
v-if=
"list.length>0"
class=
"mt30 rollY"
>
<div
v-for=
"val in list"
:key=
"val.id"
>
<el-image
v-for=
"obj in val.resultUrl"
:key=
"obj"
:src=
"fillImgUrl(obj)"
:preview-teleported=
"true"
:preview-src-list=
"[fillImgUrl(obj)]"
class=
"resultUrlImag"
/>
</div>
</div>
<div
v-else
>
<el-empty
/>
</div>
</div>
</div>
<div
v-if=
"list.length>0"
class=
"text-center"
>
{{
language
==
0
?
'下滑查看更多'
:
'Scroll down to view more'
}}
</div>
</el-dialog>
</
template
>
<
script
setup
>
import
{
ref
}
from
'vue'
import
{
ElMessage
}
from
'element-plus'
import
{
getqySchedule
}
from
'@/apiPc/common'
import
{
useStorage
}
from
'@vueuse/core/index'
import
{
fillImgUrl
}
from
'/@/utils/ruoyi'
const
language
=
useStorage
(
'language'
,
0
)
const
show
=
ref
(
false
)
const
list
=
ref
([])
const
loading
=
ref
(
false
)
const
groupList
=
ref
([])
const
teamlist
=
ref
([])
const
query
=
ref
(
''
)
const
type
=
ref
(
''
)
const
cptId
=
ref
()
const
search
=
()
=>
{
if
(
!
query
.
value
)
{
ElMessage
.
warning
(
language
.
value
==
0
?
'请输入项目编号'
:
'Please enter the project number'
)
return
}
getqySchedule
({
projectName
:
query
.
value
,
cptId
:
cptId
.
value
}).
then
(
res
=>
{
if
(
!
res
.
data
||
res
.
data
.
length
==
0
)
{
list
.
value
=
[]
// 提示 '未找到结果,请重新查询'
ElMessage
.
warning
(
language
.
value
==
0
?
'未找到结果,请重新查询'
:
'No result'
)
return
}
list
.
value
=
res
.
data
for
(
const
val
of
list
.
value
)
{
if
(
val
.
resultUrl
)
val
.
resultUrl
=
val
.
resultUrl
.
split
(
','
)
}
}).
catch
(
e
=>
{
loading
.
value
=
false
})
}
const
open
=
(
param
)
=>
{
cptId
.
value
=
param
.
cptId
show
.
value
=
true
list
.
value
=
[]
teamlist
.
value
=
[]
groupList
.
value
=
[]
query
.
value
=
''
type
.
value
=
''
loading
.
value
=
false
// search()
}
defineExpose
({
open
})
</
script
>
<
style
lang=
"scss"
scoped
>
.tname
{
font-size
:
14px
;
font-weight
:
bold
;
position
:
relative
;
top
:
-8px
}
.tip
{
font-size
:
12px
;
margin
:
4px
0
0
;
display
:
inline-block
;
}
.rItem
{
max-height
:
130px
;
cursor
:
pointer
;
border
:
1px
solid
#e1e1e1
;
border-radius
:
4px
;
max-width
:
350px
;
text-align
:
center
;
line-height
:
130px
;
padding
:
1px
;
font-size
:
30px
;
color
:
#fff
;
margin
:
20px
auto
;
background
:
linear-gradient
(
90deg
,
#8623FC
,
#453DEA
);
&:hover
{
background
:
linear-gradient
(
90deg
,
#453DEA
,
#8623FC
);
box-shadow
:
0
4px
10px
#453DEA
;
border
:
none
;
}
}
.nowteamItem
{
width
:
100%
;
border
:
1px
solid
#c8c5ff
;
margin-top
:
20px
;
position
:
relative
;
border-radius
:
4px
;
padding
:
0
0
20px
;
background
:
#FFFFFF
;
box-sizing
:
border-box
;
.info
{
.nowName
{
font-family
:
"DIN Alternate"
;
font-size
:
60px
;
font-weight
:
bold
;
overflow
:
hidden
;
display
:
block
;
margin
:
10px
;
}
label
{
text-align
:
right
;
font-size
:
14px
;
padding-left
:
7%
}
div
{
font-size
:
14px
;
color
:
#333
;
margin
:
6px
0
0
;
}
}
}
.temell
{
.nowteamItem
{
padding
:
10px
;
margin
:
0
0
10px
;
.nowName
{
font-size
:
15px
;
font-weight
:
bold
;
margin-right
:
10px
}
.text-bold
{
font-weight
:
bold
;
}
.fontsize14
{
font-size
:
14px
;
}
}
}
.groupList
{
max-height
:
70vh
;
overflow
:
auto
;
border
:
1px
solid
#e1e1e1
;
margin-top
:
10px
;
li
{
padding
:
10px
;
border-bottom
:
1px
solid
#e1e1e1
;
cursor
:
pointer
;
}
}
.searchBox
{
height
:
50vh
;
//
overflow-y
:
auto
;
}
.rollY
{
height
:
45vh
;
overflow-y
:
auto
;
}
.resultUrlImag
{
width
:
100%
;
margin-bottom
:
10px
;
}
</
style
>
src/viewsPc/home.vue
View file @
1c9d32e
...
...
@@ -2,9 +2,12 @@
<div>
<index-Ch
v-if=
"language ==0"
@
backNumber=
"openBackNumber"
@
pickup=
"openPickup"
@
pop=
"openMaster"
@
schSearch=
"openSchSearch"
@
reserveSearch=
"bookingSearchOpen"
@
schSearch=
"openSchSearch"
@
reserveSearch=
"bookingSearchOpen"
@
performance=
"openPerformance"
/>
<index-En
v-else
@
backNumber=
"openBackNumber"
@
pickup=
"openPickup"
@
pop=
"openMaster"
@
reserveSearch=
"bookingSearchOpen"
@
schSearch=
"openSchSearch"
@
performance=
"openPerformance"
/>
<index-En
v-else
@
backNumber=
"openBackNumber"
@
pickup=
"openPickup"
@
pop=
"openMaster"
@
reserveSearch=
"bookingSearchOpen"
@
schSearch=
"openSchSearch"
/>
<div
v-if=
"showgg"
class=
"fixed_gg"
>
<!--天气-->
<el-icon
class=
"cclose"
@
click
.
stop=
"showgg=false"
>
...
...
@@ -81,6 +84,8 @@
<back-number
ref=
"backNumberRef"
/>
<sch-search
ref=
"schSearchRef"
/>
<bookingSearch
ref=
"bookingSearchRef"
/>
<performance
ref=
"performanceRef"
/>
</div>
</
template
>
...
...
@@ -93,6 +98,7 @@ import DialogMasterClass from '@/viewsPc/components/masterClass'
import
PickUp
from
'@/viewsPc/components/pickup'
import
BackNumber
from
'@/viewsPc/components/querybackNumber'
import
SchSearch
from
'@/viewsPc/components/schSearch'
import
performance
from
'@/viewsPc/components/performance'
import
bookingSearch
from
'@/viewsPc/components/bookingSearch'
import
{
useStorage
}
from
'@vueuse/core/index'
import
{
ref
}
from
'vue'
...
...
@@ -154,7 +160,15 @@ const openSchSearch = (params) => {
}
proxy
.
$refs
[
'schSearchRef'
].
open
(
obj
)
}
const
bookingSearchOpen
=
(
params
)
=>
{
const
openPerformance
=
(
params
)
=>
{
const
obj
=
{
title
:
'成绩查询'
,
cptId
:
params
.
cptId
}
proxy
.
$refs
[
'performanceRef'
].
open
(
obj
)
}
const
bookingSearchOpen
=
(
params
)
=>
{
console
.
log
(
params
)
const
obj
=
{
title
:
'日程查询'
,
...
...
src/viewsPc/index.vue
View file @
1c9d32e
This diff is collapsed.
Click to expand it.
src/viewsPc/index_en.vue
View file @
1c9d32e
<
template
>
<div>
<div
class=
"banner"
>
<el-carousel
:autoplay=
"false"
:interval=
"2000"
arrow=
"hover"
class=
"forPc"
height=
"450px"
@
change=
"carouselChange"
>
<el-carousel
:autoplay=
"false"
:interval=
"2000"
arrow=
"hover"
class=
"forPc"
height=
"450px"
@
change=
"carouselChange"
>
<el-carousel-item
v-for=
"n in maList"
:key=
"n.id"
style=
"height: 450px;"
>
<div
class=
"bannerItem"
>
<div
class=
"h100"
@
click
.
stop=
"goMatch(n)"
>
...
...
@@ -42,7 +44,8 @@
</div>
<div
style=
"position: absolute;bottom:22%;right:5%;z-index: 999;display: flex;width: 580px;justify-content: space-around"
>
style=
"position: absolute;bottom:22%;right:5%;z-index: 999;display: flex;width: 580px;justify-content: space-around"
>
<a
class=
" btn2"
style=
"z-index: 999999"
@
click
.
stop=
"liveQrcodeShowBtn"
>
<!-- 赛事直播-->
Live Qrcode
...
...
@@ -96,7 +99,8 @@
</div>
<div
style=
"position: absolute;bottom:20px;z-index: 999;display: flex;width: 380px;justify-content: space-around"
>
style=
"position: absolute;bottom:20px;z-index: 999;display: flex;width: 380px;justify-content: space-around"
>
<a
class=
" btn2-phone"
style=
"z-index: 999999"
@
click
.
stop=
"liveQrcodeShowBtn"
>
Live Qrcode
...
...
@@ -134,11 +138,10 @@
<Edit />
</el-icon>
</a> -->
<br/>
<a
class=
"zn-btn btn-q"
@
click=
"backNumberSearch"
>
Competition
Number
</a>
<a
class=
"zn-btn btn-q"
@
click=
"schSearchSearch"
>
Schedule
Inquiry
</a>
<br>
<a
class=
"zn-btn btn-q"
@
click=
"backNumberSearch"
>
Competition Number
</a>
<a
class=
"zn-btn btn-q"
@
click=
"schSearchSearch"
>
Schedule Inquiry
</a>
<a
class=
"zn-btn btn-q"
@
click=
"performanceSearch"
>
RESULT QUERY
</a>
</div>
...
...
@@ -299,8 +302,10 @@
<el-col
:lg=
"16"
>
<div
class=
"swiperPic forPx"
>
<swiper
:autoplay=
"true"
:loop=
"true"
:modules=
"modules"
:navigation=
"navigationPic"
:slides-per-view=
"3"
:space-between=
"20"
class=
"swiper-wrapper"
>
<swiper
:autoplay=
"true"
:loop=
"true"
:modules=
"modules"
:navigation=
"navigationPic"
:slides-per-view=
"3"
:space-between=
"20"
class=
"swiper-wrapper"
>
<swiper-slide
v-for=
"(n, i) in picList"
:key=
"i"
>
<div
class=
"picbox"
@
click=
"goNewsDetail(n)"
>
<img
:src=
"fillImgUrl_webSite(n.picUrl)"
>
...
...
@@ -341,7 +346,10 @@
<h3
class=
"leftboderTT"
>
INTRODUCTION OF ADJUDICATORS
</h3>
</div>
<el-row
:gutter=
"20"
>
<el-col
v-for=
"n in personList"
:key=
"n.name"
:lg=
"4"
:sm=
"8"
:xl=
"4"
:xs=
"12"
>
<el-col
v-for=
"n in personList"
:key=
"n.name"
:lg=
"4"
:sm=
"8"
:xl=
"4"
:xs=
"12"
>
<div
class=
"teacher"
>
<div
class=
"imgbox"
><img
:src=
"n.src"
></div>
<h3
class=
"esp"
>
{{ n.name }}
</h3>
...
...
@@ -411,24 +419,30 @@
<!-- 邀请函-->
<div
class=
"fixed_gg_l yaoQing"
>
<img
src=
"@/assets/logo/Invitation_e.png"
@
click=
"applyInvitation"
v-if=
"matchData.invitationSw == '1'
"
>
<img
v-if=
"matchData.invitationSw == '1'"
src=
"@/assets/logo/Invitation_e.png"
@
click=
"applyInvitation
"
>
<div
style=
"padding-left: 7px;"
>
<el-image
v-if=
"clubImage && matchData.visaSw == '1'"
:preview-src-list=
"[clubImage]"
:src=
"clubImage"
fit=
"cover"
preview-teleported
style=
"width: 124px"
/>
<el-image
v-if=
"clubImage && matchData.visaSw == '1'"
:preview-src-list=
"[clubImage]"
:src=
"clubImage"
fit=
"cover"
preview-teleported
style=
"width: 124px"
/>
</div>
</div>
<!-- 群聊-->
<div
v-if=
"matchData.chatQrcode"
class=
"fixed_gg_l club"
>
<el-image
:preview-src-list=
"[fillImgUrl(matchData.chatQrcode)]"
:src=
"fillImgUrl(matchData.chatQrcode)"
fit=
"cover"
preview-teleported
style=
"width: 120px;height: 120px"
/>
<el-image
:preview-src-list=
"[fillImgUrl(matchData.chatQrcode)]"
:src=
"fillImgUrl(matchData.chatQrcode)"
fit=
"cover"
preview-teleported
style=
"width: 120px;height: 120px"
/>
</div>
<affix-invitation
ref=
"dialogInvitationRef"
/>
<el-dialog
v-model=
"liveQrcodeShow"
:title=
"language == 0 ? '赛事直播' : 'Live QR Code'"
width=
"350px"
>
<div
style=
"display: flex;justify-content: space-between"
>
<el-image
v-if=
"matchData.liveQrcode"
:src=
"fillImgUrl(matchData.liveQrcode)"
fit=
"cover"
style=
"max-width: 350px;"
/>
<el-image
v-if=
"matchData.liveQrcode"
:src=
"fillImgUrl(matchData.liveQrcode)"
fit=
"cover"
style=
"max-width: 350px;"
/>
</div>
</el-dialog>
...
...
@@ -464,7 +478,7 @@ const navigationPic = ref({
})
const
router
=
useRouter
()
const
{
proxy
}
=
getCurrentInstance
()
const
emit
=
defineEmits
([
'pop'
,
'backNumber'
,
'schSearch'
,
'reserveSearch'
])
const
emit
=
defineEmits
([
'pop'
,
'backNumber'
,
'schSearch'
,
'reserveSearch'
,
'performance'
])
const
time
=
ref
(
0
)
const
etime
=
ref
(
0
)
const
liveQrcodeShow
=
ref
(
false
)
...
...
@@ -503,8 +517,8 @@ const reserveSearch = () => {
var
params
=
{
cptId
:
matchData
.
value
.
id
}
emit
(
'reserveSearch'
,
params
)
;
// 向父组件发射事件+参数
}
;
emit
(
'reserveSearch'
,
params
)
// 向父组件发射事件+参数
}
function
handleRowClick
(
row
)
{
console
.
log
(
row
)
...
...
@@ -626,7 +640,6 @@ const goGuide = () => {
const
liveQrcodeShowBtn
=
()
=>
{
if
(
!
matchData
.
value
.
liveQrcode
)
{
ElMessage
.
warning
(
'There is currently no live broadcast of the event'
)
return
}
else
{
liveQrcodeShow
.
value
=
true
}
...
...
@@ -650,6 +663,15 @@ const schSearchSearch = () => {
}
emit
(
'schSearch'
,
params
)
}
const
performanceSearch
=
()
=>
{
const
params
=
{
cptId
:
matchData
.
value
.
id
}
console
.
log
(
1111
)
emit
(
'performance'
,
params
)
}
const
handlePickup
=
()
=>
{
const
params
=
{
cptId
:
matchData
.
value
.
id
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment