Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/work/scadapic/picdesignmainpic.jsp

652 lines
23 KiB
Plaintext
Raw Normal View History

2026-01-16 14:13:44 +08:00
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<%@taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt"%>
<html>
<head>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<link rel="StyleSheet" href="CSS/comm2.css" type="text/css" />
<script type="text/javascript" src="JS/comm.js"></script>
</head>
<script type="text/javascript">
function searchSelect(o){
window.location="scadapicaction.do?method=picdesign&picid="+o+"&bizid=${bizid}";
}
function mpcopy(){
var xmlobj = new ActiveXObject("Microsoft.XMLHTTP");
var se = document.getElementById('frompicid');
var post = " ";
xmlobj.open("POST","scadapicaction.do?method=piccopy&topicid=${cp.id}&frompicid="+se.value,true);
xmlobj.setrequestheader("content-length", post.length);
xmlobj.setrequestheader("content-type", "application/x-www-form-urlencoded");
xmlobj.send(post);
}
function setdata() {
var obj = document.getElementsByTagName("DIV");
for(var i=0;i<obj.length;i++){
if(obj[i].className=="mpdiv"){
var xmlobj = new ActiveXObject("Microsoft.XMLHTTP");
var post = " ";
xmlobj.open("POST","scadapicaction.do?method=updatemponpic&id="+obj[i].id+"&posx="+obj[i].style.left+"&posy="+obj[i].style.top,true);
xmlobj.setrequestheader("content-length", post.length);
xmlobj.setrequestheader("content-type", "application/x-www-form-urlencoded");
xmlobj.send(post);
//var res = xmlobj.responseText;
//alert(res);
//result.innerHTML=res;
}
if(obj[i].className=="equdiv"){
var xmlobj = new ActiveXObject("Microsoft.XMLHTTP");
var post = " ";
xmlobj.open("POST","scadapicaction.do?method=updateequonpic&id="+obj[i].id+"&posx="+obj[i].style.left+"&posy="+obj[i].style.top,true);
xmlobj.setrequestheader("content-length", post.length);
xmlobj.setrequestheader("content-type", "application/x-www-form-urlencoded");
xmlobj.send(post);
//var res = xmlobj.responseText;
//alert(res);
//result.innerHTML=res;
}
if(obj[i].className=="sybdiv"){
var xmlobj = new ActiveXObject("Microsoft.XMLHTTP");
var post = " ";
xmlobj.open("POST","scadapicaction.do?method=updatesybonpic&id="+obj[i].id+"&posx="+obj[i].style.left+"&posy="+obj[i].style.top,true);
xmlobj.setrequestheader("content-length", post.length);
xmlobj.setrequestheader("content-type", "application/x-www-form-urlencoded");
xmlobj.send(post);
//var res = xmlobj.responseText;
//alert(res);
//result.innerHTML=res;
}
}
}
function getdata() {
var obj = document.getElementsByTagName("DIV");
for(var i=0;i<obj.length;i++){
if(obj[i].className=="mpdiv"){
var xmlobj = new ActiveXObject("Microsoft.XMLHTTP");
var post = " ";
xmlobj.open("POST",encodeURI(encodeURI("UnitPointAction.do?method=updatevalue&id="+obj[i].name)),false);
xmlobj.setrequestheader("content-length", post.length);
xmlobj.setrequestheader("content-type", "application/x-www-form-urlencoded");
xmlobj.send(post);
var res = xmlobj.responseText;
//alert(res);
var cobj= document.getElementById(obj[i].name);
if(cobj){
cobj.innerText=res;
}
}
}
}
<%-- function opensubpic(picid){--%>
<%-- window.showModalDialog('scadapicaction.do?method=picdesignsubpic&bizid=${bizid}&picid='+picid,'window','help:off;status:on;dialogWidth:1024px;dialogHeight:768px;dialogTop:0px;dialogLeft:0px')--%>
<%-- }--%>
function addmp(){
//openx();
window.location="scadapicaction.do?method=addmp&picid=${cp.id}&bizid=${bizid}";
}
function addequ(){
//openx();
window.location="scadapicaction.do?method=addequ&picid=${cp.id}&bizid=${bizid}";
}
function addsyb(){
//openx();
window.location="scadapicaction.do?method=addsyb&picid=${cp.id}&bizid=${bizid}";
}
function closex(){
$('divmid').style.display = "none";
$('divtop').style.display = "none";
}
function setandclosex(mpd,title,tag,u){
var so= $('sltmp');
if(so.disabled){
closex();
gdobj.name=mpd;
gdobj.innerHTML="<table bgcolor='c5c5c5' title='"+tag+"' onmousemove='Drag(this);' onmousedown='StartDrag(this);' onmouseup='StopDrag(this);' onmouseover='this.style.cursor=\"pointer\";' oncontextmenu='contxtmenu();return false;'><tr align='center' bgcolor='#888888'><td colspan='2'>"
+title+"</td></tr><tr height=\"20\"><td bgcolor=\"#000000\" style=\"color:#00FF00\" align=\"center\">"
+"</td><td width=\"30%\">"+u+"</td></tr></table>";
}
//alert(divx.innerHTML);
}
function mutclose(){
alert("a");
var so=$('sltmp');
for(var i=0;i<so.length;i++ ){
creatediv(so.options(i).value,so.options(i).innerText,'','');
}
closex();
//alert(divx.innerHTML);
}
function hisview(o){
window.open("UnitPointAction.do?method=hisview&mpd="+o.name,"_blank");
}
function creatediv(mpd,title,tag,u){
var divx = document.createElement("div");
document.body.appendChild(divx);
divx.name=mpd;
divx.ondblclick="hisview(this);";
divx.innerHTML="<table bgcolor='c5c5c5' title='"+tag+"' onmousemove='Drag(this);' onmousedown='StartDrag(this);' onmouseup='StopDrag(this);' onmouseover='this.style.cursor=\"pointer\";' oncontextmenu='contxtmenu();return false;'><tr align='center' bgcolor='#888888'><td colspan='2'>"
+title+"</td></tr><tr height=\"20\"><td bgcolor=\"#000000\" style=\"color:#00FF00\" align=\"center\">"
+"</td><td width=\"30%\">"+u+"</td></tr></table>";
divx.className="mpdiv";
with (divx.style) {
zIndex=19;
position = "absolute";
top="70px";
left="70px";
display="";
}
}
function setslt(mpd,title,tag){
var so=$('sltmp');
var oOption = document.createElement("OPTION");
so.options.add(oOption);
oOption.innerText = title;
oOption.value = mpd;
}
function openx(flg){
function isIE(){
return (document.all && window.ActiveXObject && !window.opera) ? true : false;
}
var bgcolor="#FFFFFF";
var trans=80;
var body = document.body;
var bodyWidth = parseInt((body.scrollWidth<body.clientWidth)?body.clientWidth:body.scrollWidth);
var bodyHeight = body.clientWidth; parseInt((body.scrollHeight<body.clientHeight)?body.clientHeight:body.scrollHeight);
var clientWidth=body.clientWidth;
var clientHeight=body.clientHeight;
if($('divtop')){
var DivTop = $('divtop');
}else{
var DivTop = document.createElement("div");
DivTop.id = "divtop";
body.appendChild(DivTop);
xml = new ActiveXObject("Microsoft.XMLHTTP");
var post = " ";
xml.open("POST", "UnitPointAction.do?method=getmplist&picid=<c:out value='${cp.id}' />&flg="+flg, false);
xml.setrequestheader("content-length", post.length);
xml.setrequestheader("content-type", "application/x-www-form-urlencoded");
xml.send(post);
var res = xml.responseText;
alert(res);
DivTop.innerHTML = res;
}
with(DivTop.style)
{
display = "none";
zIndex = 30;
position = "absolute";
border = "thin";
}
if($('divmid')){
var DivMid = $('divmid');
}else{
var DivMid = document.createElement("div");
DivMid.id = "divmid";
body.appendChild(DivMid);
}
with(DivMid.style){
display = "none";
zIndex = 20;
position = "absolute";
top = "0px";
left = "0px";
border = "0px";
backgroundColor = bgcolor;
}
with(body.style){
width = clientWidth;
height = clientHeight;
overflow = "hidden";
}
with(DivMid.style){
width = "100%";
height = "100%";
overflow = "hidden";
display = "";
if (isIE()){
filter = " Alpha(Opacity="+trans+")";
}else{
opacity = trans/100;
}
}
with(DivTop.style){
display = "";
}
DivTop.style.top="50px";
DivTop.style.left="100px";
var so= $('sltmp')
if(flg=='chg'){
so.disabled=true;
}else{
so.disabled=false;
}
so= $('mutadd')
if(flg=='chg'){
so.disabled=true;
}else{
so.disabled=false;
}
}
var move = false;
var ox, oy;
function settop(obj) {
var obj = document.getElementsByTagName("DIV");
for(var i=0;i<obj.length;i++){
if((obj[i].className=="mpdiv" || obj[i].parentElement.className=="equdiv" || obj[i].parentElement.className=="sybdiv")&&obj[i].style.zIndex>9){
document.all[i].style.zIndex = 9;
}
}
while(obj.parentElement){
if(obj.parentElement.className=="mpdiv" || obj.parentElement.className=="equdiv" || obj.parentElement.className=="sybdiv"){
obj=obj.parentElement;
break;
}else{
obj=obj.parentElement;
}
}
if(obj.className=="mpdiv" || obj.className=="equdiv" || obj.className=="sybdiv"){
obj.style.zIndex = 10;
}
}
function StartDrag(obj) {
settop(event.srcElement);
obj.setCapture();
move = true;
ox = event.clientX;
oy = event.clientY;
}
function Drag(obj) {
if (move) {
var oldwin =event.srcElement;
while(oldwin.parentElement){
if(oldwin.parentElement.className=="mpdiv" || oldwin.parentElement.className=="equdiv" || oldwin.parentElement.className=="sybdiv"){
oldwin=oldwin.parentElement;
break;
}else{
oldwin=oldwin.parentElement;
}
}
if(oldwin.className=="mpdiv" || oldwin.className=="equdiv" || oldwin.className=="sybdiv"){
oldwin.style.left = event.clientX - ox + parseInt(oldwin.style.left);
if(parseInt(oldwin.style.left)<0){
oldwin.style.left=0;
}
oldwin.style.top = event.clientY - oy + parseInt(oldwin.style.top);
if(parseInt(oldwin.style.top)<0){
oldwin.style.top=0;
}
ox = event.clientX;
oy = event.clientY;
}
}
}
function StopDrag(obj) {
obj.releaseCapture();
move = false;
}
function $(Id) {
return document.getElementById(Id);
}
function delmp(){
if(gdobj.id!=""){
xml = new ActiveXObject("Microsoft.XMLHTTP");
var post = " ";
xml.open("POST", "scadapicaction.do?method=deletemponpic&id="+gdobj.id, false);
xml.setrequestheader("content-length", post.length);
xml.setrequestheader("content-type", "application/x-www-form-urlencoded");
xml.send(post);
var res = xml.responseText;
result.innerHTML = res;
gdobj.parentElement.removeChild(gdobj);
oPopup.hide();
}else{
document.body.removeChild(gdobj);
oPopup.hide();
}
}
function delequ(){
if(gdobj.id!=""){
xml = new ActiveXObject("Microsoft.XMLHTTP");
var post = " ";
xml.open("POST", "scadapicaction.do?method=deleteequonpic&id="+gdobj.id, false);
xml.setrequestheader("content-length", post.length);
xml.setrequestheader("content-type", "application/x-www-form-urlencoded");
xml.send(post);
var res = xml.responseText;
result.innerHTML = res;
gdobj.parentElement.removeChild(gdobj);
oPopup.hide();
}else{
document.body.removeChild(gdobj);
oPopup.hide();
}
}
function delsyb(){
if(gdobj.id!=""){
xml = new ActiveXObject("Microsoft.XMLHTTP");
var post = " ";
xml.open("POST", "scadapicaction.do?method=deletesybonpic&id="+gdobj.id, false);
xml.setrequestheader("content-length", post.length);
xml.setrequestheader("content-type", "application/x-www-form-urlencoded");
xml.send(post);
var res = xml.responseText;
result.innerHTML = res;
gdobj.parentElement.removeChild(gdobj);
oPopup.hide();
}else{
document.body.removeChild(gdobj);
oPopup.hide();
}
}
function syncall(){
xml = new ActiveXObject("Microsoft.XMLHTTP");
var post = " ";
xml.open("POST", "sybonpicaction.do?method=syncall", true);
xml.setrequestheader("content-length", post.length);
xml.setrequestheader("content-type", "application/x-www-form-urlencoded");
xml.send(post);
}
function chgmp(){
oPopup.hide();
openx('chg');
}
function mpedit(){
window.open(encodeURI(encodeURI("measurepointaction.do?method=doedit&id="+gdobj.name)));
}
var oPopup = window.createPopup();
var gdobj;
function contxtmenump(){
//alert(event.srcElement.innerHTML);
gdobj=event.srcElement;
while(gdobj.parentElement){
if(gdobj.parentElement.className=="mpdiv"){
gdobj=gdobj.parentElement;
break;
}else{
gdobj=gdobj.parentElement;
}
}
oPopup.document.body.innerHTML=""
+"<table cellpadding='1' cellspacing='1' border='1' bgcolor='#c5c5c5' width='100%' style='font-size:12px;'>"
+"<tr style='cursor:pointer;'><td valign='middle' height='20' onclick='parent.delmp();'>删除</td></tr>"
+"<tr style='cursor:pointer;'><td valign='middle' height='20' onclick='parent.mpedit();'>测量点设置</td></tr><table>";
oPopup.show(event.x, event.y, 90, 48,document.body);
//alert(oPopup.document.body.innerHTML);
}
function contxtmenusyb(){
//alert(event.srcElement.innerHTML);
gdobj=event.srcElement;
while(gdobj.parentElement){
if(gdobj.parentElement.className=="sybdiv"){
gdobj=gdobj.parentElement;
break;
}else{
gdobj=gdobj.parentElement;
}
}
oPopup.document.body.innerHTML=""
+"<table cellpadding='1' cellspacing='1' border='1' bgcolor='#c5c5c5' width='100%' style='font-size:12px;'>"
+"<tr style='cursor:pointer;'><td valign='middle' height='20' onclick='parent.delsyb();'>删除</td></tr><table>";
oPopup.show(event.x, event.y, 90, 24,document.body);
//alert(oPopup.document.body.innerHTML);
}
function contxtmenuequ(){
//alert(event.srcElement.innerHTML);
gdobj=event.srcElement;
while(gdobj.parentElement){
if(gdobj.parentElement.className=="equdiv"){
gdobj=gdobj.parentElement;
break;
}else{
gdobj=gdobj.parentElement;
}
}
oPopup.document.body.innerHTML=""
+"<table cellpadding='1' cellspacing='1' border='1' bgcolor='#c5c5c5' width='100%' style='font-size:12px;'>"
+"<tr style='cursor:pointer;'><td valign='middle' height='20' onclick='parent.delequ();'>删除</td></tr><table>";
oPopup.show(event.x, event.y, 90, 24,document.body);
//alert(oPopup.document.body.innerHTML);
}
function sybedit(o){
window.open("sybonpicaction.do?method=doedit&id="+o);
}
</script>
<body >
<table cellpadding="0" CELLSPACING="0" width="1000"
class="toolbartable">
<tr class="toolbartableline1">
<td width="20"></td>
<td width="70px" style="vertical-align: middle" align="center"
onmouseover="this.className='over';"
onmouseout="this.className='';" onclick="addmp();">
<img alt="" src="IMG/button/new.gif" style="vertical-align: middle">
测量点
</td>
<td width="56px" style="vertical-align: middle" align="center"
onmouseover="this.className='over';"
onmouseout="this.className='';" onclick="addequ();">
<img alt="" src="IMG/button/new.gif" style="vertical-align: middle">
设备
</td>
<td width="56px" style="vertical-align: middle" align="center"
onmouseover="this.className='over';"
onmouseout="this.className='';" onclick="addsyb();">
<img alt="" src="IMG/button/new.gif" style="vertical-align: middle">
标识
</td>
<td width="56px" style="vertical-align: middle" align="center"
onmouseover="this.className='over';"
onmouseout="this.className='';" onclick="syncall();">
<img alt="" src="IMG/button/new.gif" style="vertical-align: middle">
同步
</td>
<td width="80px" style="vertical-align: middle" align="center"
onmouseover="this.className='over';"
onmouseout="this.className='';" onclick="setdata();">
<img alt="" src="IMG/button/save.gif"
style="vertical-align: middle">
保存布局
</td>
<td width="80px" style="vertical-align: middle" align="center"
onmouseover="this.className='over';"
onmouseout="this.className='';" onclick="getdata();">
<img alt="" src="IMG/button/undo.gif"
style="vertical-align: middle">
获取数据
</td>
<td width="56px" style="vertical-align: middle" align="center"
onmouseover="this.className='over';"
onmouseout="this.className='';" onclick="mpcopy();">
<img alt="" src="IMG/button/new.gif" style="vertical-align: middle">
复制
</td>
<td>
<select name='frompicid' id="frompicid" >
<c:forEach items="${scadapiclist}" var="current">
<c:if test="${current.id==cp.id}">
<option value="<c:out value="${current.id}"/>" selected>
<c:out value="${current.name }" />
</option>
</c:if>
<c:if test="${current.id!=cp.id}">
<option value="<c:out value="${current.id}"/>" >
<c:out value="${current.name }" />
</option>
</c:if>
</c:forEach>
</select>
</td>
<td style="vertical-align: middle">
<div id="result">
</div>
</td>
<td>
&nbsp;
</td>
<td align="right">
<select name='picid' id="picid" onchange="searchSelect(this.value)">
<c:forEach items="${scadapiclist}" var="current">
<c:if test="${current.id==cp.id}">
<option value="<c:out value="${current.id}"/>" selected>
<c:out value="${current.name }" />
</option>
</c:if>
<c:if test="${current.id!=cp.id}">
<option value="<c:out value="${current.id}"/>" >
<c:out value="${current.name }" />
</option>
</c:if>
</c:forEach>
</select>
</td>
</tr>
</table>
<br>
<img src="${cp.picurl}" width="1000" height="620" border="0" ISMAP USEMAP="#${cp.id }">
<MAP NAME="${cp.id }">
<c:out value="${cp.areas}" escapeXml="false"></c:out>
</MAP>
<div
id="<c:out value="${cp.picurl}" />">
<c:forEach items="${mplist}" var="cmp">
<div
style="font-size:12px;z-index:9;position:absolute;top:${cmp.posy};left:${cmp.posx};"
class="mpdiv" id="${cmp.id}"
name="${cmp.mpid}" ondblclick="hisview(this);">
<c:if test="${empty cmp._icon}">
<table bgcolor="#c5c5c5" width="70" style="font-size:12px"
title="${cmp.name}"
onmousemove="Drag(this);" onmousedown="StartDrag(this);"
onmouseup="StopDrag(this);"
onmouseover="this.style.cursor='pointer';"
oncontextmenu="contxtmenump();return false;">
<tr align="center" bgcolor="#888888">
<td colspan="2">
<c:out value="${cmp.name}" />
</td>
</tr>
<tr>
<td bgcolor="#000000" style="color: #00FF00" align="center"
ID="<c:out value="${cmp.name}" />">
<c:out value="${cmp.cvalue}" />
</td>
<td width="30%">
<c:out value="${cmp.unit}" />
</td>
</tr>
</table>
</c:if>
<c:if test="${not empty cmp._icon}">
<div id="${cmp.mpid}" onmousemove="Drag(this);" onmousedown="StartDrag(this);"
onmouseup="StopDrag(this);"
onmouseover="this.style.cursor='pointer';" oncontextmenu="contxtmenump();return false;">
<img src="${cmp._icon}">
</div>
</c:if>
</div>
</c:forEach>
<c:forEach items="${syblist}" var="csyb">
<div
style="font-size:12px;z-index:9;position:absolute;top:${csyb.posy};left:${csyb.posx};"
class="sybdiv" id="${csyb.id}"
name="${csyb.id}" ondblclick="sybedit('${csyb.id}')";>
<c:if test="${empty csyb._icon}">
<table bgcolor="#c5c5c5" width="70" style="font-size:12px"
title="${csyb.title}"
onmousemove="Drag(this);" onmousedown="StartDrag(this);"
onmouseup="StopDrag(this);"
onmouseover="this.style.cursor='pointer';"
oncontextmenu="contxtmenusyb();return false;">
<tr align="center" bgcolor="#888888">
<td colspan="2">
<c:out value="${csyb.title}" />
</td>
</tr>
<tr>
<td bgcolor="#000000" style="color: #00FF00" align="center"
ID="<c:out value="${csyb.title}" />">
<c:out value="${csyb.cvalue}" />
</td>
<td width="30%">
<c:out value="${csyb.unit}" />
</td>
</tr>
</table>
</c:if>
<c:if test="${not empty csyb._icon}">
<div id="${csyb.id}" onmousemove="Drag(this);" onmousedown="StartDrag(this);"
onmouseup="StopDrag(this);"
onmouseover="this.style.cursor='pointer';" oncontextmenu="contxtmenusyb();return false;">
<img src="${csyb._icon}">
</div>
</c:if>
</div>
</c:forEach>
<c:forEach items="${equlist}" var="cmp">
<div
style="background-image: url('${cmp.logo}');font-size:12px;z-index:9;position:absolute;top:${cmp.posy};left:${cmp.posx};height:100px;background-repeat:no-repeat;"
class="equdiv" id="${cmp.id}"
name="${cmp.equid}" ondblclick="hisview(this);">
<table bgcolor="#c5c5c5" width="100" style="font-size:12px"
title="${cmp.name}"
onmousemove="Drag(this);" onmousedown="StartDrag(this);"
onmouseup="StopDrag(this);"
onmouseover="this.style.cursor='pointer';"
oncontextmenu="contxtmenuequ();return false;">
<tr align="center" bgcolor="#888888">
<td colspan="2">
<c:out value="${cmp.name}" />
</td>
</tr>
<tr>
<td bgcolor="#000000" style="color: #00FF00" align="center"
ID="<c:out value="${cmp.name}" />">
</td>
<td width="30%">
</td>
</tr>
</table>
</div>
</c:forEach>
</div>
<br>
</body>
</html>