编码.
This commit is contained in:
parent
ff2b7f9f7c
commit
48cc0b4fa6
|
|
@ -750,7 +750,7 @@ async function handleAddBarcode() {
|
|||
|
||||
function downloadCsvTemplate() {
|
||||
const header = '\uFEFF条形码\n'
|
||||
const example = 'ABC123456\nDEF789012\n'
|
||||
const example = '001234\n001235\n'
|
||||
const blob = new Blob([header + example], { type: 'text/csv;charset=utf-8' })
|
||||
const url = URL.createObjectURL(blob)
|
||||
const a = document.createElement('a')
|
||||
|
|
@ -766,12 +766,15 @@ function handleCsvImport(file: File) {
|
|||
const raw = (e.target?.result as string) || ''
|
||||
const text = raw.replace(/^\uFEFF/, '')
|
||||
const lines = text.split(/\r?\n/).map(l => l.trim()).filter(Boolean)
|
||||
if (lines.length <= 1) {
|
||||
ElMessage.warning('CSV 中未找到有效的条形码(仅有表头)')
|
||||
return
|
||||
}
|
||||
// 跳过第一行表头,从第二行开始解析
|
||||
const barcodes: string[] = []
|
||||
for (let i = 0; i < lines.length; i++) {
|
||||
for (let i = 1; i < lines.length; i++) {
|
||||
const val = lines[i].split(',')[0].trim()
|
||||
if (!val) continue
|
||||
// 跳过表头行:第一行或包含中文/header关键字的行
|
||||
if (i === 0 && (/[\u4e00-\u9fa5]/.test(val) || /^barcode$/i.test(val))) continue
|
||||
barcodes.push(val)
|
||||
}
|
||||
if (barcodes.length === 0) {
|
||||
|
|
@ -853,11 +856,14 @@ function handleEditCsvImport(file: File) {
|
|||
const raw = (e.target?.result as string) || ''
|
||||
const text = raw.replace(/^\uFEFF/, '')
|
||||
const lines = text.split(/\r?\n/).map(l => l.trim()).filter(Boolean)
|
||||
if (lines.length <= 1) {
|
||||
ElMessage.warning('CSV 中未找到有效的条形码(仅有表头)')
|
||||
return
|
||||
}
|
||||
const barcodes: string[] = []
|
||||
for (let i = 0; i < lines.length; i++) {
|
||||
for (let i = 1; i < lines.length; i++) {
|
||||
const val = lines[i].split(',')[0].trim()
|
||||
if (!val) continue
|
||||
if (i === 0 && (/[\u4e00-\u9fa5]/.test(val) || /^barcode$/i.test(val))) continue
|
||||
barcodes.push(val)
|
||||
}
|
||||
if (barcodes.length === 0) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user