diff --git a/src/modules/order/OrderListView.vue b/src/modules/order/OrderListView.vue index dfe9efc..70e61b6 100644 --- a/src/modules/order/OrderListView.vue +++ b/src/modules/order/OrderListView.vue @@ -137,6 +137,21 @@ async function load() { } function onSearch() { page.value = 1; load() } +function fmtDate(ts?: string | number | null) { + if (!ts) return '--' + let n: number + if (typeof ts === 'string') { + n = /^\d+$/.test(ts) ? Number(ts) : Date.parse(ts) + } else { + n = ts + } + if (!n || isNaN(n)) return String(ts) + const d = new Date(n) + if (isNaN(d.getTime())) return String(ts) + const pad = (x: number) => String(x).padStart(2, '0') + return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}` +} + function onReset() { filters.orderNo = '' filters.contractCode = '' @@ -208,13 +223,13 @@ onMounted(load) { type: 'selection', label: '', width: 50 }, { prop: 'orderNo', label: '订单号', width: 180 }, { prop: 'contractCode', label: '合同号', width: 160, slot: 'contractCode' }, - { prop: 'enterpriseName', label: '供应商', minWidth: 180 }, - { prop: 'orderUserName', label: '采购方', minWidth: 160 }, + { prop: 'enterpriseName', label: '供应商', minWidth: 180, slot: 'enterpriseName' }, + { prop: 'orderUserName', label: '采购方', minWidth: 160, slot: 'orderUserName' }, { prop: 'totalAmount', label: '金额', width: 130, align: 'right', slot: 'amount' }, { prop: 'totalNum', label: '数量', width: 80, align: 'center' }, { prop: 'shippedNum', label: '已发', width: 80, align: 'center' }, { prop: 'status', label: '状态', width: 110, align: 'center', slot: 'status' }, - { prop: 'createDate', label: '下单时间', width: 170 }, + { prop: 'createDate', label: '下单时间', width: 170, slot: 'time' }, { label: '操作', width: 280, align: 'center', slot: 'action' } ]" :data="list" @@ -235,6 +250,17 @@ onMounted(load) {{ row.contractCode }} -- + + + @@ -271,4 +297,5 @@ onMounted(load) .rr-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; } .rr-muted { color: var(--ink-3); } .rr-amount { font-weight: 600; color: var(--primary); } +.rr-time { font-family: 'SF Mono', Menlo, Monaco, Consolas, monospace; font-size: 12px; color: var(--ink-2); }