feat: 支付凭证
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m22s

This commit is contained in:
sexygoat
2026-04-23 18:35:29 +08:00
parent cd2ca96873
commit aaa648a86d
6 changed files with 143 additions and 0 deletions

View File

@@ -159,6 +159,12 @@
</div>
</template>
</ElDialog>
<!-- 支付凭证预览 -->
<PaymentVoucherDialog
:file-key="paymentVoucherFileKey"
@close="paymentVoucherFileKey = ''"
/>
</ElCard>
</div>
</ArtTableFullScreen>
@@ -196,6 +202,7 @@
import { formatDateTime } from '@/utils/business/format'
import { RoutesAlias } from '@/router/routesAlias'
import { useAuth } from '@/composables/useAuth'
import PaymentVoucherDialog from '@/components/business/PaymentVoucherDialog.vue'
defineOptions({ name: 'AgentRechargeList' })
@@ -210,6 +217,7 @@
const createDialogVisible = ref(false)
const confirmPayDialogVisible = ref(false)
const currentRecharge = ref<AgentRecharge | null>(null)
const paymentVoucherFileKey = ref('')
// 搜索表单初始值
const initialSearchState: AgentRechargeQueryParams = {
@@ -751,6 +759,19 @@
const getActions = (row: AgentRecharge) => {
const actions: any[] = []
// 线下支付且有凭证可以查看
if (
row.payment_method === 'offline' &&
row.payment_voucher_key &&
hasAuth('agent_recharge:view_payment_voucher')
) {
actions.push({
label: '查看支付凭证',
handler: () => handleViewPaymentVoucher(row),
type: 'primary'
})
}
// 待支付且线下转账的订单可以确认支付
if (
row.status === 1 &&
@@ -766,6 +787,12 @@
return actions
}
// 查看支付凭证
const handleViewPaymentVoucher = (row: AgentRecharge) => {
if (!row.payment_voucher_key) return
paymentVoucherFileKey.value = row.payment_voucher_key
}
</script>
<style scoped lang="scss">

View File

@@ -300,6 +300,12 @@
</div>
</template>
</ElDialog>
<!-- 支付凭证预览 -->
<PaymentVoucherDialog
:file-key="paymentVoucherFileKey"
@close="paymentVoucherFileKey = ''"
/>
</ElCard>
</div>
</ArtTableFullScreen>
@@ -337,6 +343,7 @@
import { useUserStore } from '@/store/modules/user'
import { formatDateTime } from '@/utils/business/format'
import { RoutesAlias } from '@/router/routesAlias'
import PaymentVoucherDialog from '@/components/business/PaymentVoucherDialog.vue'
defineOptions({ name: 'OrderList' })
@@ -350,6 +357,7 @@
const createDialogVisible = ref(false)
const detailDialogVisible = ref(false)
const currentOrder = ref<Order | null>(null)
const paymentVoucherFileKey = ref('')
// 搜索表单初始值
const initialSearchState: OrderQueryParams = {
@@ -1199,6 +1207,19 @@
const getActions = (row: Order) => {
const actions: any[] = []
// 线下支付且有凭证可以查看
if (
row.payment_method === 'offline' &&
row.payment_voucher_key &&
hasAuth('orders:view_payment_voucher')
) {
actions.push({
label: '查看支付凭证',
handler: () => handleViewPaymentVoucher(row),
type: 'primary'
})
}
// 只有待支付的订单可以删除
if (row.payment_status === 1 && hasAuth('orders:delete')) {
actions.push({
@@ -1210,6 +1231,12 @@
return actions
}
// 查看支付凭证
const handleViewPaymentVoucher = (row: Order) => {
if (!row.payment_voucher_key) return
paymentVoucherFileKey.value = row.payment_voucher_key
}
</script>
<style scoped lang="scss">