Index: ssts-web/src/main/webapp/disinfectsystem/videoMonitor/cameraDefinitionView.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/videoMonitor/cameraDefinitionView.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/videoMonitor/cameraDefinitionView.js (revision 27006) @@ -0,0 +1,374 @@ +var entityName = "摄像头定义"; +var grid; +var formObj; +var cameraFormWin; +var selectModel; +function addCamera(id) { + //绑定摄像头 + var bindCameraStore = new Ext.data.Store({ + autoLoad: true, + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/baseData/cameraDefinitionAction!getCameraList.do', + method: 'POST' + }), + reader: new Ext.data.JsonReader({ + totalProperty: 'totalCount', + root: 'data' + }, [ + {name: 'id', mapping: 'id'}, + {name: 'hardwareName', mapping: 'hardwareName'}, + {name: 'deviceIp', mapping: 'deviceIp'}, + {name: 'cameraLocation', mapping: 'cameraLocation'}, + {name: 'deviceId', mapping: 'deviceId'}, + {name: 'nvrCode', mapping: 'nvrCode'} + ]) + }); + + formObj = new top.Ext.FormPanel({ + id : 'cameraForm', + frame : true, + labelAlign:'right', + labelSeparator : ':', + bodyStyle : 'padding:5px 5px 0px 5px', + autoWidth : true, + autoHeight : true, + autoScroll : true, + items:[{ + layout : 'column', + items : [{ + xtype: 'hidden', + name: 'id',//修改时需要用的id + id: 'id', + value:id + }/* ,{ + xtype: 'hidden', + name: 'hardwareName',//摄像头硬件名称 + id: 'hardwareName' + } ,{ + xtype: 'hidden', + name: 'cameraLocation',//摄像头硬件安装位置 + id: 'cameraLocation' + }*/,{ + xtype: 'hidden', + name: 'deviceId',//摄像头id + id: 'deviceId' + }/* ,{ + xtype: 'hidden', + name: 'nvrCode',//摄像头硬件所属NVR编码 + id: 'nvrCode' + } */,{ + xtype: 'hidden', + name: 'deviceIp',//摄像头ip + id: 'deviceIp' + },{ + columnWidth : .5, + layout : 'form', + labelWidth : 90, + items : [{ + xtype : 'textfield', + fieldLabel : '摄像头名称', + id : 'name', + name : 'name', + allowBlank : false, + anchor : '100%' + }] + },{ + columnWidth : .5, + layout : 'form', + labelWidth : 90, + items : [{ + xtype : 'combo', + fieldLabel : "绑定摄像头", + valueField : 'hardwareName', + displayField : 'hardwareName', + store : bindCameraStore, + forceSelection : true, + editable : false, + triggerAction : 'all', + name : "hardwareName", + id : "hardwareName", + anchor : '100%', + allowBlank : false, + listeners: { + select: function (combo, record, index) { + //如果修改的时候摄像头安装位置已经有值,选择绑定摄像头的时候就不自动填充,添加的时候可以自动切换 + /* var locationVal = top.Ext.getCmp('location').getValue(); + if(id == "" || id == null || id == undefined){ + top.Ext.getCmp('location').setValue(record.data.cameraLocation); + } + top.Ext.getCmp('cameraLocation').setValue(record.data.cameraLocation); */ + top.Ext.getCmp('deviceIpShow').setValue(record.data.deviceIp); + top.Ext.getCmp('deviceIp').setValue(record.data.deviceIp); + top.Ext.getCmp('deviceId').setValue(record.data.deviceId); + //top.Ext.getCmp('nvrCode').setValue(record.data.nvrCode); + } + } + }] + },{ + columnWidth : .5, + layout : 'form', + labelWidth : 90, + items : [{ + xtype : 'textfield', + fieldLabel : '安装位置', + maxLength : '41', + id : 'location', + name : 'location', + allowBlank : true, + anchor : '100%' + }] + },{ + columnWidth : .5, + layout : 'form', + labelWidth : 90, + items : [{ + xtype : 'textfield', + fieldLabel : 'IP地址', + id : 'deviceIpShow', + name : 'deviceIpShow', + allowBlank : true, + readOnly:true, + disabled : true, + anchor : '100%' + }] + },{ + columnWidth : 1, + layout : 'form', + labelWidth : 90, + items : [{ + xtype : 'textarea', + height : 45, + fieldLabel : '备注', + id : 'remark', + name : 'remark', + allowBlank : true, + anchor : '100%' + }] + }] + }], + buttons : [{ + id : 'saveBtn', + text : '确认', + handler : save + },{ + id : 'cancleBtn', + text : '取消', + handler : function() { + cameraFormWin.close(); + } + }] + }); + + cameraFormWin = new top.Ext.Window( { + id : 'cameraFormWin', + layout : 'fit', + title : '摄像头信息', + width : 600, + modal : true, + autoHeight : true, + border : false, + plain : true, + items : [formObj] + }); + cameraFormWin.show(); + top.Ext.getCmp('name').focus(false,200); +} + + +function save(){ + if(!formObj.getForm().isValid()){ + showResult('请正确填写表单各值'); + return false; + } + + formObj.form.submit({ + url : WWWROOT + '/disinfectSystem/baseData/cameraDefinitionAction!saveOrUpdateCameraDefinition.do', + method : 'POST', + waitMsg : '正在保存数据,请稍候', + waitTitle : '提交表单', + success : function(form, action) { + var data = action.result; + if(data.success){ + showResult(data.message); + cameraFormWin.close(); + grid.dwrReload(); + } + }, + failure : function(form, action) { + showResult(action.result.message); + top.Ext.getCmp('saveBtn').enable(); + } + }); +} + +// 删除 +function deleteCameraMsg(grid) { + var records = grid.getSelectionModel().getSelections(); + + if (records.length == 0) { + showResult("请选择要删除的"+entityName+"信息!"); + return false; + } + var ids = null; + for ( var i = 0, len = records.length; i < len; i++) { + if (ids == null) { + ids = records[i].data['id']; + } else { + ids = ids + ';' + records[i].data['id']; + } + } + top.Ext.MessageBox.confirm("请确认","是否确定要删除选中的"+entityName+"信息?", + function(button, text) { + if ("yes" == button){ + Ext.Ajax.request({ + url : WWWROOT + '/disinfectSystem/baseData/cameraDefinitionAction!deleteCameraDefinition.do', + params : {ids : ids}, + success : function(response, options) { + var result = Ext.decode(response.responseText); + if (result.success) { + showResult(result.message); + grid.dwrReload(); + } + }, + failure : function(response, options) { + var result = Ext.decode(response.responseText); + showResult(result.message); + } + }); + } + } + ); + +} + +var loadFormData = function(grid) { + var records = grid.getSelectionModel().getSelections(); + if (records.length == 0) { + showResult("请选择要修改的"+entityName+"信息!"); + return false; + } + if (records.length > 1) { + showResult("一次只能修改一个"+entityName+"信息!"); + return false; + } + id = records[0].data['id']; + addCamera(id); + top.Ext.getCmp('cameraForm').form.load({ + url : WWWROOT + '/disinfectSystem/baseData/cameraDefinitionAction!getCameraDefinitionById.do', + method : 'GET', + waitMsg : '正在加载数据,请稍候', + params : {id : id}, + success : function(form, action) { + var data = action.result.data; + //赋值 + top.Ext.getCmp('name').setValue(data.name); + top.Ext.getCmp('hardwareName').setValue(data.hardwareName); + top.Ext.getCmp('location').setValue(data.location); + //top.Ext.getCmp('cameraLocation').setValue(data.cameraLocation); + top.Ext.getCmp('deviceIpShow').setValue(data.deviceIp); + top.Ext.getCmp('deviceIp').setValue(data.deviceIp); + top.Ext.getCmp('remark').setValue(data.remark); + top.Ext.getCmp('deviceId').setValue(data.deviceId); + //top.Ext.getCmp('nvrCode').setValue(data.nvrCode); + }, + failure : function(form, action) { + } + }); +}; + +function modify(){ + loadFormData(grid); +} + +function renderLink(v, p, record){ + return "" + v + ""; +} + +Ext.onReady(function() { + Ext.QuickTips.init(); + + var columns = [ + {header : "摄像头名称",width : 150,dataIndex : 'name', renderer : renderLink}, + {header : "IP地址",width : 150,dataIndex : 'deviceIp'}, + {header : "安装位置",width : 300,dataIndex : 'location'}, + {header : "备注",width : 100,dataIndex : 'remark',id:"remark"} + ]; + + var readerDetail = [ + {name : 'id'}, + {name : 'name'}, + {name : 'deviceIp'}, + {name : 'location'}, + {name : 'remark'} + ]; + + var filters = new Ext.grid.GridFilters({ + filters:[ + {type: 'string', dataIndex: 'name'}, + {type: 'string', dataIndex: 'deviceIp'}, + {type: 'string', dataIndex: 'location'}, + {type: 'string', dataIndex: 'remark'} + ]} + ); + + var tbar = [{ + text : '添加', + iconCls : 'btn_ext_application_add', + hidden:SSTS_cameraDefinition_Add, + handler : function() { + addCamera(); + } + }, '-', { + text : '修改', + iconCls : 'btn_ext_application_edit', + hidden:SSTS_cameraDefinition_Update, + id : 'editTbar', + handler : function() { + loadFormData(grid); + } + }, '-', { + text : '删除', + iconCls : 'btn_ext_application_del', + hidden:SSTS_cameraDefinition_Delete, + handler : function() { + deleteCameraMsg(grid); + } + }, '-', { + text : '刷新', + iconCls : 'btn_ext_refresh1', + handler : function() { + grid.dwrReload(); + } + }]; + + grid = new Ext.ux.ForgonPageGrid({ + tbar : tbar, + pageSize : 20, + defaultSortField : 'name', + title : entityName+'列表', + defaultSortDirection : 'ASC', + isCheckboxSelectionModel : true, + rememberSelected : false, + isShowSearchField : true, + plugins: filters, + columns : columns, + autoExpandColumn : 'remark', + renderTo : 'gridDiv', + frame : false + }, readerDetail, + CameraDefinitionTableManager.findCameraDefinitionTableList, + null + ); + + var viewport = new Ext.Viewport({ + layout:'border', + items:[{ + region:'center', + margins:'0 5 5 0', + xtype : 'panel', + autoScroll:true, + layout: 'fit', + items:grid + }] + }); +}); \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/videoMonitor/videoManage.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/videoMonitor/videoManage.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/videoMonitor/videoManage.js (revision 27006) @@ -0,0 +1,188 @@ +var entityName = "视频管理"; +var grid; +var formObj; +var formWindow; +var selectModel; +var playVideoWin; + +/* function playVideo(){ + var urls = WWWROOT+"/disinfectsystem/videoMonitor/videoFile.jsp"; + playVideoWin = new top.Ext.Window({ + id : 'playVideoWin', + layout : 'fit', + title : '视频播放', + width : 700, + height:500, + modal : true, + border : false, + html:"", + plain : true + }); + playVideoWin.show(); +} */ +// 删除 +function deleteVideo(grid) { + var records = grid.getSelectionModel().getSelections(); + if (records.length == 0) { + showResult("请选择要删除的"+entityName+"信息!"); + return false; + } + var ids = null; + for ( var i = 0, len = records.length; i < len; i++) { + if (ids == null) { + ids = records[i].data['id']; + } else { + ids = ids + ';' + records[i].data['id']; + } + } + top.Ext.MessageBox.confirm("请确认","是否确定要删除选中的"+entityName+"信息?", + function(button, text) { + if ("yes" == button){ + Ext.Ajax.request({ + url : WWWROOT + '/disinfectSystem/baseData/videoRecordAction!deleteVideoRecordByIds.do', + params : {ids : ids}, + success : function(response, options) { + var result = Ext.decode(response.responseText); + if (result.success) { + showResult(result.message); + grid.dwrReload(); + } + }, + failure : function(response, options) { + var result = Ext.decode(response.responseText); + showResult(result.message); + } + }); + } + } + ); + +} + +var loadFormData = function(grid) { + var records = grid.getSelectionModel().getSelections(); + if (records.length == 0) { + showResult("请选择要播放的"+entityName+"信息!"); + return false; + } + if (records.length > 1) { + showResult("一次只能播放一个"+entityName+"信息!"); + return false; + } + id = records[0].data['id']; + var cameraId = records[0].data.cameraId; + var startTime = records[0].data.beginTime; + var endTime = records[0].data.endTime; +/* Ext.Ajax.request({ + url : WWWROOT + '/disinfectSystem/deviceMaintenanceAction!loadDeviceMaintenance.do', + params: { + cameraId:cameraId, + startTime:startTime, + endTime:endTime + }, + success: function(response, options){ + var result = Ext.decode(response.responseText); + var tousseDefinition = result.data; + playVideo(); + }, + failure: function(result){ + + } + }); */ +}; + +function modify(){ + loadFormData(grid); +} + +function renderLink(v, p, record){ + return "" + v + ""; +} + + +Ext.onReady(function() { + Ext.QuickTips.init(); + + var columns = [ + {header : "开始时间",width : 150,dataIndex : 'beginTime', renderer : renderLink}, + {header : "结束时间",width : 150,dataIndex : 'endTime'}, + {header : "模块名称",width : 80,dataIndex : 'triggerModule',menuDisabled : true,sortable: false}, + {header : "操作人",width : 100,dataIndex : 'operator',menuDisabled : true,sortable: false}, + {header : "摄像头名称",width : 150,dataIndex : 'cameraName',menuDisabled : true,sortable: false}, + {header : "摄像头IP地址",width : 120,dataIndex : 'deviceIp',menuDisabled : true,sortable: false}, + {header : "安装位置",width : 150,dataIndex : 'location',id:"location",menuDisabled : true,sortable: false} + ]; + + var readerDetail = [ + {name : 'id'}, + {name : 'beginTime'}, + {name : 'endTime'}, + {name : 'triggerModule'}, + {name : 'operator'}, + {name : 'cameraName'}, + {name : 'deviceIp'}, + {name : 'location'} + ]; + + var filters = new Ext.grid.GridFilters({ + filters:[ + {type: 'date', dataIndex: 'beginTime'}, + {type: 'date', dataIndex: 'endTime'} + ]} + ); + + var tbar = [{ + text : '播放', + iconCls : 'btn_ext_play', + id : 'editTbar', + hidden:SSTS_videoManage_Play, + handler : function() { + loadFormData(grid); + } + }, '-', { + text : '删除', + iconCls : 'btn_ext_application_del', + hidden:SSTS_videoManage_Delete, + handler : function() { + deleteVideo(grid); + } + }, '-', { + text : '刷新', + iconCls : 'btn_ext_refresh1', + handler : function() { + grid.dwrReload(); + } + }]; + + grid = new Ext.ux.ForgonPageGrid({ + tbar : tbar, + pageSize : 20, + defaultSortField : 'beginTime', + title : entityName+'列表', + defaultSortDirection : 'DESC', + isCheckboxSelectionModel : true, + rememberSelected : false, + isShowSearchField : true, + plugins: filters, + columns : columns, + autoExpandColumn : 'location', + renderTo : 'gridDiv', + searchDisableIndexes:["triggerModule","operator","cameraName","deviceIp","location"], + frame : false + }, readerDetail, + VideoRecordTableManager.findVideoRecordTableList, + null + ); + + var viewport = new Ext.Viewport({ + layout:'border', + items:[{ + region:'center', + margins:'0 5 5 0', + xtype : 'panel', + autoScroll:true, + layout: 'fit', + items:grid + }] + }); +}); \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/config/gyey/config.js =================================================================== diff -u -r26853 -r27006 --- ssts-web/src/main/webapp/disinfectsystem/config/gyey/config.js (.../config.js) (revision 26853) +++ ssts-web/src/main/webapp/disinfectsystem/config/gyey/config.js (.../config.js) (revision 27006) @@ -63,5 +63,7 @@ //是否禁用人员同步 hiddenUserSyncButton:true, //是否启用科室停用或者启用功能 - SSTS_QualityMonitoring_Config:false + SSTS_QualityMonitoring_Config:false, + //是否启用视频监控模块,true时,启用该模块,false或者没有配置时,不启用 + enableVideoMonitorModule:true } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/videoMonitor/videoManage.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/videoMonitor/videoManage.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/videoMonitor/videoManage.jsp (revision 27006) @@ -0,0 +1,37 @@ +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ include file="/common/taglibs.jsp"%> +<%@ include file="/common/includeExtJsAndCss.jsp"%> + + + +视频管理 + + + + + + + + + + + + + + +
+
+
+ + \ No newline at end of file Index: ssts-web/src/main/webapp/ext/fontSize15/styles/common.css =================================================================== diff -u -r16876 -r27006 --- ssts-web/src/main/webapp/ext/fontSize15/styles/common.css (.../common.css) (revision 16876) +++ ssts-web/src/main/webapp/ext/fontSize15/styles/common.css (.../common.css) (revision 27006) @@ -379,4 +379,7 @@ .btn_ext_kcxz { background-image:url( ../../../../images/kcxz.gif ) !important; } +.btn_ext_play { + background-image:url( ../../../images/web/play.png ) !important; +} /* EAM*/ \ No newline at end of file Index: ssts-web/src/main/webapp/ext/fontSize12/styles/common.css =================================================================== diff -u -r23839 -r27006 --- ssts-web/src/main/webapp/ext/fontSize12/styles/common.css (.../common.css) (revision 23839) +++ ssts-web/src/main/webapp/ext/fontSize12/styles/common.css (.../common.css) (revision 27006) @@ -381,3 +381,6 @@ .btn_ext_kcxz { background-image:url( ../../../images/kcxz.gif ) !important; } +.btn_ext_play { + background-image:url( ../../../images/web/play.png ) !important; +} \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/videoMonitor/computerDefinitionView.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/videoMonitor/computerDefinitionView.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/videoMonitor/computerDefinitionView.js (revision 27006) @@ -0,0 +1,436 @@ +var entityName = "电脑工作站定义"; +var grid; +var formObj; +var computerDefinitionFormWin; +var cameraListStoreCompleteLoad = false; +function afterExpandFunc(){ + //监听下拉事件 + var me = comboArg; + me.view.setWidth(200); + me.list.setWidth(200); + var deptCodes = top.Ext.getCmp("camreaIds").getValue().split(';'); + //循环下拉框里的数据 + for (var h = 0; h < me.store.getCount(); h++) { + var rec = me.store.getAt(h); + if(rec.get('id') && deptCodes && deptCodes.length > 0){ + //循环隐藏域的变量 + for (var i = 0; i < deptCodes.length; i++) { + if (rec.get('id') == deptCodes[i]) { + try{ + rec.set('check', true); + rec.set('color', '#afd7af'); + break; + }catch(e){ + me.store.add(rec); + rec.set('check', true); + rec.set('color', '#afd7af'); + break; + } + } + } + }else{ + + } + } +} +//摄像头多选的store +var cameraListStore = new Ext.data.Store({ + autoLoad: true, + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/baseData/cameraDefinitionAction!searchCameraDefinitionByKeyword.do', + method: 'POST' + }), + reader: new Ext.data.JsonReader({ + totalProperty: 'totalCount', + root: 'data' + }, [ + {name: 'id', mapping: 'id'}, + {name: 'name', mapping: 'name'} + ]), + listeners : { + beforeload : function(){ + cameraListStoreCompleteLoad = false; + }, + load : function(){ + cameraListStoreCompleteLoad = true; + } + } +}); +function creartecameraListCombo(cameraListStore) { + return new top.Ext.form.ComboBox({ + store: cameraListStore, + displayField: 'name', + valueField: 'id', + id: 'cameraList', + name: 'cameraList', + //typeAhead: false, + width: 120, + fieldLabel: '摄像头列表', + matchFieldWidth: false, + queryParam : 'keyword', + minChars : 0, + // emptyText: '请选择', + forceSelection: true, + lazyInit : true, + allowBlank: false, + editable: true, + hideTrigger : false, + triggerAction: 'all', + typeAhead : false, + flex : 1, + model:'local', + anchor: '100%', + tpl: '
{name}
', + onSelect: function (record, index) { + var me = this; + if (me.fireEvent('beforeselect', me, record, index) != false) { + record.set('check', !record.get('check')); + //displayField的值 + var str = []; + //valueField的值 + var strValue = []; + me.store.each(function (rc) { + //如果选中了全部,即判断id是否为空 + if(!record.get('id')){ + rc.set('check', record.get('check')); + } + //如果当前的record为选中时 + if (rc.get('check') && rc.get('id')) { + str.push(rc.get('name')); + strValue.push(rc.get('id')); + rc.set('color', '#afd7af'); + } + else { + rc.set('color', ''); + } + }); + me.setValue(str.join(";")); + top.Ext.getCmp("camreaIds").setValue(strValue.join(";")); + me.fireEvent('select', me, record, index); + } + }, + listeners: { + expand: function (value) { + comboArg = this; + window.setTimeout('afterExpandFunc()' , 1000); + } + } + }) +} + +function addComputerDefinition(id) { + formObj = new top.Ext.form.FormPanel({ + id : 'computerDefinitionForm', + frame : true, + labelAlign:'right', + labelSeparator : ':', + bodyStyle : 'padding:5px 5px 0px 5px', + autoWidth : true, + autoHeight : true, + autoScroll : true, + items:[{ + xtype: 'hidden', + name: 'id', + id: 'id', + value:id + },{ + xtype: 'hidden', + name: 'camreaIds', + id: 'camreaIds' + },{ + layout : 'column', + items : [{ + columnWidth : .5, + layout : 'form', + labelWidth : 120, + items : [{ + xtype : 'textfield', + fieldLabel : '电脑工作站名称', + id : 'name', + name : 'name', + allowBlank : false, + anchor : '100%' + }] + },{ + columnWidth : .5, + layout : 'form', + labelWidth : 120, + items : [{ + xtype : 'textfield', + fieldLabel : '电脑工作站的IP地址', + regex: /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/, + regexText:'请输入正确的格式', + id : 'ip', + name : 'ip', + allowBlank : false, + anchor : '100%' + }] + },{ + columnWidth : .5, + layout : 'form', + labelWidth : 120, + items : [{ + xtype : 'combo', + fieldLabel : "触发录像的模块", + valueField : 'value', + displayField : 'value', + store : new Ext.data.SimpleStore({ + fields : [ 'value' ], + data : [['回收'],[ '装配']] + }), + value : '回收', + forceSelection : true, + triggerAction : 'all', + name : "triggerModule", + id : "triggerModule", + anchor : '100%', + mode : 'local', + allowBlank : false + }] + },{ + columnWidth : 1, + layout : 'form', + labelWidth : 120, + items : [creartecameraListCombo(cameraListStore)] + },{ + columnWidth : 1, + layout : 'form', + labelWidth : 120, + items : [{ + xtype : 'textarea', + height : 45, + fieldLabel : '备注', + id : 'remark', + name : 'remark', + allowBlank : true, + anchor : '99%' + }] + }] + }], + buttons : [{ + id : 'saveBtn', + text : '确认', + handler : save + },{ + id : 'cancleBtn', + text : '取消', + handler : function() { + computerDefinitionFormWin.close(); + } + }] + }); + + computerDefinitionFormWin = new top.Ext.Window( { + id : 'computerDefinitionFormWin', + layout : 'fit', + title : '摄像头信息', + width : 700, + modal : true, + autoHeight : true, + border : false, + plain : true, + items : [formObj] + }); + computerDefinitionFormWin.show(); + top.Ext.getCmp('name').focus(false,200); +} + + +function save(){ + if(!formObj.getForm().isValid()){ + showResult('请正确填写表单各值'); + return false; + } + + formObj.form.submit({ + url : WWWROOT + '/disinfectSystem/baseData/workstationAction!saveOrUpdateWorkstation.do', + method : 'POST', + waitMsg : '正在保存数据,请稍候', + waitTitle : '提交表单', + success : function(form, action) { + var data = action.result; + if(data.success){ + showResult(data.message); + computerDefinitionFormWin.close(); + grid.dwrReload(); + } + }, + failure : function(form, action) { + showResult(action.result.message); + } + }); +} + +// 删除 +function deleteComputerDefinition(grid) { + var records = grid.getSelectionModel().getSelections(); + + if (records.length == 0) { + showResult("请选择要删除的"+entityName+"信息!"); + return false; + } + var ids = null; + for ( var i = 0, len = records.length; i < len; i++) { + if (ids == null) { + ids = records[i].data['id']; + } else { + ids = ids + ';' + records[i].data['id']; + } + } + top.Ext.MessageBox.confirm("请确认","是否确定要删除选中的"+entityName+"信息?", + function(button, text) { + if ("yes" == button){ + Ext.Ajax.request({ + url : WWWROOT + '/disinfectSystem/baseData/workstationAction!deleteWorkstationByIds.do', + params : {ids : ids}, + success : function(response, options) { + var result = Ext.decode(response.responseText); + if (result.success) { + showResult(result.message); + grid.dwrReload(); + } + }, + failure : function(response, options) { + var result = Ext.decode(response.responseText); + showResult(result.message); + } + }); + } + } + ); + +} + +var loadFormData = function(grid) { + var records = grid.getSelectionModel().getSelections(); + if (records.length == 0) { + showResult("请选择要修改的"+entityName+"信息!"); + return false; + } + if (records.length > 1) { + showResult("一次只能修改一个"+entityName+"信息!"); + return false; + } + id = records[0].data['id']; + addComputerDefinition(id); + top.Ext.getCmp('computerDefinitionForm').form.load({ + url : WWWROOT + '/disinfectSystem/baseData/workstationAction!getWorkstationById.do', + method : 'GET', + waitMsg : '正在加载数据,请稍候', + params : {id : id}, + success : function(form, action) { + var data = action.result.data; + //赋值name + top.Ext.getCmp('name').setValue(data.name); + top.Ext.getCmp('ip').setValue(data.ip); + top.Ext.getCmp('triggerModule').setValue(data.triggerModule); + top.Ext.getCmp("cameraList").setValue(data.cameraNames); + top.Ext.getCmp('camreaIds').setValue(data.cameraIds); + top.Ext.getCmp('remark').setValue(data.remark); + }, + failure : function(form, action) { + + } + }); +}; + +function modify(){ + loadFormData(grid); +} + +function renderLink(v, p, record){ + return "" + v + ""; +} + + +Ext.onReady(function() { + Ext.QuickTips.init(); + + var columns = [ + {header : "电脑工作站名称",width : 150,dataIndex : 'name', renderer : renderLink}, + {header : "电脑工作站IP",width : 150,dataIndex : 'ip'}, + {header : "摄像头名称",width : 200,dataIndex : 'cameraName',menuDisabled : true,sortable: false}, + {header : "摄像头IP地址",width : 200,dataIndex : 'cameraIP',menuDisabled : true,sortable: false}, + {header : "备注",width : 100,dataIndex : 'remark',id:"remark"} + ]; + + var readerDetail = [ + {name : 'id'}, + {name : 'name'}, + {name : 'ip'}, + {name : 'cameraName'}, + {name : 'cameraIP'}, + {name : 'remark'} + ]; + + var filters = new Ext.grid.GridFilters({ + filters:[ + {type: 'string', dataIndex: 'name'}, + {type: 'string', dataIndex: 'ip'}, + {type: 'string', dataIndex: 'remark'} + ]} + ); + + var tbar = [{ + text : '添加', + iconCls : 'btn_ext_application_add', + hidden:SSTS_computerDefinition_Create, + handler : function() { + addComputerDefinition(); + } + }, '-', { + text : '修改', + iconCls : 'btn_ext_application_edit', + hidden:SSTS_computerDefinition_Update, + id : 'editTbar', + handler : function() { + loadFormData(grid); + } + }, '-', { + text : '删除', + iconCls : 'btn_ext_application_del', + hidden:SSTS_computerDefinition_Delete, + handler : function() { + deleteComputerDefinition(grid); + } + }, '-', { + text : '刷新', + iconCls : 'btn_ext_refresh1', + handler : function() { + grid.dwrReload(); + } + } + ]; + + grid = new Ext.ux.ForgonPageGrid({ + tbar : tbar, + pageSize : 20, + defaultSortField : 'name', + title : entityName+'列表', + defaultSortDirection : 'ASC', + isCheckboxSelectionModel : true, + rememberSelected : false, + isShowSearchField : true, + plugins: filters, + columns : columns, + autoExpandColumn : 'remark', + renderTo : 'gridDiv', + searchDisableIndexes:["cameraName","cameraIP"], + frame : false + }, readerDetail, + WorkstationTableManager.findWorkstationTableList, + null + ); + + var viewport = new Ext.Viewport({ + layout:'border', + items:[{ + region:'center', + margins:'0 5 5 0', + xtype : 'panel', + autoScroll:true, + layout: 'fit', + items:grid + }] + }); +}); \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/videoMonitor/cameraDefinitionView.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/videoMonitor/cameraDefinitionView.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/videoMonitor/cameraDefinitionView.jsp (revision 27006) @@ -0,0 +1,42 @@ +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ include file="/common/taglibs.jsp"%> +<%@ include file="/common/includeExtJsAndCss.jsp"%> + + + +摄像头定义 + + + + + + + + + + + + + + +
+
+
+ + \ No newline at end of file Index: ssts-web/src/main/resources/systemset/operationDefine.xml =================================================================== diff -u -r26835 -r27006 --- ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 26835) +++ ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 27006) @@ -48,6 +48,23 @@ + + + + + + + + + + + + + + + + + Index: ssts-web/src/main/webapp/disinfectsystem/videoMonitor/videoFile.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/videoMonitor/videoFile.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/videoMonitor/videoFile.jsp (revision 27006) @@ -0,0 +1,20 @@ +<%@ page contentType="text/html; charset=UTF-8"%> + + + + + + + + +
+ +
+ + Index: ssts-web/src/main/webapp/disinfectsystem/videoMonitor/computerDefinitionView.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/videoMonitor/computerDefinitionView.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/videoMonitor/computerDefinitionView.jsp (revision 27006) @@ -0,0 +1,42 @@ +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ include file="/common/taglibs.jsp"%> +<%@ include file="/common/includeExtJsAndCss.jsp"%> + + + +电脑工作站定义 + + + + + + + + + + + + + + +
+
+
+ + \ No newline at end of file Index: ssts-web/src/main/webapp/homepage/menuconfigure.js =================================================================== diff -u -r26848 -r27006 --- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 26848) +++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 27006) @@ -561,6 +561,15 @@ } ] },{ + text:"视频监控", + singleClickExpand:singleClickExpandTree, + hidden:SSTS_cameraDefinition && SSTS_computerDefinition && SSTS_videoManage, + children:[ + {hidden : SSTS_cameraDefinition,text:"摄像头定义",href:WWWROOT+'/disinfectsystem/videoMonitor/cameraDefinitionView.jsp',hrefTarget:linkTarget,leaf:true}, + {hidden : SSTS_computerDefinition,text:"电脑工作站定义",href:WWWROOT+'/disinfectsystem/videoMonitor/computerDefinitionView.jsp',hrefTarget:linkTarget,leaf:true}, + {hidden : SSTS_videoManage,text:"视频管理",href:WWWROOT+'/disinfectsystem/videoMonitor/videoManage.jsp',hrefTarget:linkTarget,leaf:true} + ] +},{ text:"消毒供应中心工作量统计报表", singleClickExpand:singleClickExpandTree, hidden:SSTS_WorkLoad_Menu, Index: ssts-web/src/main/webapp/homepage/menu.jsp =================================================================== diff -u -r26835 -r27006 --- ssts-web/src/main/webapp/homepage/menu.jsp (.../menu.jsp) (revision 26835) +++ ssts-web/src/main/webapp/homepage/menu.jsp (.../menu.jsp) (revision 27006) @@ -2223,6 +2223,37 @@ /** + * 《摄像头定义》权限 + */ +var SSTS_cameraDefinition = true; + + if (sstsConfig.enableVideoMonitorModule){ + SSTS_cameraDefinition = false; + } + + +/** + * 《电脑工作站定义》权限 + */ +var SSTS_computerDefinition = true; + + if (sstsConfig.enableVideoMonitorModule){ + SSTS_computerDefinition = false; + } + + +/** + * 《视频管理》权限 + */ +var SSTS_videoManage = true; + + if (sstsConfig.enableVideoMonitorModule){ + SSTS_videoManage = false; + } + + + +/** * 使用记录转换配置管理的权限 */ var SSTS_UseRecordConvertConfig_Manager = true;