<%@page import="com.sjsemi.lsmm.domain.MaterialMaintain" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page import="java.util.*" %>
<%@ page import="com.sjsemi.lsmm.service.*" %>
<%@ page import="com.sjsemi.prms.constants.*" %>
<%@ page import="org.springframework.web.context.support.WebApplicationContextUtils" %>
<%@ page import="org.springframework.context.ApplicationContext" %>
<%@ page import="com.sjsemi.prms.domain.PagerResult" %>
<%@ page import="com.sjsemi.lsmm.common.LineSideConstants" %>
<%@ page import="com.sjsemi.lsmm.domain.ReelMaterialMaintain" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><%=Global.WEB_TITLE%>
</title>
<%
request.setCharacterEncoding("UTF-8");
%>
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="stylesheet" type="text/css"
href="lib/bootstrap/css/bootstrap.css">
<link rel="stylesheet" type="text/css"
href="custom/global.css">
<link rel="stylesheet" type="text/css" href="stylesheets/theme.css">
<link rel="stylesheet" href="lib/font-awesome/css/font-awesome.css">
<link rel="stylesheet" type="text/css" href="stylesheets/jquery-ui.css">
<script src="lib/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="lib/jquery-ui-1.10.4.js" type="text/javascript"></script>
<!-- Demo page code -->
<style type="text/css">
#line-chart {
height: 300px;
width: 800px;
margin: 0px auto;
margin-top: 1em;
}
.brand {
font-family: georgia, serif;
}
.brand .first {
color: #FF5C0D;
font-style: italic;
}
.brand .second {
color: #fff;
font-weight: bold;
}
.table td {
padding: 6px;
line-height: 20px;
text-align: left;
vertical-align: inherit;
border-top: 1px solid #dddddd;
}
</style>
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="lib/html5.js"></script>
<![endif]-->
<!-- Le fav and touch icons -->
<link rel="shortcut icon" href="../assets/ico/favicon.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144"
href="../assets/ico/apple-touch-icon-144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114"
href="../assets/ico/apple-touch-icon-114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72"
href="../assets/ico/apple-touch-icon-72-precomposed.png">
<link rel="apple-touch-icon-precomposed"
href="../assets/ico/apple-touch-icon-57-precomposed.png">
</head>
<%
ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
MaterialManageService materialManageService = (MaterialManageService) appContext.getBean("materialManageService");
String sapMaterialNo = FormatUtils.parseString(request.getParameter("sapMaterialNo"));
int pageSize = LineSideConstants.PAGE_SIZE_20;
Integer pageIndex = FormatUtils.parseInteger(request.getParameter("pageIndex"));
if (pageIndex == null) {
pageIndex = 0;
}
ReelMaterialMaintain reelMaterialMaintain = new ReelMaterialMaintain();
reelMaterialMaintain.setSapMaterialNo(sapMaterialNo.trim());
PagerResult<ReelMaterialMaintain> pagerResult = materialManageService.queryReelMaterialMaintainByPage(reelMaterialMaintain, pageIndex);
List<ReelMaterialMaintain> reelMaterialMaintainList = pagerResult.getResultList();
%>
<body class="">
<%@ include file="navBar.jsp" %>
<%@ include file="sideBar.jsp" %>
<div class="content">
<div class="header">
<h1 class="page-title">Reel 物料维护</h1>
</div>
<div class="container-fluid">
<div class="raw-fluid">
<div class="block span6" style="width: 99%;">
<a href="#tablewidget" class="block-heading" data-toggle="collapse">Reel Material Maintain Query</a>
<div id="tablewidget" class="block-body collapse in">
<form id="frmQuery" action="<%=Page.REEL_MATERIAL_MAINTAIN%>" method="post">
<input type="hidden" name="pageIndex"/>
<input type="hidden" name="menu" value="<%=menu%>">
<input type="hidden" name="function" value="<%=function%>">
<table class="table">
<tr>
<td style="text-align: center">SAPMaterialNO:</td>
<td><input type="text" name="sapMaterialNo" autocomplete="off" placeholder="精确查询"/></td>
<td style="width: 20%;line-height:30px;"/>
<td style="width: 60%;line-height:30px;"/>
</tr>
<tr>
<td style="width: 10%;line-height:30px;"/>
<td style="width: 10%;line-height:30px;"/>
<td style="width: 20%;line-height:30px;">
<button type="submit" class="btn btn-primary">查询</button>
</td>
<td style="width: 20%;line-height:30px;">
<button type="button" class="btn btn-primary" onclick="add();">添加</button>
</td>
<td style="width: 40%;line-height:30px;"/>
</tr>
</table>
</form>
</div>
</div>
</div>
</div>
<form id="frmMaterialInfo" action="DispatchAction" method="post">
<input type="hidden" name="actionCode" value="<%=ActionCode.DELETE_TDWONO_MATERIAL%>"/>
<div class="container-fluid">
<div class="raw-fluid">
<div class="block span6" style="width: 99%;">
<a href="#tablewidget1" class="block-heading" data-toggle="collapse">Reel Material Maintain List
</a>
<div id="tablewidget1" class="block-body collapse in">
<table class="table">
<tr>
<td style="width: 10%;line-height:30px;text-align: center;">No</td>
<td style="width: 20%;line-height:30px;text-align: center;">物料名</td>
<td style="width: 20%;line-height:30px;text-align: center;">CustDeviceID</td>
<td style="width: 10%;line-height:30px;text-align: center;">SAPMaterialNO</td>
<td style="width: 10%;line-height:30px;text-align: center;">DateCode(天)</td>
<td style="width: 30%;line-height:30px;text-align: center;">操作</td>
</tr>
<tr>
<%
for (int i = 0; i < reelMaterialMaintainList.size(); i++) {
ReelMaterialMaintain item = reelMaterialMaintainList.get(i);
%>
<td style="text-align: center;"><%=pageIndex * pageSize + (i + 1) %>
</td>
<td style="text-align: center;"><%=item.getMaterialName() %>
</td>
<td style="text-align: center;"><%=item.getCustDeviceId() %>
</td>
<td style="text-align: center;"><%=item.getSapMaterialNo() %>
</td>
<c:set var="expiredDate" scope="session"
value="<%=item.getDateCode() %>"/>
<c:choose>
<c:when test="${expiredDate==0}">
<td style="text-align: center;">NA</td>
</c:when>
<c:otherwise>
<td style="text-align: center;"><%=item.getDateCode() %>
</td>
</c:otherwise>
</c:choose>
<td style="text-align: center;">
<button type="button" class="btn btn-primary"
onclick="update('<%=item.getSapMaterialNo() %>');">
Update
</button>
<button type="button" class="btn btn-primary"
onclick="deleteRow('<%=item.getSapMaterialNo() %>');">
Delete
</button>
</td>
</tr>
<%
}
%>
</table>
</div>
</div>
<div class="pagination">
<ul>
<%
if (pagerResult != null) {
int pageCount = pagerResult.getPageCount();
int totalShowPage = 10;
int startPageIndex = pageIndex - totalShowPage / 2;
int endPageIndex = 0;
if (startPageIndex < 0) {
startPageIndex = 0;
}
endPageIndex = startPageIndex + 10;
if (endPageIndex > pagerResult.getPageCount() - 1) {
endPageIndex = pagerResult.getPageCount() - 1;
}
if (pageIndex > 0) {
%>
<li><a href="javascript:void(0);" onclick="searchPage('<%=0 %>');">First</a></li>
<li><a href="javascript:void(0);" onclick="searchPage('<%=pageIndex - 1 %>');">Prev</a></li>
<%
}
if (startPageIndex > 0) {
%>
<li><a href="javascript:void(0);" onclick="searchPage('<%=startPageIndex - 1 %>');">...</a></li>
<%
}
for (int i = startPageIndex; i <= endPageIndex; i++) {
if (i == pageIndex) {
%>
<li><a href="#" style="background-color: lightgray;"><%=i + 1 %>
</a></li>
<%
} else {
%>
<li><a href="javascript:void(0);" onclick="searchPage('<%=i %>');"><%=i + 1 %>
</a></li>
<%
}
}
if (endPageIndex < pageCount - 1) {
%>
<li><a href="javascript:void(0);" onclick="searchPage('<%=endPageIndex + 1 %>');">...</a></li>
<%
}
if (pageIndex < pageCount - 1) {
%>
<li><a href="javascript:void(0);" onclick="searchPage('<%=pageIndex + 1 %>');">Prev</a></li>
<li><a href="javascript:void(0);" onclick="searchPage('<%=pageCount - 1 %>');">Last</a></li>
<%
}
}
%>
</ul>
</div>
</div>
</div>
</form>
<div class="modal fade" id="addModal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 style="text-align: center;">
Reel Material Maintain Add
</h4>
</div>
<div class="modal-body">
<form id="frmAdd">
<table class="table"></table>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" onclick="addRow()">确认</button>
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="updateModal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 style="text-align: center;">
Reel Material Maintain Update
</h4>
</div>
<div class="modal-body">
<form id="frmUpdate">
<table class="table"></table>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" onclick="updateRow()">确认</button>
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
</div>
</div>
</div>
</div>
</div>
<script src="lib/bootstrap/js/bootstrap.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#frmQuery input[name='sapMaterialNo']").val('<%=sapMaterialNo %>');
generateForm("frmAdd", formFields);
generateForm("frmUpdate", formFields);
});
var formFields = [
{
name: "materialName",
label: "物料名",
editable: true,
required: true
},
{
name: "custDeviceId",
label: "CustDeviceID",
editable: true,
required: true
},
{
name: "sapMaterialNo",
label: "SAPMaterialNO",
editable: true,
required: true
},
{
name: "dateCode",
label: "DateCode(天)",
editable: true,
required: true
}
];
function generateForm(formId, fields) {
var table = $("<table class='table'></table>");
$.each(fields, function (index, field) {
var tr = $("<tr></tr>");
var tdLabel = $("<td style='line-height: 30px;vertical-align: middle;'></td>").text(field.label + ":");
var tdInput = $("<td></td>");
var input = $("<input>").attr({
type: "text",
name: field.name,
autocomplete: "off"
}).prop("required", field.required);
tdInput.append(input);
tr.append(tdLabel).append(tdInput);
table.append(tr);
});
$("#" + formId).html(table);
}
function searchPage(pageIndex) {
$("#frmQuery input[name='pageIndex']").val(pageIndex);
$("#frmQuery").submit();
}
function isInteger(obj) {
var r = /^([1-9]\d*)$/
//可以为0
// var r = /^([1-9]\d*|[0]{1,1})$/
return r.test(obj);
}
function add() {
$("#frmAdd input[name='MaterialName']").val("");
$("#frmAdd input[name='ProdId']").val("");
$("#frmAdd input[name='ExpiredDate']").val("");
$("#addModal").modal('show');
}
// 通用表单验证方法
function validateForm(formId) {
var errorMsg = "";
formFields.forEach(function (field) {
var value = $("#" + formId + " input[name='" + field.name + "']").val().trim();
if (field.editable === false) return; // 跳过只读字段
if (field.required && value === "") {
errorMsg += "「" + field.label + "」不能为空,请输入有效值。\n";
}
});
// 自定义额外验证,例如 DateCode 是否为整数
var dateCode = $("#" + formId + " input[name='dateCode']").val();
if (dateCode && !isInteger(dateCode)) {
alert("有效期只能输入正整数请确认!");
$("#" + formId + " input[name='dateCode']").val('');
$("#" + formId + " input[name='dateCode']").focus();
return false;
}
if (errorMsg !== "") {
alert("存在未填写项:\n" + errorMsg);
return false;
}
return true;
}
function addRow() {
if (!validateForm("frmAdd")) return;
var formData = {};
formFields.forEach(function (field) {
formData[field.name] = $("#frmAdd input[name='" + field.name + "']").val();
});
if (confirm("确认保存?")) {
$.ajax({
type: "POST",
url: "DispatchAction?accessMethod=<%=AccessMethod.AJAX %>",
data: {
'actionCode': '<%=ActionCode.CREAT_REEL_MATERIAL_MAINTAIN %>',
...formData
},
dataType: "json",
success: function (data) {
if (data.return_code == "0") {
alert(data.return_value);
location.reload();
} else {
alert(data.return_value);
}
},
error: function () {
alert("Ajax HTTP访问失败, 请联系IT处理!");
}
});
}
}
function update(sapMaterialNo) {
if (sapMaterialNo != "") {
$.ajax({
type: "POST",
url: "DispatchAction?accessMethod=<%=AccessMethod.AJAX %>",
data: {
'actionCode': '<%=ActionCode.QUERY_REEL_MATERIAL_MAINTAIN %>',
'sapMaterialNo': sapMaterialNo
},
dataType: "json",
success: function (data) {
if (data.return_code == "0") {
$("#frmUpdate input[name='materialName']").val(data.return_code.materialName);
$("#frmUpdate input[name='custDeviceId']").val(data.return_code.custDeviceId);
$("#frmUpdate input[name='sapMaterialNo']").val(data.return_code.sapMaterialNo);
$("#frmUpdate input[name='dateCode']").val(data.return_code.dateCode);
$("#updateModal").modal('show');
} else {
alert(data.return_value);
}
},
error: function () {
alert("Ajax HTTP访问失败, 请联系IT处理!");
}
});
}
}
function updateRow() {
if (!validateForm("frmUpdate")) return;
var formData = {};
formFields.forEach(function (field) {
formData[field.name] = $("#frmUpdate input[name='" + field.name + "']").val();
});
$.ajax({
type: "POST",
url: "DispatchAction?accessMethod=<%=AccessMethod.AJAX %>",
data: {
'actionCode': '<%=ActionCode.UPDATE_REEL_MATERIAL_MAINTAIN %>',
...formData
},
dataType: "json",
success: function (data) {
if (data.return_code == "0") {
alert(data.return_value);
location.reload();
} else {
alert(data.return_value);
}
},
error: function () {
alert("Ajax HTTP访问失败, 请联系IT处理!");
}
});
}
function deleteRow(sapMaterialNo) {
if (confirm("确认删除SAPMaterialNO [" + sapMaterialNo + "] ?")) {
$.ajax({
type: "POST",
url: "DispatchAction?accessMethod=<%=AccessMethod.AJAX %>",
data: {
'actionCode': '<%=ActionCode.DELETE_REEL_MATERIAL_MAINTAIN %>',
'sapMaterialNo': sapMaterialNo
},
dataType: "json",
success: function (data) {
if (data.return_code == "0") {
alert(data.return_value);
location.reload();
} else {
alert(data.return_value);
}
},
error: function () {
alert("Ajax HTTP访问失败, 请联系IT处理!");
}
});
}
}
</script>
</body>
</html>
如何generateForm 把frmUpdate处理dateCode的都禁用?
最新发布