fix: 修改工单bug
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 2m15s

This commit is contained in:
sexygoat
2026-04-22 17:42:36 +08:00
parent 8378d2228e
commit fd22dc7ad4
14 changed files with 199 additions and 280 deletions

View File

@@ -61,7 +61,7 @@
<p>2. 仅支持 Excel 格式.xlsx单次最多导入 1000 </p>
<p>3. 列格式请设置为文本格式避免长数字被转为科学计数法</p>
<p>4. <strong>重要列顺序固定不可调整</strong>系统按位置读取不识别列名</p>
<p>5. 必填列虚拟号第1列</p>
<p style="color: var(--el-color-primary)">5. 必填列虚拟号第1列</p>
<p
>6.
可选列设备名称设备型号设备类型IMEI制造商最大SIM槽数默认4有效范围1-4卡1~卡4
@@ -443,77 +443,16 @@
// 下载模板
const downloadTemplate = async () => {
try {
// 动态导入 xlsx 库
const XLSX = await import('xlsx')
// 创建示例数据(按固定列顺序)
const templateData = [
{
虚拟号: '862639070731999',
设备名称: '智能水表01',
设备型号: 'WM-2000',
设备类型: '智能水表',
IMEI: '860123456789012',
制造商: '华为',
最大SIM槽数: 4,
'卡1 ICCID': '89860123456789012345',
'卡2 ICCID': '',
'卡3 ICCID': '',
'卡4 ICCID': ''
},
{
虚拟号: '862639070750932',
设备名称: 'GPS定位器01',
设备型号: 'GPS-3000',
设备类型: '定位设备',
IMEI: '860123456789013',
制造商: '小米',
最大SIM槽数: 2,
'卡1 ICCID': '89860123456789012346',
'卡2 ICCID': '89860123456789012347',
'卡3 ICCID': '',
'卡4 ICCID': ''
}
]
// 创建工作簿
const wb = XLSX.utils.book_new()
const ws = XLSX.utils.json_to_sheet(templateData)
// 设置列宽
ws['!cols'] = [
{ wch: 20 }, // 虚拟号
{ wch: 15 }, // 设备名称
{ wch: 15 }, // 设备型号
{ wch: 15 }, // 设备类型
{ wch: 18 }, // IMEI
{ wch: 12 }, // 制造商
{ wch: 15 }, // 最大SIM槽数
{ wch: 25 }, // 卡1 ICCID
{ wch: 25 }, // 卡2 ICCID
{ wch: 25 }, // 卡3 ICCID
{ wch: 25 } // 卡4 ICCID
]
// 将所有单元格设置为文本格式
const range = XLSX.utils.decode_range(ws['!ref'] || 'A1')
for (let R = range.s.r; R <= range.e.r; ++R) {
for (let C = range.s.c; C <= range.e.c; ++C) {
const cellAddress = XLSX.utils.encode_cell({ r: R, c: C })
if (!ws[cellAddress]) continue
ws[cellAddress].t = 's' // 设置为字符串类型
}
}
// 添加工作表到工作簿
XLSX.utils.book_append_sheet(wb, ws, '设备导入模板')
// 导出文件
XLSX.writeFile(wb, '设备导入模板.xlsx')
const link = document.createElement('a')
link.href = new URL('@/template/设备导入模板.xlsx', import.meta.url).href
link.download = '设备导入模板.xlsx'
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
ElMessage.success('设备导入模板下载成功')
} catch (error) {
console.error('下载模板失败:', error)
ElMessage.error('下载模板失败')
}
}