Browse Source

[feat] 工程管理

修改bom新增页面,添加物料的时候,支持能同时选择多个物料添加,并且添加成功,如果有重复的,过滤掉重复的
dev
liuxiaoxu 3 days ago
parent
commit
d0d188731c
  1. 69
      ruoyi-admin/src/main/resources/templates/erp/bom/add.html

69
ruoyi-admin/src/main/resources/templates/erp/bom/add.html

@ -464,31 +464,39 @@
} }
} }
} }
function doSubmit(index, layero,uniqueId){ function doSubmit(index, layero, uniqueId) {
console.log(uniqueId); console.log(uniqueId);
var iframeWin = window[layero.find('iframe')[0]['name']]; var iframeWin = window[layero.find('iframe')[0]['name']];
var rowData = iframeWin.$('#bootstrap-select-table').bootstrapTable('getSelections')[0]; var selectedRows = iframeWin.$('#bootstrap-select-table').bootstrapTable('getSelections');
if($("#materialNo").val()==rowData.materialNo){ if (selectedRows.length === 0) {
$.modal.alertError("不能选择与主体bom相同的料号"); $.modal.alertError("请选择至少一条物料信息");
return; return;
} }
//判断是否重复
var rows = $("#bootstrap-sub-table-1").bootstrapTable('getData').length; var existingData = $("#bootstrap-sub-table-1").bootstrapTable('getData');
for(var i=0;i<rows;i++){
var data = $("#bootstrap-sub-table-1").bootstrapTable('getData')[i]; // 存储要插入的新行
if(data.materialNo==rowData.materialNo){ var newRows = [];
$.modal.alertError("不能选择已添加过的相同料号");
return; // 遍历选中的每一行物料信息
for (var i = 0; i < selectedRows.length; i++) {
var rowData = selectedRows[i];
// 检查是否已经存在相同的物料
var isDuplicate = false;
for (var j = 0; j < existingData.length; j++) {
if (existingData[j].materialNo === rowData.materialNo) {
isDuplicate = true;
break;
} }
} }
var totalNum = $("#bootstrap-sub-table-1").bootstrapTable('getData').length;
console.log("rowData: "+rowData); if (!isDuplicate && $("#materialNo").val() !== rowData.materialNo) {
$("#bootstrap-sub-table-1").bootstrapTable('insertRow',{ // 如果不存在,并且不与主体BOM相同,则准备插入新行
index: 1, newRows.push({
row: { id: rowData.id,
id:rowData.id, bomNo: rowData.bomNo,
bomNo:rowData.bomNo,
materialNo: rowData.materialNo, materialNo: rowData.materialNo,
materialName: rowData.materialName, materialName: rowData.materialName,
materialType: rowData.materialType, materialType: rowData.materialType,
@ -498,12 +506,31 @@
brand: rowData.brand, brand: rowData.brand,
warehouseDept: rowData.warehouseDept, warehouseDept: rowData.warehouseDept,
level: "1", level: "1",
useNum:'', useNum: '',
lossRate:'' lossRate: ''
});
} else if ($("#materialNo").val() === rowData.materialNo) {
$.modal.alertError("不能选择与主体BOM相同的料号");
} else {
$.modal.alertError("不能选择已添加过的相同料号");
} }
}) }
// 批量插入新行
if (newRows.length > 0) {
// 插入第一行
$("#bootstrap-sub-table-1").bootstrapTable('insertRow', { index: 1, row: newRows[0] });
// 插入剩余行
for (var k = 1; k < newRows.length; k++) {
$("#bootstrap-sub-table-1").bootstrapTable('insertRow', { index: 1, row: newRows[k] });
}
}
layer.close(index); layer.close(index);
} }
/* 新增表格行 */ /* 新增表格行 */
function insertRow(){ function insertRow(){
var url = ctx + "erp/material/select"; var url = ctx + "erp/material/select";

Loading…
Cancel
Save