Commit fdf4ce7dc2b9778ef94780eb38854c89f4e92f2a
1 parent
db8072d7
fix: DEFECT-1570 修复设备导入错误的csv文件未提示错误
Showing
1 changed file
with
25 additions
and
17 deletions
... | ... | @@ -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 = () => { | ... | ... |