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
0ac7b897
authored
2026-05-27 16:35:34 +0800
by
lttnew
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
调动记录
1 parent
e0c6e843
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
334 additions
and
131 deletions
level/ztx/examinationDetail.vue
level/ztx/examinationVerification.vue
myCenter/order.vue
pages.json
pages/index/daoGuanOrder.vue
pages/index/home.vue
personal/home.vue
personal/order.vue
personalVip/mobilizeRecord.vue
level/ztx/examinationDetail.vue
View file @
0ac7b89
...
...
@@ -17,12 +17,12 @@
</view>
<view
class=
"info-row"
>
<text
class=
"label"
>
审核状态
</text>
<text
:class=
"getStatusClass(
form.auditStatus
)"
class=
"value"
>
{{
getStatusText
(
userType
==
1
?
form
.
auditStatus
:
form
.
shenAuditStatus
)
}}
<text
:class=
"getStatusClass(
getCurrentAuditStatus()
)"
class=
"value"
>
{{
getStatusText
(
getCurrentAuditStatus
()
)
}}
</text>
</view>
<view
class=
"info-row"
>
<text
class=
"label"
>
是否需要
</text>
<text
class=
"label"
>
是否需要
省级协会指派
</text>
<text
class=
"value"
>
{{
form
.
selfSelect
==
1
?
'否'
:
'是'
}}
</text>
</view>
<view
class=
"info-row"
>
...
...
@@ -35,7 +35,7 @@
</view>
<view
class=
"info-row"
>
<text
class=
"label"
>
审核日期
</text>
<text
class=
"value"
>
{{
formatDate
(
form
.
auditTime
)
}}
</text>
<text
class=
"value"
>
{{
formatDate
(
getCurrentAuditTime
()
)
}}
</text>
</view>
<view
class=
"info-row"
>
<text
class=
"label"
>
考官
</text>
...
...
@@ -145,6 +145,14 @@ function getStatusClass(status) {
return
classMap
[
status
]
||
''
}
function
getCurrentAuditStatus
()
{
return
userType
.
value
==
1
?
form
.
value
.
auditStatus
:
form
.
value
.
shenAuditStatus
}
function
getCurrentAuditTime
()
{
return
userType
.
value
==
1
?
form
.
value
.
auditTime
:
form
.
value
.
shenAuditTime
}
function
formatDate
(
dateStr
)
{
if
(
!
dateStr
)
return
'-'
return
dateStr
.
substring
(
0
,
10
)
...
...
level/ztx/examinationVerification.vue
View file @
0ac7b89
This diff is collapsed.
Click to expand it.
myCenter/order.vue
View file @
0ac7b89
...
...
@@ -81,7 +81,7 @@
<
button
:
class
=
"
{
disabled
:
isRefundDisabled
(
item
)
}
" :disabled="
isRefundDisabled
(
item
)
" class="
btn
btn
-
pay
" @click.stop="
handleRefund
(
item
)
">退款</button>
</template>
<template v-else>
<button :class="
{
disabled
:
isPayDisabled
(
item
)
}
" :disabled="
isPayDisabled
(
item
)
" class="
btn
btn
-
pay
" @click.stop="
handlePay
(
item
)
">支付</button>
<button :class="
{
disabled
:
isPayDisabled
(
item
)
}
" :disabled="
isPayDisabled
(
item
)
" class="
btn
btn
-
pay
" @click.stop="
handlePay
(
item
)
">
去
支付</button>
<button v-if="
canShowCancel
(
item
)
" :class="
{
disabled
:
isCancelDisabled
(
item
)
}
" :disabled="
isCancelDisabled
(
item
)
" class="
btn
btn
-
cancel
" @click.stop="
handleCancel
(
item
)
">取消订单</button>
<template v-if="
canShowInvoiceApply
(
item
)
">
<button :class="
{
disabled
:
isInvoiceDisabled
(
item
)
}
" :disabled="
isInvoiceDisabled
(
item
)
" class="
btn
btn
-
view
-
invoice
" @click.stop="
makeInvoiceFN
(
item
)
">申请开票</button>
...
...
@@ -160,26 +160,14 @@
<
/view
>
<
/view
>
<!--
自定义
删除
确认弹窗
-->
<
view
v
-
if
=
"show
DelPopup"
class
=
"popup-mask"
@
touchmove
.
stop
.
prevent
@
click
.
stop
=
"closeDel
Popup"
>
<!--
自定义确认弹窗
-->
<
view
v
-
if
=
"show
ConfirmPopup"
class
=
"popup-mask"
@
touchmove
.
stop
.
prevent
@
click
.
stop
=
"closeConfirm
Popup"
>
<
view
class
=
"custom-modal"
@
click
.
stop
>
<
view
class
=
"modal-title"
>
提示
<
/view
>
<
view
class
=
"modal-content"
>
{{
del
ModalContent
}}
<
/view
>
<
view
class
=
"modal-content"
>
{{
confirm
ModalContent
}}
<
/view
>
<
view
class
=
"modal-btns"
>
<
button
class
=
"modal-btn-cancel"
@
click
=
"closeDelPopup"
>
取消
<
/button
>
<
button
class
=
"modal-btn-confirm"
@
click
=
"confirmDel"
>
确定
<
/button
>
<
/view
>
<
/view
>
<
/view
>
<!--
自定义取消订单确认弹窗
-->
<
view
v
-
if
=
"showCancelPopup"
class
=
"popup-mask"
@
touchmove
.
stop
.
prevent
@
click
.
stop
=
"closeCancelPopup"
>
<
view
class
=
"custom-modal"
@
click
.
stop
>
<
view
class
=
"modal-title"
>
提示
<
/view
>
<
view
class
=
"modal-content"
>
{{
cancelModalContent
}}
<
/view
>
<
view
class
=
"modal-btns"
>
<
button
class
=
"modal-btn-cancel"
@
click
=
"closeCancelPopup"
>
取消
<
/button
>
<
button
class
=
"modal-btn-confirm"
@
click
=
"confirmCancel"
>
确定
<
/button
>
<
button
class
=
"modal-btn-cancel"
@
click
=
"closeConfirmPopup"
>
取消
<
/button
>
<
button
class
=
"modal-btn-confirm"
@
click
=
"confirmPopup"
>
确定
<
/button
>
<
/view
>
<
/view
>
<
/view
>
...
...
@@ -222,8 +210,7 @@ const queryParams = reactive({
}
);
// 弹窗控制
const
showDelPopup
=
ref
(
false
);
const
showCancelPopup
=
ref
(
false
);
const
showConfirmPopup
=
ref
(
false
);
const
isPopupOpen
=
ref
(
false
);
const
showInvoicePopup
=
ref
(
false
);
const
showInvoiceWebview
=
ref
(
false
);
...
...
@@ -231,8 +218,8 @@ const invoiceWebviewUrl = ref('');
const
invoiceData
=
ref
({
}
);
// 弹窗内容
const
del
ModalContent
=
ref
(
''
);
const
c
ancelModalContent
=
ref
(
''
);
const
confirm
ModalContent
=
ref
(
''
);
const
c
onfirmModalAction
=
ref
(
null
);
// 当前操作的订单
const
currentOrder
=
ref
(
null
);
...
...
@@ -418,12 +405,34 @@ const handelSearch = () => {
initData
()
}
const
openConfirmPopup
=
({
content
,
action
,
order
=
null
}
)
=>
{
currentOrder
.
value
=
order
confirmModalContent
.
value
=
content
confirmModalAction
.
value
=
action
showConfirmPopup
.
value
=
true
isPopupOpen
.
value
=
true
}
const
closeConfirmPopup
=
()
=>
{
showConfirmPopup
.
value
=
false
isPopupOpen
.
value
=
false
currentOrder
.
value
=
null
confirmModalContent
.
value
=
''
confirmModalAction
.
value
=
null
}
const
confirmPopup
=
async
()
=>
{
if
(
typeof
confirmModalAction
.
value
!==
'function'
)
return
await
confirmModalAction
.
value
(
currentOrder
.
value
)
}
// 删除订单
const
handleDelete
=
(
item
)
=>
{
currentOrder
.
value
=
item
;
delModalContent
.
value
=
`是否确认删除订单编号为"${item.tradeNo
}
"的订单?`
;
showDelPopup
.
value
=
true
;
isPopupOpen
.
value
=
true
;
openConfirmPopup
({
order
:
item
,
content
:
`是否确认删除订单编号为"${item.tradeNo
}
"的订单?`
,
action
:
confirmDel
}
)
}
;
// 确认删除
...
...
@@ -435,7 +444,7 @@ const confirmDel = async () => {
pageNum
.
value
=
1
;
list
.
value
=
[];
await
initData
();
close
Del
Popup
();
close
Confirm
Popup
();
}
catch
(
e
)
{
uni
.
showToast
({
title
:
'删除失败'
,
icon
:
'error'
}
);
}
...
...
@@ -455,13 +464,6 @@ const goToDetail = (item) => {
}
}
// 关闭删除弹窗
const
closeDelPopup
=
()
=>
{
showDelPopup
.
value
=
false
;
isPopupOpen
.
value
=
false
;
currentOrder
.
value
=
null
;
}
;
// 去缴费
const
handlePay
=
async
(
item
)
=>
{
if
(
isPayDisabled
(
item
))
return
;
...
...
@@ -493,16 +495,20 @@ const makeInvoiceFN = (item) => {
const
handleReIssue
=
async
(
item
)
=>
{
if
(
isReIssueDisabled
(
item
))
return
const
{
confirm
}
=
await
uni
.
showModal
({
title
:
'提示'
,
content
:
'开票后30天内仅可重开一次,是否确认重新开票?原发票将作废且无法恢复。'
openConfirmPopup
({
order
:
item
,
content
:
'开票后30天内仅可重开一次,是否确认重新开票?原发票将作废且无法恢复。'
,
action
:
confirmReIssue
}
)
if
(
!
confirm
)
return
}
const
confirmReIssue
=
async
(
item
)
=>
{
if
(
!
item
)
return
try
{
uni
.
showLoading
({
title
:
'处理中...'
}
)
await
api
.
invoiceFastRed
(
item
.
id
)
uni
.
hideLoading
()
closeConfirmPopup
()
await
initData
()
makeInvoiceFN
({
...
item
,
invoiceStatus
:
'0'
}
)
}
catch
(
e
)
{
...
...
@@ -553,10 +559,11 @@ const closeInvoiceWebview = () => {
// 取消订单
const
handleCancel
=
(
item
)
=>
{
if
(
isCancelDisabled
(
item
))
return
currentOrder
.
value
=
item
;
cancelModalContent
.
value
=
`是否确认取消缴费编号为"${item.wfCode
}
"的订单?`
;
showCancelPopup
.
value
=
true
;
isPopupOpen
.
value
=
true
;
openConfirmPopup
({
order
:
item
,
content
:
`是否确认取消缴费编号为"${item.wfCode
}
"的订单?`
,
action
:
confirmCancel
}
)
}
;
// 确认取消订单
...
...
@@ -568,30 +575,27 @@ const confirmCancel = async () => {
pageNum
.
value
=
1
;
list
.
value
=
[];
await
initData
();
closeC
ancel
Popup
();
closeC
onfirm
Popup
();
}
catch
(
e
)
{
uni
.
showToast
({
title
:
'取消失败'
,
icon
:
'error'
}
);
}
}
;
// 关闭取消订单弹窗
const
closeCancelPopup
=
()
=>
{
showCancelPopup
.
value
=
false
;
isPopupOpen
.
value
=
false
;
currentOrder
.
value
=
null
;
}
;
const
handleRefund
=
async
(
item
)
=>
{
if
(
isRefundDisabled
(
item
))
return
const
{
confirm
}
=
await
uni
.
showModal
({
title
:
'提示'
,
content
:
`缴费编号为"${item.wfCode
}
"的订单是否确认退款?`
openConfirmPopup
({
order
:
item
,
content
:
`缴费编号为"${item.wfCode
}
"的订单是否确认退款?`
,
action
:
confirmRefund
}
)
if
(
!
confirm
)
return
}
const
confirmRefund
=
async
(
item
)
=>
{
if
(
!
item
)
return
try
{
uni
.
showLoading
({
title
:
'处理中...'
}
)
await
api
.
refundOrder
(
item
.
id
)
closeConfirmPopup
()
uni
.
showToast
({
title
:
'操作成功'
,
icon
:
'success'
}
)
pageNum
.
value
=
1
list
.
value
=
[]
...
...
pages.json
View file @
0ac7b89
...
...
@@ -453,6 +453,13 @@
}
},
{
"path"
:
"mobilizeRecord"
,
"style"
:
{
"navigationBarTitleText"
:
"调动记录"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"order"
,
"style"
:
{
"navigationBarTitleText"
:
"订单列表"
,
...
...
@@ -1141,4 +1148,4 @@
]
}
}
}
\ No newline at end of file
}
...
...
pages/index/daoGuanOrder.vue
View file @
0ac7b89
...
...
@@ -113,7 +113,7 @@
<
button
:
class
=
"
{
disabled
:
isRefundDisabled
(
item
)
}
" :disabled="
isRefundDisabled
(
item
)
" class="
btn
btn
-
danger
" @click.stop="
handleRefund
(
item
)
">退款</button>
</template>
<template v-else>
<button :class="
{
disabled
:
isPayDisabled
(
item
)
}
" :disabled="
isPayDisabled
(
item
)
" class="
btn
btn
-
pay
" @click.stop="
handlePay
(
item
)
">支付</button>
<button :class="
{
disabled
:
isPayDisabled
(
item
)
}
" :disabled="
isPayDisabled
(
item
)
" class="
btn
btn
-
pay
" @click.stop="
handlePay
(
item
)
">
去
支付</button>
<button v-if="
canShowCancel
(
item
)
" :class="
{
disabled
:
isCancelDisabled
(
item
)
}
" :disabled="
isCancelDisabled
(
item
)
" class="
btn
btn
-
cancel
" @click.stop="
handleCancel
(
item
)
">取消订单</button>
<template v-if="
canShowInvoiceApply
(
item
)
">
<button :class="
{
disabled
:
isInvoiceDisabled
(
item
)
}
" :disabled="
isInvoiceDisabled
(
item
)
" class="
btn
btn
-
view
-
invoice
" @click.stop="
makeInvoiceFN
(
item
)
">申请开票</button>
...
...
@@ -192,26 +192,14 @@
<
/view
>
<
/view
>
<!--
自定义
删除
确认弹窗
-->
<
view
v
-
if
=
"show
DelPopup"
class
=
"popup-mask"
@
touchmove
.
stop
.
prevent
@
click
.
stop
=
"closeDel
Popup"
>
<!--
自定义确认弹窗
-->
<
view
v
-
if
=
"show
ConfirmPopup"
class
=
"popup-mask"
@
touchmove
.
stop
.
prevent
@
click
.
stop
=
"closeConfirm
Popup"
>
<
view
class
=
"custom-modal"
@
click
.
stop
>
<
view
class
=
"modal-title"
>
提示
<
/view
>
<
view
class
=
"modal-content"
>
{{
del
ModalContent
}}
<
/view
>
<
view
class
=
"modal-content"
>
{{
confirm
ModalContent
}}
<
/view
>
<
view
class
=
"modal-btns"
>
<
button
class
=
"modal-btn-cancel"
@
click
=
"closeDelPopup"
>
取消
<
/button
>
<
button
class
=
"modal-btn-confirm"
@
click
=
"confirmDel"
>
确定
<
/button
>
<
/view
>
<
/view
>
<
/view
>
<!--
自定义取消订单确认弹窗
-->
<
view
v
-
if
=
"showCancelPopup"
class
=
"popup-mask"
@
touchmove
.
stop
.
prevent
@
click
.
stop
=
"closeCancelPopup"
>
<
view
class
=
"custom-modal"
@
click
.
stop
>
<
view
class
=
"modal-title"
>
提示
<
/view
>
<
view
class
=
"modal-content"
>
{{
cancelModalContent
}}
<
/view
>
<
view
class
=
"modal-btns"
>
<
button
class
=
"modal-btn-cancel"
@
click
=
"closeCancelPopup"
>
取消
<
/button
>
<
button
class
=
"modal-btn-confirm"
@
click
=
"confirmCancel"
>
确定
<
/button
>
<
button
class
=
"modal-btn-cancel"
@
click
=
"closeConfirmPopup"
>
取消
<
/button
>
<
button
class
=
"modal-btn-confirm"
@
click
=
"confirmPopup"
>
确定
<
/button
>
<
/view
>
<
/view
>
<
/view
>
...
...
@@ -267,8 +255,7 @@ const queryParams = reactive({
}
);
// 弹窗控制
const
showDelPopup
=
ref
(
false
);
const
showCancelPopup
=
ref
(
false
);
const
showConfirmPopup
=
ref
(
false
);
const
isPopupOpen
=
ref
(
false
);
const
showInvoicePopup
=
ref
(
false
);
const
showInvoiceWebview
=
ref
(
false
);
...
...
@@ -276,8 +263,8 @@ const invoiceWebviewUrl = ref('');
const
invoiceData
=
ref
({
}
);
// 弹窗内容
const
del
ModalContent
=
ref
(
''
);
const
c
ancelModalContent
=
ref
(
''
);
const
confirm
ModalContent
=
ref
(
''
);
const
c
onfirmModalAction
=
ref
(
null
);
// 当前操作的订单
const
currentOrder
=
ref
(
null
);
...
...
@@ -504,12 +491,34 @@ const handelSearch = () => {
initData
()
}
const
openConfirmPopup
=
({
content
,
action
,
order
=
null
}
)
=>
{
currentOrder
.
value
=
order
confirmModalContent
.
value
=
content
confirmModalAction
.
value
=
action
showConfirmPopup
.
value
=
true
isPopupOpen
.
value
=
true
}
const
closeConfirmPopup
=
()
=>
{
showConfirmPopup
.
value
=
false
isPopupOpen
.
value
=
false
currentOrder
.
value
=
null
confirmModalContent
.
value
=
''
confirmModalAction
.
value
=
null
}
const
confirmPopup
=
async
()
=>
{
if
(
typeof
confirmModalAction
.
value
!==
'function'
)
return
await
confirmModalAction
.
value
(
currentOrder
.
value
)
}
// 删除订单
const
handleDelete
=
(
item
)
=>
{
currentOrder
.
value
=
item
;
delModalContent
.
value
=
`是否确认删除订单编号为"${item.tradeNo
}
"的订单?`
;
showDelPopup
.
value
=
true
;
isPopupOpen
.
value
=
true
;
openConfirmPopup
({
order
:
item
,
content
:
`是否确认删除订单编号为"${item.tradeNo
}
"的订单?`
,
action
:
confirmDel
}
)
}
;
// 确认删除
...
...
@@ -521,7 +530,7 @@ const confirmDel = async () => {
pageNum
.
value
=
1
;
list
.
value
=
[];
await
initData
();
close
Del
Popup
();
close
Confirm
Popup
();
}
catch
(
e
)
{
uni
.
showToast
({
title
:
'删除失败'
,
icon
:
'error'
}
);
}
...
...
@@ -546,13 +555,6 @@ const goToDetail = (item) => {
// uni.navigateTo(
{
url
:
`/pages/rank/applyDetail?examId=${item.sourceId || item.id
}
&type=${queryParams.type
}
`
}
);
}
// 关闭删除弹窗
const
closeDelPopup
=
()
=>
{
showDelPopup
.
value
=
false
;
isPopupOpen
.
value
=
false
;
currentOrder
.
value
=
null
;
}
;
// 去支付:个人会员订单走 payOrder,再次支付携带 common/order 的 id;单位会员订单走 goPay;级位/段位/越段考试走 paymentDetail。
const
handlePay
=
async
(
item
)
=>
{
if
(
isPayDisabled
(
item
))
return
;
...
...
@@ -605,16 +607,20 @@ const makeInvoiceFN = (item) => {
const
handleReIssue
=
async
(
item
)
=>
{
if
(
isReIssueDisabled
(
item
))
return
const
{
confirm
}
=
await
uni
.
showModal
({
title
:
'提示'
,
content
:
'开票后30天内仅可重开一次,是否确认重新开票?原发票将作废且无法恢复。'
openConfirmPopup
({
order
:
item
,
content
:
'开票后30天内仅可重开一次,是否确认重新开票?原发票将作废且无法恢复。'
,
action
:
confirmReIssue
}
)
if
(
!
confirm
)
return
}
const
confirmReIssue
=
async
(
item
)
=>
{
if
(
!
item
)
return
try
{
uni
.
showLoading
({
title
:
'处理中...'
}
)
await
api
.
invoiceFastRed
(
item
.
id
)
uni
.
hideLoading
()
closeConfirmPopup
()
await
initData
()
makeInvoiceFN
({
...
item
,
invoiceStatus
:
'0'
}
)
}
catch
(
e
)
{
...
...
@@ -665,10 +671,11 @@ const closeInvoiceWebview = () => {
// 取消订单
const
handleCancel
=
(
item
)
=>
{
if
(
isCancelDisabled
(
item
))
return
currentOrder
.
value
=
item
;
cancelModalContent
.
value
=
`是否确认取消缴费编号为"${item.wfCode
}
"的订单?`
;
showCancelPopup
.
value
=
true
;
isPopupOpen
.
value
=
true
;
openConfirmPopup
({
order
:
item
,
content
:
`是否确认取消缴费编号为"${item.wfCode
}
"的订单?`
,
action
:
confirmCancel
}
)
}
;
// 确认取消订单
...
...
@@ -680,30 +687,27 @@ const confirmCancel = async () => {
pageNum
.
value
=
1
;
list
.
value
=
[];
await
initData
();
closeC
ancel
Popup
();
closeC
onfirm
Popup
();
}
catch
(
e
)
{
uni
.
showToast
({
title
:
'取消失败'
,
icon
:
'error'
}
);
}
}
;
// 关闭取消订单弹窗
const
closeCancelPopup
=
()
=>
{
showCancelPopup
.
value
=
false
;
isPopupOpen
.
value
=
false
;
currentOrder
.
value
=
null
;
}
;
const
handleRefund
=
async
(
item
)
=>
{
if
(
isRefundDisabled
(
item
))
return
const
{
confirm
}
=
await
uni
.
showModal
({
title
:
'提示'
,
content
:
`缴费编号为"${item.wfCode
}
"的订单是否确认退款?`
openConfirmPopup
({
order
:
item
,
content
:
`缴费编号为"${item.wfCode
}
"的订单是否确认退款?`
,
action
:
confirmRefund
}
)
if
(
!
confirm
)
return
}
const
confirmRefund
=
async
(
item
)
=>
{
if
(
!
item
)
return
try
{
uni
.
showLoading
({
title
:
'处理中...'
}
)
await
api
.
refundOrder
(
item
.
id
)
closeConfirmPopup
()
uni
.
showToast
({
title
:
'操作成功'
,
icon
:
'success'
}
)
pageNum
.
value
=
1
list
.
value
=
[]
...
...
pages/index/home.vue
View file @
0ac7b89
...
...
@@ -199,6 +199,7 @@
<image
:src=
"config.baseUrl_api+'/fs/static/icon/28.png'"
/>
订单列表
</view>
</view>
<view
class=
"ttt"
>
单位会员
</view>
<view
class=
"girdBox"
>
...
...
@@ -398,6 +399,10 @@
<image
:src=
"config.baseUrl_api+'/fs/static/icon/6.png'"
/>
订单列表
</view>
<view
@
click=
"goPath('/personalVip/mobilizeRecord')"
>
<image
:src=
"config.baseUrl_api+'/fs/static/icon/1.png'"
/>
调动记录
</view>
</view>
<view
class=
"ttt"
>
单位会员
</view>
...
...
personal/home.vue
View file @
0ac7b89
...
...
@@ -223,8 +223,8 @@ console.log(333, perInfo.value)
// 是否已绑定学员(根据会员卡号判断)
const
isBound
=
computed
(()
=>
{
const
per
Code
=
perInfo
.
value
?.
perCod
e
return
per
Code
!==
undefined
&&
perCode
!==
null
&&
perCod
e
!==
''
const
per
Name
=
perInfo
.
value
?.
perNam
e
return
per
Name
!==
undefined
&&
perName
!==
null
&&
perNam
e
!==
''
})
const
bindPopup
=
ref
(
null
)
...
...
personal/order.vue
View file @
0ac7b89
...
...
@@ -58,8 +58,9 @@
<view
class=
"data-header"
>
<text
class=
"value"
>
<text
class=
"tradeNo"
>
订单编号:
</text>
{{
item
.
tradeNo
||
'——'
}}
</text>
<text>
{{
item
.
tradeNo
||
'——'
}}
</text>
</view>
</view>
</view>
...
...
@@ -124,22 +125,15 @@
<
button
class
=
"btn btn-pay"
@
click
.
stop
=
"goPay(item)"
>
去缴费
<
/button
>
<
/template> --
>
<
button
class
=
"btn btn-info"
@
click
.
stop
=
"goToDetail(item)"
>
查看明细
<
/button
>
<
button
v
-
if
=
"item.auditStatus == 9"
class
=
"btn btn-info"
@
click
.
stop
=
"handleCancel(item)"
>
取消
<
/button
>
<
template
v
-
if
=
"item.auditStatus == 9"
>
<
button
class
=
"btn btn-pay"
@
click
.
stop
=
"goPay(item)"
>
支付
<
/button
>
<
/template
>
<!--
<
button
class
=
"btn btn-info"
@
click
.
stop
=
"goToDetail(item)"
>
查看明细
<
/button> --
>
<
button
:
class
=
"
{
disabled
:
isPayDisabled
(
item
)
}
" :disabled="
isPayDisabled
(
item
)
" class="
btn
btn
-
pay
" @click.stop="
goPay
(
item
)
">去支付</button>
<button v-if="
canShowCancel
(
item
)
" :class="
{
disabled
:
isCancelDisabled
(
item
)
}
" :disabled="
isCancelDisabled
(
item
)
" class="
btn
btn
-
info
" @click.stop="
handleCancel
(
item
)
">取消订单</button>
<!-- 已缴费:申请开票/已开票(需要审核通过才能开票) -->
<
template
v
-
if
=
"item.payStatus == 1 && item.invoiceStatus != 1 && item.auditStatus == 2 && item.price > 0"
>
<
button
:
disabled
=
"item.invoiceStatus === 1"
class
=
"btn btn-view-invoice"
@
click
.
stop
=
"makeInvoiceFN(item)"
>
开票
<template v-if="
canShowInvoiceApply
(
item
)
">
<button :class="
{
disabled
:
isInvoiceDisabled
(
item
)
}
" :disabled="
isInvoiceDisabled
(
item
)
" class="
btn
btn
-
view
-
invoice
" @click.stop="
makeInvoiceFN
(
item
)
">
申请开票
</button>
</template>
<!--
已开票:查看发票
-->
<
template
v
-
if
=
"item.invoiceStatus == 1"
>
<
button
class
=
"btn btn-invoice"
@
click
.
stop
=
"viewInvoice(item)"
>
查看发票
<
/button
>
<
/template
>
</view>
</view>
</view>
...
...
@@ -278,6 +272,28 @@ const getAuditStatusText = (status) => {
}
;
return
map
[
status
]
||
''
;
}
;
const
hasInvoice
=
(
item
)
=>
String
(
item
?.
invoiceStatus
)
===
'1'
;
const
isPayDisabled
=
(
item
)
=>
{
return
String
(
item
?.
auditStatus
)
!==
'9'
;
}
;
const
canShowCancel
=
(
item
)
=>
{
return
String
(
item
?.
auditStatus
)
===
'9'
;
}
;
const
isCancelDisabled
=
(
item
)
=>
{
return
String
(
item
?.
auditStatus
)
!==
'9'
;
}
;
const
canShowInvoiceApply
=
(
item
)
=>
!
hasInvoice
(
item
);
const
isInvoiceDisabled
=
(
item
)
=>
{
if
(
hasInvoice
(
item
))
return
true
;
return
String
(
item
?.
auditStatus
)
!==
'2'
||
String
(
item
?.
payStatus
)
===
'4'
;
}
;
onLoad
((
options
)
=>
{
// queryParams.perId = options.perId || userInfo.value.perId
initData
();
...
...
@@ -382,6 +398,7 @@ const goToDetail = (item) => {
// 去缴费
const
goPay
=
(
item
)
=>
{
if
(
isPayDisabled
(
item
))
return
;
const
baseFormData
=
{
rangeId
:
item
.
sourceId
||
item
.
id
,
payYear
:
item
.
content
?.
yearCount
||
1
,
...
...
@@ -440,6 +457,7 @@ const handlePay = async (item) => {
// 申请开票
const
makeInvoiceFN
=
(
item
)
=>
{
if
(
isInvoiceDisabled
(
item
))
return
;
needRefresh
.
value
=
true
;
uni
.
navigateTo
({
url
:
`/pages/invoice/applyFeisui?orderId=${item.id
}
&amount=${item.price
}
&type=1`
...
...
@@ -466,6 +484,7 @@ const closeInvoicePopup = () => {
// 取消订单
const
handleCancel
=
(
item
)
=>
{
if
(
isCancelDisabled
(
item
))
return
;
currentOrder
.
value
=
item
;
cancelModalContent
.
value
=
`是否确认取消缴费编号为"${item.wfCode
}
"的订单?`
;
showCancelPopup
.
value
=
true
;
...
...
@@ -781,9 +800,12 @@ const closeCancelPopup = () => {
border
:
1
rpx
solid
#
c30d23
;
}
&
:
disabled
{
&
:
disabled
,
&
.
disabled
{
opacity
:
0.6
;
pointer
-
events
:
none
;
color
:
#
999
;
border
-
color
:
#
ddd
;
background
:
#
f5f5f5
;
}
}
}
...
...
personalVip/mobilizeRecord.vue
0 → 100644
View file @
0ac7b89
<
template
>
<view>
<view
class=
"appList"
>
<view
class=
"appItem"
v-for=
"(item,index) in list"
:key=
"index"
@
click=
"goDetail(item)"
>
<view
class=
"status"
>
<text
:class=
"statusClass(item)"
>
{{
statusText
(
item
)
}}
</text>
</view>
<view
class=
"name mt0"
>
{{
item
.
name
||
'调动记录'
}}
</view>
<view
class=
"flexbox"
v-if=
"deptType == 1 || deptType == 2 || deptType == 3"
>
<view
class=
"w50"
>
申请调入单位
<view><text>
{{
item
.
targetDeptName
||
'-'
}}
</text></view>
</view>
<view
class=
"w50"
>
会员合计
<view>
{{
item
.
personCount
||
0
}}
</view>
</view>
</view>
<view
v-else
class=
"pp"
>
会员合计:
<text
class=
"text-primary"
>
{{
item
.
personCount
||
0
}}
</text>
</view>
</view>
</view>
<view
class=
"nodata"
v-if=
"list.length==0 && !loading"
>
<image
mode=
"aspectFit"
:src=
"config.baseUrl_api + '/fs/static/nodata.png'"
></image>
<text>
暂无数据
</text>
</view>
</view>
</
template
>
<
script
setup
>
import
*
as
api
from
'@/common/api.js'
import
config
from
'@/config.js'
import
{
ref
}
from
'vue'
import
{
onLoad
,
onShow
}
from
'@dcloudio/uni-app'
const
app
=
getApp
()
const
queryParams
=
ref
({})
const
list
=
ref
([])
const
total
=
ref
(
0
)
const
deptType
=
ref
(
''
)
const
loading
=
ref
(
false
)
const
hasInited
=
ref
(
false
)
onLoad
(()
=>
{
if
(
app
.
globalData
.
isLogin
)
{
init
()
}
else
{
app
.
firstLoadCallback
=
()
=>
{
init
()
}
}
})
onShow
(()
=>
{
if
(
hasInited
.
value
)
{
getList
()
}
})
function
init
()
{
deptType
.
value
=
app
.
globalData
.
deptType
queryParams
.
value
=
{}
if
(
deptType
.
value
==
2
||
deptType
.
value
==
3
)
{
queryParams
.
value
.
dgId
=
-
1
}
if
(
deptType
.
value
==
1
)
{
queryParams
.
value
.
dgId
=
-
2
}
if
(
deptType
.
value
==
6
)
{
queryParams
.
value
.
dgId
=
1
}
hasInited
.
value
=
true
getList
()
}
function
getList
()
{
loading
.
value
=
true
uni
.
showLoading
({
title
:
'加载中'
,
mask
:
true
})
api
.
getMobilizelist
(
queryParams
.
value
).
then
(
res
=>
{
list
.
value
=
res
.
rows
||
[]
total
.
value
=
res
.
total
||
0
}).
finally
(()
=>
{
loading
.
value
=
false
uni
.
hideLoading
()
})
}
function
statusText
(
item
)
{
if
(
deptType
.
value
==
1
)
{
const
map
=
{
0
:
'审核中'
,
1
:
'审核通过'
,
2
:
'审核拒绝'
,
3
:
'撤销申请'
}
return
map
[
item
.
ztxRes
]
||
'-'
}
if
(
deptType
.
value
==
2
||
deptType
.
value
==
3
)
{
const
map
=
{
0
:
'审核中'
,
1
:
'审核通过'
,
2
:
'审核拒绝'
,
3
:
'撤销申请'
}
return
map
[
item
.
shenRes
]
||
'-'
}
const
map
=
{
0
:
'待提交'
,
1
:
'审核中'
,
2
:
'审核拒绝'
,
3
:
'审核通过'
,
4
:
'已撤回'
}
return
map
[
item
.
status
]
||
'-'
}
function
statusClass
(
item
)
{
const
value
=
deptType
.
value
==
1
?
item
.
ztxRes
:
(
deptType
.
value
==
2
||
deptType
.
value
==
3
?
item
.
shenRes
:
item
.
status
)
if
(
value
==
1
||
value
==
3
)
return
'text-success'
if
(
value
==
2
||
value
==
4
)
return
'text-danger'
return
'text-primary'
}
function
goDetail
(
item
)
{
const
auditLog
=
encodeURIComponent
(
JSON
.
stringify
(
item
.
auditLog
))
const
form
=
encodeURIComponent
(
JSON
.
stringify
(
item
))
uni
.
navigateTo
({
url
:
`/personalVip/mobilizeDetail?rangeId=
${
item
.
id
}
&auditLog=
${
auditLog
}
&form=
${
form
}
`
})
}
</
script
>
<
style
scoped
lang=
"scss"
>
.mt0
{
margin-top
:
0
!important
;
}
.appList
.appItem
.name
{
width
:
80%
;
word-break
:
break-all
;
}
</
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