feat(物料管理): 增强物料导入结果展示功能
在物料导入成功处理中,添加详细的导入结果统计信息展示,包括总记录数、新增、更新、删除、错误和忽略记录的数量,并显示具体的错误和忽略信息
This commit is contained in:
@@ -284,18 +284,18 @@ const defaultTime = ref([new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 2, 1, 23,
|
||||
|
||||
/*** 用户导入参数 */
|
||||
const upload = reactive({
|
||||
// 是否显示弹出层(用户导入)
|
||||
open: false,
|
||||
// 弹出层标题(用户导入)
|
||||
title: '',
|
||||
// 是否禁用上传
|
||||
isUploading: false,
|
||||
// 是否更新已经存在的用户数据
|
||||
updateSupport: 0,
|
||||
// 设置上传的请求头部
|
||||
headers: { Authorization: 'Bearer ' + getToken() },
|
||||
// 上传的地址
|
||||
url: import.meta.env.VITE_APP_BASE_API + '/mes/productionMaterial/MmMaterial/importData'
|
||||
// 是否显示弹出层(用户导入)
|
||||
open: false,
|
||||
// 弹出层标题(用户导入)
|
||||
title: '',
|
||||
// 是否禁用上传
|
||||
isUploading: false,
|
||||
// 是否更新已经存在的用户数据
|
||||
updateSupport: 0,
|
||||
// 设置上传的请求头部
|
||||
headers: { Authorization: 'Bearer ' + getToken() },
|
||||
// 上传的地址
|
||||
url: import.meta.env.VITE_APP_BASE_API + '/mes/productionMaterial/MmMaterial/importData'
|
||||
})
|
||||
|
||||
var dictParams = []
|
||||
@@ -512,45 +512,61 @@ function handleCategoryChange(val) {
|
||||
|
||||
/** 导入按钮操作 */
|
||||
function handleImport() {
|
||||
upload.title = '物料表导入'
|
||||
upload.open = true
|
||||
upload.title = '物料表导入'
|
||||
upload.open = true
|
||||
}
|
||||
|
||||
/** 下载模板操作 */
|
||||
function importTemplate() {
|
||||
proxy.download('/mes/productionMaterial/MmMaterial/importTemplate', '物料表数据导入模板')
|
||||
proxy.download('/mes/productionMaterial/MmMaterial/importTemplate', '物料表数据导入模板')
|
||||
}
|
||||
/**文件上传中处理 */
|
||||
const handleFileUploadProgress = (event, file, fileList) => {
|
||||
upload.isUploading = true
|
||||
upload.isUploading = true
|
||||
}
|
||||
/** 文件上传成功处理 */
|
||||
const handleFileSuccess = (response, file, fileList) => {
|
||||
const { code, msg, data } = response
|
||||
upload.open = false
|
||||
upload.isUploading = false
|
||||
proxy.$refs['uploadRef'].clearFiles()
|
||||
proxy.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + data.item1 + '</div>', '导入结果', {
|
||||
dangerouslyUseHTMLString: true
|
||||
})
|
||||
getList()
|
||||
const { code, msg, data } = response
|
||||
upload.open = false
|
||||
upload.isUploading = false
|
||||
proxy.$refs['uploadRef'].clearFiles()
|
||||
|
||||
// 构建导入结果提示信息
|
||||
const resultHtml = `
|
||||
<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>
|
||||
<p><strong>导入结果:${data.message}</strong></p>
|
||||
<p>总记录数:${data.total}</p>
|
||||
<p>新增记录:${data.inserted}</p>
|
||||
<p>更新记录:${data.updated}</p>
|
||||
<p>删除记录:${data.deleted}</p>
|
||||
<p>错误记录:${data.errorCount}</p>
|
||||
<p>忽略记录:${data.ignoredCount}</p>
|
||||
${data.errorCount > 0 ? `<p><strong>错误信息:</strong></p><ul>${data.errors.map((error) => `<li>${error}</li>`).join('')}</ul>` : ''}
|
||||
${data.ignoredCount > 0 ? `<p><strong>忽略信息:</strong></p><ul>${data.ignored.map((ignore) => `<li>${ignore}</li>`).join('')}</ul>` : ''}
|
||||
</div>
|
||||
`
|
||||
|
||||
proxy.$alert(resultHtml, '导入结果', {
|
||||
dangerouslyUseHTMLString: true
|
||||
})
|
||||
getList()
|
||||
}
|
||||
/** 提交上传文件 */
|
||||
function submitFileForm() {
|
||||
proxy.$refs['uploadRef'].submit()
|
||||
proxy.$refs['uploadRef'].submit()
|
||||
}
|
||||
|
||||
/** 导出按钮操作 */
|
||||
function handleExport() {
|
||||
proxy.$modal
|
||||
.confirm('是否确认导出所有物料表数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(async () => {
|
||||
await exportMmMaterial(queryParams.value)
|
||||
})
|
||||
proxy.$modal
|
||||
.confirm('是否确认导出所有物料表数据项?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(async () => {
|
||||
await exportMmMaterial(queryParams.value)
|
||||
})
|
||||
}
|
||||
|
||||
handleGetMmMaterialCategoryOptions()
|
||||
|
||||
Reference in New Issue
Block a user