Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/whp/test/WhpSamplingPlanTaskTestConfirmEditTest.jsp

735 lines
32 KiB
Plaintext
Raw Normal View History

2026-01-16 14:13:44 +08:00
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page language="java" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.foot {
display: flex;
padding-left: 50px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
</style>
<script type="text/javascript">
// {
// field: 'containerCode', // 返回json数据中的name
// title: '容器编号', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle',
// colspan: 1,
// rowspan: 2
// }, {
// title: '容器重', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle',
// colspan: 3,
// rowspan: 1
// }, {
// title: '容器重+被测物重M2(g)', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle',
// colspan: 3,
// rowspan: 1
// }, {
// field: 'diffValue', // 返回json数据中的name
// title: '差值(g)M2-M1', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle',
// colspan: 1,
// rowspan: 2
// }, {
// field: 'resultValue', // 返回json数据中的name
// title: '结果(mg/L)', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle',
// colspan: 1,
// rowspan: 2
// },
function initTableData1() {
var tablehead = ${tableheaders}
$("#tableFunList1").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/whp/test/WhpSamplingPlanTaskTestItem/getListyp.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
pageSize: 10, // 页面数据条数
pageNumber: 1, // 首页页码
sidePagination: 'server', // 设置为服务器端分页
queryParams: function (params) { // 请求服务器数据时发送的参数可以在这里添加额外的查询参数返回false则终止请求
return {
rows: params.limit, // 每页要显示的数据条数
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
sort: params.sort, // 要排序的字段
order: params.order, // 排序规则
testConfirmId: '${bean.id}',
unitId: unitId
}
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
//detailView: true,//父子表
columns: [
{
field: 'sampleCode', // 返回json数据中的name
title: '样品编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
},
...tablehead,
{
title: "操作",
align: 'center',
valign: 'middle',
width: 160, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
buts += '<button class="btn btn-default btn-sm" title="平行飞样" onclick="addPXFY(\'' + row.id + '\')"><i class="fa fa-plus"></i><span class="hidden-md hidden-lg"> 平行飞样</span></button>';
buts += '<button class="btn btn-default btn-sm" title="编辑" onclick="editFun(\'' + row.id + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
buts += '<button class="btn btn-default btn-sm" title="删除" onclick="deleteFun(\'' + row.id + '\')"><i class="fa fa fa-trash-o"></i><span class="hidden-md hidden-lg">删除</span></button>';
buts = '<div class="btn-group" >' + buts + '</div>';
return buts;
}
}
],
// [{
// field: 'containerWeightFirst', // 返回json数据中的name
// title: '第一次', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle'
// }, {
// field: 'containerWeightSecond', // 返回json数据中的name
// title: '第二次', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle'
// }, {
// field: 'containerWeightFinal', // 返回json数据中的name
// title: '最终值', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle'
// }, {
// field: 'allWeightFirst', // 返回json数据中的name
// title: '第一次', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle'
// }, {
// field: 'allWeightSecond', // 返回json数据中的name
// title: '第二次', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle'
// }, {
// field: 'allWeightFinal', // 返回json数据中的name
// title: '最终值', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle'
// }]
onLoadSuccess: function () { //加载成功时执行
adjustBootstrapTableView("tableFunList1");
<%--console.log('${bean}')--%>
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
}
function addPXFY(id) {
$.ajax({
type: 'GET',
url: ext.contextPath + "/whp/test/WhpSamplingPlanTaskTestItem/addPXFY.do",
async: false,
globle: false,
data: {
id: id,
testConfirmId: '${bean.id}'
},
dataType: 'json',
error: function () {
return false;
},
success: function (data) {
if (data.code == 1) {
$("#tableFunList1").bootstrapTable('refresh');
} else if (data.code == 0) {
showAlert('d', data.msg);
}
}
});
}
$(function () {
<%--console.log(${tableheaders});--%>
initTableData1()
// var name = $("#status").val();
// if (name===2){
// $("#confirm").show();
// }else {
// $("#confirm").hide();
// }
conditionDropDownmethod()
conditionDropDownequipmentName()
var nowDate = new Date()
var year = nowDate.getFullYear()
var month = nowDate.getMonth() + 1
var day = nowDate.getDate()
var fullYear = year + '-' + month + '-' + day
$("#testDate").val(fullYear)
//计划采样日期
$("#testDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
//列表编辑弹窗
var editFun = function (id) {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/whp/test/WhpSamplingPlanTaskTestItem/edit.do', {
itemid: id,
unitId: unitId,
testDate: $("#testDate").val(),
temperature: $("#temperature").val(),
reagent: $("#reagent").val(),
equipmentId: $("#equipmentId").val(),
equipmentCode: $("#equipmentCode").val(),
testAddress: $("#testAddress").val(),
id: '${bean.id}',
edittype: 0
}, function (data) {
$("#subEditDiv").html(data);
openModal('subEdit');
});
}
};
//删除
var deleteFun = function (id) {
stopBubbleDefaultEvent();
swal({
text: "您确定要删除此记录?",
dangerMode: true,
buttons: {
cancel: {
text: "取消",
value: null,
visible: true,
className: "btn btn-default btn-sm",
closeModal: true,
},
confirm: {
text: "确定",
value: true,
visible: true,
className: "btn btn-danger btn-sm",
closeModal: true
}
}
})
.then(function (willDelete) {
if (willDelete) {
$.post(ext.contextPath + '/whp/test/WhpSamplingPlanTaskTestItem/deletes.do', {ids: id}, function (data) {
if (data.code === 1) {
$("#tableFunList1").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
};
function updataList() {
// console.log($("#addForm").serialize());
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/whp/test/WhpSamplingPlanTaskTestConfirm/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
if (data.code == 1) {
$("#tableTask").bootstrapTable('refresh');
// closeModal('subModal');
closeModal('subModal1');
//ininnext();
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
function updataFunList() {
// console.log($("#addForm").serialize());
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/whp/test/WhpSamplingPlanTaskTestConfirm/submit.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
if (data.code == 1) {
$("#tableTask").bootstrapTable('refresh');
closeModal('subModal1');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
//方法依据下拉
function conditionDropDownmethod() {
var select_Data = jQuery.parseJSON('${itemMethodDropDown}');
var select_3 = $("#method").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示educationTypeCondition
allowClear: false,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.method}').trigger("change");
}
//仪器名称下拉
function conditionDropDownequipmentName() {
var selelct_1Data = jQuery.parseJSON('${equipmentDropDown}');
console.log('${equipmentDropDown}')
<%--console.log('${bean}')--%>
var selelct_1 = $("#equipmentId").select2({
data: selelct_1Data,
cache: false,
placeholder: '全部',//默认文字提示
allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
// selelct_1.val('').trigger("change");
selelct_1.on("change", function (e) {
deptChange();
});
selelct_1.val(selelct_1Data[0].id).trigger("change")
}
//仪器编号刷新
function deptChange() {
var type = $("#equipmentId").val();
$.get(ext.contextPath + "/whp/baseinfo/WhpEquipment/getOne?id=" + type, function (data) {
$("#equipmentCode").val(data.result.code);
$("#equipmentName").val(data.result.name);
}, 'json');
}
//审核结果
function typeConditionDropDownList() {
var select_Data = jQuery.parseJSON('${workCurveDropDown}');
console.log(select_Data);
var select_3 = $("#status").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
//单选赋值
select_3.val('${bean.status}').trigger("change");
}
//保存常量值
function saveContantVal(id, itemid) {
var contval = $("#contantid_" + itemid).val();
$.ajax({
url: ext.contextPath + "/whp/test/WhpTaskItemCurve/update.do?id=" + id + "&calculated_value=" + contval + '&plan_code=${bean.planCode}&working_curve_id=' + itemid,
type: 'POST',
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
},
error: function (data) {
}
});
}
$("#addForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
samplingDate: {
trigger: "change",
validators: {
notEmpty: {
message: '检测日期不能为空'
}
}
},
temperature: {
validators: {
notEmpty: {
message: '室温不能为空'
}
}
},
reagent: {
validators: {
notEmpty: {
message: '使用试剂不能为空'
}
}
},
// method: {
// validators: {
// notEmpty: {
// message: '方法依据不能为空'
// }
// }
// },
/* workCurveName: {
validators: {
notEmpty: {
message: '工作曲线不能为空'
}
}
},*/
equipmentId: {
validators: {
notEmpty: {
message: '仪器名称不能为空'
}
}
},
equipmentCode: {
validators: {
notEmpty: {
message: '仪器编号不能为空'
}
}
},
testAddress: {
validators: {
notEmpty: {
message: '测定地点不能为空'
}
}
}
}
});
</script>
<div class="modal fade" id="subModal1">
<div class="modal-dialog " style="width: 80%">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">开始检测</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-11 col-xs-13">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<input type="hidden" name="id" id="id" class="form-control" value="${bean.id}">
<div class="form-group">
<label class="col-sm-2 control-label">* 采样单编号:</label>
<div class="col-sm-2">
<p class="form-control-static">${bean.planCode}</p>
<input name="planCode" type="hidden"
style="margin-top: 15px" value="${bean.planCode}" class="form-control"/>
</div>
<label class="col-sm-2 control-label">* 采样单类型:</label>
<div class="col-sm-2">
<p class="form-control-static">${bean.sampleTypeName}</p>
</div>
<label class="col-sm-2 control-label">* 检测项目:</label>
<div class="col-sm-2">
<p class="form-control-static">${bean.testItemName}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">* 检测人员:</label>
<div class="col-sm-2">
<p class="form-control-static">${bean.testUserName}</p>
</div>
<label class="col-sm-2 control-label">* 检测日期:</label>
<div class="col-sm-2 ">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="testDate" name="testDate"
value="${bean.samplingDate.substring(0,10)} "/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">* 室温(℃)</label>
<div class="col-sm-2">
<input type="text" class="form-control" id="temperature" name="temperature"
value="${bean.temperature} "/>
</div>
<label class="col-sm-2 control-label">* 使用试剂:</label>
<div class="col-sm-2">
<input type="text" class="form-control" id="reagent" name="reagent"
value="${bean.reagent} "/>
</div>
<label class="col-sm-2 control-label">* 方法依据:</label>
<div class="col-sm-2">
<input type="text" style="width: 100%;" name="method" id="method"
class="form-control">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*工作曲线:</label>
<div class="col-sm-10">
<input id="workCurveName" name="workCurveName" type="text" readonly
value="${bean.workCurveName}" class="form-control"/>
</div>
</div>
<div class="form-group" id="cont">
<c:forEach items="${bean.contantworkingCurveVoslist}" var="item" varStatus="status">
<label style="margin-top: 13px;"
class="col-sm-2 control-label">${item.MPoint.parmname}</label>
<div class="col-sm-2">
<input id="contantid_${item.id}"
name="contantCurvelist[${status.index}].calculated_value" type="text"
value="${item.default_value}"
style="margin-top: 15px" class="form-control"
onblur="saveContantVal('${item.taskitemCureid}','${item.id}')"/>
<input id="contantvalue_${item.id}"
name="contantCurvelist[${status.index}].working_curve_id" type="hidden"
style="margin-top: 1px" value="${item.id}" class="form-control"/>
<input id="contantvalue_${item.id}" name="contantCurvelist[${status.index}].id"
type="hidden"
style="margin-top: 15px" value="${item.taskitemCureid}"
class="form-control"/>
${item.MPoint.unit}
</div>
</c:forEach>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">* 仪器名称:</label>
<div class="col-sm-2">
<select class="form-control select2" name="equipmentId"
id="equipmentId"
style="width:176px;height: 30px">
</select>
<input id="equipmentName" name="equipmentName" type="hidden" class="form-control"/>
</div>
<label class="col-sm-2 control-label">* 仪器编号:</label>
<div class="col-sm-2">
<input type="text" class="form-control" id="equipmentCode" name="equipmentCode"
value="${bean.equipmentCode} "/>
</div>
<label class="col-sm-2 control-label">* 测定地点:</label>
<div class="col-sm-2">
<input type="text" class="form-control" id="testAddress" name="testAddress"
value="${bean.testAddress} "/>
</div>
</div>
<c:if test="${bean.confirmDate!=''}">
<div class="form-group" id="confirm">
<label class="col-sm-2 control-label">* 复核人:</label>
<div class="col-sm-2">
<p class="form-control-static"> ${bean.confirmUserName}</p>
<input type="hidden" class="form-control" id="confirmUserId"
name="confirmUserId"
value="${bean.confirmUserId} "/>
</div>
<label class="col-sm-2 control-label">* 复核日期:</label>
<div class="col-sm-2 ">
<p class="form-control-static">${bean.confirmDate.substring(0,10)}</p>
</div>
<label class="col-sm-2 control-label">* 复核结果:</label>
<div class="col-sm-2">
<input type="text" class="form-control" id="status" name="status"
value="${bean.status}" readonly style="border: none"/>
</div>
<label class="col-sm-2 control-label">* 复核意见:</label>
<div class="col-sm-2">
<input type="text" class="form-control" id="confirmAdvice" name="confirmAdvice"
value="${bean.confirmAdvice} " style="border: none"/>
<%-- <p class="form-control-static">${bean.status}</p>--%>
</div>
</div>
</c:if>
<c:if test="${bean.confirmDate==''}">
<div class="form-group" id="confirm">
<label class="col-sm-2 control-label">* 复核人:</label>
<div class="col-sm-2">
<p class="form-control-static"></p>
<input type="hidden" class="form-control" id="" name="confirmUserId"
value="${bean.confirmUserId} "/>
</div>
<label class="col-sm-2 control-label">* 复核日期:</label>
<div class="col-sm-2 ">
<p class="form-control-static"></p>
</div>
<label class="col-sm-2 control-label">* 复核结果:</label>
<div class="col-sm-2">
<p class="form-control-static"></p>
<input type="hidden" class="form-control" name="status"
value="${bean.status}" readonly style="border: none"/>
</div>
<label class="col-sm-2 control-label">* 复核意见:</label>
<div class="col-sm-2">
<p class="form-control-static"></p>
<%-- <p class="form-control-static">${bean.status}</p>--%>
</div>
</div>
</c:if>
</form>
<table id="tableFunList1"></table>
</div>
</div>
</div>
<div class="modal-footer" style="padding: 15px">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭
</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px"
onclick="updataList()">保存
</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px"
onclick="updataFunList()">保存并提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>