fix(lot-detail): use actual data update time and add LF/wafer description fields

Hold Detail "Last Update" now reads dataUpdateDate from the API response
instead of using browser-local page load time. Lot Detail panels in both
WIP Detail and Resource Status tooltip now show LEADFRAMEDESC and WAFERDESC
from DWH.DW_MES_LOT_V, with multi-row values joined by ", ".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
egg
2026-02-12 11:46:37 +08:00
parent 7cb0985b12
commit 0ed69ce326
4 changed files with 31 additions and 4 deletions

View File

@@ -36,7 +36,9 @@ const refreshing = ref(false);
const lotsLoading = ref(false);
const lotsError = ref('');
const loadError = ref('');
const lastUpdate = ref('');
const lastUpdate = computed(() => {
return summary.value?.dataUpdateDate ? `Last Update: ${summary.value.dataUpdateDate}` : '';
});
function unwrapApiResult(result, fallbackMessage) {
if (result?.success) {
@@ -216,7 +218,6 @@ async function loadAllData(showOverlay = true) {
totalPages: Number(lotsData?.pagination?.totalPages || 1),
};
lastUpdate.value = `Last Update: ${new Date().toLocaleString('zh-TW')}`;
} catch (error) {
if (error?.name === 'AbortError') {
return;

View File

@@ -275,10 +275,18 @@ onBeforeUnmount(() => {
<span class="tooltip-field-label">Wafer P/N</span>
<span class="tooltip-field-value">{{ lotDetailValue(getLotDetail(lot.RUNCARDLOTID), 'waferPn') }}</span>
</div>
<div class="tooltip-field">
<span class="tooltip-field-label">Wafer Description</span>
<span class="tooltip-field-value">{{ lotDetailValue(getLotDetail(lot.RUNCARDLOTID), 'waferDesc') }}</span>
</div>
<div class="tooltip-field">
<span class="tooltip-field-label">Leadframe</span>
<span class="tooltip-field-value">{{ lotDetailValue(getLotDetail(lot.RUNCARDLOTID), 'leadframeName') }}</span>
</div>
<div class="tooltip-field">
<span class="tooltip-field-label">LF Description</span>
<span class="tooltip-field-value">{{ lotDetailValue(getLotDetail(lot.RUNCARDLOTID), 'leadframeDesc') }}</span>
</div>
<div class="tooltip-field">
<span class="tooltip-field-label">Compound</span>
<span class="tooltip-field-value">{{ lotDetailValue(getLotDetail(lot.RUNCARDLOTID), 'compoundName') }}</span>

View File

@@ -103,7 +103,7 @@ function hasHoldSection() {
const basicFields = ['lotId', 'workorder', 'wipStatus', 'status', 'qty', 'qty2', 'ageByDays', 'priority'];
const productFields = ['product', 'productLine', 'packageLef', 'pjType', 'pjFunction', 'bop', 'dateCode', 'produceRegion'];
const processFields = ['workcenterGroup', 'workcenter', 'spec', 'specSequence', 'workflow', 'equipment', 'equipmentCount', 'location'];
const materialFields = ['waferLotId', 'waferPn', 'waferLotPrefix', 'leadframeName', 'leadframeOption', 'compoundName', 'dieConsumption', 'uts'];
const materialFields = ['waferLotId', 'waferPn', 'waferLotPrefix', 'waferDesc', 'leadframeName', 'leadframeOption', 'leadframeDesc', 'compoundName', 'dieConsumption', 'uts'];
const holdFields = ['holdReason', 'holdCount', 'holdEmp', 'holdDept', 'holdComment', 'releaseTime', 'releaseEmp', 'releaseComment'];
const ncrFields = ['ncrId', 'ncrDate'];
const commentFields = ['comment', 'commentDate', 'commentEmp', 'futureHoldComment'];