web配件领用申请代码提交

This commit is contained in:
liang.chao 2025-03-07 10:44:48 +08:00
parent 0a02af932f
commit c352d07eac
8 changed files with 1784 additions and 0 deletions

View File

@ -0,0 +1,175 @@
let form, table, laydate;
let tableIns;
let pageNum = 1; // 定义分页
layui.use(["form", "table", 'laydate'], function () {
form = layui.form;
table = layui.table;
laydate = layui.laydate;
laydate.render({
elem: '#ID-laydate-rangeLinked',
range: ['#startDay', '#endDay'],
rangeLinked: true
});
initTable();
});
// 查询/重置
function queryTable(type) {
if (type === 1) {
let keyWord = $('#keyWord').val();
let flag = checkValue(keyWord);
if (flag) {
$('#keyWord').val('');
return layer.msg('关键字查询包含特殊字符,请重新输入', { icon: 2 });
}
reloadTable(1);
} else if (type === 2) {
$('#keyWord').val('');
$('#startDay').val('');
$('#endDay').val('');
layui.form.render();
reloadTable(1);
}
}
// 刷新页面数据
function reloadData() {
reloadTable(1);
}
// 重载表格
function reloadTable(pageNum) {
table.reload("currentTableId", {
page: {
curr: pageNum ? pageNum : 1,
},
where: {
// encryptedData: JSON.stringify({
'keyWord': $('#keyWord').val(),
'startDay': $('#startDay').val(),
'endDay': $('#endDay').val()
// }),
},
},
);
}
// 初始化表格
function initTable() {
tableIns = table.render({
elem: "#currentTableId",
id: 'currentTableId',
headers: {
authorization: sessionStorage.getItem("gz-token"),
},
height: "full-170",
url: dataUrl + "base/partApply/getPartApplyList",
where: {
encryptedData: JSON.stringify({
'keyWord': $('#keyWord').val(),
'startDay': $('#startDay').val(),
'endDay': $('#endDay').val()
}),
},
request: {
pageName: 'pageNum',
limitName: 'pageSize'
},
parseData: function (res) { // res 即为原始返回的数据
if(res.code === 401){
closeWindowOpen();
}
return {
"code": 0, // 解析接口状态
"msg": '获取成功', // 解析提示文本
"count": res.total, // 解析数据长度
"data": res.list // 解析数据列表
};
},
cols: [
[
{
width: '9.9%',
title: "序号",
align: "center",
templet: function (d) {
return d.LAY_NUM;
},
},
{
field: "code",
width: '15%',
title: "领料单号",
unresize: true,
align: "center",
sort:true,
},
{
field: "typeName",
width: '15%',
title: "配件类型",
unresize: true,
align: "center",
sort:true,
},
{
field: "userName",
width: '15%',
title: "领料人",
unresize: true,
align: "center",
sort:true,
},
{
field: "createTime",
width: '15%',
title: "领料日期",
unresize: true,
align: "center",
sort:true,
},
{
field: "statusName",
width: '20%',
title: "审批状态",
unresize: true,
align: "center",
sort:true,
},
{
title: "操作",
width: '10%',
align: "center",
unresize: true,
templet: function (d) {
let html = "";
if (d.statusName === "已驳回") {
// html += "<a onclick='accessoryScrapDetail(" + JSON.stringify(d) + ",1)'>编辑</a>";
html += "<a onclick='accessoryApplyDetail(" + JSON.stringify(d) + ",1)'>编辑</a>";
}else{
// html += "<a onclick='accessoryScrapDetail(" + JSON.stringify(d) + ",1)'>详情</a>";
html += "<a onclick='accessoryApplyDetail(" + JSON.stringify(d) + ",1)'>详情</a>";
}
return html;
},
},
],
],
limits: [10, 15, 20, 25, 50, 100],
limit: 10,
page: true,
done: function (res, curr, count) {
pageNum = tableIns.config.page.curr;
table.resize("currentTableId");
},
});
}
// 详情 配件报废
function addAccessoryApply(obj) {
openIframeByParamObj("accessory_apply_add", "新增", "../accessory/child/accessory_apply_add.html", "92%", "95%", obj);
}
function accessoryApplyDetail(obj) {
openIframeByParamObj("accessory_apply_detail", "详情", "../accessory/child/accessory_apply_detail.html", "92%", "95%", obj);
}

View File

@ -0,0 +1,422 @@
let idParam, objParam;
let form, laydate, layer, upload, table, util;
let pageNum = 1, tableIns; // 定义分页
let jjDataArr = []; // 配件数据
let proList = []; // 工程下拉选
let jjDetailArr = []; // 入库配件类型数据
let delIdArr = [];
function setParams(obj) {
objParam = JSON.parse(obj);
layui.use(['form', 'layer', 'laydate', 'upload', 'table'], function () {
form = layui.form;
layer = layui.layer;
laydate = layui.laydate;
upload = layui.upload;
table = layui.table;
util = layui.util;
// 获取sessionStorage中的数据并转换为对象
var user = JSON.parse(sessionStorage.getItem('us'));
// 设置元素值
$('#projectPart').val(user.username);
laydate.render({
elem: '#needTime'
});
form.verify();
form.on('submit(formData)', function (data) {
submitApply(data);
});
form.render();
});
}
// 监听按钮点击事件
document.getElementById('internalCode').addEventListener('click', function () {
// 打开弹框并渲染表格
layer.open({
type: 1, // 类型1表示页面层
area: ['800px', '525px'], // 宽高
content: `
<div style="padding: 20px;">
<table id="dataTable" lay-filter="dataTable"></table>
<div style="text-align: right; margin-top: 10px;">
<button id="confirmBtn" class="layui-btn layui-btn-normal">确定</button>
</div>
</div>
`,
success: function (layero, index) {
// 在弹框成功打开后初始化表格
table.render({
elem: '#dataTable', // 指定原始表格元素选择器推荐id选择器
headers: {
authorization: sessionStorage.getItem("gz-token"),
},
height: 400,
url: dataUrl + 'base/partApply/getDevList',// 数据接口这里假设你有一个数据接口返回JSON数据
page: true, // 开启分页
request: {
pageName: 'pageNum',
limitName: 'pageSize'
},
parseData: function (res) { // res 即为原始返回的数据
if (res.code === 401) {
closeWindowOpen();
}
return {
"code": 0, // 解析接口状态
"msg": '获取成功', // 解析提示文本
"count": res.total, // 解析数据长度
"data": res.list // 解析数据列表
};
},
cols: [[ // 表头
{type: 'radio'}, // 单选框列
{
width: '20%',
title: "序号",
align: "center",
templet: function (d) {
return d.LAY_NUM;
},
},
{field: 'deviceCode', title: '内部编号', width: '40%'},
{field: 'module', title: '机型', width: '40%'}
]]
});
// 确定按钮点击事件
document.getElementById('confirmBtn').onclick = function () {
var checkStatus = table.checkStatus('dataTable'); // 获取选中行的状态
var data = checkStatus.data; // 获取选中的行数据
if (data.length > 0) {
// 发起查询接口请求
var xhr = new XMLHttpRequest();
var jsonResponse;
xhr.open("GET", dataUrl + 'base/partApply/getProInfo?id=' + encodeURIComponent(data[0].id), true);
xhr.setRequestHeader("authorization", sessionStorage.getItem("gz-token"));
console.log(xhr); // 或者进行其他处理逻辑
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) { // 请求已完成
jsonResponse = JSON.parse(xhr.responseText);
// 处理响应数据
if (jsonResponse.data.proName == null){
layer.msg('未查询到工程信息', {icon: 7});
}
} else if (xhr.readyState == 4) {
console.error("Error fetching data");
}
};
xhr.send();
document.getElementById('internalCode').value = data[0].deviceCode;
document.getElementById('department').value = jsonResponse.data.proName;
layer.close(index); // 关闭弹窗
} else {
layer.msg('请选择一行数据');
}
};
}
});
});
function saveData2() {
$('#formSubmit').trigger('click')
}
function setNumColor(value, type) { // 1.需要量 2.已发货量 3.差缺量
let color = '#66b1ff';
if (type === 1) {
color = '#66b1ff';
} else if (type === 2) {
color = '#19be6b';
} else if (type === 3) {
color = '#ff9900';
}
return '<span style="color:' + color + ';font-weight:bold;">' + value + "</span>";
}
// 提交
function submitApply(data) {
let list = getBaseTableData();
// 校验配件入库数量
if (list.length === 0) {
return layer.msg('未添加机具数据', {icon: 7});
}
for (let i = 0; i < list.length; i++) {
if (list[i].needNum === 0) {
return layer.msg('机具明细,第' + (i + 1) + '行,未填写需用量', {icon: 7});
}
}
data.field.jsonData = JSON.stringify(list);
let loadingMsg = layer.msg('正在提交保存,请稍等...', {icon: 16, shade: 0.01, time: '0'});
let url = dataUrl + 'base/partApply/addPartApply';
let params = {
encryptedData: JSON.stringify(data.field)
};
ajaxRequest(url, 'POST', params, true, function () {
$('.save').addClass("layui-btn-disabled").attr("disabled", true);
$('.cancel').addClass("layui-btn-disabled").attr("disabled", true);
}, function (result) {
layer.close(loadingMsg);
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
if (result.code === 200) {
parent.layer.msg(result.msg, {icon: 1});
closePage(1);
} else {
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);
}
// 获取机具明细数据
function getBaseTableData() {
let tableData = [];
$('#baseTable tbody tr').each(function (index, item) {
let needNum = $(this).find('td').eq(6).find('input[name="needNum"]').val();
tableData.push({
moduleId: $(this).attr('id'),
type: $(this).find('td').eq(2).html(),
typeName: $(this).find('td').eq(3).html(),
module: $(this).find('td').eq(4).html(),
unit: $(this).find('td').eq(5).html(),
needNum: needNum ? needNum : 0,
})
})
return tableData;
}
// 选择机具类型
function chooseFitType() {
let params = {};
openIframeByParamObj("choose_part_type", '', "./choose_part_type_list.html", '92%', '95%', params);
}
// 查询
function search() {
let keyWord = $('#Name').val();
if (keyWord) {
let dataList = jjDataArr.filter(item => {
return item.Name.indexOf(keyWord) > -1;
})
setTableData(dataList);
}
}
// 重置
function resetSearch() {
$('#name').val('');
setTableData(jjDataArr);
}
// 子页面回调数据
function addFitDatas(data) {
console.log('新增的数据:' + data);
if (jjDataArr.length > 0) { // 继续添加数据
let newJjDataArr = JSON.parse(data);
$.each(newJjDataArr, function (index, item) {
updateOrAddObject(item.id, item);
});
// setTableData(jjDataArr);
goOnAddData();
} else { // 第一次添加数据
jjDataArr = JSON.parse(data);
if (jjDataArr && jjDataArr.length > 0) {
$('#no_data_title').css({'display': 'none'});
$('#search-info').removeAttr('style');
$('#table-box').removeAttr('style');
setTableData(jjDataArr);
}
}
function updateOrAddObject(id, newObject) {
const index = jjDataArr.findIndex(obj => obj.id === id);
if (index !== -1) {
// 如果对象存在,则替换它
jjDataArr[index] = newObject;
} else {
// 如果对象不存在,则添加到数组
jjDataArr.push(newObject);
}
}
}
// 入库配件明细表格赋值
function setTableData(results) {
$('#allCheck').prop('checked', false)
delIdArr.splice(0, delIdArr.length);
var html = "";
if (results && results.length > 0) {
for (var i = 0; i < results.length; i++) {
var l = results[i];
html += "<tr id='" + l.id + "'>";
html += '<td><input onclick="sel(this.checked,this,' + l.id + ')" name="check" type="checkbox"></td>';
html += "<td style='vertical-align:middle;' class='center hidden-480'>"
+ (i + 1) + "</td>";
// html += "<td>" + l.ppName + "</td>";
// html += "<td>" + l.pName + "</td>";
html += "<td>" + l.name + "</td>";
html += "<td>" + l.model + "</td>";
html += "<td>" + l.num + "</td>";
html += "<td>" + setFormInput(l.needNum, 1) + "</td>";
// html += "<td>" + setFormInput(l.times == null ? 0 : l.times, 2) + "</td>";
// html += "<td>" + setFormInput(l.remarks, 3) + "</td>";
html += "</tr>";
}
} else {
html += "<tr><td colspan='9' class='center'>没有相关数据</td></tr>";
}
$("#baseTable tbody").empty().append(html);
layui.form.render();
}
function setFormInput(value, type) {
let html = '<form class="layui-form layuimini-form"><div class="layui-inline">';
if (type === 1) { // 需用量
html += '<input class="layui-input" name="needNum" onblur="checkValue(this,1,\'需用量\')" value="' + setNullValue(value) + '" autocomplete="off" lay-verify="required" maxlength="9">';
} /*else if (type === 2) { // 需用天数
html += '<input class="layui-input" name="times" onblur="checkValue(this,2,\'需用天数\')" value="' + setNullValue(value) + '" autocomplete="off" lay-verify="required" maxlength="9">';
} else if (type === 3) { // 备注
html += '<input class="layui-input" placeholder="请输入备注" id="remarks" name="remarks" value="' + setNullValue(value) + '" maxLength="60" lay-affix="clear"></input>';
}*/
html += '</div></form>';
return html;
}
// 复选框全选
function selectAll(selectStatus) {//传入参数(全选框的选中状态)
if (selectStatus) {
$("input[name='check']").each(function (i, n) {
n.checked = true;
});
$.each(jjDataArr, function (index, item) {
delIdArr.push(item.id);
})
} else {
$("input[name='check']").each(function (i, n) {
n.checked = false;
});
delIdArr.splice(0, delIdArr.length);
}
}
// 单个选中
function sel(selectStatus, that, id) {
if (selectStatus) {
$(that).prop('checked', true);
delIdArr.push(id);
} else {
$(that).prop('checked', false);
for (let i = 0; i < delIdArr.length; i++) {
if (delIdArr[i] == id) {
delIdArr.splice(i, 1);
break;
}
}
}
}
// 删除选中
function delFitType() {
if (delIdArr.length == 0) {
layer.msg('请先选择需要删除的数据!', {icon: 7})
return;
}
let layerIndex = layer.confirm('<h5 style="color:red">确定要删除选中数据吗!</h5>', {title: '操作提示'}, function () {
layer.close(layerIndex);
for (let i = 0; i < delIdArr.length; i++) {
for (let j = 0; j < jjDataArr.length; j++) {
let id = jjDataArr[j].id;
if (delIdArr[i] == id) {
jjDataArr.splice(j, 1);
break;
}
}
}
if (jjDataArr.length === 0) {
$('#no_data_title').removeAttr('style');
$('#search-info').css({'display': 'none'});
$('#table-box').css({'display': 'none'});
} else {
// setTableData(jjDataArr);
handleDelTableData(delIdArr);
}
delIdArr.splice(0, delIdArr.length);
});
}
// 删除表格数据
function handleDelTableData(delIdArr) {
if (delIdArr.length > 0) {
$.each(delIdArr, function (index, item) {
$('#baseTable tbody tr').each(function () {
let id = $(this).attr('id');
if (parseInt(id) === item) {
$(this).remove();
return false;
}
})
})
}
$('#baseTable tbody tr').each(function (index, item) {
$(this).find('td').eq(1).html(index + 1);
})
}
// 继续添加数据
function goOnAddData() {
if (jjDataArr.length > 0) {
$.each(jjDataArr, function (index, item) {
$('#baseTable tbody tr').each(function () {
let id = $(this).attr('id');
if (parseInt(id) === parseInt(item.id)) {
let times = $(this).find('td').eq(7).find('input[name="times"]').val(),
needNum = $(this).find('td').eq(6).find('input[name="needNum"]').val(),
remarks = $(this).find('td').eq(8).find('input[name="remarks"]').val();
if (!item.times || parseInt(item.times) === 0) {
item.times = times;
}
if (!item.needNum || parseInt(item.needNum) === 0) {
item.needNum = needNum;
}
if (!item.remarks) {
item.remarks = remarks;
}
}
})
});
setTableData(jjDataArr);
$('#baseTable tbody tr').each(function (index, item) {
$(this).find('td').eq(1).html(index + 1);
})
}
}
// 校验数据
function checkValue(that, type, name) {
let value = $(that).val();
if (type === 1 || type === 2) { // 需用量 / 需用天数
const regex = /^(0|[1-9]\d{0,6})$/;
if (!regex.test(value) && value) {
layer.msg('' + name + '输入不合法,请重新输入!', {icon: 5})
$(that).val(0);
}
}
}
// 关闭页面
function closePage(type) {
let index = parent.layer.getFrameIndex(window.name); // 先得到当前 iframe层的索引
if (type == 1) {
window.parent.reloadData();
}
parent.layer.close(index); // 再执行关闭
}

View File

@ -0,0 +1,451 @@
let idParam, objParam;
let form, laydate, layer, upload, table, util;
let pageNum = 1, tableIns; // 定义分页
let jjDataArr = []; // 配件数据
let jjDetailArr = []; // 入库配件类型数据
let delIdArr = [];
function setParams(obj) {
objParam = JSON.parse(obj);
layui.use(['form', 'layer', 'laydate', 'upload', 'table'], function () {
form = layui.form;
layer = layui.layer;
laydate = layui.laydate;
upload = layui.upload;
table = layui.table;
util = layui.util;
laydate.render({
elem: '#needTime'
});
initTable();
form.verify();
form.render();
});
}
// 初始化表格
function initTable() {
tableIns = table.render({
elem: "#currentTableId",
id: 'currentTableId',
headers: {
authorization: sessionStorage.getItem("gz-token"),
},
height: "full-170",
url: dataUrl + "base/partApply/getPartApplyDetails",
request: {
pageName: 'pageNum',
limitName: 'pageSize'
},
parseData: function (res) { // res 即为原始返回的数据
if(res.code === 401){
closeWindowOpen();
}
return {
"code": 0, // 解析接口状态
"msg": '获取成功', // 解析提示文本
"count": res.total, // 解析数据长度
"data": res.list // 解析数据列表
};
},
cols: [
[
{
width: '9.9%',
title: "序号",
align: "center",
templet: function (d) {
return d.LAY_NUM;
},
},
{
field: "code",
width: '15%',
title: "退料单编号",
unresize: true,
align: "center",
sort:true,
},
{
field: "backNum",
width: '10%',
title: "退用数量",
unresize: true,
align: "center",
sort:true,
},
{
field: "creator",
width: '10%',
title: "接收人",
unresize: true,
align: "center",
sort:true,
},
{
field: "userName",
width: '10%',
title: "退料人",
unresize: true,
align: "center",
sort:true,
},
{
field: "phone",
width: '10%',
title: "联系电话",
unresize: true,
align: "center",
sort:true,
},
{
field: "backDay",
width: '10%',
title: "退料时间",
unresize: true,
align: "center",
sort:true,
},
{
field: "remark",
width: '15%',
title: "备注",
unresize: true,
align: "center",
sort:true,
templet: function (d) {
if (d.remark) {
if (d.remark.length > 60) {
return '<span title="' + d.remark + '">' + d.remark.substring(0, 60) + '...</span>'
} else {
return '<span title="' + d.remark + '">' + d.remark + '</span>'
}
} else {
return '';
}
},
},
{
title: "操作",
width: '10%',
align: "center",
unresize: true,
templet: function (d) {
let html = "";
html += "<a onclick='accessoryReturnDetail(" + JSON.stringify(d) + ")'>详情</a>";
return html;
},
},
],
],
limits: [10, 15, 20, 25, 50, 100],
limit: 10,
page: true,
done: function (res, curr, count) {
pageNum = tableIns.config.page.curr;
table.resize("currentTableId");
},
});
}
function saveData2() {
$('#formSubmit').trigger('click')
}
function setNumColor(value, type) { // 1.需要量 2.已发货量 3.差缺量
let color = '#66b1ff';
if (type === 1) {
color = '#66b1ff';
} else if (type === 2) {
color = '#19be6b';
} else if (type === 3) {
color = '#ff9900';
}
return '<span style="color:' + color + ';font-weight:bold;">' + value + "</span>";
}
// 提交
function submitApply(data) {
let list = getBaseTableData();
// 校验配件入库数量
if (list.length === 0) {
return layer.msg('未添加机具数据', {icon: 7});
}
for (let i = 0; i < list.length; i++) {
if (list[i].needNum === 0) {
return layer.msg('机具明细,第' + (i + 1) + '行,未填写需用量', {icon: 7});
}
}
data.field.jsonData = JSON.stringify(list);
let loadingMsg = layer.msg('正在提交保存,请稍等...', {icon: 16, shade: 0.01, time: '0'});
let url = dataUrl + 'base/partApply/addPartApply';
let params = {
encryptedData: JSON.stringify(data.field)
};
ajaxRequest(url, 'POST', params, true, function () {
$('.save').addClass("layui-btn-disabled").attr("disabled", true);
$('.cancel').addClass("layui-btn-disabled").attr("disabled", true);
}, function (result) {
layer.close(loadingMsg);
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
$('.cancel').removeClass("layui-btn-disabled").attr("disabled", false);
if (result.code === 200) {
parent.layer.msg(result.msg, {icon: 1});
closePage(1);
} else {
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);
}
// 获取机具明细数据
function getBaseTableData() {
let tableData = [];
$('#baseTable tbody tr').each(function (index, item) {
let needNum = $(this).find('td').eq(6).find('input[name="needNum"]').val();
tableData.push({
moduleId: $(this).attr('id'),
type: $(this).find('td').eq(2).html(),
typeName: $(this).find('td').eq(3).html(),
module: $(this).find('td').eq(4).html(),
unit: $(this).find('td').eq(5).html(),
needNum: needNum ? needNum : 0,
})
})
return tableData;
}
// 选择机具类型
function chooseFitType() {
let params = {};
openIframeByParamObj("choose_part_type", '', "./choose_part_type_list.html", '92%', '95%', params);
}
// 查询
function search() {
let keyWord = $('#Name').val();
if (keyWord) {
let dataList = jjDataArr.filter(item => {
return item.Name.indexOf(keyWord) > -1;
})
setTableData(dataList);
}
}
// 重置
function resetSearch() {
$('#name').val('');
setTableData(jjDataArr);
}
// 子页面回调数据
function addFitDatas(data) {
console.log('新增的数据:' + data);
if (jjDataArr.length > 0) { // 继续添加数据
let newJjDataArr = JSON.parse(data);
$.each(newJjDataArr, function (index, item) {
updateOrAddObject(item.id, item);
});
// setTableData(jjDataArr);
goOnAddData();
} else { // 第一次添加数据
jjDataArr = JSON.parse(data);
if (jjDataArr && jjDataArr.length > 0) {
$('#no_data_title').css({'display': 'none'});
$('#search-info').removeAttr('style');
$('#table-box').removeAttr('style');
setTableData(jjDataArr);
}
}
function updateOrAddObject(id, newObject) {
const index = jjDataArr.findIndex(obj => obj.id === id);
if (index !== -1) {
// 如果对象存在,则替换它
jjDataArr[index] = newObject;
} else {
// 如果对象不存在,则添加到数组
jjDataArr.push(newObject);
}
}
}
// 入库配件明细表格赋值
function setTableData(results) {
$('#allCheck').prop('checked', false)
delIdArr.splice(0, delIdArr.length);
var html = "";
if (results && results.length > 0) {
for (var i = 0; i < results.length; i++) {
var l = results[i];
html += "<tr id='" + l.id + "'>";
html += '<td><input onclick="sel(this.checked,this,' + l.id + ')" name="check" type="checkbox"></td>';
html += "<td style='vertical-align:middle;' class='center hidden-480'>"
+ (i + 1) + "</td>";
// html += "<td>" + l.ppName + "</td>";
// html += "<td>" + l.pName + "</td>";
html += "<td>" + l.name + "</td>";
html += "<td>" + l.model + "</td>";
html += "<td>" + l.num + "</td>";
html += "<td>" + setFormInput(l.needNum, 1) + "</td>";
// html += "<td>" + setFormInput(l.times == null ? 0 : l.times, 2) + "</td>";
// html += "<td>" + setFormInput(l.remarks, 3) + "</td>";
html += "</tr>";
}
} else {
html += "<tr><td colspan='9' class='center'>没有相关数据</td></tr>";
}
$("#baseTable tbody").empty().append(html);
layui.form.render();
}
function setFormInput(value, type) {
let html = '<form class="layui-form layuimini-form"><div class="layui-inline">';
if (type === 1) { // 需用量
html += '<input class="layui-input" name="needNum" onblur="checkValue(this,1,\'需用量\')" value="' + setNullValue(value) + '" autocomplete="off" lay-verify="required" maxlength="9">';
} /*else if (type === 2) { // 需用天数
html += '<input class="layui-input" name="times" onblur="checkValue(this,2,\'需用天数\')" value="' + setNullValue(value) + '" autocomplete="off" lay-verify="required" maxlength="9">';
} else if (type === 3) { // 备注
html += '<input class="layui-input" placeholder="请输入备注" id="remarks" name="remarks" value="' + setNullValue(value) + '" maxLength="60" lay-affix="clear"></input>';
}*/
html += '</div></form>';
return html;
}
// 复选框全选
function selectAll(selectStatus) {//传入参数(全选框的选中状态)
if (selectStatus) {
$("input[name='check']").each(function (i, n) {
n.checked = true;
});
$.each(jjDataArr, function (index, item) {
delIdArr.push(item.id);
})
} else {
$("input[name='check']").each(function (i, n) {
n.checked = false;
});
delIdArr.splice(0, delIdArr.length);
}
}
// 单个选中
function sel(selectStatus, that, id) {
if (selectStatus) {
$(that).prop('checked', true);
delIdArr.push(id);
} else {
$(that).prop('checked', false);
for (let i = 0; i < delIdArr.length; i++) {
if (delIdArr[i] == id) {
delIdArr.splice(i, 1);
break;
}
}
}
}
// 删除选中
function delFitType() {
if (delIdArr.length == 0) {
layer.msg('请先选择需要删除的数据!', {icon: 7})
return;
}
let layerIndex = layer.confirm('<h5 style="color:red">确定要删除选中数据吗!</h5>', {title: '操作提示'}, function () {
layer.close(layerIndex);
for (let i = 0; i < delIdArr.length; i++) {
for (let j = 0; j < jjDataArr.length; j++) {
let id = jjDataArr[j].id;
if (delIdArr[i] == id) {
jjDataArr.splice(j, 1);
break;
}
}
}
if (jjDataArr.length === 0) {
$('#no_data_title').removeAttr('style');
$('#search-info').css({'display': 'none'});
$('#table-box').css({'display': 'none'});
} else {
// setTableData(jjDataArr);
handleDelTableData(delIdArr);
}
delIdArr.splice(0, delIdArr.length);
});
}
// 删除表格数据
function handleDelTableData(delIdArr) {
if (delIdArr.length > 0) {
$.each(delIdArr, function (index, item) {
$('#baseTable tbody tr').each(function () {
let id = $(this).attr('id');
if (parseInt(id) === item) {
$(this).remove();
return false;
}
})
})
}
$('#baseTable tbody tr').each(function (index, item) {
$(this).find('td').eq(1).html(index + 1);
})
}
// 继续添加数据
function goOnAddData() {
if (jjDataArr.length > 0) {
$.each(jjDataArr, function (index, item) {
$('#baseTable tbody tr').each(function () {
let id = $(this).attr('id');
if (parseInt(id) === parseInt(item.id)) {
let times = $(this).find('td').eq(7).find('input[name="times"]').val(),
needNum = $(this).find('td').eq(6).find('input[name="needNum"]').val(),
remarks = $(this).find('td').eq(8).find('input[name="remarks"]').val();
if (!item.times || parseInt(item.times) === 0) {
item.times = times;
}
if (!item.needNum || parseInt(item.needNum) === 0) {
item.needNum = needNum;
}
if (!item.remarks) {
item.remarks = remarks;
}
}
})
});
setTableData(jjDataArr);
$('#baseTable tbody tr').each(function (index, item) {
$(this).find('td').eq(1).html(index + 1);
})
}
}
// 校验数据
function checkValue(that, type, name) {
let value = $(that).val();
if (type === 1 || type === 2) { // 需用量 / 需用天数
const regex = /^(0|[1-9]\d{0,6})$/;
if (!regex.test(value) && value) {
layer.msg('' + name + '输入不合法,请重新输入!', {icon: 5})
$(that).val(0);
}
}
}
// 关闭页面
function closePage(type) {
let index = parent.layer.getFrameIndex(window.name); // 先得到当前 iframe层的索引
if (type == 1) {
window.parent.reloadData();
}
parent.layer.close(index); // 再执行关闭
}

View File

@ -0,0 +1,314 @@
let objParam;
let form, table, element, tableIns, layer, util;
let pageNum = 1;
let quanju = new Array();//全局
let huancun = new Array();//缓存
let huancunObj = new Array();//缓存2
let cjList = [];
let jjDetailArr = []; // 入库配件类型数据
function setParams(obj) {
objParam = JSON.parse(obj);
layui.use(["form", "table", 'element', 'layer', 'util'], function () {
form = layui.form;
table = layui.table;
element = layui.element;
layer = layui.layer;
util = layui.util;
initTable();
});
}
// 查询/重置
function queryTable(type) {
if (type === 1) {
let pName = $('#pName').val();
let flag = checkValue(pName);
if (flag) {
$('#pName').val('');
return layer.msg('物机名称查询包含特殊字符,请重新输入', { icon: 2 });
}
let name = $('#name').val();
let flag2 = checkValue(name);
if (flag2) {
$('#name').val('');
return layer.msg('规格查询包含特殊字符,请重新输入', { icon: 2 });
}
reloadTable(1);
} else if (type === 2) {
$('#pName').val('');
$('#name').val('');
layui.form.render();
reloadTable(1);
}
}
// 重载表格
function reloadTable(pageNum) {
table.reload("currentTableId", {
page: {
curr: pageNum ? pageNum : 1,
},
where: {
// encryptedData: JSON.stringify({
// 'pName': $('#pName').val(),
'name': $('#name').val(),
// }),
},
},
);
}
// 表格数据
function initTable() {
tableIns = table.render({
elem: "#currentTableId",
id: 'currentTableId',
height: "full-200",
headers: {
authorization: sessionStorage.getItem("gz-token"),
},
url: dataUrl + "base/partApply/getPaTypeList",
where: {
// encryptedData: JSON.stringify({
// 'pName': $('#pName').val(),
'name': $('#name').val(),
// }),
},
request: {
pageName: 'pageNum',
limitName: 'pageSize'
},
parseData: function (res) { // res 即为原始返回的数据
if(res.code === 401){
closeWindowOpen();
}
if (jjDetailArr && res.list) {
$.each(res.list, function (index, item) {
$.each(jjDetailArr, function (index2, item2) {
if (item.id === item2.id) {
item.name = item2.name;
item.model = item2.model;
item.num = item2.num;
item.needNum = item2.needNum;
}
});
});
}
return {
"code": 0, // 解析接口状态
"msg": '获取成功', // 解析提示文本
"count": res.total, // 解析数据长度
"data": res.list // 解析数据列表
};
},
cols: [
[
{ type: 'checkbox', width: '5%' },
{
width: '15%',
title: "序号",
align: "center",
templet: function (d) {
return d.LAY_NUM;
},
},
{
field: "name",
width: '20%',
title: "配件名称",
unresize: true,
align: "center",
sort:true,
},
{
field: "model",
width: '20%',
title: "规格",
unresize: true,
align: "center",
sort:true,
},
{
field: "num",
title: "库存量",
width: '20%',
unresize: true,
align: "center",
sort:true,
},
{
field: "needNum",
width: '20%',
title: "<span style='color:red'> * </span>本次申请量",
unresize: true,
align: "center",
edit: 'text',
style: 'outline: 1px solid #e6e6e6;outline-offset: -5px;'
},
],
],
limits: [10, 15, 20, 25, 50, 100],
limit: 10,
page: true,
done: function (res, curr, count) {
table.resize("currentTableId");
pageNum = tableIns.config.page.curr;
//设置全部数据到全局变量
quanju = res.data;
for (var i = 0; i < res.data.length; i++) {
for (var j = 0; j < huancun.length; j++) {
//数据id和要勾选的id相同时checkbox选中
if (res.data[i].id === huancun[j]) {
//这里才是真正的有效勾选
res.data[i]["LAY_CHECKED"] = 'true';
//找到对应数据改变勾选样式,呈现出选中效果
var index = res.data[i]['LAY_INDEX'];
$('.layui-table tr[data-index=' + index + '] input[type="checkbox"]').prop('checked', true);
$('.layui-table tr[data-index=' + index + '] input[type="checkbox"]').next().addClass('layui-form-checked');
}
}
}
//设置全选checkbox的选中状态只有改变LAY_CHECKED的值 table.checkStatus才能抓取到选中的状态
let checkStatus = table.checkStatus('currentTableId');//这里的lightTable是指分页中的id
if (checkStatus.isAll) {//是否全选
//layTableAllChoose
$('.layui-table th[data-field="0"] input[type="checkbox"]').prop('checked', true);//data-field值默认为0如果在分页部分自定义了属性名则需要改成对应的属性名
$('.layui-table th[data-field="0"] input[type="checkbox"]').next().addClass('layui-form-checked');//data-field值默认为0如果在分页部分自定义了属性名则需要改成对应的属性名
}
},
});
table.on('edit(currentTableId2)', function (obj) {
var field = obj.field; // 得到修改的字段
var value = obj.value // 得到修改后的值
if (field === 'needNum' || field === 'times') { // 需用量 / 需用天数
if (value) {
const regex = /^(0|[1-9]\d{0,6})$/;
if (!regex.test(value)) {
obj.reedit();
return layer.msg('格式不正确最大输入6位数且为正整数', { icon: 7 })
}
}
} else if (field === 'remarks') { // 备注
if (value) {
if (value.length > 255) {
obj.reedit();
return layer.msg('备注最多输入255位', { icon: 7 })
}
}
}
// 显示 - 仅用于演示
// layer.msg('[ID: ' + data.id + '] ' + field + ' 字段更改值为:' + util.escape(value));
let id = obj.data.id;
updateOrAddObject(id, obj.data);
});
//复选框选中监听,将选中的id 设置到缓存数组,或者删除缓存数组
table.on('checkbox(currentTableId2)', function (obj) {
if (obj.checked === true) {
if (obj.type === 'one' && huancun.indexOf(obj.data.id) === -1) {
huancun.push(obj.data.id);
huancunObj.push(obj.data);
} else {
for (let i = 0; i < quanju.length; i++) {
if (huancun.indexOf(quanju[i].id) === -1) {
huancun.push(quanju[i].id);
huancunObj.push(quanju[i]);
}
}
}
} else {
if (obj.type === 'one') {
for (let i = 0; i < huancun.length; i++) {
if (huancun[i] === obj.data.id) {
removeByValue(huancun, huancun[i]);//调用自定义的根据值移除函数
removeByValue(huancunObj, huancunObj[i]);//调用自定义的根据值移除函数
}
}
} else {
for (let i = 0; i < quanju.length; i++) {
for (let j = 0; j < huancun.length; j++) {
if (huancun[j] === quanju[i].id) {
removeByValue(huancun, +huancun[j]);//调用自定义的根据值移除函数
removeByValue(huancunObj, +huancunObj[j]);//调用自定义的根据值移除函数
}
}
}
}
}
$('#num').html(huancun.length);
});
}
// 根据id 判断对象数组的对象是否存在 如果存在则替换,不存在则添加
function updateOrAddObject(id, newObject) {
const index = jjDetailArr.findIndex(obj => obj.id === id);
if (index !== -1) {
// 如果对象存在,则替换它
jjDetailArr[index] = newObject;
} else {
// 如果对象不存在,则添加到数组
jjDetailArr.push(newObject);
}
}
//自定义方法,根据值去移除
function removeByValue(arr, val) {
for (let i = 0; i < arr.length; i++) {
if (arr[i] == val) {
arr.splice(i, 1);
break;
}
}
for (let i = 0; i < huancunObj.length; i++) {
if (huancunObj[i].id == val) {
huancunObj.splice(i, 1);
break;
}
}
}
// 保存数据
function saveData2(params) {
let dataArr = [];
if (huancun.length === 0) {
return layer.msg('未添加数据', { icon: 7 });
} else {
$.each(huancunObj, function (index, item) {
dataArr.push(item);
})
for (let i = 0; i < huancun.length; i++) {
const id = huancun[i];
for (let j = 0; j < jjDetailArr.length; j++) {
const obj = jjDetailArr[j];
if (id === obj.id) {
updateOrAddObject2(id, obj);
}
}
}
}
let layerIndex = layer.confirm('<h5 style="color:red">数据即将被添加,请仔细检查数据是否有错误!</h5>', { title: '操作提示' }, function () {
layer.close(layerIndex);
closePage(1, JSON.stringify(dataArr));
});
// 替换对象
function updateOrAddObject2(id, newObject) {
const index = dataArr.findIndex(obj => obj.id === id);
if (index !== -1) {
// 如果对象存在,则替换它
dataArr[index] = newObject;
} else {
// 如果对象不存在,则添加到数组
dataArr.push(newObject);
}
}
}
function closePage(type, params) {
let index = parent.layer.getFrameIndex(window.name); // 先得到当前 iframe层的索引
if (type == 1) {
window.parent.addFitDatas(params);
}
parent.layer.close(index); // 再执行关闭
}

View File

@ -0,0 +1,72 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>配件申请列表</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="../../lib/layui-v2.9.18/layui/css/layui.css" media="all">
<link rel="stylesheet" href="../../css/font.css" media="all">
<link rel="stylesheet" href="../../css/public.css" media="all">
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<fieldset class="table-search-fieldset">
<legend>搜索信息</legend>
<div style="margin: 10px 10px 10px 10px">
<form class="layui-form layui-form-pane" action="#" onsubmit="return false;">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline" style="width: 320px;">
<input type="text" name="keyWord" id="keyWord" autocomplete="off"
class="layui-input" lay-affix="clear"
placeholder="请输入关键字(领料单号/领料人)" maxlength="30">
</div>
</div>
<div class="layui-inline" style="margin-bottom: 0;">
<div class="layui-inline" id="ID-laydate-rangeLinked">
<div class="layui-input-inline">
<input type="text" autocomplete="off" id="startDay" class="layui-input" readonly
placeholder="开始日期">
</div>
<div class="layui-form-mid">-</div>
<div class="layui-input-inline">
<input type="text" autocomplete="off" id="endDay" class="layui-input" readonly
placeholder="结束日期">
</div>
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-bg-blue" onclick="queryTable(1)"><i
class="layui-icon"></i> 搜 索
</button>
<button class="layui-btn layui-btn-primary" onclick="queryTable(2)"><i
class="layui-icon layui-icon-refresh"></i> 重 置
</button>
</div>
<div>
<button class="layui-btn layui-bg-blue" style="margin-top: 10px" onclick="addAccessoryApply({})"><i
class="layui-icon layui-icon-add-1"></i> 新 增
</button>
</div>
</div>
</form>
</div>
</fieldset>
<div class="table-box" table-responsive style="z-index: 1;">
<table class="layui-hide" id="currentTableId" lay-filter="currentTableId2"></table>
</div>
</div>
</div>
<script src="../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
<script src="../../js/public.js" charset="utf-8"></script>
<script src="../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script>
<script src="../../js/accessory/accessory_apply_list.js" charset="utf-8"></script>
<script src="../../js/openIframe.js" charset="utf-8"></script>
</body>
</html>

View File

@ -0,0 +1,148 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>新增配件申请</title>
<link rel="stylesheet" href="../../../lib/layui-v2.9.18/layui/css/layui.css" media="all">
<link rel="stylesheet" href="../../../css/font.css" media="all">
<link rel="stylesheet" href="../../../css/data_form.css" media="all">
<link rel="stylesheet" href="../../../css/accessory/accessory_store_form.css" media="all">
</head>
<body>
<div id="main-box">
<div id="basic-box">
<form class="layui-form layuimini-form" onclick="return false;">
<!-- <div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label required" style="width: 100px !important;">申请工程</label>
<div class="layui-input-inline">
<select name="projectId" id="projectId" lay-verify="required" lay-search
class="layui-select">
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label required" style="width: 110px !important;">需用日期</label>
<div class="layui-input-inline layui-input-wrap">
<div class="layui-input-prefix">
<i class="layui-icon layui-icon-date"></i>
</div>
<input class="layui-input" id="needTime" autocomplete="off" name="needTime"
lay-verify="required" readonly style="cursor: pointer;">
</div>
</div>
</div>-->
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label required" style="width: 100px !important;">领料人</label>
<div class="layui-input-inline">
<input class="layui-input" name="projectPart" id="projectPart" autocomplete="off"
lay-verify="required" maxlength="50" lay-affix="clear">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline" style="width: 350px;">
<label class="layui-form-label required">配件类型</label>
<div class="layui-input-block">
<input type="radio" name="partType" value="tool" title="工器具">
<input type="radio" name="partType" value="equipment" title="设备" checked>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label required" style="width: 100px !important;">内部编号</label>
<div class="layui-input-inline">
<input class="layui-input" name="internalCode" id="internalCode" autocomplete="off"
lay-verify="required" maxlength="50" lay-affix="clear" placeholder="请选择内部编号">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label required">使用单位</label>
<div class="layui-input-inline">
<input class="layui-input" name="department" id="department" autocomplete="off"
lay-verify="required" maxlength="50" lay-affix="clear" placeholder="自动带入工程名称" disabled="true">
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required" style="width: 100px !important;">备注描述</label>
<div class="layui-input-inline" style="width: 764px;">
<textarea placeholder="请输入备注描述" lay-verify="required" id="remark" name="remark"
class="layui-textarea" maxLength="250" lay-affix="clear"></textarea>
</div>
</div>
<button type="submit" id="formSubmit" class="layui-btn" lay-submit="" lay-filter="formData"
style="display: none;"></button>
</form>
<div class="title layout">
<span style="font-weight:700;text-decoration:none;color:#409EFF;"></span>
<p>配件明细</p>
</div>
<!-- 无数据时-展示 -->
<div id="no_data_title" class="layout">
<img src="../../../images/no_data_icon.png" alt="无数据">
<p style="font-size: 16px;font-weight: bold;">您还没选择申请的配件</p>
<p style="color: #999999;">请先选择需要配件后才能执行操作</p>
<button class="layui-btn layui-bg-blue" onclick="chooseFitType()">选择配件</button>
</div>
<fieldset class="table-search-fieldset" id="search-info" style="display: none;">
<legend>搜索信息</legend>
<div style="margin: 10px 10px 10px 10px">
<form class="layui-form layui-form-pane" action="#" onsubmit="return false;">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline" style="width: 200px;">
<input type="text" name="name" id="name" autocomplete="off" class="layui-input"
lay-affix="clear" placeholder="输入配件名称" maxlength="30">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-bg-blue" onclick="search()"><i class="layui-icon"></i>
</button>
<button class="layui-btn layui-btn-primary" onclick="resetSearch()"><i
class="layui-icon layui-icon-refresh"></i> 重 置</button>
<button class="layui-btn layui-bg-blue" onclick="chooseFitType()">选择配件</button>
<button class="layui-btn layui-bg-red" onclick="delFitType()">删除选中</button>
</div>
</div>
</form>
</div>
</fieldset>
<div class="table-box" table-responsive style="display: none;" id="table-box">
<table id="baseTable" class="classTable table-hover">
<thead>
<tr>
<th style="width: 5%" class="center">
<input id="allCheck" onclick="selectAll(this.checked)" type="checkbox">
</th>
<th style="width: 5%" class="center">序号</th>
<th style="width: 15%" class="center">配件名称</th>
<th style="width: 10%" class="center">规格</th>
<th style="width: 10%" class="center">库存量</th>
<th style="width: 15%" class="center"><span style="color: red;">*</span>本次申请量</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
<div class="btn-box">
<button class="layui-btn layui-bg-blue save" onclick="saveData2()">提交申请</button>
<button class="layui-btn layui-btn-primary cancel" onclick="closePage()">返回</button>
</div>
</div>
</body>
<script src="../../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
<script src="../../../js/public.js" charset="utf-8"></script>
<script src="../../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script>
<script src="../../../js/accessory/child/accessory_apply_add.js" charset="utf-8"></script>
<script src="../../../js/openIframe.js" charset="utf-8"></script>
</html>

View File

@ -0,0 +1,124 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>新增配件申请</title>
<link rel="stylesheet" href="../../../lib/layui-v2.9.18/layui/css/layui.css" media="all">
<link rel="stylesheet" href="../../../css/font.css" media="all">
<link rel="stylesheet" href="../../../css/data_form.css" media="all">
<link rel="stylesheet" href="../../../css/accessory/accessory_store_form.css" media="all">
</head>
<body>
<div id="main-box">
<div id="basic-box">
<form class="layui-form layuimini-form" onclick="return false;">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label required" style="width: 100px !important;">领料人</label>
<div class="layui-input-inline">
<input class="layui-input" name="projectPart" id="projectPart" autocomplete="off"
lay-verify="required" maxlength="50" lay-affix="clear">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline" style="width: 350px;">
<label class="layui-form-label required">配件类型</label>
<div class="layui-input-block">
<input type="radio" name="partType" value="tool" title="工器具">
<input type="radio" name="partType" value="equipment" title="设备" checked>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label required" style="width: 100px !important;">内部编号</label>
<div class="layui-input-inline">
<input class="layui-input" name="internalCode" id="internalCode" autocomplete="off"
lay-verify="required" maxlength="50" lay-affix="clear" placeholder="请选择内部编号">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label required">使用单位</label>
<div class="layui-input-inline">
<input class="layui-input" name="department" id="department" autocomplete="off"
lay-verify="required" maxlength="50" lay-affix="clear" placeholder="自动带入工程名称" disabled="true">
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required" style="width: 100px !important;">备注描述</label>
<div class="layui-input-inline" style="width: 764px;">
<textarea placeholder="请输入备注描述" lay-verify="required" id="remark" name="remark"
class="layui-textarea" maxLength="250" lay-affix="clear"></textarea>
</div>
</div>
<button type="submit" id="formSubmit" class="layui-btn" lay-submit="" lay-filter="formData"
style="display: none;"></button>
</form>
<div class="title layout">
<span style="font-weight:700;text-decoration:none;color:#409EFF;"></span>
<p>配件明细</p>
</div>
<!-- 无数据时-展示 -->
<div id="no_data_title" class="layout">
<img src="../../../images/no_data_icon.png" alt="无数据">
<p style="font-size: 16px;font-weight: bold;">您还没选择申请的配件</p>
<p style="color: #999999;">请先选择需要配件后才能执行操作</p>
<button class="layui-btn layui-bg-blue" onclick="chooseFitType()">选择配件</button>
</div>
<fieldset class="table-search-fieldset" id="search-info" style="display: none;">
<legend>搜索信息</legend>
<div style="margin: 10px 10px 10px 10px">
<form class="layui-form layui-form-pane" action="#" onsubmit="return false;">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline" style="width: 200px;">
<input type="text" name="name" id="name" autocomplete="off" class="layui-input"
lay-affix="clear" placeholder="输入配件名称" maxlength="30">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-bg-blue" onclick="search()"><i class="layui-icon"></i>
</button>
<button class="layui-btn layui-btn-primary" onclick="resetSearch()"><i
class="layui-icon layui-icon-refresh"></i> 重 置</button>
<button class="layui-btn layui-bg-blue" onclick="chooseFitType()">选择配件</button>
<button class="layui-btn layui-bg-red" onclick="delFitType()">删除选中</button>
</div>
</div>
</form>
</div>
</fieldset>
<div class="table-box" table-responsive style="display: none;" id="table-box">
<table id="baseTable" class="classTable table-hover">
<thead>
<tr>
<th style="width: 5%" class="center">
<input id="allCheck" onclick="selectAll(this.checked)" type="checkbox">
</th>
<th style="width: 5%" class="center">序号</th>
<th style="width: 15%" class="center">配件名称</th>
<th style="width: 10%" class="center">规格</th>
<th style="width: 10%" class="center">库存量</th>
<th style="width: 15%" class="center"><span style="color: red;">*</span>本次申请量</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
</div>
</body>
<script src="../../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
<script src="../../../js/public.js" charset="utf-8"></script>
<script src="../../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script>
<script src="../../../js/accessory/child/accessory_apply_detail.js" charset="utf-8"></script>
<script src="../../../js/openIframe.js" charset="utf-8"></script>
</html>

View File

@ -0,0 +1,78 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>申请配件类型</title>
<link rel="stylesheet" href="../../../lib/layui-v2.9.18/layui/css/layui.css" media="all">
<link rel="stylesheet" href="../../../css/font.css" media="all">
<link rel="stylesheet" href="../../../css/public.css" media="all">
</head>
<style>
body {
margin: 0;
padding: 0;
height: 100%;
}
.layui-table-view .layui-table th {
font-size: 18px;
color: #262626;
letter-spacing: 1px;
outline: none !important;
}
.btn-box {
width: 100%;
height: 60px;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
}
</style>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<fieldset class="table-search-fieldset">
<legend>搜索信息</legend>
<div style="margin: 10px 10px 10px 10px">
<form class="layui-form layui-form-pane" action="#" onsubmit="return false;">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-input-inline" style="width: 250px;">
<input type="text" name="name" id="name" autocomplete="off"
class="layui-input" lay-affix="clear" placeholder="输入配件名称" maxlength="30">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-bg-blue" onclick="queryTable(1)"><i
class="layui-icon"></i> 搜 索</button>
</div>
<div class="layui-inline">
<p style="color: red;font-weight: bold;">已选:<span id="num">0</span></p>
</div>
</div>
</form>
</div>
</fieldset>
<div class="table-box" table-responsive style="z-index: 1;">
<table class="layui-hide" id="currentTableId" lay-filter="currentTableId2"></table>
</div>
<div class="btn-box">
<button class="layui-btn layui-bg-blue save" onclick="saveData2()">确定</button>
<button class="layui-btn layui-btn-primary cancel" onclick="closePage()">取消</button>
</div>
</div>
</div>
</body>
<script src="../../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
<script src="../../../js/public.js" charset="utf-8"></script>
<script src="../../../js/Print.js" charset="utf-8"></script>
<script src="../../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script>
<script src="../../../js/accessory/child/choose_part_type_list.js" charset="utf-8"></script>
<script src="../../../js/openIframe.js" charset="utf-8"></script>
</html>