| | |
| | | var CMD_61850_HR = 37; //启动核容测试
|
| | | var CMD_61850_RES = 50; //启动内阻测试
|
| | |
|
| | | var CMD_61850_START = 81; //启动测试
|
| | | var CMD_61850_STOP = 83; //停止测试
|
| | | var CMD_61850_SETPARAM = 40; //设置参数
|
| | | var CMD_61850_GETPARAM = 41; //获取参数
|
| | |
|
| | |
|
| | |
|
| | | var dev_61850_workstates = ["在线浮充","预充电","核容测试","停电放电","内阻测试","K1/D1测试"];
|
| | | var dev_61850_alarmstates = ["继电器K1告警","通讯告警","设备过温告警","二极管D1告警"];
|
| | |
|
| | | var equip61850Btn = {
|
| | | disabled: function() {
|
| | | $('#equip61850_btn_start_test').addClass('whyc-btn-disabled');
|
| | | $('#equip61850_btn_ensure').addClass('whyc-btn-disabled');
|
| | | },
|
| | | active:function() {
|
| | | $('#equip61850_btn_start_test').removeClass('whyc-btn-disabled');
|
| | | $('#equip61850_btn_ensure').removeClass('whyc-btn-disabled');
|
| | | },
|
| | | startTest:function(param) {
|
| | | if(param) {
|
| | | $('#equip61850_btn_start_test').removeClass('whyc-btn-disabled'); // 启动测试可以点击
|
| | | }else {
|
| | | $('#equip61850_btn_start_test').addClass('whyc-btn-disabled'); // 启动测试无效
|
| | | }
|
| | | },
|
| | | ensure: function(param) {
|
| | | if(param) {
|
| | | $('#equip61850_btn_ensure').removeClass('whyc-btn-disabled'); // 设置参数可以点击
|
| | | }else {
|
| | | $('#equip61850_btn_ensure').addClass('whyc-btn-disabled'); // 设定参数无效
|
| | | }
|
| | | },
|
| | | flush: function(param) {
|
| | | if(param) {
|
| | | $('#equip61850_btn_flush').removeClass('whyc-btn-disabled'); // 设置参数可以点击
|
| | | }else {
|
| | | $('#equip61850_btn_flush').addClass('whyc-btn-disabled'); // 设定参数无效
|
| | | }
|
| | | }
|
| | | };
|
| | |
|
| | | // 61850数据校验
|
| | | $(function() {
|
| | | // 放电电流
|
| | | $('#equip61850_discharge_curr').testVal({
|
| | | pattern: /^[0-9]{1,3}$/,
|
| | | regVal: true,
|
| | | min: 1,
|
| | | max: 300,
|
| | | msg: '取值范围1~300(整数)'
|
| | | });
|
| | | |
| | | // 放电时长
|
| | | $('#equip61850_dis_time').testVal({
|
| | | pattern: /^[0-9]{1,4}$/,
|
| | | regVal: true,
|
| | | min: 1,
|
| | | max: 10000,
|
| | | msg: '取值范围1~10000(整数)'
|
| | | });
|
| | | |
| | | // 放电电容
|
| | | $('#equip61850_dis_cap').testVal({
|
| | | pattern: /^[0-9]{1,4}$/,
|
| | | regVal: true,
|
| | | min: 1,
|
| | | max: 2000,
|
| | | msg: '取值范围1~2000(整数)'
|
| | | });
|
| | | |
| | | // 单体温度上限(保留一位小数)
|
| | | $('#equip61850_dcdc_tmp_dis').testVal({
|
| | | pattern: /^[0-9]{1,2}(\.[0-9]{0,1})?$/,
|
| | | regVal: true,
|
| | | min: 10,
|
| | | max: 60,
|
| | | msg: '取值范围10~60(保留一位小数)'
|
| | | });
|
| | | |
| | | // 组端电压下限(保留两位小数)
|
| | | $('#equip61850_group_vol_low').testVal({
|
| | | pattern: /^[0-9]{1,2}(\.[0-9]{0,1})?$/,
|
| | | regVal: true,
|
| | | min: 43,
|
| | | max: 54,
|
| | | msg: '取值范围43.0~54.0(保留一位小数)'
|
| | | });
|
| | | |
| | | // 单体电压下限(保留三位小数)
|
| | | $('#equip61850_mon_vol_low').testVal({
|
| | | pattern: /^[0-9]{1,2}(\.[0-9]{0,2})?$/,
|
| | | regVal: true,
|
| | | min: 1.8,
|
| | | max: 2.25,
|
| | | msg: '取值范围1.80~2.25(保留两位小数)'
|
| | | });
|
| | | |
| | | // 修改放电电流
|
| | | $('#equip61850_discharge_curr').on('input propertychange', function() {
|
| | | var curr = $(this).val();
|
| | | var batt = getBatt();
|
| | | $('#equip61850_advise_dis_cap').text(get10HCap(batt.MonCapStd, curr));
|
| | | $('#equip61850_advise_work_curr').text(getNegPoleVol(mygraph.online, mygraph.group, curr));
|
| | | });
|
| | | |
| | | // 获取61850面板的所有文本框
|
| | | $('#equip61850').on('input propertychange', 'input[type=text]', function() {
|
| | | set61850PopupStatus($(this).attr('id'), $(this).val());
|
| | | });
|
| | | |
| | | // 获取61850面板的所有的下拉框
|
| | | $('#equip61850').on('change', 'select', function() {
|
| | | set61850PopupStatus($(this).attr('id'), $(this).val());
|
| | | });
|
| | | |
| | | // 检测KD测试关闭
|
| | | $('#equip61850_discharge_type').on('change', function() {
|
| | | set61850KDParams();
|
| | | });
|
| | | });
|
| | |
|
| | |
|
| | |
|
| | | /**
|
| | | * 获取LD9设备的告警类型
|
| | | * @param {} str
|
| | | */
|
| | | function getAlarmStr(str){
|
| | | var alarm_str = "";
|
| | | var alarm_count= 0;
|
| | | if(str != undefined){ |
| | | var arr = str.split(",");
|
| | | //console.info(arr);
|
| | | for(var i=0;i<arr.length;i++){
|
| | | if(arr[i] == 'true'){
|
| | | alarm_count++;
|
| | | alarm_str += (alarm_count>0?",":"")+dev_61850_alarmstates[i]
|
| | | }
|
| | | }
|
| | | }
|
| | | |
| | | if(alarm_count == 0) {
|
| | | alarm_str = '无';
|
| | | }
|
| | | return alarm_str;
|
| | | }
|
| | |
|
| | | // 查询61850设备信息
|
| | | function search61850Infor(temp) {
|
| | | loading.showLoading();
|
| | | $.ajax({ |
| | | type: "post", |
| | | //url: "BTS_61850_setparamAction_61850action_serchByCondition", |
| | | url: "Fbs9100_setparamAction_action_serchByCondition",
|
| | | async:true, |
| | | dataType:'text',
|
| | | data:"json="+JSON.stringify(temp), |
| | | success: function(data){ |
| | | data = eval('('+data+')');
|
| | | var model = eval('('+data.result+')');
|
| | | if(model.data!=undefined && model.data.length>0){
|
| | | if(model.code == 0){
|
| | | noContent.showNoContent("读取放电参数失败!");
|
| | | initPopup(equip61850_popup, true);
|
| | | }else{
|
| | | initPopup(equip61850_popup);
|
| | | }
|
| | | var arrtd = new Array();
|
| | | for(var i = 0;i<model.data.length;i++){
|
| | | battlist.push(model.data[i].binf);
|
| | | arrtd.push(model.data[i].binf.StationName); //机房名称
|
| | | arrtd.push(model.data[i].binf.BattGroupName); //电池组名称
|
| | | arrtd.push(model.data[i].binf.FBSDeviceId); //设备id
|
| | | arrtd.push(model.data[i].binf.GroupIndexInFBSDevice+1); //被测电池组号
|
| | | if(model.data[i].fsparam.TestCmd == CMD_61850_RES){ |
| | | arrtd.push('内阻测试'); //设定测试类型
|
| | | }else{
|
| | | arrtd.push('核容测试');
|
| | | }
|
| | | arrtd.push(model.data[i].fsparam.DisCurr); //设定测试电流
|
| | | arrtd.push('已停止'); //工作状态
|
| | | arrtd.push(formatSeconds(0)); //已测时长
|
| | | arrtd.push(model.data[i].fstate.dev_commcount); //通信计数
|
| | | var temp = {
|
| | | dev_id:model.data[i].binf.FBSDeviceId,
|
| | | battgroupid:model.data[i].binf.BattGroupId,
|
| | | batt_index:model.data[i].binf.GroupIndexInFBSDevice+1,
|
| | | stationname:model.data[i].binf.StationName,
|
| | | battgroupname:model.data[i].binf.BattGroupName
|
| | | };
|
| | | RecordUserDev(temp); //记录用户添加的设备
|
| | | } |
| | | addFullTr($('.tbl-header'), $('.tbl-body'), arrTh, arrtd);
|
| | | }
|
| | | if(model.code == 1){
|
| | | set61850DevTableTdValue(); //获取参数成功时将获取到的参数设置到表格中
|
| | | }
|
| | | set61850Param(model.data,(model.code == 0));
|
| | | |
| | | equip61850_popup.showPopup(); |
| | | loading.hideLoading();
|
| | | },
|
| | | error:function(){
|
| | | noContent.showNoContent("读取放电参数失败!");
|
| | | loading.hideLoading();
|
| | | } |
| | | });
|
| | | }
|
| | |
|
| | | // 设置61850设备的面板内容
|
| | | function set61850Param(list, errorStatus) {
|
| | | var batt = getBatt();
|
| | | if(list != undefined && list.length > 0){
|
| | | var advise_discharge_curr = list[0].binf.Load_curr<=5?4:list[0].binf.Load_curr-3;
|
| | | var param = list[0].fsparam;
|
| | | $('#equip61850_discharge_curr').val(param.DisCurr); //放电电流
|
| | | $('#equip61850_advise_discharge_curr').text(advise_discharge_curr); // 放电电流建议值
|
| | | $('#equip61850_dis_time').val(param.DisTime); //放电时长
|
| | | $('#equip61850_dis_cap').val(param.DisCap); //放电容量
|
| | | $('#equip61850_dcdc_tmp_dis').val(param.MonomerTmp_High); //单体温度上限
|
| | | $('#equip61850_group_vol_low').val(param.GroupVol_Low); //组端电压上限
|
| | | $('#equip61850_mon_vol_low').val(param.MonomerVol_Low); //单体电压下限
|
| | | //$('#equip61850_MonomerlowCount').val(param.MonomerLowCount); // 单体下限数量
|
| | | $('#equip61850_DCVolHighLimit').val(param.DCVolHighLimit); // 单体升压上限
|
| | | $('#equip61850_ChargeCurrSet').val(param.ChargeCurrSet); // 充电电流
|
| | | // 选择测试类型下拉列表
|
| | | changeSelected($('#equip61850_discharge_type'), param.TestCmd);
|
| | | // 设置核容容量的预估值
|
| | | $('#equip61850_advise_dis_cap').text(get10HCap(batt.MonCapStd, param.DisCurr));
|
| | | //console.info($('#equip61850_discharge_type').data());
|
| | | set61850KDParams(); // 设置KD测试时参数的样式
|
| | | // 设置61805面板的设备工作电流
|
| | | var curr = $('#equip61850_discharge_curr').val();
|
| | | $('#equip61850_advise_work_curr').text(getNegPoleVol(mygraph.online, mygraph.group, curr))
|
| | | }
|
| | | }
|
| | | //根据机房名称查询机房下的电池组信息
|
| | | function search61850BattInfoByStation(temp){
|
| | | //获取当前选中的行号
|
| | | //var index = $('#main .tbl-body tbody tr.active').index();
|
| | | //var temp = tabList[index]; //获取当前选中的电池组
|
| | | //console.info(temp);
|
| | | $.ajax({ |
| | | type: "post", |
| | | url: "BattInfAction!serchByBattGroupName", |
| | | async:true, |
| | | dataType:'json',
|
| | | data:"bif.StationName1=&bif.StationName="+temp.binf.StationName,
|
| | | success:function(data){
|
| | | var model = eval("("+data.result+")");
|
| | | if(model.code == 1){
|
| | | DevBattInfo = model.data;
|
| | | $('#equip61850Battgroupname').text('');
|
| | | for(var i=0;i<model.data.length;i++){
|
| | | var batt = model.data[i];
|
| | | var $option = $("<option></option>");
|
| | | $option.text(batt.StationName+":"+batt.BattGroupName+"-"+batt.MonCount+"节");
|
| | | $option.attr("batt_number",batt.GroupIndexInFBSDevice+1);
|
| | | $option.attr("battgroupid",batt.BattGroupId);
|
| | | $option.attr("value",batt.BattGroupId);
|
| | | $option.attr("batt_name",batt.BattGroupName);
|
| | | if(temp.binf.BattGroupId == batt.BattGroupId){ |
| | | $option.attr("selected",true); //默认选中当前选中的电池组 |
| | | $('#equip61850_dev_id').val(batt.FBSDeviceId);
|
| | | $('#equip61850_battgropunum').val(batt.GroupIndexInFBSDevice + 1);
|
| | | $('#equip61850_dev_battgroup_property').val("单体数量:"+batt.MonCount+";电压(V):"+batt.MonVolStd+";容量(AH):"+batt.MonCapStd);
|
| | | } |
| | | $('#equip61850Battgroupname').append($option);
|
| | | }
|
| | | setDischageBattinfo(temp.fstate.dev_testgroupnum);
|
| | | |
| | | }
|
| | | },
|
| | | error:function(){
|
| | | |
| | | }
|
| | | });
|
| | | }
|
| | |
|
| | | //当获取参数成功的时候更新表格中的部分参数值
|
| | | function set61850DevTableTdValue(){
|
| | | $('#main .tbl-body tbody tr').each(function(i){
|
| | | var dev_id = $(this).find('td').eq(2).text();
|
| | | if(dev_id == $('#equip61850_dev_id').val()){
|
| | | $(this).find('td').eq(1).text($('#equip61850Battgroupname option:selected').attr('batt_name'));
|
| | | $(this).find('td').eq(3).text($('#equip61850_battgropunum').val());
|
| | | $(this).find('td').eq(4).text($('#equip61850_discharge_type').find("option:selected").text());
|
| | | $(this).find('td').eq(5).text($('#equip61850_discharge_curr').val());
|
| | | |
| | | $('#main .tbl-header tbody tr').eq(i).find('td').eq(1).text($('#equip61850Battgroupname option:selected').attr('batt_name'));
|
| | | $('#main .tbl-header tbody tr').eq(i).find('td').eq(3).text($('#equip61850_battgropunum').val());
|
| | | $('#main .tbl-header tbody tr').eq(i).find('td').eq(4).text($('#equip61850_discharge_type').find("option:selected").text());
|
| | | $('#main .tbl-header tbody tr').eq(i).find('td').eq(5).text($('#equip61850_discharge_curr').val());
|
| | | }
|
| | | });
|
| | | }
|
| | |
|
| | | //获取设备的测试参数等
|
| | | function search61850TestParam(temp){
|
| | | var is_showAlert = (arguments.length==1);
|
| | | loading.showLoading();
|
| | | $.ajax({ |
| | | type: "post", |
| | | url:"Fbs9100_setparamAction_action_serchbyDev_id",
|
| | | async:true, |
| | | dataType:'text',
|
| | | data:"json="+JSON.stringify(temp), |
| | | success: function(data){ |
| | | data = eval('('+data+')');
|
| | | var model = eval('('+data.result+')');
|
| | | |
| | | if(model.code == 1 && model.data != undefined && model.data.length>0){
|
| | | set61850Param(model.data, false);
|
| | | if(is_showAlert){ |
| | | noContent.showNoContent("获取测试参数成功", true);
|
| | | }
|
| | | initPopup(equip61850_popup);
|
| | | set61850PopupStatus();
|
| | | set61850DevTableTdValue();
|
| | | }else{
|
| | | if(model.data != undefined && model.data.length>0){
|
| | | set61850Param(model.data, true);
|
| | | }
|
| | | initPopup(equip61850_popup, true);
|
| | | noContent.showNoContent("获取测试参数失败");
|
| | | }
|
| | | loading.hideLoading(); |
| | | },
|
| | | error:function(){
|
| | | initPopup(equip61850_popup, true);
|
| | | noContent.showNoContent("获取测试参数失败");
|
| | | loading.hideLoading();
|
| | | //LD9_popup.showPopup(); |
| | | } |
| | | }); |
| | | }
|
| | |
|
| | | //更新61850测试参数
|
| | | function update61850TestParam(){
|
| | | var param = getTestParam();
|
| | | loading.showLoading();
|
| | | $.ajax({ |
| | | type: "post", |
| | | url:"Fbs9100_setparamAction_action_update61850Param",
|
| | | async:true, |
| | | dataType:'text',
|
| | | data:"json="+JSON.stringify(param), |
| | | success: function(data){ |
| | | data = eval('('+data+')');
|
| | | var model = eval('('+data.result+')');
|
| | | //console.info(model);
|
| | | if(model.code == 1){ |
| | | noContent.showNoContent("修改测试参数成功", true);
|
| | | var temp = {
|
| | | num:CMD_61850_GETPARAM,
|
| | | dev_id:param.dev_id
|
| | | };
|
| | | search61850TestParam(temp,true); //重新读取一次测试参数
|
| | | set61850DevTableTdValue(); //更新表格中的参数
|
| | | }else{
|
| | | noContent.showNoContent("修改测试参数失败");
|
| | | }
|
| | | loading.hideLoading(); |
| | | },
|
| | | error:function(){
|
| | | noContent.showNoContent("修改测试参数失败");
|
| | | loading.hideLoading(); |
| | | } |
| | | });
|
| | | }
|
| | |
|
| | | //发送指定的命令给61850设备 (启动,停止)
|
| | | function sendCmdTo61850Dev(temp){
|
| | | //console.info(temp);
|
| | | $.ajax({ |
| | | type: "post", |
| | | //url:"BTS_61850_setparamAction_61850action_updateCMd",
|
| | | url:"Fbs9100_setparamAction_action_serchbyDev_id",
|
| | | async:true, |
| | | dataType:'text',
|
| | | data:"json="+JSON.stringify(temp), |
| | | success: function(data){ |
| | | data = eval('('+data+')');
|
| | | var model = eval('('+data.result+')');
|
| | | //console.info(model);
|
| | | if(model.code == 1 ){ |
| | | show61850Content(temp.num,true);
|
| | | }else{ |
| | | show61850Content(temp.num,false);
|
| | | }
|
| | | loading.hideLoading(); |
| | | },
|
| | | error:function(){
|
| | | show61850Content(temp.num,false);
|
| | | loading.hideLoading();
|
| | | //LD9_popup.showPopup(); |
| | | } |
| | | });
|
| | | }
|
| | |
|
| | | //显示不同的提示框
|
| | | function show61850Content(cmd,issuccess){
|
| | | if(cmd == CMD_61850_START){
|
| | | if(issuccess){
|
| | | noContent.showNoContent("启动测试成功", true);
|
| | | }else{
|
| | | noContent.showNoContent("启动测试失败");
|
| | | }
|
| | | }else if(cmd == CMD_61850_STOP){
|
| | | if(issuccess){
|
| | | noContent.showNoContent("停止测试成功", true);
|
| | | }else{
|
| | | noContent.showNoContent("停止测试失败");
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | //根据面板中的数据获取测试参数
|
| | | function getTestParam(){
|
| | | var param = {
|
| | | num:CMD_61850_SETPARAM,
|
| | | dev_id:$('#equip61850_dev_id').val(),
|
| | | TestCmd:$('#equip61850_discharge_type').val(),
|
| | | DisCap:$('#equip61850_dis_cap').val(),
|
| | | DisCurr:$('#equip61850_discharge_curr').val(),
|
| | | DisTime:$('#equip61850_dis_time').val(),
|
| | | GroupVol_Low:$('#equip61850_group_vol_low').val(),
|
| | | MonomerVol_Low:$('#equip61850_mon_vol_low').val(),
|
| | | MonomerTmp_High:$('#equip61850_dcdc_tmp_dis').val()
|
| | | };
|
| | | return param;
|
| | | }
|
| | |
|
| | | // 根据文本框内容设置61850的按钮状态
|
| | | function set61850PopupStatus(id, val) {
|
| | | var textList = equip61850_popup.popup.find('input[type=text]');
|
| | | var selectList = equip61850_popup.popup.find('.popup-tbl select');
|
| | | var initData = equip61850_popup.popup.data().attr;
|
| | | var errorStatus = equip61850_popup.popup.data().errorStatus; // 获取是否读取参数失败
|
| | | |
| | | // 读取设备参数失败
|
| | | if(errorStatus) {
|
| | | equip61850Btn.disabled();
|
| | | return false; // 结束函数运行
|
| | | }
|
| | | |
| | | // 遍历面板下的所有文本框查看是否有错误数据
|
| | | var isDisabled = false;
|
| | | textList.each(function() {
|
| | | if($(this).hasClass('error-data')) {
|
| | | isDisabled = true;
|
| | | }
|
| | | });
|
| | | |
| | | // 存在错误的数据
|
| | | if(isDisabled) {
|
| | | equip61850Btn.disabled();
|
| | | return false; // 结束函数运行
|
| | | }else {
|
| | | equip61850Btn.active();
|
| | | }
|
| | | |
| | | // 判断下拉选项中是否有符合后台数据的值
|
| | | var existOpt = false;
|
| | | // 遍历面板表格中的下拉框
|
| | | for(var k=0; k<selectList.length; k++) {
|
| | | existOpt = false;
|
| | | var _realVal = selectList.eq(0).data('value');
|
| | | var _opts = selectList.eq(0).find('option');
|
| | | // 遍历下拉框中选项是否有和后台匹配的值
|
| | | for(var i=0; i<_opts.length; i++) {
|
| | | if(_opts.eq(i).val() == _realVal) {
|
| | | existOpt = true;
|
| | | break;
|
| | | }
|
| | | }
|
| | | |
| | | // 后台传输的值没有存在下拉选项中
|
| | | if(!existOpt) {
|
| | | break;
|
| | | }
|
| | | }
|
| | | |
| | | // 在面板中存在没有匹配到后台传输的下拉框
|
| | | if(!existOpt) {
|
| | | equip61850Btn.startTest(false);
|
| | | return false; // 结束函数运行
|
| | | }
|
| | | |
| | | // 遍历对比当前文本框的数据和原始数据是否一致
|
| | | for(var i=0; i<initData.length;i++) {
|
| | | // 遍历查询到当前的文本框
|
| | | if(initData[i].id == id) {
|
| | | if(initData[i].val == val) {
|
| | | equip61850Btn.active();
|
| | | }else {
|
| | | equip61850Btn.startTest(false);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | // 检测是否为KD测试,并设置参数是否可以设定
|
| | | function set61850KDParams() {
|
| | | var test_type = $('#equip61850_discharge_type').val();
|
| | | var groupParams = $('#equip61850 .group-params');
|
| | | // 测试模式为KD测试
|
| | | if(test_type == 72 || test_type == 50) {
|
| | | groupParams.attr('readonly', 'readonly');
|
| | | }else {
|
| | | groupParams.attr('readonly', false);
|
| | | }
|
| | | var CMD_61850_HR = 37; //启动核容测试 |
| | | var CMD_61850_RES = 50; //启动内阻测试 |
| | | |
| | | var CMD_61850_START = 81; //启动测试 |
| | | var CMD_61850_STOP = 83; //停止测试 |
| | | var CMD_61850_SETPARAM = 40; //设置参数 |
| | | var CMD_61850_GETPARAM = 41; //获取参数 |
| | | |
| | | |
| | | |
| | | var dev_61850_workstates = ["在线浮充","预充电","核容测试","停电放电","内阻测试","K1/D1测试"]; |
| | | var dev_61850_alarmstates = ["继电器K1告警","通讯告警","设备过温告警","二极管D1告警"]; |
| | | |
| | | var equip61850Btn = { |
| | | disabled: function() { |
| | | $('#equip61850_btn_start_test').addClass('whyc-btn-disabled'); |
| | | $('#equip61850_btn_ensure').addClass('whyc-btn-disabled'); |
| | | }, |
| | | active:function() { |
| | | $('#equip61850_btn_start_test').removeClass('whyc-btn-disabled'); |
| | | $('#equip61850_btn_ensure').removeClass('whyc-btn-disabled'); |
| | | }, |
| | | startTest:function(param) { |
| | | if(param) { |
| | | $('#equip61850_btn_start_test').removeClass('whyc-btn-disabled'); // 启动测试可以点击 |
| | | }else { |
| | | $('#equip61850_btn_start_test').addClass('whyc-btn-disabled'); // 启动测试无效 |
| | | } |
| | | }, |
| | | ensure: function(param) { |
| | | if(param) { |
| | | $('#equip61850_btn_ensure').removeClass('whyc-btn-disabled'); // 设置参数可以点击 |
| | | }else { |
| | | $('#equip61850_btn_ensure').addClass('whyc-btn-disabled'); // 设定参数无效 |
| | | } |
| | | }, |
| | | flush: function(param) { |
| | | if(param) { |
| | | $('#equip61850_btn_flush').removeClass('whyc-btn-disabled'); // 设置参数可以点击 |
| | | }else { |
| | | $('#equip61850_btn_flush').addClass('whyc-btn-disabled'); // 设定参数无效 |
| | | } |
| | | } |
| | | }; |
| | | |
| | | // 61850数据校验 |
| | | $(function() { |
| | | // 放电电流 |
| | | $('#equip61850_discharge_curr').testVal({ |
| | | pattern: /^[0-9]{1,3}$/, |
| | | regVal: true, |
| | | min: 1, |
| | | max: 300, |
| | | msg: '取值范围1~300(整数)' |
| | | }); |
| | | |
| | | // 放电时长 |
| | | $('#equip61850_dis_time').testVal({ |
| | | pattern: /^[0-9]{1,4}$/, |
| | | regVal: true, |
| | | min: 1, |
| | | max: 10000, |
| | | msg: '取值范围1~10000(整数)' |
| | | }); |
| | | |
| | | // 放电电容 |
| | | $('#equip61850_dis_cap').testVal({ |
| | | pattern: /^[0-9]{1,4}$/, |
| | | regVal: true, |
| | | min: 1, |
| | | max: 2000, |
| | | msg: '取值范围1~2000(整数)' |
| | | }); |
| | | |
| | | // 单体温度上限(保留一位小数) |
| | | $('#equip61850_dcdc_tmp_dis').testVal({ |
| | | pattern: /^[0-9]{1,2}(\.[0-9]{0,1})?$/, |
| | | regVal: true, |
| | | min: 10, |
| | | max: 60, |
| | | msg: '取值范围10~60(保留一位小数)' |
| | | }); |
| | | |
| | | // 组端电压下限(保留两位小数) |
| | | $('#equip61850_group_vol_low').testVal({ |
| | | pattern: /^[0-9]{1,2}(\.[0-9]{0,1})?$/, |
| | | regVal: true, |
| | | min: 43, |
| | | max: 54, |
| | | msg: '取值范围43.0~54.0(保留一位小数)' |
| | | }); |
| | | |
| | | // 单体电压下限(保留三位小数) |
| | | $('#equip61850_mon_vol_low').testVal({ |
| | | pattern: /^[0-9]{1,2}(\.[0-9]{0,2})?$/, |
| | | regVal: true, |
| | | min: 1.8, |
| | | max: 2.25, |
| | | msg: '取值范围1.80~2.25(保留两位小数)' |
| | | }); |
| | | |
| | | // 修改放电电流 |
| | | $('#equip61850_discharge_curr').on('input propertychange', function() { |
| | | var curr = $(this).val(); |
| | | var batt = getBatt(); |
| | | // 用户输入的容量 |
| | | var userCap = $("#equip61850_dis_cap").val(); |
| | | $('#equip61850_advise_dis_cap').text(get10HCapPlus(batt.MonCapStd, curr, userCap)); |
| | | $('#equip61850_advise_work_curr').text(getNegPoleVol(mygraph.online, mygraph.group, curr)); |
| | | }); |
| | | |
| | | // 修改容量 |
| | | $('#equip61850_dis_cap').on('input propertychange', function() { |
| | | var userCap = $(this).val(); |
| | | var batt = getBatt(); |
| | | // 用户输入的容量 |
| | | var curr = $("#equip61850_discharge_curr").val(); |
| | | $('#equip61850_advise_dis_cap').text(get10HCapPlus(batt.MonCapStd, curr, userCap)); |
| | | }); |
| | | |
| | | // 获取61850面板的所有文本框 |
| | | $('#equip61850').on('input propertychange', 'input[type=text]', function() { |
| | | set61850PopupStatus($(this).attr('id'), $(this).val()); |
| | | }); |
| | | |
| | | // 获取61850面板的所有的下拉框 |
| | | $('#equip61850').on('change', 'select', function() { |
| | | set61850PopupStatus($(this).attr('id'), $(this).val()); |
| | | }); |
| | | |
| | | // 检测KD测试关闭 |
| | | $('#equip61850_discharge_type').on('change', function() { |
| | | set61850KDParams(); |
| | | }); |
| | | }); |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取LD9设备的告警类型 |
| | | * @param {} str |
| | | */ |
| | | function getAlarmStr(str){ |
| | | var alarm_str = ""; |
| | | var alarm_count= 0; |
| | | if(str != undefined){ |
| | | var arr = str.split(","); |
| | | //console.info(arr); |
| | | for(var i=0;i<arr.length;i++){ |
| | | if(arr[i] == 'true'){ |
| | | alarm_count++; |
| | | alarm_str += (alarm_count>0?",":"")+dev_61850_alarmstates[i] |
| | | } |
| | | } |
| | | } |
| | | |
| | | if(alarm_count == 0) { |
| | | alarm_str = '无'; |
| | | } |
| | | return alarm_str; |
| | | } |
| | | |
| | | // 查询61850设备信息 |
| | | function search61850Infor(temp) { |
| | | loading.showLoading(); |
| | | $.ajax({ |
| | | type: "post", |
| | | //url: "BTS_61850_setparamAction_61850action_serchByCondition", |
| | | url: "Fbs9100_setparamAction_action_serchByCondition", |
| | | async:true, |
| | | dataType:'text', |
| | | data:"json="+JSON.stringify(temp), |
| | | success: function(data){ |
| | | data = eval('('+data+')'); |
| | | var model = eval('('+data.result+')'); |
| | | if(model.data!=undefined && model.data.length>0){ |
| | | if(model.code == 0){ |
| | | noContent.showNoContent("读取放电参数失败!"); |
| | | initPopup(equip61850_popup, true); |
| | | }else{ |
| | | initPopup(equip61850_popup); |
| | | } |
| | | var arrtd = new Array(); |
| | | for(var i = 0;i<model.data.length;i++){ |
| | | battlist.push(model.data[i].binf); |
| | | arrtd.push(model.data[i].binf.StationName); //机房名称 |
| | | arrtd.push(model.data[i].binf.BattGroupName); //电池组名称 |
| | | arrtd.push(model.data[i].binf.FBSDeviceId); //设备id |
| | | arrtd.push(model.data[i].binf.GroupIndexInFBSDevice+1); //被测电池组号 |
| | | if(model.data[i].fsparam.TestCmd == CMD_61850_RES){ |
| | | arrtd.push('内阻测试'); //设定测试类型 |
| | | }else{ |
| | | arrtd.push('核容测试'); |
| | | } |
| | | arrtd.push(model.data[i].fsparam.DisCurr); //设定测试电流 |
| | | arrtd.push('已停止'); //工作状态 |
| | | arrtd.push(formatSeconds(0)); //已测时长 |
| | | arrtd.push(model.data[i].fstate.dev_commcount); //通信计数 |
| | | var temp = { |
| | | dev_id:model.data[i].binf.FBSDeviceId, |
| | | battgroupid:model.data[i].binf.BattGroupId, |
| | | batt_index:model.data[i].binf.GroupIndexInFBSDevice+1, |
| | | stationname:model.data[i].binf.StationName, |
| | | battgroupname:model.data[i].binf.BattGroupName |
| | | }; |
| | | RecordUserDev(temp); //记录用户添加的设备 |
| | | } |
| | | addFullTr($('.tbl-header'), $('.tbl-body'), arrTh, arrtd); |
| | | } |
| | | if(model.code == 1){ |
| | | set61850DevTableTdValue(); //获取参数成功时将获取到的参数设置到表格中 |
| | | } |
| | | set61850Param(model.data,(model.code == 0)); |
| | | |
| | | equip61850_popup.showPopup(); |
| | | loading.hideLoading(); |
| | | }, |
| | | error:function(){ |
| | | noContent.showNoContent("读取放电参数失败!"); |
| | | loading.hideLoading(); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 设置61850设备的面板内容 |
| | | function set61850Param(list, errorStatus) { |
| | | var batt = getBatt(); |
| | | if(list != undefined && list.length > 0){ |
| | | var advise_discharge_curr = list[0].binf.Load_curr<=5?4:list[0].binf.Load_curr-3; |
| | | var param = list[0].fsparam; |
| | | $('#equip61850_discharge_curr').val(param.DisCurr); //放电电流 |
| | | $('#equip61850_advise_discharge_curr').text(advise_discharge_curr); // 放电电流建议值 |
| | | $('#equip61850_dis_time').val(param.DisTime); //放电时长 |
| | | $('#equip61850_dis_cap').val(param.DisCap); //放电容量 |
| | | $('#equip61850_dcdc_tmp_dis').val(param.MonomerTmp_High); //单体温度上限 |
| | | $('#equip61850_group_vol_low').val(param.GroupVol_Low); //组端电压上限 |
| | | $('#equip61850_mon_vol_low').val(param.MonomerVol_Low); //单体电压下限 |
| | | //$('#equip61850_MonomerlowCount').val(param.MonomerLowCount); // 单体下限数量 |
| | | $('#equip61850_DCVolHighLimit').val(param.DCVolHighLimit); // 单体升压上限 |
| | | $('#equip61850_ChargeCurrSet').val(param.ChargeCurrSet); // 充电电流 |
| | | // 选择测试类型下拉列表 |
| | | changeSelected($('#equip61850_discharge_type'), param.TestCmd); |
| | | // 设置核容容量的预估值 |
| | | $('#equip61850_advise_dis_cap').text(get10HCapPlus(batt.MonCapStd, param.DisCurr, param.DisCap)); |
| | | //console.info($('#equip61850_discharge_type').data()); |
| | | set61850KDParams(); // 设置KD测试时参数的样式 |
| | | // 设置61805面板的设备工作电流 |
| | | var curr = $('#equip61850_discharge_curr').val(); |
| | | $('#equip61850_advise_work_curr').text(getNegPoleVol(mygraph.online, mygraph.group, curr)) |
| | | } |
| | | } |
| | | //根据机房名称查询机房下的电池组信息 |
| | | function search61850BattInfoByStation(temp){ |
| | | //获取当前选中的行号 |
| | | //var index = $('#main .tbl-body tbody tr.active').index(); |
| | | //var temp = tabList[index]; //获取当前选中的电池组 |
| | | //console.info(temp); |
| | | $.ajax({ |
| | | type: "post", |
| | | url: "BattInfAction!serchByBattGroupName", |
| | | async:true, |
| | | dataType:'json', |
| | | data:"bif.StationName1=&bif.StationName="+temp.binf.StationName, |
| | | success:function(data){ |
| | | var model = eval("("+data.result+")"); |
| | | if(model.code == 1){ |
| | | DevBattInfo = model.data; |
| | | $('#equip61850Battgroupname').text(''); |
| | | for(var i=0;i<model.data.length;i++){ |
| | | var batt = model.data[i]; |
| | | var $option = $("<option></option>"); |
| | | $option.text(batt.StationName+":"+batt.BattGroupName+"-"+batt.MonCount+"节"); |
| | | $option.attr("batt_number",batt.GroupIndexInFBSDevice+1); |
| | | $option.attr("battgroupid",batt.BattGroupId); |
| | | $option.attr("value",batt.BattGroupId); |
| | | $option.attr("batt_name",batt.BattGroupName); |
| | | if(temp.binf.BattGroupId == batt.BattGroupId){ |
| | | $option.attr("selected",true); //默认选中当前选中的电池组 |
| | | $('#equip61850_dev_id').val(batt.FBSDeviceId); |
| | | $('#equip61850_battgropunum').val(batt.GroupIndexInFBSDevice + 1); |
| | | $('#equip61850_dev_battgroup_property').val("单体数量:"+batt.MonCount+";电压(V):"+batt.MonVolStd+";容量(AH):"+batt.MonCapStd); |
| | | } |
| | | $('#equip61850Battgroupname').append($option); |
| | | } |
| | | setDischageBattinfo(temp.fstate.dev_testgroupnum); |
| | | |
| | | } |
| | | }, |
| | | error:function(){ |
| | | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //当获取参数成功的时候更新表格中的部分参数值 |
| | | function set61850DevTableTdValue(){ |
| | | $('#main .tbl-body tbody tr').each(function(i){ |
| | | var dev_id = $(this).find('td').eq(2).text(); |
| | | if(dev_id == $('#equip61850_dev_id').val()){ |
| | | $(this).find('td').eq(1).text($('#equip61850Battgroupname option:selected').attr('batt_name')); |
| | | $(this).find('td').eq(3).text($('#equip61850_battgropunum').val()); |
| | | $(this).find('td').eq(4).text($('#equip61850_discharge_type').find("option:selected").text()); |
| | | $(this).find('td').eq(5).text($('#equip61850_discharge_curr').val()); |
| | | |
| | | $('#main .tbl-header tbody tr').eq(i).find('td').eq(1).text($('#equip61850Battgroupname option:selected').attr('batt_name')); |
| | | $('#main .tbl-header tbody tr').eq(i).find('td').eq(3).text($('#equip61850_battgropunum').val()); |
| | | $('#main .tbl-header tbody tr').eq(i).find('td').eq(4).text($('#equip61850_discharge_type').find("option:selected").text()); |
| | | $('#main .tbl-header tbody tr').eq(i).find('td').eq(5).text($('#equip61850_discharge_curr').val()); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //获取设备的测试参数等 |
| | | function search61850TestParam(temp){ |
| | | var is_showAlert = (arguments.length==1); |
| | | loading.showLoading(); |
| | | $.ajax({ |
| | | type: "post", |
| | | url:"Fbs9100_setparamAction_action_serchbyDev_id", |
| | | async:true, |
| | | dataType:'text', |
| | | data:"json="+JSON.stringify(temp), |
| | | success: function(data){ |
| | | data = eval('('+data+')'); |
| | | var model = eval('('+data.result+')'); |
| | | |
| | | if(model.code == 1 && model.data != undefined && model.data.length>0){ |
| | | set61850Param(model.data, false); |
| | | if(is_showAlert){ |
| | | noContent.showNoContent("获取测试参数成功", true); |
| | | } |
| | | initPopup(equip61850_popup); |
| | | set61850PopupStatus(); |
| | | set61850DevTableTdValue(); |
| | | }else{ |
| | | if(model.data != undefined && model.data.length>0){ |
| | | set61850Param(model.data, true); |
| | | } |
| | | initPopup(equip61850_popup, true); |
| | | noContent.showNoContent("获取测试参数失败"); |
| | | } |
| | | loading.hideLoading(); |
| | | }, |
| | | error:function(){ |
| | | initPopup(equip61850_popup, true); |
| | | noContent.showNoContent("获取测试参数失败"); |
| | | loading.hideLoading(); |
| | | //LD9_popup.showPopup(); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //更新61850测试参数 |
| | | function update61850TestParam(){ |
| | | var param = getTestParam(); |
| | | loading.showLoading(); |
| | | $.ajax({ |
| | | type: "post", |
| | | url:"Fbs9100_setparamAction_action_update61850Param", |
| | | async:true, |
| | | dataType:'text', |
| | | data:"json="+JSON.stringify(param), |
| | | success: function(data){ |
| | | data = eval('('+data+')'); |
| | | var model = eval('('+data.result+')'); |
| | | //console.info(model); |
| | | if(model.code == 1){ |
| | | noContent.showNoContent("修改测试参数成功", true); |
| | | var temp = { |
| | | num:CMD_61850_GETPARAM, |
| | | dev_id:param.dev_id |
| | | }; |
| | | search61850TestParam(temp,true); //重新读取一次测试参数 |
| | | set61850DevTableTdValue(); //更新表格中的参数 |
| | | }else{ |
| | | noContent.showNoContent("修改测试参数失败"); |
| | | } |
| | | loading.hideLoading(); |
| | | }, |
| | | error:function(){ |
| | | noContent.showNoContent("修改测试参数失败"); |
| | | loading.hideLoading(); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //发送指定的命令给61850设备 (启动,停止) |
| | | function sendCmdTo61850Dev(temp){ |
| | | //console.info(temp); |
| | | $.ajax({ |
| | | type: "post", |
| | | //url:"BTS_61850_setparamAction_61850action_updateCMd", |
| | | url:"Fbs9100_setparamAction_action_serchbyDev_id", |
| | | async:true, |
| | | dataType:'text', |
| | | data:"json="+JSON.stringify(temp), |
| | | success: function(data){ |
| | | data = eval('('+data+')'); |
| | | var model = eval('('+data.result+')'); |
| | | //console.info(model); |
| | | if(model.code == 1 ){ |
| | | show61850Content(temp.num,true); |
| | | }else{ |
| | | show61850Content(temp.num,false); |
| | | } |
| | | loading.hideLoading(); |
| | | }, |
| | | error:function(){ |
| | | show61850Content(temp.num,false); |
| | | loading.hideLoading(); |
| | | //LD9_popup.showPopup(); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //显示不同的提示框 |
| | | function show61850Content(cmd,issuccess){ |
| | | if(cmd == CMD_61850_START){ |
| | | if(issuccess){ |
| | | noContent.showNoContent("启动测试成功", true); |
| | | }else{ |
| | | noContent.showNoContent("启动测试失败"); |
| | | } |
| | | }else if(cmd == CMD_61850_STOP){ |
| | | if(issuccess){ |
| | | noContent.showNoContent("停止测试成功", true); |
| | | }else{ |
| | | noContent.showNoContent("停止测试失败"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //根据面板中的数据获取测试参数 |
| | | function getTestParam(){ |
| | | var param = { |
| | | num:CMD_61850_SETPARAM, |
| | | dev_id:$('#equip61850_dev_id').val(), |
| | | TestCmd:$('#equip61850_discharge_type').val(), |
| | | DisCap:$('#equip61850_dis_cap').val(), |
| | | DisCurr:$('#equip61850_discharge_curr').val(), |
| | | DisTime:$('#equip61850_dis_time').val(), |
| | | GroupVol_Low:$('#equip61850_group_vol_low').val(), |
| | | MonomerVol_Low:$('#equip61850_mon_vol_low').val(), |
| | | MonomerTmp_High:$('#equip61850_dcdc_tmp_dis').val() |
| | | }; |
| | | return param; |
| | | } |
| | | |
| | | // 根据文本框内容设置61850的按钮状态 |
| | | function set61850PopupStatus(id, val) { |
| | | var textList = equip61850_popup.popup.find('input[type=text]'); |
| | | var selectList = equip61850_popup.popup.find('.popup-tbl select'); |
| | | var initData = equip61850_popup.popup.data().attr; |
| | | var errorStatus = equip61850_popup.popup.data().errorStatus; // 获取是否读取参数失败 |
| | | |
| | | // 读取设备参数失败 |
| | | if(errorStatus) { |
| | | equip61850Btn.disabled(); |
| | | return false; // 结束函数运行 |
| | | } |
| | | |
| | | // 遍历面板下的所有文本框查看是否有错误数据 |
| | | var isDisabled = false; |
| | | textList.each(function() { |
| | | if($(this).hasClass('error-data')) { |
| | | isDisabled = true; |
| | | } |
| | | }); |
| | | |
| | | // 存在错误的数据 |
| | | if(isDisabled) { |
| | | equip61850Btn.disabled(); |
| | | return false; // 结束函数运行 |
| | | }else { |
| | | equip61850Btn.active(); |
| | | } |
| | | |
| | | // 判断下拉选项中是否有符合后台数据的值 |
| | | var existOpt = false; |
| | | // 遍历面板表格中的下拉框 |
| | | for(var k=0; k<selectList.length; k++) { |
| | | existOpt = false; |
| | | var _realVal = selectList.eq(0).data('value'); |
| | | var _opts = selectList.eq(0).find('option'); |
| | | // 遍历下拉框中选项是否有和后台匹配的值 |
| | | for(var i=0; i<_opts.length; i++) { |
| | | if(_opts.eq(i).val() == _realVal) { |
| | | existOpt = true; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | // 后台传输的值没有存在下拉选项中 |
| | | if(!existOpt) { |
| | | break; |
| | | } |
| | | } |
| | | |
| | | // 在面板中存在没有匹配到后台传输的下拉框 |
| | | if(!existOpt) { |
| | | equip61850Btn.startTest(false); |
| | | return false; // 结束函数运行 |
| | | } |
| | | |
| | | // 遍历对比当前文本框的数据和原始数据是否一致 |
| | | for(var i=0; i<initData.length;i++) { |
| | | // 遍历查询到当前的文本框 |
| | | if(initData[i].id == id) { |
| | | if(initData[i].val == val) { |
| | | equip61850Btn.active(); |
| | | }else { |
| | | equip61850Btn.startTest(false); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 检测是否为KD测试,并设置参数是否可以设定 |
| | | function set61850KDParams() { |
| | | var test_type = $('#equip61850_discharge_type').val(); |
| | | var groupParams = $('#equip61850 .group-params'); |
| | | // 测试模式为KD测试 |
| | | if(test_type == 72 || test_type == 50) { |
| | | groupParams.attr('readonly', 'readonly'); |
| | | }else { |
| | | groupParams.attr('readonly', false); |
| | | } |
| | | } |