diff --git a/src/modules/first-leg/views/FirstLegOrdersView.test.mjs b/src/modules/first-leg/views/FirstLegOrdersView.test.mjs index 68d679a..372a813 100644 --- a/src/modules/first-leg/views/FirstLegOrdersView.test.mjs +++ b/src/modules/first-leg/views/FirstLegOrdersView.test.mjs @@ -352,6 +352,9 @@ test('distills order creation into the confirmed prototype sections with server assert.match(source, /直接选择模板内的中文下拉项,不需要填写英文代码或内部编号/) assert.match(source, /选择木制品时,模板会要求同步选择需要商检/) assert.match(source, /下载 Excel 错误报告/) + assert.match(source, /\^excel-row-\(\\d\+\)\$[\s\S]*item\.index \+ 3/) + assert.match(source, /Excel 第 \{\{ batchImportExcelRow\(item\) \}\} 行/) + assert.doesNotMatch(source, /未填写行标识/) assert.match(source, /batchImportError[\s\S]*requestId[\s\S]*traceId/) assert.match(source, /添加行[\s\S]*删除所选行/) assert.doesNotMatch(source, /货物明细导入模板\.xls/) diff --git a/src/modules/first-leg/views/FirstLegOrdersView.vue b/src/modules/first-leg/views/FirstLegOrdersView.vue index e4fb90d..a347563 100644 --- a/src/modules/first-leg/views/FirstLegOrdersView.vue +++ b/src/modules/first-leg/views/FirstLegOrdersView.vue @@ -1495,6 +1495,11 @@ function openBatchImport() { batchImportOpen.value = true } +function batchImportExcelRow(item: { index: number; clientRowId: string }) { + const matched = /^excel-row-(\d+)$/.exec(item.clientRowId) + return matched ? Number(matched[1]) : item.index + 3 +} + function selectBatchImportFile(event: Event) { const input = event.target as HTMLInputElement const file = input.files?.[0] @@ -2027,8 +2032,8 @@ async function searchOrders(model: QueryModel) { 下载 Excel 错误报告