Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
杨炀
/
ztx_wx_gzt
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
7d0f60a6
authored
2026-08-13 15:59:22 +0800
by
lttnew
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
更新证书
1 parent
5f967e5c
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
138 additions
and
21 deletions
level/ztx/studentList.vue
level/ztx/studentList.vue
View file @
7d0f60a
...
...
@@ -10,8 +10,9 @@
<view
class=
"item"
v-for=
"n in list"
:key=
"n.id"
>
<view
class=
"w100"
>
<view
class=
"status"
>
<text
class=
"text-success"
v-if=
"n.isCert == '1' "
>
已发送
</text>
<text
class=
"text-warning"
v-else
>
未发送
</text>
<text
class=
"text-success"
v-if=
"n.isCert == '1'"
>
已发送
</text>
<text
class=
"text-warning"
v-else-if=
"n.isCert == '0'"
>
未发送
</text>
<text
class=
"text-primary"
v-else
>
生成中
</text>
</view>
<view
class=
"name"
>
{{
n
.
realName
}}
</view>
<view
class=
"date"
>
...
...
@@ -30,15 +31,36 @@
</view>
</view>
<div
class=
"func"
>
<button
@
click=
"sendCert(n)"
>
{{
[
'发送证书'
,
'更新证书'
][
n
.
isCert
]
}}
</button>
</div>
<view
class=
"func"
>
<button
:disabled=
"!(n.isCert == '0' || n.isCert == '1')"
@
click=
"sendCert(n)"
>
{{
n
.
isCert
==
'1'
?
'更新证书'
:
'发送证书'
}}
</button>
</view>
</view>
</view>
</view>
</view>
<!-- 证书操作提示弹层 -->
<uni-popup
ref=
"certPopup"
type=
"center"
:is-mask-click=
"false"
>
<view
class=
"cert-dialog"
>
<view
class=
"cert-dialog__head"
>
<uni-icons
type=
"info-filled"
size=
"24"
color=
"#FAAD14"
/>
<view
class=
"cert-dialog__title"
>
{{
popupTitle
}}
</view>
</view>
<view
class=
"cert-dialog__content"
>
{{
popupContent
}}
</view>
<view
class=
"cert-dialog__btns"
>
<view
v-if=
"!popupIsAlert"
class=
"cert-dialog__btn cert-dialog__btn--cancel"
@
click=
"onPopupCancel"
>
取消
</view>
<view
class=
"cert-dialog__btn cert-dialog__btn--sure"
@
click=
"onPopupSure"
>
{{
popupBtnText
}}
</view>
</view>
</view>
</uni-popup>
</view>
</
template
>
...
...
@@ -63,6 +85,15 @@
const
list
=
ref
([])
const
total
=
ref
(
0
)
const
userType
=
ref
(
''
)
// 证书操作提示弹层
const
certPopup
=
ref
(
null
)
const
popupTitle
=
ref
(
'提示'
)
const
popupContent
=
ref
(
''
)
const
popupIsAlert
=
ref
(
false
)
const
popupBtnText
=
ref
(
'确认'
)
let
popupSure
=
()
=>
{}
onLoad
((
option
)
=>
{
queryParams
.
value
.
examId
=
option
.
examId
queryParams
.
value
.
payId
=
option
.
payId
...
...
@@ -82,31 +113,31 @@
uni
.
hideLoading
()
})
}
function
checkCert
(
row
){
function
checkCert
(
row
)
{
return
api
.
checkPersonByPersonId
(
row
.
perId
).
then
(
res
=>
{
if
(
!
res
.
data
)
{
uni
.
showModal
({
openCertPopup
({
title
:
'提示'
,
content
:
'该学员没有照片,无法生成证书!'
,
success
:
()
=>
{}
content
:
'该学员没有照片,无法生成证书!'
,
isAlert
:
true
,
btnText
:
'知道了'
,
sure
:
()
=>
{}
})
return
Promise
.
reject
()
}
})
}
function
sendCert
(
row
)
{
let
msg
if
(
row
.
isCert
==
1
)
{
msg
=
`更新`
}
else
{
msg
=
`下发`
}
let
msg
=
row
.
isCert
==
1
?
'更新'
:
'下发'
checkCert
(
row
).
then
(()
=>
{
uni
.
showModal
({
openCertPopup
({
title
:
'提示'
,
content
:
`确定
${
msg
}${
row
.
realName
}
的证书吗`
,
success
:
function
(
res
)
{
if
(
res
.
confirm
)
{
isAlert
:
false
,
btnText
:
`确认
${
msg
}
`
,
sure
:
()
=>
{
const
params
=
[{
id
:
queryParams
.
value
.
payId
,
children
:
[{
...
...
@@ -115,18 +146,35 @@
}]
}]
api
.
submitCert2
(
params
).
then
(
res
=>
{
api
.
submitCert3
(
params
).
then
(()
=>
{
uni
.
showToast
({
title
:
`下发成功`
title
:
`
${
msg
}
成功`
})
getList
()
})
}
}
})
})
}
/** 打开自定义弹层 */
function
openCertPopup
(
opt
)
{
popupTitle
.
value
=
opt
.
title
||
'提示'
popupContent
.
value
=
opt
.
content
popupIsAlert
.
value
=
!!
opt
.
isAlert
popupBtnText
.
value
=
opt
.
btnText
||
'确认'
popupSure
=
opt
.
sure
||
(()
=>
{})
certPopup
.
value
.
open
()
}
function
onPopupCancel
()
{
certPopup
.
value
.
close
()
}
function
onPopupSure
()
{
certPopup
.
value
.
close
()
popupSure
()
}
function
handleImport
()
{
var
arr
=
[]
...
...
@@ -185,4 +233,73 @@
font-size
:
26
rpx
;
}
}
.func
button
[
disabled
]
{
opacity
:
0.4
;
color
:
#999
;
border-color
:
#ccc
;
}
/* 证书操作提示弹层 */
.cert-dialog
{
width
:
560
rpx
;
background
:
#fff
;
border-radius
:
24
rpx
;
padding
:
40
rpx
32
rpx
28
rpx
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
&__head
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
margin-bottom
:
16
rpx
;
}
&
__title
{
font-size
:
32
rpx
;
font-weight
:
600
;
color
:
#303133
;
margin-left
:
10
rpx
;
}
&
__content
{
font-size
:
28
rpx
;
color
:
#606266
;
line-height
:
1.6
;
text-align
:
center
;
margin-bottom
:
36
rpx
;
}
&
__btns
{
width
:
100%
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
}
&
__btn
{
flex
:
1
;
margin
:
0
8
rpx
;
height
:
76
rpx
;
line-height
:
76
rpx
;
text-align
:
center
;
font-size
:
28
rpx
;
border-radius
:
38
rpx
;
&--cancel
{
background
:
#f4f4f5
;
color
:
#909399
;
}
&
--sure
{
background
:
#AD181F
;
color
:
#fff
;
}
&
:active
{
opacity
:
0.85
;
}
}
}
</
style
>
...
...
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