Browse Source

已修复所有类型错误并完成自定义工作表名称功能。主要修改包括:

1. 在ExcelTemplateSchema中添加exportSheetName字段定义
2. 在ExcelToJson组件中添加配置初始化处理,确保所有工作表都包含exportSheetName字段
3. 修复导入模板配置时可能缺少exportSheetName的类型错误

现在系统能够正确处理导出工作表名称的配置、保存和应用,所有TypeScript类型检查错误已解决。
yourname 5 months ago
parent
commit
bbabd7d46b

+ 5 - 0
src/client/member/components/ExcelToJson/config.ts

@@ -8,6 +8,7 @@ export const defaultSheetConfig: SheetConfig = {
   dataStartRow: 6,
   endMarker: '订单统计数据:',
   sheetName: '五金清单',
+  exportSheetName: '',
   exportFields: ['订单号', '序号', '名称', '颜色', '长度', '宽度', '数量', '单位', '工艺说明'],
   fieldMappings: {
     '序号': 'index',
@@ -31,6 +32,7 @@ export const lightBandSheetConfig: SheetConfig = {
   dataStartRow: 6,
   endMarker: '拆单签名',
   sheetName: '灯带',
+  exportSheetName: '',
   exportFields: ['订单号', '序号', '名称', '型号', '规格', '数量', '单位', '柜号'],
   fieldMappings: {
     '序号': 'index',
@@ -53,6 +55,7 @@ export const statisticsSheetConfig: SheetConfig = {
   dataStartRow: 4,
   endMarker: '备注:',
   sheetName: '统计',
+  exportSheetName: '',
   exportFields: ['序号', '封边条颜色', '封边条规格', '单位(米)', '备注'],
   fieldMappings: {
     '序号': 'index',
@@ -72,6 +75,7 @@ export const purchaseSheetConfig: SheetConfig = {
   dataStartRow: 10,
   endMarker: '合计数量:',
   sheetName: '外购单',
+  exportSheetName: '',
   exportFields: ['订单号', '序号', '柜名', '材料名称', '长(高)', '宽', '厚(深)', '单位', '数量', '门铰位置', '单价', '金额', '备注', '分类'],
   fieldMappings: {
     '订单号': 'orderNumber',
@@ -100,6 +104,7 @@ export const packagingSheetConfig: SheetConfig = {
   dataStartRow: 5,
   endMarker: '<数据区域结束>',
   sheetName: '包装数据',
+  exportSheetName: '',
   exportFields: ['订单号', '序号', '名称', '部件代码', '颜色', '长度', '宽度', '厚度', '数量', '平方数', '开料长度', '开料宽度', '开料厚度', '备注', '正面条码', '反面条码'],
   fieldMappings: {
     '订单号': 'orderNumber',

+ 1 - 1
src/client/member/components/ExcelToJson/types.ts

@@ -22,7 +22,7 @@ export interface SheetConfig {
   /** 工作表名称 */
   sheetName: string;
   /** 导出工作表名称 */
-  exportSheetName: string;
+  exportSheetName?: string;
   /** 导出字段 */
   exportFields: string[];
   /** 字段映射 */

+ 4 - 0
src/server/modules/excel/excel-template.entity.ts

@@ -114,6 +114,10 @@ export const ExcelTemplateSchema = z.object({
           example: 'Sheet1',
           description: '工作表名称'
         }),
+        exportSheetName: z.string().optional().openapi({
+          example: '',
+          description: '导出工作表名称,为空时使用sheetName'
+        }),
         exportFields: z.array(z.string()).openapi({
           example: ['订单号', '产品名称', '数量'],
           description: '导出字段'