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
8630af21
authored
2023-12-19 16:52:56 +0800
by
杨炀
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
no message
1 parent
9a050e3a
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
174 additions
and
109 deletions
common/login.js
level/ztx/cert.vue
level/ztx/examList.vue
level/ztx/studentList.vue
pages/exam/payment.vue
pages/exam/score.vue
pages/index/index.vue
pages/rank/scoreApproval.vue
personalVip/addVip.vue
personalVip/mobilizeDetail.vue
common/login.js
View file @
8630af2
...
...
@@ -86,6 +86,7 @@ function getInfo() {
uni
.
setStorageSync
(
'userName'
,
user
.
userName
)
// uni.setStorageSync('perId', personInfo.perId||-1)
app
.
globalData
.
deptType
=
user
.
dept
.
deptType
app
.
globalData
.
genFlag
=
user
.
dept
.
genFlag
switch
(
user
.
dept
.
deptType
)
{
case
'1'
:
// 中跆协
app
.
globalData
.
userType
=
'1'
...
...
level/ztx/cert.vue
View file @
8630af2
...
...
@@ -70,6 +70,16 @@
const
userType
=
ref
(
''
)
onLoad
((
option
)
=>
{
queryParams
.
value
.
type
=
option
.
type
if
(
option
.
type
==
2
){
uni
.
setNavigationBarTitle
({
title
:
'段位考试详情'
})
}
if
(
option
.
type
==
3
){
uni
.
setNavigationBarTitle
({
title
:
'越段考试详情'
})
}
})
onShow
(()
=>
{
if
(
app
.
globalData
.
isLogin
)
{
...
...
level/ztx/examList.vue
View file @
8630af2
...
...
@@ -2,7 +2,7 @@
<view>
<!-- 级位证书发布 -->
<view
class=
"appList"
>
<view
class=
"appItem"
v-for=
"item in infoList"
>
<view
class=
"appItem"
v-for=
"item in infoList"
:key=
"item.examId"
>
<view
class=
"status"
@
click=
"goDetail(item)"
>
<text
:class=
"
{
'text-warning':item.isCert=='0',
...
...
@@ -15,15 +15,15 @@
<view
class=
"name mt0"
@
click=
"goDetail(item)"
>
{{
item
.
name
}}
</view>
<view
class=
"pp esp"
>
考级考官:
{{
item
.
examinerNames
}}
</view>
<view
class=
"flexbox"
@
click=
"goDetail(item)"
>
<
view>
<
!--
<view>
申请单位
<view>
{{
item
.
memberName
}}
</view>
</view>
</view>
-->
<view>
已发/待发证书
<view>
{{
item
.
hasCerts
}}
/
<text
class=
"text-danger"
>
{{
item
.
noCerts
}}
</text></view>
</view>
<view
>
<view
class=
"w50"
>
考生数/通过数
<view>
{{
item
.
totalNum
}}
/
<text
class=
"text-danger"
>
{{
item
.
pass
}}
</text></view>
</view>
...
...
@@ -58,7 +58,7 @@
// pageNum: 1,
// pageSize: 10
})
const
statusArr
=
[
'未发放'
,
'部分发放'
,
'已发放'
]
const
statusArr
=
[
'未发放'
,
'部分发放'
,
'已发放'
]
const
current
=
ref
()
const
infoList
=
ref
([])
const
total
=
ref
(
0
)
...
...
@@ -67,6 +67,16 @@ const statusArr = ['未发放', '部分发放', '已发放']
onLoad
((
option
)
=>
{
queryParams
.
value
.
payId
=
option
.
payId
queryParams
.
value
.
type
=
option
.
type
if
(
option
.
type
==
2
)
{
uni
.
setNavigationBarTitle
({
title
:
'段位考试详情'
})
}
if
(
option
.
type
==
3
)
{
uni
.
setNavigationBarTitle
({
title
:
'越段考试详情'
})
}
})
onShow
(()
=>
{
if
(
app
.
globalData
.
isLogin
)
{
...
...
@@ -98,7 +108,8 @@ const statusArr = ['未发放', '部分发放', '已发放']
function
goDetail
(
item
)
{
// const form = encodeURIComponent(JSON.stringify(item))
let
path
=
`/level/ztx/studentList?type=
${
queryParams
.
value
.
type
}
&examId=
${
item
.
examId
}
&payId=
${
queryParams
.
value
.
payId
}
`
let
path
=
`/level/ztx/studentList?type=
${
queryParams
.
value
.
type
}
&examId=
${
item
.
examId
}
&payId=
${
queryParams
.
value
.
payId
}
`
uni
.
navigateTo
({
url
:
path
});
...
...
@@ -107,11 +118,14 @@ const statusArr = ['未发放', '部分发放', '已发放']
function
send
(
row
)
{
uni
.
showModal
({
title
:
'提示'
,
content
:
`确定
生成
${
row
.
name
}
的证书吗`
,
content
:
`确定
一键下发
${
row
.
name
}
的证书`
,
success
:
function
(
res
)
{
if
(
res
.
confirm
)
{
api
.
submitCert
([{
id
:
row
.
payId
id
:
queryParams
.
value
.
payId
,
children
:
[{
id
:
row
.
examId
}]
}]).
then
(
res
=>
{
uni
.
showToast
({
title
:
`下发成功`
...
...
level/ztx/studentList.vue
View file @
8630af2
...
...
@@ -5,9 +5,9 @@
v-model=
"queryParams.name"
placeholder=
"搜索姓名"
@
blur=
"getList()"
@
clear=
"getList()"
>
</uni-easyinput>
</view>
<view
class=
"indexboxre"
>
<view
class=
"indexboxre"
style=
"height: calc(100vh - 180rpx)"
>
<view
class=
"userlist"
>
<view
class=
"item"
v-for=
"n in list"
>
<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>
...
...
pages/exam/payment.vue
View file @
8630af2
...
...
@@ -59,8 +59,8 @@
</uni-forms-item>
<uni-forms-item
label=
"缴费凭证"
required
>
<uni-file-picker
v-model=
"selectFileValue"
limit=
"1"
file-mediatype=
"all"
file-extname=
"png,jpg,jpeg,pdf,zip"
@
select=
"selectFile"
@
progress=
"fileProgress"
<uni-file-picker
v-model=
"selectFileValue"
limit=
"1"
file-mediatype=
"all"
file-extname=
"png,jpg,jpeg,pdf,zip"
@
select=
"selectFile"
@
progress=
"fileProgress"
@
delete=
"delSupplementFile(index)"
></uni-file-picker>
</uni-forms-item>
<uni-forms-item
label=
"备注"
>
...
...
@@ -103,6 +103,16 @@
onLoad
((
option
)
=>
{
queryParams
.
value
.
type
=
option
.
type
console
.
log
(
option
.
type
)
if
(
option
.
type
==
2
)
{
uni
.
setNavigationBarTitle
({
title
:
'段位考试缴费单'
})
}
if
(
option
.
type
==
3
)
{
uni
.
setNavigationBarTitle
({
title
:
'越段考试缴费单'
})
}
if
(
app
.
globalData
.
isLogin
)
{
init
()
}
else
{
...
...
@@ -131,6 +141,7 @@
})
})
}
function
handleUpdate
(
item
)
{
form
.
value
.
payId
=
item
.
payId
if
(
item
.
payCert
)
{
...
...
@@ -215,7 +226,8 @@
margin
:
50
rpx
0
30
rpx
;
}
}
:deep
(
.file-picker__progress
)
{
:deep
(
.file-picker__progress
)
{
opacity
:
0
;
}
</
style
>
\ No newline at end of file
...
...
pages/exam/score.vue
View file @
8630af2
<
template
>
<view>
<!--
<uni-segmented-control
class=
"whitebg"
:current=
"current"
:values=
"navs"
@
clickItem=
"onClickItem"
<!--
<uni-segmented-control
class=
"whitebg"
:current=
"current"
:values=
"navs"
@
clickItem=
"onClickItem"
styleType=
"text"
activeColor=
"#AD181F"
></uni-segmented-control>
-->
<!-- 成绩录入 -->
<!-- 成绩录入 -->
<view
class=
"appList"
>
<view
class=
"appItem"
v-for=
"item in infoList"
:key=
"item.recordId"
>
<view
class=
"appItem"
v-for=
"item in infoList"
:key=
"item.recordId"
>
<view
@
click=
"goDetail(item)"
>
<view
class=
"status"
>
<view
class=
"status"
>
<text
:class=
"
{
'text-primary':item.scoreStatus=='0',
'text-success':item.scoreStatus=='2',
...
...
@@ -17,9 +17,10 @@
</view>
<view
class=
"date"
v-if=
"item.status!='0'&&item.submitTime"
>
提交时间:
{{
item
.
submitTime
}}
</view>
<view
class=
"name mt0"
>
{{
item
.
name
}}
</view>
<view
class=
"pp esp"
>
考段日期:
{{
item
.
startTime
?.
substring
(
0
,
16
)
}}
至
{{
item
.
endTime
?.
substring
(
0
,
16
)
}}
</view>
<view
class=
"flexbox"
>
<view
class=
"name mt0"
>
{{
item
.
name
}}
</view>
<view
class=
"pp esp"
>
考段日期:
{{
item
.
startTime
?.
substring
(
0
,
16
)
}}
至
{{
item
.
endTime
?.
substring
(
0
,
16
)
}}
</view>
<view
class=
"flexbox"
>
<view>
申请日期
<view>
{{
item
.
applyTime
?.
substring
(
0
,
10
)
}}
</view>
...
...
@@ -34,7 +35,7 @@
</view>
</view>
</view>
<!--
<view
class=
"func"
v-if=
"(item.scoreStatus=='0'||item.scoreStatus=='3' || item.scoreStatus=='4')&& item.rankStatus == '1'"
>
<!--
<view
class=
"func"
v-if=
"(item.scoreStatus=='0'||item.scoreStatus=='3' || item.scoreStatus=='4')&& item.rankStatus == '1'"
>
<button
@
click=
"scoreEdit(item)"
>
成绩维护
</button>
</view>
-->
</view>
...
...
@@ -47,28 +48,43 @@
</
template
>
<
script
setup
>
import
*
as
examApi
from
'@/common/api_exam.js'
import
_
from
'lodash'
import
{
ref
}
from
'vue'
import
{
onLoad
,
onShow
}
from
'@dcloudio/uni-app'
const
app
=
getApp
();
const
queryParams
=
ref
({
import
*
as
examApi
from
'@/common/api_exam.js'
import
_
from
'lodash'
import
{
ref
}
from
'vue'
import
{
onLoad
,
onShow
}
from
'@dcloudio/uni-app'
const
app
=
getApp
();
const
queryParams
=
ref
({
status
:
'0'
,
rankStatus
:
'1'
})
const
current
=
ref
()
const
navs
=
ref
([
'审核中'
,
'审核通过'
,
'审核拒绝'
])
const
statusArr
=
[
'审批中'
,
'审批通过'
,
'审批拒绝'
,
'审批撤回'
]
const
deptType
=
ref
(
''
)
const
infoList
=
ref
([])
const
total
=
ref
(
0
)
onLoad
((
options
)
=>
{
queryParams
.
value
.
type
=
options
.
type
})
onShow
(()
=>
{
rankStatus
:
'1'
})
const
current
=
ref
()
const
navs
=
ref
([
'审核中'
,
'审核通过'
,
'审核拒绝'
])
const
statusArr
=
[
'审批中'
,
'审批通过'
,
'审批拒绝'
,
'审批撤回'
]
const
deptType
=
ref
(
''
)
const
infoList
=
ref
([])
const
total
=
ref
(
0
)
onLoad
((
options
)
=>
{
queryParams
.
value
.
type
=
options
.
type
if
(
options
.
type
==
2
)
{
uni
.
setNavigationBarTitle
({
title
:
'段位成绩录入'
})
}
if
(
options
.
type
==
3
)
{
uni
.
setNavigationBarTitle
({
title
:
'越段成绩录入'
})
}
})
onShow
(()
=>
{
if
(
app
.
globalData
.
isLogin
)
{
init
()
}
else
{
...
...
@@ -76,25 +92,25 @@ onShow(() => {
init
()
};
}
})
})
function
init
(){
function
init
()
{
uni
.
showLoading
({
title
:
'加载中'
})
deptType
.
value
=
app
.
globalData
.
deptType
getList
()
}
}
function
onClickItem
(
e
)
{
function
onClickItem
(
e
)
{
uni
.
showLoading
({
title
:
'加载中'
})
queryParams
.
value
.
status
=
e
.
currentIndex
getList
()
}
}
function
getList
()
{
function
getList
()
{
examApi
.
getRankScoreList
(
queryParams
.
value
).
then
(
res
=>
{
infoList
.
value
=
res
.
rows
...
...
@@ -102,9 +118,9 @@ function getList() {
uni
.
hideLoading
()
})
}
}
function
scoreEdit
(
item
)
{
function
scoreEdit
(
item
)
{
console
.
log
(
item
.
sourceData
)
var
obj
=
{
flag
:
flag
,
...
...
@@ -144,9 +160,9 @@ function scoreEdit(item) {
}
})
}
}
}
function
doApproval
(
obj
)
{
function
doApproval
(
obj
)
{
examApi
.
doMergeFlows
(
obj
).
then
((
res
)
=>
{
uni
.
showToast
({
title
:
'操作成功'
,
...
...
@@ -154,15 +170,14 @@ function doApproval(obj) {
})
getList
()
})
}
}
function
goDetail
(
item
)
{
function
goDetail
(
item
)
{
let
path
=
`/pages/rank/applyDetail?examId=
${
item
.
examId
}
`
uni
.
navigateTo
({
url
:
path
});
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
pages/index/index.vue
View file @
8630af2
This diff is collapsed.
Click to expand it.
pages/rank/scoreApproval.vue
View file @
8630af2
...
...
@@ -5,9 +5,9 @@
<!-- 段位考试审核 -->
<view
class=
"appList"
>
<view
class=
"appItem"
v-for=
"item in infoList"
:key=
"item.recordId"
>
<view
class=
"appItem"
v-for=
"item in infoList"
:key=
"item.recordId"
>
<view
@
click=
"goDetail(item)"
>
<view
class=
"status"
>
<view
class=
"status"
>
<text
:class=
"
{
'text-primary':item.auditStatus=='0',
'text-success':item.auditStatus=='1',
...
...
@@ -18,10 +18,12 @@
<view
class=
"date"
v-if=
"item.status!='0'&&item.submitTime"
>
<uni-icons
type=
"calendar-filled"
size=
"16"
color=
"#AD181F"
></uni-icons>
提交时间:
{{
item
.
submitTime
}}
</view>
<view
class=
"name mt10"
><text
class=
"dot"
></text>
{{
item
.
name
}}
</view>
<view
class=
"pp esp"
>
考段日期:
{{
item
.
startTime
.
substring
(
0
,
16
)
}}
至
{{
item
.
endTime
.
substring
(
0
,
16
)
}}
</view>
<view
class=
"flexbox"
>
提交时间:
{{
item
.
submitTime
}}
</view>
<view
class=
"name mt10"
><text
class=
"dot"
></text>
{{
item
.
name
}}
</view>
<view
class=
"pp esp"
>
考段日期:
{{
item
.
startTime
.
substring
(
0
,
16
)
}}
至
{{
item
.
endTime
.
substring
(
0
,
16
)
}}
</view>
<view
class=
"flexbox"
>
<view>
申请日期
<view>
{{
item
.
applyTime
.
substring
(
0
,
10
)
}}
</view>
...
...
@@ -52,28 +54,43 @@
</
template
>
<
script
setup
>
import
*
as
examApi
from
'@/common/api_exam.js'
import
_
from
'lodash'
import
{
ref
}
from
'vue'
import
{
onLoad
,
onShow
}
from
'@dcloudio/uni-app'
const
app
=
getApp
();
const
queryParams
=
ref
({
import
*
as
examApi
from
'@/common/api_exam.js'
import
_
from
'lodash'
import
{
ref
}
from
'vue'
import
{
onLoad
,
onShow
}
from
'@dcloudio/uni-app'
const
app
=
getApp
();
const
queryParams
=
ref
({
status
:
'0'
,
rankStatus
:
'1'
})
const
current
=
ref
()
const
navs
=
ref
([
'审核中'
,
'审核通过'
,
'审核拒绝'
])
const
statusArr
=
[
'审批中'
,
'审批通过'
,
'审批拒绝'
,
'审批撤回'
]
const
deptType
=
ref
(
''
)
const
infoList
=
ref
([])
const
total
=
ref
(
0
)
onLoad
((
options
)
=>
{
queryParams
.
value
.
type
=
options
.
type
})
onShow
(()
=>
{
rankStatus
:
'1'
})
const
current
=
ref
()
const
navs
=
ref
([
'审核中'
,
'审核通过'
,
'审核拒绝'
])
const
statusArr
=
[
'审批中'
,
'审批通过'
,
'审批拒绝'
,
'审批撤回'
]
const
deptType
=
ref
(
''
)
const
infoList
=
ref
([])
const
total
=
ref
(
0
)
onLoad
((
options
)
=>
{
queryParams
.
value
.
type
=
options
.
type
if
(
options
.
type
==
2
)
{
uni
.
setNavigationBarTitle
({
title
:
'段位考试审核'
})
}
if
(
options
.
type
==
3
)
{
uni
.
setNavigationBarTitle
({
title
:
'越段考试审核'
})
}
})
onShow
(()
=>
{
if
(
app
.
globalData
.
isLogin
)
{
init
()
}
else
{
...
...
@@ -81,25 +98,25 @@ onShow(() => {
init
()
};
}
})
})
function
init
(){
function
init
()
{
uni
.
showLoading
({
title
:
'加载中'
})
deptType
.
value
=
app
.
globalData
.
deptType
getList
()
}
}
function
onClickItem
(
e
)
{
function
onClickItem
(
e
)
{
uni
.
showLoading
({
title
:
'加载中'
})
queryParams
.
value
.
status
=
e
.
currentIndex
getList
()
}
}
function
getList
()
{
function
getList
()
{
examApi
.
getVerityList
(
queryParams
.
value
).
then
(
res
=>
{
uni
.
hideLoading
()
const
list
=
[]
...
...
@@ -123,9 +140,9 @@ function getList() {
infoList
.
value
=
list
total
.
value
=
res
.
total
})
}
}
function
audit
(
item
,
flag
)
{
function
audit
(
item
,
flag
)
{
console
.
log
(
item
.
sourceData
)
var
obj
=
{
flag
:
flag
,
...
...
@@ -165,9 +182,9 @@ function audit(item, flag) {
}
})
}
}
}
function
doApproval
(
obj
)
{
function
doApproval
(
obj
)
{
examApi
.
doMergeFlows
(
obj
).
then
((
res
)
=>
{
uni
.
showToast
({
title
:
'操作成功'
,
...
...
@@ -175,15 +192,14 @@ function doApproval(obj) {
})
getList
()
})
}
}
function
goDetail
(
item
)
{
function
goDetail
(
item
)
{
let
path
=
`/pages/rank/applyDetail?examId=
${
item
.
examId
}
`
uni
.
navigateTo
({
url
:
path
});
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
personalVip/addVip.vue
View file @
8630af2
...
...
@@ -155,7 +155,7 @@
value
:
'3'
,
text
:
"外国护照"
},
{
value
:
'
5
'
,
value
:
'
4
'
,
text
:
'户口本'
}
])
...
...
@@ -189,6 +189,7 @@
onLoad
((
option
)
=>
{
if
(
option
.
tab
==
'1'
)
{
current
.
value
=
1
baseFormData
.
value
.
idcType
=
option
.
idcType
||
0
}
// console.log(current.value,option.tab)
getRegionsList
()
...
...
@@ -289,7 +290,7 @@
baseFormData
.
value
=
{
photo
:
''
,
sex
:
'0'
,
idcType
:
'0'
,
idcType
:
baseFormData
.
value
.
idcType
,
perType
:
'1'
,
};
}
...
...
@@ -452,7 +453,7 @@
})
return
}
if
(
baseFormData
.
value
.
idcType
==
1
||
baseFormData
.
value
.
idcType
==
3
||
baseFormData
.
value
.
idcType
==
4
)
{
if
(
baseFormData
.
value
.
idcType
==
3
)
{
//转换为大写并判断位数12
baseFormData
.
value
.
idcCode
=
baseFormData
.
value
.
idcCode
.
toUpperCase
()
// var regex = /^[a-zA-Z]/
...
...
@@ -491,15 +492,9 @@
icon
:
'none'
})
uni
.
redirectTo
({
url
:
`/personalVip/addVip?tab=
${
current
.
value
}
`
url
:
`/personalVip/addVip?tab=
${
current
.
value
}
&idcType=
${
baseFormData
.
value
.
idcType
}
`
});
}).
catch
(()
=>
{
let
msg
=
'您已注册该会员,请不要重复注册!'
uni
.
showToast
({
title
:
msg
,
icon
:
'none'
})
})
}
}
...
...
personalVip/mobilizeDetail.vue
View file @
8630af2
...
...
@@ -10,9 +10,11 @@
<view
class=
"colorful"
>
{{
n
.
perName
?.
slice
(
0
,
1
)
}}
</view>
</view>
<view>
<!--
{{
form
}}
-->
<view
class=
"name"
>
{{
n
.
perName
}}
</view>
<view
class=
"date"
>
申请调入一级协会
{{
n
.
sourceShenDeptName
||
'--'
}}
</view>
<view
class=
"date"
>
申请调入单位
{{
n
.
targetDeptName
||
'--'
}}
</view>
<view
class=
"date"
v-if=
"deptType==1"
>
原一级协会
<text
class=
"text-primary"
>
{{
n
.
sourceShenDeptName
||
'--'
}}
</text></view>
<view
class=
"date"
>
申请调入一级协会
<text
class=
"text-primary"
>
{{
form
.
shenDeptName
||
'--'
}}
</text></view>
<view
class=
"date"
>
申请调入单位
<text
class=
"text-primary"
>
{{
n
.
targetDeptName
||
'--'
}}
</text></view>
</view>
</view>
</view>
...
...
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