Commit 83792952895d1fea7df3d7cc676dfe0c0694a00f

Authored by xp.Huang
2 parents 892cbc8f fdf4ce7d

Merge branch 'fix/DEFECT-1570' into 'main_dev'

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

See merge request yunteng/thingskit-front!863
@@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
6 import XLSX, { CellObject } from 'xlsx'; 6 import XLSX, { CellObject } from 'xlsx';
7 import { basicProps } from './props'; 7 import { basicProps } from './props';
8 import { UploadFileParseValue } from './type'; 8 import { UploadFileParseValue } from './type';
  9 + import { useMessage } from '/@/hooks/web/useMessage';
9 10
10 const props = defineProps({ 11 const props = defineProps({
11 ...basicProps, 12 ...basicProps,
@@ -48,23 +49,30 @@ @@ -48,23 +49,30 @@
48 return new Promise((resolve, reject) => { 49 return new Promise((resolve, reject) => {
49 const fileReader = new FileReader(); 50 const fileReader = new FileReader();
50 fileReader.onload = (event: ProgressEvent) => { 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 fileReader.onerror = () => { 78 fileReader.onerror = () => {