var layer;
|
var testList = [
|
{"id":"1","name":"测试视频#1","type":"3004","type0":"0","username":"admin","pwd":"a1234567","ipIn":"192.168.0.200","portInC":"554","portInV":"80","ipOut":"192.168.0.123","portOutC":"0","portOutV":"0","chanNum":"1","chanNumOut":"1","brand":"测试品牌","vld":"0","address":"地址","mediaAddr":"rtsp://{username}:{pwd}@{ip}:{port}/MPEG-4/ch1/sub/av_stream","webUrl":"webUrl"},
|
{"id":"2","name":"测试视频#2","type":"3004","type0":"0","username":"username","pwd":"123456","ipIn":"192.168.1.123","portInC":"554","portInV":"1","ipOut":"192.168.1.123","portOutC":"1","portOutV":"1","chanNum":"1","chanNumOut":"1","brand":"测试品牌","vld":"0","address":"地址","mediaAddr":"rtsp://{username}:{pwd}@{ip}:{port}/MPEG-4/ch1/sub/av_stream","webUrl":"webUrl"},
|
{"id":"3","name":"测试视频#3","type":"3004","type0":"0","username":"username","pwd":"123456","ipIn":"192.168.1.123","portInC":"554","portInV":"1","ipOut":"192.168.1.123","portOutC":"1","portOutV":"1","chanNum":"1","chanNumOut":"1","brand":"测试品牌","vld":"0","address":"地址","mediaAddr":"rtsp://{username}:{pwd}@{ip}:{port}/MPEG-4/ch1/sub/av_stream","webUrl":"webUrl"},
|
{"id":"4","name":"测试视频#4","type":"3004","type0":"0","username":"username","pwd":"123456","ipIn":"192.168.1.123","portInC":"554","portInV":"1","ipOut":"192.168.1.123","portOutC":"1","portOutV":"1","chanNum":"1","chanNumOut":"1","brand":"测试品牌","vld":"0","address":"地址","mediaAddr":"rtsp://{username}:{pwd}@{ip}:{port}/MPEG-4/ch1/sub/av_stream","webUrl":"webUrl"},
|
{"id":"5","name":"测试视频#5","type":"3004","type0":"0","username":"username","pwd":"123456","ipIn":"192.168.1.123","portInC":"554","portInV":"1","ipOut":"192.168.1.123","portOutC":"1","portOutV":"1","chanNum":"1","chanNumOut":"1","brand":"测试品牌","vld":"0","address":"地址","mediaAddr":"rtsp://{username}:{pwd}@{ip}:{port}/MPEG-4/ch1/sub/av_stream","webUrl":"webUrl"},
|
{"id":"6","name":"测试视频#6","type":"3004","type0":"0","username":"username","pwd":"123456","ipIn":"192.168.1.123","portInC":"554","portInV":"1","ipOut":"192.168.1.123","portOutC":"1","portOutV":"1","chanNum":"1","chanNumOut":"1","brand":"测试品牌","vld":"0","address":"地址","mediaAddr":"rtsp://{username}:{pwd}@{ip}:{port}/MPEG-4/ch1/sub/av_stream","webUrl":"webUrl"},
|
{"id":"7","name":"测试视频#7","type":"3004","type0":"0","username":"username","pwd":"123456","ipIn":"192.168.1.123","portInC":"554","portInV":"1","ipOut":"192.168.1.123","portOutC":"1","portOutV":"1","chanNum":"1","chanNumOut":"1","brand":"测试品牌","vld":"0","address":"地址","mediaAddr":"rtsp://{username}:{pwd}@{ip}:{port}/MPEG-4/ch1/sub/av_stream","webUrl":"webUrl"},
|
{"id":"8","name":"测试视频#8","type":"3004","type0":"0","username":"username","pwd":"123456","ipIn":"192.168.1.123","portInC":"554","portInV":"1","ipOut":"192.168.1.123","portOutC":"1","portOutV":"1","chanNum":"1","chanNumOut":"1","brand":"测试品牌","vld":"0","address":"地址","mediaAddr":"rtsp://{username}:{pwd}@{ip}:{port}/MPEG-4/ch1/sub/av_stream","webUrl":"webUrl"}
|
];
|
var deviceList = [];
|
|
layui.use(['layer'], function () {
|
layer = layui.layer;
|
});
|
|
if (TEST_TAG) {
|
deviceList = testList;
|
|
renderDeviceData();
|
}else{
|
//查询设备信息并渲染
|
queryDeviceList();
|
}
|
|
|
|
|
//获取设备信息列表
|
function queryDeviceList() {
|
$.get("./cgi-bin/device-vedio/query", function (data, status) {
|
if ("success" == status) {
|
deviceList = data;
|
renderDeviceData();
|
} else {
|
window.parent.notify("系统获取基础设备列表出错!");
|
}
|
}, "json");
|
}
|
|
//渲染设备列表
|
function renderDeviceData() {
|
var html = '';
|
$.each(deviceList, function (index, item) {
|
html += '<tr><td>' + item.name + '</td>';
|
html += '<td>' + item.id + '</td>';
|
html += '<td>' + item.ipIn + '</td>';
|
html += '<td>' + item.portInC + '</td>';
|
html += '<td>' + item.portInV + '</td>';
|
html += '<td>' + item.chanNum + '</td>';
|
html += '<td>' + item.brand + '</td>';
|
html += '<td>' + (item.vld == 0 ? '启用' : '停用') + '</td>';
|
|
// html += '<td><button style="height: 29px;line-height: 29px;" ' +
|
// 'class="layui-btn layui-btn-normal" onclick="showWeb(\'' + index + '\')">内网访问</button></td>';
|
|
html += '<td><button style="height: 29px;line-height: 29px;" ' +
|
'class="layui-btn layui-btn-normal" onclick="edit(\'' + index + '\')">编辑</button>';
|
html += '<button style="height: 29px;line-height: 29px;" ' +
|
'class="layui-btn layui-btn-normal" onclick="copy(\'' + index + '\')">复制</button>';
|
if (item.vld == 0) {
|
html += '<button style="height: 29px;line-height: 29px;" ' +
|
'class="layui-btn layui-btn-warm" onclick="changeStatus(\'' + index + '\')">停用</button>';
|
} else {
|
html += '<button style="height: 29px;line-height: 29px;" ' +
|
'class="layui-btn" onclick="changeStatus(\'' + index + '\')">启用</button>';
|
}
|
html += '<button style="height: 29px;line-height: 29px;" ' +
|
'class="layui-btn layui-btn-danger" onclick="del(\'' + index + '\')">删除</button>';
|
html += '</td></tr>';
|
});
|
|
$("#deviceList").html(html);
|
}
|
|
//新增设备
|
function add() {
|
//表单重置
|
$("#device-video")[0].reset();
|
$("#device-id").attr("readOnly",false);
|
$(".pop-btn").hide();
|
$("#add").show();
|
|
|
var widthPop = "85%";
|
var heightPop = "80%";
|
if(screen.width==1920 && screen.height==1080){
|
widthPop = "85%";
|
heightPop = "80%";
|
}else if(screen.width==1280 && screen.height==1024){
|
widthPop = "98%";
|
heightPop = "90%";
|
}else{
|
widthPop = "85%";
|
heightPop = "80%";
|
}
|
//弹出框
|
layer.open({
|
skin: 'mypop',
|
type: 1,
|
title: false,
|
area: [widthPop, heightPop],
|
closeBtn: 0,
|
shade: 0,
|
scrollbar: false,
|
content: $('#dialog-device')
|
});
|
};
|
|
//设备编辑
|
function edit(index) {
|
//表单重置
|
$("#device-video")[0].reset();
|
//赋值 -表单
|
var data = deviceList[index];
|
$("#device-name").val(data.name);
|
$("#device-id").val(data.id);
|
$("#device-type").val(data.type);
|
$("#device-type0").val(data.type0);
|
$("#device-brand").val(data.brand);
|
$("#device-username").val(data.username);
|
$("#device-pwd").val(data.pwd);
|
$("#device-ipIn").val(data.ipIn);
|
$("#device-portInC").val(data.portInC);
|
$("#device-portInV").val(data.portInV);
|
$("#device-ipOut").val(data.ipOut);
|
$("#device-portOutC").val(data.portOutC);
|
$("#device-portOutV").val(data.portOutV);
|
$("#device-chanNum").val(data.chanNum);
|
$("#device-chanNumOut").val(data.chanNumOut);
|
$("#device-vld").val(data.vld);
|
$("#device-address").val(data.address);
|
$("#device-mediaAddr").val(data.mediaAddr);
|
$("#device-webUrl").val(data.webUrl);
|
|
$("#device-id").attr("readOnly",false);
|
$(".pop-btn").hide();
|
$("#edit").show();
|
|
var widthPop = "85%";
|
var heightPop = "80%";
|
if(screen.width==1920 && screen.height==1080){
|
widthPop = "85%";
|
heightPop = "80%";
|
}else if(screen.width==1280 && screen.height==1024){
|
widthPop = "98%";
|
heightPop = "90%";
|
}else{
|
widthPop = "85%";
|
heightPop = "80%";
|
}
|
//弹出框
|
layer.open({
|
skin: 'mypop',
|
type: 1,
|
title: false,
|
area: [widthPop, heightPop],
|
closeBtn: 0,
|
shade: 0,
|
scrollbar: false,
|
content: $('#dialog-device')
|
});
|
}
|
|
//设备编辑
|
function copy(index) {
|
//表单重置
|
$("#device-video")[0].reset();
|
//赋值 -表单
|
var data = deviceList[index];
|
// $("#device-id").attr("readOnly",true);
|
$("#device-name").val(data.name);
|
$("#device-id").val(data.id);
|
$("#device-type").val(data.type);
|
$("#device-type0").val(data.type0);
|
$("#device-brand").val(data.brand);
|
$("#device-username").val(data.username);
|
$("#device-pwd").val(data.pwd);
|
$("#device-ipIn").val(data.ipIn);
|
$("#device-portInC").val(data.portInC);
|
$("#device-portInV").val(data.portInV);
|
$("#device-ipOut").val(data.ipOut);
|
$("#device-portOutC").val(data.portOutC);
|
$("#device-portOutV").val(data.portOutV);
|
$("#device-chanNum").val(data.chanNum);
|
$("#device-chanNumOut").val(data.chanNumOut);
|
$("#device-vld").val(data.vld);
|
$("#device-address").val(data.address);
|
$("#device-mediaAddr").val(data.mediaAddr);
|
$("#device-webUrl").val(data.webUrl);
|
|
$(".pop-btn").hide();
|
$("#add").show();
|
|
var widthPop = "85%";
|
var heightPop = "80%";
|
if(screen.width==1920 && screen.height==1080){
|
widthPop = "85%";
|
heightPop = "80%";
|
}else if(screen.width==1280 && screen.height==1024){
|
widthPop = "98%";
|
heightPop = "90%";
|
}else{
|
widthPop = "85%";
|
heightPop = "80%";
|
}
|
//弹出框
|
layer.open({
|
skin: 'mypop',
|
type: 1,
|
title: false,
|
area: [widthPop, heightPop],
|
closeBtn: 0,
|
shade: 0,
|
scrollbar: false,
|
content: $('#dialog-device')
|
});
|
}
|
|
//数据删除
|
function del(index) {
|
var data = deviceList[index];
|
var param = {"id": data.id};
|
layer.confirm('确定删除此条数据吗?', function (index) {
|
$.post("./cgi-bin/device-vedio/delete", JSON.stringify(param), function (data, status) {
|
if ("success" == status && "success" == data.code) {
|
layer.close(index);
|
window.parent.notify("数据删除成功,页面自动刷新!");
|
|
queryDeviceList();
|
} else {
|
layer.close(index);
|
window.parent.notify("数据删除失败");
|
}
|
}, "json");
|
});
|
}
|
|
//状态设置
|
function changeStatus(index) {
|
var data = deviceList[index];
|
var param = {"id": data.id};
|
var msg = "确定要停用么?", url = "./cgi-bin/device-vedio/val-1";
|
if (1 == data.vld) {
|
msg = "确定启用用么?";
|
url = "./cgi-bin/device-vedio/val-0";
|
}
|
layer.confirm(msg, function (index) {
|
$.post(url, JSON.stringify(param), function (data, status) {
|
if ("success" == status && "success" == data.code) {
|
layer.close(index);
|
window.parent.notify("操作成功,页面自动刷新!");
|
queryDeviceList();
|
} else {
|
layer.close(index);
|
window.parent.notify("数据操作失败,请重新尝试!");
|
}
|
}, "json");
|
});
|
}
|
|
//关闭
|
function closeBtn() {
|
//表单重置
|
$("#device-video")[0].reset();
|
layer.closeAll();
|
}
|
|
//数据提交保存
|
function save(btn) {
|
//获取设备信息
|
var data = {
|
id: $("#device-id").val(),
|
name: $("#device-name").val(),
|
type: CATEGORY.D3004.code,
|
type0: $("#device-type0").val(),
|
brand: $("#device-brand").val(),
|
username: $("#device-username").val(),
|
pwd: $("#device-pwd").val(),
|
ipIn: $("#device-ipIn").val(),
|
portInC: $("#device-portInC").val(),
|
portInV: $("#device-portInV").val(),
|
ipOut: $("#device-ipOut").val(),
|
portOutC: $("#device-portOutC").val(),
|
portOutV: $("#device-portOutV").val(),
|
chanNum: $("#device-chanNum").val(),
|
chanNumOut: $("#device-chanNumOut").val(),
|
vld: $("#device-vld").val(),
|
address: $("#device-address").val(),
|
mediaAddr: $("#device-mediaAddr").val(),
|
webUrl: $("#device-webUrl").val()
|
};
|
|
console.log("----------需要执行保存的数据信息--------");
|
console.log(JSON.stringify(data));
|
|
if (!data.id) {
|
window.parent.notify("设备ID不能为空!");
|
return;
|
}
|
var r = /^\d{4}$/;
|
if(!r.test(data.id)){
|
window.parent.notify("设备ID不是一个4位的正整数!");
|
return;
|
}
|
if (data.id<4000 || data.id>4999) {
|
window.parent.notify("网络设备ID设置范围为4000~4999!");
|
return;
|
}
|
|
var url = "./cgi-bin/device-vedio/add";
|
if ("edit" == btn) {
|
url = "./cgi-bin/device-vedio/edit";
|
}
|
//执行保存
|
$.post(url, JSON.stringify(data), function (data, status) {
|
if (data.code == "success") {
|
layer.closeAll();
|
window.parent.notify("数据保存成功!");
|
queryDeviceList();
|
} else {
|
window.parent.notify("数据保存出错,请重新操作!"+data.msg+"!");
|
}
|
}, "json");
|
}
|
|
//内网访问
|
function showWeb(index){
|
var data = deviceList[index];
|
if(!data.ipIn){
|
$alert("没有配置内部访问IP,无法访问。");
|
return;
|
}
|
if(!data.portInV){
|
$alert("没有配置内部访问端口,无法访问。");
|
return;
|
}
|
var url = "http://"+data.ipIn+":"+data.portInV;
|
console.log(url);
|
|
window.open(url);
|
}
|
|