Commit 4f20a78d authored by zhouts's avatar zhouts

告警界面修改

parent e4473dfa
......@@ -20,4 +20,6 @@ public interface CodeMapper {
int updatemanualcode(String name,String alarmlevel);
Code selectalarmNum (String keyid);
}
\ No newline at end of file
package im.zhaojun.system.model;
import lombok.Data;
import java.io.Serializable;
@Data
public class Code implements Serializable {
private String key;
......@@ -13,6 +11,78 @@ public class Code implements Serializable {
private Integer rectifytime ;
private Integer manualchecktime;
private Integer pushchecktime ;
private Integer maxnum;
private Integer alarmnum;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getAlarmlevel() {
return alarmlevel;
}
public void setAlarmlevel(String alarmlevel) {
this.alarmlevel = alarmlevel;
}
public Integer getRectifytime() {
return rectifytime;
}
public void setRectifytime(Integer rectifytime) {
this.rectifytime = rectifytime;
}
public Integer getManualchecktime() {
return manualchecktime;
}
public void setManualchecktime(Integer manualchecktime) {
this.manualchecktime = manualchecktime;
}
public Integer getPushchecktime() {
return pushchecktime;
}
public void setPushchecktime(Integer pushchecktime) {
this.pushchecktime = pushchecktime;
}
public Integer getMaxnum() {
return maxnum;
}
public void setMaxnum(Integer maxnum) {
this.maxnum = maxnum;
}
public Integer getAlarmnum() {
return alarmnum;
}
public void setAlarmnum(Integer alarmnum) {
this.alarmnum = alarmnum;
}
}
\ No newline at end of file
package im.zhaojun.system.service;
import com.github.pagehelper.PageHelper;
import im.zhaojun.common.exception.DuplicateNameException;
import im.zhaojun.common.shiro.ShiroActionProperties;
import im.zhaojun.common.util.TreeUtil;
import im.zhaojun.system.mapper.CodeMapper;
import im.zhaojun.system.mapper.UserMapper;
import im.zhaojun.system.mapper.UserRoleMapper;
import im.zhaojun.system.model.Code;
import im.zhaojun.system.model.Menu;
import im.zhaojun.system.model.User;
import org.apache.shiro.authz.UnauthorizedException;
import org.apache.shiro.crypto.hash.Md5Hash;
import org.apache.shiro.session.Session;
import org.apache.shiro.session.mgt.eis.SessionDAO;
import org.apache.shiro.subject.SimplePrincipalCollection;
import org.apache.shiro.subject.support.DefaultSubjectContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
......@@ -63,7 +49,9 @@ public class CodeService {
public boolean updatemanualcode(String name,String alarmlevel) {
return codeMapper.updatemanualcode(name, alarmlevel) == 1;
}
public Code selectalarmNum(String keyid){
return codeMapper.selectalarmNum(keyid);
}
}
\ No newline at end of file
......@@ -10,7 +10,9 @@
<result column="rectifytime" jdbcType="INTEGER" property="rectifytime" />
<result column="manualchecktime" jdbcType="INTEGER" property="manualchecktime" />
<result column="pushchecktime" jdbcType="INTEGER" property="pushchecktime" />
<result column="repeattime" jdbcType="INTEGER" property="repeattime" />
<result column="maxnum" jdbcType="INTEGER" property="maxnum" />
<result column="alarmnum" jdbcType="INTEGER" property="alarmnum" />
</resultMap>
<update id="updatecode" parameterType="java.util.List">
......@@ -44,7 +46,7 @@
</update>
<select id="selectAllWithKey" resultMap="BaseResultMap">
select * from t_code where type=1
select * from t_code where type=2
</select>
......@@ -59,6 +61,8 @@
<update id="updatemanualcode">
update t_code set name=#{name ,jdbcType=VARCHAR},alarmlevel=#{alarmlevel,jdbcType=VARCHAR} where key='send'
</update>
<select id="selectalarmNum" resultMap="BaseResultMap">
select * from t_code where type=2 and key=#{key,jdbcType=VARCHAR}
</select>
</mapper>
\ No newline at end of file
......@@ -138,7 +138,7 @@
recordtype "type",
name "typename"
from traffalarmrecord a,t_code b
where upper(a.recordtype)=b.key and b.type=1 and fdid||'_'||channelid in(
where upper(a.recordtype)=b.key and b.type=2 and fdid||'_'||channelid in(
select b.videoid
from deptdefaultvideo b
<if test="deptId != '' and deptId != null and deptId!='-1' ">
......
//行政目录
let vue_tree = new Vue({
el: '.left-nav',
data: {
searchText: '',
},
methods: {
fastSearch: function () {
$("#tree-xzxq").treeview('search', [this.searchText, {
ignoreCase: true, // case insensitive
exactMatch: false, // like or equals
revealResults: true, // reveal matching nodes
}]);
}
},
mounted(){
$.ajax({
url: "/dept/getDeptParent/" + getCookie("bjpt_deptId"),
dataType: "json",
type: "GET",
data: {},
success: function (result) {
if (result.code == 0) {
let parIds = result.data[0].parentId;
$.ajax({
url: "/dept/listvideo",
dataType: "json",
type: "GET",
data: {
deptId: getCookie("bjpt_deptId"),
username: getCookie("bjpt_realName"),
tdmc:'',
},
success: function (result) {
let defaultData = [];
if (result.code == 0) {
defaultData = toTree(result.data, parIds + '');
$('#tree-xzxq').treeview({
expandIcon: 'glyphicon glyphicon-triangle-right selected-span',
collapseIcon: 'glyphicon glyphicon-triangle-bottom selected-span',
nodeIcon: 'glyphicon glyphicon-folder-open selected-span',
selectedBackColor: '#ff000000',
selectedColor: '#368ff3',
onhoverColor: '#73a5ff26',
showBorder: false,
data: defaultData
});
$('#tree-xzxq').on('nodeSelected', function (event, data) {
vue_right.xz_jg = data.href;
vue_right.level = data.level;
vue_myjgModal1.data_s.qybh = data.href;
vue_myjgModal1.data_s.qymc = data.text;
// alert('点击选中');
});
$('#tree-xzxq').on('nodeUnselected', function (event, data) {
// alert('取消选择');
});
}
}
});
}
}
});
// let vue_tree = new Vue({
// el: '.left-nav',
// data: {
// searchText: '',
// },
// methods: {
// fastSearch: function () {
// $("#tree-xzxq").treeview('search', [this.searchText, {
// ignoreCase: true, // case insensitive
// exactMatch: false, // like or equals
// revealResults: true, // reveal matching nodes
// }]);
// }
// },
// mounted(){
// $.ajax({
// url: "/dept/getDeptParent/" + getCookie("bjpt_deptId"),
// dataType: "json",
// type: "GET",
// data: {},
// success: function (result) {
// if (result.code == 0) {
// let parIds = result.data[0].parentId;
// $.ajax({
// url: "/dept/listvideo",
// dataType: "json",
// type: "GET",
// data: {
// deptId: getCookie("bjpt_deptId"),
// username: getCookie("bjpt_realName"),
// tdmc:'',
// },
// success: function (result) {
// let defaultData = [];
// if (result.code == 0) {
// defaultData = toTree(result.data, parIds + '');
// $('#tree-xzxq').treeview({
// expandIcon: 'glyphicon glyphicon-triangle-right selected-span',
// collapseIcon: 'glyphicon glyphicon-triangle-bottom selected-span',
// nodeIcon: 'glyphicon glyphicon-folder-open selected-span',
// selectedBackColor: '#ff000000',
// selectedColor: '#368ff3',
// onhoverColor: '#73a5ff26',
// showBorder: false,
// data: defaultData
// });
// $('#tree-xzxq').on('nodeSelected', function (event, data) {
// vue_right.xz_jg = data.href;
// vue_right.level = data.level;
// vue_myjgModal1.data_s.qybh = data.href;
// vue_myjgModal1.data_s.qymc = data.text;
// // alert('点击选中');
// });
// $('#tree-xzxq').on('nodeUnselected', function (event, data) {
//
// // alert('取消选择');
// });
// }
// }
// });
// }
// }
// });
// $.ajax({
// url: "/dept/tree",
// dataType: "json",
......@@ -96,17 +96,18 @@ let vue_tree = new Vue({
// }
// }
// });
}
});
// }
// });
let vue_right = new Vue({
el: '.right-nav',
el: '#jgsb',
data: {
data_table_monitor: [],
xz_jg: getCookie("bjpt_deptId"),
count: '',
level: '',
fy_select:20,
searchText: '',
},
methods: {
add: function () {
......@@ -199,9 +200,73 @@ let vue_right = new Vue({
getChange:function () {
// alert(this.fy_select);
this.queryRY(1,true);
},
xzml: function () {
$.ajax({
url: "/dept/getDeptParent/" + getCookie("bjpt_deptId"),
dataType: "json",
type: "GET",
data: {},
success: function (result) {
if (result.code == 0) {
let parIds = result.data[0].parentId;
$.ajax({
url: "/dept/listvideo",
dataType: "json",
type: "GET",
data: {
deptId: getCookie("bjpt_deptId"),
username: getCookie("bjpt_realName"),
tdmc: vue_right.searchText,
},
success: function (result) {
let defaultData = [];
vue_sjcx.jk_arr = [];
if (result.code == 0) {
vue_sjcx.jk_arr = result.data;
defaultData = toTree(result.data, parIds + '');
$('#tree-xzxq').treeview({
expandIcon: 'glyphicon glyphicon-triangle-right selected-span',
collapseIcon: 'glyphicon glyphicon-triangle-bottom selected-span',
nodeIcon: 'glyphicon glyphicon-folder-open selected-span',
selectedBackColor: '#ff000000',
selectedColor: '#368ff3',
onhoverColor: '#73a5ff26',
showBorder: false,
data: defaultData,
multiSelect: false,
level: 2,
showCheckbox: 1,//复选框设置,也可以是true
onNodeChecked: function (event, node) { //选中节点
let selectNodes = getChildNodeIdArr(node); //获取所有子节点
if (selectNodes) { //子节点不为空,则选中所有子节点
$(this).treeview('checkNode', [selectNodes, {silent: true}]);
}
//如果当前节点的子节点都被选中了。则父节点也应该要选中
setParentNodeCheck(node);
}, onNodeUnchecked: function (event, node) { //取消选中节点
let selectNodes = getChildNodeIdArr(node); //获取所有子节点
if (selectNodes) { //子节点不为空,则取消选中所有子节点
$(this).treeview('uncheckNode', [selectNodes, {silent: true}]);
}
}, onNodeExpanded: function (event, data) {
}, onNodeSelected: function (event, node) {
}
});
this.queryRY(1, true);
}
}
});
}
}
});
},
},
mounted(){
this.xzml();
this.queryRY(1, true);
}
});
......
let state_sj=true;
let state_sj = true;
let vue_sjcx = new Vue({
el: '#sjcx',
data: {
......@@ -19,10 +19,11 @@ let vue_sjcx = new Vue({
cllx_select: [],
clzt_select: [],
arr_cllx: [],
jk_s:[],
check_s:false,
jk_s: [],
check_s: false,
cllx: [],
jk_arr:[] },
jk_arr: []
},
methods: {
fastSearch: function () {
this.xzml();
......@@ -49,7 +50,7 @@ let vue_sjcx = new Vue({
let defaultData = [];
vue_sjcx.jk_arr = [];
if (result.code == 0) {
vue_sjcx.jk_arr=result.data;
vue_sjcx.jk_arr = result.data;
defaultData = toTree(result.data, parIds + '');
$('#tree-xzxq').treeview({
expandIcon: 'glyphicon glyphicon-triangle-right selected-span',
......@@ -125,27 +126,25 @@ let vue_sjcx = new Vue({
//根据type 查询 详情
$.ajax({
url: "/TrafficStatistics/queryTraffDetail/"+item.id+"/"+item.recordtype,
url: "/TrafficStatistics/queryTraffDetail/" + item.id + "/" + item.recordtype,
dateType: 'json',
type: "GET",
contentType: 'application/json',
success: function (result) {
if (result.code == 0) {
//获得 json 的值,将详细信息展示在界面上
if(item.recordtype=="3"){
vue_sjsstx.dataface=result.data[0];
if (item.recordtype == "3") {
vue_sjsstx.dataface = result.data[0];
}
else if(item.recordtype=="1")
{
vue_sjsstx.datapede=result.data[0];
else if (item.recordtype == "1") {
vue_sjsstx.datapede = result.data[0];
}
else if(item.recordtype=="2"){
vue_sjsstx.datatraffic=result.data[0];
else if (item.recordtype == "2") {
vue_sjsstx.datatraffic = result.data[0];
}
else if(item.recordtype=="4")
{
vue_sjsstx.datapeople=result.data[0];
else if (item.recordtype == "4") {
vue_sjsstx.datapeople = result.data[0];
}
}
......@@ -172,20 +171,26 @@ let vue_sjcx = new Vue({
}
,
query: function (pages, items) {
let nodes = $('#tree-xzxq').treeview('getChecked').filter(n=>n.level == null).map(n=> {
let nodes = $('#tree-xzxq').treeview('getChecked').filter(n => n.level == null
).
map(n => {
return n.href
});
}
)
;
let arr_nodes = "";
if (nodes.length == 0) {
nodes = "";
} else {
nodes.forEach((item, index)=> {
nodes.forEach((item, index) => {
arr_nodes = arr_nodes + item + ',';
});
})
;
}
if ($('#tree-xzxq').treeview('getChecked').length > 0 && nodes.length == 0) {
arr_nodes = "null";
};
}
;
$(".div-ul").find('input').each(function () {
$(this).removeAttr("checked", false);
$(this).prop("checked", false);
......@@ -201,18 +206,20 @@ let vue_sjcx = new Vue({
if (this.cllx_select.length == 0) {
objlabels = "";
} else {
this.cllx_select.forEach((item, index)=> {
this.cllx_select.forEach((item, index) => {
objlabels = objlabels + item + ',';
});
})
;
}
;
let processstatus = "";
if (this.clzt_select.length == 0) {
processstatus = "";
} else {
this.clzt_select.forEach((item, index)=> {
this.clzt_select.forEach((item, index) => {
processstatus = processstatus + item + ',';
});
})
;
}
;
let json_s = {
......@@ -227,8 +234,8 @@ let vue_sjcx = new Vue({
construction: '2',
objlabel: objlabels,
processstatus: processstatus,
rectificationtype:'',
userid:getCookie("bjpt_userId")
rectificationtype: '',
userid: getCookie("bjpt_userId")
};
$.ajax({
url: "/TrafficStatistics/queryTraffalarmrecordByPage/1",
......@@ -306,7 +313,13 @@ let vue_sjcx = new Vue({
vue_sjcx.state_arr = [];
$(".div-ul").find('input:checked').each(function () {
let arr = $(this).val().split("|");
vue_sjcx.state_arr.push({id:arr[0],channelid:arr[1],fdid:arr[2],recordtime:arr[3],recordtype:arr[4]});
vue_sjcx.state_arr.push({
id: arr[0],
channelid: arr[1],
fdid: arr[2],
recordtime: arr[3],
recordtype: arr[4]
});
});
if (vue_sjcx.state_arr.length > 0) {
vue_sjcx.show_nums = true;
......@@ -316,9 +329,17 @@ let vue_sjcx = new Vue({
},
state_cli: function (e) {
let json_s = [];
vue_sjcx.state_arr.forEach((item, index)=> {
json_s.push({id: item.id,channelid:item.channelid,fdid:item.fdid,recordtime:item.recordtime,recordtype:item.recordtype, processstatus: e});
vue_sjcx.state_arr.forEach((item, index) => {
json_s.push({
id: item.id,
channelid: item.channelid,
fdid: item.fdid,
recordtime: item.recordtime,
recordtype: item.recordtype,
processstatus: e
});
})
;
$.ajax({
url: "/TrafficStatistics/updateTraffalarmrecordById",
dateType: 'json',
......@@ -334,12 +355,13 @@ let vue_sjcx = new Vue({
}
});
},
zdsx:function () {
vue_sjcx.check_s=document.getElementById('push').checked;
zdsx: function () {
vue_sjcx.check_s = document.getElementById('push').checked;
},
zdtx: function () {
state_sj = document.getElementById('status').checked;
}
},
zdtx:function () {
state_sj=document.getElementById('status').checked;
} },
mounted(){
$("#kssj").val(getTime_extent(6).pre_rq_start + ' - ' + getTime().jssj);
$.ajax({
......@@ -370,10 +392,12 @@ let vue_sjcx = new Vue({
vue_sjcx.arr_cllx = [];
if (result.code == 0) {
if (result.data.length > 0) {
result.data.forEach((item, index)=> {
if (item.id != 'TRICYCLE' && item.id != 'CART')
result.data.forEach((item, index) => {
if (item.id != 'TRICYCLE' && item.id != 'CART'
)
vue_sjcx.arr_cllx.push({id: item.id, value: item.name});
});
})
;
setTimeout(function () {
// $("#cllxs").selectpicker('refresh');
// $("#cllxs").selectpicker('render');
......@@ -387,7 +411,7 @@ let vue_sjcx = new Vue({
dataType: "json",
type: "GET",
data: {
codeid: 1,
codeid: 2,
alarmlevel: '',
},
success: function (result) {
......@@ -396,18 +420,26 @@ let vue_sjcx = new Vue({
if (result.data.length > 0) {
vue_sjcx.data_sjlxs.push({name: '全部', id: "", type: "",});
let arrs = [];
result.data.forEach((item, index)=> {
if (item.id != 'ROADWORKS' && item.id != 'ROADWORKS_OUT_OF_LINE') {
result.data.forEach((item, index) => {
if (item.id != 'ROADWORKS' && item.id != 'ROADWORKS_OUT_OF_LINE'
)
{
arrs.push(item);
}
});
arrs.forEach((item, index)=> {
if (index < 4) {
})
;
arrs.forEach((item, index) => {
if (index < 4
)
{
vue_sjcx.data_sjlxs.push(item);
} else {
}
else
{
vue_sjcx.data_sjlxs1.push(item);
}
});
})
;
}
}
}
......@@ -471,10 +503,10 @@ let vue_sjsstx = new Vue({
show_s: false,
img_src_s: '',
video_src: '',
dataface:{},
datapede:{},
datatraffic:{},
datapeople:{}
dataface: {},
datapede: {},
datatraffic: {},
datapeople: {}
},
methods: {
sp_qh: function (e) {
......@@ -532,11 +564,14 @@ let vue_sjsstxnow = new Vue({
this.index++;
vue_jkgl.is_bd = true;
let iscz = false;
vue_jkgl.data_sd.forEach((items, index)=> {
if (items.video_id == item.videoid) {
vue_jkgl.data_sd.forEach((items, index) => {
if (items.video_id == item.videoid
)
{
iscz = true;
}
});
})
;
if (e.currentTarget.checked) {
if (iscz) {
e.currentTarget.checked = false;
......@@ -571,11 +606,14 @@ let vue_sjsstxnow = new Vue({
vue_sjsstxnow.sjsj_data[indexs].checked = false;
}
document.getElementById(vue_jkgl.data_sd[indexs].id).parentNode.parentNode.remove();
vue_jkgl.data_sd.forEach((items, index)=> {
if (items.video_id == item.videoid) {
vue_jkgl.data_sd.forEach((items, index) => {
if (items.video_id == item.videoid
)
{
vue_jkgl.data_sd.splice(index, 1);
}
});
})
;
if (vue_jkgl.data_sd.length == 0) {
vue_jkgl.is_bd = false;
}
......@@ -653,12 +691,17 @@ function toTree(list, parId) {
return loop(parId)
}
function checkNode(parentNode, i) {
if (parentNode.nodes[i].nodes != undefined && parentNode.nodes[i].nodes.length !== 0 && parentNode.nodes[i].nodes.filter(n => n.level === null).length > 0) {
if (parentNode.nodes[i].nodes != undefined && parentNode.nodes[i].nodes.length !== 0 && parentNode.nodes[i].nodes.filter(n => n.level === null).
length > 0
)
{
for (let j = 0; j < parentNode.nodes[i].nodes.length; j++) {
let d = checkNode(parentNode.nodes[i], j);
d && j--;
}
} else {
}
else
{
parentNode.nodes.splice(i, 1);
return true
}
......@@ -716,7 +759,13 @@ $("#all").click(function () {
$(".div-ul").find('input:checked').each(function () {
// vue_sjcx.state_arr.push($(this).val());
let arr = $(this).val().split("|");
vue_sjcx.state_arr.push({recordid:arr[0],channelid:arr[1],fdid:arr[2],recordtime:arr[3],recordtype:arr[4]});
vue_sjcx.state_arr.push({
recordid: arr[0],
channelid: arr[1],
fdid: arr[2],
recordtime: arr[3],
recordtype: arr[4]
});
});
vue_sjcx.show_nums = true;
});
......@@ -771,48 +820,65 @@ wss.onmessage = function (evt) {
let jk_video_id = data.fdid + "_" + data.channelid;
// let jk_video_id = data.data.video_id;
vue_sjcx.jk_s.forEach((item, index) => {
if (item.VIDOID == jk_video_id) {
if (item.VIDOID == jk_video_id
)
{
if_cz = true;
}
});
})
;
// if (if_cz) {
//事件id
let sjid = data.id;
//报警时间
let sj =data.recordtime;
let sj = data.createtime;
//事件类型
let bjlx = '';
//事件等级
let sjdj = '';
// vue_sjcx.data_sjlxs.forEach((item, index) => {
// if (item.id.toLowerCase() == data.data.incident_type.toLowerCase()) {
// bjlx = item.name;
// sjdj = item.alarmlevel;
// }
// });
vue_sjcx.data_sjlxs.forEach((item, index) => {
if (item.id.toLowerCase() == data.recordtype.toLowerCase()
)
{
bjlx = item.name;
sjdj = item.alarmlevel;
}
})
;
//监控名称
let jkmc = '';
vue_sjcx.jk_arr.forEach((item, index) => {
if (item.href == jk_video_id) {
if (item.href == jk_video_id
)
{
jkmc = item.text;
}
});
})
;
//违法图片
let wfsp = [];
data.imageData.forEach((item, index) => {
let src = 'data:image/jpg;base64,' + item;
wfsp.push({img_src: src});
});
if (null != data.imagedata && "" != data.imagedata) {
if(data.imagedata.indexOf("ftp:") > -1)
{
data.imagedata= '/TrafficStatistics/fielagent?ftpPath=' + data.imagedata;
}
else
{
data.imagedata= 'data:image/jpg;base64,' + data.imagedata;
}
}
wfsp.push({img_src:data.imagedata});
//右边消息弹出框的id
let tss = 'a' + data.recordtime;
let tss = 'a' + data.createtime;
//判断三级弹出框是否已经弹出,没有弹出,则清空,若是弹出,则继续push
if ($("#myModal_sjcx")[0].style.display != 'block') {
$(".carousel").collapse();
vue_sjsstxnow.yjsj_data = [];
vue_sjsstxnow.ejsj_data = [];
vue_sjsstxnow.sjsj_data = [];
$("#myModal_sjcx").modal("show");
$("#myModal_sjcx").find('input').each(function () {
$(this).removeAttr("checked", false);
......@@ -899,7 +965,7 @@ wss.onmessage = function (evt) {
channelid: jk_video_id.slice(jk_video_id.length - 1),
fdid: jk_video_id.slice(0, jk_video_id.length - 2),
recordtime: sj,
recordtype: data.data.incident_type,
recordtype: data.recordtype,
ss_type: '',
});
setTimeout(function () {
......@@ -918,18 +984,20 @@ wss.onmessage = function (evt) {
vue_sjcx.query(1, true);
}, 500);
}
new NoticeJs({
text: 'Notification message',
position: 'bottomRight',
// id: tss,
id: 11,
sjlx: bjlx,
dwmc: jkmc,
animation: {
open: 'animated bounceIn',
close: 'animated bounceOut'
}
}).show();
// new NoticeJs({
// text: 'Notification message',
// position: 'bottomRight',
// // id: tss,
// id: 11,
// sjlx: bjlx,
// dwmc: jkmc,
// animation: {
// open: 'animated bounceIn',
// close: 'animated bounceOut'
// }
// }).show();
$("#myModal_sjcx").modal("show");
//播放声音
let myMp3 = document.getElementById("audio");
// audio.play();
......
//获取当前系统时间
function getTime() {
var now_today = new Date();
......
......@@ -56,7 +56,7 @@
.dtree-toolbar-fixed a i:hover{opacity:0.8;filter:Alpha(opacity=80);}
/* 树基本*/
.dtree{width:260px;}
.dtree{width:360px;}
.dtree-nav-item{line-height:33px;padding-left:16px;}
.dtree-nav-ul-sid{display: none;}
.dtree-none-text{font-size: 12px;text-align: center;color: gray;}
......
......@@ -22,12 +22,12 @@
<div id="tree-xzxq"></div>
</div>
<div class="right-nav">
<div class="center-nav">
<div class="center-nav" id="jgsb">
<div class="div-right-top">
<span class="pub-span">监控名称:</span>
<input type="text" class="form-control input-pub" id="ryxm">
<button type="button" class="btn btn-sm pub-btn" @click="queryRY(1,true)">查询</button>
<!--<button type="button" class="btn btn-sm pub-btn" @click="add">新增</button>-->
<button type="button" class="btn btn-sm pub-btn" @click="add">新增</button>
</div>
<div style="height:calc(100% - 130px);margin-top: 20px;text-align: center" class="tables">
<table class="table table-td">
......@@ -195,75 +195,10 @@
<script src="../bootstrap/js/bootstrap.js"></script>
<script src="../bootstrap/js/bootstrap-treeview.js"></script>
<script src="../bootstrap/js/bootstrap-paginator.js"></script>
<script src="../js/util/httputil.js"></script>
<script src="../js/util/http_util.js"></script>
<script src="../js/vue.js"></script>
<script src="../js/jgsbgl/jgsbgl.js"></script>
<script>
layui.config({
base: '/lib/layui/extend/'
}).extend({
formSelects: 'formSelects-v4'
}).use(['form', 'layer', 'formSelects', 'dtree'], function () {
$ = layui.jquery;
var form = layui.form
, layer = layui.layer
, formSelects = layui.formSelects
, dtree = layui.dtree;
dtree.renderSelect({
elem: "#deptTree",
url: "/depttree/tree",
dataStyle: "layuiStyle",
width: "100%",
method: "GET",
dot: false,
accordion: true,
menubar: true,
response: {
statusCode: 0,
message: "msg",
treeId: "id",
parentId: "parentId",
title: "name"
},
done: function() {
var deptId = [[${user?.deptId + ''}]] ;
dtree.dataInit("deptTree", deptId);
dtree.setSelectValue("deptTree");
}
});
dtree.on("node('deptTree')" ,function(obj){
$("#deptId").val(obj.param.nodeId);
});
form.on('submit(add)', function (form) {
form.field.role = formSelects.value('role-select', 'val');
$.post('/user', form.field, function (result) {
handlerResult(result, addDone);
});
return false;
});
//监听提交
form.on('submit(edit)', function (form) {
form.field._method = 'PUT';
form.field.role = formSelects.value('role-select', 'val');
$.post('/user', form.field, function (result) {
handlerResult(result, editDone);
});
return false;
});
function addDone(data) {
layer.msg("添加成功", {icon: 6});
setTimeout(function(){ window.parent.location.reload(true); }, 1500);
}
function editDone(data) {
layer.msg("修改成功", {icon: 6});
setTimeout(function(){ window.parent.location.reload(true); }, 1500);
}
});
</script>
</html>
\ No newline at end of file
......@@ -40,8 +40,8 @@
<div class="layui-col-md3">
<div class="layui-card">
<div class="layui-card-header">监控事件树</div>
<div class="layui-card-body" id="toolbarDiv">
<ul id="menuTree" class="dtree" data-id="0"></ul>
<div class="layui-card-body" id="toolbarDiv" style="width: 360px;!important;">
<ul id="menuTree" class="dtree" data-id="0" ></ul>
</div>
</div>
</div>
......@@ -49,7 +49,7 @@
<div class="layui-card">
<div class="layui-card-header" id="card-header">菜单列表</div>
<div class="layui-card-body">
<table class="layui-hide" id="menu-table"></table>
<table class="layui-hide" id="menu-table" style="width: 360px;"></table>
</div>
</div>
</div>
......
......@@ -10,6 +10,7 @@
<link rel="stylesheet" href="../bootstrap/css/bootstrap-treeview.css">
<link rel="stylesheet" href="../bootstrap/css/bootstrap-switch.min.css">
<link rel="stylesheet" href="../css/sjcx.css">
<link rel="stylesheet" href="../css/jkglsj.css">
<link rel="stylesheet" href="../css/photoviewer.css">
<link rel="stylesheet" href="../css/animate.css">
<link rel="stylesheet" href="../css/noticejs.css"> <!--<link rel="stylesheet" href="../css/viewer.min.css">-->
......@@ -85,7 +86,7 @@
</div>
<div class="show-icon" :style="{'background':(item.processstatus==0||item.processstatus==null)?'#ff9c2b':(item.processstatus==2)?'#fc3939':(item.processstatus==1)?'#2fba08':'#cccccc'}" v-text="item.processstatus==0||item.processstatus==null?'未处理':item.processstatus==1?'正检':item.processstatus==2?'误检':'重复事件'"></div>
<div class="li-top">
<img :src="'data:image/png;base64,'+item.imagedata" :id="'img'+item.id">
<img :src="'/TrafficStatistics/fielagent?ftpPath='+ item.imagedata" :id="'img'+item.id">
<!-- <canvas :id="'cvs'+item.id" style="position: absolute;pointer-events: none;left:0;width:100%;height:100%"></canvas>-->
</div>
<div class="li-center">
......@@ -297,15 +298,15 @@
<span v-text="item.ss_type==1?'正检':item.ss_type==2?'误检':item.ss_type==3?'重复事件':''"></span>
</div>
</div>
<div class="div_modal">
<div class="div_modal_span">
<span>是否锁定:</span>
</div>
<div class="div_modal_span1">
<input type="checkbox" :name="'a1ss_'+index" :value="item.videoid" :checked="item.checked"
style="width: 19px;height: 19px;" @click="cli_input(item,$event,index,2)"/>
</div>
</div>
<!--<div class="div_modal">-->
<!--<div class="div_modal_span">-->
<!--<span>是否锁定:</span>-->
<!--</div>-->
<!--<div class="div_modal_span1">-->
<!--<input type="checkbox" :name="'a1ss_'+index" :value="item.videoid" :checked="item.checked"-->
<!--style="width: 19px;height: 19px;" @click="cli_input(item,$event,index,2)"/>-->
<!--</div>-->
<!--</div>-->
</div>
</div>
</div>
......@@ -368,15 +369,15 @@
<span v-text="item.ss_type==1?'正检':item.ss_type==2?'误检':item.ss_type==3?'重复事件':''"></span>
</div>
</div>
<div class="div_modal">
<div class="div_modal_span">
<span>是否锁定:</span>
</div>
<div class="div_modal_span1">
<input type="checkbox" :name="'a2ss_'+index" :value="item.videoid" :checked="item.checked"
style="width: 19px;height: 19px;" @click="cli_input(item,$event,index,3)"/>
</div>
</div>
<!--<div class="div_modal">-->
<!--<div class="div_modal_span">-->
<!--<span>是否锁定:</span>-->
<!--</div>-->
<!--<div class="div_modal_span1">-->
<!--<input type="checkbox" :name="'a2ss_'+index" :value="item.videoid" :checked="item.checked"-->
<!--style="width: 19px;height: 19px;" @click="cli_input(item,$event,index,3)"/>-->
<!--</div>-->
<!--</div>-->
</div>
</div>
</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment