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
3a51a1cd
authored
2026-04-15 09:25:50 +0800
by
张猛
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
团体支付考点
1 parent
dbdf4c4c
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
2033 additions
and
1488 deletions
common/api.js
common/api_exam.js
common/login.js
common/pay.js
common/request.js
config.js
level/ztx/examinationAudit.vue
level/ztx/examinationDetail.vue
level/ztx/examinationVerification.vue
login/login.vue
login/loginC.vue
myCenter/auth.vue
myCenter/chooseExaminer.vue
myCenter/examPointApply.vue
myCenter/reviewList.vue
common/api.js
View file @
3a51a1c
...
...
@@ -3,130 +3,143 @@ import config from '@/config.js'
// 激活
export
function
active
(
data
)
{
return
request
({
url
:
`/member/info/active/
${
data
.
memId
}
`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/member/info/active/
${
data
.
memId
}
`
,
method
:
'post'
,
params
:
data
})
}
export
function
getBlack
()
{
return
request
({
url
:
'/member/info/check'
,
method
:
'get'
})
return
request
({
url
:
'/member/info/check'
,
method
:
'get'
})
}
export
function
commitPaymentVoucherYJ
(
data
)
{
return
request
({
url
:
'/person/paymentDocYj/commitPaymentVoucher'
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
'/person/paymentDocYj/commitPaymentVoucher'
,
method
:
'post'
,
params
:
data
})
}
export
function
editMyMemberCertifiedInfo
(
data
)
{
return
request
({
url
:
'/system/dept/editMyMemberCertifiedInfo'
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
'/system/dept/editMyMemberCertifiedInfo'
,
method
:
'post'
,
params
:
data
})
}
export
function
addMergeToRange
(
params
)
{
return
request
({
url
:
`/person/infoMerge/addMergeToRange/
${
params
.
perIds
}
?perId=
${
params
.
perIds
}
&rangeIdStr=
${
params
.
rangeIdStr
}
`
,
method
:
'post'
,
params
:
params
})
return
request
({
url
:
`/person/infoMerge/addMergeToRange/
${
params
.
perIds
}
?perId=
${
params
.
perIds
}
&rangeIdStr=
${
params
.
rangeIdStr
}
`
,
method
:
'post'
,
params
:
params
})
}
export
function
mergerVipAudit
(
params
)
{
console
.
log
(
params
)
return
request
({
url
:
`/person/infoMergeRange/audit/
${
params
.
ids
}
?flag=
${
params
.
flag
}
&reason=
${
params
.
reason
}
`
,
method
:
'post'
,
params
:
params
})
console
.
log
(
params
)
return
request
({
url
:
`/person/infoMergeRange/audit/
${
params
.
ids
}
?flag=
${
params
.
flag
}
&reason=
${
params
.
reason
}
`
,
method
:
'post'
,
params
:
params
})
}
export
function
infoMergeRangeList
(
params
)
{
return
request
({
url
:
`/person/infoMergeRange/list`
,
method
:
'get'
,
params
:
params
})
return
request
({
url
:
`/person/infoMergeRange/list`
,
method
:
'get'
,
params
:
params
})
}
export
function
infoMergeMod
(
id
)
{
return
request
({
url
:
`/person/infoMerge/
${
id
}
`
,
method
:
'delete'
})
return
request
({
url
:
`/person/infoMerge/
${
id
}
`
,
method
:
'delete'
})
}
export
function
commitMergeVip
(
ids
)
{
return
request
({
url
:
`/person/infoMergeRange/commit/
${
ids
}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/infoMergeRange/commit/
${
ids
}
`
,
method
:
'post'
})
}
export
function
delPersonalMerge
(
ids
)
{
return
request
({
url
:
`/person/infoMergeRange/
${
ids
}
`
,
method
:
'delete'
})
return
request
({
url
:
`/person/infoMergeRange/
${
ids
}
`
,
method
:
'delete'
})
}
export
function
infoMergeList
(
params
)
{
return
request
({
url
:
`/person/infoMerge/list`
,
method
:
'get'
,
params
:
params
})
return
request
({
url
:
`/person/infoMerge/list`
,
method
:
'get'
,
params
:
params
})
}
export
function
editMergeByOldIdc
(
params
)
{
return
request
({
url
:
`/person/infoMerge/editMergeByOldIdc/
${
params
.
mergeId
}
?mergeId=
${
params
.
mergeId
}
&idcCode=
${
params
.
idcCode
}
`
,
method
:
'post'
,
params
:
params
})
return
request
({
url
:
`/person/infoMerge/editMergeByOldIdc/
${
params
.
mergeId
}
?mergeId=
${
params
.
mergeId
}
&idcCode=
${
params
.
idcCode
}
`
,
method
:
'post'
,
params
:
params
})
}
export
function
editMergeByFile
(
params
)
{
return
request
({
url
:
`/person/infoMerge/editMergeByFile/
${
params
.
mergeId
}
?mergeId=
${
params
.
mergeId
}
&fileUrl=
${
encodeURIComponent
(
params
.
fileUrl
)}
`
,
method
:
'post'
,
params
:
params
})
return
request
({
url
:
`/person/infoMerge/editMergeByFile/
${
params
.
mergeId
}
?mergeId=
${
params
.
mergeId
}
&fileUrl=
${
encodeURIComponent
(
params
.
fileUrl
)}
`
,
method
:
'post'
,
params
:
params
})
}
// 通知公告
export
function
notice
(
query
)
{
return
request
({
url
:
'/system/note/notice'
,
method
:
'get'
,
params
:
query
})
return
request
({
url
:
'/system/note/notice'
,
method
:
'get'
,
params
:
query
})
}
export
function
getNewsById
(
noteId
)
{
return
request
({
url
:
`/system/note/
${
noteId
}
`
,
method
:
'get'
})
return
request
({
url
:
`/system/note/
${
noteId
}
`
,
method
:
'get'
})
}
// 协会树
export
function
certifiedDeptTree
(
params
)
{
return
request
({
url
:
'/system/user/certifiedDeptTreeWithNoDaoguan'
,
method
:
'get'
,
params
:
params
})
return
request
({
url
:
'/system/user/certifiedDeptTreeWithNoDaoguan'
,
method
:
'get'
,
params
:
params
})
}
// 查询部门下拉树结构
export
function
deptTreeSelect
(
params
)
{
return
request
({
url
:
'/system/user/certifiedDeptTree'
,
method
:
'get'
,
params
:
params
}).
then
((
res
)
=>
{
setIdToString
(
res
.
data
)
return
res
})
return
request
({
url
:
'/system/user/certifiedDeptTree'
,
method
:
'get'
,
params
:
params
}).
then
((
res
)
=>
{
setIdToString
(
res
.
data
)
return
res
})
}
// 注册选择协会树
export
function
certifiedDeptTreeRegister
(
params
)
{
return
request
({
...
...
@@ -135,204 +148,216 @@ export function certifiedDeptTreeRegister(params) {
params
})
}
const
setIdToString
=
(
list
)
=>
{
for
(
var
l
of
list
)
{
l
.
id
+=
''
l
.
parentId
+=
''
if
(
l
.
children
&&
l
.
children
.
length
>
0
)
{
setIdToString
(
l
.
children
)
}
}
for
(
var
l
of
list
)
{
l
.
id
+=
''
l
.
parentId
+=
''
if
(
l
.
children
&&
l
.
children
.
length
>
0
)
{
setIdToString
(
l
.
children
)
}
}
}
// 会员认证
export
function
centerCommit
(
data
)
{
return
request
({
url
:
`/member/certified/commit`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/member/certified/commit`
,
method
:
'post'
,
params
:
data
})
}
export
function
updateUserProfile
(
data
)
{
return
request
({
url
:
'/system/user/profile'
,
method
:
'put'
,
params
:
data
})
return
request
({
url
:
'/system/user/profile'
,
method
:
'put'
,
params
:
data
})
}
export
function
createMyMember
(
data
)
{
return
request
({
url
:
'/member/info/createMyMember'
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
'/member/info/createMyMember'
,
method
:
'post'
,
params
:
data
})
}
export
function
updateUserPwd
(
data
)
{
return
request
({
url
:
`/system/user/profile/updatePwd?oldPassword=
${
encodeURIComponent
(
data
.
oldPassword
)}
&newPassword=
${
encodeURIComponent
(
data
.
newPassword
)}
`
,
method
:
'put'
,
params
:
data
})
return
request
({
url
:
`/system/user/profile/updatePwd?oldPassword=
${
encodeURIComponent
(
data
.
oldPassword
)}
&newPassword=
${
encodeURIComponent
(
data
.
newPassword
)}
`
,
method
:
'put'
,
params
:
data
})
}
export
function
getMessage
(
params
)
{
return
request
({
url
:
'/common/home/getMessage'
,
method
:
'get'
,
params
:
params
})
return
request
({
url
:
'/common/home/getMessage'
,
method
:
'get'
,
params
:
params
})
}
export
function
reader
(
query
)
{
return
request
({
url
:
'/common/home/readMessage'
,
method
:
'get'
,
params
:
query
})
return
request
({
url
:
'/common/home/readMessage'
,
method
:
'get'
,
params
:
query
})
}
export
function
regionsList
(
params
)
{
return
request
({
url
:
'/common/region/regionsList'
,
method
:
'get'
,
params
})
return
request
({
url
:
'/common/region/regionsList'
,
method
:
'get'
,
params
})
}
// 添加会员自动录入 上传图片
export
function
carUrl
(
data
,
type
)
{
return
uni
.
uploadFile
({
url
:
`
${
config
.
baseUrl_api
}
/person/info/getPersonInfoFromCert/
${
type
}
`
,
// header: {
// 'Authorization': uni.getStorageSync('token'),
// 'Content-Language': 'zh_CN',
// 'Accept-Language': 'zh-CN,zh',
// },
name
:
'pic'
,
filePath
:
data
}).
then
(
res
=>
{
return
JSON
.
parse
(
res
.
data
)
})
// return request({
// url: `/person/info/getPersonInfoFromCert/${type}`,
// method: 'post',
// params: data
// })
return
uni
.
uploadFile
({
url
:
`
${
config
.
baseUrl_api
}
/person/info/getPersonInfoFromCert/
${
type
}
`
,
// header: {
// 'Authorization': uni.getStorageSync('token'),
// 'Content-Language': 'zh_CN',
// 'Accept-Language': 'zh-CN,zh',
// },
name
:
'pic'
,
filePath
:
data
}).
then
(
res
=>
{
return
JSON
.
parse
(
res
.
data
)
})
// return request({
// url: `/person/info/getPersonInfoFromCert/${type}`,
// method: 'post',
// params: data
// })
}
// 添加会员信息
export
function
addPersonToMyDept
(
data
)
{
return
request
({
url
:
'/person/info/addPersonToMyDept'
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
'/person/info/addPersonToMyDept'
,
method
:
'post'
,
params
:
data
})
}
export
function
insertSinglePay
(
data
)
{
return
request
({
url
:
'/person/paymentNew/insertSinglePay'
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
'/person/paymentNew/insertSinglePay'
,
method
:
'post'
,
params
:
data
})
}
// 提交人工审核
export
function
addPersonCommit
(
data
)
{
return
request
({
url
:
`/system/input/commit?fileUrl=
${
data
.
fileUrl
}
`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/system/input/commit?fileUrl=
${
data
.
fileUrl
}
`
,
method
:
'post'
,
params
:
data
})
}
export
function
getZtxFeeConfig
()
{
return
request
({
url
:
'/system/config/getZtxFeeConfig'
,
method
:
'get'
})
return
request
({
url
:
'/system/config/getZtxFeeConfig'
,
method
:
'get'
})
}
// 图片上传
export
function
uploadImg
(
e
)
{
const
tempFilePaths
=
e
.
tempFilePaths
;
const
imgUrl
=
tempFilePaths
[
0
]
uni
.
showLoading
({
title
:
'加载中'
});
return
uni
.
uploadFile
({
url
:
config
.
baseUrl_api
+
'/upload/uploadImgToLocalServer'
,
header
:
{
'Authorization'
:
uni
.
getStorageSync
(
'token'
),
},
filePath
:
imgUrl
,
name
:
'image'
}).
then
(
res
=>
{
let
data
=
JSON
.
parse
(
res
.
data
);
return
data
}).
finally
(()
=>
{
uni
.
hideLoading
();
});
const
tempFilePaths
=
e
.
tempFilePaths
;
const
imgUrl
=
tempFilePaths
[
0
]
uni
.
showLoading
({
title
:
'加载中'
});
return
uni
.
uploadFile
({
url
:
config
.
baseUrl_api
+
'/upload/uploadImgToLocalServer'
,
header
:
{
'Authorization'
:
uni
.
getStorageSync
(
'token'
),
},
filePath
:
imgUrl
,
name
:
'image'
}).
then
(
res
=>
{
let
data
=
JSON
.
parse
(
res
.
data
);
return
data
}).
finally
(()
=>
{
uni
.
hideLoading
();
});
}
// corp
export
function
uploadImgCorp
(
tempFilePath
)
{
const
imgUrl
=
tempFilePath
uni
.
showLoading
({
title
:
'加载中'
});
return
uni
.
uploadFile
({
url
:
config
.
baseUrl_api
+
'/upload/uploadImgToLocalServer'
,
header
:
{
'Authorization'
:
uni
.
getStorageSync
(
'token'
),
},
filePath
:
imgUrl
,
name
:
'image'
}).
then
(
res
=>
{
let
data
=
JSON
.
parse
(
res
.
data
);
return
data
}).
finally
(()
=>
{
uni
.
hideLoading
();
});
const
imgUrl
=
tempFilePath
uni
.
showLoading
({
title
:
'加载中'
});
return
uni
.
uploadFile
({
url
:
config
.
baseUrl_api
+
'/upload/uploadImgToLocalServer'
,
header
:
{
'Authorization'
:
uni
.
getStorageSync
(
'token'
),
},
filePath
:
imgUrl
,
name
:
'image'
}).
then
(
res
=>
{
let
data
=
JSON
.
parse
(
res
.
data
);
return
data
}).
finally
(()
=>
{
uni
.
hideLoading
();
});
}
//only for addVip photoUp
export
function
uploadImgCorpPhoto
(
tempFilePath
)
{
const
imgUrl
=
tempFilePath
uni
.
showLoading
({
title
:
'加载中'
});
return
uni
.
uploadFile
({
url
:
config
.
baseUrl_api
+
'/upload/uploadImgToLocalServerCaiJian'
,
header
:
{
'Authorization'
:
uni
.
getStorageSync
(
'token'
),
},
filePath
:
imgUrl
,
name
:
'image'
}).
then
(
res
=>
{
let
data
=
JSON
.
parse
(
res
.
data
);
return
data
}).
finally
(()
=>
{
uni
.
hideLoading
();
});
const
imgUrl
=
tempFilePath
uni
.
showLoading
({
title
:
'加载中'
});
return
uni
.
uploadFile
({
url
:
config
.
baseUrl_api
+
'/upload/uploadImgToLocalServerCaiJian'
,
header
:
{
'Authorization'
:
uni
.
getStorageSync
(
'token'
),
},
filePath
:
imgUrl
,
name
:
'image'
}).
then
(
res
=>
{
let
data
=
JSON
.
parse
(
res
.
data
);
return
data
}).
finally
(()
=>
{
uni
.
hideLoading
();
});
}
export
function
getInfo
(
perId
)
{
return
request
({
url
:
'/person/info/'
+
perId
,
method
:
'get'
})
return
request
({
url
:
'/person/info/'
+
perId
,
method
:
'get'
})
}
// 查询个人会员信息列表
export
function
selectPageList
(
query
)
{
return
request
({
url
:
'/person/info/selectPageList'
,
method
:
'get'
,
params
:
query
})
return
request
({
url
:
'/person/info/selectPageList'
,
method
:
'get'
,
params
:
query
})
}
export
function
delInfo
(
perId
)
{
return
request
({
// url: '/person/info/' + perId,
url
:
'/person/info/clearOwner/'
+
perId
,
method
:
'POST'
})
return
request
({
// url: '/person/info/' + perId,
url
:
'/person/info/clearOwner/'
+
perId
,
method
:
'POST'
})
}
// 查询个人个人会员缴费列表
// export function getPaymentList(query) {
// return request({
...
...
@@ -342,19 +367,20 @@ export function delInfo(perId) {
// })
// }
export
function
getPaymentList
(
query
)
{
return
request
({
url
:
'/person/paymentRangeNew/list'
,
method
:
'get'
,
params
:
query
})
return
request
({
url
:
'/person/paymentRangeNew/list'
,
method
:
'get'
,
params
:
query
})
}
// 查询添加个人个人会员缴费列表
export
function
addSelectPageList
(
query
)
{
return
request
({
url
:
'/person/payment/selectPageList'
,
method
:
'get'
,
params
:
query
})
return
request
({
url
:
'/person/payment/selectPageList'
,
method
:
'get'
,
params
:
query
})
}
// 获取个人技术认证详情
...
...
@@ -366,1101 +392,1217 @@ export function getPersonTecDetails(type, personId) {
}
export
function
fillAuditLog
(
ids
)
{
return
request
({
url
:
`/person/paymentRange/fillAuditLog/
${
ids
}
`
,
method
:
'get'
})
return
request
({
url
:
`/person/paymentRange/fillAuditLog/
${
ids
}
`
,
method
:
'get'
})
}
// 审核列表
export
function
getVerifyList
(
params
)
{
return
request
({
url
:
'/person/paymentRange/verifyList'
,
method
:
'get'
,
params
:
params
})
return
request
({
url
:
'/person/paymentRange/verifyList'
,
method
:
'get'
,
params
:
params
})
}
// 审核
export
function
audit
(
data
)
{
return
request
({
url
:
'/person/paymentRange/audit'
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
'/person/paymentRange/audit'
,
method
:
'post'
,
params
:
data
})
}
// 审核详情
export
function
getHistoryByRelateId
(
rId
)
{
return
request
({
url
:
`/person/paymentRange/getHistoryByRelateId/
${
rId
}
`
,
method
:
'get'
,
})
return
request
({
url
:
`/person/paymentRange/getHistoryByRelateId/
${
rId
}
`
,
method
:
'get'
,
})
}
// 查询单位会员信息列表
export
function
getGroupVipList
(
query
)
{
return
request
({
url
:
'/member/info/selectPageList'
,
method
:
'get'
,
params
:
query
})
return
request
({
url
:
'/member/info/selectPageList'
,
method
:
'get'
,
params
:
query
})
}
// 查询单位会员 全部会员数,有效会员数
export
function
getMemberCountInfo
(
query
)
{
return
request
({
url
:
'/member/info/getMemberCountInfo'
,
method
:
'get'
,
params
:
query
})
return
request
({
url
:
'/member/info/getMemberCountInfo'
,
method
:
'get'
,
params
:
query
})
}
export
function
getFeeBillList
(
query
)
{
return
request
({
url
:
'/person/paymentDoc/list'
,
method
:
'get'
,
params
:
query
})
return
request
({
url
:
'/person/paymentDoc/list'
,
method
:
'get'
,
params
:
query
})
}
export
function
commitPaymentVoucher
(
data
)
{
return
request
({
url
:
'/person/paymentDoc/commitPaymentVoucher'
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
'/person/paymentDoc/commitPaymentVoucher'
,
method
:
'post'
,
params
:
data
})
}
export
function
getFeeBillDetail
(
payId
)
{
return
request
({
url
:
`/person/paymentDoc/
${
payId
}
`
,
method
:
'get'
})
return
request
({
url
:
`/person/paymentDoc/
${
payId
}
`
,
method
:
'get'
})
}
// 获取自己团队成员信息
export
function
getMyOwnMemberInfo
()
{
return
request
({
url
:
'/member/info/getMyOwnMemberInfo'
,
method
:
'get'
})
return
request
({
url
:
'/member/info/getMyOwnMemberInfo'
,
method
:
'get'
})
}
// 会员调入
export
function
getMobilizelist
(
params
)
{
return
request
({
url
:
'/person/transferRange/list'
,
method
:
'get'
,
params
})
return
request
({
url
:
'/person/transferRange/list'
,
method
:
'get'
,
params
})
}
// 调动会员成员
export
function
getTransferList
(
data
)
{
return
request
({
url
:
`/person/transfer/list`
,
method
:
'get'
,
params
:
data
})
return
request
({
url
:
`/person/transfer/list`
,
method
:
'get'
,
params
:
data
})
}
// 查询单位会员信息列表
export
function
getGroupList
(
params
)
{
return
request
({
url
:
`/member/certified/verifyList`
,
method
:
'get'
,
params
:
params
})
return
request
({
url
:
`/member/certified/verifyList`
,
method
:
'get'
,
params
:
params
})
}
// 查询
export
function
pickUp
(
data
)
{
return
request
({
url
:
`/person/info/pickUp`
,
method
:
'get'
,
params
:
data
})
return
request
({
url
:
`/person/info/pickUp`
,
method
:
'get'
,
params
:
data
})
}
// 添加调入会员
export
function
addTransferToRange
(
data
)
{
return
request
({
url
:
`/person/transfer/addTransferToRange`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/person/transfer/addTransferToRange`
,
method
:
'post'
,
params
:
data
})
}
export
function
deltransferRange
(
rids
)
{
return
request
({
url
:
`/person/transfer/
${
rids
}
`
,
method
:
'delete'
})
return
request
({
url
:
`/person/transfer/
${
rids
}
`
,
method
:
'delete'
})
}
export
function
commit
(
rangeIds
)
{
return
request
({
url
:
`/person/transferRange/commit/
${
rangeIds
}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/transferRange/commit/
${
rangeIds
}
`
,
method
:
'post'
})
}
// 调动审批
export
function
mobilizeAudit
(
data
)
{
return
request
({
url
:
`/person/transferRange/audit/
${
data
.
rangeIds
}
?flag=
${
data
.
flag
}
&reason=
${
data
.
reason
}
`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/person/transferRange/audit/
${
data
.
rangeIds
}
?flag=
${
data
.
flag
}
&reason=
${
data
.
reason
}
`
,
method
:
'post'
,
params
:
data
})
}
export
function
delMobilize
(
rids
)
{
return
request
({
url
:
`/person/transferRange/
${
rids
}
`
,
method
:
'delete'
})
return
request
({
url
:
`/person/transferRange/
${
rids
}
`
,
method
:
'delete'
})
}
//文件上传
export
function
uploadFile
(
e
)
{
const
fileUrl
=
e
.
tempFilePaths
[
0
]
uni
.
showLoading
({
title
:
'加载中'
});
return
uni
.
uploadFile
({
url
:
config
.
baseUrl_api
+
'/upload/uploadFileToLocalServer'
,
filePath
:
fileUrl
,
name
:
'file'
,
header
:
{
'Authorization'
:
uni
.
getStorageSync
(
'token'
)
}
}).
then
(
res
=>
{
let
data
=
JSON
.
parse
(
res
.
data
);
return
data
}).
finally
(()
=>
{
uni
.
hideLoading
();
});
const
fileUrl
=
e
.
tempFilePaths
[
0
]
uni
.
showLoading
({
title
:
'加载中'
});
return
uni
.
uploadFile
({
url
:
config
.
baseUrl_api
+
'/upload/uploadFileToLocalServer'
,
filePath
:
fileUrl
,
name
:
'file'
,
header
:
{
'Authorization'
:
uni
.
getStorageSync
(
'token'
)
}
}).
then
(
res
=>
{
let
data
=
JSON
.
parse
(
res
.
data
);
return
data
}).
finally
(()
=>
{
uni
.
hideLoading
();
});
}
// muit
export
function
uploadFileList
(
path
)
{
uni
.
showLoading
({
title
:
'加载中'
});
return
uni
.
uploadFile
({
url
:
config
.
baseUrl_api
+
'/upload/uploadFileToLocalServer'
,
filePath
:
path
,
name
:
'file'
,
header
:
{
'Authorization'
:
uni
.
getStorageSync
(
'token'
)
}
}).
then
(
res
=>
{
let
data
=
JSON
.
parse
(
res
.
data
);
return
data
.
msg
}).
finally
(()
=>
{
uni
.
hideLoading
();
});
uni
.
showLoading
({
title
:
'加载中'
});
return
uni
.
uploadFile
({
url
:
config
.
baseUrl_api
+
'/upload/uploadFileToLocalServer'
,
filePath
:
path
,
name
:
'file'
,
header
:
{
'Authorization'
:
uni
.
getStorageSync
(
'token'
)
}
}).
then
(
res
=>
{
let
data
=
JSON
.
parse
(
res
.
data
);
return
data
.
msg
}).
finally
(()
=>
{
uni
.
hideLoading
();
});
}
// 查询考级信息列表
export
function
getLevelList
(
query
)
{
return
request
({
url
:
'/exam/info/list'
,
method
:
'get'
,
params
:
query
})
return
request
({
url
:
'/exam/info/list'
,
method
:
'get'
,
params
:
query
})
}
// 查询考级信息详细
export
function
getLevelApplyInfo
(
examId
)
{
return
request
({
url
:
`/exam/info/
${
examId
}
`
,
method
:
'get'
})
return
request
({
url
:
`/exam/info/
${
examId
}
`
,
method
:
'get'
})
}
export
function
getStudentList
(
query
)
{
return
request
({
url
:
'/exam/person/studentList'
,
method
:
'get'
,
params
:
query
})
return
request
({
url
:
'/exam/person/studentList'
,
method
:
'get'
,
params
:
query
})
}
export
function
getApprovalRecord
(
examId
)
{
return
request
({
url
:
'/exam/info/verity/steps'
,
method
:
'get'
,
params
:
{
examId
:
examId
}
})
return
request
({
url
:
'/exam/info/verity/steps'
,
method
:
'get'
,
params
:
{
examId
:
examId
}
})
}
export
function
submitVerity
(
examId
)
{
return
request
({
url
:
'/exam/info/submitVerity'
,
method
:
'put'
,
params
:
{
id
:
examId
}
})
return
request
({
url
:
'/exam/info/submitVerity'
,
method
:
'put'
,
params
:
{
id
:
examId
}
})
}
export
function
getCoachList
(
params
)
{
return
request
({
url
:
'/person/info/coachList'
,
method
:
'get'
,
params
:
params
})
}
return
request
({
url
:
'/person/info/coachList'
,
method
:
'get'
,
params
:
params
})
}
// 修改考级信息
export
function
updateLevelInfo
(
data
)
{
return
request
({
url
:
'/exam/info'
,
method
:
'put'
,
params
:
data
})
return
request
({
url
:
'/exam/info'
,
method
:
'put'
,
params
:
data
})
}
// 新增考级信息
export
function
addLevelInfo
(
data
)
{
return
request
({
url
:
'/exam/info'
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
'/exam/info'
,
method
:
'post'
,
params
:
data
})
}
export
function
chooseStudentsList
(
query
)
{
return
request
({
url
:
'/person/info/chooseStudentsList'
,
method
:
'get'
,
params
:
query
})
return
request
({
url
:
'/person/info/chooseStudentsList'
,
method
:
'get'
,
params
:
query
})
}
export
function
batchChoose
(
data
)
{
return
request
({
url
:
'/exam/person/batch/choose'
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
'/exam/person/batch/choose'
,
method
:
'post'
,
params
:
data
})
}
export
function
editLevel
(
data
)
{
return
request
({
url
:
'/exam/person/editLevel'
,
method
:
'put'
,
params
:
data
})
return
request
({
url
:
'/exam/person/editLevel'
,
method
:
'put'
,
params
:
data
})
}
export
function
getVerityList
(
params
)
{
return
request
({
url
:
'/exam/info/verityList'
,
method
:
'get'
,
params
:
params
})
return
request
({
url
:
'/exam/info/verityList'
,
method
:
'get'
,
params
:
params
})
}
export
function
getPerVerityList
(
params
)
{
return
request
({
url
:
'/person/paymentRange/verifyList'
,
method
:
'get'
,
params
:
params
})
return
request
({
url
:
'/person/paymentRange/verifyList'
,
method
:
'get'
,
params
:
params
})
}
export
function
getGroupHistoryByRelateId
(
id
)
{
return
request
({
url
:
`/member/certified/getHistoryByRelateId/
${
id
}
`
,
method
:
'get'
})
return
request
({
url
:
`/member/certified/getHistoryByRelateId/
${
id
}
`
,
method
:
'get'
})
}
export
function
doVerity
(
data
)
{
return
request
({
url
:
`/exam/info/verity`
,
method
:
'put'
,
params
:
data
})
return
request
({
url
:
`/exam/info/verity`
,
method
:
'put'
,
params
:
data
})
}
export
function
mergeRecords
(
data
)
{
return
request
({
url
:
'/exam/info/mergeRecords'
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
'/exam/info/mergeRecords'
,
method
:
'post'
,
params
:
data
})
}
export
function
groupAudit
(
data
)
{
return
request
({
url
:
'/member/certified/audit'
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
'/member/certified/audit'
,
method
:
'post'
,
params
:
data
})
}
export
function
groupMergeApi
(
data
)
{
return
request
({
url
:
`/member/certified/merge`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/member/certified/merge`
,
method
:
'post'
,
params
:
data
})
}
export
function
getDetailList
(
data
)
{
return
request
({
url
:
`/member/certified/getDetailList`
,
method
:
'get'
,
params
:
data
})
return
request
({
url
:
`/member/certified/getDetailList`
,
method
:
'get'
,
params
:
data
})
}
export
function
getPayList
(
data
)
{
return
request
({
url
:
`/member/certifiedRange/list`
,
method
:
'get'
,
params
:
data
})
return
request
({
url
:
`/member/certifiedRange/list`
,
method
:
'get'
,
params
:
data
})
}
export
function
getFillAuditLog
(
rangeId
)
{
return
request
({
url
:
`/member/certifiedRange/fillAuditLog/
${
rangeId
}
`
,
method
:
'get'
})
return
request
({
url
:
`/member/certifiedRange/fillAuditLog/
${
rangeId
}
`
,
method
:
'get'
})
}
export
function
commitGroupPay
(
rangeId
)
{
return
request
({
url
:
`/member/certifiedRange/commit/
${
rangeId
}
`
,
method
:
'post'
})
return
request
({
url
:
`/member/certifiedRange/commit/
${
rangeId
}
`
,
method
:
'post'
})
}
export
function
getGroupFeeBill
(
query
)
{
return
request
({
url
:
'/member/certifiedDoc/list'
,
method
:
'get'
,
params
:
query
})
return
request
({
url
:
'/member/certifiedDoc/list'
,
method
:
'get'
,
params
:
query
})
}
export
function
groupCommitPaymentVoucher
(
data
)
{
return
request
({
url
:
'/member/certifiedDoc/commitPaymentVoucher'
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
'/member/certifiedDoc/commitPaymentVoucher'
,
method
:
'post'
,
params
:
data
})
}
export
function
submitPayment
(
data
)
{
return
request
({
url
:
'/exam/payment'
,
method
:
'put'
,
params
:
data
})
return
request
({
url
:
'/exam/payment'
,
method
:
'put'
,
params
:
data
})
}
export
function
getFeeBillById
(
id
)
{
return
request
({
url
:
`/member/certifiedDoc/
${
id
}
`
,
method
:
'get'
})
return
request
({
url
:
`/member/certifiedDoc/
${
id
}
`
,
method
:
'get'
})
}
export
function
personalCommit
(
id
)
{
return
request
({
url
:
`/person/paymentRange/commit/
${
id
}
`
,
method
:
'post'
,
params
:
id
})
return
request
({
url
:
`/person/paymentRange/commit/
${
id
}
`
,
method
:
'post'
,
params
:
id
})
}
export
function
getNewCountByRangeId
(
rangeId
)
{
return
request
({
url
:
`/person/paymentNew/getNewCountByRangeId/
${
rangeId
}
`
,
method
:
'get'
,
})
return
request
({
url
:
`/person/paymentNew/getNewCountByRangeId/
${
rangeId
}
`
,
method
:
'get'
,
})
}
export
function
delPayment
(
payIds
)
{
return
request
({
url
:
`/person/payment/
${
payIds
}
`
,
method
:
'DELETE'
})
return
request
({
url
:
`/person/payment/
${
payIds
}
`
,
method
:
'DELETE'
})
}
export
function
paymentDel
(
payIds
)
{
return
request
({
url
:
`/person/paymentRangeNew/
${
payIds
}
`
,
method
:
'DELETE'
})
return
request
({
url
:
`/person/paymentRangeNew/
${
payIds
}
`
,
method
:
'DELETE'
})
}
export
function
delcertified
(
ids
)
{
return
request
({
url
:
`/member/certified/
${
ids
}
`
,
method
:
'delete'
})
return
request
({
url
:
`/member/certified/
${
ids
}
`
,
method
:
'delete'
})
}
export
function
editYear
(
data
)
{
return
request
({
url
:
`/person/paymentNew/editYear/
${
data
.
payId
}
?payId=
${
data
.
payId
}
&year=
${
data
.
year
}
`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/person/paymentNew/editYear/
${
data
.
payId
}
?payId=
${
data
.
payId
}
&year=
${
data
.
year
}
`
,
method
:
'post'
,
params
:
data
})
}
export
function
editGroupYear
(
data
)
{
return
request
({
url
:
`/member/certified/editCertRenewYear/
${
data
.
certId
}
/
${
data
.
renewYear
}
`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/member/certified/editCertRenewYear/
${
data
.
certId
}
/
${
data
.
renewYear
}
`
,
method
:
'post'
,
params
:
data
})
}
export
function
addPersonPaymentGroup
(
data
)
{
return
request
({
url
:
`/person/payment/addPersonPaymentGroup`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/person/payment/addPersonPaymentGroup`
,
method
:
'post'
,
params
:
data
})
}
export
function
commitRenew
(
id
)
{
return
request
({
url
:
`/person/paymentRange/commit/
${
id
}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/paymentRange/commit/
${
id
}
`
,
method
:
'post'
})
}
export
function
getVerityMergeList
(
params
)
{
return
request
({
url
:
'/exam/info/verityMergeList'
,
method
:
'get'
,
params
:
params
})
return
request
({
url
:
'/exam/info/verityMergeList'
,
method
:
'get'
,
params
:
params
})
}
export
function
doMergeFlows
(
params
)
{
return
request
({
url
:
`/exam/info/submit/mergeFlows`
,
method
:
'post'
,
params
:
params
})
return
request
({
url
:
`/exam/info/submit/mergeFlows`
,
method
:
'post'
,
params
:
params
})
}
export
function
getMergePaymentInfo
(
mergeId
)
{
return
request
({
url
:
'/exam/info/mergeDetail/list'
,
method
:
'get'
,
params
:
{
mergeId
:
mergeId
}
})
return
request
({
url
:
'/exam/info/mergeDetail/list'
,
method
:
'get'
,
params
:
{
mergeId
:
mergeId
}
})
}
// 一键下发
export
function
submitCert
(
data
)
{
return
request
({
url
:
`/exam/payment/submitCerts/nesting`
,
method
:
'put'
,
params
:
data
})
return
request
({
url
:
`/exam/payment/submitCerts/nesting`
,
method
:
'put'
,
params
:
data
})
}
export
function
submitCert2
(
data
)
{
return
request
({
url
:
`/exam/payment/submitCerts/updateCerts`
,
method
:
'put'
,
params
:
data
})
return
request
({
url
:
`/exam/payment/submitCerts/updateCerts`
,
method
:
'put'
,
params
:
data
})
}
export
function
getCertsLList
(
query
)
{
return
request
({
url
:
'/exam/payment/certsList'
,
method
:
'get'
,
params
:
query
})
return
request
({
url
:
'/exam/payment/certsList'
,
method
:
'get'
,
params
:
query
})
}
export
function
getExamListByPayId
(
params
)
{
return
request
({
url
:
`/exam/payment/examList/
${
params
.
payId
}
`
,
method
:
'get'
,
params
:
params
})
return
request
({
url
:
`/exam/payment/examList/
${
params
.
payId
}
`
,
method
:
'get'
,
params
:
params
})
}
export
function
certStudentList
(
query
)
{
return
request
({
url
:
'/exam/person/cert/studentList'
,
method
:
'get'
,
params
:
query
})
return
request
({
url
:
'/exam/person/cert/studentList'
,
method
:
'get'
,
params
:
query
})
}
export
function
paymentList
(
query
)
{
return
request
({
url
:
'/exam/payment/list'
,
method
:
'get'
,
params
:
query
})
return
request
({
url
:
'/exam/payment/list'
,
method
:
'get'
,
params
:
query
})
}
export
function
getPaymentDetailsByPayId
(
payId
)
{
return
request
({
url
:
'/exam/payment/paymentDetailsByPayId'
,
method
:
'get'
,
params
:
{
payId
:
payId
}
})
return
request
({
url
:
'/exam/payment/paymentDetailsByPayId'
,
method
:
'get'
,
params
:
{
payId
:
payId
}
})
}
export
function
getMySonList
(
data
)
{
return
request
({
url
:
'/member/info/getMySonList'
,
method
:
'get'
,
params
:
data
})
return
request
({
url
:
'/member/info/getMySonList'
,
method
:
'get'
,
params
:
data
})
}
export
function
getGroupMemberInfoById
(
memId
)
{
return
request
({
url
:
'/member/info/'
+
memId
,
method
:
'get'
})
return
request
({
url
:
'/member/info/'
+
memId
,
method
:
'get'
})
}
export
function
addGroupPaymentGroup
(
data
)
{
return
request
({
url
:
`/member/certifiedRange/addRangeMulti/
${
data
.
memIds
}
/
${
data
.
rangeId
}
`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/member/certifiedRange/addRangeMulti/
${
data
.
memIds
}
/
${
data
.
rangeId
}
`
,
method
:
'post'
,
params
:
data
})
}
export
function
getDetailPersonList
(
data
)
{
return
request
({
url
:
`/person/paymentRange/getDetailList`
,
method
:
'get'
,
params
:
data
})
return
request
({
url
:
`/person/paymentRange/getDetailList`
,
method
:
'get'
,
params
:
data
})
}
export
function
withDraw
(
data
)
{
return
request
({
url
:
`/person/paymentRange/withDraw`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/person/paymentRange/withDraw`
,
method
:
'post'
,
params
:
data
})
}
export
function
groupWithDraw
(
data
)
{
return
request
({
url
:
`/member/paymentRange/withDraw`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/member/paymentRange/withDraw`
,
method
:
'post'
,
params
:
data
})
}
export
function
certifiedwithDraw
(
data
)
{
return
request
({
url
:
`/member/certified/withDraw`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/member/certified/withDraw`
,
method
:
'post'
,
params
:
data
})
}
// 省合并缴费通知单
export
function
mergePayMentApi
(
data
)
{
return
request
({
url
:
`/person/paymentRange/merge`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/person/paymentRange/merge`
,
method
:
'post'
,
params
:
data
})
}
export
function
getpaymentVerityMergeList
(
params
)
{
return
request
({
url
:
'/person/paymentRange/verifyList'
,
method
:
'get'
,
params
:
params
})
return
request
({
url
:
'/person/paymentRange/verifyList'
,
method
:
'get'
,
params
:
params
})
}
export
function
doMergeFlowsPer
(
data
)
{
return
request
({
url
:
'/person/paymentRange/audit'
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
'/person/paymentRange/audit'
,
method
:
'post'
,
params
:
data
})
}
// 省缴费单拆分
export
function
unMerge
(
recordId
)
{
return
request
({
url
:
`/person/paymentRange/unMerge/
${
recordId
}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/paymentRange/unMerge/
${
recordId
}
`
,
method
:
'post'
})
}
export
function
certifiedunMerge
(
recordId
)
{
return
request
({
url
:
`/member/certified/unMerge/
${
recordId
}
`
,
method
:
'post'
})
return
request
({
url
:
`/member/certified/unMerge/
${
recordId
}
`
,
method
:
'post'
})
}
export
function
dellevelPerson
(
examId
)
{
return
request
({
url
:
'/exam/person/'
+
examId
,
method
:
'delete'
})
return
request
({
url
:
'/exam/person/'
+
examId
,
method
:
'delete'
})
}
export
function
getExamPersonNum
(
data
)
{
return
request
({
url
:
`/exam/person/getExamPersonNum`
,
method
:
'get'
,
params
:
data
})
return
request
({
url
:
`/exam/person/getExamPersonNum`
,
method
:
'get'
,
params
:
data
})
}
export
function
doVerityBack
(
data
)
{
return
request
({
url
:
`/exam/info/verity/back`
,
method
:
'put'
,
params
:
data
})
return
request
({
url
:
`/exam/info/verity/back`
,
method
:
'put'
,
params
:
data
})
}
export
function
delRange
(
ids
)
{
return
request
({
url
:
`/member/certifiedRange/
${
ids
}
`
,
method
:
'delete'
})
return
request
({
url
:
`/member/certifiedRange/
${
ids
}
`
,
method
:
'delete'
})
}
export
function
delLevel
(
examId
)
{
return
request
({
url
:
'/exam/info/'
+
examId
,
method
:
'delete'
})
return
request
({
url
:
'/exam/info/'
+
examId
,
method
:
'delete'
})
}
export
function
cancelMerge
(
id
)
{
return
request
({
url
:
'/exam/info/cancelMerge/'
+
id
,
method
:
'post'
})
return
request
({
url
:
'/exam/info/cancelMerge/'
+
id
,
method
:
'post'
})
}
export
function
getInfoModRange
(
params
)
{
return
request
({
url
:
`/person/infoModRange/list`
,
method
:
'get'
,
params
:
params
})
return
request
({
url
:
`/person/infoModRange/list`
,
method
:
'get'
,
params
:
params
})
}
export
function
addInfoModeList
(
data
)
{
return
request
({
url
:
`/person/infoMod/list`
,
method
:
'get'
,
params
:
data
})
return
request
({
url
:
`/person/infoMod/list`
,
method
:
'get'
,
params
:
data
})
}
export
function
infoMod
(
ids
)
{
return
request
({
url
:
`/person/infoMod/
${
ids
}
`
,
method
:
'delete'
})
return
request
({
url
:
`/person/infoMod/
${
ids
}
`
,
method
:
'delete'
})
}
export
function
commitPersonalChange
(
ids
)
{
return
request
({
url
:
`/person/infoModRange/commit/
${
ids
}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/infoModRange/commit/
${
ids
}
`
,
method
:
'post'
})
}
export
function
delPersonalChange
(
ids
)
{
return
request
({
url
:
`/person/infoModRange/
${
ids
}
`
,
method
:
'delete'
})
return
request
({
url
:
`/person/infoModRange/
${
ids
}
`
,
method
:
'delete'
})
}
export
function
addInfoModeToRange
(
data
)
{
return
request
({
url
:
`/person/infoMod/addInfoModeToRange/
${
data
.
perIds
}
?rangeIdStr=
${
data
.
rangeIdStr
}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/infoMod/addInfoModeToRange/
${
data
.
perIds
}
?rangeIdStr=
${
data
.
rangeIdStr
}
`
,
method
:
'post'
})
}
export
function
addGroupInfoModeToRange
(
data
)
{
return
request
({
url
:
`/member/infoMod/addInfoModeToRange/
${
data
.
memId
}
?rangeIdStr=
${
data
.
rangeIdStr
}
`
,
method
:
'post'
})
return
request
({
url
:
`/member/infoMod/addInfoModeToRange/
${
data
.
memId
}
?rangeIdStr=
${
data
.
rangeIdStr
}
`
,
method
:
'post'
})
}
export
function
personChangeEditMod
(
data
)
{
return
request
({
url
:
`/person/infoMod/editMod`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/person/infoMod/editMod`
,
method
:
'post'
,
params
:
data
})
}
export
function
groupChangeEditMod
(
data
)
{
return
request
({
url
:
`/member/infoMod/editMod`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/member/infoMod/editMod`
,
method
:
'post'
,
params
:
data
})
}
export
function
personChangeWithDraw
(
ids
)
{
return
request
({
url
:
`/person/infoModRange/withDraw/
${
ids
}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/infoModRange/withDraw/
${
ids
}
`
,
method
:
'post'
})
}
export
function
personChangeAudit
(
data
)
{
return
request
({
url
:
`/person/infoModRange/audit/
${
data
.
ids
}
?flag=
${
data
.
flag
}
&reason=
${
data
.
reason
}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/infoModRange/audit/
${
data
.
ids
}
?flag=
${
data
.
flag
}
&reason=
${
data
.
reason
}
`
,
method
:
'post'
})
}
export
function
groupChangeAudit
(
data
)
{
return
request
({
url
:
`/member/infoModRange/audit/
${
data
.
ids
}
?flag=
${
data
.
flag
}
&reason=
${
data
.
reason
}
`
,
method
:
'post'
})
return
request
({
url
:
`/member/infoModRange/audit/
${
data
.
ids
}
?flag=
${
data
.
flag
}
&reason=
${
data
.
reason
}
`
,
method
:
'post'
})
}
export
function
pickUpByPersonInfo
(
form
)
{
return
request
({
url
:
`/person/technology/getPersonTecDetailsByIdc/
${
form
.
idcType
}
/
${
form
.
idcCode
}
`
,
method
:
'get'
})
return
request
({
url
:
`/person/technology/getPersonTecDetailsByIdc/
${
form
.
idcType
}
/
${
form
.
idcCode
}
`
,
method
:
'get'
})
}
export
function
getLevelChangeAddList
(
params
)
{
return
request
({
url
:
`/person/levelMod/list`
,
method
:
'get'
,
params
:
params
})
return
request
({
url
:
`/person/levelMod/list`
,
method
:
'get'
,
params
:
params
})
}
export
function
getChangelevelList
(
params
)
{
return
request
({
url
:
`/person/levelModRange/list`
,
method
:
'get'
,
params
:
params
})
return
request
({
url
:
`/person/levelModRange/list`
,
method
:
'get'
,
params
:
params
})
}
export
function
addLevelList
(
data
)
{
return
request
({
url
:
`/person/levelMod/addLevelModToRange`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/person/levelMod/addLevelModToRange`
,
method
:
'post'
,
params
:
data
})
}
export
function
addLevelModToRange
(
data
)
{
return
request
({
url
:
`/person/levelMod/editModInfo/
${
data
.
modId
}
?reason=
${
data
.
reason
}
&modId=
${
data
.
modId
}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/levelMod/editModInfo/
${
data
.
modId
}
?reason=
${
data
.
reason
}
&modId=
${
data
.
modId
}
`
,
method
:
'post'
})
}
export
function
addLevelModToRangeFile
(
data
)
{
return
request
({
url
:
`/person/levelMod/editModInfo/
${
data
.
modId
}
?modId=
${
data
.
modId
}
&fileUrl=
${
encodeURIComponent
(
data
.
fileUrl
)}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/levelMod/editModInfo/
${
data
.
modId
}
?modId=
${
data
.
modId
}
&fileUrl=
${
encodeURIComponent
(
data
.
fileUrl
)}
`
,
method
:
'post'
})
}
export
function
levelModRangeDelete
(
ids
)
{
return
request
({
url
:
`/person/levelModRange/
${
ids
}
`
,
method
:
'delete'
})
return
request
({
url
:
`/person/levelModRange/
${
ids
}
`
,
method
:
'delete'
})
}
export
function
commitLevelChange
(
ids
)
{
return
request
({
url
:
`/person/levelModRange/commit/
${
ids
}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/levelModRange/commit/
${
ids
}
`
,
method
:
'post'
})
}
export
function
editNewJi
(
data
)
{
return
request
({
url
:
`/person/levelMod/editNewJi/
${
data
.
modId
}
?newJi=
${
data
.
NewJi
}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/levelMod/editNewJi/
${
data
.
modId
}
?newJi=
${
data
.
NewJi
}
`
,
method
:
'post'
})
}
export
function
delLevelChangePer
(
data
)
{
return
request
({
url
:
`/person/levelMod/
${
data
}
`
,
method
:
'delete'
})
return
request
({
url
:
`/person/levelMod/
${
data
}
`
,
method
:
'delete'
})
}
export
function
levelModCommit
(
ids
)
{
return
request
({
url
:
`/person/levelModRange/commit/
${
ids
}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/levelModRange/commit/
${
ids
}
`
,
method
:
'post'
})
}
export
function
changeLevelAudit
(
data
)
{
return
request
({
url
:
`/person/levelModRange/audit/
${
data
.
ids
}
?flag=
${
data
.
flag
}
&reason=
${
data
.
reason
}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/levelModRange/audit/
${
data
.
ids
}
?flag=
${
data
.
flag
}
&reason=
${
data
.
reason
}
`
,
method
:
'post'
})
}
export
function
changeLevelWithDraw
(
data
)
{
return
request
({
url
:
`/person/levelModRange/withDraw/
${
data
}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/levelModRange/withDraw/
${
data
}
`
,
method
:
'post'
})
}
export
function
getMemberInfoModRange
(
data
)
{
return
request
({
url
:
`/member/infoModRange/list`
,
method
:
'get'
,
params
:
data
})
return
request
({
url
:
`/member/infoModRange/list`
,
method
:
'get'
,
params
:
data
})
}
export
function
commitGroupChange
(
ids
)
{
return
request
({
url
:
`/member/infoModRange/commit/
${
ids
}
`
,
method
:
'post'
})
return
request
({
url
:
`/member/infoModRange/commit/
${
ids
}
`
,
method
:
'post'
})
}
export
function
delGroupChange
(
ids
)
{
return
request
({
url
:
`/member/infoModRange/
${
ids
}
`
,
method
:
'delete'
})
return
request
({
url
:
`/member/infoModRange/
${
ids
}
`
,
method
:
'delete'
})
}
export
function
getChangeGroupByRangeId
(
data
)
{
return
request
({
url
:
`/member/infoMod/list`
,
method
:
'get'
,
params
:
data
})
return
request
({
url
:
`/member/infoMod/list`
,
method
:
'get'
,
params
:
data
})
}
export
function
groupInfoMod
(
ids
)
{
return
request
({
url
:
`/member/infoMod/
${
ids
}
`
,
method
:
'delete'
})
return
request
({
url
:
`/member/infoMod/
${
ids
}
`
,
method
:
'delete'
})
}
export
function
extractInfoFromChinaIdCard
(
data
)
{
return
request
({
url
:
'/person/info/extractInfo'
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
'/person/info/extractInfo'
,
method
:
'post'
,
params
:
data
})
}
export
function
getRemindCount
(
params
)
{
return
request
({
url
:
'/system/remindCount/getCounts'
,
method
:
'get'
,
params
:
params
})
return
request
({
url
:
'/system/remindCount/getCounts'
,
method
:
'get'
,
params
:
params
})
}
export
function
jiDropDownBox
(
params
)
{
return
request
({
url
:
'/person/technology/jiDropDownBox'
,
method
:
'get'
,
params
:
params
})
return
request
({
url
:
'/person/technology/jiDropDownBox'
,
method
:
'get'
,
params
:
params
})
}
export
function
getUserProfile
()
{
return
request
({
url
:
'/system/user/profile'
,
method
:
'get'
})
return
request
({
url
:
'/system/user/profile'
,
method
:
'get'
})
}
export
function
getMyCertStage
()
{
return
request
({
url
:
`/member/certified/getMyCertStage`
,
method
:
'get'
})
return
request
({
url
:
`/member/certified/getMyCertStage`
,
method
:
'get'
})
}
// 月结列表
export
function
mentDocList
(
data
)
{
return
request
({
url
:
'/person/paymentDocYj/list'
,
method
:
'get'
,
params
:
data
})
return
request
({
url
:
'/person/paymentDocYj/list'
,
method
:
'get'
,
params
:
data
})
}
export
function
wdBack
(
yjIds
)
{
return
request
({
url
:
`/person/paymentDocYj/wd/
${
yjIds
}
`
,
method
:
'get'
})
return
request
({
url
:
`/person/paymentDocYj/wd/
${
yjIds
}
`
,
method
:
'get'
})
}
// 个人会员月结缴费单
export
function
downJiaoYJFei
(
arr
)
{
return
request
({
url
:
`/person/paymentDocYj/downJiaoFei/
${
arr
}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/paymentDocYj/downJiaoFei/
${
arr
}
`
,
method
:
'post'
})
}
export
function
queryProcess
(
id
)
{
return
request
({
url
:
`/system/fileInfo/queryProcess/
${
id
}
`
,
method
:
'get'
})
return
request
({
url
:
`/system/fileInfo/queryProcess/
${
id
}
`
,
method
:
'get'
})
}
export
function
checkPersonByPayIds
(
payIds
)
{
return
request
({
url
:
`/exam/person/checkPersonByPayIds/
${
payIds
}
`
,
method
:
'get'
})
return
request
({
url
:
`/exam/person/checkPersonByPayIds/
${
payIds
}
`
,
method
:
'get'
})
}
export
function
checkPersonByExamIds
(
examIds
)
{
return
request
({
url
:
`/exam/person/checkPersonByExamIds/
${
examIds
}
`
,
method
:
'get'
})
return
request
({
url
:
`/exam/person/checkPersonByExamIds/
${
examIds
}
`
,
method
:
'get'
})
}
export
function
checkPersonByPersonId
(
perId
)
{
return
request
({
url
:
`/exam/person/checkPersonByPersonId/
${
perId
}
`
,
method
:
'get'
})
return
request
({
url
:
`/exam/person/checkPersonByPersonId/
${
perId
}
`
,
method
:
'get'
})
}
// 获取单位会员优惠政策
export
function
canUseDiscount
(
params
)
{
return
request
({
url
:
`/system/certifiedNew/canUseDiscount`
,
method
:
'get'
,
params
})
return
request
({
url
:
`/system/certifiedNew/canUseDiscount`
,
method
:
'get'
,
params
})
}
// 获取单位会员一年缴费价格
export
function
getMyMemberCertUnitFee
(
params
)
{
return
request
({
url
:
`/system/certifiedNew/getMyMemberCertUnitFee`
,
method
:
'get'
,
params
})
return
request
({
url
:
`/system/certifiedNew/getMyMemberCertUnitFee`
,
method
:
'get'
,
params
})
}
export
function
checkBusinessLicense
(
data
)
{
return
request
({
url
:
`/member/info/checkBusinessLicense`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/member/info/checkBusinessLicense`
,
method
:
'post'
,
params
:
data
})
}
// 生成单位订单renewYear
export
function
certifiedNew
(
renewYear
)
{
return
request
({
url
:
`/system/certifiedNew/commit?renewYear=
${
renewYear
}
`
,
method
:
'post'
})
return
request
({
url
:
`/system/certifiedNew/commit?renewYear=
${
renewYear
}
`
,
method
:
'post'
})
}
// 模拟回调
export
function
callBack2
(
orderId
)
{
return
request
({
url
:
`/system/certifiedNew/callBack2/
${
orderId
}
`
,
method
:
'get'
,
})
return
request
({
url
:
`/system/certifiedNew/callBack2/
${
orderId
}
`
,
method
:
'get'
,
})
}
export
function
pcallBack2
(
orderId
)
{
return
request
({
url
:
`/person/paymentRangeNew/callBack2/
${
orderId
}
`
,
method
:
'get'
,
})
return
request
({
url
:
`/person/paymentRangeNew/callBack2/
${
orderId
}
`
,
method
:
'get'
,
})
}
// 优惠政策回显
export
function
getZtxDiscountPolicy
(
params
)
{
return
request
({
url
:
'/system/config/getZtxDiscountPolicy'
,
method
:
'get'
,
params
})
return
request
({
url
:
'/system/config/getZtxDiscountPolicy'
,
method
:
'get'
,
params
})
}
// 考官列表
export
function
listApi
(
params
)
{
return
request
({
url
:
`/member/examiner/list`
,
method
:
'get'
,
params
})
return
request
({
url
:
`/member/examiner/list`
,
method
:
'get'
,
params
})
}
// 获取省级信息
export
function
getShenMemberInfo
()
{
return
request
({
url
:
`/member/info/getShenMemberInfo`
,
method
:
'get'
,
})
}
// 考官列表
export
function
examinerDel
(
id
)
{
return
request
({
url
:
`/member/examiner/
${
id
}
`
,
method
:
'delete'
})
return
request
({
url
:
`/member/examiner/
${
id
}
`
,
method
:
'delete'
})
}
// 添加考官
export
function
otherAdd
(
memId
,
ids
)
{
return
request
({
url
:
`/member/examiner/otherAdd/
${
memId
}
/
${
ids
}
`
,
method
:
'post'
})
return
request
({
url
:
`/member/examiner/otherAdd/
${
memId
}
/
${
ids
}
`
,
method
:
'post'
})
}
// 添加考官
export
function
selfAdd
(
memId
,
ids
)
{
return
request
({
url
:
`/member/examiner/selfAdd/
${
ids
}
`
,
method
:
'post'
})
}
export
function
commitExamPointApply
(
params
)
{
return
request
({
url
:
`/member/examPointApply/commit?selfSelect=
${
params
.
selfSelect
}
`
,
method
:
'post'
,
params
})
return
request
({
url
:
`/member/examPointApply/commit?selfSelect=
${
params
.
selfSelect
}
`
,
method
:
'post'
,
params
})
}
export
function
getMyStatus
()
{
return
request
({
url
:
`/member/examPointApply/getMyStatus`
})
return
request
({
url
:
`/member/examPointApply/getMyStatus`
,
method
:
'get'
,
})
}
// 个人会员缴费支付
export
function
goPay
(
id
)
{
return
request
({
url
:
`/person/paymentRangeNew/pay/
${
id
}
`
,
method
:
'post'
})
return
request
({
url
:
`/person/paymentRangeNew/pay/
${
id
}
`
,
method
:
'post'
})
}
// 缴费单列表学员
export
function
listAPI
(
params
)
{
return
request
({
url
:
`/person/paymentNew/list`
,
method
:
'get'
,
params
})
return
request
({
url
:
`/person/paymentNew/list`
,
method
:
'get'
,
params
})
}
// 删除学员
export
function
paymentNewDel
(
id
)
{
return
request
({
url
:
`/person/paymentNew/
${
id
}
`
,
method
:
'delete'
})
return
request
({
url
:
`/person/paymentNew/
${
id
}
`
,
method
:
'delete'
})
}
// 缴费单列表
export
function
memberInsertPersons
(
data
)
{
return
request
({
url
:
`/person/paymentNew/memberInsertPersons/
${
data
.
rangeId
}
/
${
data
.
year
}
/
${
data
.
idcCode
}
`
,
method
:
'post'
,
data
})
return
request
({
url
:
`/person/paymentNew/memberInsertPersons/
${
data
.
rangeId
}
/
${
data
.
year
}
/
${
data
.
idcCode
}
`
,
method
:
'post'
,
data
})
}
export
function
createMemberPayRange
(
data
)
{
return
request
({
url
:
`/person/paymentRangeNew/createMemberPayRange`
,
method
:
'post'
,
data
})
return
request
({
url
:
`/person/paymentRangeNew/createMemberPayRange`
,
method
:
'post'
,
data
})
}
// 获取最近认证记录
// 获取最近认证记录
团体会员
export
function
getMyRecent
()
{
return
request
({
url
:
'/system/certifiedNew/getMyRecent'
,
method
:
'get'
})
return
request
({
url
:
'/system/certifiedNew/getMyRecent'
,
method
:
'get'
})
}
// 获取最近认证记录 考点
export
function
getMyRecentExam
()
{
return
request
({
url
:
'/member/examPointApply/getMyRecent'
,
method
:
'get'
})
}
// 获取订单详情
export
function
getOrderInfo
(
orderId
)
{
return
request
({
url
:
`/common/order/
${
orderId
}
`
,
method
:
'get'
})
return
request
({
url
:
`/common/order/
${
orderId
}
`
,
method
:
'get'
})
}
// 绑定学员
export
function
bindUser
(
data
)
{
return
request
({
url
:
`/person/info/bindUser`
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
`/person/info/bindUser`
,
method
:
'post'
,
params
:
data
})
}
export
function
unbindUser
()
{
return
request
({
url
:
`/person/info/unBindUser`
,
method
:
'post'
})
return
request
({
url
:
`/person/info/unBindUser`
,
method
:
'post'
})
}
/**
* 订单列表
* @param params
...
...
@@ -1485,6 +1627,7 @@ export function deleteOrder(id) {
method
:
'delete'
})
}
/**
* 取消订单
* @param params
...
...
@@ -1511,6 +1654,7 @@ export function getAssoPers(perId) {
method
:
'get'
})
}
export
function
checkMember
(
data
)
{
return
request
({
url
:
'/member/info/checkMember'
,
...
...
@@ -1526,17 +1670,19 @@ export function getBusinessLicense(data) {
data
:
data
})
}
export
function
getLogs
(
examId
,
type
)
{
return
request
({
url
:
`/exam/info/getLogs/
${
examId
}
`
,
method
:
'get'
,
params
:
{
type
}
// 1 级位 2 段位 3 段位成绩 4 越段 5 越段成绩
params
:
{
type
}
// 1 级位 2 段位 3 段位成绩 4 越段 5 越段成绩
})
}
export
function
newGetLogs
(
id
)
{
return
request
({
url
:
`/person/paymentRangeNew/getLogs/
${
id
}
`
,
method
:
'get'
,
method
:
'get'
,
})
}
...
...
@@ -1547,10 +1693,11 @@ export function certifiedNewList(params) {
params
})
}
export
function
certifiedNewGetLogs
(
id
)
{
return
request
({
url
:
`/system/certifiedNew/getLogs/
${
id
}
`
,
method
:
'get'
,
method
:
'get'
,
})
}
...
...
@@ -1668,7 +1815,7 @@ export function setDefault(id) {
export
function
getDefaultAddress
()
{
return
request
({
url
:
`/member/postAddress/getDefaultAddress`
,
method
:
'get'
,
method
:
'get'
,
})
}
...
...
@@ -1684,6 +1831,7 @@ export function editAddressOrder(examId, addressId) {
method
:
'put'
})
}
/**
* 查询证书列表
* @param query
...
...
common/api_exam.js
View file @
3a51a1c
...
...
@@ -50,6 +50,7 @@ export function submitCert(data) {
params
:
data
})
}
/**
* 段位考试成绩列表
* @param params
...
...
@@ -165,6 +166,19 @@ export function ztxAudit(params) {
}
/**
* 考点审核
* @param params
* @returns {*}
*/
export
function
shenAuditExamPointApply
(
params
)
{
return
request
({
url
:
`/member/examPointApply/shenAudit/
${
params
.
ids
}
`
,
method
:
'post'
,
params
})
}
/**
* 获取机构资料
* @param memId
* @returns {*}
...
...
common/login.js
View file @
3a51a1c
import
{
useUserStore
useUserStore
}
from
'../store/modules/user'
import
request
from
'./request'
function
pcLogin
(
data
)
{
return
request
({
url
:
'/login'
,
method
:
'post'
,
params
:
data
}).
then
((
res
)
=>
{
uni
.
setStorageSync
(
'token'
,
'Bearer '
+
res
.
data
.
token
)
}).
then
(
getInfo
)
return
request
({
url
:
'/login'
,
method
:
'post'
,
params
:
data
}).
then
((
res
)
=>
{
uni
.
setStorageSync
(
'token'
,
'Bearer '
+
res
.
data
.
token
)
pcLoginOpenId
()
}).
then
(
getInfo
)
}
function
h5Login
(
userName
)
{
return
request
({
url
:
`/h5Login`
,
method
:
'post'
,
params
:
{
username
:
userName
}
}).
then
((
res
)
=>
{
uni
.
setStorageSync
(
'token'
,
'Bearer '
+
res
.
data
.
token
)
}).
then
(
getInfo
)
return
request
({
url
:
`/h5Login`
,
method
:
'post'
,
params
:
{
username
:
userName
}
}).
then
((
res
)
=>
{
uni
.
setStorageSync
(
'token'
,
'Bearer '
+
res
.
data
.
token
)
}).
then
(
getInfo
)
}
function
h5LoginAuto
()
{
const
userName
=
uni
.
getStorageSync
(
'userName'
)
if
(
userName
)
{
return
h5Login
(
userName
)
}
else
{
uni
.
redirectTo
({
url
:
'/login/login'
})
}
const
userName
=
uni
.
getStorageSync
(
'userName'
)
if
(
userName
)
{
return
h5Login
(
userName
)
}
else
{
uni
.
redirectTo
({
url
:
'/login/login'
})
}
}
function
logout
()
{
return
request
({
url
:
'/logout'
,
method
:
'post'
}).
then
(()
=>
{
const
userStore
=
useUserStore
()
const
app
=
getApp
()
uni
.
removeStorageSync
(
'token'
)
uni
.
removeStorageSync
(
'userName'
)
uni
.
removeStorageSync
(
'webUserName'
)
uni
.
removeStorageSync
(
'openId'
)
userStore
.
setUser
(
null
)
app
.
globalData
.
isLogin
=
false
})
return
request
({
url
:
'/logout'
,
method
:
'post'
}).
then
(()
=>
{
const
userStore
=
useUserStore
()
const
app
=
getApp
()
uni
.
removeStorageSync
(
'token'
)
uni
.
removeStorageSync
(
'userName'
)
uni
.
removeStorageSync
(
'webUserName'
)
uni
.
removeStorageSync
(
'openId'
)
userStore
.
setUser
(
null
)
app
.
globalData
.
isLogin
=
false
})
}
function
getCodeImg
()
{
return
request
({
url
:
'/captchaImage'
,
method
:
'get'
})
return
request
({
url
:
'/captchaImage'
,
method
:
'get'
})
}
// 代退图形认证的获取手机验证码
function
getSmsCode
(
data
)
{
return
request
({
// url: '/captchaSmsWithCaptchaImage',
url
:
'/captchaSmsWithCaptchaImageForMiniApp'
,
method
:
'post'
,
params
:
data
})
return
request
({
// url: '/captchaSmsWithCaptchaImage',
url
:
'/captchaSmsWithCaptchaImageForMiniApp'
,
method
:
'post'
,
params
:
data
})
}
function
loginByPhone
(
phonenumber
,
code
)
{
const
data
=
{
phonenumber
,
code
}
return
request
({
url
:
'/userLoginByPhone'
,
method
:
'post'
,
params
:
data
}).
then
((
res
)
=>
{
uni
.
showToast
({
title
:
res
.
msg
,
icon
:
'none'
})
uni
.
setStorageSync
(
'token'
,
'Bearer '
+
res
.
data
.
token
)
}).
then
(
getInfo
)
const
data
=
{
phonenumber
,
code
}
return
request
({
url
:
'/userLoginByPhone'
,
method
:
'post'
,
params
:
data
}).
then
((
res
)
=>
{
uni
.
showToast
({
title
:
res
.
msg
,
icon
:
'none'
})
uni
.
setStorageSync
(
'token'
,
'Bearer '
+
res
.
data
.
token
)
}).
then
(
getInfo
)
}
// 获取用户详细信息
function
getInfo
()
{
return
request
({
url
:
'/getInfo'
,
method
:
'get'
}).
then
(
res
=>
{
const
userStore
=
useUserStore
()
const
app
=
getApp
()
const
user
=
res
.
data
.
user
uni
.
setStorageSync
(
'userName'
,
user
.
userName
)
uni
.
removeStorageSync
(
'webUserName'
)
userStore
.
setUser
(
user
)
app
.
globalData
.
deptType
=
user
.
dept
.
deptType
app
.
globalData
.
genFlag
=
user
.
dept
.
genFlag
app
.
globalData
.
changePassFlag
=
user
.
changePassFlag
switch
(
user
.
dept
.
deptType
)
{
case
'1'
:
// 中跆协
app
.
globalData
.
userType
=
'1'
break
case
'2'
:
// 省
case
'3'
:
app
.
globalData
.
userType
=
'2'
break
case
'6'
:
// 道馆
app
.
globalData
.
userType
=
'4'
break
default
:
// 市、区
app
.
globalData
.
userType
=
'3'
break
}
})
return
request
({
url
:
'/getInfo'
,
method
:
'get'
}).
then
(
res
=>
{
const
userStore
=
useUserStore
()
const
app
=
getApp
()
const
user
=
res
.
data
.
user
uni
.
setStorageSync
(
'userName'
,
user
.
userName
)
uni
.
removeStorageSync
(
'webUserName'
)
userStore
.
setUser
(
user
)
app
.
globalData
.
deptType
=
user
.
dept
.
deptType
app
.
globalData
.
genFlag
=
user
.
dept
.
genFlag
app
.
globalData
.
changePassFlag
=
user
.
changePassFlag
switch
(
user
.
dept
.
deptType
)
{
case
'1'
:
// 中跆协
app
.
globalData
.
userType
=
'1'
break
case
'2'
:
// 省
case
'3'
:
app
.
globalData
.
userType
=
'2'
break
case
'6'
:
// 道馆
app
.
globalData
.
userType
=
'4'
break
default
:
// 市、区
app
.
globalData
.
userType
=
'3'
break
}
})
}
function
getWebInfo
()
{
return
request
({
url
:
'/person/info/getInfo'
,
method
:
'get'
}).
then
(
res
=>
{
const
userStore
=
useUserStore
()
const
user
=
res
.
data
.
user
delete
res
.
data
.
user
const
perInfo
=
res
.
data
uni
.
setStorageSync
(
'webUserName'
,
user
.
userName
)
uni
.
removeStorageSync
(
'userName'
)
userStore
.
setUser
(
user
)
userStore
.
setPerInfo
(
perInfo
)
})
return
request
({
url
:
'/person/info/getInfo'
,
method
:
'get'
}).
then
(
res
=>
{
const
userStore
=
useUserStore
()
const
user
=
res
.
data
.
user
delete
res
.
data
.
user
const
perInfo
=
res
.
data
uni
.
setStorageSync
(
'webUserName'
,
user
.
userName
)
uni
.
removeStorageSync
(
'userName'
)
userStore
.
setUser
(
user
)
userStore
.
setPerInfo
(
perInfo
)
})
}
// 团队会员用户注册接口
function
groupMemberRegister
(
data
)
{
return
request
({
url
:
'/groupMemberRegister'
,
method
:
'post'
,
params
:
data
})
return
request
({
url
:
'/groupMemberRegister'
,
method
:
'post'
,
params
:
data
})
}
// 获取道馆信息
function
getMyOwnMemberInfo
()
{
return
request
({
url
:
'/member/info/getMyOwnMemberInfo'
,
method
:
'get'
}).
then
(
res
=>
{
const
app
=
getApp
()
app
.
globalData
.
authenticationStatus
=
res
.
data
.
authenticationStatus
app
.
globalData
.
memberInfo
=
res
.
data
.
memberInfo
app
.
globalData
.
isExam
=
res
.
data
?.
memberInfo
?.
isPoints
})
return
request
({
url
:
'/member/info/getMyOwnMemberInfo'
,
method
:
'get'
}).
then
(
res
=>
{
const
app
=
getApp
()
app
.
globalData
.
authenticationStatus
=
res
.
data
.
authenticationStatus
app
.
globalData
.
memberInfo
=
res
.
data
.
memberInfo
app
.
globalData
.
isExam
=
res
.
data
?.
memberInfo
?.
isPoints
})
}
function
pcLoginOpenId
()
{
uni
.
login
({
provider
:
'weixin'
,
success
:
(
res
)
=>
{
if
(
res
.
code
)
{
pcBindOpenId
(
res
.
code
)
}
},
fail
:
(
res
)
=>
{
uni
.
showToast
({
title
:
'获取用户信息失败'
,
icon
:
'none'
,
duration
:
2000
})
}
})
}
function
wxLogin
()
{
const
openId
=
uni
.
getStorageSync
(
'openId'
)
if
(
openId
)
{
return
pcLoginByOpenId
(
openId
)
}
else
{
return
new
Promise
((
resolve
,
reject
)
=>
{
uni
.
login
({
provider
:
'weixin'
,
success
:
(
res
)
=>
{
resolve
(
res
)
},
fail
:
(
res
)
=>
{
uni
.
showToast
({
title
:
'获取用户信息失败'
,
icon
:
'none'
,
duration
:
2000
})
reject
(
res
)
}
})
}).
then
(
res
=>
{
return
pcLoginByCode
(
res
.
code
)
})
}
const
openId
=
uni
.
getStorageSync
(
'openId'
)
if
(
openId
)
{
return
pcLoginByOpenId
(
openId
)
}
else
{
return
new
Promise
((
resolve
,
reject
)
=>
{
uni
.
login
({
provider
:
'weixin'
,
success
:
(
res
)
=>
{
resolve
(
res
)
},
fail
:
(
res
)
=>
{
uni
.
showToast
({
title
:
'获取用户信息失败'
,
icon
:
'none'
,
duration
:
2000
})
reject
(
res
)
}
})
}).
then
(
res
=>
{
return
pcLoginByCode
(
res
.
code
)
})
}
}
function
pcLoginByCode
(
code
)
{
return
request
({
url
:
`/loginByJsCode?jsCode=
${
code
}
`
,
method
:
"POST"
}).
then
((
res
)
=>
{
uni
.
setStorageSync
(
'token'
,
'Bearer '
+
res
.
data
.
token
);
uni
.
setStorageSync
(
'openId'
,
res
.
data
.
openId
);
})
return
request
({
url
:
`/loginByJsCode?jsCode=
${
code
}
`
,
method
:
"POST"
}).
then
((
res
)
=>
{
uni
.
setStorageSync
(
'token'
,
'Bearer '
+
res
.
data
.
token
);
uni
.
setStorageSync
(
'openId'
,
res
.
data
.
openId
);
})
}
function
pcLoginByOpenId
(
openId
)
{
return
request
({
url
:
`/loginByOpenId?openId=
${
openId
}
`
,
method
:
"POST"
}).
then
((
res
)
=>
{
uni
.
setStorageSync
(
'token'
,
'Bearer '
+
res
.
data
.
token
);
})
return
request
({
url
:
`/loginByOpenId?openId=
${
openId
}
`
,
method
:
"POST"
}).
then
((
res
)
=>
{
uni
.
setStorageSync
(
'token'
,
'Bearer '
+
res
.
data
.
token
);
})
}
function
pcBindOpenId
(
code
)
{
return
request
({
url
:
`/bindOpenId?jsCode=
${
code
}
`
,
method
:
"POST"
,
}).
then
((
res
)
=>
{
uni
.
setStorageSync
(
'openId'
,
res
.
data
.
openId
);
})
}
export
{
pcLogin
,
getCodeImg
,
getSmsCode
,
h5Login
,
h5LoginAuto
,
loginByPhone
,
groupMemberRegister
,
getMyOwnMemberInfo
,
logout
,
getInfo
,
getWebInfo
,
wxLogin
}
\ No newline at end of file
pcLogin
,
getCodeImg
,
getSmsCode
,
h5Login
,
h5LoginAuto
,
loginByPhone
,
groupMemberRegister
,
getMyOwnMemberInfo
,
logout
,
getInfo
,
getWebInfo
,
wxLogin
}
...
...
common/pay.js
View file @
3a51a1c
...
...
@@ -66,6 +66,7 @@ async function minShengPay(orderId, encryptedData) {
}))
if
(
decryptErr
||
!
decryptResult
?.
data
)
{
handlePaymentError
(
new
Error
(
ERROR_MESSAGES
.
DECRYPT_FAILED
),
orderId
)
}
...
...
@@ -85,14 +86,14 @@ async function minShengPay(orderId, encryptedData) {
uni
.
hideLoading
()
// 8. 调起微信支付
const
[
payErr
,
paySuccess
]
=
await
to
(
invokeWechatPayment
(
payParams
,
orderId
))
const
[
payErr
]
=
await
to
(
invokeWechatPayment
(
payParams
,
orderId
))
if
(
payErr
)
{
handlePaymentError
(
payErr
,
orderId
)
}
if
(
paySuccess
)
{
return
paySuccess
}
//
if (paySuccess) {
//
return paySuccess
//
}
}
/**
...
...
@@ -194,7 +195,6 @@ function parsePayInfo(payInfoStr) {
* @returns {Promise<Object>} 支付结果
*/
function
invokeWechatPayment
(
payParams
,
orderId
)
{
debugger
return
new
Promise
((
resolve
,
reject
)
=>
{
// 参数校验
const
requiredFields
=
[
'appId'
,
'nonceStr'
,
'prepayId'
,
'timeStamp'
,
'signType'
,
'paySign'
]
...
...
common/request.js
View file @
3a51a1c
...
...
@@ -30,7 +30,7 @@ function getHeaders() {
return
header
}
const
request
=
function
(
req
)
{
const
request
=
function
(
req
)
{
req
.
method
=
req
.
method
.
toUpperCase
()
if
(
!
[
'GET'
,
'POST'
,
'PUT'
,
'DELETE'
].
includes
(
req
.
method
))
{
uni
.
showToast
({
...
...
@@ -39,7 +39,7 @@ const request = function(req) {
})
return
}
// if (req.method === 'GET') {
// if (!req.params) {
// req.params = {}
...
...
@@ -47,13 +47,13 @@ const request = function(req) {
// req.params.pageNum = req.params.pageNum || 1
// req.params.pageSize = req.params.pageSize || 50
// }
// if (req.method == 'POST' && !req.hideLoding) {
// uni.showLoading({
// title: '提交中...'
// })
// }
return
new
Promise
((
resolve
,
reject
)
=>
{
uni
.
request
({
url
:
config
.
baseUrl_api
+
req
.
url
,
...
...
@@ -74,7 +74,7 @@ const request = function(req) {
// uni.showModal({
// content: data.msg,
// success: function(res) {
// }
// })
uni
.
showToast
({
...
...
@@ -84,9 +84,9 @@ const request = function(req) {
})
// }
// uni.hideLoading()
// }
// 登录超时
// if (data.code === 60002 || data.code === 60001) {
// uni.redirectTo({
...
...
@@ -108,7 +108,7 @@ const request = function(req) {
// })
// })
// }
reject
(
res
)
}
break
...
...
@@ -119,7 +119,7 @@ const request = function(req) {
reject
(
res
)
}).
finally
(()
=>
{
// if (req.method == 'POST' && !req.hideLoading) {
uni
.
hideLoading
()
uni
.
hideLoading
()
// }
})
})
...
...
config.js
View file @
3a51a1c
// dev
// const baseUrl_api = 'http://192.168.1.137:8787'
const
baseUrl_api
=
'http://tk001.wxjylt.com/stage-api'
const
baseUrl_api
=
'http://192.168.1.137:8787'
// const baseUrl_api = 'http://tk001.wxjylt.com/stage-api'
const
loginImage_api
=
'http://tk001.wxjylt.com/stage-api'
const
payUrl
=
'https://wxpay.cmbc.com.cn/mobilePlatform/appserver/lcbpPay.do'
// prod
...
...
@@ -8,6 +9,8 @@ const payUrl = 'https://wxpay.cmbc.com.cn/mobilePlatform/appserver/lcbpPay.do'
// const payUrl = 'https://epay.cmbc.com.cn/appweb/appserver/lcbpPay.do'
export
default
{
baseUrl_api
,
payUrl
baseUrl_api
,
payUrl
,
loginImage_api
}
...
...
level/ztx/examinationAudit.vue
View file @
3a51a1c
...
...
@@ -2,61 +2,80 @@
<view
class=
"audit-page"
>
<!-- 提示信息 -->
<view
class=
"tips-box"
>
<uni-icons
type=
"info"
size=
"18"
color=
"#13B5B1
"
></uni-icons>
<text
class=
"tips-text"
v-if=
"type === 'batch'
"
>
批量审核
{{
ids
.
split
(
','
).
length
}}
条记录
</text>
<text
class=
"tips-text"
v-else
>
单个审核
</text>
<uni-icons
color=
"#13B5B1"
size=
"18"
type=
"info
"
></uni-icons>
<text
v-if=
"type === 'batch'"
class=
"tips-text
"
>
批量审核
{{
ids
.
split
(
','
).
length
}}
条记录
</text>
<text
v-else
class=
"tips-text"
>
单个审核
</text>
</view>
<!-- 审核表单 -->
<view
class=
"form-section"
>
<view
class=
"section-header"
>
<uni-icons
type=
"edit"
size=
"18"
color=
"#AD181F
"
></uni-icons>
<uni-icons
color=
"#AD181F"
size=
"18"
type=
"edit
"
></uni-icons>
<text
class=
"section-title"
>
审核信息
</text>
</view>
<view
class=
"form-card"
>
<view
class=
"form-item"
>
<text
class=
"form-label"
>
审批结果
</text>
<view
class=
"radio-group"
>
<view
class=
"radio-item"
:class=
"
{ selected: form.flag === '1' }"
class="radio-item"
@click="form.flag = '1'"
>
<view
class=
"radio-circle"
>
<uni-icons
v-if=
"form.flag === '1'"
type=
"checkmark"
size=
"10"
color=
"#fff
"
></uni-icons>
<uni-icons
v-if=
"form.flag === '1'"
color=
"#fff"
size=
"10"
type=
"checkmark
"
></uni-icons>
</view>
<text>
审批通过
</text>
</view>
<view
class=
"radio-item"
:class=
"
{ selected: form.flag === '0' }"
class="radio-item"
@click="form.flag = '0'"
>
<view
class=
"radio-circle"
>
<uni-icons
v-if=
"form.flag === '0'"
type=
"checkmark"
size=
"10"
color=
"#fff
"
></uni-icons>
<uni-icons
v-if=
"form.flag === '0'"
color=
"#fff"
size=
"10"
type=
"checkmark
"
></uni-icons>
</view>
<text>
审批拒绝
</text>
</view>
</view>
</view>
<view
class=
"form-item"
>
<text
class=
"form-label"
>
备注
</text>
<textarea
v-model=
"form.reason"
:maxlength=
"500"
class=
"textarea"
placeholder=
"请输入备注信息(拒绝时必填)"
:maxlength=
"500"
/>
</view>
</view>
</view>
<view
v-if=
"userType==2&&selfSelect==0"
class=
"section"
>
<view
class=
"section examiner-section"
>
<button
class=
"add-btn"
@
click=
"handelAddExamine"
>
+ 添加考官
</button>
</view>
<view
class=
"examiner-list"
>
<view
v-for=
"(item, index) in list"
:key=
"item.id"
class=
"examiner-item"
>
<view
class=
"info"
>
<text
class=
"name"
>
{{
item
.
perName
}}
{{
item
.
perCode
}}
</text>
<text
class=
"idc"
>
证件号码:
{{
item
.
perIdcCode
}}
</text>
<text
class=
"reg"
>
注册地:
{{
item
.
memName
}}
</text>
</view>
<button
class=
"del-btn"
@
click=
"handleDel(item)"
>
删除
</button>
</view>
</view>
</view>
<!-- 提交按钮 -->
<view
class=
"submit-wrap"
>
<button
class=
"btn-cancel"
@
click=
"goBack"
>
取消
</button>
<button
class=
"btn-submit"
@
click=
"doSubmit"
:disabled=
"submitting
"
>
<button
:disabled=
"submitting"
class=
"btn-submit"
@
click=
"doSubmit
"
>
<text
v-if=
"!submitting"
>
确认提交
</text>
<text
v-else
>
提交中...
</text>
</button>
...
...
@@ -66,32 +85,63 @@
<
script
setup
>
import
*
as
api
from
'@/common/api_exam.js'
import
{
ref
}
from
'vue'
import
{
onLoad
}
from
'@dcloudio/uni-app'
import
{
ref
}
from
'vue'
import
{
onLoad
}
from
'@dcloudio/uni-app'
import
{
listApi
}
from
"@/common/api.js"
;
const
type
=
ref
(
'single'
)
// single 或 batch
const
ids
=
ref
(
''
)
const
submitting
=
ref
(
false
)
const
selfSelect
=
ref
(
'1'
)
const
userType
=
ref
(
''
)
const
list
=
ref
([])
const
memId
=
ref
(
''
)
const
app
=
getApp
();
const
form
=
ref
({
flag
:
'1'
,
reason
:
''
reason
:
''
,
selfSelect
:
"1"
})
onLoad
((
options
)
=>
{
console
.
log
(
options
)
if
(
options
.
type
)
{
type
.
value
=
options
.
type
}
if
(
options
.
ids
)
{
ids
.
value
=
options
.
ids
}
if
(
options
.
selfSelect
)
{
selfSelect
.
value
=
options
.
selfSelect
}
if
(
options
.
memId
)
{
memId
.
value
=
options
.
memId
getExaminer
()
}
userType
.
value
=
app
.
globalData
.
userType
console
.
log
(
userType
.
value
)
})
function
goBack
()
{
uni
.
navigateBack
()
}
function
handelAddExamine
()
{
const
chosenStr
=
JSON
.
stringify
(
list
.
value
)
uni
.
navigateTo
({
url
:
`/myCenter/chooseExaminer?memId=
${
memId
.
value
}
&isValidity=0&chosen=
${
chosenStr
}
&selfSelect=0`
})
}
async
function
getExaminer
()
{
const
res
=
await
listApi
({
memId
:
memId
.
value
})
list
.
value
=
res
.
rows
}
function
doSubmit
()
{
if
(
form
.
value
.
flag
===
'0'
&&
!
form
.
value
.
reason
)
{
uni
.
showToast
({
...
...
@@ -100,32 +150,51 @@ function doSubmit() {
})
return
}
if
(
submitting
.
value
)
return
submitting
.
value
=
true
const
params
=
{
ids
:
ids
.
value
,
flag
:
form
.
value
.
flag
,
reason
:
form
.
value
.
reason
||
''
reason
:
form
.
value
.
reason
||
''
,
selfSelect
:
selfSelect
.
value
}
api
.
ztxAudit
(
params
).
then
(
res
=>
{
uni
.
showToast
({
title
:
'操作成功'
,
icon
:
'success'
if
(
userType
.
value
==
'1'
)
{
api
.
ztxAudit
(
params
).
then
(
res
=>
{
uni
.
showToast
({
title
:
'操作成功'
,
icon
:
'success'
})
setTimeout
(()
=>
{
uni
.
navigateBack
()
},
1500
)
}).
catch
(
err
=>
{
console
.
error
(
'审核失败'
,
err
)
uni
.
showToast
({
title
:
'操作失败'
,
icon
:
'none'
})
submitting
.
value
=
false
})
setTimeout
(()
=>
{
uni
.
navigateBack
()
},
1500
)
}).
catch
(
err
=>
{
console
.
error
(
'审核失败'
,
err
)
uni
.
showToast
({
title
:
'操作失败'
,
icon
:
'none'
}
else
{
api
.
shenAuditExamPointApply
(
params
).
then
(
res
=>
{
uni
.
showToast
({
title
:
'操作成功'
,
icon
:
'success'
})
setTimeout
(()
=>
{
uni
.
navigateBack
()
},
1500
)
}).
catch
(
err
=>
{
console
.
error
(
'审核失败'
,
err
)
uni
.
showToast
({
title
:
'操作失败'
,
icon
:
'none'
})
submitting
.
value
=
false
})
submitting
.
value
=
false
})
}
}
</
script
>
...
...
@@ -145,7 +214,7 @@ function doSubmit() {
display
:
flex
;
align-items
:
center
;
gap
:
12
rpx
;
.tips-text
{
font-size
:
26
rpx
;
color
:
#13B5B1
;
...
...
@@ -163,7 +232,7 @@ function doSubmit() {
display
:
flex
;
align-items
:
center
;
margin-bottom
:
30
rpx
;
.section-title
{
font-size
:
30
rpx
;
font-weight
:
600
;
...
...
@@ -175,11 +244,11 @@ function doSubmit() {
.form-card
{
.form-item
{
margin-bottom
:
30
rpx
;
&:last-child
{
margin-bottom
:
0
;
}
.form-label
{
display
:
block
;
font-size
:
28
rpx
;
...
...
@@ -187,19 +256,19 @@ function doSubmit() {
margin-bottom
:
16
rpx
;
font-weight
:
500
;
}
.radio-group
{
display
:
flex
;
gap
:
40
rpx
;
}
.radio-item
{
display
:
flex
;
align-items
:
center
;
gap
:
12
rpx
;
font-size
:
28
rpx
;
color
:
#333
;
.radio-circle
{
width
:
36
rpx
;
height
:
36
rpx
;
...
...
@@ -209,7 +278,7 @@ function doSubmit() {
align-items
:
center
;
justify-content
:
center
;
}
&
.selected
{
.radio-circle
{
background-color
:
#13B5B1
;
...
...
@@ -217,7 +286,7 @@ function doSubmit() {
}
}
}
.textarea
{
width
:
100%
;
height
:
200
rpx
;
...
...
@@ -245,7 +314,7 @@ function doSubmit() {
gap
:
30
rpx
;
padding
:
0
30
rpx
;
box-shadow
:
0
-4
rpx
20
rpx
rgba
(
0
,
0
,
0
,
0.05
);
button
{
flex
:
1
;
height
:
80
rpx
;
...
...
@@ -254,19 +323,176 @@ function doSubmit() {
border-radius
:
40
rpx
;
border
:
none
;
}
.btn-cancel
{
background-color
:
#f5f5f5
;
color
:
#666
;
}
.btn-submit
{
background
:
linear-gradient
(
135deg
,
#13B5B1
,
#15c5c1
);
color
:
#fff
;
&[disabled]
{
background
:
#ccc
;
}
}
}
.section
{
padding
:
15
rpx
20
rpx
;
}
/* 考官区域 */
.examiner-section
{
background
:
#fff
;
padding
:
15
rpx
;
margin-bottom
:
20
rpx
;
border
:
none
;
border-radius
:
0
;
}
.add-btn
{
background
:
#fff
;
color
:
#C4121B
;
border
:
1
rpx
solid
#C4121B
;
border-radius
:
10
rpx
;
padding
:
10
rpx
0
;
width
:
100%
;
font-size
:
14px
;
}
.examiner-list
{
padding
:
0
10
rpx
;
background-color
:
#fff
;
margin-bottom
:
20
rpx
;
overflow-y
:
auto
;
margin-bottom
:
70px
;
}
examiner-item
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
flex-start
;
padding
:
20
rpx
;
border-bottom
:
1
rpx
solid
#eee
;
align-items
:
center
;
}
.info
{
flex
:
1
;
}
.name
{
font-size
:
14px
;
font-weight
:
500
;
color
:
#333
;
display
:
block
;
margin-bottom
:
5
rpx
;
}
.idc
,
.reg
{
font-size
:
12px
;
color
:
#666
;
display
:
block
;
margin
:
10
rpx
0
;
}
.del-btn
{
color
:
#C4121B
;
font-size
:
12px
;
border
:
1
rpx
solid
#C4121B
;
border-radius
:
50
rpx
;
padding
:
10
rpx
25
rpx
;
line-height
:
1.2
;
background
:
#fff
;
}
/* 提交按钮 */
.submit-area
{
padding
:
20
rpx
0
;
background-color
:
#fff
;
width
:
100%
;
position
:
fixed
;
bottom
:
0
;
}
.submit-btn
{
width
:
80%
;
height
:
88
rpx
;
border-radius
:
44
rpx
;
margin
:
0
auto
;
line-height
:
88
rpx
;
background
:
#C4121B
;
color
:
#fff
;
text-align
:
center
;
font-size
:
16px
;
border
:
none
;
}
/* 自定义弹窗样式(核心) */
.custom-modal
{
width
:
600
rpx
;
background
:
#fff
;
border-radius
:
20
rpx
;
padding
:
40
rpx
30
rpx
;
box-sizing
:
border-box
;
text-align
:
center
;
}
.modal-title
{
font-size
:
36
rpx
;
font-weight
:
600
;
color
:
#333
;
margin-bottom
:
30
rpx
;
}
.modal-content
{
font-size
:
30
rpx
;
color
:
#666
;
line-height
:
1.6
;
margin-bottom
:
30
rpx
;
}
.modal-tip
{
font-size
:
28
rpx
;
color
:
#FF7A00
;
margin-top
:
20
rpx
;
}
.modal-btns
{
display
:
flex
;
justify-content
:
space-between
;
gap
:
20
rpx
;
}
.btn-cancel
{
flex
:
1
;
height
:
80
rpx
;
line-height
:
80
rpx
;
background
:
#f5f5f5
;
color
:
#999
;
border-radius
:
40
rpx
;
font-size
:
32
rpx
;
border
:
none
;
}
.btn-confirm
{
flex
:
1
;
height
:
80
rpx
;
line-height
:
80
rpx
;
background
:
#C4121B
;
color
:
#fff
;
border-radius
:
40
rpx
;
font-size
:
32
rpx
;
border
:
none
;
}
.single-btn
{
flex
:
1
;
}
.btn-cancel
::after
,
.btn-confirm
::after
{
border
:
none
;
}
</
style
>
...
...
level/ztx/examinationDetail.vue
View file @
3a51a1c
...
...
@@ -3,7 +3,7 @@
<!-- 基本信息 -->
<view
class=
"section"
>
<view
class=
"section-header"
>
<uni-icons
type=
"paperclip"
size=
"18"
color=
"#AD181F
"
></uni-icons>
<uni-icons
color=
"#AD181F"
size=
"18"
type=
"paperclip
"
></uni-icons>
<text
class=
"section-title"
>
基本信息
</text>
</view>
<view
class=
"info-card"
>
...
...
@@ -17,7 +17,7 @@
</view>
<view
class=
"info-row"
>
<text
class=
"label"
>
审核状态
</text>
<text
class=
"value"
:class=
"getStatusClass(form.auditStatus)
"
>
<text
:class=
"getStatusClass(form.auditStatus)"
class=
"value
"
>
{{
getStatusText
(
form
.
auditStatus
)
}}
</text>
</view>
...
...
@@ -43,16 +43,16 @@
</view>
</view>
</view>
<!-- 审核记录 -->
<view
class=
"section"
v-if=
"auditList.length > 0
"
>
<view
v-if=
"auditList.length > 0"
class=
"section
"
>
<view
class=
"section-header"
>
<uni-icons
type=
"checkmark-circle"
size=
"18"
color=
"#AD181F
"
></uni-icons>
<uni-icons
color=
"#AD181F"
size=
"18"
type=
"checkmark-circle
"
></uni-icons>
<text
class=
"section-title"
>
审核记录
</text>
</view>
<view
class=
"audit-list"
>
<view
class=
"audit-item"
v-for=
"(item, index) in auditList"
:key=
"index
"
>
<view
class=
"audit-dot"
:class=
"item.auditResult == 2 ? 'pass' : 'fail'
"
></view>
<view
v-for=
"(item, index) in auditList"
:key=
"index"
class=
"audit-item
"
>
<view
:class=
"item.auditResult == 2 ? 'pass' : 'fail'"
class=
"audit-dot
"
></view>
<view
class=
"audit-content"
>
<view
class=
"audit-row"
>
<text
class=
"audit-label"
>
审核协会
</text>
...
...
@@ -64,11 +64,11 @@
</view>
<view
class=
"audit-row"
>
<text
class=
"audit-label"
>
审核状态
</text>
<text
class=
"audit-value"
:class=
"item.auditResult == 2 ? 'text-success' : 'text-danger'
"
>
<text
:class=
"item.auditResult == 2 ? 'text-success' : 'text-danger'"
class=
"audit-value
"
>
{{
item
.
auditResult
==
2
?
'通过'
:
'拒绝'
}}
</text>
</view>
<view
class=
"audit-row"
v-if=
"item.auditMsg
"
>
<view
v-if=
"item.auditMsg"
class=
"audit-row
"
>
<text
class=
"audit-label"
>
备注
</text>
<text
class=
"audit-value"
>
{{
item
.
auditMsg
}}
</text>
</view>
...
...
@@ -76,44 +76,44 @@
</view>
</view>
</view>
<!--
考官信息
-->
<
view
class=
"section"
v-if=
"examinerList.length > 0"
>
<view
class=
"section-header"
>
<uni-icons
type=
"person"
size=
"18"
color=
"#AD181F"
></uni-icons
>
<text
class=
"section-title"
>
考官信息
</text
>
</view
>
<view
class=
"examiner-table"
v-if=
"examinerList.length > 0"
>
<view
class=
"table-header"
>
<view
class=
"th th-name"
>
姓名
</view
>
<view
class=
"th th-code"
>
会员号
</view
>
<view
class=
"th th-idcard"
>
证件号码
</view
>
</view
>
<view
class=
"table-body"
>
<view
class=
"table-row"
v-for=
"(item, index) in examinerList"
:key=
"index"
>
<view
class=
"td td-name"
>
{{
item
.
perName
}}
</view
>
<view
class=
"td td-code"
>
{{
item
.
perCode
||
'-'
}}
</view
>
<view
class=
"td td-idcard"
>
{{
item
.
perIdcCode
||
'-'
}}
</view
>
</view
>
</view
>
</view
>
<view
class=
"no-data"
v-else
>
<text>
暂无考官信息
</text
>
</view
>
<
/view
>
<!--
<!– 考官信息 –>
-->
<
!--
<view
class=
"section"
v-if=
"examinerList.length > 0"
>
--
>
<!--
<view
class=
"section-header"
>
--
>
<!--
<uni-icons
type=
"person"
size=
"18"
color=
"#AD181F"
></uni-icons>
--
>
<!--
<text
class=
"section-title"
>
考官信息
</text>
--
>
<!--
</view>
--
>
<!--
<view
class=
"examiner-table"
v-if=
"examinerList.length > 0"
>
--
>
<!--
<view
class=
"table-header"
>
--
>
<!--
<view
class=
"th th-name"
>
姓名
</view>
--
>
<!--
<view
class=
"th th-code"
>
会员号
</view>
--
>
<!--
<view
class=
"th th-idcard"
>
证件号码
</view>
--
>
<!--
</view>
--
>
<!--
<view
class=
"table-body"
>
--
>
<!--
<view
class=
"table-row"
v-for=
"(item, index) in examinerList"
:key=
"index"
>
--
>
<!--
<view
class=
"td td-name"
>
{{
item
.
perName
}}
</view>
--
>
<!--
<view
class=
"td td-code"
>
{{
item
.
perCode
||
'-'
}}
</view>
--
>
<!--
<view
class=
"td td-idcard"
>
{{
item
.
perIdcCode
||
'-'
}}
</view>
--
>
<!--
</view>
--
>
<!--
</view>
--
>
<!--
</view>
--
>
<!--
<view
class=
"no-data"
v-else
>
--
>
<!--
<text>
暂无考官信息
</text>
--
>
<!--
</view>
--
>
<
!--
</view>
--
>
</view>
</
template
>
<
script
setup
>
import
*
as
api
from
'@/common/api_exam.js'
import
{
ref
}
from
'vue'
import
{
onLoad
}
from
'@dcloudio/uni-app'
import
{
ref
}
from
'vue'
import
{
onLoad
}
from
'@dcloudio/uni-app'
const
form
=
ref
({})
const
auditList
=
ref
([])
const
examinerList
=
ref
([])
const
auditStatusMap
=
{
1
:
'审核中'
,
2
:
'审核通过'
,
3
:
'审核拒绝'
}
const
auditStatusMap
=
{
1
:
'审核中'
,
2
:
'审核通过'
,
3
:
'审核拒绝'
}
onLoad
((
options
)
=>
{
if
(
options
.
item
)
{
...
...
@@ -133,7 +133,7 @@ onLoad((options) => {
})
function
getExaminerList
(
memId
)
{
api
.
listInfo
({
memId
:
memId
}).
then
(
res
=>
{
api
.
listInfo
({
memId
:
memId
}).
then
(
res
=>
{
if
(
res
.
rows
)
{
examinerList
.
value
=
res
.
rows
}
...
...
@@ -189,7 +189,7 @@ function formatDateTime(dateStr) {
display
:
flex
;
align-items
:
center
;
margin-bottom
:
24
rpx
;
.section-title
{
font-size
:
30
rpx
;
font-weight
:
600
;
...
...
@@ -204,31 +204,31 @@ function formatDateTime(dateStr) {
justify-content
:
space-between
;
padding
:
16
rpx
0
;
border-bottom
:
1px
solid
#f0f0f0
;
&:last-child
{
border-bottom
:
none
;
}
.label
{
font-size
:
26
rpx
;
color
:
#999
;
flex-shrink
:
0
;
}
.value
{
font-size
:
26
rpx
;
color
:
#333
;
text-align
:
right
;
margin-left
:
20
rpx
;
&.text-success
{
color
:
#4caf50
;
}
&
.text-warning
{
color
:
#ff9800
;
}
&
.text-danger
{
color
:
#f44336
;
}
...
...
@@ -242,11 +242,11 @@ function formatDateTime(dateStr) {
display
:
flex
;
padding
:
20
rpx
0
;
border-bottom
:
1px
dashed
#eee
;
&:last-child
{
border-bottom
:
none
;
}
.audit-dot
{
width
:
14
rpx
;
height
:
14
rpx
;
...
...
@@ -254,43 +254,43 @@ function formatDateTime(dateStr) {
margin-top
:
8
rpx
;
margin-right
:
20
rpx
;
flex-shrink
:
0
;
&.pass
{
background-color
:
#4caf50
;
}
&
.fail
{
background-color
:
#f44336
;
}
}
.audit-content
{
flex
:
1
;
.audit-row
{
display
:
flex
;
margin-bottom
:
10
rpx
;
&:last-child
{
margin-bottom
:
0
;
}
.audit-label
{
font-size
:
24
rpx
;
color
:
#999
;
width
:
140
rpx
;
flex-shrink
:
0
;
}
.audit-value
{
font-size
:
26
rpx
;
color
:
#333
;
flex
:
1
;
&.text-success
{
color
:
#4caf50
;
}
&
.text-danger
{
color
:
#f44336
;
}
...
...
@@ -305,11 +305,11 @@ function formatDateTime(dateStr) {
border
:
1px
solid
#eee
;
border-radius
:
12
rpx
;
overflow
:
hidden
;
.table-header
{
display
:
flex
;
background-color
:
#f5f5f5
;
.th
{
padding
:
20
rpx
0
;
text-align
:
center
;
...
...
@@ -318,20 +318,28 @@ function formatDateTime(dateStr) {
font-weight
:
500
;
}
}
.th-name
{
width
:
25%
;
}
.th-code
{
width
:
30%
;
}
.th-idcard
{
width
:
45%
;
}
.th-name
{
width
:
25%
;
}
.th-code
{
width
:
30%
;
}
.th-idcard
{
width
:
45%
;
}
.table-body
{
.table-row
{
display
:
flex
;
border-bottom
:
1px
solid
#eee
;
&:last-child
{
border-bottom
:
none
;
}
.td
{
padding
:
20
rpx
0
;
text-align
:
center
;
...
...
@@ -342,10 +350,18 @@ function formatDateTime(dateStr) {
white-space
:
nowrap
;
}
}
.td-name
{
width
:
25%
;
}
.td-code
{
width
:
30%
;
}
.td-idcard
{
width
:
45%
;
}
.td-name
{
width
:
25%
;
}
.td-code
{
width
:
30%
;
}
.td-idcard
{
width
:
45%
;
}
}
}
...
...
level/ztx/examinationVerification.vue
View file @
3a51a1c
...
...
@@ -34,41 +34,41 @@
<button
class=
"btn-reset"
@
click=
"resetQuery"
>
重置
</button>
</view>
</view>
-->
<!-- 顶部Tab栏(截图风格) -->
<view
class=
"tab-bar"
>
<view
class=
"tab-item"
v-for=
"(tab, index) in tabList"
:key=
"index"
:class=
"
{ active: currentTab === index }"
class="tab-item"
@click="switchTab(index)"
>
{{
tab
.
name
}}
</view>
</view>
<!-- 批量审核按钮(保留原逻辑,仅优化样式) -->
<view
class=
"batch-btn-wrap"
v-if=
"selectedList.length > 0 && currentTab === 0
"
>
<button
class=
"btn-batch"
:disabled=
"selectedList.length === 0
"
@
click=
"goBatchAudit"
>
<uni-icons
type=
"checkmark-circle"
size=
"16"
color=
"#fff
"
></uni-icons>
<view
v-if=
"selectedList.length > 0 && currentTab === 0"
class=
"batch-btn-wrap
"
>
<button
:disabled=
"selectedList.length === 0"
class=
"btn-batch
"
@
click=
"goBatchAudit"
>
<uni-icons
color=
"#fff"
size=
"16"
type=
"checkmark-circle
"
></uni-icons>
批量审核 (
{{
selectedList
.
length
}}
)
</button>
</view>
<!-- 列表区域(保留原字段+截图样式+所有按钮) -->
<scroll-view
:lower-threshold=
"100"
class=
"scroll-list"
scroll-y
@
scrolltolower=
"loadMore"
:lower-threshold=
"100"
>
<view
class=
"appList"
>
<view
class=
"appItem"
v-for=
"(item, index) in infoList"
:key=
"index"
:class=
"
{ 'item-checked': isSelected(item) }"
class="appItem"
>
<!-- 选择框(保留原逻辑+适配截图样式) -->
<!--
<view
class=
"checkbox-wrap"
v-if=
"item.auditStatus == 1"
@
click=
"toggleSelect(item)"
>
...
...
@@ -76,21 +76,21 @@
<uni-icons
v-if=
"isSelected(item)"
type=
"checkmark"
size=
"12"
color=
"#fff"
></uni-icons>
</view>
</view>
-->
<!-- 主内容区(点击跳详情,保留原所有字段) -->
<view
@
click=
"goDetail(item)"
class=
"item-content
"
>
<view
class=
"item-content"
@
click=
"goDetail(item)
"
>
<!-- 状态标签+提交时间(截图风格顶部) -->
<view
class=
"item-top"
>
<text
class=
"submit-time"
>
{{
formatDate
(
item
.
commitTime
)
}}
提交
</text>
<text
class=
"status-tag"
:class=
"getStatusClass(item.auditStatus)
"
>
<text
:class=
"getStatusClass(item.auditStatus)"
class=
"status-tag
"
>
{{
getStatusText
(
item
.
auditStatus
)
}}
</text>
</view>
<!-- 缴费单位名称(原name字段,截图风格标题) -->
<view
class=
"mem-name"
>
{{
item
.
shenMemName
}}
</view>
<!-- 第一行信息:所属协会/会员有效期/是否需要(原flexbox1,截图风格) -->
<view
class=
"info-row"
>
<view
class=
"info-item"
>
...
...
@@ -106,7 +106,7 @@
<text
class=
"info-value"
>
{{
item
.
selfSelect
==
1
?
'否'
:
'是'
}}
</text>
</view>
-->
</view>
<!-- 第二行信息:申请日期/审核日期(原flexbox2,截图风格) -->
<!--
<view
class=
"info-row"
>
<view
class=
"info-item two-col"
>
...
...
@@ -119,7 +119,7 @@
</view>
</view>
-->
</view>
<!-- 操作按钮区(保留原所有按钮:查看/审核/机构资料,截图风格) -->
<view
class=
"func"
>
<!--
<button
class=
"btn-info"
>
查看
</button>
-->
...
...
@@ -127,21 +127,22 @@
v-if=
"item.auditStatus == 1"
class=
"btn-info"
@
click
.
stop=
"goAudit(item)"
>
审核
</button>
>
审核
</button>
<button
class=
"btn-info"
@
click
.
stop=
"goInstitution(item)"
>
机构资料
</button>
</view>
</view>
</view>
<!-- 加载更多(保留原逻辑) -->
<view
class=
"loading-more"
v-if=
"infoList.length > 0
"
>
<uni-load-more
:
status=
"loadMoreStatus"
:contentText=
"loadMoreText
"
></uni-load-more>
<view
v-if=
"infoList.length > 0"
class=
"loading-more
"
>
<uni-load-more
:
contentText=
"loadMoreText"
:status=
"loadMoreStatus
"
></uni-load-more>
</view>
</scroll-view>
<!-- 空数据(保留原逻辑+适配截图样式) -->
<view
class=
"nodata"
v-if=
"infoList.length == 0 && !loading
"
>
<image
mode=
"aspectFit"
:src=
"config.baseUrl_api + '/fs/static/nodata.png'
"
></image>
<view
v-if=
"infoList.length == 0 && !loading"
class=
"nodata
"
>
<image
:src=
"config.baseUrl_api + '/fs/static/nodata.png'"
mode=
"aspectFit
"
></image>
<text>
暂无数据
</text>
</view>
</view>
...
...
@@ -151,8 +152,8 @@
// 完全保留你原代码的所有JS逻辑、方法、字段,未做任何修改
import
*
as
api
from
'@/common/api_exam.js'
import
config
from
'@/config.js'
import
{
ref
}
from
'vue'
import
{
onLoad
,
onShow
}
from
'@dcloudio/uni-app'
import
{
ref
}
from
'vue'
import
{
onLoad
,
onShow
}
from
'@dcloudio/uni-app'
const
app
=
getApp
()
const
loading
=
ref
(
false
)
...
...
@@ -179,12 +180,14 @@ const selectedList = ref([])
// 新增Tab配置(匹配截图,关联原审核状态)
const
tabList
=
ref
([
{
name
:
'全部'
,
auditStatus
:
''
},
{
name
:
'审核中'
,
auditStatus
:
'1'
},
{
name
:
'审核通过'
,
auditStatus
:
'2'
},
{
name
:
'审核拒绝'
,
auditStatus
:
'3'
}
{
name
:
'全部'
,
auditStatus
:
''
},
{
name
:
'审核中'
,
auditStatus
:
'1'
},
{
name
:
'审核通过'
,
auditStatus
:
'2'
},
{
name
:
'审核拒绝'
,
auditStatus
:
'3'
}
])
const
currentTab
=
ref
(
0
)
const
userType
=
ref
(
''
)
onLoad
(()
=>
{
init
()
...
...
@@ -198,6 +201,9 @@ onShow(() => {
// init()
}
}
userType
.
value
=
app
.
globalData
.
userType
init
()
})
function
init
()
{
...
...
@@ -208,18 +214,26 @@ function init() {
function
switchTab
(
index
)
{
if
(
currentTab
.
value
===
index
)
return
currentTab
.
value
=
index
// 同步原审核状态查询参数
queryParams
.
value
.
auditStatus
=
Number
(
tabList
.
value
[
index
].
auditStatus
)
// 重置列表和选择状态
queryParams
.
value
.
pageNum
=
1
loadMoreStatus
.
value
=
'more'
selectedList
.
value
=
[]
if
(
userType
.
value
==
1
)
{
// 同步原审核状态查询参数
queryParams
.
value
.
auditStatus
=
Number
(
tabList
.
value
[
index
].
auditStatus
)
}
if
(
userType
.
value
==
2
)
{
// 同步原审核状态查询参数
queryParams
.
value
.
shenAuditStatus
=
tabList
.
value
[
index
].
auditStatus
}
getList
()
}
function
getList
(
isLoadMore
=
false
)
{
if
(
loading
.
value
)
return
if
(
!
isLoadMore
)
{
loading
.
value
=
true
queryParams
.
value
.
pageNum
=
1
...
...
@@ -228,17 +242,17 @@ function getList(isLoadMore = false) {
if
(
loadMoreStatus
.
value
===
'noMore'
)
return
loadMoreStatus
.
value
=
'loading'
}
uni
.
showLoading
({
title
:
'加载中'
})
const
params
=
{
...
queryParams
.
value
}
uni
.
showLoading
({
title
:
'加载中'
})
const
params
=
{
...
queryParams
.
value
}
if
(
commitTimeStart
.
value
)
{
params
.
commitTimeStart
=
commitTimeStart
.
value
+
' 00:00:00'
}
if
(
commitTimeEnd
.
value
)
{
params
.
commitTimeEnd
=
commitTimeEnd
+
' 23:59:59'
}
api
.
listInfo
(
params
).
then
(
res
=>
{
uni
.
hideLoading
()
if
(
res
.
rows
)
{
...
...
@@ -327,15 +341,17 @@ function goDetail(item) {
}
function
goAudit
(
item
)
{
const
itemStr
=
encodeURIComponent
(
JSON
.
stringify
(
item
))
// const itemStr = encodeURIComponent(JSON.stringify(item))
uni
.
navigateTo
({
url
:
`/level/ztx/examinationAudit?i
tem=
${
itemStr
}
&type=single
`
url
:
`/level/ztx/examinationAudit?i
ds=
${
item
.
id
}
&type=single&selfSelect=
${
item
.
selfSelect
}
&memId=
${
item
.
memId
}
`
})
}
function
goBatchAudit
()
{
if
(
selectedList
.
value
.
length
===
0
)
return
const
ids
=
selectedList
.
value
.
map
(
s
=>
s
.
id
).
join
(
','
)
const
arr
=
selectedList
.
value
.
filter
(
s
=>
s
.
selfSelect
==
1
)
const
ids
=
arr
.
map
(
s
=>
s
.
id
).
join
(
','
)
uni
.
navigateTo
({
url
:
`/level/ztx/examinationAudit?ids=
${
ids
}
&type=batch`
})
...
...
@@ -348,7 +364,7 @@ function goInstitution(item) {
}
function
getStatusText
(
status
)
{
const
statusMap
=
{
1
:
'审核中'
,
2
:
'审核通过'
,
3
:
'审核拒绝'
}
const
statusMap
=
{
1
:
'审核中'
,
2
:
'审核通过'
,
3
:
'审核拒绝'
}
return
statusMap
[
status
]
||
'-'
}
...
...
@@ -382,7 +398,7 @@ function formatDate(dateStr) {
border-bottom
:
1px
solid
#eee
;
width
:
100%
;
box-sizing
:
border-box
;
.tab-item
{
flex
:
1
;
height
:
88
rpx
;
...
...
@@ -392,11 +408,11 @@ function formatDate(dateStr) {
color
:
#666
;
position
:
relative
;
transition
:
all
0.2s
;
&.active
{
color
:
#C4121B
;
font-weight
:
600
;
&::after
{
content
:
''
;
position
:
absolute
;
...
...
@@ -416,7 +432,7 @@ function formatDate(dateStr) {
.batch-btn-wrap
{
padding
:
0
20
rpx
;
margin
:
20
rpx
0
;
.btn-batch
{
width
:
100%
;
height
:
80
rpx
;
...
...
@@ -430,7 +446,7 @@ function formatDate(dateStr) {
justify-content
:
center
;
gap
:
10
rpx
;
border
:
none
;
&[disabled]
{
background
:
#ccc
;
}
...
...
@@ -466,19 +482,19 @@ function formatDate(dateStr) {
gap
:
24
rpx
;
width
:
100%
;
box-sizing
:
border-box
;
&.item-checked
{
//
border
:
2
rpx
solid
#13B5B1
;
border-top
:
4
rpx
solid
#C4121B
;
}
/* 选择框(保留原位置+适配截图样式) */
.checkbox-wrap
{
position
:
absolute
;
top
:
20
rpx
;
right
:
20
rpx
;
z-index
:
10
;
.checkbox
{
width
:
36
rpx
;
height
:
36
rpx
;
...
...
@@ -489,14 +505,14 @@ function formatDate(dateStr) {
justify-content
:
center
;
background
:
#fff
;
transition
:
all
0.2s
;
&.selected
{
background
:
#13B5B1
;
border-color
:
#13B5B1
;
}
}
}
/* 主内容区 */
.item-content
{
width
:
100%
;
...
...
@@ -504,41 +520,41 @@ function formatDate(dateStr) {
flex-direction
:
column
;
gap
:
16
rpx
;
}
/* 状态+提交时间(截图风格顶部) */
.item-top
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
width
:
100%
;
.status-tag
{
padding
:
6
rpx
20
rpx
;
border-radius
:
20
rpx
;
font-size
:
24
rpx
;
.text-warning
{
background-color
:
#fff3e0
;
color
:
#ff9800
;
}
.text-success
{
background-color
:
#e8f5e9
;
color
:
#4caf50
;
}
.text-danger
{
background-color
:
#ffebee
;
color
:
#f44336
;
}
}
.submit-time
{
font-size
:
24
rpx
;
color
:
#999
;
}
}
/* 缴费单位名称(截图风格标题) */
.mem-name
{
font-size
:
28
rpx
;
...
...
@@ -547,7 +563,7 @@ function formatDate(dateStr) {
padding-bottom
:
8
rpx
;
//
border-bottom
:
1px
dashed
#eee
;
}
/* 信息行(截图风格:浅灰背景+圆角+均匀分布) */
.info-row
{
display
:
flex
;
...
...
@@ -558,24 +574,24 @@ function formatDate(dateStr) {
gap
:
16
rpx
;
width
:
100%
;
box-sizing
:
border-box
;
.info-item
{
flex
:
1
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
gap
:
8
rpx
;
&.two-col
{
flex
:
1
;
max-width
:
48%
;
}
.info-label
{
font-size
:
24
rpx
;
color
:
#999
;
}
.info-value
{
font-size
:
28
rpx
;
color
:
#333
;
...
...
@@ -584,7 +600,7 @@ function formatDate(dateStr) {
}
}
}
/* 操作按钮区(保留原三个按钮+截图风格优化) */
.func
{
display
:
flex
;
...
...
@@ -592,7 +608,7 @@ function formatDate(dateStr) {
width
:
100%
;
box-sizing
:
border-box
;
justify-content
:
flex-end
;
button
{
//
flex
:
1
;
width
:
100px
;
...
...
@@ -603,17 +619,17 @@ function formatDate(dateStr) {
border
:
none
;
transition
:
all
0.2s
;
}
.btn-view
{
background-color
:
#f5f5f5
;
color
:
#666
;
}
.btn-audit
{
background
:
linear-gradient
(
135deg
,
#13B5B1
,
#15c5c1
);
color
:
#fff
;
}
.btn-info
{
border
:
2
rpx
solid
#C4121B
;
//
background
:
linear-gradient
(
135deg
,
#ff9800
,
#ffb74d
);
...
...
@@ -638,12 +654,12 @@ function formatDate(dateStr) {
justify-content
:
center
;
padding
:
100
rpx
0
;
gap
:
20
rpx
;
image
{
width
:
300
rpx
;
height
:
300
rpx
;
}
text
{
font-size
:
28
rpx
;
color
:
#999
;
...
...
@@ -656,28 +672,31 @@ function formatDate(dateStr) {
padding
:
30
rpx
;
margin
:
20
rpx
;
border-radius
:
16
rpx
;
box-shadow
:
0
2
rpx
8
rpx
rgba
(
0
,
0
,
0
,
0.05
);
box-shadow
:
0
2
rpx
8
rpx
rgba
(
0
,
0
,
0
,
0.05
);
}
.search-form
{
display
:
flex
;
flex-wrap
:
wrap
;
justify-content
:
space-between
;
gap
:
24
rpx
;
}
.form-item
{
width
:
48%
;
display
:
flex
;
flex-direction
:
column
;
gap
:
10
rpx
;
&.full-width
{
width
:
100%
;
}
.label
{
font-size
:
26
rpx
;
color
:
#666
;
}
input
{
width
:
100%
;
height
:
70
rpx
;
...
...
@@ -688,6 +707,7 @@ function formatDate(dateStr) {
background-color
:
#fafafa
;
box-sizing
:
border-box
;
}
.picker-value
{
width
:
100%
;
height
:
70
rpx
;
...
...
@@ -702,26 +722,29 @@ function formatDate(dateStr) {
line-height
:
70
rpx
;
box-sizing
:
border-box
;
}
.date-range
{
display
:
flex
;
align-items
:
center
;
gap
:
10
rpx
;
width
:
100%
;
.picker-value
{
flex
:
1
;
}
.date-separator
{
color
:
#999
;
}
}
}
.search-btns
{
display
:
flex
;
justify-content
:
center
;
gap
:
30
rpx
;
margin-top
:
20
rpx
;
button
{
width
:
200
rpx
;
height
:
70
rpx
;
...
...
@@ -730,13 +753,15 @@ function formatDate(dateStr) {
border-radius
:
35
rpx
;
border
:
none
;
}
.btn-search
{
background
:
linear-gradient
(
135deg
,
#13B5B1
,
#15c5c1
);
color
:
#fff
;
}
.btn-reset
{
background-color
:
#f5f5f5
;
color
:
#666
;
}
}
</
style
>
\ No newline at end of file
</
style
>
...
...
login/login.vue
View file @
3a51a1c
<
template
>
<view
class=
"role-entry-page"
>
<!-- 全屏背景图 -->
<image
class=
"page-bg"
:src=
"config.baseUrl_api + '/fs/static/bg.png'
"
mode=
"aspectFill"
></image>
<image
:src=
"config.loginImage_api + '/fs/static/bg.png'"
class=
"page-bg
"
mode=
"aspectFill"
></image>
<!-- 顶部 Logo 区域 -->
<view
class=
"header-wrapper"
>
<view
class=
"logo-box"
>
<image
class=
"logo"
:src=
"config.baseUrl_api + '/fs/static/wx_logo.png'
"
mode=
"aspectFit"
></image>
<image
:src=
"config.loginImage_api + '/fs/static/wx_logo.png'"
class=
"logo
"
mode=
"aspectFit"
></image>
</view>
</view>
<!-- 功能按钮区域 -->
<view
class=
"btn-container"
>
<view
@
click=
"goToPage('/personal/addVip_per')"
>
<image
:src=
"config.
baseUrl
_api + '/fs/static/btn01.png'"
class=
"btn-item"
></image>
<image
:src=
"config.
loginImage
_api + '/fs/static/btn01.png'"
class=
"btn-item"
></image>
</view>
<view
@
click=
"goToPage('/personal/home')"
>
<image
:src=
"config.
baseUrl
_api + '/fs/static/btn02.png'"
class=
"btn-item"
></image>
<image
:src=
"config.
loginImage
_api + '/fs/static/btn02.png'"
class=
"btn-item"
></image>
</view>
<view
@
click=
"goToPage('/login/loginC')"
>
<image
:src=
"config.
baseUrl
_api + '/fs/static/btn03.png'"
class=
"btn-item"
></image>
<image
:src=
"config.
loginImage
_api + '/fs/static/btn03.png'"
class=
"btn-item"
></image>
</view>
</view>
</view>
</
template
>
<
script
setup
>
import
{
ref
}
from
'vue'
import
{
ref
}
from
'vue'
import
{
onShow
}
from
'@dcloudio/uni-app'
import
config
from
'@/config.js'
onShow
(()
=>
{
uni
.
hideLoading
();
uni
.
hideLoading
();
})
const
goToPage
=
(
url
)
=>
{
...
...
@@ -46,7 +45,7 @@ const goToPage = (url) => {
.role-entry-page
{
width
:
100%
;
min-height
:
100vh
;
position
:
relative
;
position
:
relative
;
padding
:
20
rpx
;
box-sizing
:
border-box
;
}
...
...
@@ -57,7 +56,7 @@ const goToPage = (url) => {
left
:
0
;
width
:
100%
;
height
:
100%
;
z-index
:
-1
;
z-index
:
-1
;
}
.header-wrapper
{
...
...
@@ -71,6 +70,7 @@ const goToPage = (url) => {
display
:
flex
;
justify-content
:
space-between
;
padding
:
0
40
rpx
;
img,
image
{
width
:
90px
;
}
...
...
@@ -93,4 +93,4 @@ const goToPage = (url) => {
color
:
white
;
font-size
:
28
rpx
;
}
</
style
>
\ No newline at end of file
</
style
>
...
...
login/loginC.vue
View file @
3a51a1c
This diff could not be displayed because it is too large.
myCenter/auth.vue
View file @
3a51a1c
...
...
@@ -23,15 +23,23 @@
style=
"margin: 0 20rpx 0 0;"
@
click=
"payTheFees"
>
激活
</button>
<view
v-else
>
<button
:disabled=
"auditStatus==1||auditStatus==2||form.isPoints==0"
class=
"btn-red"
size=
"mini"
<button
v-if=
"form.deptType==6"
:disabled=
"auditStatus==1||auditStatus==2||form.isPoints==0"
class=
"btn-red"
size=
"mini"
style=
"margin: 0 20rpx 0 0;"
@
click=
"showApplyDialog"
>
考点申请
</button>
<button
v-if=
"form.deptType==6"
class=
"btn-red-kx"
size=
"mini"
style=
"margin: 0 20rpx 0 0;"
@
click=
"auditEditFN(2)"
>
考点详情
</button>
<button
:disabled=
"btn"
class=
"btn-red"
size=
"mini"
style=
"margin: 0 20rpx 0 0;"
@
click=
"payTheFees"
>
去缴费
</button>
<button
v-if=
"form.deptType!=1"
class=
"btn-red-kx"
size=
"mini"
style=
"margin: 0 20rpx 0 0;"
@
click=
"auditEditFN"
>
审核详情
@
click=
"auditEditFN
(1)
"
>
审核详情
</button>
</view>
</view>
...
...
@@ -167,12 +175,15 @@ const applyPopup = ref(null)
const
popupShow
=
ref
(
false
)
// 考点审核状态 0 未提交 1 审核中 2 审核成功 3 审核失败
const
auditStatus
=
ref
(
0
)
const
openId
=
uni
.
getStorageSync
(
'openId'
)
onShow
(()
=>
{
console
.
log
(
openId
)
init
()
if
(
form
.
value
.
deptType
!=
1
)
{
// 修复:原代码deptType未定义,改为form.value.deptType
getMyStatusAPI
()
}
console
.
log
()
})
// 页面卸载时恢复滚动(防止异常锁死)
...
...
@@ -339,9 +350,9 @@ function goToApplyPage() {
})
}
function
auditEditFN
()
{
function
auditEditFN
(
type
)
{
uni
.
navigateTo
({
url
:
`/myCenter/reviewList`
url
:
`/myCenter/reviewList
?type=
${
type
}
`
})
}
...
...
@@ -599,4 +610,9 @@ function payTheFees() {
:deep
(
.uni-popup__mask
)
{
touch-action
:
none
!important
;
}
.btn-red
,
.btn-red-kx
{
padding
:
0
!important
;
width
:
140
rpx
;
}
</
style
>
...
...
myCenter/chooseExaminer.vue
View file @
3a51a1c
...
...
@@ -4,35 +4,35 @@
<view
class=
"search-area"
>
<view
class=
"search-item"
>
<text>
考官姓名:
</text>
<input
v-model=
"queryParams.name"
placeholder=
"请输入考官姓名"
class=
"search-input"
/>
<input
v-model=
"queryParams.name"
class=
"search-input"
placeholder=
"请输入考官姓名"
/>
</view>
<view
class=
"search-item"
>
<text>
考官编号:
</text>
<input
v-model=
"queryParams.certCode"
placeholder=
"请输入考官编号"
class=
"search-input"
/>
<input
v-model=
"queryParams.certCode"
class=
"search-input"
placeholder=
"请输入考官编号"
/>
</view>
<view
class=
"search-buttons"
>
<button
class=
"search-btn"
@
click=
"handleQuery"
>
查询
</button>
<button
class=
"reset-btn"
@
click=
"resetQuery"
>
重置
</button>
</view>
</view>
<view
class=
"list-item"
v-for=
"(item, index) in infoList"
:key=
"item.perId
"
>
<view
v-for=
"(item, index) in infoList"
:key=
"item.perId"
class=
"list-item
"
>
<view
class=
"info"
>
<view
class=
"name"
>
{{
item
.
name
}}
{{
item
.
perCode
}}
</view>
<view
class=
"idc"
>
证件号码:
{{
item
.
idcCode
}}
</view>
<view
class=
"reg"
>
注册地:
{{
item
.
memName
}}
</view>
</view>
<button
class=
"choose-btn"
:class=
"
{ disabled: checkChosen(item) }"
@click="handleChoose(item)"
:disabled="checkChosen(item)"
class="choose-btn"
@click="handleChoose(item)"
>
{{
checkChosen
(
item
)
?
'已选择'
:
'选择'
}}
</button>
</view>
<uni-popup
ref=
"expirePopup"
type=
"center"
background-color=
"rgba(0,0,0,0.5)
"
>
<uni-popup
ref=
"expirePopup"
background-color=
"rgba(0,0,0,0.5)"
type=
"center
"
>
<view
class=
"custom-modal"
>
<view
class=
"modal-title"
>
提示
</view>
<view
class=
"modal-content"
>
该考官资质已过期,是否继续添加?
</view>
...
...
@@ -46,8 +46,8 @@
</
template
>
<
script
setup
>
import
{
ref
,
reactive
,
toRefs
}
from
'vue'
import
{
onLoad
}
from
'@dcloudio/uni-app'
;
import
{
ref
,
reactive
,
toRefs
}
from
'vue'
import
{
onLoad
}
from
'@dcloudio/uni-app'
;
import
*
as
api
from
'@/common/api.js'
import
_
from
'lodash'
...
...
@@ -63,13 +63,10 @@ const memId = ref('')
const
chosen
=
ref
([])
const
expirePopup
=
ref
(
null
)
const
currentExpireItem
=
ref
(
null
)
onLoad
((
option
)
=>
{
isValidity
.
value
=
option
.
isValidity
memId
.
value
=
option
.
memId
chosen
.
value
=
JSON
.
parse
(
option
.
chosen
)
})
const
infoList
=
ref
([])
const
loading
=
ref
(
false
)
const
total
=
ref
(
0
)
const
selfSelect
=
ref
(
'0'
)
const
data
=
reactive
({
queryParams
:
{
pageNum
:
1
,
...
...
@@ -80,18 +77,23 @@ const data = reactive({
shenMemId
:
''
}
})
const
{
queryParams
}
=
toRefs
(
data
)
const
{
queryParams
}
=
toRefs
(
data
)
onLoad
((
option
)
=>
{
console
.
log
(
option
)
isValidity
.
value
=
option
.
isValidity
memId
.
value
=
option
.
memId
chosen
.
value
=
JSON
.
parse
(
option
.
chosen
)
selfSelect
.
value
=
option
.
selfSelect
??
'1'
})
const
infoList
=
ref
([])
const
loading
=
ref
(
false
)
const
total
=
ref
(
0
)
// 获取考官列表
async
function
getList
()
{
if
(
!
queryParams
.
value
.
name
)
return
uni
.
showToast
({
title
:
'请输入考官姓名'
,
icon
:
'none'
})
if
(
queryParams
.
value
.
type
==
1
&&
!
queryParams
.
value
.
certCode
)
return
uni
.
showToast
({
title
:
'请输入考官编号'
,
icon
:
'none'
})
if
(
!
queryParams
.
value
.
name
)
return
uni
.
showToast
({
title
:
'请输入考官姓名'
,
icon
:
'none'
})
if
(
queryParams
.
value
.
type
==
1
&&
!
queryParams
.
value
.
certCode
)
return
uni
.
showToast
({
title
:
'请输入考官编号'
,
icon
:
'none'
})
loading
.
value
=
true
const
res
=
await
api
.
getCoachList
(
queryParams
.
value
)
...
...
@@ -100,7 +102,7 @@ async function getList() {
loading
.
value
=
false
if
(
infoList
.
value
.
length
===
0
)
{
uni
.
showToast
({
title
:
'请核实考官编号、有效期及归属地!'
,
icon
:
'none'
})
uni
.
showToast
({
title
:
'请核实考官编号、有效期及归属地!'
,
icon
:
'none'
})
}
}
...
...
@@ -126,8 +128,9 @@ function resetQuery() {
}
async
function
handleChoose
(
row
)
{
debugger
if
(
checkChosen
(
row
))
{
return
uni
.
showToast
({
title
:
'已选择该考官'
,
icon
:
'none'
})
return
uni
.
showToast
({
title
:
'已选择该考官'
,
icon
:
'none'
})
}
// 资质过期逻辑
...
...
@@ -150,11 +153,19 @@ async function confirmAddExpireExaminer() {
if
(
!
currentExpireItem
.
value
)
return
try
{
if
(
selfSelect
.
value
==
1
)
{
// 自己添加
await
api
.
selfAdd
(
currentExpireItem
.
value
.
perId
)
}
else
{
// 省级添加
await
api
.
otherAdd
(
memId
.
value
,
currentExpireItem
.
value
.
perId
)
}
await
api
.
otherAdd
(
memId
.
value
,
currentExpireItem
.
value
.
perId
)
uni
.
showToast
({
title
:
'添加成功'
,
icon
:
'success'
})
uni
.
navigateBack
({
delta
:
1
})
uni
.
showToast
({
title
:
'添加成功'
,
icon
:
'success'
})
uni
.
navigateBack
({
delta
:
1
})
}
catch
(
err
)
{
uni
.
showToast
({
title
:
'添加失败'
,
icon
:
'none'
})
uni
.
showToast
({
title
:
'添加失败'
,
icon
:
'none'
})
}
finally
{
expirePopup
.
value
.
close
()
currentExpireItem
.
value
=
null
...
...
@@ -184,6 +195,7 @@ async function confirmAddExpireExaminer() {
align-items
:
center
;
margin-bottom
:
20
rpx
;
}
.search-input
{
flex
:
1
;
border
:
1
rpx
solid
#ddd
;
...
...
@@ -198,6 +210,7 @@ async function confirmAddExpireExaminer() {
margin-top
:
30
rpx
;
margin-left
:
80px
;
}
.search-btn
,
.reset-btn
{
width
:
220
rpx
;
height
:
70
rpx
;
...
...
@@ -206,10 +219,12 @@ async function confirmAddExpireExaminer() {
text-align
:
center
;
font-size
:
28
rpx
;
}
.search-btn
{
background
:
#C4121B
;
color
:
#fff
;
}
.reset-btn
{
background
:
#f7f7f7
;
color
:
#333
;
...
...
@@ -230,19 +245,23 @@ async function confirmAddExpireExaminer() {
border-bottom
:
1
rpx
solid
#eee
;
background-color
:
#fff
;
}
.info
{
flex
:
1
;
}
.name
{
font-size
:
30
rpx
;
font-weight
:
bold
;
color
:
#333
;
}
.idc
,
.reg
{
font-size
:
26
rpx
;
color
:
#666
;
margin
:
20
rpx
0
;
}
.choose-btn
{
color
:
#C4121B
;
font-size
:
26
rpx
;
...
...
@@ -252,6 +271,7 @@ async function confirmAddExpireExaminer() {
background-color
:
#fff
;
margin
:
10
rpx
auto
;
}
.choose-btn.disabled
{
color
:
#ccc
;
border-color
:
#ccc
;
...
...
@@ -266,23 +286,27 @@ async function confirmAddExpireExaminer() {
box-sizing
:
border-box
;
text-align
:
center
;
}
.modal-title
{
font-size
:
36
rpx
;
font-weight
:
600
;
color
:
#333
;
margin-bottom
:
30
rpx
;
}
.modal-content
{
font-size
:
30
rpx
;
color
:
#666
;
line-height
:
1.6
;
margin-bottom
:
30
rpx
;
}
.modal-btns
{
display
:
flex
;
justify-content
:
space-between
;
gap
:
20
rpx
;
}
.btn-cancel
{
flex
:
1
;
height
:
80
rpx
;
...
...
@@ -293,6 +317,7 @@ async function confirmAddExpireExaminer() {
font-size
:
32
rpx
;
border
:
none
;
}
.btn-confirm
{
flex
:
1
;
height
:
80
rpx
;
...
...
@@ -303,8 +328,9 @@ async function confirmAddExpireExaminer() {
font-size
:
32
rpx
;
border
:
none
;
}
/* 去除button默认边框 */
.btn-cancel
::after
,
.btn-confirm
::after
{
border
:
none
;
}
</
style
>
\ No newline at end of file
</
style
>
...
...
myCenter/examPointApply.vue
View file @
3a51a1c
...
...
@@ -2,25 +2,32 @@
<view
class=
"container"
>
<!-- 考官选择类型 -->
<view
class=
"radio-section"
>
<radio-group
@
change=
"onSelfSelectChange"
class=
"radio-group
"
>
<radio-group
class=
"radio-group"
@
change=
"onSelfSelectChange
"
>
<label
class=
"radio-item"
>
<radio
value=
"1"
:checked=
"form.selfSelect == '1'"
class=
"custom-radio"
/>
<radio
:checked=
"form.selfSelect == '1'"
class=
"custom-radio"
value=
"1"
/>
<text
class=
"radio-text"
>
自行录入考官(级位考官)
</text>
</label>
<label
class=
"radio-item"
>
<radio
value=
"0"
:checked=
"form.selfSelect == '0'"
class=
"custom-radio"
/>
<label
v-if=
"shenForm.memberEpAudit==1"
class=
"radio-item"
>
<radio
:checked=
"form.selfSelect == '0'"
class=
"custom-radio"
value=
"0"
/>
<text
class=
"radio-text"
>
省跆协指派考官
</text>
</label>
</radio-group>
</view>
<view
class=
"section"
>
<!-- 自行录入考官区域 -->
<view
class=
"section examiner-section"
v-if=
"showExamine"
>
<view
v-if=
"form.selfSelect==0"
class=
"section examiner-section"
>
<view
class=
"modal-title"
>
温馨提示
</view>
<view
class=
"modal-content"
>
关于考官指派,请联系
{{
shenForm
.
baseName
}}
,联系电话:
{{
shenForm
.
phone
}}
</view>
</view>
<!-- 温馨提示 -->
<view
v-if=
"showExamine"
class=
"section examiner-section"
>
<button
class=
"add-btn"
@
click=
"handelAddExamine"
>
+ 添加考官
</button>
</view>
<view
class=
"examiner-list"
v-if=
"showExamine
"
>
<view
class=
"examiner-item"
v-for=
"(item, index) in list"
:key=
"item.id
"
>
<view
v-if=
"showExamine"
class=
"examiner-list
"
>
<view
v-for=
"(item, index) in list"
:key=
"item.id"
class=
"examiner-item
"
>
<view
class=
"info"
>
<text
class=
"name"
>
{{
item
.
perName
}}
{{
item
.
perCode
}}
</text>
<text
class=
"idc"
>
证件号码:
{{
item
.
perIdcCode
}}
</text>
...
...
@@ -34,9 +41,9 @@
<view
class=
"submit-area"
>
<button
class=
"submit-btn"
@
click=
"handelSubmit"
>
确定提交
</button>
</view>
<!-- 自定义考点申请弹窗(替换原uni.showModal) -->
<uni-popup
ref=
"applyPopup"
type=
"center"
background-color=
"rgba(0,0,0,0.5)
"
>
<uni-popup
ref=
"applyPopup"
background-color=
"rgba(0,0,0,0.5)"
type=
"center
"
>
<view
class=
"custom-modal"
>
<view
class=
"modal-title"
>
考点申请
</view>
<view
class=
"modal-btns"
>
...
...
@@ -46,9 +53,9 @@
<view
class=
"modal-tip"
>
友情提示:非考点无法申请级位考试
</view>
</view>
</uni-popup>
<!-- 自定义删除确认弹窗 -->
<uni-popup
ref=
"delPopup"
type=
"center"
background-color=
"rgba(0,0,0,0.5)
"
>
<uni-popup
ref=
"delPopup"
background-color=
"rgba(0,0,0,0.5)"
type=
"center
"
>
<view
class=
"custom-modal"
>
<view
class=
"modal-title"
>
提示
</view>
<view
class=
"modal-content"
>
确定删除该考官吗?
</view>
...
...
@@ -58,20 +65,21 @@
</view>
</view>
</uni-popup>
<!-- 自定义省跆协指派提示弹窗 -->
<uni-popup
ref=
"assignPopup"
type=
"center"
background-color=
"rgba(0,0,0,0.5)
"
>
<uni-popup
ref=
"assignPopup"
background-color=
"rgba(0,0,0,0.5)"
type=
"center
"
>
<view
class=
"custom-modal"
>
<view
class=
"modal-title"
>
温馨提示
</view>
<view
class=
"modal-content"
>
关于考官指派,请联系河北省跆协,联系电话:XXXX
</view>
<view
class=
"modal-content"
>
关于考官指派,请联系
{{
shenForm
.
baseName
}}
,联系电话:
{{
shenForm
.
phone
}}
</view>
<view
class=
"modal-btns"
>
<button
class=
"btn-confirm single-btn"
@
click=
"closeAssignPopup()"
>
我知道了
</button>
</view>
</view>
</uni-popup>
<!-- 自定义提交成功弹窗 -->
<uni-popup
ref=
"successPopup"
type=
"center"
background-color=
"rgba(0,0,0,0.5)
"
>
<uni-popup
ref=
"successPopup"
background-color=
"rgba(0,0,0,0.5)"
type=
"center
"
>
<view
class=
"custom-modal"
>
<view
class=
"modal-title"
>
成功
</view>
<view
class=
"modal-content"
>
提交成功,请等待审核
</view>
...
...
@@ -84,9 +92,10 @@
</
template
>
<
script
setup
>
import
{
ref
,
}
from
'vue'
import
{
onLoad
,
onShow
}
from
'@dcloudio/uni-app'
import
{
ref
,
}
from
'vue'
import
{
onLoad
,
onShow
}
from
'@dcloudio/uni-app'
import
*
as
api
from
'@/common/api.js'
import
{
getShenMemberInfo
}
from
"@/common/api.js"
;
const
form
=
ref
({
selfSelect
:
'1'
// 1:自行录入 0:省跆协指派
...
...
@@ -95,6 +104,7 @@ const showExamine = ref(true)
const
loading
=
ref
(
false
)
const
list
=
ref
([])
const
memId
=
ref
(
null
)
const
shenForm
=
ref
({})
// 弹窗引用
const
applyPopup
=
ref
(
null
)
...
...
@@ -112,27 +122,35 @@ onShow(() => {
if
(
memId
.
value
)
{
getExaminer
()
}
getShenMemberInfoFn
()
})
async
function
getExaminer
()
{
loading
.
value
=
true
const
res
=
await
api
.
listApi
({
memId
:
memId
.
value
})
const
res
=
await
api
.
listApi
({
memId
:
memId
.
value
})
list
.
value
=
res
.
rows
loading
.
value
=
false
}
async
function
getShenMemberInfoFn
()
{
const
res
=
await
api
.
getShenMemberInfo
()
shenForm
.
value
=
res
.
data
??
{}
}
// 删除考官:打开自定义弹窗
function
handleDel
(
row
)
{
currentDelItem
.
value
=
row
delPopup
.
value
.
open
()
}
// 确认删除
async
function
confirmDel
()
{
await
api
.
examinerDel
(
currentDelItem
.
value
.
id
)
uni
.
showToast
({
title
:
'删除成功'
,
icon
:
'success'
})
getExaminer
()
uni
.
showToast
({
title
:
'删除成功'
,
icon
:
'success'
})
await
getExaminer
()
closeDelPopup
()
}
function
closeDelPopup
()
{
delPopup
.
value
.
close
()
}
...
...
@@ -141,10 +159,11 @@ function closeDelPopup() {
function
onSelfSelectChange
(
e
)
{
form
.
value
.
selfSelect
=
e
.
detail
.
value
showExamine
.
value
=
e
.
detail
.
value
==
'1'
if
(
e
.
detail
.
value
==
'
2
'
)
{
if
(
e
.
detail
.
value
==
'
0
'
)
{
assignPopup
.
value
.
open
()
}
}
function
closeAssignPopup
()
{
assignPopup
.
value
.
close
()
}
...
...
@@ -159,19 +178,20 @@ function handelAddExamine() {
// 提交申请:打开自定义成功弹窗
async
function
handelSubmit
()
{
if
(
!
form
.
value
.
selfSelect
)
{
return
uni
.
showToast
({
title
:
'请选择考官类型'
,
icon
:
'none'
})
return
uni
.
showToast
({
title
:
'请选择考官类型'
,
icon
:
'none'
})
}
if
(
form
.
value
.
selfSelect
==
'1'
&&
list
.
value
.
length
==
0
)
{
return
uni
.
showToast
({
title
:
'请添加考官'
,
icon
:
'none'
})
return
uni
.
showToast
({
title
:
'请添加考官'
,
icon
:
'none'
})
}
try
{
await
api
.
commitExamPointApply
(
form
.
value
)
successPopup
.
value
.
open
()
}
catch
(
err
)
{
uni
.
showToast
({
title
:
err
.
data
.
msg
,
icon
:
'none'
})
uni
.
showToast
({
title
:
err
.
data
.
msg
,
icon
:
'none'
})
}
}
function
confirmSuccess
()
{
successPopup
.
value
.
close
()
uni
.
navigateBack
()
...
...
@@ -181,9 +201,11 @@ function confirmSuccess() {
function
openApplyPopup
()
{
applyPopup
.
value
.
open
()
}
function
closeApplyPopup
()
{
applyPopup
.
value
.
close
()
}
function
confirmApply
()
{
applyPopup
.
value
.
close
()
// 此处添加考点申请逻辑
...
...
@@ -195,9 +217,11 @@ function confirmApply() {
.container
{
min-height
:
100vh
;
}
.section
{
padding
:
15
rpx
20
rpx
;
.section
{
padding
:
15
rpx
20
rpx
;
}
/* 单选框区域 */
.radio-section
{
background
:
#fff
;
...
...
@@ -332,28 +356,33 @@ function confirmApply() {
box-sizing
:
border-box
;
text-align
:
center
;
}
.modal-title
{
font-size
:
36
rpx
;
font-weight
:
600
;
color
:
#333
;
margin-bottom
:
30
rpx
;
}
.modal-content
{
font-size
:
30
rpx
;
color
:
#666
;
line-height
:
1.6
;
margin-bottom
:
30
rpx
;
}
.modal-tip
{
font-size
:
28
rpx
;
color
:
#FF7A00
;
margin-top
:
20
rpx
;
}
.modal-btns
{
display
:
flex
;
justify-content
:
space-between
;
gap
:
20
rpx
;
}
.btn-cancel
{
flex
:
1
;
height
:
80
rpx
;
...
...
@@ -364,6 +393,7 @@ function confirmApply() {
font-size
:
32
rpx
;
border
:
none
;
}
.btn-confirm
{
flex
:
1
;
height
:
80
rpx
;
...
...
@@ -374,10 +404,12 @@ function confirmApply() {
font-size
:
32
rpx
;
border
:
none
;
}
.single-btn
{
flex
:
1
;
}
.btn-cancel
::after
,
.btn-confirm
::after
{
border
:
none
;
}
</
style
>
\ No newline at end of file
</
style
>
...
...
myCenter/reviewList.vue
View file @
3a51a1c
<
template
>
<view>
<view
class=
"wBox"
>
<view
class=
"tt"
>
审核信息
</view>
<view>
<view
class=
"stepItem"
v-for=
"(n,index) in recordList"
:key=
"index
"
>
<view
class=
"time"
>
{{
n
.
auditTime
||
'待审批'
}}
</view>
<view
class=
"content"
>
<view
class=
"status"
>
<text
v-if=
"n.auditResult==1"
class=
"text-success"
>
审核通过
</text>
<text
v-if=
"n.auditResult==0"
class=
"text-danger"
>
审核拒绝
</text>
</view>
<!--
<view
class=
"name"
>
第
{{
index
+
1
}}
步
</view>
-->
<view
class=
"deptName"
>
{{
n
.
auditDeptName
}}
</view>
<view
v-if=
"n.auditResult==0"
>
备注:
{{
n
.
auditMsg
||
'/'
}}
</view>
</view>
</view>
</view>
</view>
</view>
<view>
<view
class=
"wBox"
>
<view
class=
"tt"
>
审核信息
</view>
<view>
<view
v-for=
"(n,index) in recordList"
:key=
"index"
class=
"stepItem
"
>
<view
class=
"time"
>
{{
n
.
auditTime
||
'待审批'
}}
</view>
<view
class=
"content"
>
<view
class=
"status"
>
<text
v-if=
"n.auditResult==1"
class=
"text-success"
>
审核通过
</text>
<text
v-if=
"n.auditResult==0"
class=
"text-danger"
>
审核拒绝
</text>
</view>
<!--
<view
class=
"name"
>
第
{{
index
+
1
}}
步
</view>
-->
<view
class=
"deptName"
>
{{
n
.
auditDeptName
}}
</view>
<view
v-if=
"n.auditResult==0"
>
备注:
{{
n
.
auditMsg
||
'/'
}}
</view>
</view>
</view>
</view>
</view>
</view>
</
template
>
<
script
setup
>
import
*
as
api
from
'@/common/api.js'
import
config
from
'@/config.js'
import
_
from
'underscore'
import
to
from
'await-to-js'
import
{
onMounted
,
ref
}
from
'vue'
import
{
onLoad
,
onShow
}
from
'@dcloudio/uni-app'
const
app
=
getApp
();
const
userType
=
ref
(
''
)
const
recordList
=
ref
([])
onLoad
(
async
(
option
)
=>
{
await
getMyRecentFN
()
})
import
*
as
api
from
'@/common/api.js'
import
config
from
'@/config.js'
import
_
from
'underscore'
import
to
from
'await-to-js'
import
{
onMounted
,
ref
}
from
'vue'
import
{
onLoad
,
onShow
}
from
'@dcloudio/uni-app'
async
function
getMyRecentFN
()
{
const
[
err
,
res
]
=
await
to
(
api
.
getMyRecent
())
if
(
!
err
&&
res
.
data
&&
res
.
data
.
auditLogs
)
{
recordList
.
value
=
JSON
.
parse
(
res
.
data
.
auditLogs
)
}
}
</
script
>
const
app
=
getApp
();
const
userType
=
ref
(
''
)
const
recordList
=
ref
([])
<
style
scoped
lang=
"scss"
>
.wBox
{
width
:
700
rpx
;
padding
:
30
rpx
;
margin
:
20
rpx
auto
;
background
:
#FFFFFF
;
box-shadow
:
0
rpx
12
rpx
116
rpx
0
rpx
rgba
(
196
,
203
,
214
,
0.1
);
border-radius
:
15
rpx
;
onLoad
(
async
(
option
)
=>
{
console
.
log
(
option
)
if
(
option
.
type
==
1
)
await
getMyRecentFN
()
if
(
option
.
type
==
2
)
await
getMyRecentExamFn
()
})
.tt
{
color
:
#0A1629
;
margin
:
0
0
30
rpx
;
font-size
:
30
rpx
;
}
async
function
getMyRecentFN
()
{
const
[
err
,
res
]
=
await
to
(
api
.
getMyRecent
())
if
(
!
err
&&
res
.
data
&&
res
.
data
.
auditLogs
)
{
recordList
.
value
=
JSON
.
parse
(
res
.
data
.
auditLogs
)
}
}
.ddd
{
font-size
:
28
rpx
;
color
:
#333
;
margin
:
0
0
10
rpx
;
async
function
getMyRecentExamFn
()
{
const
[
err
,
res
]
=
await
to
(
api
.
getMyRecentExam
())
if
(
!
err
&&
res
.
data
&&
res
.
data
.
auditLogs
)
{
recordList
.
value
=
JSON
.
parse
(
res
.
data
.
auditLogs
)
}
}
</
script
>
.lab
{
color
:
#999
;
display
:
inline-block
;
text-align
:
justify
;
}
}
}
</
style
>
\ No newline at end of file
<
style
lang=
"scss"
scoped
>
.wBox
{
width
:
700
rpx
;
padding
:
30
rpx
;
margin
:
20
rpx
auto
;
background
:
#FFFFFF
;
box-shadow
:
0
rpx
12
rpx
116
rpx
0
rpx
rgba
(
196
,
203
,
214
,
0.1
);
border-radius
:
15
rpx
;
.tt
{
color
:
#0A1629
;
margin
:
0
0
30
rpx
;
font-size
:
30
rpx
;
}
.ddd
{
font-size
:
28
rpx
;
color
:
#333
;
margin
:
0
0
10
rpx
;
.lab
{
color
:
#999
;
display
:
inline-block
;
text-align
:
justify
;
}
}
}
</
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