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;