config.ts 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. import { SheetConfig, ExcelConfig } from './types';
  2. // 五金清单
  3. export const defaultSheetConfig: SheetConfig = {
  4. headerRowIndex: 5,
  5. orderNumberRow: 2,
  6. orderNumberCol: 3,
  7. dataStartRow: 6,
  8. endMarker: '订单统计数据:',
  9. sheetName: '五金清单',
  10. exportSheetName: '',
  11. exportFields: ['订单号', '序号', '名称', '颜色', '长度', '宽度', '数量', '单位', '工艺说明'],
  12. fieldMappings: {
  13. '序号': 'index',
  14. '名称': 'name',
  15. '颜色': 'color',
  16. '长度': 'length',
  17. '宽度': 'width',
  18. '数量': 'quantity',
  19. '单位': 'unit',
  20. '工艺说明': 'processDescription',
  21. '订单号': 'orderNumber'
  22. },
  23. requiredFields: ['名称', '数量']
  24. };
  25. // 灯带
  26. export const lightBandSheetConfig: SheetConfig = {
  27. headerRowIndex: 5,
  28. orderNumberRow: 2,
  29. orderNumberCol: 3,
  30. dataStartRow: 6,
  31. endMarker: '拆单签名',
  32. sheetName: '灯带',
  33. exportSheetName: '',
  34. exportFields: ['订单号', '序号', '名称', '型号', '规格', '数量', '单位', '柜号'],
  35. fieldMappings: {
  36. '序号': 'index',
  37. '名称': 'name',
  38. '型号': 'model',
  39. '规格': 'specification',
  40. '数量': 'quantity',
  41. '单位': 'unit',
  42. '柜号': 'cabinetNumber',
  43. '订单号': 'orderNumber'
  44. },
  45. requiredFields: ['名称', '型号', '数量']
  46. };
  47. // 统计
  48. export const statisticsSheetConfig: SheetConfig = {
  49. headerRowIndex: 3,
  50. orderNumberRow: 1,
  51. orderNumberCol: 1,
  52. dataStartRow: 4,
  53. endMarker: '备注:',
  54. sheetName: '统计',
  55. exportSheetName: '',
  56. exportFields: ['序号', '封边条颜色', '封边条规格', '单位(米)', '备注'],
  57. fieldMappings: {
  58. '序号': 'index',
  59. '封边条颜色': 'color',
  60. '封边条规格': 'specification',
  61. '单位(米)': 'unit',
  62. '备注': 'remark',
  63. },
  64. requiredFields: ['封边条颜色', '封边条规格']
  65. };
  66. // 外购单
  67. export const purchaseSheetConfig: SheetConfig = {
  68. headerRowIndex: 9,
  69. orderNumberRow: 7,
  70. orderNumberCol: 3,
  71. dataStartRow: 10,
  72. endMarker: '合计数量:',
  73. sheetName: '外购单',
  74. exportSheetName: '',
  75. exportFields: ['订单号', '序号', '柜名', '材料名称', '长(高)', '宽', '厚(深)', '单位', '数量', '门铰位置', '单价', '金额', '备注', '分类'],
  76. fieldMappings: {
  77. '订单号': 'orderNumber',
  78. '序号': 'index',
  79. '柜名': 'cabinetName',
  80. '材料名称': 'materialName',
  81. '长(高)': 'length',
  82. '宽': 'width',
  83. '厚(深)': 'depth',
  84. '单位': 'unit',
  85. '数量': 'quantity',
  86. '门铰位置': 'hingePosition',
  87. '单价': 'unitPrice',
  88. '金额': 'amount',
  89. '备注': 'remark',
  90. '分类': 'category',
  91. },
  92. requiredFields: ['材料名称', '数量']
  93. };
  94. // 包装数据
  95. export const packagingSheetConfig: SheetConfig = {
  96. headerRowIndex: 4,
  97. orderNumberRow: 3,
  98. orderNumberCol: 1,
  99. dataStartRow: 5,
  100. endMarker: '<数据区域结束>',
  101. sheetName: '包装数据',
  102. exportSheetName: '',
  103. exportFields: ['订单号', '序号', '名称', '部件代码', '颜色', '长度', '宽度', '厚度', '数量', '平方数', '开料长度', '开料宽度', '开料厚度', '备注', '正面条码', '反面条码'],
  104. fieldMappings: {
  105. '订单号': 'orderNumber',
  106. '序号': 'index',
  107. '名称': 'name',
  108. '部件代码': 'componentCode',
  109. '颜色': 'color',
  110. '长度': 'length',
  111. '宽度': 'width',
  112. '厚度': 'thickness',
  113. '数量': 'quantity',
  114. '平方数': 'square',
  115. '开料长度': 'cuttingLength',
  116. '开料宽度': 'cuttingWidth',
  117. '开料厚度': 'cuttingThickness',
  118. '备注': 'remark',
  119. '正面条码': 'frontBarcode',
  120. '反面条码': 'backBarcode',
  121. },
  122. requiredFields: ['名称', '颜色', '数量'],
  123. isMultiTable: true,
  124. multiTableHeaderOffset: 4, // 新表格的表头在结束标记后的偏移行数
  125. multiTableDataOffset: 1, // 数据起始行相对于表头的偏移行数
  126. multiTableOrderNumberOffset: -1, // 订单号行相对于表头的偏移行数
  127. };
  128. export const defaultConfig: ExcelConfig = {
  129. sheets: [
  130. defaultSheetConfig,
  131. lightBandSheetConfig,
  132. statisticsSheetConfig,
  133. purchaseSheetConfig,
  134. packagingSheetConfig
  135. ],
  136. activeSheetIndex: 0
  137. };