Example #1
0
define(function(require) {
	var FormView = require("web/common/formView");
	var Handlebars = require("handlebars");
	
	var tmpl = require("text!web/index/pz/yppz/fsydhy/fsydhy_template.html");
	
	var FsydhyView = FormView.extend({
		id: "pz_yppz_fsydhy",
		template: Handlebars.compile(tmpl),
		bindings: {
		},
		events: {
			"click .btn" : "switchBtn"
		},
		switchBtn: function(e) {
			$(e.target).toggleClass("active");
		},
		
		onRender: function() {
			this.stickit().initSlider();
		},
		onAttach: function() {
			this.activeLink().selectmenu();
		}
	});
	
	return FsydhyView;
});
Example #2
0
define(function(require) {
	var $ = require("jquery");
	var Radio = require("radio");
	var FormView = require("web/common/formView");
	var Handlebars = require("handlebars");
	var tmpl = require("text!web/index/wjll/searchTerms_template.html");
	var SearchTermsModel = require("web/index/wjll/searchTerms_model");
	
	var SearchTermsView = FormView.extend({
		id: "wjll_searchTerms",
		template: Handlebars.compile(tmpl),
		
		bindings: {
			"#startTime": "startTime",
			"#endTime": "endTime",
			"#diskPath": "diskPath",
			"#fileType": {
				observe: "fileType",
				selectName: "fileType"
			},
			"#confNum": "confNum",
			"#confName": "confName",
			"#convenor": "convenor"
		},
		initialize: function(opt) {
			this.setSelectBindings(this.bindings);
		},
		events: {
			"click .searchBtn": "searchFile",
			"click .resetBtn": "resetFile"
		},
		searchFile: function() {
			Radio.channel("wjll").command("searchFile", this.model.toJSON());
		},
		resetFile: function() {
			this.model.clear().set(new SearchTermsModel().toJSON());
			this.refreshSelectmenu();
			Radio.channel("wjll").command("searchFile", this.model.toJSON());
		},
		
		onRender: function() {
			this.stickit();
		},
		
		onAttach: function() {
			this.selectmenu();
			
			$.timepicker.datetimeRange(
				$("#startTime"),
				$("#endTime"),
				{
					timeFormat: "HH:mm:ss"
				}
			);
		}
	});
	
	return SearchTermsView;
});
Example #3
0
define(function(require) {
	var FormView = require("web/common/formView");
	var Handlebars = require("handlebars");
	
	var tmpl = require("text!web/index/pz/yppz/bdsr/bdsr_template.html");
	
	var BdsrView = FormView.extend({
		id: "pz_yppz_bdsr",
		template: Handlebars.compile(tmpl),
		
		events: {
			"click .btn-switch1": "toggleSwitch",
			"click .btn-switch2": "toggleSwitch",
			"click .saveBtn" : "saveBdsr"
		},
		saveBdsr: function(e) {
			this.model.set({
				"volumeSingleInPut": this._getInput()
			})
			.save()
			.done(function() {
				alert("保存成功!");
			})
			.fail(function() {
				alert("保存失败!");
			});
		},
		_getInput: function() {
			return this.$(".slide-vertical-box").map(function() {
				var $this = $(this);
				return {
					audInPort: +$this.find("[name=audInPort]").val(),
					audInName: $this.find("[name=audInName]").val(),
					enable: $this.find("[name=enable]").is(".active") ? 1 : 0,
					phtPwrEn: $this.find("[name=phtPwrEn]").is(".active") ? 1 : 0,
					involume: $this.find(".slider").slider("value")
				};
			}).get();
		},
		
		initialize: function() {
			var model = this.model.get("volumeSingleInPut");
			this.options.templateHelpers = {
				MIC: model.slice(0, 12),
				LineIn: model.slice(12)
			};
		},
		onRender: function() {
			this.initSlider();
		},
		onAttach: function() {
			this.activeLink();
		}
	});
	
	return BdsrView;
});
Example #4
0
define(function(require) {
	var FormView = require("web/common/formView");
	
	var tmpl = require("text!web/index/pz/yppz/fkyz/fkyz_template.html");
	
	var FkyzView = FormView.extend({
		id: "pz_yppz_fkyz",
		template: tmpl,
		
		events: {
			"click .btn-switch3": "toggleSwitch",
			"click .saveBtn" : "saveFkyz"
		},
		saveFkyz: function(e) {
			this.model.set(this._getFkyz())
			.save()
			.done(function() {
				alert("保存成功!");
			})
			.fail(function() {
				alert("保存失败!");
			});
		},
		_getFkyz: function() {
			var $el = this.$el;
			return {
				afrEn: $el.find("#afrEn").is(".active") ? 1 : 0,
				afrMode: +$el.find("[name=afrMode]:checked").val(),
				afrRange: +$el.find("[name=afrRange]:checked").val()
			};
		},
		
		onRender: function() {
			this.renderData().fixRadio();
		},
		renderData: function() {
			var $el = this.$el;
			var model = this.model;
			model.get("afrEn") && $el.find("#afrEn").addClass("active");
			var afrMode = model.get("afrMode");
			$el.find("[name=afrMode][value=" + afrMode + "]").prop("checked", true);
			var afrRange = model.get("afrRange");
			$el.find("[name=afrRange][value=" + afrRange + "]").prop("checked", true);
			return this;
		},
		onAttach: function() {
			this.activeLink();
		}
	});
	
	return FkyzView;
});
Example #5
0
define(function(require) {
	var FormView = require("web/common/formView");
	var tmpl = require("text!web/index/pz/wlsz/nat/nat_template.html");

	var check    = require("variableCheckAPI");
	var inspect  = require("variableCheck");
	var prompt = require("filletPrompt");
	
	var NATView = FormView.extend({
		id: "pz_wlsz_nat",
		template: tmpl,
		bindings: {
			"#enable": "enable",
			"#externalIp": "externalIp",
			"#callBeginPort": "callBeginPort",
			"#callEndPort": "callEndPort",
			"#rtpBeginPort": "rtpBeginPort",
			"#rtpEndPort": "rtpEndPort"
		},
		events: {
			"click .saveBtn" : "saveModel"
		},
		saveModel: function(e) {
			if(!inspect.ipCheck("externalIp") || !inspect.numberCheck("callBeginPort") || !inspect.numberCheck("callEndPort") || !inspect.numberCheck("rtpBeginPort")
						|| !inspect.numberCheck("rtpEndPort")){
				return;
			}
			this.model.save().done(this.saveSuccess).fail(this.saveError);
		},
		saveSuccess: function() {
			//alert("保存成功!");
		},
		saveError: function() {
			alert("保存失败!");
		},
		
		onRender: function() {
			this.stickit().fixCheckbox();
			this.$(".spinner").spinner();
		},
		onAttach: function() {
			this.selectmenu();
			check.ipCheck("externalIp");
			check.numberCheck("callBeginPort");
			check.numberCheck("callEndPort");
			check.numberCheck("rtpBeginPort");
			check.numberCheck("rtpEndPort");
		}
	});
	
	return NATView;
});
Example #6
0
define(function(require) {
	var $ = require("jquery");
	var FormView = require("web/common/formView");
	var Handlebars = require("handlebars");
	
	var tmpl = require("text!web/index/pz/spsr/spsr_template.html");
	
	var SpsrView = FormView.extend({
		id: "pz_spsr",
		template: Handlebars.compile(tmpl),
		bindings: {
			"#name": "name",
			"#kzck": "kzck",
			"#ydsd": "ydsd",
			"#srjkxh": "srjkxh",
			
			"#ld": "ld",
			"#dbd": "dbd",
			"#bhd": "bhd",
			"#sppy": "sppy",
			"#czpy": "czpy"
		},
		events: {
			"click .lxr" : "selectLxr"
		},
		selectLxr: function(e) {
			var self = this;
			var $tar = $(e.target);
			var $lxr = $tar.is(".lxr") ? $tar : $tar.parents(".lxr");
			$lxr.addClass("active").siblings().removeClass("active");
			
			this.model.myFetch({
				id: $lxr.data("id")
			}).done(function() {
				self.refreshForm();
			});
		},
		
		onRender: function() {
			this.stickit().initSlider();
		},
		onAttach: function() {
			this.activeLink().selectmenu();
		}
	});
	
	return SpsrView;
});
Example #7
0
define(function(require) {
	var FormView = require("web/common/formView");
	var tmpl = require("text!web/index/pz/wlsz/qos/qos_template.html");
	
	var QosView = FormView.extend({
		id: "pz_wlsz_qos",
		template: tmpl,
		bindings: {
			"#swzwk": "swzwk",
			"#wllx":  "wllx",
			"#ipdz":  "ipdz",
			"#zwym":  "zwym",
			"#wgdz":  "wgdz",
			"#dns":   "dns",
			"#sxdk":  "sxdk",
			"#xxdk":  "xxdk" 
		},
		events: {
			"click .saveBtn" : "saveModel"
		},
		saveModel: function(e) {
			this.model.save().done(this.saveSuccess).fail(this.saveError);
		},
		saveSuccess: function() {
			alert("保存成功!");
		},
		saveError: function() {
			alert("保存失败!");
		},
		
		onRender: function() {
			this.stickit().fixCheckbox();
		},
		onAttach: function() {
			this.selectmenu();
		}
	});
	
	return QosView;
});
define(function(require) {
	var $ = require("jquery");
	var Radio = require("radio");
	var Mn = require("marionette");
	var FormView = require("web/common/formView");
	var tmpl = require("text!web/index/zkhy/hymb/hymb_add_spjz_template.html");
	var Const = require("web/common/const");
	
	var SpjzView = FormView.extend({
		id: "hymb_add_spjz",
		template: tmpl,
		bindings: {
			"#enableVM": "enableVM"
		},
		ui: {
			"spjz_table_container": ".spjz-table-container"
		},
		events: {
			"mouseover @ui.spjz_table_container": "mouseoverTD",
			"click @ui.spjz_table_container": "clickTD"
		},
		mouseoverTD: function(e) {
			var $td = $(e.target);
			this.$tds.removeClass("hover hoverIn");
			if(!$td.is("td")) return;
			
			var colIndex = $td.index() - 1;
			var rowIndex = $td.parent().index() - 1;
			var rows = this.rows;
			var cols = this.cols;
			var i = 0, start = cols * rowIndex;
			
			for(i = 0; i < rows; i ++) {
				this.$tds.eq(colIndex + i * cols).addClass("hover");
			}
			for(i = 0; i < cols; i ++) {
				this.$tds.eq(start + i).addClass("hover");
			}
			
			$td.addClass("hoverIn");
		},
		clickTD: function(e) {
			var $td = $(e.target);
			if(!$td.is("td")) return;
			
			var colIndex = $td.index() - 1;
			var rowIndex = $td.parent().index() - 1;
			var rows = this.rows;
			var cols = this.cols;
			for(var i = 0; i < rows; i ++) {
				if(i === rowIndex) {
					$td.toggleClass("active");
				} else {
					this.$tds.eq(colIndex + i * cols).removeClass("active");
				}
			}
		},
		
		initialize: function() {
			Radio.channel("spjz").reset();
			Radio.channel("spjz").reply("getMatrixInOut", this.getMatrixInOut, this);
			
			Radio.channel("yhz").on("addLxr", this.addMatrix, this);
			Radio.channel("yhz").on("subLxr", this.subMatrix, this);
		},
		
		getMatrixInOut: function() {
			var rowHeadArr = this._getRowHead();
			var colHeadArr = this._getColHead();
			return this.ui.spjz_table_container.find(".active").map(function() {
				var $td = $(this);
				var colIndex = $td.index() - 1;
				var rowIndex = $td.parent().index() - 1;
				
				var src = rowHeadArr[rowIndex];
				var dest = colHeadArr[colIndex];
				return {
					"equSrc": {
						equType: _.isNumber(src.equType) ? src.equType : Const.EquType_Cnt,
						recordId: src.recordId || 0,
						camPort: src.camPort || Const.VidInPort_Cnt,
						vgaPort: src.vgaPort || Const.VidInPort_Cnt
					},
					"equDst": {
						equType: _.isNumber(dest.equType) ? dest.equType : Const.EquType_Cnt,
						recordId: dest.recordId || 0,
						dviPort: dest.dviPort || 0
					}
				}
			}).get();
		},
		
		addMatrix: function(addLxrArr) {
			//缓存已经配置的矩阵数据
			if(this.matrixInOut === undefined) {
				this.matrixInOut = this.model.get("matrixInOut") || [];
			} else {
				this.matrixInOut = this.getMatrixInOut();
			}
			//修改联系人数据
			this.lxrArr = this._getAddLxrArr(addLxrArr);
			//清空现有的表格
			this.ui.spjz_table_container.empty();
			//重新绘制表格
			this.renderMatrix();
		},
		
		_getAddLxrArr: function(addLxrArr) {
			var lxrArr = this.lxrArr || [];
			return lxrArr.concat(addLxrArr);
		},
		
		subMatrix: function(subLxrArr) {
			//缓存已经配置的矩阵数据
			this.matrixInOut = this.getMatrixInOut();
			//修改联系人数据
			this.lxrArr = this._getSubLxrArr(subLxrArr);
			//清空现有的表格
			this.ui.spjz_table_container.empty();
			//重新绘制表格
			this.renderMatrix();
		},
		
		_getSubLxrArr: function(subLxrArr) {
			var lxrArr = this.lxrArr || [];
			var self = this;
			return _.reject(lxrArr, function(lxr) {
				return self._isLxrInArr(lxr, subLxrArr);
			});
		},
		
		_isLxrInArr: function(lxrObj, lxrArr) {
			var equType = lxrObj.equType;
			var recordId = lxrObj.recordId;
			
			return _.some(lxrArr, function(lxr) {
				if(equType === lxr.equType && (equType === Const.EquType_PLAYER || recordId === lxr.recordId)) {
					return true;
				}
			});
		},
		
		renderMatrix: function() {
			var rowHeadArr = this._getRowHead();
			var colHeadArr = this._getColHead();
			var rows = this.rows = rowHeadArr.length;
			var cols = this.cols = colHeadArr.length;
			var $table = this.getTable(rows, cols);
			
			this.renderTableHead($table);
			this.renderTableBody($table);
			
			this.ui.spjz_table_container.append($table);
		},
		
		renderTableHead: function($table) {
			var rowHeadArr = this._getRowHead();
			var colHeadArr = this._getColHead();
			var $trs = $table.find("tr");
			var $colTH = $trs.eq(0).find("th");
			var $rowTH = $trs.slice(1).find("th");
			
			$colTH.eq(0).text(this.options.tableName);
			
			$colTH.slice(1).each(function(i, ele) {
				ele.innerText = colHeadArr[i].addrName;
			});
			
			$rowTH.each(function(i, ele) {
				ele.innerText = rowHeadArr[i].addrName;
			});
		},
		
		renderTableBody: function($table) {
			var rowHeadArr = this._getRowHead();
			var colHeadArr = this._getColHead();
			var cols = colHeadArr.length;
			var $tds = this.$tds = $table.find("td");
			var matrixInOut = this.matrixInOut;
			var curInOut, equSrc, equDst, i, l = matrixInOut.length;
			
			for(i = 0; i < l; i ++) {
				curInOut = matrixInOut[i];
				srcIndex = this.getSrcIndex(curInOut.equSrc, rowHeadArr);
				dstIndex = this.getDstIndex(curInOut.equDst, colHeadArr);
				
				if(srcIndex === -1 || dstIndex === -1) continue;
				$tds.eq(dstIndex + srcIndex * cols).addClass("active");
			}
		},
		
		getSrcIndex: function(src, rowHeadArr) {
			src = src || {};
			rowHeadArr = rowHeadArr || [];
			var curRow = null,
				equType = src.equType;
			
			for(var i = 0, l = rowHeadArr.length; i < l; i ++) {
				curRow = rowHeadArr[i];
				if(equType !== curRow.equType) continue;
				
				switch (equType) {
					case Const.EquType_SDI:
						if(src.recordId === curRow.recordId){
							if(src.camPort != Const.VidInPort_Cnt && src.camPort == curRow.camPort)
			    			{
			    				return i;
			    			}
			    			
			    			if(src.vgaPort != Const.VidInPort_Cnt && src.vgaPort == curRow.vgaPort)
			    			{
			    				return i;
			    			}
						}
						break;
					case Const.EquType_H323:
					case Const.EquType_SIP:
					case Const.EquType_RTSP:
						if(src.recordId === curRow.recordId) {
							return i;
						}
						break;
					case Const.EquType_MP:
					case Const.EquType_PLAYER:
						return i;
						break;
					default:
				}
			}
			
			return -1;
		},
		
		getDstIndex: function(dst, colHeadArr) {
			dst = dst || {};
			colHeadArr = colHeadArr || [];
			var curCol = null,
				equType = dst.equType;
			
			for(var i = 0, l = colHeadArr.length; i < l; i ++) {
				curCol = colHeadArr[i];
				if(equType !== curCol.equType) continue;
				
				switch (equType) {
					case Const.EquType_H323:
					case Const.EquType_SIP:
						if(dst.recordId === curCol.recordId) {
							return i;
						}
						break;
					case Const.EquType_OUTPUT:
						if(dst.dviPort === curCol.dviPort) {
							return i;
						}
						break;
					default:
				}
			}
			
			return -1;
		},
		
		/* 
		 * 增加了列表头和行表头
		 * 所以实际上表格的行数和列数是rows+1,cols+1
		 */ 
		getTable: function(rows, cols) {
			var th = "<th></th>";
			var td = "<td></td>";
			var i, firstTR, tr, table, thArr = [], tdArr = [], trArr = [];
			
			for(i = 0; i < cols; i ++) {
				thArr.push(th);
				tdArr.push(td);
			}
			
			firstTR = "<tr>" + th + thArr.join("") + "</tr>";
			tr = "<tr>" + th + tdArr.join("") + "</tr>";
			
			for(i = 0; i < rows; i ++) {
				trArr.push(tr);
			}
			
			table = "<table>" + firstTR + trArr.join("") + "</table>";
			
			return $(table);
		},
		
		_getRowHead: function() {
			var addrArr = [].concat(this.lxrArr || []);
			var srcArr = [];
			_.each(addrArr, function(lxr) {
			    if(lxr.equType == Const.EquType_SDI) {
			    	var addrName = lxr.addrName;
			    	var camInfo = _.extend({}, lxr);
			    	var vgaInfo = _.extend({}, lxr);
			    	
			    	if(lxr.camPort != Const.VidInPort_Cnt && lxr.vgaPort != Const.VidInPort_Cnt)
			    	{
			    		camInfo.addrName = addrName+" \r"+lxr.camName;
			    		camInfo.vgaPort = Const.VidInPort_Cnt;
			    		srcArr.push(camInfo);
			    		
			    		vgaInfo.addrName = addrName+" \r"+lxr.vgaName;
			    		vgaInfo.camPort = Const.VidInPort_Cnt;
			    		srcArr.push(vgaInfo);
			    	}
			 		else
			 		{
			 			srcArr.push(lxr);
			 		}
				}else{
					srcArr.push(lxr);
				}
			});
			
			srcArr.push({equType:Const.EquType_MP,addrName:"多画面"});
			srcArr.push({equType:Const.EquType_PLAYER,addrName:"播放器"});
			return srcArr;
		},
		_getColHead: function() {
/*			var dstArr = [{equType:Const.EquType_OUTPUT,dviPort:Const.VidOutPort_MBDVI1,addrName:"DVI1"},{equType:Const.EquType_OUTPUT,dviPort:Const.VidOutPort_MBDVI2,addrName:"DVI2"},
			{equType:Const.EquType_OUTPUT,dviPort:Const.VidOutPort_MBDVI3,addrName:"DVI3"},{equType:Const.EquType_OUTPUT,dviPort:Const.VidOutPort_MBDVI4,addrName:"DVI4"},
			{equType:Const.EquType_OUTPUT,dviPort:Const.VidOutPort_EXB1DVI1,addrName:"DVI5"},{equType:Const.EquType_OUTPUT,dviPort:Const.VidOutPort_EXB1DVI2,addrName:"DVI6"},
			{equType:Const.EquType_OUTPUT,dviPort:Const.VidOutPort_EXB1DVI3,addrName:"DVI7"},{equType:Const.EquType_OUTPUT,dviPort:Const.VidOutPort_EXB1DVI4,addrName:"DVI8"},
			{equType:Const.EquType_OUTPUT,dviPort:Const.VidOutPort_EXB2DVI1,addrName:"DVI9"},{equType:Const.EquType_OUTPUT,dviPort:Const.VidOutPort_EXB2DVI2,addrName:"DVI10"},
			{equType:Const.EquType_OUTPUT,dviPort:Const.VidOutPort_EXB2DVI3,addrName:"DVI11"},{equType:Const.EquType_OUTPUT,dviPort:Const.VidOutPort_EXB2DVI4,addrName:"DVI12"}];*/
			var dstArr = [].concat(this.options.dviArr || []);
			_.each(this.lxrArr || [], function(lxr) {
			    if(lxr.equType == Const.EquType_H323 || lxr.equType == Const.EquType_SIP) {
					dstArr.push(lxr);
				}  
			});
			
			return dstArr;
		},
		
		onRender: function() {
			this.stickit().fixCheckbox();
			//初始化视频矩阵表格
			this.addMatrix(this.getMatrixLxr());
		},
		//获取生成表格的联系人
		getMatrixLxr: function() {
			return this._getLxrDataById();
		},
		//表格行头和表格列头需要联系人
		_getLxrDataById: function() {
			var allLxr = this.options.allLxr;
			var venueIdArr = this.model.get("venueId");
			
			if(_.isEmpty(allLxr) || _.isEmpty(venueIdArr)) return [];
			
			return _.filter(allLxr, function(lxr) {
				return _.contains(venueIdArr, lxr.recordId);
			});
		},
		
		onDestroy: function() {
			Radio.channel("spjz").reset();
		}
	});
	
	return SpjzView;
});
Example #9
0
define(function(require) {
	var FormView = require("web/common/formView");
	
	var tmpl = require("text!web/index/pz/yppz/bzhy/bzhy_template.html");
	
	var BzhyView = FormView.extend({
		id: "pz_yppz_bzhy",
		template: tmpl,
		events: {
			"click .saveBtn" : "saveBzhy",
			"change [name=groupNum]" : "changeNum"
		},
		changeNum:function(){
			var self = this;
			this.model.fetch(this.model.getFetchOptions({
				groupNum: this._getNum()
			})).done(function() {
				self.renderData().initCheckboxClass().initRadioClass();
			});
		},
		saveBzhy: function() {
			this.model.set(this._getBzhy())
			.save()
			.done(function() {
				alert("保存成功!");
			})
			.fail(function() {
				alert("保存失败!");
			});
		},
		_getNum:function(){
			var $el = this.$el;
			return  +$el.find("[name=groupNum]:checked").val();
		},
		_getBzhy: function() {
			var $el = this.$el;
			var portArr = $el.find("[name=Mic]:checked").map(function() {
				return +this.value;
			}).get();
			
			return {
				groupNum: +$el.find("[name=groupNum]:checked").val(),
				inputNum: portArr.length,
				audInPort: portArr
			};
		},
		
		onRender: function() {
			this.renderData().fixRadio().fixCheckbox();
		},
		renderData: function() {
			var $el = this.$el;
			var model = this.model;
			var groupNum = model.get("groupNum");
			$el.find("[name=groupNum][value=" + groupNum + "]").prop("checked", true);
			var audInPort = model.get("audInPort");
			var $MICs = $el.find("[name=Mic]");
			$MICs.prop("checked", false);
			_.each(audInPort, function(port) {
				$MICs.filter("[value=" + port + "]").prop("checked", true);
			});
			return this;
		},
		onAttach: function() {
			this.activeLink();
		}
	});
	
	return BzhyView;
});
Example #10
0
define(function(require) {
	var FormView = require("web/common/formView");
	
	var tmpl = require("text!web/index/pz/yppz/jhtj/jhtj_template.html");
	
	var JhtjView = FormView.extend({
		id: "pz_yppz_jhtj",
		template: tmpl,
		
		events: {
			"click .saveBtn" : "saveJhtj",
			"change [name=outPort]" : "changeOutport"
		},
		changeOutport:function(){
			var self = this;
			this.model.fetch(this.model.getFetchOptions({
				outPort: this._getOutport()
			})).done(function() {
				self.renderData().refreshSlider();
			});
		},
		saveJhtj: function(e) {
			this.model.set({
				"eqGain": this._getCfgArg(),
				"outPort": this._getOutport()
			})
			.save()
			.done(function() {
				alert("保存成功!");
			})
			.fail(function() {
				alert("保存失败!");
			});
		},
		_getCfgArg: function() {
			return this.$(".slide-vertical-box").map(function() {
				return +$(this).find(".slider").slider("value");
			}).get();
		},
		
		onRender: function() {
			this.renderData().fixRadio().initSlider();
		},
		_getOutport:function(){
			var $el = this.$el;
			return  +$el.find("[name=outPort]:checked").val();
		},
		renderData: function() {
			var outPort = this.model.get("outPort");
			this.$el.find("[name=outPort][value=" + outPort + "]").prop("checked", true);
			
			var output = this.model.get("eqGain");
			this.$(".slide-vertical-box").each(function(i) {
				$(this).find(".sliderValue").text(output[i] || 0);
			});
			return this;
		},
		onAttach: function() { 
			this.activeLink();
		}
	});
	
	return JhtjView;
});
Example #11
0
define(function(require) {
	var FormView = require("web/common/formView");
	
	var tmpl = require("text!web/index/pz/yppz/bdsc/bdsc_template.html");
	
	var BdsrView = FormView.extend({
		id: "pz_yppz_bdsc",
		template: tmpl,
		
		events: {
			"click .btn-switch1": "toggleSwitch",
			"click .saveBtn" : "saveBdsc"
		},
		saveBdsc: function(e) {
			this.model.set({
				"volumeSingleOutPut": this._getOutput()
			})
			.save()
			.done(function() {
				alert("保存成功!");
			})
			.fail(function() {
				alert("保存失败!");
			});
		},
		_getOutput: function() {
			var $el = this.$el;
			return this.$(".slide-vertical-box").map(function(i) {
				var groupName = "out" + (i + 1);
				var $this = $(this);
				return {
					groupNum: +$el.find('[name=' + groupName + ']:checked').val(),
					enable: $this.find("[name=enable]").is(".active") ? 1 : 0,
					outVol: $this.find(".slider").slider("value")
				};
			}).get();
		},
		
		onRender: function() {
			this.renderData().fixRadio().initSlider();
		},
		renderData: function() {
			var output = this.model.get("volumeSingleOutPut");
			var $el = this.$el;
			this.$(".slide-vertical-box").each(function(i) {
				var curOut = output[i];
				var groupName = "out" + (i + 1);
				var groupNum = curOut.groupNum;
				var groupSelector = '[name=' + groupName + '][value=' + groupNum + ']';
				var $this = $(this);
				$el.find(groupSelector).prop("checked", true);
				curOut.enable && $this.find("[name=enable]").addClass("active");
				$this.find(".sliderValue").text(curOut.outVol || 0);
			});
			return this;
		},
		onAttach: function() {
			this.activeLink();
		}
	});
	
	return BdsrView;
});
Example #12
0
define(function(require) {
	var $ = require("jquery");
	var Radio = require("radio");
	var FormView = require("web/common/formView");
	var Handlebars = require("handlebars");
	
	var tmpl = require("text!web/index/wjll/file_template.html");
	
	var LxrShowView = FormView.extend({
		id: "wjll_file_list",
		template: Handlebars.compile(tmpl),
		
		events: {
			"change #checkAll": "checkAll",
			"click .playBtn": "playFile",
			"click .deleteBtn": "deleteFile",
			"click .downloadBtn": "downloadFile"
		},
		checkAll: function(e) {
			var isChecked = $(e.target).prop("checked");
			this.$("[type=checkbox]").prop("checked", isChecked);
			this.initCheckboxClass();
		},
		downloadFile:function(e){
			//e.preventDefault();
			var $tr = $(e.target).parents("tr");
			var path = $tr.data("path");
			//var fileName = "Alias0"+path.substr(path.lastIndexOf("\/"));
			var fileName = "Alias0"+path;
			var href = "downloadFile.psp?" + JSON.stringify({
				filePath: fileName
			});
			
			$(e.target).attr("href", href);
		},
		playFile: function(e) {
			e.preventDefault();
			var index = $(e.target).parents("tr").index() - 1;
			var model = this.collection.at(index);
			
			Radio.channel("wjll").command("playFile", {
				title: model.get("fileName"),
				path: model.get("filePath")
			});
		},
		deleteFile: function(e) {
            //单个文件删除
			e.preventDefault();
			var path = $(e.target).parents("tr").data("path");
			path = {srcPath: path};
			this._delete([path]);
		},
		batchDelete: function() {
            //多文件删除
			var pathArr = this.getSelectedFiles();
			pathArr = _.map(pathArr, function(path) {
				return { srcPath: path };
			});
			this._delete(pathArr);
		},
		_delete: function(pathInfo) {
			var self = this;
			$.getJSON("fileOperate.psp", JSON.stringify({
                fileNum: pathInfo.length,
                opCmd: 2,
                pathInfo: pathInfo
			})).done(function(res) {
				if(res.code === 0) {
					var curFileNum = self.getAllFileNum() - pathInfo.length;
					Radio.channel("wjll").command("deleteSearchFile", curFileNum);
				} else {
					alert("删除文件失败!");	
				}
			}).fail(function() {
				alert("删除文件失败!");
			});
		},
		getAllFileNum: function() {
            return self.$("[type=checkbox]").length - 1;    
		},
		getSelectedFiles: function() {
            return this.$("[type=checkbox]").slice(1).filter(":checked").map(function() {
                return $(this).parents("tr").data("path");
            }).get();    
		},
		
		fixTable: function() {
			var $table = this.$("table");
			var $trs = $table.find("tr");
			var length = $trs.length - 1;
			var $tr = $("<tr><td colspan='10'></td></tr>").css({height:44});
			while(length++ < 10) {
				$table.append($tr.clone());
			}
			$table.find("tr").slice(1).each(function(index, obj) {
				index % 2 === 0 ? obj.className="even" : obj.className="odd";
			});
		},
		
		onRender: function() {
			Radio.channel("fileList").comply("batchDelete", this.batchDelete, this);
			Radio.channel("fileList").reply("getSelectedFiles", this.getSelectedFiles, this);
			this.fixCheckbox().fixTable();
		},
		
		onDestroy: function() {
			Radio.channel("fileList").reset();
		}
	});
	
	return LxrShowView;
});
Example #13
0
define(function(require) {
	var $ = require("jquery");
	var Moment = require("moment");
	var Handlebars = require("handlebars");
	var Radio = require("radio");
	var FormView = require("web/common/formView");
	var tmpl = require("text!web/index/zkhy/ydyhy/ydyhy_add_form_template.html");
	
	var YdyhyAddFormView = FormView.extend({
		id: "ydyhy_add_form",
		template: Handlebars.compile(tmpl),
		ui: {
			yyrq_con: "#yyrq_container",
			jsrq_con: "#jsrq_container",
			yyrq: "#yyrq",
			jsrq: "#jsrq"
		},
		
		bindings: {
			"#name": "name",
			"#number": "number",
			"#desc": "desc",
			"#meetingType": "meetingType",
			"#tempRecordId": "tempRecordId",
			"#pwChairman": "pwChairman",
			"#yyrq": "yyrq",
			"#jsrq": "jsrq",
			"#tempRecordId": "tempRecordId",
			"#pwMeeting": "pwMeeting",
			
			"#bandwidth": {
				observe: "bandwidth",
				selectName: "bandwidth"
			}
		},
		
		events: {
			"click .saveBtn": "saveMeeting",
			"click .cancelBtn": "cancelMeeting"
		},
		saveMeeting: function(e) {
			e.preventDefault();
			var self = this;
			
			this.saveDateTimeDurationToModel();
			
			var yhzArr = Radio.channel("yhz").request("getYhzArr");
			
			this.model.set("venueId", yhzArr)
					  .save().done(function() {
						  self.saveSuccess();
					  }).fail(function() {
						  self.saveError();
					  });
		},
		saveSuccess: function() {
			this.cancelMeeting();
		},
		saveError: function() {
			alert("保存会议失败!");
		},
		cancelMeeting: function() {
			this.navigate("zkhy/showYdyhy", {trigger: true});
		},
		
		initialize: function() {
			this.setSelectBindings(this.bindings);
			
			this.listenTo(this.model, "change:tempRecordId", this.changeHymb);
			this.listenTo(this.model, "change:meetingType", this.changeHylx);
		},
		initYyrqAndJsrq: function() {
			this.model.set({
				yyrq: this.getYyrqString(),
				jsrq: this.getJsrqString()
			});
		},
		getYyrqMoment: function() {
			var date = this.model.get("date");
			var time = this.model.get("time");
			if(!date || !time){
				return Moment();
			}
			return Moment(date + " " + time);
		},
		getYyrqString: function() {
			var yyrqMoment = this.getYyrqMoment();
			if(yyrqMoment.isValid()) {
				return yyrqMoment.format("YYYY-MM-DD HH:mm");
			} else {
				return "";
			}
		},
		getJsrqString: function() {
			var duration = this.model.get("duration");
			var yyrqMoment = this.getYyrqMoment();
			if(yyrqMoment.isValid()) {
				yyrqMoment.add(duration, "minutes");
				return yyrqMoment.format("YYYY-MM-DD HH:mm");
			} else {
				return "";
			}
		},
		getDateTime: function() {
			var date, time;
			var yyrqDate = Moment(this.ui.yyrq.val());
			if(yyrqDate.isValid()) {
				date = yyrqDate.format("YYYY-MM-DD");
				time = yyrqDate.format("HH:mm:ss");
				return [date, time];
			}
		},
		getDuration: function() {
			var yyrqDate = Moment(this.ui.yyrq.val());
			var jsrqDate = Moment(this.ui.jsrq.val());
			if(yyrqDate.isValid() && jsrqDate.isValid()) {
				return jsrqDate.diff(yyrqDate, "minutes");
			}
		},
		saveDateTimeDurationToModel: function() {
			if(this.model.get("meetingType") != 1) return; //不是预约会议
			var datetime = this.getDateTime();
			var duration = this.getDuration();
			if(datetime && duration) {
				this.model.set({
					date: datetime[0],
					time: datetime[1],
					duration: duration
				});
			} else {
				alert("日期不合法!");
			}
		},
		getTempRecordId: function() {
			if(this.model.get("tempRecordId")) {
				return this.model.get("tempRecordId");
			} else {
				if(this.options.templateHelpers.allTemp && this.options.templateHelpers.allTemp.length>0)
				{
					var tempId = this.options.templateHelpers.allTemp[0].recordId;
					this.model.set("tempRecordId",tempId);
					return tempId;
				}
					
			}
			return -1;
		},
		changeHymb: function() {
			$.getJSON("getMeetingTempVenue.psp", JSON.stringify({
				recordId: this.getTempRecordId()
			})).done(function(yhzIdArr) {
				var venueId = [];
				if(yhzIdArr && yhzIdArr.data && yhzIdArr.data.venueId) {
					venueId = yhzIdArr.data.venueId;
				}
				Radio.channel("yhz").command("loadHymb", venueId);
			});
			return this;
		},
		changeHylx: function() {
			var hylx = this.model.get("meetingType");
			if(hylx === 1 || hylx === 0) { //预约会议
				this.ui.yyrq_con.show();
				this.ui.jsrq_con.show();
			} else {
				this.ui.yyrq_con.hide();
				this.ui.jsrq_con.hide();
			}
			if(hylx === 0)
			{
				this.ui.yyrq_con.prop("disabled", true).css({"opacity":0.5});
			}
			else
			{
				this.ui.yyrq_con.removeAttr("disabled").css({"opacity":1});
			}
			return this;
		},
		onRender: function() {
			if(this.model.isNew())
			{
				this.stickit().changeHymb();
			}
			else
			{
				Radio.channel("yhz").command("loadHymb", this.model.get("venueId"));
			}
			this.stickit().changeHylx();
		},
		onAttach: function() {
			this.selectmenu();
			this.initYyrqAndJsrq();
			$.timepicker.datetimeRange(
				this.ui.yyrq,
				this.ui.jsrq
			);
			
			if(!this.model.isNew()) {
				this.$("#name").prop("disabled", true).css({"opacity":0.5});
				this.$("#tempRecordId").selectmenu("option", "disabled", true);
			}
		},
	});
	
	return YdyhyAddFormView;
});
define(function(require) {
	var FormView = require("web/common/formView");
	var Radio = require("radio");
	var Const = require("web/common/const");
	var tmpl = require("text!web/index/zkhy/hymb/hymb_add_lylx_template.html");
	
	var LzbmView = FormView.extend({
		id: "hymb_add_lxly",
		template: tmpl,
		
		ui: {
			"equSrc": "#equSrc"
		},
		
		bindings: {
			"#enbRec":         "enbRec",
			
			"#camPort":        "equSrc.camPort",
			"#equType":        "equSrc.equType",
			"#recordId":       "equSrc.recordId",
			"#vgaPort":        "equSrc.vgaPort",
			//"#equSrc":         "equSrc",
			
			"#HD_enbHandle":   {
				observe: "vidHdCfg.enbHandle",
				visible: true,
				visibleFn: "showMore"
			},
			
			"#HD_enbStoreHd":  "vidHdCfg.enbStoreHd",
			"#HD_vidProt": {
				observe: "vidHdCfg.vidEncParam.vidProt",
				selectName: "recordVidProt"
			},
			"#HD_fmt": {
				observe: "vidHdCfg.vidEncParam.fmt",
				selectName: "vidFmt"
			},
			"#HD_frameRate": {
				observe: "vidHdCfg.vidEncParam.frameRate",
				selectName: "frameRate"
			},
			"#HD_bitRate": {
				observe: "vidHdCfg.vidEncParam.bitRate",
				selectName: "bandwidth"
			},
			"#HD_RTSP_enable": {
				observe: "vidHdCfg.vodServeParam.enable",
				visible: true,
				visibleFn: "disableText"
			},
			"#HD_RTSP_name":   "vidHdCfg.vodServeParam.name",
			"#HD_RTMP_enable": {
				observe: "vidHdCfg.pushDumpParam.enable",
				visible: true,
				visibleFn: "disableText"
			},
			"#HD_RTMP_url":    "vidHdCfg.pushDumpParam.url",
			
			"#SD_enbHandle":   {
				observe: "vidSdCfg.enbHandle",
				visible: true,
				visibleFn: "showMore"
			},
			
			"#SD_enbStoreHd":  "vidSdCfg.enbStoreHd",
			
			"#SD_vidProt": {
				observe: "vidSdCfg.vidEncParam.vidProt",
				selectName: "recordVidProt"
			},
			"#SD_fmt": {
				observe: "vidSdCfg.vidEncParam.fmt",
				selectName: "vidFmt"
			},
			"#SD_frameRate": {
				observe: "vidSdCfg.vidEncParam.frameRate",
				selectName: "frameRate"
			},
			"#SD_bitRate": {
				observe: "vidSdCfg.vidEncParam.bitRate",
				selectName: "bandwidth"
			},
			
			"#SD_RTSP_enable": {
				observe: "vidSdCfg.vodServeParam.enable",
				visible: true,
				visibleFn: "disableText"
			},
			"#SD_RTSP_name":   "vidSdCfg.vodServeParam.name",
			"#SD_RTMP_enable": {
				observe: "vidSdCfg.pushDumpParam.enable",
				visible: true,
				visibleFn: "disableText"
			},
			"#SD_RTMP_url":    "vidSdCfg.pushDumpParam.url",
			
			"#YP_enbHandle":   "audCfg.enbHandle",
			
			"#YP_audProt": {
				observe: "audCfg.audEncParam.audProt",
				selectName: "audProt"
			},
			"#YP_sampleRate": {
				observe: "audCfg.audEncParam.sampleRate",
				selectName: "sampleRate"
			},
			"#YP_bitRate": {
				observe: "audCfg.audEncParam.bitRate",
				selectName: "bitRate"
			},
			
			"#endShowTheme":   "osdCfg.endShowTheme",
			"#enbShowMark":    "osdCfg.enbShowMark",
			"#dispPos": {
				observe: "osdCfg.dispPos",
				selectName: "dispPos"
			},
			
			"#enbShowVolume":  "osdCfg.enbShowVolume",
			"#volPos": {
				observe: "osdCfg.volPos",
				selectName: "dispPos"
			},
			"#enbShowCaption": "osdCfg.enbShowCaption",
			
			"#capPos": {
				observe: "osdCfg.capPos",
				selectName: "captionPos"
			},
			"#scrollSpeed": {
				observe: "osdCfg.scrollSpeed",
				selectName: "scrollSpeed"
			},
			
			"#caption":        "osdCfg.caption"
		},
		
		showMore: function($el, isVisible) {
			var $nextFieldBox = $el.parents(".fieldBox").eq(0).next(".fieldBox");
			isVisible && $nextFieldBox.slideDown() || $nextFieldBox.slideUp();
		},
		
		disableText: function($el, isVisible) {
			if(isVisible) {
				$el.next().next().removeClass("disabled").prop("disabled", false);
			} else {
				$el.next().next().addClass("disabled").prop("disabled", true);
			}
		},
		
		events: {
			"click .btn-switch6": "toggleSwitch",
			"change @ui.equSrc": "getSelectEquSrc"
		},
		toggleSwitch: function(e) {
			$(e.target).toggleClass("active").parents(".fieldBox").eq(0).next(".fieldBox").slideToggle();
		},
		getSelectEquSrc: function() {
			var lxr = this.ui.equSrc.find("option:selected").data();
			if(_.isEmpty(lxr)) return;
			this.model.set({
				"equSrc.camPort": lxr.camPort,
				"equSrc.equType": lxr.equType,
				"equSrc.recordId": lxr.recordId,
				"equSrc.vgaPort": lxr.vgaPort
			});
		},
		setSelectEquSrc: function() {
			var lxr = _.pick(this.model.toJSON(), "equSrc.camPort", "equSrc.equType", "equSrc.recordId", "equSrc.vgaPort");
			var isMatch = false;
			this.ui.equSrc.find("option").each(function() {
				var $this = $(this);
				var optData = $this.data();
				if((lxr["equSrc.camPort"] === optData["camPort"] || lxr["equSrc.vgaPort"] === optData["vgaPort"])  &&
					lxr["equSrc.equType"] === optData["equType"] &&
					lxr["equSrc.recordId"] === optData["recordId"]) {
						isMatch = true;
						$this.attr("selected", true);
						return;
				}
				/*if(lxr["equSrc.equType"] == Const.EquType_SDI)
				{
					if(lxr["equSrc.recordId"] === optData["recordId"])
					{
						if(lxr["equSrc.camPort"] != Const.VidInPort_Cnt && lxr["equSrc.camPort"] == optData["camPort"])
		    			{
		    				isMatch = true;
							$this.attr("selected", true);
							return;
		    			}
		    			
		    			if(lxr["equSrc.vgaPort"] != Const.VidInPort_Cnt && lxr["equSrc.vgaPort"] == optData["vgaPort"])
		    			{
		    				isMatch = true;
							$this.attr("selected", true);
							return;
		    			}
					}
				}
				else
				{
					if(lxr["equSrc.camPort"] === optData["camPort"] &&
					lxr["equSrc.equType"] === optData["equType"] &&
					lxr["equSrc.recordId"] === optData["recordId"] &&
					lxr["equSrc.vgaPort"] === optData["vgaPort"]) {
						isMatch = true;
						$this.attr("selected", true);
						return;
					}
				}*/
				
			});
			if(!isMatch) {
				this.ui.equSrc.get(0).selectedIndex = 0;
				this.getSelectEquSrc();
			}
		},
		
		initialize: function() {
			this.setSelectBindings(this.bindings);
		},
		
		addVidSrc: function(lxrArr) {
			this.ui.equSrc.append(this._getOptions(lxrArr)).selectmenu("refresh");
		},
		_getOptions: function(lxrArr) {
			if(_.isEmpty(lxrArr)) return;
			
			var $option = $('<option></option>');
			var $curOption,$vgaOption;
			var self = this;
			var srcArr = [];
			_.each(lxrArr, function(lxr) {
			    if(lxr.equType == Const.EquType_SDI) {
			    	var addrName = lxr.addrName;
			    	var camInfo = _.extend({}, lxr);
			    	var vgaInfo = _.extend({}, lxr);
			    	
			    	if(lxr.camPort != Const.VidInPort_Cnt && lxr.vgaPort != Const.VidInPort_Cnt)
			    	{
			    		camInfo.addrName = addrName+" \r"+lxr.camName;
			    		camInfo.vgaPort = Const.VidInPort_Cnt;
						srcArr.push(self._getOption($curOption,camInfo));
			    		
			    		vgaInfo.addrName = addrName+" \r"+lxr.vgaName;
			    		vgaInfo.camPort = Const.VidInPort_Cnt;
						srcArr.push(self._getOption($vgaOption,vgaInfo));
			    	}
			 		else
			 		{
			 			srcArr.push(self._getOption($curOption,lxr));
			 		}
				}else{
					
					srcArr.push(self._getOption($curOption,lxr));
				}
			});
			return srcArr;
		},
		
		_getOption:function($curOption,lxr)
		{
			var $option = $('<option></option>');
			$curOption = $option.clone();
			$curOption.data(lxr);
			$curOption.text(lxr.addrName);
			return $curOption;
		},
		
		subVidSrc: function(lxrArr) {
			if(_.isEmpty(lxrArr)) return;
			
			var self = this;
			this.ui.equSrc.children().each(function() {
				var $this = $(this);
				var lxrObj = $this.data();
				if(self._isLxrInArr(lxrObj, lxrArr)) {
					$this.remove();
				}
			}).end().selectmenu("refresh");
		},
		
		_isLxrInArr: function(lxrObj, lxrArr) {
			var equType = lxrObj.equType;
			var recordId = lxrObj.recordId;
			
			return _.some(lxrArr, function(lxr) {
				if(equType === Const.EquType_PLAYER )
				{
					return true;
				}
				if(equType === lxr.equType)
				{
					if(equType == Const.EquType_SDI)
					{
						if(recordId === lxr.recordId)
						{
							if(lxrObj.camPort != Const.VidInPort_Cnt && lxrObj.camPort == lxr.camPort)
			    			{
			    				return true;
			    			}
			    			
			    			if(lxrObj.vgaPort != Const.VidInPort_Cnt && lxrObj.vgaPort == lxr.vgaPort)
			    			{
			    				return true;
			    			}
						}
					}
					else
					{
						if(recordId === lxr.recordId)
						{
							return true;
						}
					}
				}
				return false;
//				if(equType === lxr.equType && (equType === Const.EquType_PLAYER || recordId === lxr.recordId)) {
//					return true;
//				}
			});
			
//			return _.some(lxrArr, function(lxr) {
//				if(equType === lxr.equType && (equType === Const.EquType_MP || recordId === lxr.recordId)) {
//					return true;
//				}
//			});
		},
		
		onRender: function() {
			//注册事件放在这里而不是initialize方法中是因为
			//先调用了initialize方法,后调用了destroy方法
			//这样导致卸载了所有事件,因为Radio事件是全局的
			Radio.channel("yhz").on("addLxr", this.addVidSrc, this);
			Radio.channel("yhz").on("subLxr", this.subVidSrc, this);
			
			this.stickit().fixCheckbox();
			this.ui.equSrc.append(this._getOptions(this._getVidSrcArr()));
			this.setSelectEquSrc();
		},
		_getVidSrcArr: function() {
			return [{equType: Const.EquType_MP, addrName: "多画面"}].concat(this.options.vidSrcArr);
		},
		
		onAttach: function() {
			this.selectmenu();
		},
		
		onDestroy: function() {
			Radio.channel("yhz").off("addLxr", this.addVidSrc);
			Radio.channel("yhz").off("subLxr", this.subVidSrc);
		}
	});
	
	return LzbmView;
});