export default function MESUIMockup() { const workers = [ { id: 'P001', alias: '貞', name: '淑貞', station: 'G22 裁縫站' }, { id: 'P002', alias: '光', name: '光耀', station: 'G25 釘布站' }, { id: 'P003', alias: '龍', name: '志龍', station: 'G24 穿布站' }, { id: 'P004', alias: '泉', name: '玉泉', station: 'G21 曲木站' }, { id: 'P005', alias: '聯', name: '生聯', station: 'G26 釘背站' }, { id: 'P006', alias: '錦', name: '叔錦', station: 'G33 品保站' } ]; const urgentTasks = [ { billNo: 'SO240901', rowNo: 1, prodId: 'A-CHAIR-01', prodName: '辦公椅 60"黑', preInDate: '2026-04-09', process: '裁縫', points: 1.5, alias: '貞', qty: 20, done: 8 }, { billNo: 'SO240902', rowNo: 2, prodId: 'B-CHAIR-09', prodName: '主管椅座墊', preInDate: '2026-04-09', process: '釘布', points: 1.2, alias: '光', qty: 15, done: 0 } ]; const todayTasks = [ { billNo: 'SO240915', rowNo: 1, prodId: 'C-ARM-03', prodName: '扶手組', preInDate: '2026-04-10', process: '鎖配件', points: 0.8, alias: '聯', qty: 30, done: 12 }, { billNo: 'SO240916', rowNo: 3, prodId: 'D-SEAT-11', prodName: '座墊穿布', preInDate: '2026-04-10', process: '穿布', points: 1.1, alias: '龍', qty: 24, done: 5 }, { billNo: 'SO240917', rowNo: 1, prodId: 'E-WOOD-02', prodName: '曲木椅背', preInDate: '2026-04-10', process: '曲木', points: 1.7, alias: '泉', qty: 18, done: 0 } ]; const advanceTasks = [ { billNo: 'SO240930', rowNo: 1, prodId: 'PK-SET-21', prodName: '包裝紙箱組', preInDate: '2026-04-11', process: '包裝', points: 0.5, alias: '錦', qty: 50, done: 0 }, { billNo: 'SO240933', rowNo: 2, prodId: 'QA-CHK-10', prodName: '品保檢驗單', preInDate: '2026-04-12', process: '品保', points: 0.6, alias: '錦', qty: 35, done: 0 } ]; const activeWorks = [ { status: '生產中', billNo: 'SO240916', prodName: '座墊穿布', process: '穿布', start: '09:12', pause: 0, qty: 5 }, { status: '暫停中', billNo: 'SO240915', prodName: '扶手組', process: '鎖配件', start: '08:20', pause: 18, qty: 12 } ]; const completed = [ { time: '10:06', billNo: 'SO240880', prodName: '曲木椅背', qty: 12, points: 20.4 }, { time: '11:40', billNo: 'SO240886', prodName: '主管椅座墊', qty: 8, points: 9.6 }, { time: '13:15', billNo: 'SO240891', prodName: '扶手組', qty: 16, points: 12.8 } ]; const ranking = [ { name: '淑貞', alias: '貞', score: 86.5, completed: 42 }, { name: '光耀', alias: '光', score: 80.2, completed: 39 }, { name: '志龍', alias: '龍', score: 74.8, completed: 33 }, { name: '玉泉', alias: '泉', score: 69.7, completed: 28 } ]; const stationSummary = [ { station: 'G22 裁縫站', wip: 7, completed: 21 }, { station: 'G25 釘布站', wip: 5, completed: 18 }, { station: 'G24 穿布站', wip: 6, completed: 15 }, { station: 'G33 品保站', wip: 3, completed: 12 } ]; const progress = [ { order: 'SO240915', customer: '新竹醫院案', percent: 72 }, { order: 'SO240916', customer: '台中學校案', percent: 46 }, { order: 'SO240917', customer: '高雄辦公案', percent: 28 } ]; const badge = (status) => { if (status === '生產中') return 'bg-emerald-100 text-emerald-700'; if (status === '暫停中') return 'bg-amber-100 text-amber-700'; return 'bg-slate-100 text-slate-700'; }; const sectionTitle = (title, hint) => (
{hint}
| 單號 | 品名 / 工序 | 交期 | 指定 | 進度 | 點數 | 操作 |
|---|---|---|---|---|---|---|
| {t.billNo}-{t.rowNo} |
{t.prodName}
{t.prodId} / {t.process}
|
{t.preInDate} | {t.alias} |
|
{t.points} |
|
新傳 MES 報工系統
展示登入、人員看板、開工 / 暫停 / 完工、個人戰績與管理儀表板。
| 時間 | 單號 / 品名 | 數量 | 點數 |
|---|---|---|---|
| {c.time} |
{c.billNo}
{c.prodName}
|
{c.qty} | {c.points} |