2095 lines
82 KiB
Plaintext
2095 lines
82 KiB
Plaintext
|
|
<%@ 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"%>
|
|||
|
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
|||
|
|
<%@ page import="com.sipai.entity.base.ServerObject"%>
|
|||
|
|
<%@ taglib uri="http://www.springsecurity.org/jsp" prefix="security"%>
|
|||
|
|
|
|||
|
|
<%@page import="com.sipai.entity.scada.ScadaAlarm"%>
|
|||
|
|
<%@page import="com.sipai.entity.work.ScadaPic_Txt"%>
|
|||
|
|
<%@page import="com.sipai.entity.work.ScadaPic"%>
|
|||
|
|
<%@page import="com.sipai.entity.equipment.EquipmentCard"%>
|
|||
|
|
<%@page import="com.sipai.entity.maintenance.MaintenanceDetail"%>
|
|||
|
|
<%@page import="com.sipai.entity.maintenance.MaintenanceCommString"%>
|
|||
|
|
<%@page import="com.sipai.entity.work.KPIPointProfessor"%>
|
|||
|
|
<%@page import="com.sipai.entity.work.ProAlarm"%>
|
|||
|
|
|
|||
|
|
<% request.setAttribute("Type_scadapic_ps", ScadaPic.Type_scadapic_ps); %>
|
|||
|
|
<% request.setAttribute("Status_N", ProAlarm.Status_N); %>
|
|||
|
|
<% request.setAttribute("Status_C", ProAlarm.Status_C); %>
|
|||
|
|
<% request.setAttribute("Status_Y", ProAlarm.Status_Y); %>
|
|||
|
|
|
|||
|
|
<%@page import="java.util.Date"%>
|
|||
|
|
<%@page import="java.text.SimpleDateFormat"%>
|
|||
|
|
<%@ page import="com.sipai.tools.SessionManager"%>
|
|||
|
|
<%
|
|||
|
|
SessionManager sessionManager = new SessionManager();
|
|||
|
|
%>
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("Flag_Txt", ScadaPic_Txt.Flag_Txt);
|
|||
|
|
%>
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("Flag_MPoint", ScadaPic_Txt.Flag_MPoint);
|
|||
|
|
%>
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("Flag_EM", ScadaPic_Txt.Flag_EM);
|
|||
|
|
%>
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("Flag_PS", ScadaPic_Txt.Flag_PS);
|
|||
|
|
%>
|
|||
|
|
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("Type_Prime", ScadaPic_Txt.Type_Prime);
|
|||
|
|
%>
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("Type_Detail", ScadaPic_Txt.Type_Detail);
|
|||
|
|
%>
|
|||
|
|
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("Status_Start", MaintenanceDetail.Status_Start);
|
|||
|
|
%>
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("Status_Finish",
|
|||
|
|
MaintenanceDetail.Status_Finish);
|
|||
|
|
%>
|
|||
|
|
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("MAINTENANCE_TYPE_REPAIR",
|
|||
|
|
MaintenanceCommString.MAINTENANCE_TYPE_REPAIR);
|
|||
|
|
%>
|
|||
|
|
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("Status_Fault", EquipmentCard.Status_Fault);
|
|||
|
|
%>
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("Status_OFF", EquipmentCard.Status_OFF);
|
|||
|
|
%>
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("Status_ON", EquipmentCard.Status_ON);
|
|||
|
|
%>
|
|||
|
|
<%-- <%
|
|||
|
|
request.setAttribute("Status_StandBy", EquipmentCard.Status_StandBy);
|
|||
|
|
%>
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("Status_UnMatch",
|
|||
|
|
EquipmentCard.Status_UnMatch);
|
|||
|
|
%> --%>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("Type_scadapic_brief",
|
|||
|
|
ScadaPic.Type_scadapic_brief);
|
|||
|
|
%>
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("Type_scadapic_detail",
|
|||
|
|
ScadaPic.Type_scadapic_detail);
|
|||
|
|
%>
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("STATUS_ALARM", ScadaAlarm.STATUS_ALARM);
|
|||
|
|
%>
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("STATUS_ALARM_CONFIRM", ScadaAlarm.STATUS_ALARM_CONFIRM);
|
|||
|
|
%>
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("STATUS_ALARM_RECOVER", ScadaAlarm.STATUS_ALARM_RECOVER);
|
|||
|
|
%>
|
|||
|
|
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("Flag_Yes", KPIPointProfessor.Flag_Yes);
|
|||
|
|
%>
|
|||
|
|
<%
|
|||
|
|
request.setAttribute("Flag_No", KPIPointProfessor.Flag_No);
|
|||
|
|
%>
|
|||
|
|
<!DOCTYPE html>
|
|||
|
|
<!-- <html lang="zh-CN"> -->
|
|||
|
|
<!-- BEGIN HEAD -->
|
|||
|
|
<head>
|
|||
|
|
<title><%=ServerObject.atttable.get("TOPTITLE")%></title>
|
|||
|
|
<!-- 引用页头及CSS页-->
|
|||
|
|
<jsp:include page="/jsp/inc.jsp"></jsp:include>
|
|||
|
|
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/toastr/toastr.min.css"/>
|
|||
|
|
<style type="text/css">
|
|||
|
|
.main-container::-webkit-scrollbar {/*滚动条整体样式*/
|
|||
|
|
width: 0; /*高宽分别对应横竖滚动条的尺寸*/
|
|||
|
|
}
|
|||
|
|
#toast-container>.toast-success{
|
|||
|
|
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAiCAYAAABMfblJAAAHUElEQVR42rWXeVCU5x3H/aOdadpJpjPp1E6bSTRNm9RMjVpDDmNSBR0xUS41qESORa7lFoGFXUBgF/Zil2tXFJVbxCOEifXAeKLVxBQlSpQoQrkEuQU5on76sEbUicVtmnx3fvM++x7P5/097+9430mTfoDkC1aS+IEnigWrmPRTSGb7IZGeUnLS9Ww0J5NhCMNkCMBkDKPIlIRBrmDDmtAfB66J3oCfz/scrgiirU5Jf3MKw61GbrdmMNJiZKBRTdMXUSgjFpG0Pv6HQxXOvqwLlVBe5M2dbjFxi46+axp667V0XVPTeS2FzgYVXQ1q+hp10GbgE60D60MD0Mn+R7DsA3cigr24/GU8o+0GegRozLotpqanXvPAxm7iqrB/C2hNLHaz/kRMUjw66XrroVGhvjReTGCoSWeB9DzW1HTXf3cDAjh83cjpvOVsSNiAeWM2qalK64CJfjKO7QtkuC1tQphlK5bzVot4pm1qLh0PwSgPYkytzY2kpKlJlQQ9GWrKjuT2Df2EoLEb6ROwjiupbM6KoHSbnvyNZgvsrviNaWBogBAv74mBOt9oDny6DvozGBQTdl99CFavtDyz3oZUBpo1jF7XU5LrzcDAbcZ19+49ExoeHibIP2BioEoSgqPtNNavteWb6hT6m7QPgAI+1Gqgr8nA8YpwLpyMoupgJHt2fczjVF9/DXl0zMRARUAYlWZXcbaWaD87epuUwqN70FttGo6WhzNz2nPMmfUSzz37G2xtXsTVaRYXztU88FBodHSU4uIitBr1xEC9Vxi6SCfKM9345nQkO3N9GGzRizzT0lKdjKerLXeui/AfNIvcNNG+P4ivd0lY67WKM2erx72rq7uEQh5DtilzYqDWPYj42FCUskXESReSoXES4W5gsFlPRbE3u3L9kbi8hcxrHt1HorhTHcnQmWgufBGJ2zIXamu/soRMYNA6VBoV5swnAIuUZpSJSzldGYnLwteoyA/mVqteLKuG/sY0AtzfQxXrzEfuttjPfYUcxVKKM1dCXybhUluUKem42M3Afd5LLHZYSn5K2sRAeZhU5JaOU59GELxiLqNdWfSK5bzZrONOezbZake+qpCKMqbizG5PoiTzufDPeG62pomyp+b3T/+c6spohmvjeMvGBvUKr4mBZq2ZykI3ylIc+aRUypCojx1n4zid6ykKtfBSeFtkkpCpWEJBlg8NtckMimrUf0XNnU49hsB3SVN7smeLKykxcU9O+mRnL3I0yTi8/QLfdqaLNNAzUqtgb/wiJIumCc+MDIsgGmzLZqR1LJhEERDJ330lmaEOPXkJzpzc60+ySsoGew/rSltB7jZe/vMr7DEsY6fSgbzY5ZSlSXFcsITmwwEMXE+jt1nNzRYtHRfl9DRmcHu0m+6mEjovxfGvQ+swRCZaBzP6hJOq11C4vYiq42cp3VXBwROn6Orvo6GlFSebP9JWHUt9VQIm+Xw6mveOp0JRQQnvzJ5KoOs7pHpFWAn0CqVoezEFeQWkqpPJL8zj69oadGlay6Rt7b0snG9HuM8c4dW1RypLQeF2spTOFKkckHkEW9+aigoLOHjoAD5rJWMXWewpYSUlJVRVVbF95/bvlbG8vHy02nT27w5i6Ox6YgJ9rQduMZkICfCnovxj/rF/L4cOVeLhsYbz58/T1dVF3eU6+vt7x2GHDh7E398HO1s7Vs5/mc9zXVjn70XIG7aTn9x433WoU8TK7vW01lZqamooLy/n6tV6jh49yr59+2hsbLQcHxkZpqunA1W8lAjfxWQm2/OzXz7DVtMmkR5R1nmY4BtM5cmjPEkXL16kt7eLk2KJk2JW8+Ux0XyTVnHy1Oekx8ez8le/nWwVMCJA+ljA3e+6wJhufzvK5k0bLWOdTkdCpAdluRLRjhos+963X0SGn5XvM8bYePZ/doDOjo5HIA/r+IljmE1ZlvGHzk44Oy6hq7vf8r+zs50pU5/H21eCj7sHOeIVc0JgnkzJMtflHDly+BHIjRs3LNvBwUF0Wg1bcjchF+1n27atj5w3Zcrz5GWbyAmUUWjKISQynFWrXUmSSL8PNscmRmeZs1CpkqM3iUi9r8uXL9PS0mIZnxdBFKeQEx8nZ+jW4Pg5Nwf6ePbXT6MQ+2PfXJJ+f87wNxd7fLZjD2ERYfj5+ZC4yuceuNicg0ap9DB6h0xe5uQoguLC+GRGo3F8rNNpSdNoCA0OHN+XKzway1V1SiKJ9iv/6xLmxikpLi1kksLJ7bWHD7z66l/GXxPGUkAjAPe1ZLE9r8+cwejIEJ3tbfxt9iymvvgC27IyibEm7x6nOTavWyavFAm9o2wH586fY1REZn7eVmxmzGBXWSm7d5bxzFO/IFEeS2lq+v/3EfP39+bS09vN5o0m1rh/hCEjjWyNDlO28EIWxR9+N5mZ0//KmRPHf5yvpVnTp7NCRKqX+xqkbu7I57lYJlYlJZGuFeDMDAwGPeZ0448DfOPt2QSsdsPgH/aTfGz+B5xa3Kmb79haAAAAAElFTkSuQmCC) !important;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
</style>
|
|||
|
|
<script type="text/javascript">
|
|||
|
|
|
|||
|
|
// 兼容IE11 Array.from方法
|
|||
|
|
// Production steps of ECMA-262, Edition 6, 22.1.2.1
|
|||
|
|
if (!Array.from) {
|
|||
|
|
Array.from = (function () {
|
|||
|
|
var toStr = Object.prototype.toString;
|
|||
|
|
var isCallable = function (fn) {
|
|||
|
|
return typeof fn === 'function' || toStr.call(fn) === '[object Function]';
|
|||
|
|
};
|
|||
|
|
var toInteger = function (value) {
|
|||
|
|
var number = Number(value);
|
|||
|
|
if (isNaN(number)) { return 0; }
|
|||
|
|
if (number === 0 || !isFinite(number)) { return number; }
|
|||
|
|
return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));
|
|||
|
|
};
|
|||
|
|
var maxSafeInteger = Math.pow(2, 53) - 1;
|
|||
|
|
var toLength = function (value) {
|
|||
|
|
var len = toInteger(value);
|
|||
|
|
return Math.min(Math.max(len, 0), maxSafeInteger);
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
// The length property of the from method is 1.
|
|||
|
|
return function from(arrayLike/*, mapFn, thisArg */) {
|
|||
|
|
// 1. Let C be the this value.
|
|||
|
|
var C = this;
|
|||
|
|
|
|||
|
|
// 2. Let items be ToObject(arrayLike).
|
|||
|
|
var items = Object(arrayLike);
|
|||
|
|
|
|||
|
|
// 3. ReturnIfAbrupt(items).
|
|||
|
|
if (arrayLike == null) {
|
|||
|
|
throw new TypeError('Array.from requires an array-like object - not null or undefined');
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 4. If mapfn is undefined, then let mapping be false.
|
|||
|
|
var mapFn = arguments.length > 1 ? arguments[1] : void undefined;
|
|||
|
|
var T;
|
|||
|
|
if (typeof mapFn !== 'undefined') {
|
|||
|
|
// 5. else
|
|||
|
|
// 5. a If IsCallable(mapfn) is false, throw a TypeError exception.
|
|||
|
|
if (!isCallable(mapFn)) {
|
|||
|
|
throw new TypeError('Array.from: when provided, the second argument must be a function');
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined.
|
|||
|
|
if (arguments.length > 2) {
|
|||
|
|
T = arguments[2];
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 10. Let lenValue be Get(items, "length").
|
|||
|
|
// 11. Let len be ToLength(lenValue).
|
|||
|
|
var len = toLength(items.length);
|
|||
|
|
|
|||
|
|
// 13. If IsConstructor(C) is true, then
|
|||
|
|
// 13. a. Let A be the result of calling the [[Construct]] internal method
|
|||
|
|
// of C with an argument list containing the single item len.
|
|||
|
|
// 14. a. Else, Let A be ArrayCreate(len).
|
|||
|
|
var A = isCallable(C) ? Object(new C(len)) : new Array(len);
|
|||
|
|
|
|||
|
|
// 16. Let k be 0.
|
|||
|
|
var k = 0;
|
|||
|
|
// 17. Repeat, while k < len… (also steps a - h)
|
|||
|
|
var kValue;
|
|||
|
|
while (k < len) {
|
|||
|
|
kValue = items[k];
|
|||
|
|
if (mapFn) {
|
|||
|
|
A[k] = typeof T === 'undefined' ? mapFn(kValue, k) : mapFn.call(T, kValue, k);
|
|||
|
|
} else {
|
|||
|
|
A[k] = kValue;
|
|||
|
|
}
|
|||
|
|
k += 1;
|
|||
|
|
}
|
|||
|
|
// 18. Let putStatus be Put(A, "length", len, true).
|
|||
|
|
A.length = len;
|
|||
|
|
// 20. Return A.
|
|||
|
|
return A;
|
|||
|
|
};
|
|||
|
|
}());
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<script type="text/javascript">
|
|||
|
|
var beginTimeStore1 = '';
|
|||
|
|
var endTimeStore1 = '';
|
|||
|
|
|
|||
|
|
var companyId = "";
|
|||
|
|
var processSectionId = "";//底图id
|
|||
|
|
var processid ="";//工艺段id
|
|||
|
|
var selectionIds = []; //保存选中ids
|
|||
|
|
function initDate1() {
|
|||
|
|
//定义locale汉化插件
|
|||
|
|
beginTimeStore1 = moment().subtract(6, 'days').format('YYYY-MM-DD');;
|
|||
|
|
endTimeStore1 = moment().subtract(-1, 'days').format('YYYY-MM-DD');
|
|||
|
|
/* if(${param.sdt!=''}){
|
|||
|
|
beginTimeStore1='2018-08-09';
|
|||
|
|
}
|
|||
|
|
if(${param.edt!=''}){
|
|||
|
|
endTimeStore1='2018-08-10';
|
|||
|
|
} */
|
|||
|
|
var locale = {
|
|||
|
|
"format": 'YYYY-MM-DD',
|
|||
|
|
"separator": " ~ ",
|
|||
|
|
"applyLabel": "确定",
|
|||
|
|
"cancelLabel": "取消",
|
|||
|
|
"fromLabel": "起始时间",
|
|||
|
|
"toLabel": "结束时间'",
|
|||
|
|
"customRangeLabel": "自定义",
|
|||
|
|
"weekLabel": "W",
|
|||
|
|
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
|
|||
|
|
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
|||
|
|
"firstDay": 1
|
|||
|
|
};
|
|||
|
|
$('#reservationtime1').daterangepicker({
|
|||
|
|
"timePicker": false,
|
|||
|
|
"timePicker24Hour": false,
|
|||
|
|
"linkedCalendars": false,
|
|||
|
|
"autoUpdateInput": false,
|
|||
|
|
"timePickerIncrement": 10,
|
|||
|
|
"locale": locale,
|
|||
|
|
//汉化按钮部分
|
|||
|
|
ranges: {
|
|||
|
|
'今日': [moment(), moment().subtract(-1, 'days')],
|
|||
|
|
'昨日': [moment().subtract(1, 'days'), moment()],
|
|||
|
|
'最近7日': [moment().subtract(6, 'days'), moment().subtract(-1, 'days')],
|
|||
|
|
'本月': [moment().startOf('month'), moment().endOf('month').subtract(-1, 'days')],
|
|||
|
|
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1, 'days')]
|
|||
|
|
},
|
|||
|
|
startDate: beginTimeStore1,
|
|||
|
|
endDate: endTimeStore1
|
|||
|
|
}, function(start, end, label) {
|
|||
|
|
beginTimeStore1 = start.format(this.locale.format);
|
|||
|
|
endTimeStore1 = end.format(this.locale.format);
|
|||
|
|
if(!this.startDate){
|
|||
|
|
this.element.val('');
|
|||
|
|
}else{
|
|||
|
|
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
$('#reservationtime1').val(beginTimeStore1 + locale.separator + endTimeStore1);
|
|||
|
|
};
|
|||
|
|
var beginTimeStore2 = '';
|
|||
|
|
var endTimeStore2 = '';
|
|||
|
|
function initDate2() {
|
|||
|
|
//定义locale汉化插件
|
|||
|
|
beginTimeStore2 = moment().subtract(1, 'month').format('YYYY-MM-DD');
|
|||
|
|
endTimeStore2 = moment().subtract(0, 'month').format('YYYY-MM-DD');
|
|||
|
|
// if(${param.sdt!=''}){
|
|||
|
|
// beginTimeStore2='2019-01-01';
|
|||
|
|
// }
|
|||
|
|
// if(${param.edt!=''}){
|
|||
|
|
// endTimeStore2='2019-01-01';
|
|||
|
|
// }
|
|||
|
|
var locale = {
|
|||
|
|
"format": 'YYYY-MM-DD',
|
|||
|
|
"separator": " ~ ",
|
|||
|
|
"applyLabel": "确定",
|
|||
|
|
"cancelLabel": "取消",
|
|||
|
|
"fromLabel": "起始时间",
|
|||
|
|
"toLabel": "结束时间'",
|
|||
|
|
"customRangeLabel": "自定义",
|
|||
|
|
"weekLabel": "W",
|
|||
|
|
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
|
|||
|
|
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
|||
|
|
"firstDay": 1
|
|||
|
|
};
|
|||
|
|
$('#reservationtime2').daterangepicker({
|
|||
|
|
"timePicker": false,
|
|||
|
|
"timePicker24Hour": false,
|
|||
|
|
"linkedCalendars": false,
|
|||
|
|
"autoUpdateInput": false,
|
|||
|
|
"timePickerIncrement": 10,
|
|||
|
|
"locale": locale,
|
|||
|
|
//汉化按钮部分
|
|||
|
|
ranges: {
|
|||
|
|
'今日': [moment(), moment().subtract(-1, 'days')],
|
|||
|
|
'昨日': [moment().subtract(1, 'days'), moment()],
|
|||
|
|
'最近7日': [moment().subtract(6, 'days'), moment().subtract(-1, 'days')],
|
|||
|
|
'本月': [moment().startOf('month'), moment().endOf('month').subtract(-1, 'days')],
|
|||
|
|
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1, 'days')]
|
|||
|
|
},
|
|||
|
|
startDate: beginTimeStore2,
|
|||
|
|
endDate: endTimeStore2
|
|||
|
|
}, function(start, end, label) {
|
|||
|
|
beginTimeStore2 = start.format(this.locale.format);
|
|||
|
|
endTimeStore2 = end.format(this.locale.format);
|
|||
|
|
if(!this.startDate){
|
|||
|
|
this.element.val('');
|
|||
|
|
}else{
|
|||
|
|
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
$('#reservationtime2').val(beginTimeStore2 + locale.separator + endTimeStore2);
|
|||
|
|
//$('#reservationtime2').val(beginTimeStore2 + locale.separator + endTimeStore2);
|
|||
|
|
//$('#reservationtime2').daterangepicker({autoUpdateInput:false})
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
var myChart;
|
|||
|
|
function dochart(psid){
|
|||
|
|
//$.post(ext.contextPath +"/maintenance/getStaffMaintenanceResultView.do",{userId:"${param.userId}",sdt:beginTimeStore1,edt:endTimeStore1},function(data){
|
|||
|
|
|
|||
|
|
// var posList = [
|
|||
|
|
// 'left', 'right', 'top', 'bottom',
|
|||
|
|
// 'inside',
|
|||
|
|
// 'insideTop', 'insideLeft', 'insideRight', 'insideBottom',
|
|||
|
|
// 'insideTopLeft', 'insideTopRight', 'insideBottomLeft', 'insideBottomRight'
|
|||
|
|
// ];
|
|||
|
|
|
|||
|
|
// unitId: unitId,
|
|||
|
|
// pSectionId: processid,
|
|||
|
|
// beginTimeStore:beginTimeStore2,
|
|||
|
|
// endTimeStore:endTimeStore2
|
|||
|
|
$.post(ext.contextPath +"/work/proAlarm/getAlarmNumber.do",{unitId:unitId,sdt:beginTimeStore2,edt:endTimeStore2,pSectionId:psid},function(data){
|
|||
|
|
var num=[];
|
|||
|
|
var num_recover=[];
|
|||
|
|
var p_name=[];
|
|||
|
|
var res= eval('(' + data + ')');
|
|||
|
|
// console.log('res:'+data);
|
|||
|
|
$('#myTab li a[data-toggle="tab"]').on('show.bs.tab',function(e){
|
|||
|
|
if($(e.target).context.hash === '#tab3'&&res.length>0) {
|
|||
|
|
getCamerasDetail(res[0].id);
|
|||
|
|
} else {
|
|||
|
|
$('#camerasFrame').html('');
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
for(var i=0;i<res.length;i++){
|
|||
|
|
p_name.push(res[i].p_name);
|
|||
|
|
num.push(res[i].num);
|
|||
|
|
num_recover.push(res[i].num_recover);
|
|||
|
|
}
|
|||
|
|
option = {
|
|||
|
|
color: ['#3c8dbc', '#5bc0de'],
|
|||
|
|
tooltip: {
|
|||
|
|
trigger: 'axis',
|
|||
|
|
axisPointer: {
|
|||
|
|
type: 'shadow'
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
legend: {
|
|||
|
|
data: ['报警总数量', '已解除报警量']
|
|||
|
|
},
|
|||
|
|
/* toolbox: {
|
|||
|
|
show: true,
|
|||
|
|
orient: 'vertical',
|
|||
|
|
left: 'right',
|
|||
|
|
top: 'center',
|
|||
|
|
feature: {
|
|||
|
|
mark: {show: true},
|
|||
|
|
dataView: {show: true, readOnly: false},
|
|||
|
|
magicType: {show: true, type: ['line', 'bar', 'stack', 'tiled']},
|
|||
|
|
restore: {show: true},
|
|||
|
|
saveAsImage: {show: true}
|
|||
|
|
}
|
|||
|
|
}, */
|
|||
|
|
calculable: true,
|
|||
|
|
xAxis: [
|
|||
|
|
{
|
|||
|
|
type: 'category',
|
|||
|
|
axisTick: {show: false},
|
|||
|
|
data: p_name,
|
|||
|
|
axisLabel: {
|
|||
|
|
rotate: 340//横坐标倾斜角度
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
yAxis: [
|
|||
|
|
{
|
|||
|
|
type: 'value'
|
|||
|
|
// min:0,
|
|||
|
|
// max:10
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
series: [
|
|||
|
|
{
|
|||
|
|
name: '报警总数量',
|
|||
|
|
type: 'bar',
|
|||
|
|
barGap: 0,
|
|||
|
|
//label: labelOption,
|
|||
|
|
data: num
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: '已解除报警量',
|
|||
|
|
type: 'bar',
|
|||
|
|
//label: labelOption,
|
|||
|
|
data: num_recover
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
};
|
|||
|
|
if(myChart!=null){
|
|||
|
|
myChart.clear();
|
|||
|
|
myChart.dispose();
|
|||
|
|
}
|
|||
|
|
//var boxHeight=legendData.length*200;
|
|||
|
|
var boxHeight=450;
|
|||
|
|
var boxWidth=$("#tab6").width();
|
|||
|
|
$("#box").height(boxHeight);
|
|||
|
|
$("#box").width(boxWidth*0.45);
|
|||
|
|
/* var boxWidth=$("#boxdiv").width();
|
|||
|
|
$("#box").height(boxHeight);
|
|||
|
|
$("#box").width(boxWidth); */
|
|||
|
|
setTimeout(function(){
|
|||
|
|
myChart = echarts.init(document.getElementById("box"));
|
|||
|
|
//自适用大小
|
|||
|
|
//用于使chart自适应高度和宽度
|
|||
|
|
//window.onresize=myChart.resize;
|
|||
|
|
myChart.setOption(option);
|
|||
|
|
},100);
|
|||
|
|
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var addFun = function() {
|
|||
|
|
$.post(ext.contextPath + '/process/add.do', {} , function(data) {
|
|||
|
|
$("#subDiv").html(data);
|
|||
|
|
openModal('subModal');
|
|||
|
|
});
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
var editFun = function(id) {
|
|||
|
|
initDate1();
|
|||
|
|
$.post(ext.contextPath + '/work/kpipoint/showchart.do', {companyId:unitId,ids:id,sdt:beginTimeStore1,edt:endTimeStore1} , function(data) {
|
|||
|
|
$("#subDiv").html(data);
|
|||
|
|
openModal('subModal');
|
|||
|
|
});
|
|||
|
|
};
|
|||
|
|
var viewFun = function(flag,mpid) {
|
|||
|
|
if(flag=='${Flag_Yes}'){
|
|||
|
|
$.post(ext.contextPath + '/work/KPIPro/view.do', {companyId:unitId,mpid:mpid} , function(data) {
|
|||
|
|
$("#subDiv").html(data);
|
|||
|
|
openModal('subModal1');
|
|||
|
|
});
|
|||
|
|
}else{
|
|||
|
|
swal('暂无建议');
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//swal('系统升级中');
|
|||
|
|
};
|
|||
|
|
var viewEqu = function(id) {
|
|||
|
|
$.post(ext.contextPath + '/equipment/doview.do', {id:id} , function(data) {
|
|||
|
|
$("#subDiv").html(data);
|
|||
|
|
openModal('subModal');
|
|||
|
|
});
|
|||
|
|
};
|
|||
|
|
var deleteFun = function(id) {
|
|||
|
|
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 + '/process/delete.do', {id : id}, function(data) {
|
|||
|
|
if(data==1){
|
|||
|
|
$("#table").bootstrapTable('refresh');
|
|||
|
|
}else{
|
|||
|
|
showAlert('d','删除失败','mainAlertdiv');
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
};
|
|||
|
|
var deletesFun = function() {
|
|||
|
|
var checkedItems = $("#table").bootstrapTable('getSelections');
|
|||
|
|
var datas="";
|
|||
|
|
$.each(checkedItems, function(index, item){
|
|||
|
|
datas+=item.id+",";
|
|||
|
|
});
|
|||
|
|
if(datas==""){
|
|||
|
|
showAlert('d','请先选择记录','mainAlertdiv');
|
|||
|
|
}else{
|
|||
|
|
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 + '/process/deletes.do', {ids:datas} , function(data) {
|
|||
|
|
if(data>0){
|
|||
|
|
$("#table").bootstrapTable('refresh');
|
|||
|
|
}else{
|
|||
|
|
showAlert('d','删除失败','mainAlertdiv');
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
var init = function() {
|
|||
|
|
$('#myTab a[href="#tab1"]').tab('show');
|
|||
|
|
var Width = window.innerWidth;
|
|||
|
|
var Height = window.innerHeight;
|
|||
|
|
|
|||
|
|
//window.onresize = changesize;
|
|||
|
|
/* $.post(ext.contextPath + "/user/getSearchBizsByUserId4Select.do", {}, function(data) {
|
|||
|
|
|
|||
|
|
if(data.length == 1){
|
|||
|
|
//选择厂区为一个厂时隐藏选择框
|
|||
|
|
$("#search_code").css("display", "none");
|
|||
|
|
$("#company").text(data[0].text);
|
|||
|
|
companyId=data[0].id;
|
|||
|
|
dosearch();
|
|||
|
|
|
|||
|
|
}else{
|
|||
|
|
|
|||
|
|
$("#company").css("display", "none");
|
|||
|
|
var selelct=$("#search_code").select2({
|
|||
|
|
data : data ,
|
|||
|
|
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'})
|
|||
|
|
selelct.val('').trigger("change");
|
|||
|
|
refreshSelect();
|
|||
|
|
selelct.on("change",function(e){
|
|||
|
|
companyId= $(this).val();
|
|||
|
|
dosearch();
|
|||
|
|
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
},'json'); */
|
|||
|
|
////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//简易公司combotree
|
|||
|
|
// $.post(ext.contextPath + '/user/getUnitForTree.do', { ng: '' }, function (data) {
|
|||
|
|
// if (data.length == 1 && !data[0].hasOwnProperty("nodes")) {
|
|||
|
|
// //当登陆者的pid以下没有子节点时显示单独一个span
|
|||
|
|
// $("#search_code").val(data[0].id);
|
|||
|
|
// $("#companyselect").hide();
|
|||
|
|
// $("#company").text("公司: " + data[0].text);
|
|||
|
|
// companyId = data[0].id;
|
|||
|
|
// dosearch();
|
|||
|
|
// //initFun();
|
|||
|
|
// } else if ((data.length == 1 && data.nodes != "") || data.length > 1) {
|
|||
|
|
// //第一次加载时赋值
|
|||
|
|
// $("#search_code").val(data[0].id);
|
|||
|
|
// $("#cname_input").val(data[0].text);
|
|||
|
|
// companyId = data[0].id;
|
|||
|
|
// dosearch();
|
|||
|
|
// //initFun();
|
|||
|
|
// //$table.bootstrapTable('refresh');//异步加载重新刷新,待修改
|
|||
|
|
// $('#companytree').treeview({
|
|||
|
|
// data: data,
|
|||
|
|
// showBorder: false,
|
|||
|
|
// levels: 3,
|
|||
|
|
// });
|
|||
|
|
// $('#companytree').on('nodeSelected', function (event, data) {
|
|||
|
|
// $("#search_code").val(data.id);
|
|||
|
|
// $("#cname_input").val(data.text);
|
|||
|
|
// document.getElementById('ul_tree').style.display = "none";
|
|||
|
|
// companyId= data.id;
|
|||
|
|
// dosearch();
|
|||
|
|
// //initFun();
|
|||
|
|
// });
|
|||
|
|
// } else {
|
|||
|
|
// //待完善
|
|||
|
|
// };
|
|||
|
|
// }, 'json');
|
|||
|
|
dosearch();
|
|||
|
|
//防止点击树的+号收起下拉框
|
|||
|
|
$("#ul_tree").on("click", function (e) {
|
|||
|
|
event.stopPropagation();
|
|||
|
|
});
|
|||
|
|
//点击空白隐藏树
|
|||
|
|
$(document).click(function (e) {
|
|||
|
|
var divTree = $('#ul_tree'); // 设置目标区域
|
|||
|
|
if (!divTree.is(e.target) && divTree.has(e.target).length === 0) {
|
|||
|
|
divTree.hide()
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
var dosearch = function() {
|
|||
|
|
var contentdiv=$("#content");
|
|||
|
|
$.post(ext.contextPath + "/work/scadaPic/getlist4Combo.do", {companyId:unitId,type:'${Type_scadapic_brief}'}, function(data) {
|
|||
|
|
var res= JSON.parse(data);
|
|||
|
|
// console.log(res);
|
|||
|
|
|
|||
|
|
$("#table").bootstrapTable('refresh');
|
|||
|
|
$("#table1").bootstrapTable('refresh');
|
|||
|
|
$("#table2").bootstrapTable('refresh');
|
|||
|
|
$("#table3").bootstrapTable('refresh');
|
|||
|
|
//console.info(processSectionId);
|
|||
|
|
// console.info(res.length);
|
|||
|
|
if(res.length==0){
|
|||
|
|
processSectionId='';
|
|||
|
|
$("#img").attr("src","");
|
|||
|
|
$("#tab2_img").attr("src","");
|
|||
|
|
showMPoint();
|
|||
|
|
showEM();
|
|||
|
|
showPS();
|
|||
|
|
showTxt();
|
|||
|
|
}else{
|
|||
|
|
processSectionId = res[0].id;
|
|||
|
|
showMPoint();
|
|||
|
|
showEM();
|
|||
|
|
showPS();
|
|||
|
|
showTxt();
|
|||
|
|
$("#img").attr("src",ext.serverPath + res[0].picpath);
|
|||
|
|
|
|||
|
|
//$("#tab2_img").attr("src",ext.serverPath + res[i].picpath);
|
|||
|
|
$.post(ext.contextPath + "/work/scadaPic/getlist4Combo.do", {companyId:unitId,type:'${Type_scadapic_ps}'}, function(data) {
|
|||
|
|
var res= JSON.parse(data);
|
|||
|
|
// console.log("cb",res);
|
|||
|
|
$("#tab2_img").attr("src",ext.serverPath + res[0].picpath);
|
|||
|
|
showTabMPoint(res[0].id);
|
|||
|
|
showTabPS(res[0].id);
|
|||
|
|
showTabTxt(res[0].id);
|
|||
|
|
showTabEM(res[0].id);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
dochart();
|
|||
|
|
};
|
|||
|
|
function showdetail(psid) {
|
|||
|
|
selectionIds=[];
|
|||
|
|
$("#table").bootstrapTable('refresh');
|
|||
|
|
$("#table1").bootstrapTable('refresh');
|
|||
|
|
$("#table2").bootstrapTable('refresh');
|
|||
|
|
$("#table3").bootstrapTable('refresh');
|
|||
|
|
var contentdiv=$("#content");
|
|||
|
|
//$("#tab2_img").attr("height",contentdiv.height());
|
|||
|
|
$.post(ext.contextPath + "/work/scadaPic/getlist4Combo.do", {companyId:unitId,pSectionId:psid}, function(data) {
|
|||
|
|
var res = eval('(' + data + ')');
|
|||
|
|
// console.log("ccc",res);
|
|||
|
|
if(res.length==0){
|
|||
|
|
$("#tab2_img").attr("src","");
|
|||
|
|
}else{
|
|||
|
|
$("#tab2_img").attr("src",ext.serverPath + res[0].picpath);
|
|||
|
|
showTabMPoint(res[0].id);
|
|||
|
|
showTabPS(res[0].id);
|
|||
|
|
showTabTxt(res[0].id);
|
|||
|
|
showTabEM(res[0].id);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
dochart(psid);
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
function goToLocation(url){
|
|||
|
|
$.post(ext.contextPath +"/user/getMenuRelation.do",{location:url},function(data){
|
|||
|
|
// console.info(data)
|
|||
|
|
if(data.length>2){
|
|||
|
|
doforward(url,data[2].id,data[1].id,data[0].id)
|
|||
|
|
}
|
|||
|
|
},'json');
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
function clearPS(){
|
|||
|
|
clearItem("${Flag_PS}");
|
|||
|
|
}
|
|||
|
|
var psOnClick = false;
|
|||
|
|
var itemId = '';
|
|||
|
|
function showPS(){
|
|||
|
|
var workshopid = processSectionId;
|
|||
|
|
$.post(ext.contextPath + "/work/scadaPic/getPSList.do", {pid:workshopid,companyId:unitId}, function(data) {
|
|||
|
|
|
|||
|
|
clearItem("${Flag_PS}");
|
|||
|
|
if (data.length>0) {
|
|||
|
|
for(i=0 ;i<data.length;i++){
|
|||
|
|
var item= data[i];
|
|||
|
|
containerWidth = $("#content").width();
|
|||
|
|
containerHeight = $("#content").height();
|
|||
|
|
|
|||
|
|
var picurl = ext.contextPath+item.picurl;
|
|||
|
|
var value='';
|
|||
|
|
//console.info('222'+item.processSectionName);
|
|||
|
|
if(item.processSection!=null){
|
|||
|
|
value=item.processSection.name;
|
|||
|
|
}
|
|||
|
|
var left=containerWidth*item.posx/item.containerwidth;
|
|||
|
|
var top=containerHeight*item.posy/item.containerheight;
|
|||
|
|
var w=containerWidth*item.width/item.containerwidth;
|
|||
|
|
var h=containerHeight*item.height/item.containerheight;
|
|||
|
|
var problemNumber = parseInt(item.problemNumber);
|
|||
|
|
var alarmNumber = parseInt(item.alarmNumber);
|
|||
|
|
var professorNumber = parseInt(item.professorNumber);
|
|||
|
|
// var son= '<div contentEditable="false" class="bootstrap-draggable " style="cursor:pointer !important;width:'+w+'px;height:'+h+'px;position:absolute;top:'+top+'px;left:'+left+'px;" id="'+item.id+'" type="${Flag_PS}" data-name='+item.processsectionid+'>';
|
|||
|
|
// //'<span style="font-weight:bold">'+value+'</span>'+
|
|||
|
|
// //'<img src="'+picurl+'" width="100%"></img>'+
|
|||
|
|
// // '<a type="button" onclick="deleteps(this)" title="删除"><i class="fa fa-close"></i></a>'+
|
|||
|
|
// //'<div class="pull-right"style="width:20px;height:20px;margin-right:0px;border-radius:10px;background-color:#ff0000">'+'</div>';
|
|||
|
|
|
|||
|
|
// if(problemNumber>0){
|
|||
|
|
// son +='<div id="'+item.id+'problem" class="pull-right"style="line-height:20px;font-size:10px;text-align:center;cursor:pointer;width:20px;height:20px;margin-right:0px;border-radius:10px;background-color:#F3C200;color:white">'+item.problemNumber+'</div>';
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
// if(alarmNumber>0){
|
|||
|
|
|
|||
|
|
// son +='<div id="'+item.id+'alarm" class=" pull-right"style="line-height:20px;font-size:10px;text-align:center;cursor:pointer;width:20px;height:20px;margin-left:0px;border-radius:10px;background-color:#ff0000;color:white">'+item.alarmNumber+'</div>';
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
// if(professorNumber>0){
|
|||
|
|
// son +='<span id="'+item.id+'professor" class="pull-left" style="width:45px;height:35px;background:url(../../IMG/processSection_pic/p8.png) no-repeat;background-size:cover;margin-right:5px;cursor:pointer;"></span>';
|
|||
|
|
// }
|
|||
|
|
// son +='</div>';
|
|||
|
|
|
|||
|
|
var son= '<div contentEditable="false" class="bootstrap-draggable " style="cursor:pointer !important;width:'+w+'px;height:'+h+'px;position:absolute;top:'+top+'px;left:'+left+'px;" id="'+item.id+'" type="${Flag_PS}" data-name='+item.processsectionid+'>'+
|
|||
|
|
// '<span style="font-weight:bold">'+value+'</span>'+
|
|||
|
|
//'<img src="'+picurl+'" width="100%"></img>'+
|
|||
|
|
'<div style="float:left;width:100%;height:15px;color:#3E98D7;"><span >'+item.processSection.name+'</span></div>'+
|
|||
|
|
'</div>';
|
|||
|
|
|
|||
|
|
//console.info(son)
|
|||
|
|
$("#content").append(son);
|
|||
|
|
//报警页面跳转
|
|||
|
|
$('#'+item.id+'alarm').click(function(){
|
|||
|
|
goToLocation('work/scadaAlarm/showlist.do');
|
|||
|
|
});
|
|||
|
|
//缺陷页面跳转
|
|||
|
|
$('#'+item.id+'problem').click(function(){
|
|||
|
|
goToLocation('maintenance/showMaintenanceDetailList.do');
|
|||
|
|
});
|
|||
|
|
//专家建议页面跳转
|
|||
|
|
$('#'+item.id+'professor').click(function(){
|
|||
|
|
goToLocation('work/KPIPro/showlist.do');
|
|||
|
|
});
|
|||
|
|
//2019-10-23
|
|||
|
|
if(psOnClick == true){
|
|||
|
|
var obj = document.getElementsByTagName("DIV");
|
|||
|
|
//循环逆序删除
|
|||
|
|
for(var i=obj.length-1;i>0;i--){
|
|||
|
|
//console.info(obj[i].className.indexOf("easyui-draggable"));
|
|||
|
|
//console.info(obj[i].getAttribute("type"));
|
|||
|
|
if(obj[i].className.indexOf("bootstrap-draggable")>=0 && obj[i].getAttribute("type")=="${Flag_PS}"){
|
|||
|
|
//console.info(obj[i]);
|
|||
|
|
//alert();
|
|||
|
|
|
|||
|
|
obj[i].style.background ="rgba(255,255,255,0)";
|
|||
|
|
//obj[i].css({"background-color":"clear"});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
var id = $('#'+itemId).attr("id");
|
|||
|
|
//$('#'+item.id).css({"background-color":"rgba(142,229,238,0.5)"});
|
|||
|
|
$('#'+id).css({"background-color":"rgba(83,134,139,0.5)"});
|
|||
|
|
}
|
|||
|
|
//$("#tab2").append(son);
|
|||
|
|
$('#'+item.id).click(function(){
|
|||
|
|
processid = $(this).data("name");
|
|||
|
|
var obj = document.getElementsByTagName("DIV");
|
|||
|
|
//循环逆序删除
|
|||
|
|
for(var i=obj.length-1;i>0;i--){
|
|||
|
|
//console.info(obj[i].className.indexOf("easyui-draggable"));
|
|||
|
|
//console.info(obj[i].getAttribute("type"));
|
|||
|
|
if(obj[i].className.indexOf("bootstrap-draggable")>=0 && obj[i].getAttribute("type")=="${Flag_PS}"){
|
|||
|
|
//console.info(obj[i]);
|
|||
|
|
//alert();
|
|||
|
|
|
|||
|
|
obj[i].style.background ="rgba(255,255,255,0)";
|
|||
|
|
//obj[i].css({"background-color":"clear"});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
var id = $(this).attr("id");
|
|||
|
|
//$('#'+id).css({"background-color":"rgba(83,134,139,0.5)"});
|
|||
|
|
$('#'+id).css({"background-image":"radial-gradient(rgba(83,134,139,0.5), rgba(83,134,139,0.5), rgba(83,134,139,0))"});
|
|||
|
|
//2019-10-23
|
|||
|
|
psOnClick = true;
|
|||
|
|
itemId = item.id;
|
|||
|
|
if(!$('#tab3').hasClass('active')){
|
|||
|
|
showdetail(processid);
|
|||
|
|
} else {
|
|||
|
|
getCamerasDetail(processid);
|
|||
|
|
}
|
|||
|
|
$('#myTab li a[data-toggle="tab"]').on('show.bs.tab',function(e){
|
|||
|
|
// console.log('进入111');
|
|||
|
|
if($(e.target).context.hash === '#tab3') {
|
|||
|
|
// console.log('进入');
|
|||
|
|
getCamerasDetail(processid);
|
|||
|
|
} else {
|
|||
|
|
$('#camerasFrame').html(data);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
},'json');
|
|||
|
|
};
|
|||
|
|
function showTabPS(id){
|
|||
|
|
var workshopid = id;
|
|||
|
|
|
|||
|
|
$.post(ext.contextPath + "/work/scadaPic/getPSList.do", {pid:workshopid}, function(data) {
|
|||
|
|
|
|||
|
|
clearTabItem("${Flag_PS}");
|
|||
|
|
if (data.length>0) {
|
|||
|
|
for(i=0 ;i<data.length;i++){
|
|||
|
|
var item= data[i];
|
|||
|
|
containerWidth = $("#tab2").width()+10;
|
|||
|
|
containerHeight = $("#tab2").height()+5;
|
|||
|
|
|
|||
|
|
var picurl = ext.contextPath+item.picurl;
|
|||
|
|
var value='';
|
|||
|
|
//console.info('222'+item.processSectionName);
|
|||
|
|
if(item.processSection!=null){
|
|||
|
|
value=item.processSection.name;
|
|||
|
|
}
|
|||
|
|
var left=containerWidth*item.posx/item.containerwidth;
|
|||
|
|
var top=containerHeight*item.posy/item.containerheight;
|
|||
|
|
var w=containerWidth*item.width/item.containerwidth;
|
|||
|
|
var h=containerHeight*item.height/item.containerheight;
|
|||
|
|
var son= '<div contentEditable="false" class="bootstrap-draggable " style="cursor:pointer;width:'+w+'px;height:'+w+'px;position:absolute;top:'+top+'px;left:'+left+'px;" id="'+item.id+'" type="${Flag_PS}" data-name='+item.processSectionid+'>'+
|
|||
|
|
//'<span style="font-weight:bold">'+value+'</span>'+
|
|||
|
|
//'<img src="'+picurl+'" width="100%"></img>'+
|
|||
|
|
// '<a type="button" onclick="deleteps(this)" title="删除"><i class="fa fa-close"></i></a>'+
|
|||
|
|
'</div>';
|
|||
|
|
|
|||
|
|
//console.info(son)
|
|||
|
|
//$("#content").append(son);
|
|||
|
|
$("#tab2").append(son);
|
|||
|
|
/* $('#'+item.id).bind('contextmenu',function(e){
|
|||
|
|
selectid=this.id;
|
|||
|
|
e.preventDefault();
|
|||
|
|
$('#mEM').menu('show', {
|
|||
|
|
left: e.pageX,
|
|||
|
|
top: e.pageY
|
|||
|
|
});
|
|||
|
|
}); */
|
|||
|
|
//$('#'+item.id).draggable()
|
|||
|
|
//$('#'+item.id).resizable()
|
|||
|
|
//$('#'+item.id).draggable();
|
|||
|
|
|
|||
|
|
//$('#'+item.id).resizable({ alsoResize: '.other' });
|
|||
|
|
$('#'+item.id).click(function(){
|
|||
|
|
processid = $(this).data("name");
|
|||
|
|
showdetail(processid);
|
|||
|
|
//console.info(this)
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
},'json');
|
|||
|
|
};
|
|||
|
|
function showEM(){
|
|||
|
|
var workshopid = processSectionId;
|
|||
|
|
|
|||
|
|
$.post(ext.contextPath + "/work/scadaPic/getEMList.do", {pid:workshopid}, function(data) {
|
|||
|
|
//console.info(data);
|
|||
|
|
clearItem("${Flag_EM}");
|
|||
|
|
if (data.length>0) {
|
|||
|
|
for(i=0 ;i<data.length;i++){
|
|||
|
|
var item= data[i];
|
|||
|
|
containerWidth = $("#content").width();
|
|||
|
|
containerHeight = $("#content").height();
|
|||
|
|
|
|||
|
|
var left=containerWidth*item.posx/item.containerwidth;
|
|||
|
|
var top=containerHeight*item.posy/item.containerheight;
|
|||
|
|
var w=containerWidth*item.width/item.containerwidth;
|
|||
|
|
var h=containerHeight*item.height/item.containerheight;
|
|||
|
|
var son= '<div contentEditable="false" class="bootstrap-draggable bootstrap-resizable" style="cursor:pointer;border:1px solid yellow;width:'+w+'px;height:'+h+'px;position:absolute;top:'+top+'px;left:'+left+'px;" id="'+item.id+'" type="${Flag_EM}" equipid='+item.equipid+'>'+
|
|||
|
|
'<span style="color:white;font-size:'+item.fsize+'">'+
|
|||
|
|
item.txt+
|
|||
|
|
'</span><span style="color:white;font-size:'+item.fsize+'">'+
|
|||
|
|
''+
|
|||
|
|
'</span>'+
|
|||
|
|
//'<a type="button" onclick="deleteem(this)" title="删除"><i class="fa fa-close"></i></a>'+
|
|||
|
|
'</div>';
|
|||
|
|
|
|||
|
|
//console.info(son)
|
|||
|
|
$("#content").append(son);
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
},'json');
|
|||
|
|
};
|
|||
|
|
function showTabEM(id){
|
|||
|
|
var workshopid = id;
|
|||
|
|
|
|||
|
|
$.post(ext.contextPath + "/work/scadaPic/getEMList.do", {pid:workshopid}, function(data) {
|
|||
|
|
//console.info(data);
|
|||
|
|
clearTabItem("${Flag_EM}");
|
|||
|
|
if (data.length>0) {
|
|||
|
|
for(i=0 ;i<data.length;i++){
|
|||
|
|
var item= data[i];
|
|||
|
|
containerWidth = $("#tab2").width()+10;
|
|||
|
|
containerHeight = $("#tab2").height()+5;
|
|||
|
|
|
|||
|
|
var left=containerWidth*item.posx/item.containerwidth;
|
|||
|
|
var top=containerHeight*item.posy/item.containerheight;
|
|||
|
|
var w=containerWidth*item.width/item.containerwidth;
|
|||
|
|
var h=containerHeight*item.height/item.containerheight;
|
|||
|
|
/* console.log("containerWidth:"+containerWidth);
|
|||
|
|
console.log("item.containerwidth:"+item.containerwidth);
|
|||
|
|
console.log("containerHeight:"+containerHeight);
|
|||
|
|
console.log("w:"+w);
|
|||
|
|
console.log("h:"+h); */
|
|||
|
|
var son= '<div contentEditable="false" class="bootstrap-draggable bootstrap-resizable" style="cursor:pointer;border:1px solid yellow;width:'+w+'px;height:'+h+'px;position:absolute;top:'+top+'px;left:'+left+'px;" id="'+item.id+'" type="${Flag_EM}" equipid='+item.equipid+'>'+
|
|||
|
|
'<span style="color:white;font-size:'+item.fsize+'">'+
|
|||
|
|
item.txt+
|
|||
|
|
'</span><span style="color:white;font-size:'+item.fsize+'">'+
|
|||
|
|
''+
|
|||
|
|
'</span>'+
|
|||
|
|
//'<a type="button" onclick="deleteem(this)" title="删除"><i class="fa fa-close"></i></a>'+
|
|||
|
|
'</div>';
|
|||
|
|
|
|||
|
|
//console.info(son)
|
|||
|
|
//$("#content").append(son);
|
|||
|
|
$("#tab2").append(son);
|
|||
|
|
|
|||
|
|
$('#'+item.id).click(function(){
|
|||
|
|
//console.info(this)
|
|||
|
|
showEMInfo(this.getAttribute("equipid"));
|
|||
|
|
//console.info(this)
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
},'json');
|
|||
|
|
};
|
|||
|
|
function showEMInfo(id){
|
|||
|
|
$.post(ext.contextPath + '/equipment/doview.do', {id:id} , function(data) {
|
|||
|
|
$("#subDiv").html(data);
|
|||
|
|
openModal('subModal');
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
function showTxt(){
|
|||
|
|
var workshopid = processSectionId;
|
|||
|
|
$.post(ext.contextPath + "/work/scadaPic/getTxtList.do", {pid:workshopid}, function(data) {
|
|||
|
|
clearItem("${Flag_Txt}");
|
|||
|
|
if (data.length>0) {
|
|||
|
|
for(i=0 ;i<data.length;i++){
|
|||
|
|
var item= data[i];
|
|||
|
|
containerWidth = $("#content").width();
|
|||
|
|
containerHeight = $("#content").height();
|
|||
|
|
|
|||
|
|
var left=containerWidth*item.posx/item.containerwidth;
|
|||
|
|
var top=containerHeight*item.posy/item.containerheight;
|
|||
|
|
son= '<div contentEditable="false" class="bootstrap-draggable" style="background-color:green;width:100px;height:20px;position:absolute;top:'+top+'px;left:'+left+'px;" id="'+item.id+'" type="${Flag_Txt}">'+
|
|||
|
|
'<span style="color:white;font-size:'+item.fsize+'">'+
|
|||
|
|
item.content+
|
|||
|
|
'</span>'+
|
|||
|
|
//'<a type="button" onclick="deletetxt(this)" title="删除"><i class="fa fa-close"></i></a>'+
|
|||
|
|
'</div>';
|
|||
|
|
|
|||
|
|
// console.info(son)
|
|||
|
|
$("#content").append(son);
|
|||
|
|
//$("#tab2").append(son);
|
|||
|
|
//$('#'+item.id).draggable();
|
|||
|
|
|
|||
|
|
//$('#'+item.id).resizable({ alsoResize: '.other' });
|
|||
|
|
/* $('#'+item.id).click(function(){
|
|||
|
|
//console.info(this)
|
|||
|
|
showEMInfo(this.getAttribute("equipid"));
|
|||
|
|
//console.info(this)
|
|||
|
|
}); */
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
},'json');
|
|||
|
|
};
|
|||
|
|
function showTabTxt(id){
|
|||
|
|
var workshopid = id;
|
|||
|
|
$.post(ext.contextPath + "/work/scadaPic/getTxtList.do", {pid:workshopid}, function(data) {
|
|||
|
|
clearTabItem("${Flag_Txt}");
|
|||
|
|
if (data.length>0) {
|
|||
|
|
for(i=0 ;i<data.length;i++){
|
|||
|
|
var item= data[i];
|
|||
|
|
containerWidth = $("#tab2").width()+10;
|
|||
|
|
containerHeight = $("#tab2").height()+5;
|
|||
|
|
|
|||
|
|
var left=containerWidth*item.posx/item.containerwidth;
|
|||
|
|
var top=containerHeight*item.posy/item.containerheight;
|
|||
|
|
son= '<div contentEditable="false" class="bootstrap-draggable" style="background-color:green;width:100px;height:20px;position:absolute;top:'+top+'px;left:'+left+'px;" id="'+item.id+'" type="${Flag_Txt}">'+
|
|||
|
|
'<span style="color:white;font-size:'+item.fsize+'">'+
|
|||
|
|
item.content+
|
|||
|
|
'</span>'+
|
|||
|
|
//'<a type="button" onclick="deletetxt(this)" title="删除"><i class="fa fa-close"></i></a>'+
|
|||
|
|
'</div>';
|
|||
|
|
|
|||
|
|
// console.info(son)
|
|||
|
|
//$("#content").append(son);
|
|||
|
|
$("#tab2").append(son);
|
|||
|
|
//$('#'+item.id).draggable();
|
|||
|
|
|
|||
|
|
//$('#'+item.id).resizable({ alsoResize: '.other' });
|
|||
|
|
/* $('#'+item.id).click(function(){
|
|||
|
|
//console.info(this)
|
|||
|
|
showEMInfo(this.getAttribute("equipid"));
|
|||
|
|
//console.info(this)
|
|||
|
|
}); */
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
},'json');
|
|||
|
|
};
|
|||
|
|
var MpPics;
|
|||
|
|
function showMPoint(){
|
|||
|
|
// console.log("processSectionId"+processSectionId);
|
|||
|
|
clearItem("${Flag_MPoint}");
|
|||
|
|
var workshopid = processSectionId;
|
|||
|
|
$.post(ext.contextPath + "/work/scadaPic/getMPointList.do", {companyId:unitId,pid:workshopid}, function(data) {
|
|||
|
|
//console.info(data)
|
|||
|
|
|
|||
|
|
if (data.length>0) {
|
|||
|
|
for(i=0 ;i<data.length;i++){
|
|||
|
|
var item= data[i];
|
|||
|
|
containerWidth = $("#content").width();
|
|||
|
|
containerHeight = $("#content").height();
|
|||
|
|
//console.log((containerWidth))
|
|||
|
|
var left=containerWidth*item.posx/item.containerwidth;
|
|||
|
|
var top=containerHeight*item.posy/item.containerheight;
|
|||
|
|
var son="";
|
|||
|
|
//console.log((item.mPoint))
|
|||
|
|
if(item.expressionflag!=null && item.expressionflag &&item.expressionflag!=""){
|
|||
|
|
var path;
|
|||
|
|
if(item.mPoint==null || item.mPoint.exp ==null || item.mPoint.exp==""){
|
|||
|
|
path="";
|
|||
|
|
}else{
|
|||
|
|
path= MpPics[parseInt(item.mPoint.exp)].path;
|
|||
|
|
}
|
|||
|
|
son= '<div contentEditable="false" class="bootstrap-draggable" style="width:40px;height:40px;position:absolute;top:'+top+'px;left:'+left+'px;" id="'+item.id+'" type="${Flag_MPoint}">'+
|
|||
|
|
'<img src=../../'+path+' style="width:20px;height:20px;" ></img>'+
|
|||
|
|
//'<a type="button" onclick="deletemp(this)" title="删除"><i class="fa fa-close"></i></a>'+
|
|||
|
|
'</div>';
|
|||
|
|
}else{
|
|||
|
|
var value ="";
|
|||
|
|
if(item.mPoint!=null){
|
|||
|
|
value=item.mPoint.parmvalue
|
|||
|
|
}
|
|||
|
|
son= '<div contentEditable="false" class="bootstrap-draggable" style="cursor:pointer;background-color:blue;width:150px;height:40px;position:absolute;top:'+top+'px;left:'+left+'px;" id="'+item.id+'" type="${Flag_MPoint}">'+
|
|||
|
|
'<span style="color:white;font-size:'+item.fsize+'">'+
|
|||
|
|
item.txt+
|
|||
|
|
'</span><span style="color:#00ff00;font-size:'+item.fsize+'">'+
|
|||
|
|
value+
|
|||
|
|
'</span>'+
|
|||
|
|
//'<a type="button" onclick="deletemp(this)" title="删除"><i class="fa fa-close"></i></a>'+
|
|||
|
|
'</div>';
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//console.info(son);
|
|||
|
|
$("#content").append(son);
|
|||
|
|
//$("#tab2").append(son);
|
|||
|
|
/* $('#'+item.id).bind('contextmenu',function(e){
|
|||
|
|
selectid=this.id;
|
|||
|
|
e.preventDefault();
|
|||
|
|
$('#mPoint').menu('show', {
|
|||
|
|
left: e.pageX,
|
|||
|
|
top: e.pageY
|
|||
|
|
});
|
|||
|
|
}); */
|
|||
|
|
//$('#'+item.id).draggable()
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
},'json');
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
function showTabMPoint(id){
|
|||
|
|
var workshopid = id;
|
|||
|
|
clearTabItem("${Flag_MPoint}");
|
|||
|
|
$.post(ext.contextPath + "/work/scadaPic/getMPointList.do", {companyId:unitId,pid:workshopid}, function(data) {
|
|||
|
|
console.info(data)
|
|||
|
|
console.info(workshopid)
|
|||
|
|
console.info(unitId)
|
|||
|
|
if (data.length>0) {
|
|||
|
|
for(i=0 ;i<data.length;i++){
|
|||
|
|
var item= data[i];
|
|||
|
|
containerWidth = $("#tab2").width()+10;
|
|||
|
|
containerHeight = $("#tab2").height()+5;
|
|||
|
|
//console.log((containerWidth))
|
|||
|
|
var left=containerWidth*item.posx/item.containerwidth;
|
|||
|
|
var top=containerHeight*item.posy/item.containerheight;
|
|||
|
|
var son="";
|
|||
|
|
//console.log((item.mPoint))
|
|||
|
|
if(item.expressionflag!=null && item.expressionflag &&item.expressionflag!=""){
|
|||
|
|
var path;
|
|||
|
|
if(item.mPoint==null || item.mPoint.exp ==null || item.mPoint.exp==""){
|
|||
|
|
path="";
|
|||
|
|
}else{
|
|||
|
|
path= MpPics[parseInt(item.mPoint.exp)].path;
|
|||
|
|
}
|
|||
|
|
son= '<div contentEditable="false" class="bootstrap-draggable" style="width:40px;height:40px;position:absolute;top:'+top+'px;left:'+left+'px;" id="'+item.id+'" type="${Flag_MPoint}">'+
|
|||
|
|
'<img src=../../'+path+' style="width:20px;height:20px;" ></img>'+
|
|||
|
|
//'<a type="button" onclick="deletemp(this)" title="删除"><i class="fa fa-close"></i></a>'+
|
|||
|
|
'</div>';
|
|||
|
|
}else{
|
|||
|
|
var value ="";
|
|||
|
|
if(item.mPoint!=null){
|
|||
|
|
value=item.mPoint.parmvalue
|
|||
|
|
}
|
|||
|
|
son= '<div contentEditable="false" class="bootstrap-draggable" style="cursor:pointer;background-color:blue;width:150px;height:40px;position:absolute;top:'+top+'px;left:'+left+'px;" id="'+item.id+'" type="${Flag_MPoint}">'+
|
|||
|
|
'<span style="color:white;font-size:'+item.fsize+'">'+
|
|||
|
|
item.txt+
|
|||
|
|
'</span><span style="color:#00ff00;font-size:'+item.fsize+'">'+
|
|||
|
|
value+
|
|||
|
|
'</span>'+
|
|||
|
|
//'<a type="button" onclick="deletemp(this)" title="删除"><i class="fa fa-close"></i></a>'+
|
|||
|
|
'</div>';
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//console.info(son);
|
|||
|
|
//$("#content").append(son);
|
|||
|
|
$("#tab2").append(son);
|
|||
|
|
/* $('#'+item.id).bind('contextmenu',function(e){
|
|||
|
|
selectid=this.id;
|
|||
|
|
e.preventDefault();
|
|||
|
|
$('#mPoint').menu('show', {
|
|||
|
|
left: e.pageX,
|
|||
|
|
top: e.pageY
|
|||
|
|
});
|
|||
|
|
}); */
|
|||
|
|
//$('#'+item.id).draggable()
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
},'json');
|
|||
|
|
}
|
|||
|
|
//清除原先点
|
|||
|
|
function clearItem(type) {
|
|||
|
|
|
|||
|
|
var obj = document.getElementsByTagName("DIV");
|
|||
|
|
//循环逆序删除
|
|||
|
|
for(var i=obj.length-1;i>0;i--){
|
|||
|
|
//console.info(obj[i].className.indexOf("easyui-draggable"));
|
|||
|
|
//console.info(obj[i].getAttribute("type"));
|
|||
|
|
if(obj[i].className.indexOf("bootstrap-draggable")>=0 && obj[i].getAttribute("type")==type){
|
|||
|
|
//console.info(obj[i]);
|
|||
|
|
obj[i].remove();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
//console.log(obj.length)
|
|||
|
|
}
|
|||
|
|
//清除原先点
|
|||
|
|
function clearTabItem(type) {
|
|||
|
|
//var obj=$("#tab2").html();
|
|||
|
|
var obj = $("#tab2 div");
|
|||
|
|
//循环逆序删除
|
|||
|
|
for(var i=0;i<obj.length;i++){
|
|||
|
|
//console.info(obj[i].className.indexOf("easyui-draggable"));
|
|||
|
|
//console.info(obj[i].getAttribute("type"));
|
|||
|
|
if(obj[i].className.indexOf("bootstrap-draggable")>=0 && obj[i].getAttribute("type")==type){
|
|||
|
|
//console.info(obj[i]);
|
|||
|
|
obj[i].remove();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
//console.log(obj.length)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var firstOnResizeFire = true;//谷歌浏览器onresize事件会执行2次,这里加个标志位控制
|
|||
|
|
var containerWidth = 0;
|
|||
|
|
var containerHeight = 0;
|
|||
|
|
var selectid=""; //记录右键时,指向的对象
|
|||
|
|
function changesize(){
|
|||
|
|
alert();
|
|||
|
|
if (firstOnResizeFire) {
|
|||
|
|
firstOnResizeFire = false;
|
|||
|
|
adjuest();
|
|||
|
|
//0.5秒之后将标志位重置(Chrome的window.onresize默认执行两次)
|
|||
|
|
setTimeout(function() {
|
|||
|
|
firstOnResizeFire = true;
|
|||
|
|
}, 500);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
$(function() {
|
|||
|
|
|
|||
|
|
init();
|
|||
|
|
initDate1();
|
|||
|
|
initDate2();
|
|||
|
|
// console.log(companyId);
|
|||
|
|
// console.log(processid);
|
|||
|
|
$("#table").bootstrapTable({ // 对应table标签的id
|
|||
|
|
url: ext.contextPath + '/work/kpipoint/getlist.do', // 获取表格数据的url
|
|||
|
|
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
|||
|
|
striped: true, //表格显示条纹,默认为false
|
|||
|
|
pagination: true, // 在表格底部显示分页组件,默认false
|
|||
|
|
pageList: [10, 20,50], // 设置页面可以显示的数据条数
|
|||
|
|
pageSize: 10, // 页面数据条数
|
|||
|
|
pageNumber: 1, // 首页页码
|
|||
|
|
sidePagination: 'server', // 设置为服务器端分页
|
|||
|
|
responseHandler:responseHandler, //在渲染页面数据之前执行的方法,此配置很重要!!!!!!!
|
|||
|
|
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
|||
|
|
return {
|
|||
|
|
rows: params.limit, // 每页要显示的数据条数
|
|||
|
|
page: params.offset/params.limit+1, // 每页显示数据的开始页码
|
|||
|
|
sort: params.sort, // 要排序的字段
|
|||
|
|
order: params.order, // 排序规则
|
|||
|
|
search_name: $('#search_name').val(),
|
|||
|
|
companyId: unitId,
|
|||
|
|
pSectionId: processid,
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
sortName: 'grade', // 要排序的字段
|
|||
|
|
sortOrder: 'asc', // 排序规则
|
|||
|
|
columns: [
|
|||
|
|
{
|
|||
|
|
checkbox: true, // 显示一个勾选框
|
|||
|
|
formatter: function (i,row) { // 每次加载 checkbox 时判断当前 row 的 id 是否已经存在全局 Set() 里
|
|||
|
|
if($.inArray(row.id,Array.from(selectionIds))!=-1){ // 因为 Set是集合,需要先转换成数组
|
|||
|
|
return {
|
|||
|
|
checked : true // 存在则选中
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},{
|
|||
|
|
field: 'grade', // 返回json数据中的name
|
|||
|
|
title: '', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle',
|
|||
|
|
formatter : function(value, row) {
|
|||
|
|
if(value==1){
|
|||
|
|
return '<span class="fa fa-circle" style="color:#ff0000 ;"></span>';
|
|||
|
|
}else if(value==2){
|
|||
|
|
return '<span class="fa fa-circle" style="color:#F3C200;"></span>';
|
|||
|
|
}else{
|
|||
|
|
return '';
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
},{
|
|||
|
|
field: 'mpoint', // 返回json数据中的name
|
|||
|
|
title: '工艺运行关键KPI', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle', // 上下居中
|
|||
|
|
formatter: function(value,row) {
|
|||
|
|
if(value !=null){
|
|||
|
|
return value.parmname;
|
|||
|
|
}else{
|
|||
|
|
return '-';
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},{
|
|||
|
|
field: 'mpoint', // 返回json数据中的name
|
|||
|
|
title: '最新值', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle', // 上下居中
|
|||
|
|
formatter: function(value,row) {
|
|||
|
|
if(value !=null){
|
|||
|
|
return value.parmvalue;
|
|||
|
|
}else{
|
|||
|
|
return '-';
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},{
|
|||
|
|
field: 'mpoint', // 返回json数据中的name
|
|||
|
|
title: '单位', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle', // 上下居中
|
|||
|
|
formatter: function(value,row) {
|
|||
|
|
if(value !='' && value!=null){
|
|||
|
|
return value.unit;
|
|||
|
|
} else{
|
|||
|
|
return '-';
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},{
|
|||
|
|
title: "曲线",
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
width: 60, // 定义列的宽度,单位为像素px
|
|||
|
|
formatter: function (value, row, index) {
|
|||
|
|
return '<span onclick="editFun(\'' + row.mpointid + '\')" class="glyphicon glyphicon-stats" style="cursor:pointer;color:#F3C200"></span>';
|
|||
|
|
/* return '<i class="fa fa-edit" onclick="editFun()(\'' + row.id + '\')></i>'; */
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}/* ,{
|
|||
|
|
field: 'period', // 返回json数据中的name
|
|||
|
|
title: '刷新周期', // 表格表头显示文字
|
|||
|
|
sortable : true,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle',
|
|||
|
|
|
|||
|
|
|
|||
|
|
} // 上下居中 */
|
|||
|
|
,{
|
|||
|
|
field: 'mpoint', // 返回json数据中的name
|
|||
|
|
title: '更新时间', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle',
|
|||
|
|
formatter: function(value,row) {
|
|||
|
|
if(value.measuredt !=''){
|
|||
|
|
return value.measuredt.substring(0,16);
|
|||
|
|
} else{
|
|||
|
|
return '-';
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
} // 上下居中
|
|||
|
|
,{
|
|||
|
|
field: 'bizid', // 返回json数据中的name
|
|||
|
|
title: '所属厂区', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' // 上下居中
|
|||
|
|
},{
|
|||
|
|
field: 'processectionname', // 返回json数据中的name
|
|||
|
|
title: '工艺段', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' // 上下居中
|
|||
|
|
},{
|
|||
|
|
field: 'insuser', // 返回json数据中的name
|
|||
|
|
title: '递交人', // 表格表头显示文字
|
|||
|
|
sortable : true,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle',
|
|||
|
|
},{
|
|||
|
|
field: 'flag', // 返回json数据中的name
|
|||
|
|
title: '水行家', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle',
|
|||
|
|
formatter : function(value, row) {
|
|||
|
|
if(value =='${Flag_Yes}')
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
return '<span onclick="viewFun(${Flag_Yes},\'' + row.mpointid + '\');" class="glyphicon glyphicon-user" style="cursor:pointer;color:#00c0ef;"></span>';
|
|||
|
|
}else{
|
|||
|
|
return '<span onclick="viewFun(${Flag_No});" class="glyphicon glyphicon-user" style="cursor:pointer;color:#eeeeee;"></span>';
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
onLoadSuccess: function(){ //加载成功时执行
|
|||
|
|
adjustBootstrapTableView("table");
|
|||
|
|
},
|
|||
|
|
onLoadError: function(){ //加载失败时执行
|
|||
|
|
console.info("加载数据失败");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
});
|
|||
|
|
//绑定选中事件、取消事件、全部选中、全部取消
|
|||
|
|
$("#table").on('check.bs.table check-all.bs.table uncheck.bs.table uncheck-all.bs.table', function (e, rows) {
|
|||
|
|
var ids = $.map(!$.isArray(rows) ? [rows] : rows, function (row) {
|
|||
|
|
return row.mpointid;
|
|||
|
|
});
|
|||
|
|
func = $.inArray(e.type, ['check', 'check-all']) > -1 ? 'union' : 'difference';
|
|||
|
|
selectionIds = _[func](selectionIds, ids);
|
|||
|
|
});
|
|||
|
|
$("#table1").bootstrapTable({ // 对应table标签的id
|
|||
|
|
url: ext.contextPath + '/maintenance/getMaintenanceDetailList.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, // 排序规则
|
|||
|
|
search_name: $('#search_name').val(),
|
|||
|
|
search_code:unitId,
|
|||
|
|
processSectionId:processid,
|
|||
|
|
type:'${MAINTENANCE_TYPE_REPAIR}'
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
sortName: 'id', // 要排序的字段
|
|||
|
|
sortOrder: 'desc', // 排序规则
|
|||
|
|
columns: [
|
|||
|
|
/* {
|
|||
|
|
checkbox: true, // 显示一个勾选框
|
|||
|
|
},{
|
|||
|
|
field: 'status1', // 返回json数据中的name
|
|||
|
|
title: '', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle',
|
|||
|
|
formatter : function(value, row) {
|
|||
|
|
if(value==2){
|
|||
|
|
return '<span class="fa fa-circle" style="color:#ff0000 ;"></span>';
|
|||
|
|
}else if(value==1){
|
|||
|
|
return '<span class="fa fa-circle" style="color:#F3C200;"></span>';
|
|||
|
|
}else{
|
|||
|
|
return '';
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}, */
|
|||
|
|
{
|
|||
|
|
field: 'detailNumber', // 返回json数据中的name
|
|||
|
|
title: '缺陷编码', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle', // 上下居中
|
|||
|
|
formatter: function(value,row) {
|
|||
|
|
var a = '<span style="color:#3c8dbc;font-weight:900">'+value+'</span>';
|
|||
|
|
return a;
|
|||
|
|
}
|
|||
|
|
},{
|
|||
|
|
field: 'problemcontent', // 返回json数据中的name
|
|||
|
|
title: '缺陷内容', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' // 上下居中
|
|||
|
|
}
|
|||
|
|
/*
|
|||
|
|
,{
|
|||
|
|
field: 'Problemtypeid', // 返回json数据中的name
|
|||
|
|
title: '缺陷类型', // 表格表头显示文字
|
|||
|
|
sortable : true,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' // 上下居中
|
|||
|
|
}
|
|||
|
|
*/
|
|||
|
|
,{
|
|||
|
|
field: 'status',
|
|||
|
|
title: "缺陷状态",
|
|||
|
|
align: 'center',
|
|||
|
|
sortable : false,
|
|||
|
|
valign: 'middle',
|
|||
|
|
width: 60, // 定义列的宽度,单位为像素px
|
|||
|
|
formatter:function(value,row,index){
|
|||
|
|
if(value == '${Status_Start}' && row.type == '${TYPE_SUPPLEMENT}'){
|
|||
|
|
return '处理中';
|
|||
|
|
}else if(value == '${Status_Start}'){
|
|||
|
|
return '已下发';
|
|||
|
|
}else if(value == '${Status_Finish}'){
|
|||
|
|
return '已完成';
|
|||
|
|
}else{
|
|||
|
|
return value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
/*
|
|||
|
|
,{
|
|||
|
|
field: 'EquipmentId', // 返回json数据中的name
|
|||
|
|
title: '设备', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle',
|
|||
|
|
}
|
|||
|
|
*/ // 上下居中
|
|||
|
|
,{
|
|||
|
|
//field: 'insuser', // 返回json数据中的name
|
|||
|
|
field: 'insertUser.caption',
|
|||
|
|
title: '报告人', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle',
|
|||
|
|
|
|||
|
|
|
|||
|
|
} // 上下居中
|
|||
|
|
,{
|
|||
|
|
field: 'insdt', // 返回json数据中的name
|
|||
|
|
title: '报告时间', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle',
|
|||
|
|
formatter: function(value,row) {
|
|||
|
|
if(value !=null){
|
|||
|
|
return value.substring(0,16);
|
|||
|
|
} else{
|
|||
|
|
return '-';
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
} // 上下居中
|
|||
|
|
/*
|
|||
|
|
,{
|
|||
|
|
field: 'maintenanceMan', // 返回json数据中的name
|
|||
|
|
title: '递交人', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle',
|
|||
|
|
},{
|
|||
|
|
field: 'status2', // 返回json数据中的name
|
|||
|
|
title: '智慧助手', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle',
|
|||
|
|
formatter : function(value, row) {
|
|||
|
|
return '<span onclick="viewFun();" class="glyphicon glyphicon-user" style="cursor:pointer;color:#3c8dbc;"></span>';
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
*/
|
|||
|
|
],
|
|||
|
|
onLoadSuccess: function(){ //加载成功时执行
|
|||
|
|
adjustBootstrapTableView("table1");
|
|||
|
|
},
|
|||
|
|
onLoadError: function(){ //加载失败时执行
|
|||
|
|
console.info("加载数据失败");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
$("#table2").bootstrapTable({ // 对应table标签的id
|
|||
|
|
url: ext.contextPath + '/equipment/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, // 排序规则
|
|||
|
|
search_name: $('#search_name').val(),
|
|||
|
|
companyId: unitId,
|
|||
|
|
pSectionId: processid,
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
sortName: 'id', // 要排序的字段
|
|||
|
|
sortOrder: 'desc', // 排序规则
|
|||
|
|
onClickRow: function (row) {//单击行事件,执行查看功能
|
|||
|
|
viewEqu(row.id);
|
|||
|
|
},
|
|||
|
|
columns: [
|
|||
|
|
/* {
|
|||
|
|
checkbox: true, // 显示一个勾选框
|
|||
|
|
}, */
|
|||
|
|
{
|
|||
|
|
field: 'equipmentstatus', // 返回json数据中的name
|
|||
|
|
title: '', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle',
|
|||
|
|
formatter: function (value, row, index) {
|
|||
|
|
switch (value){
|
|||
|
|
case '0' :
|
|||
|
|
return '<span class="fa fa-circle" style="color:#ff0000 ;"></span>';
|
|||
|
|
case '1' :
|
|||
|
|
return '<span class="fa fa-circle" style="color:#00ff00;"></span>';
|
|||
|
|
default :
|
|||
|
|
return "";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
field: 'equipmentname', // 返回json数据中的name
|
|||
|
|
title: '设备名称', // 表格表头显示文字
|
|||
|
|
sortable : true,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle', // 上下居中
|
|||
|
|
formatter: function(value,row) {
|
|||
|
|
var a = '<span style="font-weight:900">'+value+'</span>';
|
|||
|
|
return a;
|
|||
|
|
}
|
|||
|
|
},{
|
|||
|
|
field: 'equipmentcardid', // 返回json数据中的name
|
|||
|
|
title: '设备编号', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle', // 上下居中
|
|||
|
|
|
|||
|
|
},{
|
|||
|
|
field: 'bizid', // 返回json数据中的name
|
|||
|
|
title: '所属厂区', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' // 上下居中
|
|||
|
|
},{
|
|||
|
|
field: 'equipmentClass.name', // 返回json数据中的name
|
|||
|
|
title: '设备类型', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' // 上下居中
|
|||
|
|
/*
|
|||
|
|
formatter: function(value,row) {
|
|||
|
|
return value.name;
|
|||
|
|
}
|
|||
|
|
*/
|
|||
|
|
},{
|
|||
|
|
field: 'equipmentTypeNumber.name',
|
|||
|
|
title: '设备型号', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' // 上下居中
|
|||
|
|
},{
|
|||
|
|
field: 'processSection.name', // 返回json数据中的name
|
|||
|
|
title: '工艺段', // 表格表头显示文字
|
|||
|
|
sortable : false,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle',
|
|||
|
|
|
|||
|
|
|
|||
|
|
} // 上下居中
|
|||
|
|
/* {
|
|||
|
|
//field: 'status2', // 返回json数据中的name
|
|||
|
|
title: '智慧助手', // 表格表头显示文字
|
|||
|
|
sortable : true,
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle',
|
|||
|
|
formatter : function(value, row) {
|
|||
|
|
return '<span class="glyphicon glyphicon-user" style="color:#3c8dbc;"></span>';
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
} */
|
|||
|
|
],
|
|||
|
|
onLoadSuccess: function(){ //加载成功时执行
|
|||
|
|
adjustBootstrapTableView("table2");
|
|||
|
|
},
|
|||
|
|
onLoadError: function(){ //加载失败时执行
|
|||
|
|
console.info("加载数据失败");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
|
|||
|
|
//showCameraDetail();
|
|||
|
|
|
|||
|
|
//clickStartRealPlay();
|
|||
|
|
|
|||
|
|
$("#table3").bootstrapTable({ // 对应table标签的id
|
|||
|
|
url: ext.contextPath + '/work/proAlarm/getListForProcess.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, // 排序规则
|
|||
|
|
//search_name: $('#search_name').val(),
|
|||
|
|
unitId: unitId,
|
|||
|
|
pSectionId: processid,
|
|||
|
|
beginTimeStore:beginTimeStore2,
|
|||
|
|
endTimeStore:endTimeStore2
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
sortName: 'alarmtime', // 要排序的字段
|
|||
|
|
sortOrder: 'desc', // 排序规则
|
|||
|
|
columns: [
|
|||
|
|
{
|
|||
|
|
field: 'alarmtime', // 返回json数据中的name
|
|||
|
|
title: '报警时间', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle', // 上下居中
|
|||
|
|
formatter: function (value, row, index){
|
|||
|
|
return value.substring(0,16);
|
|||
|
|
}
|
|||
|
|
},{
|
|||
|
|
field: 'mpid', // 返回json数据中的name
|
|||
|
|
title: '报警变量', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' // 上下居中
|
|||
|
|
},{
|
|||
|
|
field: 'describe', // 返回json数据中的name
|
|||
|
|
title: '报警内容', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' // 上下居中
|
|||
|
|
},{
|
|||
|
|
field: 'alarmlvl', // 返回json数据中的name
|
|||
|
|
title: '报警等级', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' // 上下居中
|
|||
|
|
},{
|
|||
|
|
field: 'areaname', // 返回json数据中的name
|
|||
|
|
title: '所属工艺段', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle', // 上下居中
|
|||
|
|
formatter: function (value, row, index){
|
|||
|
|
if(row.processSection!=null){
|
|||
|
|
return row.processSection.name;
|
|||
|
|
}else{
|
|||
|
|
return ''
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},{
|
|||
|
|
field: 'status', // 返回json数据中的name
|
|||
|
|
title: '状态', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle',// 上下居中
|
|||
|
|
formatter: function (value, row, index){
|
|||
|
|
switch (value){
|
|||
|
|
case '${Status_N}' :
|
|||
|
|
return "新报警";
|
|||
|
|
case '${Status_C}' :
|
|||
|
|
return "已确认";
|
|||
|
|
case '${Status_Y}' :
|
|||
|
|
return "已恢复";
|
|||
|
|
default :
|
|||
|
|
return "";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
onLoadSuccess: function(){ //加载成功时执行
|
|||
|
|
adjustBootstrapTableView("table3");
|
|||
|
|
},
|
|||
|
|
onLoadError: function(){ //加载失败时执行
|
|||
|
|
console.info("加载数据失败");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
});
|
|||
|
|
});
|
|||
|
|
var refreshSelect = function() {
|
|||
|
|
var selelct_ =$("#processSection").select2({
|
|||
|
|
data: null,
|
|||
|
|
placeholder:'请选择',//默认文字提示
|
|||
|
|
allowClear: true,//允许清空
|
|||
|
|
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
|||
|
|
language: "zh-CN",
|
|||
|
|
minimumInputLength: 0,
|
|||
|
|
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
|||
|
|
});
|
|||
|
|
$("#processSection").empty();
|
|||
|
|
// $("#table").bootstrapTable('refresh', {data:null});
|
|||
|
|
$(".select2-selection--single").css({'height':'30px','paddingTop':'4px'});
|
|||
|
|
$("#processSection").css("display", "none");
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
var initTreeView = function() {
|
|||
|
|
$.post(ext.contextPath + '/user/getUnitsJson.do?random=' + Math.random(), {ng:''} , function(data) {
|
|||
|
|
//console.info(data)
|
|||
|
|
$('#search_pid').treeview({data: data
|
|||
|
|
});
|
|||
|
|
$('#search_pid').on('nodeSelected', function(event, data) {
|
|||
|
|
editFun(data.id);
|
|||
|
|
//var node=$('#tree').treeview('getSelected');
|
|||
|
|
});
|
|||
|
|
},'json');
|
|||
|
|
$("#search_pid").html("");
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
|
|||
|
|
function detail(){
|
|||
|
|
|
|||
|
|
var datas="";
|
|||
|
|
datas_name="";
|
|||
|
|
$.each(selectionIds, function(index, item){
|
|||
|
|
if(datas!=""){
|
|||
|
|
datas+=",";
|
|||
|
|
}
|
|||
|
|
datas+=item;
|
|||
|
|
});
|
|||
|
|
datas+=",";
|
|||
|
|
// console.log(datas);
|
|||
|
|
editFun(datas);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//选中事件操作数组
|
|||
|
|
var union = function(array,ids){
|
|||
|
|
$.each(ids, function (i, id) {
|
|||
|
|
if($.inArray(id,array)==-1){
|
|||
|
|
array[array.length] = id;
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
return array;
|
|||
|
|
};
|
|||
|
|
//取消选中事件操作数组
|
|||
|
|
var difference = function(array,ids){
|
|||
|
|
$.each(ids, function (i, id) {
|
|||
|
|
var index = $.inArray(id,array);
|
|||
|
|
if(index!=-1){
|
|||
|
|
array.splice(index, 1);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
return array;
|
|||
|
|
};
|
|||
|
|
var _ = {"union":union,"difference":difference};
|
|||
|
|
|
|||
|
|
//表格分页之前处理多选框数据
|
|||
|
|
function responseHandler(res) {
|
|||
|
|
$.each(res.rows, function (i, row) {
|
|||
|
|
row.checkStatus = $.inArray(row.id, selectionIds) != -1; //判断当前行的数据id是否存在与选中的数组,存在则将多选框状态变为true
|
|||
|
|
});
|
|||
|
|
return res;
|
|||
|
|
}
|
|||
|
|
//回到总工艺界面
|
|||
|
|
function refresh(){
|
|||
|
|
psOnClick = false;//2019-10-23
|
|||
|
|
processid='';
|
|||
|
|
init();
|
|||
|
|
$("#table").bootstrapTable('refresh');
|
|||
|
|
$("#table1").bootstrapTable('refresh');
|
|||
|
|
$("#table2").bootstrapTable('refresh');
|
|||
|
|
$("#table3").bootstrapTable('refresh');
|
|||
|
|
}
|
|||
|
|
//刷新表格
|
|||
|
|
function refreshTable(){
|
|||
|
|
$("#table").bootstrapTable('refresh');
|
|||
|
|
$("#table1").bootstrapTable('refresh');
|
|||
|
|
$("#table2").bootstrapTable('refresh');
|
|||
|
|
$("#table3").bootstrapTable('refresh');
|
|||
|
|
}
|
|||
|
|
//刷新控件
|
|||
|
|
function refreshPS(){
|
|||
|
|
//clearPS();
|
|||
|
|
showPS();
|
|||
|
|
}
|
|||
|
|
function refreshAlarm(){
|
|||
|
|
$("#table3").bootstrapTable('refresh');
|
|||
|
|
}
|
|||
|
|
//5分钟定时刷新
|
|||
|
|
$(document).ready(function () {
|
|||
|
|
setInterval("refreshTable()",300000);
|
|||
|
|
setInterval("refreshPS()",300000);
|
|||
|
|
//setInterval这个函数会根据后面定义的1000既每隔1秒执行一次前面那个函数
|
|||
|
|
//如果你用局部刷新,要用AJAX技术
|
|||
|
|
});
|
|||
|
|
// 根据工艺段获取视频
|
|||
|
|
var showCameraDetail = function(){
|
|||
|
|
$.post(ext.contextPath + '/work/scadaPic/getCamera.do', {id:'c0664fad941a47d5a32d24eda2085b67'} , function(data) {
|
|||
|
|
// console.log('kkkkkkkk:'+data);
|
|||
|
|
// console.log('kkkkkkkkj:'+ typeof data);
|
|||
|
|
var camera = JSON.parse(data);
|
|||
|
|
$('#loginip').val(camera.camera[0].url);
|
|||
|
|
$('#username').val(camera.camera[0].username);
|
|||
|
|
$('#password').val(camera.camera[0].password);
|
|||
|
|
$('#ip').val(camera.camera[0].url);
|
|||
|
|
$('#channels').val(camera.camera[0].channel);
|
|||
|
|
});
|
|||
|
|
};
|
|||
|
|
function getCamerasDetail(processSectionId) {
|
|||
|
|
// console.log('工艺的ID'+processid);
|
|||
|
|
$.post(ext.contextPath + '/work/scadaPic/showVideoDetail.do', {}, function(data){
|
|||
|
|
$('#camerasFrame').html(data);
|
|||
|
|
document.querySelector('#tab3').dataset.processsectionid = processSectionId;
|
|||
|
|
//processSectionId;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
var websocket = null;
|
|||
|
|
//判断当前浏览器是否支持WebSocket
|
|||
|
|
if ('WebSocket' in window) {
|
|||
|
|
websocket = new ReconnectingWebSocket(ext.basePath.replace("http","ws")+"/msgWebSocket/${cu.id}");
|
|||
|
|
}
|
|||
|
|
else {
|
|||
|
|
alert('当前浏览器 Not support websocket')
|
|||
|
|
}
|
|||
|
|
//接收到消息的回调方法
|
|||
|
|
websocket.onmessage = function (event) {
|
|||
|
|
//toastr.success('专家建议消息!', '专家建议');
|
|||
|
|
refreshPS();
|
|||
|
|
refreshTable();
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
</head>
|
|||
|
|
<body onload="initMenu()" style="overflow-y:scroll" id="body"
|
|||
|
|
class="hold-transition ${cu.themeclass} sidebar-mini">
|
|||
|
|
<div class="wrapper main-container">
|
|||
|
|
<div class="content-wrapper">
|
|||
|
|
<!-- Content Header (Page header) -->
|
|||
|
|
<section class="content-header">
|
|||
|
|
<h1 id="head_title"></h1>
|
|||
|
|
<ol class="breadcrumb">
|
|||
|
|
<li><a id='head_firstlevel' href="#"><i
|
|||
|
|
class="fa fa-dashboard"></i> </a></li>
|
|||
|
|
<!-- <li class="active">Here</li> -->
|
|||
|
|
</ol>
|
|||
|
|
</section>
|
|||
|
|
<!-- Main content -->
|
|||
|
|
|
|||
|
|
<section class="content container-fluid">
|
|||
|
|
<div id="mainAlertdiv"></div>
|
|||
|
|
<div id="subDiv"></div>
|
|||
|
|
<div id="menu4SelectDiv"></div>
|
|||
|
|
<div>
|
|||
|
|
<!-- <div class="form-group form-inline" style="padding:0;">
|
|||
|
|
<div class="form-group form-inline">
|
|||
|
|
<div class="form-group form-inline">
|
|||
|
|
<div class="form-group">
|
|||
|
|
<label class="form-label" id="companylabel">水厂:</label> <label
|
|||
|
|
class="form-label" id="company"
|
|||
|
|
style="width:180px;border: none;background: transparent;"></label>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-group">
|
|||
|
|
<select class="form-control select2 " id="search_code"
|
|||
|
|
name="search_code" style="width: 220px;"></select>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<div class="form-group " style="margin-bottom:10px;">
|
|||
|
|
<input id="search_code" name="search_code" type="hidden" />
|
|||
|
|
<span id="company" style="height:31px;color:#000000;border-top-left-radius: 4px;border-bottom-left-radius: 4px;font-weight:bold"></span>
|
|||
|
|
</div>
|
|||
|
|
<ul id="companyselect" style="list-style-type:none;padding-left:0px;width:300px;">
|
|||
|
|
<li class="dropdown" style="width:300px;">
|
|||
|
|
Menu toggle button
|
|||
|
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown"
|
|||
|
|
style="width:300px;" onclick="document.getElementById('ul_tree').style.display = 'block';">
|
|||
|
|
<div class="input-group">
|
|||
|
|
<span class="input-group-addon"
|
|||
|
|
style="height:31px;color:#000000;border-top-left-radius: 4px;border-bottom-left-radius: 4px;font-weight:bold">公司:</span>
|
|||
|
|
<input class="form-control " id="cname_input" name="cname_input"
|
|||
|
|
style="height:31px;width: 220px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;"
|
|||
|
|
readonly />
|
|||
|
|
</div>/input-group
|
|||
|
|
</a>
|
|||
|
|
<ul id="ul_tree" class="dropdown-menu" data-stopPropagation="true">
|
|||
|
|
<li class="header">
|
|||
|
|
<div id="companytree" style="width: 275px;overflow:auto;"></div>
|
|||
|
|
</li>
|
|||
|
|
</ul>
|
|||
|
|
</li>
|
|||
|
|
</ul>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div class="form-group ">
|
|||
|
|
<label class="form-label">底图</label>
|
|||
|
|
<select class="form-control select2 " id="processSection" name ="processSection" style="width: 220px;"></select>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-group pull-right" >
|
|||
|
|
<div class="input-group input-group-sm" style="width: 250px;">
|
|||
|
|
<input type="text" id="search_name" name="search_name" class="form-control pull-right" placeholder="名称">
|
|||
|
|
<div class="input-group-btn">
|
|||
|
|
<button class="btn btn-default" onclick="dosearch();"><i class="fa fa-search"></i></button>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
-->
|
|||
|
|
|
|||
|
|
<div class="col-lg-12 col-xs-12"
|
|||
|
|
style="text-align: center;padding:0px" id="content">
|
|||
|
|
<img alt="" src="" width="100%" id="img" onclick="refresh()">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="nav-tabs-custom">
|
|||
|
|
<ul class="nav nav-tabs" id="myTab">
|
|||
|
|
|
|||
|
|
<li class="active"><a href="#tab1" data-toggle="tab"
|
|||
|
|
index="0" aria-expanded="true">工艺运行KPI</a></li>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<li class=""><a href="#tab2" data-toggle="tab" index="1"
|
|||
|
|
aria-expanded="true" >工艺实时监控</a></li>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<li class="hidden-sm hidden-xs"><a href="#tab3" data-toggle="tab" index="2"
|
|||
|
|
aria-expanded="true">现场监控视频</a></li>
|
|||
|
|
|
|||
|
|
<li><a href="#tab5" data-toggle="tab" index="3">主要设备</a></li>
|
|||
|
|
<li><a href="#tab4" data-toggle="tab" index="4">异常消缺管理</a></li>
|
|||
|
|
<li><a href="#tab6" data-toggle="tab" index="5">报警</a></li>
|
|||
|
|
|
|||
|
|
</ul>
|
|||
|
|
<div class="tab-content no-padding">
|
|||
|
|
|
|||
|
|
<!-- Morris chart - Sales -->
|
|||
|
|
<div class="chart tab-pane active" id="tab1"
|
|||
|
|
style="position: relative; padding:5px;">
|
|||
|
|
<div class="input-group pull-right input-group-sm">
|
|||
|
|
<input type="text" class="form-control pull-right"
|
|||
|
|
id="reservationtime1" style="width:175px">
|
|||
|
|
<div class="input-group-btn ">
|
|||
|
|
<button type="button" class="btn btn-default"
|
|||
|
|
onclick="detail();">
|
|||
|
|
<i class="fa fa-search"></i> 详情
|
|||
|
|
</button>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<table id="table"></table>
|
|||
|
|
</div>
|
|||
|
|
<div class=" tab-pane" id="tab2"
|
|||
|
|
style="position: relative; padding:0px;overflow:hidden">
|
|||
|
|
<img alt="" src="" width="100%" id="tab2_img">
|
|||
|
|
</div>
|
|||
|
|
<div class="chart tab-pane hidden-sm hidden-xs" id="tab3"
|
|||
|
|
style="position: relative; padding:5px;">
|
|||
|
|
<div id="camerasFrame" style="width:100%;height:400px;padding:10px;background:rgba(255,255,255,0);"></div>
|
|||
|
|
</div>
|
|||
|
|
<div class="chart tab-pane" id="tab4"
|
|||
|
|
style="position: relative; padding:5px;">
|
|||
|
|
<table id="table1"></table>
|
|||
|
|
</div>
|
|||
|
|
<div class="chart tab-pane" id="tab5"
|
|||
|
|
style="position: relative; padding:5px;">
|
|||
|
|
<table id="table2"></table>
|
|||
|
|
</div>
|
|||
|
|
<div class="chart tab-pane" id="tab6" style="padding:5px;">
|
|||
|
|
<!-- <div id="box" style="height:350px"></div>
|
|||
|
|
<div class="col-lg-5 col-xs-12 pull-left" >
|
|||
|
|
<table id="table3"></table>
|
|||
|
|
</div> -->
|
|||
|
|
<div class="col-lg-12 col-xs-12">
|
|||
|
|
<div class="col-lg-6 col-xs-12" id="boxdiv">
|
|||
|
|
<div id="box"></div>
|
|||
|
|
</div>
|
|||
|
|
<div class="col-lg-6 col-xs-12">
|
|||
|
|
<div class="input-group pull-right input-group-sm">
|
|||
|
|
<input type="text" class="form-control pull-right"
|
|||
|
|
id="reservationtime2" style="width:175px">
|
|||
|
|
<div class="input-group-btn ">
|
|||
|
|
<button type="button" class="btn btn-default"
|
|||
|
|
onclick="refreshAlarm();">
|
|||
|
|
<i class="fa fa-search"></i> 查询
|
|||
|
|
</button>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<table id="table3"></table>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<!-- <table id="table2"></table> -->
|
|||
|
|
<!-- <div id="box" style="height:350px"></div> -->
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</section>
|
|||
|
|
<!-- /.content -->
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</body>
|
|||
|
|
<!-- echarts-->
|
|||
|
|
<script type="text/javascript"
|
|||
|
|
src="<%=request.getContextPath()%>/plugins/echarts/echarts.js"
|
|||
|
|
charset="utf-8"></script>
|
|||
|
|
<script type="text/javascript"
|
|||
|
|
src="<%=request.getContextPath()%>/plugins/echarts/macarons.js"
|
|||
|
|
charset="utf-8"></script>
|
|||
|
|
<!-- 引入daterangepicker-->
|
|||
|
|
<link rel="stylesheet"
|
|||
|
|
href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css" />
|
|||
|
|
<script type="text/javascript"
|
|||
|
|
src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js"
|
|||
|
|
charset="utf-8"></script>
|
|||
|
|
<script type="text/javascript"
|
|||
|
|
src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js"
|
|||
|
|
charset="utf-8"></script>
|
|||
|
|
</html>
|