| | |
| | | const current = ref(null) |
| | | const query = reactive({ page: 1, size: 10, keyword: '', status: '' }) |
| | | const processForm = reactive({ status: 'APPROVED', auditRemark: '' }) |
| | | const statusMap = { PENDING: { label: '未处理', type: 'primary' }, APPROVED: { label: '已通过', type: 'success' }, REJECTED: { label: '已驳回', type: 'danger' } } |
| | | const statusMap = { PENDING: { label: '未处理', type: 'primary' }, TRANSFERRING: { label: '划账处理中', type: 'warning' }, TRANSFERRED: { label: '待发起取现', type: 'warning' }, PROCESSING: { label: '到账处理中', type: 'warning' }, APPROVED: { label: '已到账', type: 'success' }, REJECTED: { label: '已驳回', type: 'danger' } } |
| | | const formatMoney = (value) => Number(value || 0).toFixed(2) |
| | | const formatDateTime = (value) => value ? value.replace('T', ' ').slice(0, 19) : '-' |
| | | |
| | |
| | | processing.value = true |
| | | try { |
| | | await processWithdrawal(current.value.id, { status: processForm.status, auditRemark: processForm.auditRemark.trim() || undefined }) |
| | | ElMessage.success(processForm.status === 'APPROVED' ? '提现申请已通过' : '提现申请已驳回') |
| | | ElMessage.success(processForm.status === 'APPROVED' ? '提现申请已受理,等待到账结果' : '提现申请已驳回') |
| | | dialogVisible.value = false |
| | | loadWithdrawals() |
| | | } finally { processing.value = false } |
| | |
| | | <el-form class="query-form" label-position="left" label-width="70px" @submit.prevent="search"> |
| | | <el-form-item label="导游搜索"><el-input v-model="query.keyword" clearable placeholder="请输入导游手机号/导游姓名/提现编号" @keyup.enter="search" /></el-form-item> |
| | | <el-form-item label="申请时间"><el-date-picker v-model="dateRange" type="daterange" value-format="YYYY-MM-DD" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" /></el-form-item> |
| | | <el-form-item label="状态"><el-select v-model="query.status" clearable placeholder="全部"><el-option label="未处理" value="PENDING" /><el-option label="已通过" value="APPROVED" /><el-option label="已驳回" value="REJECTED" /></el-select></el-form-item> |
| | | <el-form-item label="状态"><el-select v-model="query.status" clearable placeholder="全部"><el-option label="未处理" value="PENDING" /><el-option label="划账处理中" value="TRANSFERRING" /><el-option label="待发起取现" value="TRANSFERRED" /><el-option label="到账处理中" value="PROCESSING" /><el-option label="已到账" value="APPROVED" /><el-option label="已驳回" value="REJECTED" /></el-select></el-form-item> |
| | | <div class="query-actions"><el-button type="primary" :icon="Search" @click="search">查询</el-button><el-button :icon="Refresh" @click="reset">重置</el-button></div> |
| | | </el-form> |
| | | <el-table v-loading="loading" :data="records" border row-key="id"> |
| | |
| | | <el-descriptions-item label="导游手机号">{{ current.guideMobile }}</el-descriptions-item><el-descriptions-item label="提现金额">{{ formatMoney(current.amount) }}</el-descriptions-item> |
| | | <el-descriptions-item label="申请时间" :span="2">{{ formatDateTime(current.appliedAt) }}</el-descriptions-item> |
| | | <el-descriptions-item v-if="current.processor" label="处理人">{{ current.processor }}</el-descriptions-item><el-descriptions-item v-if="current.processedAt" label="处理时间">{{ formatDateTime(current.processedAt) }}</el-descriptions-item> |
| | | <el-descriptions-item v-if="current.transferReqSeqId" label="划账流水" :span="2">{{ current.transferReqSeqId }}</el-descriptions-item> |
| | | <el-descriptions-item v-if="current.cashReqSeqId" label="取现流水" :span="2">{{ current.cashReqSeqId }}</el-descriptions-item> |
| | | <el-descriptions-item v-if="current.payoutMessage" label="资金状态" :span="2">{{ current.payoutMessage }}</el-descriptions-item> |
| | | </el-descriptions> |
| | | <el-form v-if="current?.status === 'PENDING'" class="process-form" label-width="82px"> |
| | | <el-form-item label="处理结果"><el-radio-group v-model="processForm.status"><el-radio-button value="APPROVED">通过</el-radio-button><el-radio-button value="REJECTED">驳回</el-radio-button></el-radio-group></el-form-item> |