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; });
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; });
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; });
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; });
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; });
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; });
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; });
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; });
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; });
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; });
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; });
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; });