917 lines
36 KiB
JavaScript
917 lines
36 KiB
JavaScript
var websocket;
|
|
//执行次数
|
|
var executeCount = 0;
|
|
//定时ID
|
|
var timeIds = new Array();
|
|
$(function () {
|
|
$("#socketText").hide();
|
|
//模态框
|
|
$("#assignModel,#resultModel,#myModal").modal({
|
|
backdrop: 'static',
|
|
show: false
|
|
});
|
|
disabled(true);
|
|
//websocket初始化
|
|
try {
|
|
$('#serverModal').modal({
|
|
backdrop: 'static',
|
|
show: true
|
|
});
|
|
websocket = new WebSocket("ws://" + $("#socketAddress").val() + "/webSokcetServer");
|
|
websocket.onopen = function () {
|
|
disabled(false);
|
|
$('#serverModal').modal("hide");
|
|
//alert("The client is ready");
|
|
}
|
|
|
|
websocket.onerror = function (evt) {
|
|
$('#serverModal').modal("hide");
|
|
//alert("client error");
|
|
}
|
|
|
|
websocket.onclose = function () {
|
|
$('#serverModal').modal("hide");
|
|
alert("The client closed");
|
|
}
|
|
|
|
websocket.onmessage = function (evt) {
|
|
var json = eval('(' + evt.data + ')');
|
|
jsonToView(json);
|
|
}
|
|
} catch (e) {
|
|
$("#socketText").show();
|
|
//alert("ERROR:"+e.message+",请升级你的浏览器。");
|
|
}
|
|
//开始测试
|
|
$("#allBut").click(function () {
|
|
$("#checkboxList").prop("checked", true);
|
|
$("#checkboxList").click();
|
|
if (executeCount == -1) {
|
|
executeCount = parseInt($("#noexecute").val());
|
|
}
|
|
var macList = $("td[id$='Ip']");
|
|
var isLine = false;
|
|
for (var i = 0; i < macList.length; i++) {
|
|
if ($(macList[i]).html() != "") {
|
|
isLine = true;
|
|
break;
|
|
}
|
|
}
|
|
if (!isLine) {
|
|
alert("没有在线的设备");
|
|
return false;
|
|
} else if ($("#selectTypeCount").val() == "0") {
|
|
alert("没有匹配的测试类型");
|
|
return false;
|
|
}
|
|
//清空结果
|
|
clearResult(true);
|
|
var interval = $("#interval").val();
|
|
//
|
|
var order = new Array();
|
|
//指令数
|
|
var checkboxs = $("input[id$='Checkbox']");
|
|
for (var i = 0; i < checkboxs.length; i++) {
|
|
//for (var j = 0; j < 2; j++) {
|
|
order.push($(checkboxs[i]).attr("id"));
|
|
//}
|
|
}
|
|
//var orderCount = checkboxs.length*2;
|
|
var orderCount = checkboxs.length;
|
|
var tt = interval * 1000 + (interval * (orderCount - 1)) * 1000;
|
|
var ttime = tt;
|
|
disabled(true);
|
|
setTime("倒计时" + (tt / 1000) + "s");
|
|
$("#" + order[0]).bootstrapSwitch('toggleState');
|
|
timeIds = new Array();
|
|
for (var i = 1000; i <= tt; i += 1000) {
|
|
var num = i / 1000;
|
|
if (i >= tt) {
|
|
var timeId = setTimeout("setTime('<span class=\"glyphicon glyphicon-play\"></span>开始测试')", i);
|
|
timeIds.push(timeId);
|
|
} else {
|
|
ttime -= 1000;
|
|
var timeId = setTimeout("setTime('倒计时" + (ttime / 1000) + "s','" + order[num / interval] + "')", i);
|
|
timeIds.push(timeId);
|
|
}
|
|
}
|
|
});
|
|
//选择测试类型
|
|
$("#controlType").change(function () {
|
|
sendParam();
|
|
$('#myModal').modal("show");
|
|
setTimeout("location.reload(true)", 600);
|
|
});
|
|
//选择执行次数
|
|
$("#executeCount").change(function () {
|
|
sendParam();
|
|
executeCount = parseInt($("#executeCount").val());
|
|
$("#noexecute").val(executeCount);
|
|
});
|
|
//选择浮动值
|
|
$("#floatValue").change(function () {
|
|
sendParam();
|
|
});
|
|
//勾选温度比对
|
|
$("#isCompare").click(function () {
|
|
sendParam();
|
|
});
|
|
//清空结果
|
|
$("#clearBut").click(function () {
|
|
clearResult(true);
|
|
});
|
|
//清空离线设备
|
|
$("#clearOffLine").click(function () {
|
|
send("{caozuo:'clear',type:'offLine'}");
|
|
$('#myModal').modal("show");
|
|
setTimeout("location.reload(true)", 1000);
|
|
});
|
|
//清空所有设备
|
|
$("#clearAll").click(function () {
|
|
send("{caozuo:'clear',type:'all'}");
|
|
$('#myModal').modal("show");
|
|
setTimeout("location.reload(true)", 1000);
|
|
});
|
|
//清空选中设备
|
|
$("#clearChoice").click(function () {
|
|
var macArray = new Array();
|
|
var checkboxList = $(".checkboxList");
|
|
for (var i = 0; i < checkboxList.length; i++) {
|
|
var checked = checkboxList[i].checked;
|
|
if (checked) {
|
|
var mac = $(checkboxList[i]).parents("tr").find("td:eq(2)").html();
|
|
macArray.push(mac);
|
|
}
|
|
}
|
|
if (macArray.toString() == "") {
|
|
alert("没有选中的设备");
|
|
return false;
|
|
} else {
|
|
send("{caozuo:'clear',type:'choice',macs:'" + macArray.toString() + "'}");
|
|
$('#myModal').modal("show");
|
|
setTimeout("location.reload(true)", 1000);
|
|
}
|
|
});
|
|
//导出Excel
|
|
$("#export").click(function () {
|
|
send("{caozuo:'download'}");
|
|
});
|
|
//停止测试
|
|
$("#stopBut").click(function () {
|
|
for (var i = 0; i < timeIds.length; i++) {
|
|
clearTimeout(timeIds[i]);
|
|
}
|
|
setTimeout("setTime('<span class=\"glyphicon glyphicon-play\"></span>开始测试')", 500);
|
|
executeCount = 0;
|
|
});
|
|
//扫描局域网内设备
|
|
$("#scanDevice").click(function () {
|
|
var msg = "{caozuo:'scanDevice'}";
|
|
send(msg);
|
|
});
|
|
//设置本地测试
|
|
$("#setTcp").click(function () {
|
|
var ipStr = getIps(true);
|
|
clearSetTcpStatus();
|
|
if (ipStr == "") {
|
|
var r = confirm("没有符合条件的设备,点击确定将局域网内所有设备连接到本地!");
|
|
if (!r) {
|
|
return false;
|
|
}
|
|
}
|
|
var msg = "{caozuo:'setTcp',ipStr:'" + ipStr + "'}";
|
|
send(msg);
|
|
});
|
|
//设置测试云
|
|
$("#setTestYun").click(function () {
|
|
var ipStr = getIps(false);
|
|
clearSetTcpStatus();
|
|
if (ipStr == "") {
|
|
var r = confirm("没有符合条件的设备,点击确定将局域网内所有设备连接到测试云!");
|
|
if (!r) {
|
|
return false;
|
|
}
|
|
}
|
|
var msg = "{caozuo:'setTestYun',ipStr:'" + ipStr + "'}";
|
|
send(msg);
|
|
});
|
|
//设置生产云
|
|
$("#setProductYun").click(function () {
|
|
var ipStr = getIps(false);
|
|
clearSetTcpStatus();
|
|
if (ipStr == "") {
|
|
var r = confirm("没有符合条件的设备,点击确定将局域网内所有设备连接到正式云!");
|
|
if (!r) {
|
|
return false;
|
|
}
|
|
}
|
|
var msg = "{caozuo:'setProductYun',ipStr:'" + ipStr + "'}";
|
|
send(msg);
|
|
});
|
|
//选择框
|
|
$("#checkboxList").click(function () {
|
|
var checked = this.checked;
|
|
var checkboxList = $(".checkboxList");
|
|
for (var i = 0; i < checkboxList.length; i++) {
|
|
checkboxList[i].checked = checked;
|
|
}
|
|
});
|
|
//刷新状态
|
|
$("#refresh").click(function () {
|
|
var macList = $("td[id$='Ip']");
|
|
var isLine = false;
|
|
for (var i = 0; i < macList.length; i++) {
|
|
if ($(macList[i]).html() != "") {
|
|
isLine = true;
|
|
break;
|
|
}
|
|
}
|
|
if (!isLine) {
|
|
alert("没有在线的设备");
|
|
return false;
|
|
} else if ($("#selectTypeCount").val() == "0") {
|
|
alert("没有匹配的测试类型");
|
|
return false;
|
|
}
|
|
clearResult(false);
|
|
var msg = "{caozuo:'refresh'}";
|
|
send(msg);
|
|
});
|
|
//复选框选择
|
|
$("#checkboxAll").click(function () {
|
|
var checked = this.checked;
|
|
var checkboxList = $(".checkboxList");
|
|
for (var i = 0; i < checkboxList.length; i++) {
|
|
$(checkboxList[i]).prop("checked", checked);
|
|
}
|
|
});
|
|
//间隔下拉框赋值
|
|
for (var i = 2; i <= 10; i++) {
|
|
$("#interval").append("<option value='" + i + "'>" + i + "</option>");
|
|
}
|
|
//执行次数
|
|
$("#executeCount").append("<option value='1'>1</option>");
|
|
$("#executeCount").append("<option value='10'>10</option>");
|
|
$("#executeCount").append("<option value='30'>30</option>");
|
|
$("#executeCount").append("<option value='50'>50</option>");
|
|
$("#executeCount").append("<option value='100'>100</option>");
|
|
for (var i = 10; i <= 50; i = i + 10) {
|
|
$("#executeCount").append("<option value='" + (100 * i) + "'>" + (100 * i) + "</option>");
|
|
}
|
|
$("#executeCount").append("<option value='10000'>10000</option>");
|
|
});
|
|
//websocket发送消息
|
|
function send(data) {
|
|
websocket.send(data);
|
|
}
|
|
//保存参数
|
|
function sendParam() {
|
|
var checked = $("#isCompare").is(":checked");
|
|
send("{caozuo:'selectType',type:'" + $("#controlType").val() + "',interval:'" + $("#interval").val() + "',executeCount:'" + $("#executeCount").val() + "',floatValue:'" + $("#floatValue").val() + "',isCompare:'" + checked + "'}");
|
|
}
|
|
//清除设置域名状态
|
|
function clearSetTcpStatus() {
|
|
var setTcp = $("span[id$='Set']");
|
|
for (var i = 0; i < setTcp.length; i++) {
|
|
$(setTcp[i]).addClass("hide");
|
|
}
|
|
}
|
|
//按钮禁用
|
|
function disabled(bln) {
|
|
$("#controlType").attr("disabled", bln);
|
|
$("#allBut").attr("disabled", bln);
|
|
$("#clearBut").attr("disabled", bln);
|
|
$("#clearOffLine").attr("disabled", bln);
|
|
$("#clearAll").attr("disabled", bln);
|
|
$("#clearChoice").attr("disabled", bln);
|
|
$("#setTcp").attr("disabled", bln);
|
|
$("#setTestYun").attr("disabled", bln);
|
|
$("#setProductYun").attr("disabled", bln);
|
|
$("#assign").attr("disabled", bln);
|
|
$("#refresh").attr("disabled", bln);
|
|
}
|
|
//IP格式化/0.0.0.0:14556 ->0.0.0.0
|
|
function formatAddress(val) {
|
|
return val.substring(1, val.indexOf(":"));
|
|
}
|
|
//bln 是否设置本地
|
|
function getIps(bln) {
|
|
var ipArray = new Array();
|
|
var checkboxList = $(".checkboxList");
|
|
for (var i = 0; i < checkboxList.length; i++) {
|
|
var checked = checkboxList[i].checked;
|
|
if (checked) {
|
|
var ip = $(checkboxList[i]).parents("tr").find("td:eq(5)").html();
|
|
var status = $(checkboxList[i]).parents("tr").find("td:eq(7)").html();
|
|
if (ip != '') {
|
|
//是否本地
|
|
if (bln) {
|
|
if (status != '<span class="label label-success">连接正常</span>') {
|
|
ipArray.push(ip);
|
|
}
|
|
} else {
|
|
ipArray.push(ip);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return ipArray.toString();
|
|
}
|
|
//bln布尔值,n第几个命令
|
|
function returnResult(id, bln, n) {
|
|
if (bln) {
|
|
$("#" + id + "Result" + n).addClass("label-success");
|
|
$("#" + id + "Result" + n).html("<span class='glyphicon glyphicon-ok'></span>");
|
|
} else {
|
|
$("#" + id + "Result" + n).addClass("label-danger");
|
|
$("#" + id + "Result" + n).html("<span class='glyphicon glyphicon-remove'></span>");
|
|
}
|
|
}
|
|
//超时,返回命令失败结果,n表示第几个命令
|
|
function returnFailed(n) {
|
|
var result = $("span[id$='Result" + n + "']");
|
|
var ipList = $("td[id$='Ip']");
|
|
var hardTypeList = $("td[id$='HardType']");
|
|
for (var i = 0; i < result.length; i++) {
|
|
if ($(ipList[i]).html() != "") {
|
|
var rt = $(result[i]).html();
|
|
if (rt == "" && ($("#controlType").val() == "" || $(hardTypeList[i]).html() == $("#controlType").val())) {
|
|
$(result[i]).addClass("label-danger");
|
|
$(result[i]).html("<span class='glyphicon glyphicon-remove'></span>");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//倒计时
|
|
function setTime(tt, id) {
|
|
if (tt == "<span class=\"glyphicon glyphicon-play\"></span>开始测试") {
|
|
disabled(false);
|
|
//如有错误停下来
|
|
if (!errorStatus()) {
|
|
executeCount--;
|
|
if (executeCount >= 1) {
|
|
//继续执行
|
|
$("#noexecute").val(executeCount);
|
|
setTimeout("beginTest()", 1000);
|
|
} else if (executeCount == -1) {
|
|
|
|
} else {
|
|
$("#executeCount").change();
|
|
}
|
|
}
|
|
}
|
|
if (!(typeof (id) == "undefined")) {
|
|
$("#" + id).bootstrapSwitch('toggleState');
|
|
}
|
|
$("#allBut").html(tt);
|
|
}
|
|
//标记错误状态
|
|
function errorStatus() {
|
|
var isError = false;
|
|
//温度比对
|
|
var checked = $("#isCompare").is(":checked");
|
|
if (checked) {
|
|
var wenduValue = 0.0;
|
|
var wendu = $("span[id$='Wendu']");
|
|
var count = 0;
|
|
for (var i = 0; i < wendu.length; i++) {
|
|
var v = $(wendu[i]).html();
|
|
if (v != "" && v != "0.0") {
|
|
count++;
|
|
wenduValue += parseFloat(v);
|
|
}
|
|
}
|
|
//温度平均值
|
|
var averageValue = count == 0 ? wenduValue.toFixed(1) : (wenduValue / count).toFixed(1);
|
|
$("#averageValue").val(averageValue);
|
|
//浮动值
|
|
var floatValue = $("#floatValue").val();
|
|
var maxValue = parseFloat(averageValue) + parseFloat(floatValue);
|
|
var minValue = parseFloat(averageValue) - parseFloat(floatValue);
|
|
for (var i = 0; i < wendu.length; i++) {
|
|
var v = $(wendu[i]).html();
|
|
if (v != "" && v != "0.0") {
|
|
if (parseFloat(v) > maxValue || parseFloat(v) < minValue) {
|
|
$(wendu[i]).parent().addClass("label-warning");
|
|
isError = true;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
$("#averageValue").val("0.0");
|
|
}
|
|
//列数
|
|
var orderCount = $("#orderCount").val();
|
|
for (var j = 0; j < orderCount; j++) {
|
|
//按钮状态
|
|
var onOff = $("#onOff" + j + "Checkbox").prop("checked");
|
|
//返回状态
|
|
var results = $("span[id$='Result" + (j + 1) + "']");
|
|
for (var i = 0; i < results.length; i++) {
|
|
var result = $(results[i]).html();
|
|
if (result != "" && onOff != undefined) {
|
|
if (result == "开") {
|
|
if (!onOff) {
|
|
$(results[i]).parent().addClass("label-warning");
|
|
isError = true;
|
|
}
|
|
} else if (result == "关") {
|
|
if (onOff) {
|
|
$(results[i]).parent().addClass("label-warning");
|
|
isError = true;
|
|
}
|
|
}
|
|
//模式
|
|
else if (result == "自动") {
|
|
//if(onOff){
|
|
$(results[i]).parent().addClass("label-warning");
|
|
isError = true;
|
|
//}
|
|
}
|
|
//加热温度
|
|
else if (result == "32.0") {
|
|
if (!onOff) {
|
|
$(results[i]).parent().addClass("label-warning");
|
|
isError = true;
|
|
}
|
|
} else if (result == "0.0") {
|
|
if (onOff) {
|
|
$(results[i]).parent().addClass("label-warning");
|
|
isError = true;
|
|
}
|
|
}
|
|
//背光亮度
|
|
else if (result == "250") {
|
|
if (!onOff) {
|
|
$(results[i]).parent().addClass("label-warning");
|
|
isError = true;
|
|
}
|
|
} else if (result == "0") {
|
|
if (onOff) {
|
|
$(results[i]).parent().addClass("label-warning");
|
|
isError = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return isError;
|
|
}
|
|
//清空结果
|
|
function clearResult(bln) {
|
|
var result = $(".result");
|
|
for (var i = 0; i < result.length; i++) {
|
|
$(result[i]).removeClass("label-danger label-success");
|
|
if (bln) {
|
|
$(result[i]).parent().removeClass("label-warning");
|
|
}
|
|
$(result[i]).html("");
|
|
}
|
|
var wendu = $("span[id$='Wendu']");
|
|
for (var i = 0; i < wendu.length; i++) {
|
|
$(wendu[i]).html("");
|
|
}
|
|
}
|
|
//开始测试
|
|
function beginTest() {
|
|
$("#allBut").click();
|
|
}
|
|
|
|
//接受的json数据显示至页面
|
|
function jsonToView(json) {
|
|
var result = json["result"];
|
|
var data = json["data"];
|
|
//查询全部连接信息
|
|
if (result == "query") {
|
|
if (data != "undefined") {
|
|
/**
|
|
* 基本参数
|
|
*/
|
|
for (var p in data) {
|
|
if (p == "isCompare") {
|
|
$("#isCompare").prop("checked", data[p]);
|
|
} else if (p == "floatValue") {
|
|
$("#floatValue").val(data[p].toFixed(1));
|
|
} else {
|
|
$("#" + p).val(data[p]);
|
|
}
|
|
}
|
|
executeCount = $("#executeCount").val();
|
|
$("#noexecute").val(executeCount);
|
|
//指令数
|
|
var orderCount = $("#orderCount").val();
|
|
//指令数
|
|
$("#tr").find("td:gt(" + (parseInt(orderCount) + 8) + ")").remove();
|
|
//获取电子厂信息
|
|
getFactoryInfo();
|
|
/**
|
|
* 设备参数
|
|
*/
|
|
//连接状态
|
|
var statusMap = json["statusMap"];
|
|
//硬件型号
|
|
var hardTypeMap = json["hardTypeMap"];
|
|
//硬件类型
|
|
var controlTypeMap = json["controlTypeMap"];
|
|
//重连次数
|
|
var resetCountMap = json["resetCountMap"];
|
|
//ip
|
|
var ipMap = json["ipMap"];
|
|
//显示名称
|
|
var showNameMap = json["showNameMap"];
|
|
for (var p in showNameMap) {
|
|
var showName = showNameMap[p];
|
|
//显示
|
|
if (showName == "加热状态") {
|
|
$("#" + p).parent("td").html(showNameMap[p]);
|
|
}
|
|
//手动模式
|
|
else if (showName == "手动模式") {
|
|
$("#" + p).bootstrapSwitch({
|
|
"onColor": "success",
|
|
"offColor": "success",
|
|
"onText": "开",
|
|
"offText": "开",
|
|
"labelText": showName,
|
|
"onSwitchChange": function (event, state) {
|
|
var number = this.value;
|
|
var singleTest = false;
|
|
//单个测试
|
|
var cb = $(".checkboxList:checked");
|
|
if (cb.length > 0) {
|
|
var trClass = $(cb[0]).parents("tr").attr("class");
|
|
if (trClass == "marryType") {
|
|
var macAddress = $(cb[0]).parents("tr").find("td:eq(2)").html();
|
|
singleTest = true;
|
|
send("{caozuo:'onoffTest',number:'" + number + "',checked:false,macAddress:'" + macAddress + "',singleTest:'" + singleTest + "'}");
|
|
}
|
|
}
|
|
if (!singleTest) {
|
|
//多个测试
|
|
var marryType = $(".marryType");
|
|
if (marryType.length > 0) {
|
|
send("{caozuo:'onoffTest',number:'" + number + "',checked:'false',macAddress:'',singleTest:'" + singleTest + "'}");
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
//设置加热温度
|
|
else if (showName == "加热温度") {
|
|
$("#" + p).bootstrapSwitch({
|
|
"onColor": "success",
|
|
"offColor": "danger",
|
|
"onText": "32.0",
|
|
"offText": "0.0",
|
|
"labelText": showName,
|
|
"onSwitchChange": function (event, state) {
|
|
var number = this.value;
|
|
var checked = this.checked;
|
|
var singleTest = false;
|
|
//单个测试
|
|
var cb = $(".checkboxList:checked");
|
|
if (cb.length > 0) {
|
|
var trClass = $(cb[0]).parents("tr").attr("class");
|
|
if (trClass == "marryType") {
|
|
var macAddress = $(cb[0]).parents("tr").find("td:eq(2)").html();
|
|
singleTest = true;
|
|
send("{caozuo:'setHeat',number:'" + number + "',checked:'" + checked + "',macAddress:'" + macAddress + "',singleTest:'" + singleTest + "'}");
|
|
}
|
|
}
|
|
if (!singleTest) {
|
|
//多个测试
|
|
var marryType = $(".marryType");
|
|
if (marryType.length > 0) {
|
|
send("{caozuo:'setHeat',number:'" + number + "',checked:'" + checked + "',macAddress:'',singleTest:'" + singleTest + "'}");
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
//调整背光亮度
|
|
else if (showName == "背光亮度") {
|
|
$("#" + p).bootstrapSwitch({
|
|
"labelText": showName,
|
|
"onColor": "success",
|
|
"offColor": "danger",
|
|
"onText": "250",
|
|
"offText": "0",
|
|
"onSwitchChange": function (event, state) {
|
|
var number = this.value;
|
|
var checked = this.checked;
|
|
var singleTest = false;
|
|
//单个测试
|
|
var cb = $(".checkboxList:checked");
|
|
if (cb.length > 0) {
|
|
var trClass = $(cb[0]).parents("tr").attr("class");
|
|
if (trClass == "marryType") {
|
|
var macAddress = $(cb[0]).parents("tr").find("td:eq(2)").html();
|
|
singleTest = true;
|
|
send("{caozuo:'changeLightness',number:'" + number + "',checked:'" + checked + "',macAddress:'" + macAddress + "',singleTest:'" + singleTest + "'}");
|
|
}
|
|
}
|
|
if (!singleTest) {
|
|
//多个测试
|
|
var marryType = $(".marryType");
|
|
if (marryType.length > 0) {
|
|
send("{caozuo:'changeLightness',number:'" + number + "',checked:'" + checked + "',macAddress:'',singleTest:'" + singleTest + "'}");
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
//普通开关
|
|
else {
|
|
$("#" + p).bootstrapSwitch({
|
|
"onColor": "success",
|
|
"offColor": "danger",
|
|
"onText": "开",
|
|
"offText": "关",
|
|
"labelText": showName,
|
|
"onSwitchChange": function (event, state) {
|
|
var number = this.value;
|
|
var checked = this.checked;
|
|
var singleTest = false;
|
|
//单个测试
|
|
var cb = $(".checkboxList:checked");
|
|
if (cb.length > 0) {
|
|
var trClass = $(cb[0]).parents("tr").attr("class");
|
|
if (trClass == "marryType") {
|
|
var macAddress = $(cb[0]).parents("tr").find("td:eq(2)").html();
|
|
singleTest = true;
|
|
send("{caozuo:'onoffTest',number:'" + number + "',checked:'" + checked + "',macAddress:'" + macAddress + "',singleTest:'" + singleTest + "'}");
|
|
}
|
|
}
|
|
if (!singleTest) {
|
|
//多个测试
|
|
var marryType = $(".marryType");
|
|
if (marryType.length > 0) {
|
|
send("{caozuo:'onoffTest',number:'" + number + "',checked:'" + checked + "',macAddress:'',singleTest:'" + singleTest + "'}");
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
//发送指令顺序
|
|
var orderNumberMap = json["orderNumberMap"];
|
|
if (orderNumberMap != undefined) {
|
|
for (var i = 0; i < orderNumberMap.length; i++) {
|
|
$("#onOff" + i + "Checkbox").val(orderNumberMap[i]);
|
|
}
|
|
}
|
|
//遍历json对象的每个key/value对,p为key
|
|
for (var id in ipMap) {
|
|
//var ip = formatAddress(ipMap[id]);
|
|
var str = "";
|
|
//列数
|
|
for (var i = 1; i <= orderCount; i++) {
|
|
str = str + "<td><span class='result label' id='" + id + "Result" + i + "'></span></td>";
|
|
}
|
|
$("#tab").append("<tr>" +
|
|
//<input type='checkbox' class='checkboxList'/>
|
|
"<td style='text-align:center;'><span class='label label-success hide' id='" + id + "Set'><i class='glyphicon glyphicon-ok'></i></span><input type='checkbox' class='checkboxList'/></td>" +
|
|
"<td style='text-align:center;' class='index'></td>" +
|
|
"<td id='" + id + "Mac'>" + id + "</td>" +
|
|
"<td style='display:none' id='" + id + "HardType'>" + hardTypeMap[id] + "</td>" +
|
|
"<td id='" + id + "ControlType'>" + controlTypeMap[id] + "</td>" +
|
|
"<td id='" + id + "Ip'>" + ipMap[id] + "</td>" +
|
|
"<td id='" + id + "ResetCount'>" + resetCountMap[id] + "</td>" +
|
|
"<td id='" + id + "Status'>" + statusMap[id] + "</td>" +
|
|
"<td><span class='result label' id='" + id + "Wendu'></span></td>" +
|
|
str +
|
|
"</tr>");
|
|
}
|
|
//断开的移动到最后一行
|
|
var ipList = $("td[id$='Ip']");
|
|
for (var i = 0; i < ipList.length; i++) {
|
|
if ($(ipList[i]).html() == "") {
|
|
$("#tab").find("tr:last").after($(ipList[i]).parent());
|
|
}
|
|
}
|
|
//变成选择的颜色
|
|
changeColor();
|
|
//重新编号
|
|
renumber();
|
|
}
|
|
}
|
|
//新增连接信息
|
|
else if (result == "add") {
|
|
if (data != "undefined") {
|
|
//macAddress
|
|
var id = json["id"];
|
|
//指令数
|
|
var orderCount = $("#orderCount").val();
|
|
//不存在新增
|
|
if ($("#" + id + "Mac").val() == undefined) {
|
|
var str = "";
|
|
for (var i = 1; i <= orderCount; i++) {
|
|
str = str + "<td><span class='result label' id='" + id + "Result" + i + "'></span></td>";
|
|
}
|
|
$("#tab").append("<tr>" +
|
|
//<input type='checkbox' class='checkboxList'/>
|
|
"<td style='text-align:center;'><span class='label label-success hide' id='" + id + "Set'><i class='glyphicon glyphicon-ok'></i></span><input type='checkbox' class='checkboxList'/></td>" +
|
|
"<td style='text-align:center;' class='index'></td>" +
|
|
"<td id='" + id + "Mac'></td>" +
|
|
"<td style='display:none' id='" + id + "HardType'></td>" +
|
|
"<td id='" + id + "ControlType'></td>" +
|
|
"<td id='" + id + "Ip'></td>" +
|
|
"<td id='" + id + "ResetCount'></td>" +
|
|
"<td id='" + id + "Status'></td>" +
|
|
"<td><span class='result label' id='" + id + "Wendu'></span></td>" +
|
|
str +
|
|
"</tr>");
|
|
}
|
|
//赋值
|
|
for (var p in data) {
|
|
if (p == "lineCount") {
|
|
$("#lineCount").val(data[p]);
|
|
} else {
|
|
$("#" + p).html(data[p]);
|
|
}
|
|
}
|
|
$("#" + id + "Set").addClass("hide");
|
|
//连接的移动到第一行
|
|
$("#tab").find("tr:first").before($("#" + id + "Mac").parent());
|
|
//变成选择的颜色
|
|
changeColor();
|
|
//重新编号
|
|
renumber();
|
|
}
|
|
}
|
|
//扫描局域网内设备
|
|
else if (result == "scanDevice") {
|
|
if (data != "undefined") {
|
|
//macAddress
|
|
var id = json["id"];
|
|
//指令数
|
|
var orderCount = $("#orderCount").val();
|
|
//不存在新增
|
|
if ($("#" + id + "Mac").val() == undefined) {
|
|
var str = "";
|
|
for (var i = 1; i <= orderCount; i++) {
|
|
str = str + "<td><span class='result label' id='" + id + "Result" + i + "'></span></td>";
|
|
}
|
|
$("#tab").append("<tr>" +
|
|
//<input type='checkbox' class='checkboxList'/>
|
|
"<td style='text-align:center;'><span class='label label-success hide' id='" + id + "Set'><i class='glyphicon glyphicon-ok'></i></span><input type='checkbox' class='checkboxList'/></td>" +
|
|
"<td style='text-align:center;' class='index'></td>" +
|
|
"<td id='" + id + "Mac'></td>" +
|
|
"<td style='display:none' id='" + id + "HardType'></td>" +
|
|
"<td id='" + id + "ControlType'></td>" +
|
|
"<td id='" + id + "Ip'></td>" +
|
|
"<td id='" + id + "ResetCount'></td>" +
|
|
"<td id='" + id + "Status'></td>" +
|
|
"<td><span class='result label' id='" + id + "Wendu'></span></td>" +
|
|
str +
|
|
"</tr>");
|
|
//赋值
|
|
for (var p in data) {
|
|
$("#" + p).html(data[p]);
|
|
}
|
|
//连接的移动到第一行
|
|
$("#tab").find("tr:last").after($("#" + id + "Mac").parent());
|
|
//变成选择的颜色
|
|
changeColor();
|
|
//重新编号
|
|
renumber();
|
|
}
|
|
}
|
|
}
|
|
//响应连接断开
|
|
else if (result == "connClose") {
|
|
if (data != "undefined") {
|
|
//赋值
|
|
for (var p in data) {
|
|
if (p == "lineCount") {
|
|
$("#lineCount").val(data[p]);
|
|
} else {
|
|
$("#" + p).html(data[p]);
|
|
}
|
|
}
|
|
//断开的移动到最后一行
|
|
$("#tab").find("tr:last").after($("#" + id + "Mac").parent());
|
|
//重新编号
|
|
renumber();
|
|
}
|
|
}
|
|
//灯开关状态
|
|
else if (result == "onoff") {
|
|
if (data != "undefined") {
|
|
for (var p in data) {
|
|
$("#" + p).removeClass("label-danger label-success");
|
|
var v = data[p];
|
|
if (v == "开") {
|
|
$("#" + p).addClass("label-success");
|
|
$("#" + p).html(v);
|
|
} else if (v == "关") {
|
|
$("#" + p).addClass("label-danger");
|
|
$("#" + p).html(v);
|
|
} else if (v == "手动") {
|
|
$("#" + p).addClass("label-success");
|
|
$("#" + p).html(v);
|
|
} else if (v == "自动") {
|
|
$("#" + p).addClass("label-danger");
|
|
$("#" + p).html(v);
|
|
}
|
|
//背光250亮度 /温度32℃
|
|
else if (v == "250" || v == "32.0") {
|
|
$("#" + p).addClass("label-success");
|
|
$("#" + p).html(v);
|
|
}
|
|
//背光0亮度/温度0℃
|
|
else if (v == "0" || v == "0.0") {
|
|
$("#" + p).addClass("label-danger");
|
|
$("#" + p).html(v);
|
|
} else {
|
|
$("#" + p).addClass("label-default");
|
|
$("#" + p).html(v);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//设置TCP域名
|
|
else if (result == "setTcp") {
|
|
if (data != "undefined") {
|
|
for (var p in data) {
|
|
$("#" + p).removeClass("hide");
|
|
}
|
|
}
|
|
}
|
|
//设置TCP域名
|
|
else if (result == "download") {
|
|
alert(data);
|
|
}
|
|
//命令回复
|
|
else {
|
|
var id = data["id"];
|
|
var control = data["control"];
|
|
var wendu = data["wendu"];
|
|
$("#" + id + "Wendu").html(wendu);
|
|
returnResult(id, control, result);
|
|
}
|
|
}
|
|
//重新编号
|
|
function renumber() {
|
|
var indexList = $(".index");
|
|
for (var i = 0; i < indexList.length; i++) {
|
|
$(indexList[i]).html(i + 1);
|
|
}
|
|
}
|
|
//匹配测试类型变换颜色
|
|
function changeColor() {
|
|
var count = 0;
|
|
var controls = $("td[id$='HardType']");
|
|
for (var i = 0; i < controls.length; i++) {
|
|
if ($(controls[i]).html() == $("#hardwareType").val()) {
|
|
//变换颜色
|
|
$(controls[i]).parent().css("background-color", "Beige");
|
|
$(controls[i]).parent().addClass("marryType");
|
|
//移动到首行
|
|
$("#tab").find("tr:first").before($(controls[i]).parent());
|
|
count++;
|
|
} else {
|
|
$(controls[i]).parent().css("background-color", "");
|
|
$(controls[i]).parent().removeClass("marryType");
|
|
}
|
|
}
|
|
//匹配测试类型的数量
|
|
$("#selectTypeCount").val(count);
|
|
}
|
|
function getFactoryInfo() {
|
|
$.ajax({
|
|
//url: "https://bg.zhangxinyanv5.top/page/public/getVenderList.do?rm=" + Math.random() + "&factoryCode=" + $("#factoryCode").val(),
|
|
url: "http://192.168.199.129:7080/page/public/getVenderList.do?rm=" + Math.random() + "&factoryCode=" + $("#factoryCode").val(),
|
|
//url: "https://bg.ifish7.com/page/public/getVenderList.do?rm=" + Math.random() + "&factoryCode=" + $("#factoryCode").val(),
|
|
type: "get",
|
|
dataType: "json",
|
|
success: function (evt) {
|
|
var data = evt.venderMap;
|
|
var data1 = evt.hardwareMap;
|
|
var trs = "";
|
|
var i = 1;
|
|
$.each(data1, function (k, v) {
|
|
$("#controlType").append('<option value="' + k + '">' + v + '</option>');
|
|
});
|
|
$("#controlType").val($("#hardwareType").val());
|
|
$.each(data, function (k, v) {
|
|
if (i % 2 == 1) {
|
|
trs = trs + '<tr class="success"><td style="vertical-align:middle; width:25%"><div style="margin-left:10%;"><input type="radio" style="width:20px;height:20px" value="' + k + '" name="radio"/> <b><font style="font-size: 15px">' + v + '</b></font></div></td>'
|
|
+ '<td style="vertical-align:middle; text-align:center;width:25%"><img width="80" src="http://app.ifish7.com/vender/' + k + '_logo.png"/></td>';
|
|
} else {
|
|
trs = trs + '<td style="vertical-align:middle; width:25%"><div style="margin-left:10%;"><input type="radio" style="width:20px;height:20px" value="' + k + '" name="radio"/> <b><font style="font-size: 15px">' + v + '</b></font></div></td>'
|
|
+ '<td style="vertical-align:middle; text-align:center;width:25%"><img width="80" src="http://app.ifish7.com/vender/' + k + '_logo.png"/></td></tr>';
|
|
}
|
|
i++;
|
|
});
|
|
if (i % 2 == 0) {
|
|
trs = trs + '<td></td><td></td></tr>';
|
|
}
|
|
$("#venderTbale").append(trs);
|
|
},
|
|
error: function () {
|
|
alert("获取厂家信息失败");
|
|
}
|
|
});
|
|
}
|