| | |
| | | <div class="flex a-center p-3"> |
| | | <el-button type="primary" class="search" @click="exportExcel(false)">导出 | Export</el-button> |
| | | <el-button type="primary" class="search" @click="importExcel">导入 | Import</el-button> |
| | | <a type="primary" class="Download" @click="exportExcel([])">下载模板 | Download Template</a> |
| | | <a type="primary" class="Download" @click="downloadTemplate">下载模板 | Download Template</a> |
| | | </div> |
| | | <el-table :data="tableData" style="width: 100%" border> |
| | | <el-table-column width="200" prop="orderId" align="center"> |
| | |
| | | this.getLists() |
| | | }, |
| | | methods: { |
| | | downloadTemplate() { |
| | | window.open('http://47.108.239.173/compass_template.xlsx', '_blank') |
| | | }, |
| | | handleClick(e, type) { |
| | | this.$router.push({ |
| | | path: '/addOrder', |
| | |
| | | '船名航次 | Vessel Name and Voyage': item.vesselNameAndVoyage, |
| | | '提柜地 | Pickup Location': item.pickupLocation, |
| | | '预计到港 | ETA': item.eta, |
| | | 'SOC': item.soc, |
| | | 'DG': item.dg, |
| | | '是否超重 | Overweight': item.overweight, |
| | | '是否查验 | Exam/Inspection': item.exam, |
| | | 'SOC': item.soc === '是' ? 'Y' : (item.soc === '否' ? 'N' : ''), |
| | | 'DG': item.dg === '是' ? 'Y' : (item.dg === '否' ? 'N' : ''), |
| | | '是否超重 | Overweight': item.overweight === '是' ? 'Y' : (item.overweight === '否' ? 'N' : ''), |
| | | '是否查验 | Exam/Inspection': item.exam === '是' ? 'Y' : (item.exam === '否' ? 'N' : ''), |
| | | 'DROP/LIVE': item.dropOrLive, |
| | | 'Hold': item.hold, |
| | | 'Hold': item.hold === '等国内通知派送' ? '等国内通知派送|Client Hold' : |
| | | (item.hold === '扣柜放行' ? '扣柜放行|Client Release' : |
| | | (item.hold === '正常' ? '正常|Normal' : '')), |
| | | '客户单号 | Customer Ref. No.': item.customerRefNo, |
| | | '品名 | Commodity': item.commodity, |
| | | '数量 | QTY': item.qty, |
| | |
| | | defval: '', |
| | | header: 1 |
| | | }); |
| | | |
| | | // 获取表头并打印日志 |
| | | const headers = jsonData[0]; |
| | | const headers = jsonData[2]; |
| | | // 验证模板格式 |
| | | const requiredFields = [ |
| | | '集装箱号 | Container No.', |
| | |
| | | } |
| | | |
| | | // 转换数据格式 |
| | | const transformedData = jsonData.slice(1).map(row => { |
| | | const transformedData = jsonData.slice(3).map(row => { |
| | | const item = {}; |
| | | headers.forEach((header, index) => { |
| | | item[header] = row[index] || ''; |
| | |
| | | vesselNameAndVoyage: item['船名航次 | Vessel Name and Voyage'], |
| | | pickupLocation: item['提柜地 | Pickup Location'], |
| | | eta: item['预计到港 | ETA'], |
| | | soc: item['SOC'], |
| | | dg: item['DG'], |
| | | overweight: item['是否超重 | Overweight'], |
| | | exam: item['是否查验 | Exam/Inspection'], |
| | | soc: item['SOC'] === 'Y' ? '是' : (item['SOC'] === 'N' ? '否' : ''), |
| | | dg: item['DG'] === 'Y' ? '是' : (item['DG'] === 'N' ? '否' : ''), |
| | | overweight: item['是否超重 | Overweight'] === 'Y' ? '是' : (item['是否超重 | Overweight'] === 'N' ? '否' : ''), |
| | | exam: item['是否查验 | Exam/Inspection'] === 'Y' ? '是' : (item['是否查验 | Exam/Inspection'] === 'N' ? '否' : ''), |
| | | dropOrLive: item['DROP/LIVE'], |
| | | hold: item['Hold'], |
| | | hold: item['Hold'] ? item['Hold'].split('|')[0] : '', |
| | | customerRefNo: item['客户单号 | Customer Ref. No.'], |
| | | commodity: item['品名 | Commodity'], |
| | | qty: item['数量 | QTY'], |
| | |
| | | remarks: item['备注 | Remarks'] |
| | | }; |
| | | }); |
| | | |
| | | // 使用post方法直接传递数组 |
| | | iptOrder(transformedData).then(res => { |
| | | console.log(res,transformedData); |
| | | |
| | | if (res) { |
| | | this.$message({ |
| | | message: '导入成功', |