han\hanst 2 weeks ago
parent
commit
8a504506f5
  1. 57
      src/views/modules/ecss/del_upload_excel.vue

57
src/views/modules/ecss/del_upload_excel.vue

@ -272,6 +272,9 @@
<i class="el-icon-warning" style="margin-right: 8px;"></i> <i class="el-icon-warning" style="margin-right: 8px;"></i>
Sheet处理警告 ({{ sheetErrors.length }}个Sheet存在问题) Sheet处理警告 ({{ sheetErrors.length }}个Sheet存在问题)
</span> </span>
<div v-if="hasReadyDateEmptyError" style="margin-top: 6px; color: #F56C6C; font-size: 12px;">
Sheet [{{ readyDateEmptySheetNames.join('、') }}] 存在 Cargo Ready Date 为空修正后才可提交
</div>
<el-table :data="sheetErrors" border style="width: 100%" max-height="400" class="delClass warning-table"> <el-table :data="sheetErrors" border style="width: 100%" max-height="400" class="delClass warning-table">
<el-table-column prop="sheetName" label="Sheet名称" width="150" fixed="left" > <el-table-column prop="sheetName" label="Sheet名称" width="150" fixed="left" >
<template slot-scope="scope"> <template slot-scope="scope">
@ -670,6 +673,27 @@
// //
invalidInvoices() { invalidInvoices() {
return this.previewData.filter(item => item.hasInvalidMaterials) return this.previewData.filter(item => item.hasInvalidMaterials)
},
// Cargo Ready DateSheet
readyDateEmptySheetNames() {
const readyDateEmptyKeyword = '[Cargo Ready Date] 列不能为空'
const sheetNames = []
const errors = Array.isArray(this.sheetErrors) ? this.sheetErrors : []
errors.forEach(item => {
if (!item || !item.sheetName || !Array.isArray(item.errorDetails)) {
return
}
const hasReadyDateEmptyError = item.errorDetails.some(detail =>
detail && detail.indexOf(readyDateEmptyKeyword) !== -1
)
if (hasReadyDateEmptyError && sheetNames.indexOf(item.sheetName) === -1) {
sheetNames.push(item.sheetName)
}
})
return sheetNames
},
hasReadyDateEmptyError() {
return this.readyDateEmptySheetNames.length > 0
} }
}, },
watch: { watch: {
@ -735,6 +759,7 @@
} : null, } : null,
showPreview: this.showPreview, showPreview: this.showPreview,
previewData: this.previewData, previewData: this.previewData,
sheetErrors: this.sheetErrors,
deletedInvoices: this.deletedInvoices, deletedInvoices: this.deletedInvoices,
fileList: this.fileList.map(file => ({ fileList: this.fileList.map(file => ({
name: file.name, name: file.name,
@ -764,6 +789,7 @@
if (parsedData.previewData && parsedData.previewData.length > 0) { if (parsedData.previewData && parsedData.previewData.length > 0) {
this.previewData = parsedData.previewData; this.previewData = parsedData.previewData;
this.showPreview = parsedData.showPreview || false; this.showPreview = parsedData.showPreview || false;
this.sheetErrors = parsedData.sheetErrors || [];
} }
// //
@ -1193,7 +1219,14 @@
message += `${skippedCount > 0 ? ',' : '('}${errorCount}个处理失败` message += `${skippedCount > 0 ? ',' : '('}${errorCount}个处理失败`
} }
message += '),请查看详细信息' message += '),请查看详细信息'
this.$message.warning(message)
if (this.hasReadyDateEmptyError) {
message += `。Sheet [${this.readyDateEmptySheetNames.join('、')}] 存在 Cargo Ready Date 为空,暂不允许提交`
}
this.$message({
type: 'warning',
message: message,
duration: 2000
});
} }
// //
@ -1223,6 +1256,11 @@
// //
saveFromPreview() { saveFromPreview() {
if (this.hasReadyDateEmptyError) {
this.$message.error(this.getReadyDateEmptySubmitMessage())
return false
}
// //
if (this.validInvoices.length === 0) { if (this.validInvoices.length === 0) {
this.$message.warning('没有可导入的发票!') this.$message.warning('没有可导入的发票!')
@ -1344,6 +1382,13 @@
}); });
}, },
getReadyDateEmptySubmitMessage() {
if (!this.readyDateEmptySheetNames.length) {
return '存在Cargo Ready Date为空的数据,请修正后再提交'
}
return `提交失败:Sheet [${this.readyDateEmptySheetNames.join('、')}] 存在 Cargo Ready Date 为空,请修正Excel后重新上传`
},
// //
cancelPreview() { cancelPreview() {
this.showPreview = false this.showPreview = false
@ -1698,9 +1743,9 @@
* @return {boolean} 是否可以保存 * @return {boolean} 是否可以保存
*/ */
isRowReadyForSave(row) { isRowReadyForSave(row) {
return !!(row.selectedTemplate &&
row.selectedTemplate.trim() &&
row.selectedCustomer &&
return !!(row.selectedTemplate &&
row.selectedTemplate.trim() &&
row.selectedCustomer &&
row.selectedCustomer.trim()) row.selectedCustomer.trim())
}, },
@ -1730,7 +1775,7 @@
// //
const isNewTemplate = !row.originalTemplateName || row.originalTemplateName === '' const isNewTemplate = !row.originalTemplateName || row.originalTemplateName === ''
const isNameChanged = row.originalTemplateName && row.selectedTemplate !== row.originalTemplateName const isNameChanged = row.originalTemplateName && row.selectedTemplate !== row.originalTemplateName
let confirmMessage = '' let confirmMessage = ''
if (isNewTemplate) { if (isNewTemplate) {
// //
@ -1789,7 +1834,7 @@
} else { } else {
this.$message.success(`模板"${row.selectedTemplate}"更新成功!`) this.$message.success(`模板"${row.selectedTemplate}"更新成功!`)
} }
// //
this.saveToCache() this.saveToCache()
} else { } else {

Loading…
Cancel
Save