<%@page import="com.northglass.Optima.OptimaHelper"%>
|
<%@page import="org.json.JSONObject"%>
|
<%@ page contentType="text/html;charset=UTF-8"%>
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
<%@page import="com.northglass.Globel.mes"%>
|
<%@page import="com.northglass.SqlHelper.*"%>
|
<%@page import="java.io.*"%>
|
<%@ page contentType="text/html;charset=UTF-8"%>
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
<c:set var="ctx" value="${pageContext.request.contextPath}" />
|
<html>
|
<head>
|
<style>
|
.rect{
|
background-color: lightblue;
|
border: 1px solid blue;
|
grid-row-start: 1;
|
overflow:auto;
|
}
|
#root{
|
display: grid;
|
grid-template-rows: 30px auto 30px;
|
grid-template-columns: 22% auto 22%;
|
height: 100%;
|
}
|
#tool{
|
display: flex;
|
flex-direction: row;
|
grid-column-start: 1;
|
grid-column-end: span 3;
|
}
|
|
table{
|
border-collapse: collapse;
|
width:100%
|
}
|
|
th {
|
border: 0.5px solid gray;
|
margin: 0px;
|
}
|
|
tr {
|
border: 0.5px solid gray;
|
margin: 0px;
|
height: 25px;
|
}
|
|
td {
|
border: 0.5px solid gray;
|
margin: 0px;
|
text-align: center;
|
}
|
|
#tab1{
|
height: 100%;
|
width: 100%;
|
overflow-y: auto;
|
}
|
|
#layout{
|
height: 100%;
|
width: 100%;
|
background-color: gray;
|
}
|
|
#tab2{
|
height: 100%;
|
width: 100%;
|
overflow-y: auto;
|
|
}
|
|
</style>
|
<script src="${ctx}/static/jquery/jquery-3.1.0.min.js" type="text/javascript"></script>
|
<script src="${ctx}/static/js/ng/layout_ex.js"></script>
|
<script src="${ctx}/static/js/ng/tb.js"></script>
|
</head>
|
<body>
|
<div id="root">
|
<div id="tool">
|
<span>当前工程: </span>
|
<span style="width: 150px;" id="gc_title"></span>
|
<span>当前版图: </span>
|
<span style="width: 100px;" id="title_2"></span>
|
<span style="margin-left: 10px;">
|
MES状态:
|
</span>
|
<span style="width:150px;margin-right: 10px;" id="title_3"> </span>
|
|
|
<span>可选工程: </span>
|
<select style="width: 150px;" id="gc_select">
|
|
</select>
|
<button onclick="useGongcheng();">
|
应用
|
</button>
|
|
|
|
<span>设置版图</span>
|
<input id="stock_set" style="width:100;margin-left:10px;margin-right:10px"></input>
|
<button onclick="set_stock(-1);">手动指定</button>
|
<button onclick="set_stock(0);">手动下一版</button>
|
</div>
|
<div id="tab1">
|
|
</div>
|
<div id="layout">
|
|
</div>
|
<div id="tab2">
|
|
</div>
|
</div>
|
|
|
<script>
|
var tab_opt1={
|
table:{
|
|
},
|
columns:[
|
{
|
name:"序号",
|
binding:"number",
|
|
}
|
,
|
|
{
|
name:"物料编码",
|
binding:"wuliao",
|
|
}
|
,
|
{
|
name:"宽度",
|
binding:"width",
|
|
},
|
{
|
name:"高度",
|
binding:"height",
|
|
}
|
]
|
};
|
|
|
var tab_opt2={
|
table:{
|
|
},
|
columns:[
|
{
|
name:"序号",
|
binding:"number",
|
|
}
|
,
|
{
|
name:"状态",
|
binding:"status",
|
|
}
|
,
|
{
|
name:"小片ID",
|
binding:"mark",
|
|
}
|
,
|
{
|
name:"X",
|
binding:"x",
|
|
}
|
,
|
{
|
name:"Y",
|
binding:"y",
|
|
},
|
{
|
name:"内容",
|
binding:"mark",
|
|
}
|
]
|
};
|
|
var tab1=createTable(document.getElementById("tab1"),tab_opt1);
|
var tab2=createTable(document.getElementById("tab2"),tab_opt2);
|
|
var layouts=[];
|
var stocks;
|
var marks_list=[];
|
var current_stock_number;
|
function show_marks(){
|
for(var i=0;i<marks_list.length;i++){
|
if(marks_list[i].stock_number==current_stock_number){
|
tab2.update(marks_list[i].marks);
|
break;
|
}
|
}
|
}
|
|
function init_marks(marks){
|
marks_list=[];
|
var mark_item=null;
|
for(var i=0;i<marks.length;i++){
|
var mk=marks[i];
|
mk.number=i+1;
|
mk.status="";
|
if(mark_item==null){
|
mark_item={
|
stock_number:mk.layout_number,
|
marks:[]
|
};
|
marks_list.push(mark_item);
|
}
|
if(mark_item.stock_number==mk.layout_number){
|
mark_item.marks.push(mk);
|
}
|
else{
|
mark_item={
|
stock_number:mk.layout_number,
|
marks:[]
|
};
|
marks_list.push(mark_item);
|
mark_item.marks.push(mk);
|
}
|
}
|
|
}
|
|
var layout=createLayout(document.getElementById("layout"));
|
|
var layout_opt=layout.createOneSelectOption(4000,3000,"lightblue","white");
|
var states=null;
|
var gongcheng_list=null;
|
function show_layout(){
|
for(var i=0;i<layouts.length;i++){
|
var lay=layouts[i];
|
if(lay.stock_number==current_stock_number){
|
layout_opt.items=lay.glasses;
|
layout.layout(layout_opt);
|
return;
|
}
|
}
|
}
|
|
function updateSelect(){
|
if(gongcheng_list!=null){
|
var sel=document.getElementById("gc_select");
|
var str="";
|
for(var i=0;i<gongcheng_list.length;i++){
|
str+="<option value='"+gongcheng_list[i].gongchenghao+"'>"+gongcheng_list[i].gongchenghao+"</option>"
|
}
|
sel.innerHTML=str;
|
}
|
}
|
var current_stock_id=null;
|
function updateState(){
|
if(states==null)
|
return;
|
|
document.getElementById("gc_title").innerText=states.gongchenghao;
|
if(current_stock_id!=states.current_stock_id){
|
current_stock_id=states.current_stock_id;
|
for(var i=0;i<stocks.length;i++){
|
if(stocks[i].id==current_stock_id){
|
current_stock_number=stocks[i].number;
|
document.getElementById("title_2").innerText=current_stock_number;
|
last_message=null;
|
show_layout();
|
show_marks();
|
break;
|
}
|
}
|
}
|
var st=states.work_state;
|
var ss=null;
|
switch(st){
|
case 0:
|
ss="等待上片";
|
break;
|
case 1:
|
ss="等待请求";
|
break;
|
case 2:
|
ss="等待接收";
|
break;
|
case 3:
|
ss="等待完成";
|
break;
|
}
|
document.getElementById("title_3").innerText=ss;
|
var s=states.last_message;
|
update_ok();
|
}
|
|
|
|
|
function init_layout(glasses){
|
|
layouts=[];
|
var stock=null;
|
for(var i=0;i<glasses.length;i++){
|
var glass=glasses[i];
|
if(stock==null){
|
stock={
|
stock_number:glass.stock_number,
|
glasses:[]
|
};
|
layouts.push(stock);
|
}
|
if(stock.stock_number==glass.stock_number){
|
var g={
|
x:glass.x,
|
y:glass.y,
|
width:glass.w,
|
height:glass.h,
|
data:glass,
|
id:glass.id
|
|
};
|
if(glass.isremain==false){
|
g.text=""+glass.id+"\r\n"+g.width+"x"+g.height;
|
}
|
else{
|
g.text="";
|
}
|
|
stock.glasses.push(g);
|
}
|
else{
|
stock={
|
stock_number:glass.stock_number,
|
glasses:[]
|
};
|
layouts.push(stock);
|
var g={
|
x:glass.x,
|
y:glass.y,
|
width:glass.w,
|
height:glass.h,
|
data:glass
|
};
|
stock.glasses.push(g);
|
}
|
}
|
}
|
|
|
function update(){
|
|
var req={
|
method:"getData"
|
};
|
|
$.ajax( {type:"post",
|
data:
|
JSON.stringify(req),
|
contentType:"application/json",
|
url:"/gmms2/mesview/data/_layser",
|
success:function(data){
|
pack= JSON.parse(data);
|
// document.getElementById("layout").innerText=data;
|
states=pack.states[0];
|
updateState();
|
|
},
|
error:function(data){
|
alert(data);
|
}});
|
setTimeout(update,1000);
|
}
|
|
function test(){
|
var req={
|
method:"getView"
|
};
|
$.ajax( {type:"post",
|
data:
|
JSON.stringify(req),
|
contentType:"application/json",
|
url:"/gmms2/mesview/data/_layser",
|
success:function(data){
|
pack= JSON.parse(data);
|
stocks=pack.stocks;
|
// document.getElementById("layout").innerText=data;
|
tab1.update(pack.stocks);
|
init_layout(pack.glasses);
|
init_marks(pack.marks);
|
current_stock_number=1;
|
|
|
gongcheng_list=pack.gongchengs;
|
states=pack.states[0];
|
updateSelect();
|
updateState();
|
|
},
|
error:function(data){
|
alert(data);
|
}});
|
}
|
|
|
|
function set_stock(mode){
|
var req={
|
method:"loadPiece",
|
stock_number:0
|
};
|
if(mode!=0){
|
req.stock_number=parseInt(document.getElementById("stock_set").value);
|
}
|
$.ajax( {type:"post",
|
data:
|
JSON.stringify(req),
|
contentType:"application/json",
|
url:"/gmms2/mesview/data/_layser",
|
success:function(data){
|
pack= JSON.parse(data);
|
if(pack.result=="ok"){
|
|
}
|
else{
|
alert(pack.result);
|
}
|
},
|
error:function(data){
|
alert(data);
|
}});
|
}
|
|
var last_message;
|
function update_ok(){
|
if(states==null)
|
return;
|
if(states.work_state==3){
|
var last=states.last_message;
|
if(last!=last_message){
|
last_message=last;
|
if(last==null)
|
return;
|
var body=tab2.z_b;
|
for(var i=0;i<body.children.length;i++){
|
var td=body.children[i].children[1];
|
var k=(i+1)*2+8;
|
if(last.length>k){
|
var ss= last.substring(i*2+8,i*2+10);
|
if(ss!="01"){
|
td.innerText="";
|
}
|
else{
|
td.innerText="√";
|
}
|
}
|
}
|
}
|
}
|
}
|
|
|
function useGongcheng(){
|
var s=document.getElementById("gc_select").value;
|
if(s==null || s==""){
|
return;
|
}
|
var req={
|
method:"useGongcheng",
|
gongchenghao:s
|
};
|
$.ajax( {type:"post",
|
data:
|
JSON.stringify(req),
|
contentType:"application/json",
|
url:"/gmms2/mesview/data/_layser",
|
success:function(data){
|
pack= JSON.parse(data);
|
if(pack.result=="ok"){
|
document.location.reload();
|
}
|
else{
|
alert(pack.result);
|
}
|
},
|
error:function(data){
|
alert(data);
|
}});
|
}
|
|
test();
|
setTimeout(update,1000);
|
|
</script>
|
</body>
|
|
|
|
</html>
|