This commit is contained in:
2026-08-12 18:16:44 +08:00
parent 9d9b8943b8
commit 4c12831ee0
25 changed files with 75 additions and 19 deletions
@@ -39,6 +39,13 @@ describe('PlatformFirstLegOrdersPanel review queue', () => {
expect(source).toContain('内部备注')
expect(source).toContain('取消订单')
expect(source).toContain("minWidth: 288, fixed: 'left'")
expect(source).toContain('size="small" plain type="success"')
expect(source).toContain('size="small" plain type="primary"')
expect(source).toContain('size="small" plain type="danger"')
expect(source).toContain('<Eye :size="15" />详情')
expect(source).not.toContain('v-if="actionLabel(row as PlatformFirstLegOrderResource)" link')
expect(source).toContain('@media (max-width: 360px)')
expect(source).toContain('.order-row-actions :deep(.el-button) { width: 100%; min-height: 40px; }')
})
it('distinguishes overflow action buttons by order and keeps a stable missing-field fallback', () => {
@@ -602,10 +602,10 @@ onMounted(() => void loadTenants())
<template #actions="{ row }">
<div class="table-actions order-row-actions">
<el-button link type="primary" :disabled="actionLoadingId === String((row as PlatformFirstLegOrderResource).id)" @click="openDetail(row as PlatformFirstLegOrderResource)"><Eye :size="15" />详情</el-button>
<el-button v-if="actionLabel(row as PlatformFirstLegOrderResource)" link type="success" :loading="actionLoadingId === String((row as PlatformFirstLegOrderResource).id)" @click="runLifecycleAction(row as PlatformFirstLegOrderResource)"><CircleCheckBig :size="15" />{{ actionLabel(row as PlatformFirstLegOrderResource) }}</el-button>
<el-button v-if="isDirectSecondaryAction(row as PlatformFirstLegOrderResource, 'express')" link type="primary" :disabled="actionLoadingId === String((row as PlatformFirstLegOrderResource).id)" @click="openExpress(row as PlatformFirstLegOrderResource)"><PackageCheck :size="15" />维护快递</el-button>
<el-button v-if="isDirectSecondaryAction(row as PlatformFirstLegOrderResource, 'note')" link type="primary" :disabled="actionLoadingId === String((row as PlatformFirstLegOrderResource).id)" @click="openNote(row as PlatformFirstLegOrderResource)"><FilePenLine :size="15" />内部备注</el-button>
<el-button v-if="isDirectSecondaryAction(row as PlatformFirstLegOrderResource, 'cancel')" link type="danger" :disabled="actionLoadingId === String((row as PlatformFirstLegOrderResource).id)" @click="cancelOrder(row as PlatformFirstLegOrderResource)"><CircleX :size="15" />取消订单</el-button>
<el-button v-if="actionLabel(row as PlatformFirstLegOrderResource)" size="small" plain type="success" :loading="actionLoadingId === String((row as PlatformFirstLegOrderResource).id)" @click="runLifecycleAction(row as PlatformFirstLegOrderResource)"><CircleCheckBig :size="15" />{{ actionLabel(row as PlatformFirstLegOrderResource) }}</el-button>
<el-button v-if="isDirectSecondaryAction(row as PlatformFirstLegOrderResource, 'express')" size="small" plain type="primary" :disabled="actionLoadingId === String((row as PlatformFirstLegOrderResource).id)" @click="openExpress(row as PlatformFirstLegOrderResource)"><PackageCheck :size="15" />维护快递</el-button>
<el-button v-if="isDirectSecondaryAction(row as PlatformFirstLegOrderResource, 'note')" size="small" plain type="primary" :disabled="actionLoadingId === String((row as PlatformFirstLegOrderResource).id)" @click="openNote(row as PlatformFirstLegOrderResource)"><FilePenLine :size="15" />内部备注</el-button>
<el-button v-if="isDirectSecondaryAction(row as PlatformFirstLegOrderResource, 'cancel')" size="small" plain type="danger" :disabled="actionLoadingId === String((row as PlatformFirstLegOrderResource).id)" @click="cancelOrder(row as PlatformFirstLegOrderResource)"><CircleX :size="15" />取消订单</el-button>
<el-dropdown v-if="hasOverflowActions(row as PlatformFirstLegOrderResource)" trigger="click" popper-class="first-leg-action-menu" :disabled="actionLoadingId === String((row as PlatformFirstLegOrderResource).id)" @command="runSecondaryAction($event, row as PlatformFirstLegOrderResource)">
<el-button link type="primary" :aria-label="moreOrderActionsLabel(row as PlatformFirstLegOrderResource)" :title="moreOrderActionsLabel(row as PlatformFirstLegOrderResource)"><MoreHorizontal :size="17" /></el-button>
<template #dropdown>
@@ -661,4 +661,8 @@ onMounted(() => void loadTenants())
.detail-page-header .el-button { width: 100%; min-height: 40px; }
.detail-table-scroll :deep(.el-table) { min-width: 560px; }
}
@media (max-width: 360px) {
.order-row-actions { align-items: stretch; flex-direction: column; }
.order-row-actions :deep(.el-button) { width: 100%; min-height: 40px; }
}
</style>