You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
846 lines
41 KiB
846 lines
41 KiB
<#macro layout>
|
|
|
|
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
|
|
<meta name="description" content="">
|
|
<meta name="author" content="">
|
|
<link rel="icon" href="/favicon.ico">
|
|
<title>${projectTitle!"CCL"}</title>
|
|
<!-- Bootstrap core CSS -->
|
|
<link href="/bootstrap/3.3.7/bootstrap.min.css" rel="stylesheet">
|
|
<link href="/bootstrap/3.3.7/bootstrap-theme.min.css" rel="stylesheet">
|
|
|
|
<link rel="stylesheet" type="text/css" href="/jeasyui/themes/default/easyui.css">
|
|
<link rel="stylesheet" type="text/css" href="/jeasyui/themes/icon.css">
|
|
|
|
<link rel="stylesheet" type="text/css" href="/js/layer/skin/layer.css">
|
|
<!-- <link href="/css/layui/layui.css" rel="stylesheet"> -->
|
|
|
|
<!-- Custom styles for this template -->
|
|
<link href="/css/app.css" rel="stylesheet">
|
|
|
|
<script type="text/javascript" src="/jeasyui/jquery.min.js"></script>
|
|
<script type="text/javascript" src="/jeasyui/jquery.easyui.min.js"></script>
|
|
<script type="text/javascript" src="/jeasyui/locale/easyui-lang-zh_CN.js"></script>
|
|
<script src="/js/layui/layui.js"></script>
|
|
|
|
<script>
|
|
|
|
//格式化字符串时间
|
|
function formatStringTime(value, row){
|
|
if(null == value || '' == value){
|
|
return '';
|
|
}
|
|
//处理位数不够的问题
|
|
if(value.length < 19){
|
|
value = value.substring(0, 10);
|
|
}else if(value.length >= 19 && value.length < 25){
|
|
value = value.substring(0, 19);
|
|
}
|
|
return value;
|
|
}
|
|
function formatDateTime(value,row){
|
|
if (value && value > 0){
|
|
var d = new Date(value);
|
|
var MM = d.getMonth() <= 9 ? '0'+(d.getMonth()+1) : d.getMonth() + 1;
|
|
var hh = d.getHours() <= 9 ? '0'+d.getHours() : d.getHours();
|
|
var mm = d.getMinutes() <= 9 ? '0'+d.getMinutes() : d.getMinutes();
|
|
var ss = d.getSeconds() <= 9 ? '0'+d.getSeconds() : d.getSeconds();
|
|
var dd = d.getDate() <= 9 ? '0'+d.getDate() : d.getDate();
|
|
var datestring = d.getFullYear() + "-" + MM + "-" + dd + " " + hh + ":" + mm + ":" + ss;
|
|
return datestring;
|
|
}
|
|
return "";
|
|
}
|
|
|
|
|
|
// 统一的Ajax错误处理
|
|
function handleAjaxError(data) {
|
|
var responseText = data.responseText;
|
|
try {
|
|
var json_str = JSON.parse(responseText);
|
|
var status = json_str.status;
|
|
var message = json_str.message;
|
|
// 判断是否是session超时
|
|
if(403==status){
|
|
layer.alert(message,function(){
|
|
window.parent.subCallBackReload();
|
|
});
|
|
} else {
|
|
layer.alert(message || '操作失败:网络错误');
|
|
}
|
|
} catch(e) {
|
|
layer.alert('操作失败:网络错误');
|
|
}
|
|
}
|
|
|
|
function formatDate(value,row){
|
|
if (value && value > 0){
|
|
var d = new Date(value);
|
|
var MM = d.getMonth() < 9 ? '0'+(d.getMonth()+1) : d.getMonth() + 1;
|
|
var dd = d.getDate() <= 9 ? '0'+d.getDate() : d.getDate();
|
|
var datestring = d.getFullYear() + "-" + MM + "-" + dd;
|
|
return datestring;
|
|
}
|
|
return "";
|
|
}
|
|
|
|
function formatQrcode(value,row){
|
|
// return "<a target='_blank' href='/qrcode/"+value+"/'>"+value+"</a>";
|
|
return "<a target='forprint' href='/print/text/" +value+"/'>"+value+"</a>";
|
|
}
|
|
|
|
function formatLodopPrint(tag){
|
|
return function(value, row){
|
|
return "<a target='forprint' href='/print/"+tag + "/" +value+"/'>"+value+"</a>";
|
|
};
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<nav class="navbar navbar-default navbar-fixed-top">
|
|
<div class="container">
|
|
<div class="navbar-header">
|
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
|
<span class="sr-only">Toggle navigation</span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
<span ><img src="/img/ccl-logo.png" height="30" style="margin-top:10px;margin-right:10px;" /></span>
|
|
</div>
|
|
|
|
<#if currentUser??>
|
|
<div style="display: none;">
|
|
<input type="hidden" id="current_username" value="${currentUser.username}">
|
|
<input type="hidden" id="current_orderNo" value="${currentUser.workingOrder}">
|
|
|
|
</div>
|
|
<div id="navbar" class="collapse navbar-collapse">
|
|
<ul class="nav navbar-nav">
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("prepress")>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Prepress<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="/prepress/">Prepress</a></li>
|
|
<li><a href="/prepress/rework">PrepressRework</a></li>
|
|
<li><a href="/mobile/shopOrder/material_natch_error">材料批次异常处理</a></li>
|
|
</ul>
|
|
</li>
|
|
</#if>
|
|
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("indigo")>
|
|
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Indigo<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="/indigo/create_roll">Create Roll</a></li>
|
|
<li><a href="/indigo/roll_op">Indigo</a></li>
|
|
<li><a href="/rollop/indigo/createQcRoll">Defective/QC</a></li>
|
|
<li><a href="/scanning/finalrolls/10/">Finished good rolls</a></li>
|
|
<li><a href="javascript:void(0)" onclick="printSfOrderModal()">半成品工单打印</a></li>
|
|
<li><a href="javascript:void(0)" onclick="changeWorkingOrder('indigo');">切换订单</a></li>
|
|
</ul>
|
|
</li>
|
|
</#if>
|
|
<!-- 热覆合 -->
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("thermal")>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
|
|
aria-expanded="false">热覆合<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="/rollop/thermal/">热覆合</a></li>
|
|
<li><a href="/rollop/thermal/createQcRoll">Defective/QC</a></li>
|
|
<li><a href="/scanning/finalrolls/15/">Finished good rolls</a></li>
|
|
<li><a href="javascript:void(0)" onclick="changeWorkingOrder('thermal');">切换订单</a></li>
|
|
</ul>
|
|
</li>
|
|
</#if>
|
|
<!-- 分切 -->
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("cut")>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
|
|
aria-expanded="false">分切<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="/cut/rollop/">分切</a></li>
|
|
<li><a href="/cut/createQcRoll">Defective/QC</a></li>
|
|
<li><a href="/scanning/finalrolls/15/">Finished good rolls</a></li>
|
|
<li><a href="javascript:void(0)" onclick="changeWorkingOrder('cut');">切换订单</a></li>
|
|
</ul>
|
|
</li>
|
|
</#if>
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("abg")>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">ABG<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<!-- <li><a href="/rollop/abg/">ABG</a></li> -->
|
|
<li><a href="/abg/rollop/">ABG</a></li>
|
|
<li><a href="/abg/createQcRoll">Defective/QC</a></li>
|
|
<li><a href="/scanning/finalrolls/20/">Finished good rolls</a></li>
|
|
<li><a href="javascript:void(0)" onclick="changeWorkingOrder('abg');">切换订单</a></li>
|
|
</ul>
|
|
</li>
|
|
</#if>
|
|
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("aoi")>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">AOI<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<#-- <li><a href="/rollop/aoi/">AOI</a></li>-->
|
|
<li><a href="/aoi/rollop/">AOI</a></li>
|
|
<li><a href="/aoi/createQcRoll">Defective/QC</a></li>
|
|
<li><a href="/scanning/finalrolls/30/">Finished good rolls</a></li>
|
|
<li><a href="javascript:void(0)" onclick="changeWorkingOrder('aoi');">切换订单</a></li>
|
|
</ul>
|
|
</li>
|
|
</#if>
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("rewind")>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Rewind<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<#-- <li><a href="/rewind/rewindWithoutCombine">模式1(不接卷)</a></li>-->
|
|
<li><a href="/rewind/rewindWithCombine">倒卷</a></li>
|
|
<li><a href="javascript:void(0)" onclick="changeWorkingOrder('rewind');">切换订单</a></li>
|
|
</ul>
|
|
</li>
|
|
</#if>
|
|
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("scanning")>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Scanning<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="/scanning/confirm">Confirm quantity</a></li>
|
|
<li><a href="/scanning/jobdtlByUser">扫描任务</a></li>
|
|
<li><a href="/scanning/jobReworkDtls">返工扫描</a></li>
|
|
<li><a href="/scanning/rollCheck">Master roll confirm</a></li>
|
|
<li><a href="/scanning/slittingCheck">Slitting Roll Comfirm</a></li>
|
|
<li><a href="/scanning/reworkRollCheck">返工卷核查</a></li>
|
|
<li><a href="/scanning/finalrolls/40/">Finished good rolls</a></li>
|
|
<li><a href="/scanning/createQcRoll">不良品处理</a></li>
|
|
<li><a href="javascript:void(0)" onclick="changeWorkingOrder('scanning');">切换订单</a></li>
|
|
</ul>
|
|
</li>
|
|
</#if>
|
|
|
|
<#-- <#if currentUser.isAdmin || currentUser.authorities?contains("cqc")>-->
|
|
<#-- <li><a href="/scanning/cqc">CQC</a></li>-->
|
|
<#-- </#if>-->
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("receiving")>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Receiving<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="/receive">Receiving</a></li>
|
|
<li><a href="/return/receive">退货入库</a></li>
|
|
<li><a href="/rework/rework_register">返工登记</a></li>
|
|
<li><a href="/receiveStock">Receive by Normal Box</a></li>
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("boxManage")>
|
|
<li><a href="/boxManage">Box Management</a></li>
|
|
</#if>
|
|
<li><a href="/inventoryTasks">Counting</a></li>
|
|
</ul>
|
|
</li>
|
|
</#if>
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("dispatch")>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dispatch<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="/shipment">Dispatch</a></li>
|
|
<li><a href="/discard">Scrap defective/QC</a></li>
|
|
</ul>
|
|
</li>
|
|
</#if>
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("query")>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Query<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="/prepress/query">Query SO</a></li>
|
|
<li><a href="/prepress/serialInfo">Query serial number</a></li>
|
|
<li><a href="/prepress/soOrderInfo">Automatically count by SO quantity</a></li>
|
|
<li><a href="/prepress/receiveQty">IFS入库数量核实</a></li>
|
|
<#if currentUser.isAdmin>
|
|
<li><a href="javascript:void(0)" onclick="missingReport();">缺失报告</a></li>
|
|
<li><a href="javascript:void(0)" onclick="complement();">缺失补号</a></li>
|
|
<li><a href="javascript:void(0)" onclick="exportSn();">缺失号导出</a></li>
|
|
</#if>
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("dispatch")>
|
|
<li><a href="javascript:void(0)" onclick="scanBox();">重打入库箱标签</a></li>
|
|
<!-- <li><a href="javascript:void(0)" onclick="frozenSn();">冻结卷</a></li> -->
|
|
</#if>
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("printer")>
|
|
<li><a href="javascript:void(0)" onclick="scanSn();">补打卷标签</a></li>
|
|
</#if>
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("printer_roll")>
|
|
<li><a href="javascript:void(0)" onclick="scanZeroRoll();">补打零数卷</a></li>
|
|
</#if>
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("freezeAndThaw")>
|
|
<li><a href="/menu21/freeze_and_thaw">冻结和解冻</a></li>
|
|
</#if>
|
|
<li><a href="/delivery/order/query">工单出货查询</a></li>
|
|
<li><a href="/material/order/batch/query">工单批次查询</a></li>
|
|
<li><a href="/query/final_roll/batch">成品卷批次查询</a></li>
|
|
</ul>
|
|
</li>
|
|
</#if>
|
|
<#-- <#if currentUser.isAdmin || currentUser.authorities?contains("counting")>-->
|
|
<#-- <li><a href="/counting">Counting</a></li>-->
|
|
<#-- </#if>-->
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("basic_info")>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">基础数据<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="/partManage">物料信息</a></li>
|
|
<li><a href="/system/system_info">系统参数</a></li>
|
|
</ul>
|
|
</li>
|
|
</#if>
|
|
<!-- <#if currentUser.isAdmin>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">测试功能<span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="/warehouse/dashboard" target="_blank">仓库可视化大屏</a></li>
|
|
</ul>
|
|
</li>
|
|
</#if> -->
|
|
</ul>
|
|
|
|
<ul class="nav navbar-nav navbar-right" style="margin-right: -40px;">
|
|
<#-- <li><a href="javascript:void(0)" id="workingOrder"><#if Session.workingOrder?exists>当前生产订单:${Session.workingOrder!}</#if></a></li>-->
|
|
<li><a href="javascript:void(0)">当前生产订单:${currentUser.workingOrder!}</a></li>
|
|
<input type="hidden" id="hdnWorkingOrder" value="${currentUser.workingOrder!}" />
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">${currentUser.display}<span class="caret"></span></a>
|
|
<input type = "hidden" id="subscriber" value="${currentUser.display}"/>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="javascript:void(0);" onclick="showChangePwdDlg()">修改密码</a></li>
|
|
<#if currentUser.isAdmin>
|
|
<li><a href="/user/">User Management</a></li>
|
|
<li><a href="/scanning/jobs">扫描机设置</a></li>
|
|
</#if>
|
|
<li><a href="/print/setprinter/">打印设置</a></li>
|
|
<#if currentUser.isAdmin || currentUser.authorities?contains("emailConfig")>
|
|
<li><a href="/base/emailConfig">邮件设置</a></li>
|
|
</#if>
|
|
<li role="separator" class="divider"></li>
|
|
<li><a href="javascript:$('#frmLogout').submit();">退出</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="javascript:void(0);"></a></li>
|
|
|
|
</ul>
|
|
</div><!--/.nav-collapse -->
|
|
|
|
|
|
</div>
|
|
</#if>
|
|
</nav>
|
|
|
|
<div class="container role="main">
|
|
<#nested>
|
|
|
|
|
|
<div id="changeWOdlg" class="easyui-dialog" style="width:500px;display: none;"
|
|
closed="true" buttons="#changeWOdlg-buttons">
|
|
<form id="changeWOdlgFm" method="post" novalidate style="margin:0;padding:20px 20px">
|
|
<div style="margin-bottom:10px">
|
|
<input name="username" class="easyui-textbox" required="true" label="User ID:" style="width:100%">
|
|
</div>
|
|
<div style="margin-bottom:10px">
|
|
<input name="passwd" class="easyui-passwordbox" data-options="lastDelay:50" required="true" label="Password:" style="width:100%">
|
|
</div>
|
|
<div style="margin-bottom:10px">
|
|
<input name="orderNo" class="easyui-textbox" required="true" label="切换到订单:" style="width:100%">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div id="changeWOdlg-buttons" style="display: none;">
|
|
<a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="saveWOInfo()" style="width:90px">Save</a>
|
|
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#changeWOdlg').dialog('close')" style="width:90px">Cancel</a>
|
|
</div>
|
|
|
|
<!-- 漏扫补号 -->
|
|
<div id="complementSnDlg" class="easyui-dialog" style="width:500px;display: none;"
|
|
closed="true" buttons="#complementSnDlg-buttons">
|
|
<form id="complementSnDlgFm" method="post" novalidate style="margin:0;padding:20px 20px">
|
|
<div style="margin-bottom:10px">
|
|
<input name="serialNo" class="easyui-textbox" required="true" label="序列号:" style="width:100%">
|
|
</div>
|
|
<div style="margin-bottom:10px">
|
|
<input name="finalRollNo" class="easyui-textbox" required="true" label="Roll No:" style="width:100%">
|
|
</div>
|
|
<div style="margin-bottom:10px">
|
|
<input name="pid" class="easyui-textbox" required="true" label="标识号:" style="width:100%">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div id="complementSnDlg-buttons" style="display: none;">
|
|
<a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="saveComplement()" style="width:90px">Save</a>
|
|
<!-- <a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="exportComplement()" style="width:90px">Export</a> -->
|
|
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#complementSnDlg').dialog('close')" style="width:90px">Cancel</a>
|
|
</div>
|
|
|
|
<!-- 缺失号导出 -->
|
|
<div id="exportSnDlg" class="easyui-dialog" style="width:500px;display: none;"
|
|
closed="true" buttons="#exportSnDlg-buttons">
|
|
<form id="exportSnDlgFm" method="post" novalidate style="margin:0;padding:20px 20px">
|
|
<div style="margin-bottom:10px">
|
|
<input id = "pid" name="pid" class="easyui-textbox" required="true" label="标识号:" style="width:100%">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div id="exportSnDlg-buttons" style="display: none;">
|
|
<a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="exportComplement()" style="width:90px">Export</a>
|
|
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#exportSnDlg').dialog('close')" style="width:90px">Cancel</a>
|
|
</div>
|
|
|
|
<!-- 扫描箱号 -->
|
|
<div id="scanBoxDlg" class="easyui-dialog" style="width:500px;display: none;"
|
|
closed="true" buttons="#scanBoxDlg-buttons">
|
|
<form id="scanBoxDlgFm" method="post" novalidate style="margin:0;padding:20px 20px">
|
|
<div style="margin-bottom:10px">
|
|
<input id = "boxNo" name="boxNo" class="easyui-textbox" required="true" label="箱号:" style="width:100%">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div id="scanBoxDlg-buttons" style="display: none;">
|
|
<a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="scanBoxComplement()" style="width:90px">Check</a>
|
|
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#scanBoxDlg').dialog('close')" style="width:90px">Cancel</a>
|
|
</div>
|
|
|
|
<!-- 扫描序列号 -->
|
|
<div id="scanSnDlg" class="easyui-dialog" style="width:500px;display: none;"
|
|
closed="true" buttons="#scanSnDlg-buttons">
|
|
<form id="scanSnDlgFm" method="post" novalidate style="margin:0;padding:20px 20px">
|
|
<div style="margin-bottom:10px">
|
|
<input id = "snNo" name="snNo" class="easyui-textbox" required="true" label="序列号:" style="width:100%">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div id="scanSnDlg-buttons" style="display: none;">
|
|
<a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="scanSnComplement()" style="width:90px">Check</a>
|
|
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#scanSnDlg').dialog('close')" style="width:90px">Cancel</a>
|
|
</div>
|
|
|
|
<!-- 缺失报告 -->
|
|
<div id="missingSnDlg" class="easyui-dialog" style="width:500px;display: none;"
|
|
closed="true" buttons="#missingSnDlg-buttons">
|
|
<form id="missingSnDlgFm" method="post" novalidate style="margin:0;padding:20px 20px">
|
|
<div style="margin-bottom:10px">
|
|
<input id = "start_qty" name="start_qty" class="easyui-numberbox" required="true" label="前几位数:" style="width:100%">
|
|
</div>
|
|
<div style="margin-bottom:10px">
|
|
<input id = "end_qty" name="end_qty" class="easyui-numberbox" required="true" label="后几位数:" style="width:100%">
|
|
</div>
|
|
<div style="margin-bottom:10px">
|
|
<input id = "order_no" name="order_no" class="easyui-textbox" required="true" label="订单号:" style="width:100%">
|
|
</div>
|
|
<div style="margin-bottom:10px">
|
|
<input id = "serial_no" name="serial_no" class="easyui-textbox" required="true" label="序列号:" style="width:100%">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div id="missingSnDlg-buttons" style="display: none;">
|
|
<a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="exportMissSn()" style="width:90px">Export</a>
|
|
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#missingSnDlg').dialog('close')" style="width:90px">Cancel</a>
|
|
</div>
|
|
|
|
<div id="changePWDdlg" class="easyui-dialog" style="width:500px;display: none;"
|
|
closed="true" buttons="#changePWDdlg-buttons">
|
|
<form id="changePWDdlgFm" method="post" novalidate style="margin:0;padding:20px 20px">
|
|
<div style="margin-bottom:10px">
|
|
<input name="oldPasswd" class="easyui-passwordbox" data-options="lastDelay:50" required="true" label="旧密码:" style="width:100%">
|
|
</div>
|
|
<div style="margin-bottom:10px">
|
|
<input name="newPasswd" class="easyui-passwordbox" data-options="lastDelay:50" required="true" label="新密码:" style="width:100%">
|
|
</div>
|
|
<div style="margin-bottom:10px">
|
|
<input name="newPasswdConfirm" class="easyui-passwordbox" data-options="lastDelay:50" required="true" label="重复新密码:" style="width:100%">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div id="changePWDdlg-buttons" style="display: none;">
|
|
<a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="saveNewPwd()" style="width:90px">Save</a>
|
|
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#changePWDdlg').dialog('close')" style="width:90px">Cancel</a>
|
|
</div>
|
|
|
|
|
|
<!-- 扫描卷号-冻结 -->
|
|
<div id="frozenRnDlg" class="easyui-dialog" style="width:500px;display: none;"
|
|
closed="true" buttons="#scanSnDlg-buttons">
|
|
<form id="frozenRnDlgFm" method="post" novalidate style="margin:0;padding:20px 20px">
|
|
<div style="margin-bottom:10px">
|
|
<input id = "frozenRn" name="frozenRn" class="easyui-textbox" required="true" label="Roll No:" style="width:100%">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div id="scanSnDlg-buttons" style="display: none;">
|
|
<a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="frozenRnComplement()" style="width:90px">Check</a>
|
|
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#frozenRnDlg').dialog('close')" style="width:90px">Cancel</a>
|
|
</div>
|
|
|
|
|
|
<!-- 打印半成品工单 -->
|
|
<div id="print_sf_order" class="easyui-dialog" style="width:500px;display: none;" closed="true" buttons="#printSfOrder-buttons">
|
|
<form id="frozenRnDlgFm" method="post" novalidate style="margin:0;padding:20px 20px">
|
|
<div style="margin-bottom:10px">
|
|
<input id = "sf_order" name="sfOrder" class="easyui-textbox" required="true" label="半成品工单" style="width:100%">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div id="printSfOrder-buttons" style="display: none;">
|
|
<a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="printSfOrderLabel()" style="width:90px">Print</a>
|
|
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#print_sf_order').dialog('close')" style="width:90px">Cancel</a>
|
|
</div>
|
|
|
|
<!-- 扫描序列号 -->
|
|
<div id="scanRollDlg" class="easyui-dialog" style="width:500px;display: none;"
|
|
closed="true" buttons="#scanRollDlg-buttons">
|
|
<form id="scanRollDlgFm" method="post" novalidate style="margin:0;padding:20px 20px">
|
|
<div style="margin-bottom:10px">
|
|
<input id = "rollNo" name="rollNo" class="easyui-textbox" required="true" label="Roll No:" style="width:100%">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div id="scanRollDlg-buttons" style="display: none;">
|
|
<a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="scanRollComplement()" style="width:90px">Check</a>
|
|
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#scanRollDlg').dialog('close')" style="width:90px">Cancel</a>
|
|
</div>
|
|
|
|
<script src='http://127.0.0.1:8000/CLodopfuncs.js'></script>
|
|
<script type="text/javascript" src="/js/external/print/print_qc_label.js"></script>
|
|
<script type="text/javascript" src="/js/external/print/print_qc_zero_label.js"></script>
|
|
<script type="text/javascript" src="/js/external/print/print_box_label.js"></script>
|
|
<script>
|
|
var workingOrder = '${currentUser.workingOrder}';
|
|
var username = '${currentUser.username}';
|
|
var clodopLicense = '${clodoplisence}';
|
|
var SWITCH_ORDER_SITE = "";
|
|
function changeWorkingOrder(site) {
|
|
SWITCH_ORDER_SITE = site;
|
|
$('#changeWOdlg').dialog('center').dialog('setTitle', '修改操作订单(需有权限人操作)').dialog('open');
|
|
$('#changeWOdlgFm').form('clear');
|
|
}
|
|
function saveWOInfo() {
|
|
|
|
$('#changeWOdlgFm').form('submit',{
|
|
url: "/rollop/"+SWITCH_ORDER_SITE+"/setOrderEnv",
|
|
onSubmit: function(){
|
|
return $(this).form('validate');
|
|
},
|
|
success: function(result){
|
|
var result = eval("("+result+")");
|
|
if (result.errorMsg){
|
|
$.messager.alert('error',result.errorMsg, 'error');
|
|
} else {
|
|
$('#changeWOdlg').dialog('close'); // close the dialog
|
|
window.location.reload();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
function showChangePwdDlg() {
|
|
$('#changePWDdlg').dialog('center').dialog('setTitle', '修改密码').dialog('open');
|
|
$('#changePWDdlgFm').form('clear');
|
|
}
|
|
function saveNewPwd() {
|
|
$('#changePWDdlgFm').form('submit',{
|
|
url: "/user/changePwd",
|
|
onSubmit: function(){
|
|
return $(this).form('validate');
|
|
},
|
|
success: function(result){
|
|
var result = eval("("+result+")");
|
|
if (result.errorMsg){
|
|
$.messager.alert('error',result.errorMsg, 'error');
|
|
} else {
|
|
$('#changePWDdlg').dialog('close'); // close the dialog
|
|
}
|
|
}
|
|
});
|
|
}
|
|
//漏扫补号页面
|
|
function complement() {
|
|
$('#complementSnDlg').dialog('center').dialog('setTitle', '缺失补号').dialog('open');
|
|
$('#complementSnDlgFm').form('clear');
|
|
}
|
|
//漏扫补号保存
|
|
function saveComplement() {
|
|
$('#complementSnDlgFm').form('submit',{
|
|
url: "/complement/soFinalRollDtls",
|
|
onSubmit: function(){
|
|
return $(this).form('validate');
|
|
},
|
|
success: function(result){
|
|
console.log(result);
|
|
var result = eval("("+result+")");
|
|
if (result.errorMsg){
|
|
$.messager.alert('error',result.errorMsg, 'error');
|
|
} else {
|
|
$('#complementSnDlgFm').form('clear');
|
|
}
|
|
}
|
|
});
|
|
}
|
|
//导出缺失序列号
|
|
function exportSn() {
|
|
$('#exportSnDlg').dialog('center').dialog('setTitle', '缺失号导出').dialog('open');
|
|
$('#exportSnDlgFm').form('clear');
|
|
}
|
|
//导出缺失序列号
|
|
function exportComplement(){
|
|
var pid = $("#pid").val();
|
|
$.post("/shipment/exportSn", {pid: pid}, function(ret){
|
|
if(ret.success){
|
|
window.location.href="/prepress/download/"+ret.fileName;
|
|
}else{
|
|
$.messager.alert('Error',ret.errorMsg, 'error');
|
|
}
|
|
});
|
|
}
|
|
|
|
//导出缺失序列号
|
|
function missingReport() {
|
|
$('#missingSnDlg').dialog('center').dialog('setTitle', '缺失报告').dialog('open');
|
|
$('#missingSnDlgFm').form('clear');
|
|
$('#start_qty').numberbox('setValue', "10");
|
|
$('#end_qty').numberbox('setValue', "10");
|
|
}
|
|
//导出缺失序列号
|
|
function exportMissSn(){
|
|
var startQty = $("#start_qty").val();
|
|
var endQty = $("#end_qty").val();
|
|
var orderNo = $("#order_no").val();
|
|
var serialNo = $("#serial_no").val();
|
|
$.post("/prepress/exportMissSn", {startQty: startQty,endQty: endQty,orderNo: orderNo,serialNo: serialNo}, function(ret){
|
|
if(ret.success){
|
|
window.location.href="/prepress/downloadFileZip/"+ret.fileName;
|
|
}else{
|
|
$.messager.alert('Error',ret.errorMsg, 'error');
|
|
}
|
|
});
|
|
}
|
|
//扫描箱号
|
|
function scanBox() {
|
|
$('#scanBoxDlg').dialog('center').dialog('setTitle', 'Scaning Box No').dialog('open');
|
|
$('#scanBoxDlgFm').form('clear');
|
|
}
|
|
|
|
function scanBoxComplement(){
|
|
var boxNo = $("#boxNo").val();
|
|
$.post("/shipment/scanBoxNo", {boxNo: boxNo}, function(ret){
|
|
if(ret.success){
|
|
if(ret.flag){
|
|
$.messager.confirm('Confirm',' <b>'+boxNo+'</b> There is surplus roll in this box, are you sure to print ?',function(r){
|
|
if (r){
|
|
//调用方法 补打标签
|
|
getInnerBoxPrintCacheData(boxNo);
|
|
//$("#ifmforprint").attr('src', "/print/checkReceiveBox/" + boxNo + "/");
|
|
}
|
|
});
|
|
}else{
|
|
$.messager.alert('Info','no surplus roll!', 'Info');
|
|
}
|
|
}else{
|
|
$.messager.alert('Error',ret.errorMsg, 'error');
|
|
}
|
|
});
|
|
}
|
|
//扫描序列号
|
|
function scanSn() {
|
|
$('#scanSnDlg').dialog('center').dialog('setTitle', '扫描序列号').dialog('open');
|
|
$('#scanSnDlgFm').form('clear');
|
|
}
|
|
|
|
//扫描卷号
|
|
function scanZeroRoll() {
|
|
$('#scanRollDlg').dialog('center').dialog('setTitle', 'Scan roll number').dialog('open');
|
|
$('#scanRollDlgFm').form('clear');
|
|
}
|
|
|
|
function scanSnComplement(){
|
|
var snNo = $("#snNo").val();
|
|
$.post("/shipment/scanSnNo", {snNo: snNo}, function(ret){
|
|
if(ret.success){
|
|
$.messager.confirm('Confirm',' <b>'+ret.rollNo+'</b>该卷,是否打印 ?',function(r){
|
|
if (r){
|
|
//调用打印的方法
|
|
//调用方法 执行缓存打印的信息 然后调用js打印数据
|
|
getQcPrintCacheData(ret.rollNo, 0);
|
|
//$("#ifmforprint").attr('src', "/print/newlabel/" + ret.rollNo + "/0/");
|
|
}
|
|
});
|
|
}else{
|
|
$.messager.alert('Error',ret.errorMsg, 'error');
|
|
}
|
|
});
|
|
}
|
|
|
|
//缓存打印信息
|
|
function getQcPrintCacheData(finalRollNo, pass){
|
|
//组合请求的参数
|
|
let requestData = {finalRollNo: finalRollNo, number: pass, username: username};
|
|
$.ajax({
|
|
url: "/print/label/cacheQcRollData",
|
|
contentType: 'application/json',
|
|
type:"POST",
|
|
data:JSON.stringify(requestData),
|
|
dataType:"JSON",
|
|
success: function (result) {
|
|
if(result.success){
|
|
let printRow = JSON.parse(result.printData);
|
|
let printerInfo = {printerSeq: printRow.printerSeq, printerName: printRow.printerName, clodopLicense: clodopLicense};
|
|
//调用打印的方法的方法
|
|
printQcRollLabel(printRow, printerInfo);
|
|
}else{
|
|
$.messager.alert("Error",result.msg,"Error",);
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
//缓存打印信息
|
|
function getQcZeroPrintCacheData(finalRollNo, pass){
|
|
//组合请求的参数
|
|
let requestData = {finalRollNo: finalRollNo, number: pass, username: username};
|
|
$.ajax({
|
|
url: "/print/label/cacheQcZeroRollData",
|
|
contentType: 'application/json',
|
|
type:"POST",
|
|
data:JSON.stringify(requestData),
|
|
dataType:"JSON",
|
|
success: function (result) {
|
|
if(result.success){
|
|
let printRow = JSON.parse(result.printData);
|
|
let printerInfo = {printerSeq: printRow.printerSeq, printerName: printRow.printerName, clodopLicense: clodopLicense};
|
|
//调用打印的方法的方法
|
|
printQcZeroRollLabel(printRow, printerInfo);
|
|
}else{
|
|
$.messager.alert("Error",result.msg,"Error",);
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
//缓存打印信息
|
|
function getInnerBoxPrintCacheData(boxNo, onLoaded){
|
|
//组合请求的参数
|
|
let requestData = {boxNo: boxNo, username: username};
|
|
$.ajax({
|
|
url: "/print/label/cacheReceiveBoxData",
|
|
contentType: 'application/json',
|
|
type:"POST",
|
|
data:JSON.stringify(requestData),
|
|
dataType:"JSON",
|
|
success: function (result) {
|
|
if(result.success){
|
|
let printRow = JSON.parse(result.printData);
|
|
let printerInfo = {printerSeq: printRow.printerSeq, printerName: printRow.printerName, clodopLicense: clodopLicense};
|
|
//回调
|
|
if (typeof onLoaded === 'function') {
|
|
onLoaded();
|
|
}
|
|
//调用打印的方法的方法
|
|
printReceiveBoxLabel(printRow, printerInfo);
|
|
}else{
|
|
$.messager.alert("Error",result.msg,"Error",);
|
|
}
|
|
}
|
|
})
|
|
}
|
|
//补打零数卷
|
|
function scanRollComplement(){
|
|
var rollNo = $("#rollNo").val();
|
|
$.post("/print/scanRollNo", {rollNo: rollNo}, function(ret){
|
|
if(ret.success){
|
|
$.messager.confirm('Confirm',' <b>'+ret.rollNo+'</b>该卷,是否打印 ?',function(r){
|
|
if (r){
|
|
//$("#ifmforprint").attr('src', "/print/newPrintLabel/" + ret.rollNo + "/0/");
|
|
getQcZeroPrintCacheData(ret.rollNo, 0);
|
|
}
|
|
});
|
|
}else{
|
|
$.messager.alert('Error',ret.errorMsg, 'error');
|
|
}
|
|
});
|
|
}
|
|
|
|
//冻结卷页面
|
|
function frozenSn(){
|
|
$('#frozenRnDlg').dialog('center').dialog('setTitle', 'Scan roll number').dialog('open');
|
|
$('#frozenRnDlgFm').form('clear');
|
|
}
|
|
//确认冻结卷
|
|
function frozenRnComplement(){
|
|
var frozenRn = $("#frozenRn").val();
|
|
$.post("/scanning/frozenRn", {frozenRn: frozenRn}, function(ret){
|
|
if(ret.success){
|
|
$.messager.alert('Info',"Frozen", 'Info');
|
|
$('#frozenRnDlg').dialog('close');
|
|
}else{
|
|
$.messager.alert('Error',ret.errorMsg, 'error');
|
|
}
|
|
});
|
|
}
|
|
//播放音乐声音
|
|
function playmp3(){
|
|
var audio = document.getElementById("myaudio");
|
|
audio.setAttribute('src', '/1262.mp3');
|
|
audio.play();
|
|
setTimeout(function(){
|
|
audio.pause();
|
|
},10000);
|
|
|
|
}
|
|
|
|
// 打开并初始化“打印半成品工单”弹窗
|
|
function printSfOrderModal(){
|
|
$('#print_sf_order').dialog('center').dialog('setTitle', '打印半成品工单').dialog('open');
|
|
// 清空并预填当前生产订单,便于直接打印
|
|
$('#sf_order').textbox('setValue', "");
|
|
$('#sf_order').textbox('textbox').focus();
|
|
}
|
|
|
|
// 执行打印半成品工单标签
|
|
function printSfOrderLabel(){
|
|
var sfOrder = $('#sf_order').val();
|
|
if(!sfOrder || "" == sfOrder){
|
|
$.messager.alert('Error','请输入半成品工单','error');
|
|
return;
|
|
}
|
|
$.messager.confirm('Confirm',' <b>'+sfOrder+'</b> 是否打印 ?',function(r){
|
|
if(r){
|
|
// 使用半成品工单打印端点(后端会自动添加 SF; 前缀)
|
|
$("#ifmforprint").attr('src', "/print/sfOrder?sfOrder=" + sfOrder);
|
|
//直接调用js打印标签
|
|
//printSfOrderLabel(sfOrder, currentPrinter);
|
|
$('#sf_order').textbox('setValue', "");
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|
|
</div> <!-- /container -->
|
|
<audio id="myaudio" controls="controls" autostart="false" loop="false" hidden="true" ></audio>
|
|
<iframe id="ifmforprint" name="forprint" style="display: none;"></iframe>
|
|
<script src="/js/holder.min.js"></script>
|
|
<script src="/js/bootstrap.js"></script>
|
|
<script src="/js/WdatePicker.js"></script>
|
|
<script src="/js/app.js?v=1"></script>
|
|
<form id="frmLogout" action="/logout" method="post">
|
|
</form>
|
|
</body>
|
|
</html>
|
|
</#macro>
|