Commit fdf4ce7dc2b9778ef94780eb38854c89f4e92f2a

Authored by ww
1 parent db8072d7

fix: DEFECT-1570 修复设备导入错误的csv文件未提示错误

... ... @@ -6,6 +6,7 @@
6 6 import XLSX, { CellObject } from 'xlsx';
7 7 import { basicProps } from './props';
8 8 import { UploadFileParseValue } from './type';
  9 + import { useMessage } from '/@/hooks/web/useMessage';
9 10
10 11 const props = defineProps({
11 12 ...basicProps,
... ... @@ -48,23 +49,30 @@
48 49 return new Promise((resolve, reject) => {
49 50 const fileReader = new FileReader();
50 51 fileReader.onload = (event: ProgressEvent) => {
51   - const data = (event.target as FileReader).result as string;
52   -
53   - const result = XLSX.read(data, { type: 'string' });
54   -
55   - const sheetName = result.SheetNames.at(0);
56   - const workbook = result.Sheets;
57   - const sheet = workbook[sheetName as string];
58   - const sheetRange = sheet['!ref'];
59   -
60   - const {
61   - s: { c: startColumn },
62   - e: { c: endColumn },
63   - } = XLSX.utils.decode_range(sheetRange!);
64   -
65   - const header = getTableHeader(sheet, [startColumn, endColumn]);
66   - const content = XLSX.utils.sheet_to_json(sheet, { range: sheetRange }) as Recordable[];
67   - resolve({ header, content });
  52 + try {
  53 + const data = (event.target as FileReader).result as string;
  54 +
  55 + const result = XLSX.read(data, { type: 'string' });
  56 +
  57 + const sheetName = result.SheetNames.at(0);
  58 + const workbook = result.Sheets;
  59 + const sheet = workbook[sheetName as string];
  60 + const sheetRange = sheet['!ref'];
  61 +
  62 + const {
  63 + s: { c: startColumn },
  64 + e: { c: endColumn },
  65 + } = XLSX.utils.decode_range(sheetRange!);
  66 +
  67 + const header = getTableHeader(sheet, [startColumn, endColumn]);
  68 + const content = XLSX.utils.sheet_to_json(sheet, { range: sheetRange }) as Recordable[];
  69 +
  70 + resolve({ header, content });
  71 + } catch (error) {
  72 + const { createMessage } = useMessage();
  73 + createMessage.error('请检查csv文件是否正确');
  74 + throw error;
  75 + }
68 76 };
69 77
70 78 fileReader.onerror = () => {
... ...