|
|
import type { MockMethod } from './types'
|
|
|
|
|
|
const brands = [
|
|
|
{ id: 1, brandName: 'FANUC', deviceField: 'device', tagsPath: 'tags', isEnabled: 1, fieldCount: 16 },
|
|
|
{ id: 2, brandName: 'SIEMENS', deviceField: 'device', tagsPath: 'tags', isEnabled: 1, fieldCount: 12 },
|
|
|
{ id: 3, brandName: 'MITSUBISHI', deviceField: 'device', tagsPath: 'tags', isEnabled: 0, fieldCount: 8 },
|
|
|
]
|
|
|
|
|
|
const standardFields = [
|
|
|
'program_name', 'part_count', 'device_status', 'run_status', 'operate_mode',
|
|
|
'spindle_speed_set', 'feed_speed_set', 'spindle_speed_actual', 'feed_speed_actual',
|
|
|
'spindle_load', 'spindle_override', 'power_on_time', 'run_time', 'cutting_time',
|
|
|
'cycle_time', 'machining_status',
|
|
|
]
|
|
|
|
|
|
const fanucMappings = [
|
|
|
{ id: 1, standardField: 'program_name', fieldName: 'Tag5', matchBy: 'id', dataType: 'string', isRequired: 1 },
|
|
|
{ id: 2, standardField: 'part_count', fieldName: 'Tag8', matchBy: 'id', dataType: 'number', isRequired: 1 },
|
|
|
{ id: 3, standardField: 'device_status', fieldName: '_io_status', matchBy: 'id', dataType: 'number', isRequired: 1 },
|
|
|
{ id: 4, standardField: 'run_status', fieldName: 'Tag9', matchBy: 'id', dataType: 'number', isRequired: 0 },
|
|
|
{ id: 5, standardField: 'operate_mode', fieldName: 'Tag10', matchBy: 'id', dataType: 'number', isRequired: 0 },
|
|
|
{ id: 6, standardField: 'spindle_speed_set', fieldName: 'Tag11', matchBy: 'id', dataType: 'number', isRequired: 0 },
|
|
|
{ id: 7, standardField: 'feed_speed_set', fieldName: 'Tag12', matchBy: 'id', dataType: 'number', isRequired: 0 },
|
|
|
{ id: 8, standardField: 'spindle_speed_actual', fieldName: 'Tag13', matchBy: 'id', dataType: 'number', isRequired: 0 },
|
|
|
{ id: 9, standardField: 'feed_speed_actual', fieldName: 'Tag14', matchBy: 'id', dataType: 'number', isRequired: 0 },
|
|
|
{ id: 10, standardField: 'spindle_load', fieldName: 'Tag15', matchBy: 'id', dataType: 'number', isRequired: 0 },
|
|
|
{ id: 11, standardField: 'spindle_override', fieldName: 'Tag16', matchBy: 'id', dataType: 'number', isRequired: 0 },
|
|
|
{ id: 12, standardField: 'power_on_time', fieldName: 'Tag17', matchBy: 'id', dataType: 'number', isRequired: 0 },
|
|
|
{ id: 13, standardField: 'run_time', fieldName: 'Tag18', matchBy: 'id', dataType: 'number', isRequired: 0 },
|
|
|
{ id: 14, standardField: 'cutting_time', fieldName: 'Tag19', matchBy: 'id', dataType: 'number', isRequired: 0 },
|
|
|
{ id: 15, standardField: 'cycle_time', fieldName: 'Tag20', matchBy: 'id', dataType: 'number', isRequired: 0 },
|
|
|
{ id: 16, standardField: 'machining_status', fieldName: 'Tag21', matchBy: 'id', dataType: 'string', isRequired: 0 },
|
|
|
]
|
|
|
|
|
|
const mock: MockMethod[] = [
|
|
|
{
|
|
|
url: '/mock-api/admin/brand',
|
|
|
method: 'get',
|
|
|
response: () => ({ code: 0, data: { items: brands } }),
|
|
|
},
|
|
|
{
|
|
|
// 参数化路由:匹配 /mock-api/admin/brand/1, /mock-api/admin/brand/2 等
|
|
|
url: '/mock-api/admin/brand/:id',
|
|
|
method: 'get',
|
|
|
response: ({ params }: any) => {
|
|
|
const id = Number(params.id)
|
|
|
const b = brands.find((b: any) => b.id === id)
|
|
|
return { code: 0, data: { ...b, mappings: id === 1 ? fanucMappings : [] } }
|
|
|
},
|
|
|
},
|
|
|
{
|
|
|
// 兼容旧URL格式
|
|
|
url: '/mock-api/admin/brand/detail',
|
|
|
method: 'get',
|
|
|
response: ({ query }: any) => {
|
|
|
const id = Number(query.id)
|
|
|
const b = brands.find((b: any) => b.id === id)
|
|
|
return { code: 0, data: { ...b, mappings: id === 1 ? fanucMappings : [] } }
|
|
|
},
|
|
|
},
|
|
|
{
|
|
|
url: '/mock-api/admin/brand',
|
|
|
method: 'post',
|
|
|
response: () => ({ code: 0, message: 'success', data: { id: 4, brandName: '新品牌' } }),
|
|
|
},
|
|
|
{
|
|
|
url: '/mock-api/admin/brand/update',
|
|
|
method: 'post',
|
|
|
response: () => ({ code: 0, message: 'success', data: null }),
|
|
|
},
|
|
|
{
|
|
|
url: '/mock-api/admin/brand/delete',
|
|
|
method: 'post',
|
|
|
response: () => ({ code: 0, message: 'success', data: null }),
|
|
|
},
|
|
|
{
|
|
|
// 参数化路由:POST /mock-api/admin/brand/:id/copy
|
|
|
url: '/mock-api/admin/brand/:id/copy',
|
|
|
method: 'post',
|
|
|
response: () => ({ code: 0, message: 'success', data: { id: 4, brandName: '新复制品牌' } }),
|
|
|
},
|
|
|
{
|
|
|
// 兼容旧URL格式
|
|
|
url: '/mock-api/admin/brand/copy',
|
|
|
method: 'post',
|
|
|
response: () => ({ code: 0, message: 'success', data: { id: 4, brandName: '新复制品牌' } }),
|
|
|
},
|
|
|
{
|
|
|
url: '/mock-api/admin/brand/toggle',
|
|
|
method: 'post',
|
|
|
response: () => ({ code: 0, message: 'success', data: null }),
|
|
|
},
|
|
|
{
|
|
|
url: '/mock-api/admin/brand/standard-fields',
|
|
|
method: 'get',
|
|
|
response: () => ({ code: 0, data: { items: standardFields } }),
|
|
|
},
|
|
|
]
|
|
|
|
|
|
export default mock
|