`
- + `
成功数量:${result.successCount || 0}
`
- + `
出库事务号:${result.stoTransNo || ''}
`
- + `
入库事务号:${result.stiTransNo || ''}
`
- + `
${result.message || ''}
`
- + `
`
+ // 失败分组逐条展示条码和原因;IFS或本地提交结果不明时提示停止重试。- rqrq
+ const escapeHtml = value => String(value == null ? '' : value).replace(/[&<>"']/g, char => ({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' })[char])
+ const failures = (result.failedUnitIds || []).map((unitId, index) =>
+ `${escapeHtml(unitId)}:${escapeHtml((result.failedReasons || [])[index] || '处理失败')}
`).join('')
+ const htmlContent = [
+ '',
+ `
成功数量:${result.successCount || 0}
`,
+ `
失败数量:${result.failCount || 0}
`,
+ `
出库事务号:${escapeHtml(result.stoTransNo)}
`,
+ `
入库事务号:${escapeHtml(result.stiTransNo)}
`,
+ `
${escapeHtml(result.message)}
`,
+ result.reconciliationRequired ? '
IFS或本地提交结果不明,请停止重试并人工对账。
' : '',
+ failures ? `
失败明细:${failures}
` : '',
+ '
'
+ ].join('')
this.$alert(htmlContent, '跨site调拨结果', {
dangerouslyUseHTMLString: true,
confirmButtonText: this.$t('warehouse.common.confirm'),
- type: 'success',
+ type: result.reconciliationRequired ? 'error' : (result.failCount ? 'warning' : 'success'),
callback: () => {
this.closeTransferDialog()
this.getDataList()