feat(query-tool): optimize equipment tracking UI and unify column labels

- Equipment selector shows only RESOURCENAME (remove redundant RESOURCEID)
- Equipment lots table: remove CONTAINERID, add WAFER LOT/TYPE/BOP/WORKORDER
- Rename CONTAINERNAME to LOT ID across all tables and CSV exports
- Rename PJ_TYPE/PJ_BOP/PJ_WORKORDER to TYPE/BOP/WORKORDER in history and equipment lots
- Add export formatters for equipment_lots, lot_history, and lot_rejects

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
egg
2026-02-23 20:21:15 +08:00
parent 8694780abb
commit bb58a0e119
5 changed files with 229 additions and 144 deletions

View File

@@ -27,10 +27,21 @@ const props = defineProps({
const emit = defineEmits(['export']);
const COLUMN_LABELS = Object.freeze({
CONTAINERNAME: 'LOT ID',
WAFER_LOT_ID: 'WAFER LOT',
PJ_TYPE: 'TYPE',
PJ_BOP: 'BOP',
PJ_WORKORDER: 'WORKORDER',
});
const columns = Object.freeze([
'CONTAINERID',
'CONTAINERNAME',
'WAFER_LOT_ID',
'PJ_TYPE',
'PJ_BOP',
'SPECNAME',
'PJ_WORKORDER',
'TRACKINTIMESTAMP',
'TRACKOUTTIMESTAMP',
'TRACKINQTY',
@@ -69,7 +80,7 @@ const columns = Object.freeze([
<thead>
<tr>
<th v-for="column in columns" :key="column">
{{ column }}
{{ COLUMN_LABELS[column] || column }}
</th>
</tr>
</thead>

View File

@@ -27,6 +27,13 @@ const emit = defineEmits(['update:workcenterGroups']);
const HIDDEN_COLUMNS = new Set(['CONTAINERID', 'EQUIPMENTID', 'RESOURCEID']);
const COLUMN_LABELS = Object.freeze({
CONTAINERNAME: 'LOT ID',
PJ_TYPE: 'TYPE',
PJ_BOP: 'BOP',
PJ_WORKORDER: 'WORKORDER',
});
const columns = computed(() =>
Object.keys(props.rows[0] || {}).filter((col) => !HIDDEN_COLUMNS.has(col)),
);
@@ -73,7 +80,7 @@ const workcenterOptions = computed(() => {
<thead>
<tr>
<th v-for="column in columns" :key="column">
{{ column }}
{{ COLUMN_LABELS[column] || column }}
</th>
</tr>
</thead>

View File

@@ -109,7 +109,7 @@ const sortedRows = computed(() => {
<table class="query-tool-table">
<thead>
<tr>
<th>LOT</th>
<th>LOT ID</th>
<th>WORKCENTER</th>
<th>Package</th>
<th>FUNCTION</th>

View File

@@ -81,7 +81,7 @@ export function useEquipmentQuery(initial = {}) {
const equipmentOptionItems = computed(() => {
return equipmentOptions.value.map((item) => ({
value: String(item.RESOURCEID),
label: item.RESOURCENAME ? `${item.RESOURCENAME} (${item.RESOURCEID})` : String(item.RESOURCEID),
label: item.RESOURCENAME || String(item.RESOURCEID),
}));
});