| | |
| | | import { useRoute, useRouter } from 'vue-router' |
| | | import { ArrowLeft } from '@element-plus/icons-vue' |
| | | import { ElMessage, ElMessageBox } from 'element-plus' |
| | | import { getOrderDetail, payOrder, refundOrder, verifyOrder } from '../api/admin' |
| | | import { getOrderDetail, payOrder, refundOrder } from '../api/admin' |
| | | |
| | | type Detail = Record<string, any> |
| | | |
| | |
| | | return detail.value?.orderStatus === 0 |
| | | } |
| | | |
| | | function canVerify() { |
| | | return detail.value?.orderStatus === 1 && detail.value?.verifyStatus !== 1 |
| | | } |
| | | |
| | | function canRefund() { |
| | | return detail.value?.orderStatus === 1 && detail.value?.verifyStatus !== 1 |
| | | } |
| | |
| | | detail.value = await payOrder(detail.value.orderNo) |
| | | await load() |
| | | ElMessage.success('订单已支付') |
| | | } |
| | | |
| | | async function verify() { |
| | | if (!detail.value?.orderNo) return |
| | | await ElMessageBox.confirm('确认核销该订单?', '订单核销', { type: 'warning' }) |
| | | detail.value = await verifyOrder(detail.value.orderNo, String(detail.value.orderType || '').includes('STORE') ? 'STORE_CONSUME' : 'GROUP', detail.value.merchantId) |
| | | await load() |
| | | ElMessage.success('订单已核销') |
| | | } |
| | | |
| | | async function refund() { |
| | |
| | | <div class="detail-actions"> |
| | | <el-button @click="router.back()">返回</el-button> |
| | | <el-button v-if="canPay()" type="primary" @click="markPaid">标记支付</el-button> |
| | | <el-button v-if="canVerify()" type="primary" @click="verify">核销</el-button> |
| | | <el-button v-if="canRefund()" type="danger" plain @click="refund">退款</el-button> |
| | | <el-button v-if="canRefund()" type="primary" @click="refund">退款</el-button> |
| | | </div> |
| | | </template> |
| | | <el-dialog v-model="previewVisible" title="封面图预览" width="640px" destroy-on-close> |