|
|
@@ -98,6 +98,35 @@
|
|
|
|
|
|
<template #default="{ row }">{{ asGapItem(row).planDate || '—' }}</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column prop="deliveryTimes" label="送货时间" min-width="130" align="center">
|
|
|
+ <template #header>
|
|
|
+ <div class="col-header-with-filter">
|
|
|
+ <span class="col-header-with-filter__label">送货时间</span>
|
|
|
+ <ColumnHeaderFilter
|
|
|
+ prop="deliveryTimes"
|
|
|
+ label="送货时间"
|
|
|
+ type="datetime"
|
|
|
+ :is-active="isFilterActive('deliveryTimes')"
|
|
|
+ :model-value="filters.deliveryTimes || null"
|
|
|
+ @update:model-value="(v) => setFilterState('deliveryTimes', v)"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template #default="{ row }">
|
|
|
+ <div
|
|
|
+ v-if="(asGapItem(row).deliveryTimes || []).length"
|
|
|
+ class="pl-delivery-times-cell"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ v-for="(t, i) in asGapItem(row).deliveryTimes"
|
|
|
+ :key="`${asGapItem(row).id}-dt-${i}`"
|
|
|
+ >
|
|
|
+ {{ t }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <span v-else>—</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column prop="planType" label="单据类型" min-width="100" align="center">
|
|
|
<template #header>
|
|
|
<div class="col-header-with-filter">
|
|
|
@@ -522,7 +551,7 @@ import { isPlInternalCustomerName } from '@/utils/pl-internal-customer'
|
|
|
import { refreshMenuBadges } from '@/utils/menu-badge-registry'
|
|
|
import { useMenuStore } from '@/store/modules/menu'
|
|
|
|
|
|
-const PLAN_MERGE_COLUMN_PROPS = ['planDate', 'planType', 'followStatus'] as const
|
|
|
+const PLAN_MERGE_COLUMN_PROPS = ['planDate', 'deliveryTimes', 'planType', 'followStatus'] as const
|
|
|
|
|
|
const menuStore = useMenuStore()
|
|
|
const { ContractDetailDialog, contractDetailRef, openContractDetail } = useContractDetailDialog()
|
|
|
@@ -707,6 +736,7 @@ function getContractGapExportFilterParams() {
|
|
|
const contractGapExportColumns = [
|
|
|
'planNo',
|
|
|
'planDate',
|
|
|
+ 'deliveryTimes',
|
|
|
'planType',
|
|
|
'followStatus',
|
|
|
'supplierName',
|
|
|
@@ -936,6 +966,14 @@ onMounted(() => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+.pl-delivery-times-cell {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ gap: 2px;
|
|
|
+ line-height: 1.35;
|
|
|
+}
|
|
|
+
|
|
|
.pl-plan-contract-stat {
|
|
|
display: inline-flex;
|
|
|
align-items: center;
|