From 7de35ffbc2a0729d1f6db11b91d3db81493af403 Mon Sep 17 00:00:00 2001 From: lSun <15893999301@qq.com> Date: Fri, 21 Mar 2025 18:17:05 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=80=E6=B1=82=E8=AE=A1=E5=88=92=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E5=AF=BC=E5=85=A5=E8=A1=A8=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../child/choose_crane_type_list.js | 91 +++++++++++++++++- .../child/choose_tool_type_list.js | 86 ++++++++++++++++- js/aq_demand_plan/child/choose_type_list.js | 86 ++++++++++++++++- .../child/choose_crane_type_list.html | 11 ++- .../child/choose_tool_type_list.html | 12 ++- .../child/choose_type_list.html | 11 ++- template/吊车类型导入模板.xlsx | Bin 0 -> 9368 bytes template/安全工器具类型导入模板.xlsx | Bin 0 -> 9402 bytes template/机具类型导入模板.xlsx | Bin 0 -> 9385 bytes 9 files changed, 288 insertions(+), 9 deletions(-) create mode 100644 template/吊车类型导入模板.xlsx create mode 100644 template/安全工器具类型导入模板.xlsx create mode 100644 template/机具类型导入模板.xlsx diff --git a/js/aq_demand_plan/child/choose_crane_type_list.js b/js/aq_demand_plan/child/choose_crane_type_list.js index 2405bfc..fc22989 100644 --- a/js/aq_demand_plan/child/choose_crane_type_list.js +++ b/js/aq_demand_plan/child/choose_crane_type_list.js @@ -14,6 +14,10 @@ function setParams(obj) { element = layui.element; layer = layui.layer; util = layui.util; + + $("#saveZipButton").click(function(){ + importExcel(); + }); initTable(); }); } @@ -113,7 +117,7 @@ function initTable() { }, }, { - field: "ppName", + field: "type", width: '10%', title: "车辆类型", unresize: true, @@ -121,7 +125,7 @@ function initTable() { sort:true, }, { - field: "pName", + field: "name", width: '10%', title: "车辆名称", unresize: true, @@ -129,7 +133,7 @@ function initTable() { sort:true, }, { - field: "name", + field: "model", width: '10%', title: "规格", unresize: true, @@ -339,4 +343,83 @@ function closePage(type, params,pageSource) { window.parent.addFitDatas(params,pageSource); } parent.layer.close(index); // 再执行关闭 -} \ No newline at end of file +} + +// 下载模板文件 +function craneDownload() { + window.location.href = '../../../template/吊车类型导入模板.xlsx'; +} + +//导入excel文件 +function importExcel() { + var formData = new FormData($('form')[0]); + var name = $("#articleImageFile").val(); + if (name == null || name == "") { + return; + } + if (!(name.endsWith(".xls") || name.endsWith(".xlsx") || name.endsWith(".xlsm"))) { + layer.msg("请上传正确的Excel表格!"); + $("#articleImageFile").val(""); + return; + } + formData.append("file[]", $("#articleImageFile")[0].files[0]); + let loadingMsg = layer.msg('正在提交,请稍等...', { icon: 16, shade: 0.01, time: '0' }); + let url = dataUrlCar + "backstage/carType/importExcelTools"; + ajaxRequestByUploadFile(url, formData, function () { + $('.save').addClass("layui-btn-disabled").attr("disabled", true); + $('.cancel').addClass("layui-btn-disabled").attr("disabled", true); + }, function (result) { + $('.save').removeClass("layui-btn-disabled").attr("disabled", false); + $('.cancel').removeClass("layui-btn-disabled").attr("disabled", false); + if (result.code === 200) { + layer.close(loadingMsg); + // 对返回的数据进行处理 + updateTableWithImportedData(result.data); + } else { + layer.close(loadingMsg); + layer.msg(result.msg, { icon: 2 }); + } + }, function (xhr, status, error) { + layer.close(loadingMsg); // 关闭提示层 + layer.msg('服务异常,请稍后重试', { icon: 16, scrollbar: false, time: 2000 }); + $('.save').removeClass("layui-btn-disabled").attr("disabled", false); + $('.cancel').removeClass("layui-btn-disabled").attr("disabled", false); + errorFn(xhr, status, error) + }, null); + $("#articleImageFile").val(""); +} + +function updateTableWithImportedData(data) { + // 更新当前表格中显示的数据 + const tableData = table.cache.currentTableId || [] + let updated = false + + // 遍历当前表格数据,更新匹配的行 + for (let i = 0; i < tableData.length; i++) { + const rowData = tableData[i] + // 在导入数据中查找匹配项 + const importedItem = data.find((item) => item.id === rowData.id) + if (importedItem) { + // 更新表格数据 + rowData.needNum = importedItem.needNum + rowData.times = importedItem.times + rowData.remarks = importedItem.remarks + updated = true + + // 更新表格中对应单元格的显示 + const rowIndex = rowData.LAY_INDEX + // 更新需用量单元格 + $(`tr[data-index="${rowIndex}"] td[data-field="needNum"] .layui-table-cell`).text(importedItem.needNum || "") + // 更新退还日期单元格 + $(`tr[data-index="${rowIndex}"] td[data-field="times"] .layui-table-cell`).text(importedItem.times || "") + // 更新备注单元格 + $(`tr[data-index="${rowIndex}"] td[data-field="remarks"] .layui-table-cell`).text(importedItem.remarks || "") + } + } + + // 如果有更新,同步更新全局数据 + if (updated) { + quanju = [...tableData] + } + layer.msg("数据导入成功", { icon: 1 }) +} diff --git a/js/aq_demand_plan/child/choose_tool_type_list.js b/js/aq_demand_plan/child/choose_tool_type_list.js index 27953d2..bfd4923 100644 --- a/js/aq_demand_plan/child/choose_tool_type_list.js +++ b/js/aq_demand_plan/child/choose_tool_type_list.js @@ -14,6 +14,11 @@ function setParams(obj) { element = layui.element; layer = layui.layer; util = layui.util; + + $("#saveZipButton").click(function(){ + importExcel(); + }); + initTable(); }); } @@ -339,4 +344,83 @@ function closePage(type, params,pageSource) { window.parent.addFitDatas(params,pageSource); } parent.layer.close(index); // 再执行关闭 -} \ No newline at end of file +} + +// 下载模板文件 +function toolsDownload() { + window.location.href = '../../../template/机具类型导入模板.xlsx'; +} + +//导入excel文件 +function importExcel() { + var formData = new FormData($('form')[0]); + var name = $("#articleImageFile").val(); + if (name == null || name == "") { + return; + } + if (!(name.endsWith(".xls") || name.endsWith(".xlsx") || name.endsWith(".xlsm"))) { + layer.msg("请上传正确的Excel表格!"); + $("#articleImageFile").val(""); + return; + } + formData.append("file[]", $("#articleImageFile")[0].files[0]); + let loadingMsg = layer.msg('正在提交,请稍等...', { icon: 16, shade: 0.01, time: '0' }); + let url = dataUrlDevice + "backstage/planApplication/importExcelTools"; + ajaxRequestByUploadFile(url, formData, function () { + $('.save').addClass("layui-btn-disabled").attr("disabled", true); + $('.cancel').addClass("layui-btn-disabled").attr("disabled", true); + }, function (result) { + $('.save').removeClass("layui-btn-disabled").attr("disabled", false); + $('.cancel').removeClass("layui-btn-disabled").attr("disabled", false); + if (result.code === 200) { + layer.close(loadingMsg); + // 对返回的数据进行处理 + updateTableWithImportedData(result.data); + } else { + layer.close(loadingMsg); + layer.msg(result.msg, { icon: 2 }); + } + }, function (xhr, status, error) { + layer.close(loadingMsg); // 关闭提示层 + layer.msg('服务异常,请稍后重试', { icon: 16, scrollbar: false, time: 2000 }); + $('.save').removeClass("layui-btn-disabled").attr("disabled", false); + $('.cancel').removeClass("layui-btn-disabled").attr("disabled", false); + errorFn(xhr, status, error) + }, null); + $("#articleImageFile").val(""); +} + +function updateTableWithImportedData(data) { + // 更新当前表格中显示的数据 + const tableData = table.cache.currentTableId || [] + let updated = false + + // 遍历当前表格数据,更新匹配的行 + for (let i = 0; i < tableData.length; i++) { + const rowData = tableData[i] + // 在导入数据中查找匹配项 + const importedItem = data.find((item) => item.id === rowData.id) + if (importedItem) { + // 更新表格数据 + rowData.needNum = importedItem.needNum + rowData.times = importedItem.times + rowData.remarks = importedItem.remarks + updated = true + + // 更新表格中对应单元格的显示 + const rowIndex = rowData.LAY_INDEX + // 更新需用量单元格 + $(`tr[data-index="${rowIndex}"] td[data-field="needNum"] .layui-table-cell`).text(importedItem.needNum || "") + // 更新退还日期单元格 + $(`tr[data-index="${rowIndex}"] td[data-field="times"] .layui-table-cell`).text(importedItem.times || "") + // 更新备注单元格 + $(`tr[data-index="${rowIndex}"] td[data-field="remarks"] .layui-table-cell`).text(importedItem.remarks || "") + } + } + + // 如果有更新,同步更新全局数据 + if (updated) { + quanju = [...tableData] + } + layer.msg("数据导入成功", { icon: 1 }) +} diff --git a/js/aq_demand_plan/child/choose_type_list.js b/js/aq_demand_plan/child/choose_type_list.js index 72d393b..8362487 100644 --- a/js/aq_demand_plan/child/choose_type_list.js +++ b/js/aq_demand_plan/child/choose_type_list.js @@ -15,6 +15,11 @@ function setParams(obj) { layer = layui.layer; util = layui.util; laydate = layui.laydate; + + $("#saveZipButton").click(function(){ + importExcel(); + }); + initTable(); }); } @@ -362,4 +367,83 @@ function closePage(type, params,pageSource) { window.parent.addFitDatas(params,pageSource); } parent.layer.close(index); // 再执行关闭 -} \ No newline at end of file +} + +// 下载模板文件 +function typeDownload() { + window.location.href = '../../../template/安全工器具类型导入模板.xlsx'; +} + +//导入excel文件 +function importExcel() { + var formData = new FormData($('form')[0]); + var name = $("#articleImageFile").val(); + if (name == null || name == "") { + return; + } + if (!(name.endsWith(".xls") || name.endsWith(".xlsx") || name.endsWith(".xlsm"))) { + layer.msg("请上传正确的Excel表格!"); + $("#articleImageFile").val(""); + return; + } + formData.append("file[]", $("#articleImageFile")[0].files[0]); + let loadingMsg = layer.msg('正在提交,请稍等...', { icon: 16, shade: 0.01, time: '0' }); + let url = dataUrlDevice + "backstage/planApply/importExcelTools"; + ajaxRequestByUploadFile(url, formData, function () { + $('.save').addClass("layui-btn-disabled").attr("disabled", true); + $('.cancel').addClass("layui-btn-disabled").attr("disabled", true); + }, function (result) { + $('.save').removeClass("layui-btn-disabled").attr("disabled", false); + $('.cancel').removeClass("layui-btn-disabled").attr("disabled", false); + if (result.code === 200) { + layer.close(loadingMsg); + // 对返回的数据进行处理 + updateTableWithImportedData(result.data); + } else { + layer.close(loadingMsg); + layer.msg(result.msg, { icon: 2 }); + } + }, function (xhr, status, error) { + layer.close(loadingMsg); // 关闭提示层 + layer.msg('服务异常,请稍后重试', { icon: 16, scrollbar: false, time: 2000 }); + $('.save').removeClass("layui-btn-disabled").attr("disabled", false); + $('.cancel').removeClass("layui-btn-disabled").attr("disabled", false); + errorFn(xhr, status, error) + }, null); + $("#articleImageFile").val(""); +} + +function updateTableWithImportedData(data) { + // 更新当前表格中显示的数据 + const tableData = table.cache.currentTableId || [] + let updated = false + + // 遍历当前表格数据,更新匹配的行 + for (let i = 0; i < tableData.length; i++) { + const rowData = tableData[i] + // 在导入数据中查找匹配项 + const importedItem = data.find((item) => item.id === rowData.id) + if (importedItem) { + // 更新表格数据 + rowData.needNum = importedItem.needNum + rowData.times = importedItem.times + rowData.remarks = importedItem.remarks + updated = true + + // 更新表格中对应单元格的显示 + const rowIndex = rowData.LAY_INDEX + // 更新需用量单元格 + $(`tr[data-index="${rowIndex}"] td[data-field="needNum"] .layui-table-cell`).text(importedItem.needNum || "") + // 更新退还日期单元格 + $(`tr[data-index="${rowIndex}"] td[data-field="times"] .layui-table-cell`).text(importedItem.times || "") + // 更新备注单元格 + $(`tr[data-index="${rowIndex}"] td[data-field="remarks"] .layui-table-cell`).text(importedItem.remarks || "") + } + } + + // 如果有更新,同步更新全局数据 + if (updated) { + quanju = [...tableData] + } + layer.msg("数据导入成功", { icon: 1 }) +} diff --git a/page/aq_demand_plan/child/choose_crane_type_list.html b/page/aq_demand_plan/child/choose_crane_type_list.html index 5a88ab5..371e812 100644 --- a/page/aq_demand_plan/child/choose_crane_type_list.html +++ b/page/aq_demand_plan/child/choose_crane_type_list.html @@ -62,6 +62,15 @@
已选:0