Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/whp/baseinfo/WhpTestItemEdit.jsp

648 lines
27 KiB
Plaintext
Raw Permalink 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;
}
/*.fixed-table-pagination div{
display: none;
}*/
</style>
<script type="text/javascript">
$(function () {
initDropDownstatus();
//initDropDownequipmentId()
initconstantTableList()
initWorkingTableList()
});
function initDropDownequipmentId() {
var select_Data = []
try {
select_Data = JSON.parse('${equipmentDropDown}');
} catch (e) {
}
var select_3 = $("#equipmentId").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
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.equipmentId}'.split(",")).trigger("change");
}
function initDropDownstatus() {
var select_Data = []
try {
select_Data = JSON.parse('${enableDropDown}');
} catch (e) {
}
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");
}
var showUnit4SelectFun = function () {
$.post(ext.contextPath + '/user/unit4SelectModalLimitedCheck.do',
{
formId: "editForm",
hiddenId: "deptIds",
textId: "deptNames",
deptIds: $('#deptIds').val()
}, function (data) {
$("#unit4SelectDiv").html(data);
openModal("unit4SelectModal_Limited_Check");
});
};
function updateFun() {
$("#editForm").data("bootstrapValidator").updateStatus("confirmUserName", "NOT_VALIDATED", null).validateField("confirmUserName");
$("#editForm").data("bootstrapValidator").updateStatus("deptNames", "NOT_VALIDATED", null).validateField("deptNames");
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/whp/baseinfo/WhpTestItem/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
console.log(data.code)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
$("#editForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
name: {
validators: {
notEmpty: {
message: '检测项目不能为空'
}
}
},
equipmentId: {
validators: {
notEmpty: {
message: '仪器设备不能为空'
}
}
},
deptNames: {
validators: {
notEmpty: {
message: '检测部门不能为空'
}
}
},
confirmUserName: {
validators: {
notEmpty: {
message: '检验复核人不能为空'
}
}
},
testAddress: {
validators: {
notEmpty: {
message: '检测项目名称不能为空'
}
}
},
status: {
validators: {
notEmpty: {
message: '状态不能为空'
}
}
}
}
});
// 检查人员
function selectdutyUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{
formId: "editForm",
hiddenId: "confirmUserId",
textId: "confirmUserName"
},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
// 选择设备
function selectEquipment() {
$.post(ext.contextPath + '/whp/baseinfo/WhpEquipment/WhpEquipmentForOneSelect.do',
{
formId: "editForm",
hiddenId: "equipmentId",
textId: "equipmentName"
},
function (data) {
$("#equ4SelectDiv").html(data);
openModal('equ4SelectModal');
});
};
function initconstantTableList() {
$("#constanttable").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/whp/baseinfo/WhpTestItemWorkingCurve/getList.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,
likeString: '',
status: '',
formulatype:'1',
test_item_id:'${bean.id}'
}
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
//detailView: true,//父子表
columns: [
{
field: 'MPoint.parmname',
title: '名称',
align: 'center',
valign: 'middle'
},
{
field: 'MPoint.disname',
title: '简称',
align: 'center',
valign: 'middle'
}, {
field: 'MPoint.unit',
title: '单位',
align: 'center',
valign: 'middle'
}, {
field: 'MPoint.numtail',
title: '小数位数',
align: 'center',
valign: 'middle'
}, {
field: 'defaultValue',
title: '默认值',
align: 'center',
valign: 'middle'
}, {
field: 'sort',
title: '顺序',
align: 'center',
valign: 'middle'
},
{
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="constanteditFun(\'' + 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="constantdeleteFun(\'' + 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;
}
}
],
onLoadSuccess: function () { //加载成功时执行
adjustBootstrapTableView("constanttable");
console.log()
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
}
function initWorkingTableList() {
$("#Workingtable").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/whp/baseinfo/WhpTestItemWorkingCurve/getList.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,
likeString: '',
status: '',
formulatype:'0'+','+'2'+','+'3',
test_item_id:'${bean.id}'
}
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
//detailView: true,//父子表
columns: [
{
field: 'MPoint.parmname',
title: '名称',
align: 'center',
valign: 'middle'
},
{
field: 'MPoint.disname',
title: '简称',
align: 'center',
valign: 'middle'
}, {
field: 'formulaName',
title: '公式类型',
align: 'center',
valign: 'middle'
}, {
field: 'MPoint.exp',
title: '公式内容',
align: 'center',
valign: 'middle'
},{
field: 'MPoint.unit',
title: '单位',
align: 'center',
valign: 'middle'
}, {
field: 'MPoint.numtail',
title: '小数位数',
align: 'center',
valign: 'middle'
}, {
field: 'sort',
title: '顺序',
align: 'center',
valign: 'middle'
},
{
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="WorkingeditFun(\'' + 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="WorkingdeleteFun(\'' + 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;
}
}
],
onLoadSuccess: function () { //加载成功时执行
adjustBootstrapTableView("Workingtable");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
}
//常量删除
var constantdeleteFun = 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/baseinfo/WhpTestItemWorkingCurve/deletes.do', {ids: id}, function (data) {
if (data.code === 1) {
$("#constanttable").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
};
//工作曲线删除
var WorkingdeleteFun = 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/baseinfo/WhpTestItemWorkingCurve/deletes.do', {ids: id}, function (data) {
if (data.code === 1) {
$("#Workingtable").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
};
//常量新增
var addconstant = function () {
$("#constantsearchForm").bootstrapValidator('validate');//提交验证
$.post(ext.contextPath + '/whp/baseinfo/WhpTestItemWorkingCurve/constantadd.do', {unitId: unitId,test_item_id:'${bean.id}'}, function (data) {
$("#constantsub").html(data);
openModal('constantsubs');
});
};
//常量编辑弹窗
var constanteditFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/whp/baseinfo/WhpTestItemWorkingCurve/constantedit.do', {id: id}, function (data) {
$("#constantsub").html(data);
openModal('constantsubs');
});
};
//工作曲线编辑弹窗
var WorkingeditFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/whp/baseinfo/WhpTestItemWorkingCurve/edit.do', {id: id}, function (data) {
$("#constantsub").html(data);
openModal('constantsubs');
});
};
//工作曲线新增
var addWorking = function () {
$("#constantsearchForm").bootstrapValidator('validate');//提交验证
$.post(ext.contextPath + '/whp/baseinfo/WhpTestItemWorkingCurve/add.do', {unitId: unitId,test_item_id:'${bean.id}'}, function (data) {
$("#constantsub").html(data);
openModal('constantsubs');
});
};
//基础描述新增
var addBasic = function () {
$("#constantsearchForm").bootstrapValidator('validate');//提交验证
$.post(ext.contextPath + '/whp/baseinfo/WhpTestItemWorkingCurve/basicadd.do', {unitId: unitId,test_item_id:'${bean.id}'}, function (data) {
$("#constantsub").html(data);
openModal('constantsubs');
});
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg">
<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-12 col-xs-13">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="editForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label">所属厂区</label>
<div class="col-sm-4">
<input name="bizId" type="hidden" value="${bean.company.id}"/>
<p class="form-control-static">${bean.company.name}</p>
</div>
<label class="col-sm-2 control-label">使用试剂:</label>
<div class="col-sm-4">
<input type="text" name="reagent" id="reagent" class="form-control"
value="${bean.reagent}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">* 检测项目名称:</label>
<div class="col-sm-4">
<input type="text" name="name" id="name" class="form-control"
value="${bean.name}">
<input type="hidden" name="id" id="id" class="form-control"
value="${bean.id}">
</div>
<label class="col-sm-2 control-label">* 仪器设备:</label>
<div class="col-sm-4">
<input id="equipmentId" name="equipmentId" type="hidden" value="${bean.equipmentId}"/>
<input class="form-control" id="equipmentName" name="equipmentNames" value="${bean.equipmentName}"
onclick="selectEquipment();"
placeholder="请先选择设备" autocomplete="off">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">* 检测部门:</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="deptNames" name="deptNames"
style="border-radius:4px;background-color: white"
onclick="showUnit4SelectFun();" value="${bean.deptNames}" readonly
placeholder="请点击选择采样车间"/>
<input id="deptIds" name="deptIds" type="hidden" value="${bean.deptIds}"/>
<%-- <input type="text" name="deptIds" id="deptIds" class="form-control"--%>
<%-- value="${bean.deptIds}">--%>
</div>
<label class="col-sm-2 control-label">* 检验复核人:</label>
<div class="col-sm-4">
<input type="text" id="confirmUserName" name="confirmUserName" class="form-control"
placeholder="请选择.." readonly onclick="selectdutyUser()"
value="${bean.confirmUserName}">
<input type="hidden" id="confirmUserId" name="confirmUserId" class="form-control"
placeholder="请选择.." value="${bean.confirmUserId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">* 测定地点:</label>
<div class="col-sm-4">
<input type="text" name="testAddress" id="testAddress" class="form-control"
value="${bean.testAddress}">
</div>
<label class="col-sm-2 control-label ">* 状态:</label>
<div class="col-sm-4 ">
<select class="form-control" name="status" id="status"
style="width: 100%">
</select>
</div>
</div>
</form>
<form id="constantsearchForm">
<div style="margin-left: 15px">
<span>常量</span>
<button type="button" class="btn btn-default btn-sm" onclick="addconstant();"
style="margin-left: 15px;margin-bottom: 5px;"><i
class="fa fa-plus"></i> 新增
</button>
</div>
</form>
<table id="constanttable"></table>
<form id="WorkingsearchForm">
<div style="margin-left: 15px">
<span>工作曲线:</span>
<button type="button" class="btn btn-default btn-sm" onclick="addWorking();"
style="margin-left: 15px;margin-bottom: 5px;margin-top: 2px"><i
class="fa fa-plus"></i> 新增
</button>
<span style="margin-left: 10px">基础描述:</span>
<button type="button" class="btn btn-default btn-sm" onclick="addBasic();"
style="margin-left: 15px;margin-bottom: 5px;margin-top: 2px"><i
class="fa fa-plus"></i> 新增
</button>
</div>
</form>
<table id="Workingtable"></table>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭
</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px"
onclick="updateFun()">保存
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>