客户端订单行操作改为纯文字按钮

This commit is contained in:
2026-09-15 19:46:06 +08:00
parent 7068f49100
commit fbd61debf5
3 changed files with 8 additions and 11 deletions
+1 -1
View File
@@ -165,7 +165,7 @@ function setPage(value: number) {
<div class="data-table__row-actions">
<el-button v-for="action in splitTableActions(rowActions(row)).visible" :key="action.key"
:disabled="action.disabled" :loading="action.loading" @click="runTableAction(action)">
<component :is="action.icon" v-if="action.icon" :size="14" />{{ action.label }}
{{ action.label }}
</el-button>
<el-dropdown v-if="splitTableActions(rowActions(row)).overflow.length" trigger="click">
<el-button class="data-table__more" aria-label="更多操作" title="更多操作">…</el-button>
-3
View File
@@ -1,9 +1,6 @@
import type { Component } from 'vue'
export interface TableAction {
key: string
label: string
icon?: Component
disabled?: boolean
loading?: boolean
run: () => unknown
@@ -2,7 +2,7 @@
import { computed, nextTick, onBeforeUnmount, onMounted, reactive, ref, watch } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { ElMessage, ElMessageBox, type FormInstance, type FormItemRule, type FormRules, type UploadRequestOptions } from 'element-plus'
import { AlertTriangle, Box, ChevronDown, ChevronUp, Download, Eye, FilePlus2, FileText, GripVertical, ImagePlus, MapPin, PackageCheck, Pencil, Plus, RotateCcw, Send, SlidersHorizontal, Trash2, Upload } from '@lucide/vue'
import { AlertTriangle, Box, ChevronDown, ChevronUp, Download, FilePlus2, FileText, GripVertical, ImagePlus, MapPin, PackageCheck, Pencil, Plus, RotateCcw, Send, SlidersHorizontal, Trash2, Upload } from '@lucide/vue'
import { FIRST_LEG_ORDER_STATUSES, type FirstLegOrderStatus } from '@chongchong/shared'
import QueryToolbar, { type QueryField, type QueryModel } from '@/components/common/QueryToolbar.vue'
import DataTable, { type DataTableColumn } from '@/components/common/DataTable.vue'
@@ -1159,16 +1159,16 @@ async function autofillWarehouseSelections() {
function getOrderRowActions(row: object): TableAction[] {
const order = row as FirstLegOrder
const actions: TableAction[] = [
{ key: 'detail', label: '详情', icon: Eye, run: () => openDetail(order) },
{ key: 'detail', label: '详情', run: () => openDetail(order) },
]
if (canConfirmInboundFee.value && order.businessSummary.customerFeeConfirmationRequired) {
actions.push({ key: 'fee', label: '确认计费重', run: () => openFeeConfirmation(order) })
}
if (canEditOrder.value && canClientEditFirstLegOrder(order.status)) {
actions.push({ key: 'edit', label: '编辑', icon: Pencil, loading: openingEditor.value, run: () => openEdit(order) })
actions.push({ key: 'edit', label: '编辑', loading: openingEditor.value, run: () => openEdit(order) })
}
if (eligibleCustomsDetail(order)) {
actions.push({ key: 'customs', label: '报关资料', icon: FileText, run: () => openCustomsDocuments(order) })
actions.push({ key: 'customs', label: '报关资料', run: () => openCustomsDocuments(order) })
}
return actions
}
@@ -1997,10 +1997,10 @@ async function searchOrders(model: QueryModel) {
<footer>
<span>更新于 {{ formatDateTime(order.updatedAt) }}</span>
<div>
<el-button link type="primary" @click="openDetail(order)"><Eye :size="15" />详情</el-button>
<el-button link type="primary" @click="openDetail(order)">详情</el-button>
<el-button v-if="canConfirmInboundFee && order.businessSummary.customerFeeConfirmationRequired" link type="primary" @click="openFeeConfirmation(order)">确认计费重</el-button>
<el-button v-if="canEditOrder && canClientEditFirstLegOrder(order.status)" link type="primary" :loading="openingEditor" @click="openEdit(order)"><Pencil :size="15" />编辑</el-button>
<el-button v-if="eligibleCustomsDetail(order)" link type="primary" @click="openCustomsDocuments(order)"><FileText :size="15" />报关资料</el-button>
<el-button v-if="canEditOrder && canClientEditFirstLegOrder(order.status)" link type="primary" :loading="openingEditor" @click="openEdit(order)">编辑</el-button>
<el-button v-if="eligibleCustomsDetail(order)" link type="primary" @click="openCustomsDocuments(order)">报关资料</el-button>
</div>
</footer>
</article>