This commit is contained in:
cwchen 2024-11-09 13:09:28 +08:00
parent f09745bee2
commit 1eede7311e
3 changed files with 156 additions and 121 deletions

View File

@ -1,28 +1,39 @@
let form, layer, idParam, objParam;
let moduleList = [];
function setParams(params) {
objParam = JSON.parse(params);
idParam = objParam.proId;
alert(idParam);
layui.use(["form", "layer"], function () {
form = layui.form;
layer = layui.layer;
// 机具名称下拉选监听事件
form.on('select(name)', function (data) {
alert(data.value);
getProDevSelected(data.value, 2);
});
// 规格下拉选监听事件
form.on('select(module)', function (data) {
console.log(data.value);
let obj = findObjById(data.value);
console.log(obj);
$('.classTable tbody tr').find('td').eq(2).html(obj.unit);
$('.classTable tbody tr').find('td').eq(3).html(obj.num);
$('.classTable tbody tr').attr('name', obj.pname)
$('.classTable tbody tr').attr('type', obj.ppName)
$('.classTable tbody tr').attr('module', obj.name)
});
});
getProDevSelected('', 1);
if (objParam.jjDataArrStr) {
// 表格数据回显
let dataArr = JSON.parse(idParam.jjDataArrStr);
let dataArr = JSON.parse(objParam.jjDataArrStr);
$.each(dataArr, function (index, item) {
let html =
"<tr class='pa' jjNameId='"+item.jjNameId+"' jjggId='"+item.jjggId+"'>" +
"<td>"+item.jjName+"</td>" +
"<td>"+item.jjgg+"</td>" +
"<tr class='pa' pId='" + item.pId + "' id='" + item.id + "' name='" + item.name + "' type='" + item.type + "' module='" + item.module + "'>" +
"<td>" + item.name + "</td>" +
"<td>" + item.module + "</td>" +
"<td>" + item.unit + "</td>" +
"<td>"+item.kcl+"</td>" +
"<td>"+item.fhl+"</td>" +
"<td>" + item.num + "</td>" +
"<td>" + item.fhNum + "</td>" +
"<td>" + item.remark + "</td>" +
"<td><a style='color:#4491d3;cursor: pointer;' onclick='delPartData(this)'>删除</a></td>" +
"</tr>";
@ -31,6 +42,11 @@ function setParams(params) {
}
}
// 根据ID查找对象
function findObjById(id) {
return moduleList.find(obj => obj.id === id);
}
// 获取需求计划外机具
function getProDevSelected(id, type) {
let encryptedData = {
@ -45,6 +61,8 @@ function getProDevSelected(id,type){
if (type === 1) {
setSelectData(result.data);
} else if (type === 2) {
moduleList = [];
moduleList = result.data;
setSelectData2(result.data);
}
}
@ -65,11 +83,12 @@ function setSelectData(list) {
layui.form.render();
}
// 规格下拉选
function setSelectData2(list) {
let html = '<option value="">请选择</option>';
if (list && list.length > 0) {
$.each(list, function (index, item) {
html += '<option value="' + item.id + '">' + item.name + '</option>';
html += '<option value="' + item.id + '" item="' + JSON.stringify(item) + '">' + item.name + '</option>';
})
}
$('#module').empty().append(html);
@ -78,26 +97,39 @@ function setSelectData2(list) {
// 保存并继续添加
function addTableData() {
// 校验添加的数据
let pId = $('#name').val();
let id = $('#module').val();
let fhNum = $('#fhNum').val();
if (!pId) {
return layer.msg('请选择机具', { icon: 7 });
}
if (!id) {
return layer.msg('请选择规格', { icon: 7 });
}
if (!fhNum) {
return layer.msg('请输入本次发货量', { icon: 7 });
}
let size = $(".pa").length;
if (size === 0) {
addTrData();
} else {
let jjNameId = $('#jjName').val();
let jjggId = $('#jjgg').val();
let pId = $('#name').val();
let id = $('#module').val();
let flag = false, trIndex = 0;
$(".classTable2 tbody tr").each(function (index, item) {
let jjNameTrId = $(this).attr('jjNameId');
let jjggTrId = $(this).attr('jjggId');
if(jjNameId === jjNameTrId && jjggId === jjggTrId){
let trpId = $(this).attr('pId');
let trId = $(this).attr('id');
if (pId === trpId && id === trId) {
flag = true;
trIndex = index;
}
})
if (flag) {
let fhl = $('#fhl').val();
let fhNum = $('#fhNum').val();
let remark = $('#remark').val();
let layerIndex = layer.confirm('<h5 style="color:red">该配件名称和规格已存在,若继续添加,则会覆盖!</h5>', { title: '操作提示' }, function () {
$(".classTable2 tbody tr").eq(trIndex).find('td').eq(4).html(fhl);
$(".classTable2 tbody tr").eq(trIndex).find('td').eq(4).html(fhNum);
$(".classTable2 tbody tr").eq(trIndex).find('td').eq(5).html(remark);
layer.close(layerIndex);
});
@ -116,21 +148,24 @@ function saveData() {
}
$(".pa").each(function (index, item) {
let obj = {};
let jjNameId = $(this).attr('jjNameId');
let jjggId = $(this).attr('jjggId');
let jjName = $(this).find('td').eq(0).html();
let jjgg = $(this).find('td').eq(1).html();
let pId = $(this).attr('pId');
let id = $(this).attr('id');
let name = $(this).attr('name');
let type = $(this).attr('type');
let module = $(this).attr('module');
let unit = $(this).find('td').eq(2).html();
let kcl = $(this).find('td').eq(3).html();
let fhl = $(this).find('td').eq(4).html();
let num = $(this).find('td').eq(3).html();
let fhNum = $(this).find('td').eq(4).html();
let remark = $(this).find('td').eq(5).html();
obj.jjNameId = jjNameId;
obj.jjggId = jjggId;
obj.jjName = jjName;
obj.jjgg = jjgg;
obj.pId = pId;
obj.id = id;
obj.moduleId = id;
obj.type = type;
obj.name = name;
obj.module = module;
obj.unit = unit;
obj.kcl = kcl;
obj.fhl = fhl;
obj.num = num;
obj.fhNum = fhNum;
obj.remark = remark;
dataArr.push(obj);
})
@ -142,21 +177,21 @@ function saveData() {
function addTrData() {
let jjName = $('#jjName').find('option:checked').text();
let jjNameId = $('#jjName').val();
let jjggId = $('#jjgg').val();
let jjgg = $('#jjgg').find('option:checked').text();
let fhl = $('#fhl').val();
let remark = $('#remark').val();
let name = $('.classTable tbody tr').attr('name');
let type = $('.classTable tbody tr').attr('type');
let module = $('.classTable tbody tr').attr('module');
let pId = $('#name').val();
let id = $('#module').val();
let unit = $('.classTable tbody tr').find('td').eq(2).html();
let kcl = $('.classTable tbody tr').find('td').eq(3).html();
let html =
"<tr class='pa' jjNameId='"+jjNameId+"' jjggId='"+jjggId+"'>" +
"<td>"+jjName+"</td>" +
"<td>"+jjgg+"</td>" +
let num = $('.classTable tbody tr').find('td').eq(3).html();
let fhNum = $('#fhNum').val();
let remark = $('#remark').val();
let html = "<tr class='pa' pId='" + pId + "' id='" + id + "' name='" + name + "' type='" + type + "' module='" + module + "'>" +
"<td>" + name + "</td>" +
"<td>" + module + "</td>" +
"<td>" + unit + "</td>" +
"<td>"+kcl+"</td>" +
"<td>"+fhl+"</td>" +
"<td>" + num + "</td>" +
"<td>" + fhNum + "</td>" +
"<td>" + remark + "</td>" +
"<td><a style='color:#4491d3;cursor: pointer;' onclick='delPartData(this)'>删除</a></td>" +
"</tr>";

View File

@ -291,7 +291,7 @@ function initTable() {
}
}
// 显示 - 仅用于演示
layer.msg('[ID: ' + data.id + '] ' + field + ' 字段更改值为:' + util.escape(value));
// layer.msg('[ID: ' + data.id + '] ' + field + ' 字段更改值为:' + util.escape(value));
let id = obj.data.id;
let num = obj.data.num;
let tzNum = obj.data.tzNum;

View File

@ -33,13 +33,13 @@
</select></form>
</td>
<td>
<form class='layui-form'><select id="module" class='layui-select' lay-search>
<form class='layui-form'><select id="module" class='layui-select' lay-search lay-filter="module">
</select></form>
</td>
<td>asdfas</td>
<td>1</td>
<td></td>
<td></td>
<td>
<form class='layui-form'><input id="fhl" class='layui-input' value='1' maxlength='6'
<form class='layui-form'><input id="fhNum" class='layui-input' value='1' maxlength='6'
onblur='handleNum(this,this.value)'></form>
</td>
<td>