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,192 +1,227 @@
let form, layer,idParam,objParam;
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(name)', function (data) {
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){
getProDevSelected('', 1);
if (objParam.jjDataArrStr) {
// 表格数据回显
let dataArr = JSON.parse(idParam.jjDataArrStr);
$.each(dataArr,function(index,item){
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>" +
"<td>"+item.unit+"</td>" +
"<td>"+item.kcl+"</td>" +
"<td>"+item.fhl+"</td>" +
"<td>"+item.remark+"</td>" +
"<td><a style='color:#4491d3;cursor: pointer;' onclick='delPartData(this)'>删除</a></td>" +
"</tr>";
$(".classTable2 tbody").append(html);
"<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.num + "</td>" +
"<td>" + item.fhNum + "</td>" +
"<td>" + item.remark + "</td>" +
"<td><a style='color:#4491d3;cursor: pointer;' onclick='delPartData(this)'>删除</a></td>" +
"</tr>";
$(".classTable2 tbody").append(html);
});
}
}
// 根据ID查找对象
function findObjById(id) {
return moduleList.find(obj => obj.id === id);
}
// 获取需求计划外机具
function getProDevSelected(id,type){
function getProDevSelected(id, type) {
let encryptedData = {
'pId':id,
'proId':idParam
'pId': id,
'proId': idParam
};
let url = dataUrl + 'backstage/planOut/getProDevSelected?encryptedData=' + encodeURIComponent(JSON.stringify(encryptedData));
ajaxRequest(url, "GET", null, true, function () {
}, function (result) {
console.log(result);
if (result.code === 200) {
if(type === 1){
setSelectData(result.data);
}else if(type === 2){
setSelectData2(result.data);
}
console.log(result);
if (result.code === 200) {
if (type === 1) {
setSelectData(result.data);
} else if (type === 2) {
moduleList = [];
moduleList = result.data;
setSelectData2(result.data);
}
}
}, function (xhr, status, error) {
errorFn(xhr, status, error)
errorFn(xhr, status, error)
}, null);
}
// 机具下拉选赋值
function setSelectData(list) {
let html = '<option value="">请选择</option>';
if(list && list.length > 0){
if (list && list.length > 0) {
$.each(list, function (index, item) {
html += '<option value="' + item.id + '">' + item.name + '</option>';
})
html += '<option value="' + item.id + '">' + item.name + '</option>';
})
}
$('#name').empty().append(html);
layui.form.render();
layui.form.render();
}
// 规格下拉选
function setSelectData2(list) {
let html = '<option value="">请选择</option>';
if(list && list.length > 0){
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);
layui.form.render();
layui.form.render();
}
// 保存并继续添加
function addTableData() {
let size = $(".pa").length;
if(size === 0){
addTrData();
}else{
let jjNameId = $('#jjName').val();
let jjggId = $('#jjgg').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){
flag = true;
trIndex = index;
}
})
if(flag){
let fhl = $('#fhl').val();
// 校验添加的数据
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 pId = $('#name').val();
let id = $('#module').val();
let flag = false, trIndex = 0;
$(".classTable2 tbody tr").each(function (index, item) {
let trpId = $(this).attr('pId');
let trId = $(this).attr('id');
if (pId === trpId && id === trId) {
flag = true;
trIndex = index;
}
})
if (flag) {
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);
let layerIndex = layer.confirm('<h5 style="color:red">该配件名称和规格已存在,若继续添加,则会覆盖!</h5>', { title: '操作提示' }, function () {
$(".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);
});
}else{
} else {
addTrData();
}
}
}
}
// 保存
function saveData() {
let dataArr = [];
let size = $(".pa").length;
if(size === 0){
return layer.msg('未添加数据',{icon:7});
if (size === 0) {
return layer.msg('未添加数据', { icon: 7 });
}
$(".pa").each(function(index,item){
$(".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);
})
let layerIndex = layer.confirm('<h5 style="color:red">数据即将被添加,请仔细检查数据是否有错误!</h5>',{title:'操作提示'}, function(){
let layerIndex = layer.confirm('<h5 style="color:red">数据即将被添加,请仔细检查数据是否有错误!</h5>', { title: '操作提示' }, function () {
layer.close(layerIndex);
closePage(1,JSON.stringify(dataArr));
closePage(1, JSON.stringify(dataArr));
});
}
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 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>" +
"<td>"+unit+"</td>" +
"<td>"+kcl+"</td>" +
"<td>"+fhl+"</td>" +
"<td>"+remark+"</td>" +
"<td><a style='color:#4491d3;cursor: pointer;' onclick='delPartData(this)'>删除</a></td>" +
"</tr>";
$(".classTable2 tbody").append(html);
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 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>" + num + "</td>" +
"<td>" + fhNum + "</td>" +
"<td>" + remark + "</td>" +
"<td><a style='color:#4491d3;cursor: pointer;' onclick='delPartData(this)'>删除</a></td>" +
"</tr>";
$(".classTable2 tbody").append(html);
}
function delPartData(that){
var indexMsg = layer.confirm("<h5 style='color:red'>您确定删除此条数据吗?</h5>", {btn: ['确定','取消']},function(){
layer.close(indexMsg);
$(that).parent().parent().remove();
});
function delPartData(that) {
var indexMsg = layer.confirm("<h5 style='color:red'>您确定删除此条数据吗?</h5>", { btn: ['确定', '取消'] }, function () {
layer.close(indexMsg);
$(that).parent().parent().remove();
});
}
// 处理数字
function handleNum(that,value){
if(!value){
return;
}
const regex = /^(1|[1-9]\d{0,6})$/;
if(!regex.test(value)){
layer.msg('格式不正确最小为1,最大输入6位数且为正整数',{icon:7})
$(that).val(1);
}
function handleNum(that, value) {
if (!value) {
return;
}
const regex = /^(1|[1-9]\d{0,6})$/;
if (!regex.test(value)) {
layer.msg('格式不正确最小为1,最大输入6位数且为正整数', { icon: 7 })
$(that).val(1);
}
}
function closePage(type,params) {
let index = parent.layer.getFrameIndex(window.name); // 先得到当前 iframe层的索引
parent.layer.close(index); // 再执行关闭
if (type == 1) {
window.parent.addJjDatas(params);
}
function closePage(type, params) {
let index = parent.layer.getFrameIndex(window.name); // 先得到当前 iframe层的索引
parent.layer.close(index); // 再执行关闭
if (type == 1) {
window.parent.addJjDatas(params);
}
}

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>