试验管理

This commit is contained in:
lSun 2024-07-24 20:23:15 +08:00
parent 0c11f0b931
commit 6266614b48
7 changed files with 477 additions and 281 deletions

View File

@ -63,18 +63,9 @@ function setParams(params) {
}
});
if(experIdParam == null || experIdParam == "null"){
//调用试验模板数据接口
getTestById();
}else{
//调用试验详情数据接口
getTestViewById();
}
//设备类别
// getDicts("dev_code",'devTypeName',"","设备类别",30);
getDevCode()
// getDevCode()
//试验地点
getDicts("sy_local",'experLocal',"","试验地点",30);
@ -88,6 +79,16 @@ function setParams(params) {
//试验依据
getDicts("sy_basis",'basisName-1',"","试验依据",30);
if(experIdParam == null || experIdParam == "null"){
console.log("调用试验模板数据接口")
//调用试验模板数据接口
getTestById();
}else{
console.log("调用试验详情数据接口")
//调用试验详情数据接口
getTestViewById();
}
form.on('submit(formData)', function (data) {
saveData(data);
});
@ -354,12 +355,15 @@ function saveData(data) {
var items = convertToItems(data.field);
// 获取select元素
var selectElement = document.getElementById('devCode');
// 获取选中的option
var selectedOption = selectElement.options[selectElement.selectedIndex];
// 读取option的value和text
var value = selectedOption.value;
var text = selectedOption.text;
// var selectElement = document.getElementById('devCode');
// // 获取选中的option
// var selectedOption = selectElement.options[selectElement.selectedIndex];
// // 读取option的value和text
// var value = selectedOption.value;
// var text = selectedOption.text;
var value = $("#devTypeCode").val();
var text = $("#devTypeName").val();
let paramsData = {
'yjList':yjList,
@ -406,8 +410,11 @@ function saveData(data) {
}, function (result) {
layer.close(loadingMsg); // 关闭提示层
if (result.code === 200) {
closePage(1);
parent.layer.msg(result.msg, {icon: 1});
// closePage(1);
// parent.layer.msg(result.msg, {icon: 1});
parent.layer.msg(result.msg, {icon: 1},function (index){
closePage(1);
})
} else {
layer.alert(result.msg, {icon: 2})
$('.save').removeClass("layui-btn-disabled").attr("disabled", false);
@ -462,7 +469,7 @@ function convertToExperDevList(originalData){
const manufactureDateKey = `manufactureDate-${deviceId}`;
const devModuleKey = `devModule-${deviceId}`;
const devStatusKey = `devStatus-${deviceId}`;
const amountKey = `amount-${deviceId}`;
const amountKey = `amounts-${deviceId}`;
const remarksKey = `remarks-${deviceId}`;
// 构建devData数组
@ -553,7 +560,7 @@ function getTestById() {
params={
encryptedData:encryptCBC(JSON.stringify(params))
}
ajaxRequest(url, "POST", params, true, function () {
ajaxRequest(url, "POST", params, false, function () {
}, function (result) {
layer.close(loadingMsg); // 关闭提示层
if (result.code === 200) {
@ -578,7 +585,12 @@ function setFormData(data) {
$('#customId').val(data.customId);
//设备类别
// getDicts("dev_code",'devTypeName',data.devTypeName,"设备类别",30);
$('#devCode option[value=' + data.devTypeCode + ']').attr('selected', true);
//设备类别
$('#devTypeCode').val(data.devTypeCode);
//设备类别
$('#devTypeName').val(data.devTypeName);
// $('#devCode option[value=' + data.devTypeCode + ']').attr('selected', true);
//设备规格
$('#devModule').val(data.devModule);
@ -670,9 +682,9 @@ function generateHeaders(data) {
firstLevelHeader.colSpan = item.itemList.length;
firstLevelHeader.classList.add('center-aligned');
// firstLevelHeader.textContent = `${item.experTypeName} - ${item.amount}`;
firstLevelHeader.innerHTML=`<div style="display: flex;">
<input type="text" class="layui-input" id="experTypeName-${counter}" name="experTypeName-${counter}" value="${item.experTypeName}" readonly style="border: 0px !important;" />
<input type="text" class="layui-input" id="amount-${counter}" name="amount-${counter}" readonly value="${item.amount}" style="border: 0px !important;" />
firstLevelHeader.innerHTML=`<div style="display: flex;width: 100%;" >
<input type="text" class="layui-input " title="${item.experTypeName}" readonly id="experTypeName-${counter}" name="experTypeName-${counter}" value="${item.experTypeName}" readonly style="border: 0px !important;width: 80%" />
<input type="text" class="layui-input " title="${item.amount}" readonly id="amount-${counter}" name="amount-${counter}" readonly value="${item.amount}" style="border: 0px !important;width: 20%" />
</div>`;
thead.rows[0].appendChild(firstLevelHeader);
@ -681,7 +693,7 @@ function generateHeaders(data) {
const secondLevelHeader = document.createElement('th');
secondLevelHeader.classList.add('center-aligned');
secondLevelHeader.innerHTML=`<div style="display: flex;width: 100%;overflow: auto;">
<input class="layui-input" id="itemName-${counter}-${totalCols}" name="itemName-${counter}-${totalCols}" value="${subItem.itemName}" style="border: 0px !important;">
<input class="layui-input" readonly title="${subItem.itemName}" id="itemName-${counter}-${totalCols}" name="itemName-${counter}-${totalCols}" value="${subItem.itemName}" style="border: 0px !important;">
</div>
`
// secondLevelHeader.textContent = subItem.itemName;
@ -710,18 +722,19 @@ function generateRows(data,sampleDeviceVos){
const row = document.createElement('tr');
row.innerHTML = `
<input type="hidden" id="devId-${idCounter}" name="devId-${idCounter}" value="${sampleDeviceVos[i].id}">
<td>${idCounter}</td>
<td><input id="devCode-${idCounter}" readonly class="layui-input" name="devCode-${idCounter}" value="${sampleDeviceVos[i].devCode}" /></td>
<td><input id="manufacturer-${idCounter}" lay-verify="required" class="layui-input" name="manufacturer-${idCounter}" /></td>
<td><input id="manufactureDate-${idCounter}" lay-verify="required" class="layui-input" name="manufactureDate-${idCounter}" readonly /></td>
<td><input id="devModule-${idCounter}" lay-verify="required" class="layui-input" name="devModule-${idCounter}" /></td>
<td><input id="devStatus-${idCounter}" lay-verify="required" class="layui-input" name="devStatus-${idCounter}" /></td>
<td><input id="amount-${idCounter}" lay-verify="required" class="layui-input" name="amount-${idCounter}" /></td>
<td><input id="remarks-${idCounter}" lay-verify="required" class="layui-input" name="remarks-${idCounter}" /></td>
<td class="table-cell-wide">${idCounter}</td>
<td class="table-cell-wide"><input style="border: 0px !important;" id="devCode-${idCounter}" readonly class="layui-input" name="devCode-${idCounter}" value="${sampleDeviceVos[i].devCode}" /></td>
<td class="table-cell-wide"><input id="manufacturer-${idCounter}" lay-verify="required" class="layui-input" name="manufacturer-${idCounter}" /></td>
<td class="table-cell-wide"><input id="manufactureDate-${idCounter}" lay-verify="required" class="layui-input" name="manufactureDate-${idCounter}" readonly /></td>
<td class="table-cell-wide"><input id="devModule-${idCounter}" lay-verify="required" class="layui-input" name="devModule-${idCounter}" /></td>
<td class="table-cell-wide"><input id="devStatus-${idCounter}" lay-verify="required" class="layui-input" name="devStatus-${idCounter}" /></td>
<td class="table-cell-wide"><input id="amounts-${idCounter}" lay-verify="required" class="layui-input" name="amounts-${idCounter}" /></td>
<td class="table-cell-wide"><input id="remarks-${idCounter}" lay-verify="required" class="layui-input" name="remarks-${idCounter}" /></td>
`;
// 遍历itemList的长度而不是itemList本身以匹配表头的列数
for (let i = 0; i < columns; i++) {
const td = document.createElement('td');
td.style.width = '340px';
const input = document.createElement('input');
input.type = 'text';
input.id = `devData-${idCounter}-${i + 1}`;

View File

@ -72,8 +72,66 @@ function initTable(dataList, limit, page) {
},
{field: "devTypeName", title: "样品类型", unresize: true, align: "center"},
{field: "devModule", title: "规格型号", unresize: true, align: "center"},
{field: "sampleQuantity", title: "样品数量", unresize: true, align: "center"},
{field: "", title: "状态", unresize: true, align: "center"},
{field: "", title: "样品数量", unresize: true, align: "center",
templet: function (d) {
var testResult="";
var html = '';
for (let i = 0; i < d.sampleList.length; i++) {
if (d.sampleList[i].testResult == "合格") {
}else{
testResult = d.sampleList[i].testResult
}
}
if(testResult=="不合格"){
// 添加包裹元素并应用类
html += "<span class='layui-show-details' style='color: #F39268; cursor: pointer'>" +
"<i data-details='" + JSON.stringify(d) + "'></i>" + // 注意这里是字符串形式
d.sampleQuantity +
"</span>";
}else{
// 添加包裹元素并应用类
html += "<span class='layui-show-details' style='color: #2A6EDF; cursor: pointer'>" +
"<i data-details='" + JSON.stringify(d) + "'></i>" + // 注意这里是字符串形式
d.sampleQuantity +
"</span>";
}
return html;
}
},
{field: "", title: "状态", unresize: true, align: "center",
templet: function (d) {
if (d.status == "待试验") {
var html = " <span style='color: #9BB0FF'>待试验</span>";
return html;
} else if (d.status == "待提交") {
var html = " <span style='color: #9BB0FF'>待提交</span>";
return html;
} else if (d.status == "待审阅") {
var html = " <span style='color: #9BB0FF'>待审阅</span>";
return html;
}else if (d.status == "审阅不通过") {
var html = " <span style='color: #EF713A'>审阅不通过</span>";
return html;
}else if (d.status == "待审核") {
var html = " <span style='color: #9BB0FF'>待审核</span>";
return html;
}else if (d.status == "审核不通过") {
var html = " <span style='color: #EF713A'>审核不通过</span>";
return html;
}else if (d.status == "待审批") {
var html = " <span style='color: #9BB0FF'>待审批</span>";
return html;
}else if (d.status == "审批不通过") {
var html = " <span style='color: #EF713A'>审批不通过</span>";
return html;
}else if (d.status == "试验完成") {
var html = " <span style='color: #B1B1B1'>试验完成</span>";
return html;
}
}
},
{field: "causeOfRejection", title: "驳回原因", unresize: true, align: "center"},
{title: "原始记录", unresize: true, width: 300, align: "center",
templet: function (d) {

View File

@ -31,9 +31,11 @@ function setFormUpadteData(data) {
$('#id').val(data.id);
$('#sampleId').val(data.sampleId);
$('#customId').val(data.customId);
//设备类别
// getDicts("dev_code",'devTypeName',data.devTypeName,"设备类别",30);
$('#devCode option[value=' + data.devTypeCode + ']').attr('selected', true);
//设备类别
$('#devTypeCode').val(data.devTypeCode);
//设备类别
$('#devTypeName').val(data.devTypeName);
//设备规格
$('#devModule').val(data.devModule);
@ -124,7 +126,7 @@ function setTableData(data){
$(`#manufactureDate-${rowNumber}`).val(item.manufactureDate);
$(`#devModule-${rowNumber}`).val(item.devModule);
$(`#devStatus-${rowNumber}`).val(item.devStatus);
$(`#amount-${rowNumber}`).val(item.amount);
$(`#amounts-${rowNumber}`).val(item.amount);
$(`#remarks-${rowNumber}`).val(item.remarks);
// devData 是一个字符串,需要解析为数组
const devDataArray = JSON.parse(item.devData);

View File

@ -1,6 +1,8 @@
let form, layer, table, tableIns;
let pageNum = 1, limitSize = 10; // 默认第一页分页数量为10
let selectedIds = []; // 存储选中项的ID
let temp_table_list = []; // 临时保存每页的所有数据
let temp_all_list = []; // 临时保存所有选中的数据
layui.use(['form', 'layer', 'table', 'laydate'], function () {
form = layui.form;
layer = layui.layer;
@ -79,24 +81,42 @@ function initTable(dataList, limit, page) {
{field: "sampleDate", title: "收样时间", unresize: true, align: "center"},
{field: "dispatchUserName", title: "派工人", unresize: true, align: "center"},
{field: "teamName", title: "试验班组", unresize: true, align: "center"},
{field: "audtiStatus", title: "状态", unresize: true, align: "center",
// templet: function (d) {
// if (d.audtiStatus == "0") {
// return "待试验";
// } else if (d.audtiStatus == "1") {
// return "待审阅";
// } else if (d.audtiStatus == "2") {
// return "待审核";
// }else if (d.audtiStatus == "3") {
// return "待审批";
// }else if (d.audtiStatus == "4") {
// return "试验结束";
// }else if (d.audtiStatus == "5") {
// return "待重新审阅";
// }
// }
{field: "", title: "状态", unresize: true, align: "center",
templet: function (d) {
if (d.audtiStatus == "待试验") {
var html = " <span style='color: #9BB0FF'>待试验</span>";
return html;
} else if (d.audtiStatus == "待提交") {
var html = " <span style='color: #9BB0FF'>待提交</span>";
return html;
} else if (d.audtiStatus == "待审阅") {
var html = " <span style='color: #9BB0FF'>待审阅</span>";
return html;
}else if (d.audtiStatus == "审阅不通过") {
var html = " <span style='color: #EF713A'>审阅不通过</span>";
return html;
}else if (d.audtiStatus == "待审核") {
var html = " <span style='color: #9BB0FF'>待审核</span>";
return html;
}else if (d.audtiStatus == "审核不通过") {
var html = " <span style='color: #EF713A'>审核不通过</span>";
return html;
}else if (d.audtiStatus == "待审批") {
var html = " <span style='color: #9BB0FF'>待审批</span>";
return html;
}else if (d.audtiStatus == "审批不通过") {
var html = " <span style='color: #EF713A'>审批不通过</span>";
return html;
}else if (d.audtiStatus == "试验结束") {
var html = " <span style='color: #B1B1B1'>试验结束</span>";
return html;
}else if (d.audtiStatus == "试验完成") {
var html = " <span style='color: #B1B1B1'>试验完成</span>";
return html;
}
}
},
{field: "remarks", title: "备注", unresize: true, align: "center",
/*{field: "remarks", title: "", unresize: true, align: "center",
templet: function (d) {
if (d.remarks) {
return d.remarks;
@ -104,7 +124,7 @@ function initTable(dataList, limit, page) {
return "";
}
}
},
},*/
{title: "操作", unresize: true, width: 300, align: "center",
templet: function (d) {
return '<a href="#" style="color: blue;" onclick="testClick(\'' + d.id + '\',\''+d.customNum+'\')">试验</a>';
@ -114,49 +134,79 @@ function initTable(dataList, limit, page) {
],
done: function (res, curr, count) {
layer.close(loadingMsg);
table.resize("table_data");
count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block");
count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto");
// 每次分页完成后根据selectedIds选中复选框
/*$.each(res.data, function(i, item){
if($.inArray(item.id, selectedIds) !== -1){
table.checkRow(item);
temp_table_list = res.data;
temp_table_list.forEach(function (o, i) {
for (let j = 0; j < temp_all_list.length; j++) {
if (temp_all_list[j].id === o.id) {
// 这里才是真正的有效勾选
o["LAY_CHECKED"] = 'true';
// 找到对应数据改变勾选样式,呈现出选中效果
let index = o['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('table_data');
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('checkbox(table_data)', function (obj) {
if (obj.checked) {
selectedIds.push(obj.data.id);
} else {
var index = selectedIds.indexOf(obj.data.id);
if (index > -1) {
selectedIds.splice(index, 1);
if (obj.checked == true) {
if (obj.type == 'one') {
let index = checkAllList(temp_all_list, obj.data);
if (index == -1) {
temp_all_list.push(obj.data);
}
} else {
temp_table_list.forEach(function (o, i) {
let index = checkAllList(temp_all_list, o);
if (index == -1) {
temp_all_list.push(o);
}
})
}
}
});
// 获取头部复选框元素
var headerCheckbox = $('input[name="layTableCheckbox"]');
// 监听头部复选框的change事件
headerCheckbox.on('change', function() {
if ($(this).is(':checked')) {
// 全选操作
table.checkAll('table_data');
selectedIds = table.cache.table_data.map(function(item) {
return item.id;
});
} else {
// 全不选操作
table.uncheckAll('table_data');
selectedIds = [];
let all_list = []; // 使用临时数组,防止删除临时选中所有的数组错乱
if (obj.type == 'one') {
temp_all_list.forEach(function (o, i) {
if (o.id != obj.data.id) {
all_list.push(o);
}
})
} else {
temp_all_list.forEach(function (o, i) {
let index = checkAllList(temp_table_list, o);
if (index == -1) {
all_list.push(o);
}
})
}
temp_all_list = all_list;
}
});
}
/**
* 判断数组重复
*/
function checkAllList(list, obj) {
for (let j = 0; j < list.length; j++) {
if (list[j].id == obj.id) {
return j;
}
}
return -1;
}
// 获取参数
function getReqParams(page, limit, type) {
let obj = {};
@ -172,7 +222,7 @@ function getReqParams(page, limit, type) {
} else {
obj = {
page: '1',
limit: '10',
limit: '2',
devTypeCode: '',
keyWord: '',
sampleUserName: '',
@ -238,24 +288,35 @@ function setSelectValue(list, selectName) {
}
function commitCheckTestData(){
console.log(selectedIds);
let url = dataUrl + '/experimental/commitCheckTestData';
let obj = {
'ids':selectedIds
}
let params = {
encryptedData: encryptCBC(JSON.stringify(obj))
}
var selectedIds = [];
$.each(temp_all_list, function (index, item) {
selectedIds.push(item.id)
})
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
if (result.code === 200) {
console.log("数据",result.data)
// return result.data
} else {
layer.alert(result.msg, {icon: 2})
let index = layer.confirm('批量审查确认前,请仔细检查数据?', {
title: '操作提示',
icon: 7,
move: false
}, function () {
layer.close(index);
let url = dataUrl + '/experimental/commitCheckTestData';
let obj = {
'ids':selectedIds
}
}, function (xhr) {
error(xhr)
});
let params = {
encryptedData: encryptCBC(JSON.stringify(obj))
}
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
if (result.code === 200) {
console.log("数据",result.data)
// return result.data
} else {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
error(xhr)
});
})
}

View File

@ -32,10 +32,17 @@
letter-spacing: 1px;
}
.layui-form-item .layui-input-inline{
width: 340px;
}
.center-aligned {
text-align: center !important;
}
.table-cell-wide {
width: 340px !important;
}
</style>
</head>
<body>
@ -44,52 +51,78 @@
<input hidden id="id" name="id">
<input hidden id="sampleId" name="sampleId">
<input hidden id="customId" name="customId">
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备类别</label>
<div class="layui-input-inline" >
<select id="devCode" disabled lay-verify="required" name="devCode" style="background-color: #f0f0f0 !important;" class="form-control input-sm">
</select>
<div style="width: 98%;margin-top: 2%;margin-left: 1%" >
<h2>基础数据</h2>
</div>
<div class="layui-form-item" >
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备类别</label>
<div class="layui-input-inline" >
<!--<select id="devCode" disabled lay-verify="required" name="devCode" style="background-color: #f0f0f0 !important;" class="form-control input-sm">
</select>-->
<input type="hidden" id="devTypeCode" name="devTypeCode">
<input type="text" id="devTypeName" name="devTypeName" lay-verify="required" style="background-color: #f0f0f0;" class="layui-input" placeholder="请输入设备规格" readonly />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备规格</label>
<div class="layui-input-inline" >
<input type="text" id="devModule" name="devModule" lay-verify="required" style="background-color: #f0f0f0;" class="layui-input" placeholder="请输入设备规格" readonly />
</div>
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备规格</label>
<div class="layui-input-inline" >
<input type="text" id="devModule" name="devModule" lay-verify="required" style="background-color: #f0f0f0;" class="layui-input" placeholder="请输入设备规格"readonly />
<div style="width: 98%;margin-top: 2%;margin-left: 1%" >
<h2>试验数据</h2>
</div>
<div class="layui-form-item" >
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>样品数量</label>
<div class="layui-input-inline" >
<input type="text" id="sampleQuantity" lay-affix="number" readonly min="0" style="background-color: #f0f0f0;" oninput="this.value=this.value.replace(/[^0-9]\d*/g,'')" name="sampleQuantity" lay-verify="required" class="layui-input" placeholder="请输入样品数量" />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>收样日期</label>
<div class="layui-input-inline" >
<input type="text" id="sampleDate" name="sampleDate" lay-verify="required" style="background-color: #f0f0f0;" class="layui-input" placeholder="请选择收样日期" readonly />
</div>
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>样品数量</label>
<div class="layui-input-inline" >
<input type="text" id="sampleQuantity" lay-affix="number" readonly min="0" style="background-color: #f0f0f0;" oninput="this.value=this.value.replace(/[^0-9]\d*/g,'')" name="sampleQuantity" lay-verify="required" class="layui-input" placeholder="请输入样品数量" />
<div class="layui-form-item" >
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验日期</label>
<div class="layui-input-inline" >
<input type="text" id="experTime" name="experTime" lay-verify="required" class="layui-input" placeholder="请选择试验日期" readonly />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>下次试验日期</label>
<div class="layui-input-inline" >
<input type="text" id="nextExperTime" name="nextExperTime" lay-verify="required" class="layui-input" placeholder="请选择下次试验日期" readonly />
</div>
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>收样日期</label>
<div class="layui-input-inline" >
<input type="text" id="sampleDate" name="sampleDate" lay-verify="required" style="background-color: #f0f0f0;" class="layui-input" placeholder="请选择收样日期" readonly />
<div class="layui-form-item" >
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验地点</label>
<div class="layui-input-inline" id="experLocal">
</div>
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验日期</label>
<div class="layui-input-inline" >
<input type="text" id="experTime" name="experTime" lay-verify="required" class="layui-input" placeholder="请选择试验日期" readonly />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备名称</label>
<div class="layui-input-inline" id="experDevName">
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>下次试验日期</label>
<div class="layui-input-inline" >
<input type="text" id="nextExperTime" name="nextExperTime" lay-verify="required" class="layui-input" placeholder="请选择下次试验日期" readonly />
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验地点</label>
<div class="layui-input-inline" id="experLocal">
</div>
</div>
</div>
@ -105,63 +138,81 @@
</div>
</div>-->
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备名称</label>
<div class="layui-input-inline" id="experDevName">
<div class="layui-form-item" >
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备型号</label>
<div class="layui-input-inline" >
<input type="text" id="experDevModule" name="experDevModule" lay-verify="required" class="layui-input" placeholder="请输入设备型号" />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备编号</label>
<div class="layui-input-inline" >
<input type="text" id="experDevCode" name="experDevCode" lay-verify="required" class="layui-input" placeholder="请输入设备编号" />
</div>
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备型号</label>
<div class="layui-input-inline" >
<input type="text" id="experDevModule" name="experDevModule" lay-verify="required" class="layui-input" placeholder="请输入设备型号" />
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>合同生效日期</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" lay-verify="required" id="devContractDate" name="devContractDate" placeholder="请选择日期">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验标准</label>
<div class="layui-input-inline" >
<input type="text" id="experStand" name="experStand" lay-verify="required" class="layui-input" placeholder="请输入试验标准" />
</div>
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备编号</label>
<div class="layui-input-inline" >
<input type="text" id="experDevCode" name="experDevCode" lay-verify="required" class="layui-input" placeholder="请输入设备编号" />
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验结论</label>
<div class="layui-input-inline" >
<input type="text" id="experConclu" name="experConclu" lay-verify="required" class="layui-input" placeholder="请输入试验结论" />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>备注</label>
<div class="layui-input-inline" >
<input type="text" id="remarsk" name="remarsk" lay-verify="required" class="layui-input" placeholder="请输入备注" />
</div>
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>合同生效日期</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" lay-verify="required" id="devContractDate" name="devContractDate" placeholder="请选择日期">
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;" >
<div class="layui-inline basis">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验依据</label>
<div class="layui-input-inline" id="basisName-1">
</div>
</div>
<!-- <div class="btn-box">-->
<!-- <button class="layui-btn layui-btn-norma save" onclick="basisAdd()">新增试验依据</button>-->
<!-- <button class="layui-btn layui-btn-primary cancel" onclick="basisDel()">删除试验依据</button>-->
<!-- </div>-->
<div class="btn-box">
<button class="layui-btn layui-btn-norma save" onclick="basisAdd()">新增试验依据</button>
<button class="layui-btn layui-btn-primary cancel" onclick="basisDel()">删除试验依据</button>
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;overflow: auto;">
<table class="layui-table" id="dynamicTable" style="overflow: auto;">
<div class="layui-form-item" style="margin-top: 2%;overflow: auto;width: 100%;">
<table class="layui-table" id="dynamicTable">
<thead >
<tr>
<th rowspan="2" class="center-aligned">编号</th>
<th rowspan="2" class="center-aligned">客户自编号</th>
<th colspan="3" class="center-aligned">样品信息</th>
<th rowspan="2" class="center-aligned">外观状态</th>
<th rowspan="2" class="center-aligned">金额</th>
<th rowspan="2" class="center-aligned">备注</th>
<th style="width: 240px !important;" rowspan="2" class="center-aligned ">编号</th>
<th style="width: 240px !important;" rowspan="2" class="center-aligned ">客户自编号</th>
<th style="width: 240px !important;" colspan="3" class="center-aligned ">样品信息</th>
<th style="width: 240px !important;" rowspan="2" class="center-aligned ">外观状态</th>
<th style="width: 240px !important;" rowspan="2" class="center-aligned ">金额</th>
<th style="width: 240px !important;" rowspan="2" class="center-aligned ">备注</th>
</tr>
<tr>
<th class="center-aligned">生产厂家</th>
<th class="center-aligned">生产日期</th>
<th class="center-aligned">规格型号</th>
<th style="width: 240px !important;" class="center-aligned ">生产厂家</th>
<th style="width: 240px !important;" class="center-aligned ">生产日期</th>
<th style="width: 240px !important;" class="center-aligned ">规格型号</th>
</tr>
</thead>
@ -171,27 +222,6 @@
</table>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验标准</label>
<div class="layui-input-inline" >
<input type="text" id="experStand" name="experStand" lay-verify="required" class="layui-input" placeholder="请输入试验标准" />
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验结论</label>
<div class="layui-input-inline" >
<input type="text" id="experConclu" name="experConclu" lay-verify="required" class="layui-input" placeholder="请输入试验结论" />
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>备注</label>
<div class="layui-input-inline" >
<input type="text" id="remarsk" name="remarsk" lay-verify="required" class="layui-input" placeholder="请输入备注" />
</div>
</div>
<button type="submit" id="formSubmit" class="layui-btn" lay-submit="" lay-filter="formData"
style="display: none;"></button>
</form>

View File

@ -32,10 +32,17 @@
letter-spacing: 1px;
}
.layui-form-item .layui-input-inline{
width: 340px;
}
.center-aligned {
text-align: center !important;
}
.table-cell-wide {
width: 340px !important;
}
</style>
</head>
<body>
@ -44,52 +51,78 @@
<input hidden id="id" name="id">
<input hidden id="sampleId" name="sampleId">
<input hidden id="customId" name="customId">
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备类别</label>
<div class="layui-input-inline" >
<select id="devCode" disabled lay-verify="required" name="devCode" style="background-color: #f0f0f0 !important;" class="form-control input-sm">
</select>
<div style="width: 98%;margin-top: 2%;margin-left: 1%" >
<h2>基础数据</h2>
</div>
<div class="layui-form-item" >
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备类别</label>
<div class="layui-input-inline" >
<!--<select id="devCode" disabled lay-verify="required" name="devCode" style="background-color: #f0f0f0 !important;" class="form-control input-sm">
</select>-->
<input type="hidden" id="devTypeCode" name="devTypeCode">
<input type="text" id="devTypeName" name="devTypeName" lay-verify="required" style="background-color: #f0f0f0;" class="layui-input" placeholder="请输入设备规格" readonly />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备规格</label>
<div class="layui-input-inline" >
<input type="text" id="devModule" name="devModule" lay-verify="required" style="background-color: #f0f0f0;" class="layui-input" placeholder="请输入设备规格" readonly />
</div>
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备规格</label>
<div class="layui-input-inline" >
<input type="text" id="devModule" name="devModule" lay-verify="required" style="background-color: #f0f0f0;" class="layui-input" placeholder="请输入设备规格"readonly />
<div style="width: 98%;margin-top: 2%;margin-left: 1%" >
<h2>试验数据</h2>
</div>
<div class="layui-form-item" >
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>样品数量</label>
<div class="layui-input-inline" >
<input type="text" id="sampleQuantity" lay-affix="number" readonly min="0" style="background-color: #f0f0f0;" oninput="this.value=this.value.replace(/[^0-9]\d*/g,'')" name="sampleQuantity" lay-verify="required" class="layui-input" placeholder="请输入样品数量" />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>收样日期</label>
<div class="layui-input-inline" >
<input type="text" id="sampleDate" name="sampleDate" lay-verify="required" style="background-color: #f0f0f0;" class="layui-input" placeholder="请选择收样日期" readonly />
</div>
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>样品数量</label>
<div class="layui-input-inline" >
<input type="text" id="sampleQuantity" lay-affix="number" readonly min="0" style="background-color: #f0f0f0;" oninput="this.value=this.value.replace(/[^0-9]\d*/g,'')" name="sampleQuantity" lay-verify="required" class="layui-input" placeholder="请输入样品数量" />
<div class="layui-form-item" >
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验日期</label>
<div class="layui-input-inline" >
<input type="text" id="experTime" name="experTime" lay-verify="required" class="layui-input" placeholder="请选择试验日期" readonly />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>下次试验日期</label>
<div class="layui-input-inline" >
<input type="text" id="nextExperTime" name="nextExperTime" lay-verify="required" class="layui-input" placeholder="请选择下次试验日期" readonly />
</div>
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>收样日期</label>
<div class="layui-input-inline" >
<input type="text" id="sampleDate" name="sampleDate" lay-verify="required" style="background-color: #f0f0f0;" class="layui-input" placeholder="请选择收样日期" readonly />
<div class="layui-form-item" >
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验地点</label>
<div class="layui-input-inline" id="experLocal">
</div>
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验日期</label>
<div class="layui-input-inline" >
<input type="text" id="experTime" name="experTime" lay-verify="required" class="layui-input" placeholder="请选择试验日期" readonly />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备名称</label>
<div class="layui-input-inline" id="experDevName">
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>下次试验日期</label>
<div class="layui-input-inline" >
<input type="text" id="nextExperTime" name="nextExperTime" lay-verify="required" class="layui-input" placeholder="请选择下次试验日期" readonly />
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验地点</label>
<div class="layui-input-inline" id="experLocal">
</div>
</div>
</div>
@ -105,35 +138,53 @@
</div>
</div>-->
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备名称</label>
<div class="layui-input-inline" id="experDevName">
<div class="layui-form-item" >
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备型号</label>
<div class="layui-input-inline" >
<input type="text" id="experDevModule" name="experDevModule" lay-verify="required" class="layui-input" placeholder="请输入设备型号" />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备编号</label>
<div class="layui-input-inline" >
<input type="text" id="experDevCode" name="experDevCode" lay-verify="required" class="layui-input" placeholder="请输入设备编号" />
</div>
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备型号</label>
<div class="layui-input-inline" >
<input type="text" id="experDevModule" name="experDevModule" lay-verify="required" class="layui-input" placeholder="请输入设备型号" />
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>合同生效日期</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" lay-verify="required" id="devContractDate" name="devContractDate" placeholder="请选择日期">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验标准</label>
<div class="layui-input-inline" >
<input type="text" id="experStand" name="experStand" lay-verify="required" class="layui-input" placeholder="请输入试验标准" />
</div>
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>设备编号</label>
<div class="layui-input-inline" >
<input type="text" id="experDevCode" name="experDevCode" lay-verify="required" class="layui-input" placeholder="请输入设备编号" />
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验结论</label>
<div class="layui-input-inline" >
<input type="text" id="experConclu" name="experConclu" lay-verify="required" class="layui-input" placeholder="请输入试验结论" />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>备注</label>
<div class="layui-input-inline" >
<input type="text" id="remarsk" name="remarsk" lay-verify="required" class="layui-input" placeholder="请输入备注" />
</div>
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>合同生效日期</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" lay-verify="required" id="devContractDate" name="devContractDate" placeholder="请选择日期">
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;" >
<div class="layui-inline basis">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验依据</label>
@ -146,22 +197,22 @@
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;overflow: auto;">
<table class="layui-table" id="dynamicTable" style="overflow: auto;">
<div class="layui-form-item" style="margin-top: 2%;overflow: auto;width: 100%;">
<table class="layui-table" id="dynamicTable">
<thead >
<tr>
<th rowspan="2" class="center-aligned">编号</th>
<th rowspan="2" class="center-aligned">客户自编号</th>
<th colspan="3" class="center-aligned">样品信息</th>
<th rowspan="2" class="center-aligned">外观状态</th>
<th rowspan="2" class="center-aligned">金额</th>
<th rowspan="2" class="center-aligned">备注</th>
<th style="width: 240px !important;" rowspan="2" class="center-aligned ">编号</th>
<th style="width: 240px !important;" rowspan="2" class="center-aligned ">客户自编号</th>
<th style="width: 240px !important;" colspan="3" class="center-aligned ">样品信息</th>
<th style="width: 240px !important;" rowspan="2" class="center-aligned ">外观状态</th>
<th style="width: 240px !important;" rowspan="2" class="center-aligned ">金额</th>
<th style="width: 240px !important;" rowspan="2" class="center-aligned ">备注</th>
</tr>
<tr>
<th class="center-aligned">生产厂家</th>
<th class="center-aligned">生产日期</th>
<th class="center-aligned">规格型号</th>
<th style="width: 240px !important;" class="center-aligned ">生产厂家</th>
<th style="width: 240px !important;" class="center-aligned ">生产日期</th>
<th style="width: 240px !important;" class="center-aligned ">规格型号</th>
</tr>
</thead>
@ -171,27 +222,6 @@
</table>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验标准</label>
<div class="layui-input-inline" >
<input type="text" id="experStand" name="experStand" lay-verify="required" class="layui-input" placeholder="请输入试验标准" />
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>试验结论</label>
<div class="layui-input-inline" >
<input type="text" id="experConclu" name="experConclu" lay-verify="required" class="layui-input" placeholder="请输入试验结论" />
</div>
</div>
<div class="layui-form-item" style="margin-top: 2%;">
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>备注</label>
<div class="layui-input-inline" >
<input type="text" id="remarsk" name="remarsk" lay-verify="required" class="layui-input" placeholder="请输入备注" />
</div>
</div>
<button type="submit" id="formSubmit" class="layui-btn" lay-submit="" lay-filter="formData"
style="display: none;"></button>
</form>

View File

@ -2,10 +2,12 @@
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="../../../js/layui-v2.6.8/css/layui.css">
<!-- <link rel="stylesheet" href="../../../js/layui-v2.6.8/css/layui.css">-->
<link rel="stylesheet" href="../../../js/layui-v2.9.14/layui/css/layui.css">
<link rel="stylesheet" href="../../../css/table-common2.css">
<script src="../../../js/libs/jquery-2.1.1.min.js" charset="UTF-8" type="text/javascript"></script>
<script src="../../../js/layui-v2.6.8/layui.js" charset="UTF-8" type="text/javascript"></script>
<!-- <script src="../../../js/layui-v2.6.8/layui.js" charset="UTF-8" type="text/javascript"></script>-->
<script src="../../../js/layui-v2.9.14/layui/layui.js" charset="UTF-8" type="text/javascript"></script>
<script src="../../../js/publicJs.js"></script>
<script src="../../../js/commonUtils.js"></script>
<script src="../../../js/openIframe.js"></script>