123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765 |
- <!DOCTYPE html>
- <html class="x-admin-sm" style="overflow-y: hidden;">
- <head>
- <meta charset="UTF-8">
- <meta name="renderer" content="webkit">
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <meta name="viewport"
- content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi"/>
- <link rel="shortcut icon" href="https://osscold.baozhida.cn/favicon.ico">
- <link rel="bookmark" href="https://osscold.baozhida.cn/favicon.ico">
- <link rel="stylesheet" href="https://osscold.baozhida.cn/css/font.css">
- <link rel="stylesheet" href="https://osscold.baozhida.cn/css/xadmin.css">
- <link rel="stylesheet" href="https://osscold.baozhida.cn/layui/css/layui.css">
- <script type="text/javascript" src="https://osscold.baozhida.cn/layui/layui.js" charset="utf-8"></script>
- <script type="text/javascript" src="https://osscold.baozhida.cn/js/xadmin.js"></script>
- <script src="https://cdn.staticfile.org/jquery/3.4.0/jquery.min.js"></script>
- <script src="https://cdn.staticfile.org/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
- <!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
- <!--[if lt IE 9]>
- <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
- <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
- <![endif]--></head>
- <body>
- <div class="layui-fluid">
- <div class="layui-row" id="tab_1">
- <div class="layui-row">
- <button class="layui-btn layui-btn-normal" style="float: right" onclick="tab_2()">
- <i class="iconfont" style="margin-right: 4px"></i>配置参数
- </button>
- <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
- <legend>实时数据</legend>
- </fieldset>
- <div style="margin-left: 40px;font-size: 20px">
- 设备名称:<span id="T_devName" class="tab_show" style="margin-right: 10px;"></span>
- 设备SN:<span id="T_sn" class="tab_show">{{.DeviceSensor.T_sn}}</span>
- </div>
- <div style="margin-left: 40px;font-size: 20px;margin-top: 10px">
- 传感器名称:<span id="T_name" class="tab_show" style="margin-right: 10px;">{{.DeviceSensor.T_name}}</span>
- 传感器ID:<span id="T_id" class="tab_show">{{.DeviceSensor.T_id}}</span>
- </div>
- <div style="margin-left: 40px;font-size: 20px;margin-top: 10px">
- 是否启用传感器:<span class="tab_show" style="margin-right: 10px;">
- {{if eq .DeviceSensor.T_en 1}}
- 启用
- {{end}}
- {{if eq .DeviceSensor.T_en 0}}
- 停止
- {{end}}
- </span>
- 是否为闲置状态(空库,只监测不报警):<span class="tab_show" style="margin-right: 10px;">
- {{if eq .DeviceSensor.T_free 0}}
- 正常
- {{end}}
- {{if eq .DeviceSensor.T_free 1}}
- 闲置
- {{end}}
- </span>
- </div>
- <div style="margin-left: 40px;">
- <div style="width: 100px;float: left;margin-right: 10px">
- {{if eq .DeviceSensor.T_err 0}}
- <img src="https://osscold.baozhida.cn/images/温湿度传感器-1.png" height="100" width="100"/>
- {{end}}
- {{if eq .DeviceSensor.T_err 1}}
- <img src="https://osscold.baozhida.cn/images/温湿度传感器-3.png" height="100" width="100"/>
- {{end}}
- </div>
- <div style="float: left;font-size: 20px">
- <div style="margin-top: 10px">
- <span id="T_t" style="width: 130px;float: left">温度:{{.DeviceSensor.T_t}}℃</span>
- <span id="T_Tlower" style="margin-right: 10px">限制:{{.DeviceSensor.T_Tlower}}℃</span> ~
- <span id="T_Tupper">{{.DeviceSensor.T_Tupper}}℃</span>
- </div>
- <div>
- <span id="T_rh" style="width: 130px;float: left">湿度:{{.DeviceSensor.T_rh}}%</span>
- <span id="T_RHlower" style="margin-right: 10px">限制:{{.DeviceSensor.T_RHlower}}%</span> ~
- <span id="T_RHupper">{{.DeviceSensor.T_RHupper}}%</span>
- </div>
- <div>
- <span id="T_time">更新时间:等待同步中.....</span><img style="margin-left: 2px"
- src="https://osscold.baozhida.cn/images/等待.gif" height="20"
- width="20"/>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="layui-row" id="tab_2">
- <div class="layui-row">
- <button class="layui-btn layui-btn-normal" style="float: right" onclick="tab_1()">
- <i class="iconfont" style="margin-right: 4px"></i>实时数据
- </button>
- <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
- <legend >传感器参数</legend>
- </fieldset>
- </div>
- <div class="layui-row">
- <div class="layui-col-md7">
- <form class="layui-form" action="" lay-filter="example">
- <div class="layui-form-item">
- <div class="layui-inline">
- <label class="layui-form-label">设备名称</label>
- <div class="layui-input-inline">
- <input type="text" id="S_devName layui-disabled" value="{{.Device.T_devName}}" name="S_devName" autocomplete="off"
- class="layui-input">
- </div>
- <div class="layui-input-inline">
- <input class="layui-input layui-disabled" value="{{.Device.T_sn}}" type="text" id="S_sn" name="S_sn"
- autocomplete="off"
- class="layui-input">
- </div>
- </div>
- </div>
- <div class="layui-form-item">
- <div class="layui-inline">
- <label class="layui-form-label">传感器名称</label>
- <div class="layui-input-inline">
- <input type="text" id="S_name" value="{{.DeviceSensor.T_name}}" name="S_name" autocomplete="off" class="layui-input">
- </div>
- <div class="layui-input-inline" style="width: 50px">
- <input class="layui-input layui-disabled" type="text" value="{{.DeviceSensor.T_id}}" id="S_id" name="S_id"
- autocomplete="off"
- class="layui-input">
- </div>
- </div>
- </div>
- <div class="layui-form-item">
- <div class="layui-inline">
- <label class="layui-form-label">温度范围 ℃</label>
- <div class="layui-input-inline" style="width: 100px;">
- <input type="text" name="S_Tlower" autocomplete="off" class="layui-input">
- </div>
- <div class="layui-form-mid">-</div>
- <div class="layui-input-inline" style="width: 100px;">
- <input type="text" name="S_Tupper" autocomplete="off" class="layui-input">
- </div>
- </div>
- </div>
- <div class="layui-form-item">
- <div class="layui-inline">
- <label class="layui-form-label">湿度范围 %</label>
- <div class="layui-input-inline" style="width: 100px;">
- <input type="text" name="S_RHlower" autocomplete="off" class="layui-input">
- </div>
- <div class="layui-form-mid">-</div>
- <div class="layui-input-inline" style="width: 100px;">
- <input type="text" name="S_RHupper" autocomplete="off" class="layui-input">
- </div>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label" style="width: 60px;">启用</label>
- <div class="layui-input-block">
- <input type="checkbox" id="S_en" name="S_en" lay-filter="switchTest" lay-skin="switch"
- lay-text="开|关">
- <div class="layui-unselect layui-form-switch" lay-skin="_switch"><em>关</em><i></i></div>
- </div>
- </div>
- <div class="layui-form-item">
- <label class="layui-form-label" style="width: 60px;">空库</label>
- <div class="layui-input-block">
- <input type="checkbox" id="S_free" name="S_free" lay-filter="switchTest" lay-skin="switch"
- lay-text="开|关">
- <div class="layui-unselect layui-form-switch" lay-skin="_switch"><em>关</em><i></i></div>
- </div>
- </div>
- <div class="layui-form-item" style="text-align: center;margin-top: 20px">
- <button id="Pu_DeviceParameter_Sensor_id" type="submit" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="add">离线-配置参数(温湿度范围 必填项)</button>
- </div>
- </form>
- <hr>
- <div class="layui-form-item" style="margin-top: 50px;">
- <div class="layui-inline">
- <label class="layui-form-label">实时数据显示排序:</label>
- <div class="layui-input-inline" style="width: 100px;">
- <input type="text" value="{{.DeviceSensor.T_sort}}" id="T_sort" autocomplete="off" class="layui-input">
- </div>
- <div class="layui-form-mid"></div>
- <div class="layui-input-inline" style="width: 100px;">
- <button class="layui-btn layui-btn-normal" onclick="UpDeviceSensor_Tsort()" >设置排序</button>
- </div>
- </div>
- </div>
- <hr>
- <button class="layui-btn layui-btn-danger" onclick="f_Device_Parameter_Del()" >删除此设备</button>
- </div>
- <div class="layui-col-md5">
- <fieldset class="layui-elem-field layui-field-title" style="margin-top: -10px;">
- <legend>最近修改记录</legend>
- </fieldset>
- {{range $index, $elem := .DeviceSensorParameter_lite}}
- <div class="layui-inline" style="margin-left: 40px;margin-bottom: 20px">
- <span style="margin-right: 20px">操作人UUID:{{$elem.T_uuid}}</span>
- <span style="margin-right: 20px">设备名称:{{$elem.T_name}}</span>
- <span style="margin-right: 20px">温度下限:{{$elem.T_Tlower}}</span>
- <span style="margin-right: 20px">温度上限:{{$elem.T_Tupper}}</span>
- <span style="margin-right: 20px">湿度下限:{{$elem.T_RHlower}}</span>
- <span style="margin-right: 20px">湿度上限:{{$elem.T_RHupper}}</span>
- <span style="margin-right: 20px">是否启用传感器:{{$elem.T_en}}</span>
- <span style="margin-right: 20px">监测点是否为闲置状态(:{{$elem.T_free}}</span>
- <span style="margin-right: 20px">修改时间:{{$elem.CreateTime}}</span>
- </div>
- {{end}}
- </div>
- </div>
- </div>
- </div>
- <script>
- //获取url中的参数
- function getQueryString(name) {
- var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
- var r = window.location.search.substr(1).match(reg);
- if (r != null)
- return decodeURIComponent(r[2]);
- return null;
- }
- function timestampToTime(timestamp) {
- var date = new Date(timestamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
- Y = date.getFullYear() + '-';
- M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
- D = date.getDate() + ' ';
- h = date.getHours() + ':';
- m = date.getMinutes() + ':';
- s = date.getSeconds();
- return Y + M + D + h + m + s;
- }
- $("#tab_1").hide()
- $("#tab_2").show()
- function tab_1() {
- $("#tab_1").show()
- $("#tab_2").hide()
- }
- function tab_2() {
- $("#tab_1").hide()
- $("#tab_2").show()
- }
- function f_Device_Parameter_Del() {
- // console.log(getQueryString("Sn"),getQueryString("Id"))
- //
- $.ajax({
- type: 'POST',
- url: 'Device_Parameter_Del',//发送请求】
- data: {
- Sn: getQueryString("Sn"),
- Id: getQueryString("Id")
- },
- success: function (result) {
- console.log(result)
- //关闭当前frame
- parent.layer.close(parent.layer.getFrameIndex(window.name));
- parent.location.reload();
- // return false;
- }
- });
- }
- function UpDeviceSensor_Tsort() {
- // console.log(getQueryString("Sn"),getQueryString("Id"))
- //
- $.ajax({
- type: 'POST',
- url: '../../Device/UpDeviceSensor_Tsort',//发送请求】
- data: {
- Sn: getQueryString("Sn"),
- Id: getQueryString("Id"),
- T_sort: $("#T_sort").val()
- },
- success: function (result) {
- console.log(result)
- //关闭当前frame
- parent.layer.close(parent.layer.getFrameIndex(window.name));
- parent.location.reload();
- // return false;
- }
- });
- }
- f_Read_DeviceParameter_is = true
- function f_Read_DeviceParameter() {
- if(f_Read_DeviceParameter_is){
- console.log("Read_DeviceSensorParameter",getQueryString("Sn"))
- $.ajax({
- type: 'POST',
- url: 'Read_DeviceSensorParameter',//发送请求
- data: {
- SN:getQueryString("Sn"),
- },
- success: function(result) {
- }
- });
- f_Read_DeviceParameter_is = false
- }
- }
- layui.use(['form', 'layer', "layedit"],
- function () {
- $ = layui.jquery;
- var form = layui.form,
- layer = layui.layer;
- var layedit = layui.layedit
- layedit.set({
- uploadImage: {
- url: '/UpFile' //接口url
- }
- });
- //构建一个默认的编辑器
- var index = layedit.build('T_text', {
- height: 580 //设置编辑器高度,
- });
- //监听提交
- form.on('submit(add)',
- function (data) {
- console.log("=== submit(add) ==");
- loading = layer.load(0, {
- shade: false,
- time: 99 * 1000
- });
- console.log(data);
- S_en = 0
- if (data.field.S_en != undefined) {
- S_en = 1
- }
- S_free = 0
- if (data.field.S_free != undefined) {
- S_free = 1
- }
- var T_sensor_list = [];
- T_sensor_list.push({
- "id": parseInt(Id),
- "name": data.field.S_name,
- "Tlower": parseFloat(data.field.S_Tlower),
- "Tupper": parseFloat(data.field.S_Tupper),
- "RHlower": parseFloat(data.field.S_RHlower),
- "RHupper": parseFloat(data.field.S_RHupper),
- "en": S_en,
- "free": S_free
- })
- url_ = "Pu_DeviceParameter_Sensor_Cache"
- if(ok_websocket_data){
- url_ = "Pu_DeviceParameter_Sensor"
- }else {
- if(data.field.S_Tlower.length == 0 || data.field.S_Tupper.length == 0){
- layer.msg('(离线设置)温度范围 必须设置');
- return false;
- }
- if(data.field.S_RHlower.length == 0 || data.field.S_RHupper.length == 0){
- layer.msg('(离线设置)湿度范围 必须设置');
- return false;
- }
- }
- $.ajax({
- type: 'POST',
- url: url_,//发送请求】
- data: {
- User_tokey: $.cookie('User_tokey'),
- SN: Sn,
- T_id: parseInt(Id),
- T_sensor_list: JSON.stringify(T_sensor_list)
- },
- success: function (result) {
- console.log(result)
- if(ok_websocket_data){
- loading = layer.load(0, {
- shade: false,
- time: 99 * 1000
- });
- }else {
- //关闭当前frame
- parent.layer.close(parent.layer.getFrameIndex(window.name));
- }
- // return false;
- }
- });
- return false;
- });
- {{if eq $.Admin_Power.Power_DeviceSensor_Compensate_e 1}}
- //监听提交
- form.on('submit(O_add)',
- function (data) {
- console.log("=== submit(add) ==");
- loading = layer.load(0, {
- shade: false,
- time: 99 * 1000
- });
- var T_sompensate_list = [];
- T_sompensate_list.push({
- "id": parseInt(Id),
- "T": parseFloat(data.field.O_T),
- "RH": parseFloat(data.field.O_RH)
- })
- $.ajax({
- type: 'POST',
- url: 'Pu_DeviceParameter_Compensate',//发送请求】
- data: {
- User_tokey: $.cookie('User_tokey'),
- SN: Sn,
- T_sompensate_list: JSON.stringify(T_sompensate_list)
- },
- success: function (result) {
- console.log(result)
- // return false;
- }
- });
- return false;
- });
- {{end}}
- // //监听指定开关
- // form.on('switch(switchTest)', function(data){
- // layer.msg('开关checked:'+ (this.checked ? 'true' : 'false'), {
- // offset: '6px'
- // });
- // layer.tips('温馨提示:请注意开关状态的文字可以随意定义,而不仅仅是ON|OFF', data.othis)
- // });
- //表单取值
- // layui.$('#LAY-component-form-getval').on('click', function(){
- // var data = form.val('example');
- // alert(JSON.stringify(data));
- // });
- var loading = layer.load(0, {
- shade: false,
- time: 99 * 1000
- });
- var timestamp_V = (new Date()) / 1000;
- var Sn = getQueryString("Sn")
- var Id = getQueryString("Id")
- $("#T_devName").html(getQueryString("Sn_name"))
- var websocket = null;
- var ok_websocket1 = false;
- var ok_websocket2 = false;
- var ok_websocket_data = false;
- function Timeout_1 (){
- //要执行的代码
- if(!ok_websocket1){
- layer.open({
- text:"连接失败",
- btn: '立即重新登录',
- content: "请退出账号重新登录!",
- yes: function(index, layero){
- //do something
- window.parent.parent.location.href ='../Login';
- layer.close(index); //如果设定了yes回调,需进行手工关闭
- }
- });
- }
- }
- setTimeout(Timeout_1,8000);//5秒后执行
- function Timeout_2 (){
- //要执行的代码
- if(!ok_websocket2){
- layer.open({
- text:"无响应",
- btn: '重新试试',
- content: "设备主机无响应,请重新试试,若有疑问请联系工作人员!",
- yes: function(index, layero){
- //do something
- layer.close(index); //如果设定了yes回调,需进行手工关闭
- }
- });
- }
- }
- setTimeout(Timeout_2,20000);//5秒后执行
- //判断当前浏览器是否支持WebSocket
- if ('WebSocket' in window) {
- url = window.location.host
- console.log("url:",url)
- if(url.indexOf("baozhida") != -1){
- websocket = new WebSocket("wss://"+window.location.host+"/ws/join?User_tokey="+$.cookie('User_tokey'));
- }else {
- websocket = new WebSocket("ws://"+window.location.host+"/ws/join?User_tokey="+$.cookie('User_tokey'));
- }
- } else {
- alert('Dont support websocket')
- }
- console.log(getQueryString("Sn"))
- //连接发生错误的回调方法
- websocket.onerror = function () {
- console.log("error");
- };
- //连接成功建立的回调方法
- websocket.onopen = function () {
- console.log("open");
- send("{\"Sn\":\"" + getQueryString("Sn") + "\"}")
- // f_Read_DeviceParameter();
- };
- //接收到消息的回调方法
- websocket.onmessage = function (event) {
- console.log(event.data)
- var obj = JSON.parse(event.data);
- console.log(obj.type)
- ok_websocket1 = true
- if(obj.Code == 200){
- f_Read_DeviceParameter();
- console.log(getQueryString("Sn").length , "KF00360016323051023".length)
- if(getQueryString("Sn").length > "KF00360016323051023".length){
- setTimeout(function(){
- console.log("f_Read_DeviceParameter 1200")
- f_Read_DeviceParameter();
- },1200);
- setTimeout(function(){
- console.log("f_Read_DeviceParameter 1400")
- f_Read_DeviceParameter();
- },1400);
- setTimeout(function(){
- console.log("f_Read_DeviceParameter 1600")
- f_Read_DeviceParameter();
- },1600);
- }
- }
- if (obj.sn != Sn) {
- return
- }
- // if (obj.type == 0) {
- // for (let i = 0; i < obj.sensor.length; i++) {
- //
- // console.log("== ",Number(obj.sensor[i].id) , Number(Id))
- // if (Number(obj.sensor[i].id) == Number(Id)) {
- // console.log("== ok ")
- // // T_en =false
- // // if(obj.sensor[i].en == 1){
- // // T_en =true
- // // }
- // // T_free =false
- // // if(obj.sensor[i].free == 1){
- // // T_free =true
- // // }
- // if (timestamp_V != obj.sensor[i].UT) {
- //
- //
- // $("#T_t").html("温度:" + obj.sensor[i].T.toFixed(2) + "℃")
- // $("#T_rh").html("湿度:" + obj.sensor[i].RH.toFixed(1) + "%")
- // $("#T_Tlower").html("限制:" + obj.sensor[i].Tlower + "℃")
- // $("#T_Tupper").html(obj.sensor[i].Tupper + "℃")
- // $("#T_RHlower").html("限制:" + obj.sensor[i].RHlower + "%")
- // $("#T_RHupper").html(obj.sensor[i].RHupper + "%")
- // $("#T_time").html("更新时间:" + timestampToTime(obj.sensor[i].UT) + " 更新间隔:" + Math.abs(timestamp_V - obj.sensor[i].UT).toFixed(0) + "s")
- //
- // console.log(timestamp_V, obj.sensor[i].UT, " 更新间隔:" + (timestamp_V - obj.sensor[i].UT) + "s")
- // timestamp_V = obj.sensor[i].UT
- //
- //
- // }
- //
- //
- //
- // break
- // }
- // }
- // }
- if (obj.type == 3) {
- switch (obj.msid % 10) {
- case 1:
- // obj.base.devName
- // form.val('example', {
- // "S_sn": obj.sn
- // , "S_devName": obj.base.devName
- //
- // });
- break
- case 2:
- ok_websocket2 = true
- for (let i = 0; i < obj.sensor.length; i++) {
- console.log("== ",Number(obj.sensor[i].id) , Number(Id))
- if (Number(obj.sensor[i].id) == Number(Id)) {
- console.log("== ok ")
- ok_websocket_data = true
- $("#Pu_DeviceParameter_Sensor_id").html("在线-修改数据")
- T_en = false
- if (obj.sensor[i].en == 1) {
- T_en = true
- }
- T_free = false
- if (obj.sensor[i].free == 1) {
- T_free = true
- }
- if(obj.sensor[i].name == "*") {
- form.val('example', {
- "S_id": Id
- , "S_Tlower": obj.sensor[i].Tlower
- , "S_Tupper": obj.sensor[i].Tupper
- , "S_RHlower": obj.sensor[i].RHlower
- , "S_RHupper": obj.sensor[i].RHupper
- , "S_en": T_en
- , "S_free": T_free
- });
- }else {
- form.val('example', {
- "S_id": Id
- , "S_name": obj.sensor[i].name
- , "S_Tlower": obj.sensor[i].Tlower
- , "S_Tupper": obj.sensor[i].Tupper
- , "S_RHlower": obj.sensor[i].RHlower
- , "S_RHupper": obj.sensor[i].RHupper
- , "S_en": T_en
- , "S_free": T_free
- });
- }
- layer.close(loading)
- }
- }
- break
- }
- }
- if (obj.type == 4) {
- switch (obj.msid % 10) {
- case 2:
- if(obj.set == 1){
- layer.close(loading)
- layer.msg('配置参数成功!', {
- offset: '6px'
- });
- //关闭当前frame
- parent.layer.close(parent.layer.getFrameIndex(window.name));
- parent.location.reload();
- }else {
- layer.close(loading)
- layer.msg('配置参数失败!', {
- offset: '6px'
- });
- }
- break
- case 3:
- layer.close(loading)
- layer.msg('配置参数成功!', {
- offset: '6px'
- });
- //关闭当前frame
- parent.layer.close(parent.layer.getFrameIndex(window.name));
- parent.location.reload();
- break
- }
- }
- //
- // if(obj && "memberstatus"==obj.type){
- // console.log(obj.data)
- // table.reload('test', {
- // elem: '#test'
- // ,data: JSON.parse(obj.data)
- // });
- // }
- };
- //连接关闭的回调方法
- websocket.onclose = function () {
- console.log("close");
- };
- //监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
- window.onbeforeunload = function () {
- websocket.close();
- console.log("onbeforeunload");
- };
- //关闭连接
- function closeWebSocket() {
- websocket.close();
- console.log("onbeforeunload");
- window.clearInterval(intervalId);
- }
- //发送消息
- function send(message) {
- websocket.send(message);
- }
- });
- </script>
- </body>
- <style>
- .tab_show {
- background-color: #CCE9FF;
- border-radius: 5px;
- padding: 4px;
- }
- </style>
- </html>
|