import { SheetConfig, ExcelConfig } from './types'; // 五金清单 export const defaultSheetConfig: SheetConfig = { headerRowIndex: 5, orderNumberRow: 2, orderNumberCol: 3, dataStartRow: 6, endMarker: '订单统计数据:', sheetName: '五金清单', exportSheetName: '', exportFields: ['订单号', '序号', '名称', '颜色', '长度', '宽度', '数量', '单位', '工艺说明'], fieldMappings: { '序号': 'index', '名称': 'name', '颜色': 'color', '长度': 'length', '宽度': 'width', '数量': 'quantity', '单位': 'unit', '工艺说明': 'processDescription', '订单号': 'orderNumber' }, requiredFields: ['名称', '数量'] }; // 灯带 export const lightBandSheetConfig: SheetConfig = { headerRowIndex: 5, orderNumberRow: 2, orderNumberCol: 3, dataStartRow: 6, endMarker: '拆单签名', sheetName: '灯带', exportSheetName: '', exportFields: ['订单号', '序号', '名称', '型号', '规格', '数量', '单位', '柜号'], fieldMappings: { '序号': 'index', '名称': 'name', '型号': 'model', '规格': 'specification', '数量': 'quantity', '单位': 'unit', '柜号': 'cabinetNumber', '订单号': 'orderNumber' }, requiredFields: ['名称', '型号', '数量'] }; // 统计 export const statisticsSheetConfig: SheetConfig = { headerRowIndex: 3, orderNumberRow: 1, orderNumberCol: 1, dataStartRow: 4, endMarker: '备注:', sheetName: '统计', exportSheetName: '', exportFields: ['序号', '封边条颜色', '封边条规格', '单位(米)', '备注'], fieldMappings: { '序号': 'index', '封边条颜色': 'color', '封边条规格': 'specification', '单位(米)': 'unit', '备注': 'remark', }, requiredFields: ['封边条颜色', '封边条规格'] }; // 外购单 export const purchaseSheetConfig: SheetConfig = { headerRowIndex: 9, orderNumberRow: 7, orderNumberCol: 3, dataStartRow: 10, endMarker: '合计数量:', sheetName: '外购单', exportSheetName: '', exportFields: ['订单号', '序号', '柜名', '材料名称', '长(高)', '宽', '厚(深)', '单位', '数量', '门铰位置', '单价', '金额', '备注', '分类'], fieldMappings: { '订单号': 'orderNumber', '序号': 'index', '柜名': 'cabinetName', '材料名称': 'materialName', '长(高)': 'length', '宽': 'width', '厚(深)': 'depth', '单位': 'unit', '数量': 'quantity', '门铰位置': 'hingePosition', '单价': 'unitPrice', '金额': 'amount', '备注': 'remark', '分类': 'category', }, requiredFields: ['材料名称', '数量'] }; // 包装数据 export const packagingSheetConfig: SheetConfig = { headerRowIndex: 4, orderNumberRow: 3, orderNumberCol: 1, dataStartRow: 5, endMarker: '<数据区域结束>', sheetName: '包装数据', exportSheetName: '', exportFields: ['订单号', '序号', '名称', '部件代码', '颜色', '长度', '宽度', '厚度', '数量', '平方数', '开料长度', '开料宽度', '开料厚度', '备注', '正面条码', '反面条码'], fieldMappings: { '订单号': 'orderNumber', '序号': 'index', '名称': 'name', '部件代码': 'componentCode', '颜色': 'color', '长度': 'length', '宽度': 'width', '厚度': 'thickness', '数量': 'quantity', '平方数': 'square', '开料长度': 'cuttingLength', '开料宽度': 'cuttingWidth', '开料厚度': 'cuttingThickness', '备注': 'remark', '正面条码': 'frontBarcode', '反面条码': 'backBarcode', }, requiredFields: ['名称', '颜色', '数量'], isMultiTable: true, multiTableHeaderOffset: 4, // 新表格的表头在结束标记后的偏移行数 multiTableDataOffset: 1, // 数据起始行相对于表头的偏移行数 multiTableOrderNumberOffset: -1, // 订单号行相对于表头的偏移行数 }; export const defaultConfig: ExcelConfig = { sheets: [ defaultSheetConfig, lightBandSheetConfig, statisticsSheetConfig, purchaseSheetConfig, packagingSheetConfig ], activeSheetIndex: 0 };