import type { MockMethod } from './types' const workers = [ { id: 1, code: 'W001', name: '张三', isEnabled: 1, machineCount: 2, machineNames: '西-1.8,西-2.0' }, { id: 2, code: 'W002', name: '李四', isEnabled: 1, machineCount: 1, machineNames: '西-1.10' }, { id: 3, code: 'W003', name: '王五', isEnabled: 0, machineCount: 0, machineNames: '-' }, ] const mock: MockMethod[] = [ { url: '/mock-api/admin/worker', method: 'get', response: ({ query }: any) => { let items = [...workers] const page = Number(query.page) || 1 const pageSize = Number(query.pageSize) || 20 const original = items if (query.isEnabled !== undefined && query.isEnabled !== '') items = items.filter((w: any) => w.isEnabled === Number(query.isEnabled)) if (query.keyword) items = items.filter((w: any) => w.name.includes(query.keyword) || w.code.includes(query.keyword)) const total = original.length const start = (page - 1) * pageSize const end = start + pageSize items = items.slice(start, end) return { code: 0, data: { items, total, page, pageSize } } }}, // 参数化路由:GET /mock-api/admin/worker/:id { url: '/mock-api/admin/worker/:id', method: 'get', response: ({ params }: any) => { const w = workers.find((w: any) => w.id === Number(params.id)) return { code: 0, data: w || null } }}, // 兼容旧URL格式 { url: '/mock-api/admin/worker/detail', method: 'get', response: ({ query }: any) => { const w = workers.find((w: any) => w.id === Number(query.id)) return { code: 0, data: w || null } }}, { url: '/mock-api/admin/worker', method: 'post', response: () => ({ code: 0, message: 'success', data: { id: 4, name: '赵六' } }) }, { url: '/mock-api/admin/worker/update', method: 'post', response: () => ({ code: 0, message: 'success', data: null }) }, { url: '/mock-api/admin/worker/delete', method: 'post', response: () => ({ code: 0, message: 'success', data: null }) }, { url: '/mock-api/admin/worker/batch-status', method: 'post', response: () => ({ code: 0, message: 'success', data: null }) }, // 参数化路由:GET /mock-api/admin/worker/:id/machines { url: '/mock-api/admin/worker/:id/machines', method: 'get', response: () => ({ code: 0, data: { items: [ { machineId: 1, machineName: '西-1.8', deviceCode: 'fanake_1.8', workshopName: 'A栋', brandName: 'FANUC', isOnline: 1, programName: '1566.NC' }, { machineId: 2, machineName: '西-2.0', deviceCode: 'fanake_2.0', workshopName: 'A栋', brandName: 'FANUC', isOnline: 0, programName: null }, ] } }) }, // 兼容旧URL格式 { url: '/mock-api/admin/worker/machines', method: 'get', response: () => ({ code: 0, data: { items: [ { machineId: 1, machineName: '西-1.8', deviceCode: 'fanake_1.8', workshopName: 'A栋', brandName: 'FANUC', isOnline: 1, programName: '1566.NC' }, { machineId: 2, machineName: '西-2.0', deviceCode: 'fanake_2.0', workshopName: 'A栋', brandName: 'FANUC', isOnline: 0, programName: null }, ] } }) }, // 参数化路由:GET /mock-api/admin/worker/:id/production/today { url: '/mock-api/admin/worker/:id/production/today', method: 'get', response: () => ({ code: 0, data: { items: [ { machineName: '西-1.8', programName: '1566.NC', quantity: 580, runTime: '4h20m', cuttingTime: '3h50m' }, { machineName: '西-2.0', programName: '-', quantity: null, runTime: '-', cuttingTime: '-' }, ] } }) }, // 兼容旧URL格式 { url: '/mock-api/admin/worker/production/today', method: 'get', response: () => ({ code: 0, data: { items: [ { machineName: '西-1.8', programName: '1566.NC', quantity: 580, runTime: '4h20m', cuttingTime: '3h50m' }, { machineName: '西-2.0', programName: '-', quantity: null, runTime: '-', cuttingTime: '-' }, ] } }) }, // 参数化路由:GET /mock-api/admin/worker/:id/production/trend { url: '/mock-api/admin/worker/:id/production/trend', method: 'get', response: () => ({ code: 0, data: { items: [ { date: '2026-04-19', quantity: 980 }, { date: '2026-04-20', quantity: 920 }, { date: '2026-04-21', quantity: 1100 }, { date: '2026-04-22', quantity: 1050 }, { date: '2026-04-23', quantity: 990 }, { date: '2026-04-24', quantity: 1080 }, { date: '2026-04-25', quantity: 580 }, ] } }) }, // 兼容旧URL格式 { url: '/mock-api/admin/worker/production/trend', method: 'get', response: () => ({ code: 0, data: { items: [ { date: '2026-04-19', quantity: 980 }, { date: '2026-04-20', quantity: 920 }, { date: '2026-04-21', quantity: 1100 }, { date: '2026-04-22', quantity: 1050 }, { date: '2026-04-23', quantity: 990 }, { date: '2026-04-24', quantity: 1080 }, { date: '2026-04-25', quantity: 580 }, ] } }) }, { url: '/mock-api/admin/worker/available-machines', method: 'get', response: () => ({ code: 0, data: { items: [ { id: 5, name: '东-2.5', deviceCode: 'siemens_2.5', workshopName: 'B栋' }, { id: 8, name: '北-4.1', deviceCode: 'fanake_4.1', workshopName: 'C栋' }, ] } }) }, ] export default mock