12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520 |
- <!DOCTYPE html>
- <!--[if IE 8]>
- <html lang="en" class="ie8 no-js"> <![endif]-->
- <!--[if IE 9]>
- <html lang="en" class="ie9 no-js"> <![endif]-->
- <html>
- <head>
- <meta charset="utf-8"/>
- <title>SCD文档管理系统</title>
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
- <meta http-equiv="Content-type" content="text/html; charset=utf-8">
- <link rel="stylesheet" type="text/css" href="/static/css/sub_bureau.css">
- <link rel="stylesheet" type="text/css" href="/static/css/common.css"/>
- <link rel="stylesheet" type="text/css" href="/static/css/font-awesome.min.css"/>
- <link rel="stylesheet" type="text/css" href="/static/layui_2/css/layui.css" media="all"/>
- <link rel="stylesheet" type="text/css" href="/static/css/zTreeStyle/global.css">
- <link rel="stylesheet" type="text/css" href="/static/css/kmsjsmap.css"/>
- <script src="/static/js/jquery.min.js" type="text/javascript"></script>
- <script src="/static/js/echarts.min.js" type="text/javascript"></script>
- <script src="/static/js/template.js" type="text/javascript"></script>
- <script src="/static/js/police_o.js" type="text/javascript"></script>
- <script src="/static/layui_2/layui.js" type="text/javascript"></script>
- <script type="text/javascript" src="/static/js/ztree/jquery.ztree.all_useicon.js"></script>
- <script src="/static/js/global.js" type="text/javascript"></script>
- <script src="/static/js/jquery.slimscroll.min.js" type="text/javascript"></script>
- <script src="/static/js/TweenMax.js" type="text/javascript"></script>
- <script src="/static/js/mqtt.min.js" type="text/javascript"></script>
- <script src="/static/js/jquery.pagination.js" type="text/javascript"></script>
- <style type="text/css">
- .layui-tab-title .layui-this{color: #fff;background: #134BEA;border-radius: 1rem;}
- .layui-tab-title .layui-this::after{border-color:transparent;}
- .layui-tab-title li{background: #fff;color: #134BEA}
- .file_list table {
- border: 0px solid #4a3c6a;
- }
- .file_list tbody > tr:nth-child(2n) {
- background-color: #F6FAFF;
- }
- #file_list_tools>span{
- margin: 0 1rem;
- cursor: pointer;
- color: #639abb;
- padding: 2px 0.5rem;
- font-size: 1.3rem;
- border-bottom: 1px solid #639abb;
- }
- #file_list_tools>span:hover{
- font-weight: bold;
- font-size: 1.5rem;
- border-bottom: 2px solid #639abb;
- }
- #file_list_tools>span.active{
- color: #134BEA;
- font-weight: bold;
- border-bottom: 2px solid #134BEA;
- font-size: 1.5rem;
- }
- .disabled{
- cursor: default;
- color: #575656;
- }
- .detail_label{
- width: 13%;
- text-align: left;
- padding-left: 1rem;
- color: #43526B;
- }
- .detail_value{
- width: 18%;
- text-align: left;
- color: #134BEA;
- }
- </style>
- </head>
- <body>
- <div class="monitor_center" style="width:100%;height: 100%;">
- <div class="header">
- <div class="header_logo">
- <img src="/static/images/logo.jpg">
- </div>
- <div class="system_middle_title">
- <span class="system_big_title">SCD文档管理系统</span>
- <span class="orgname f_l text_overflow" id="orgname"></span><span class="stationname hidden" id="stationname"></span>
- <div class="scd_info f_l" id="scd_info">
- <span class="scd_name text_overflow"></span>
- <span style="margin-left: 1rem;margin-right: 1rem;font-size: 1.5rem;float: left;"><i class="fa fa-caret-up"></i></span>
- </div>
- </div>
- <div class="header_background">
- <div>
- <div class="main_bar" id="main_bar" style="float: left;margin-right: 2rem;">
- <div class="app_default accessControl" mark="screen" access-code="pl_menu_screen" onclick="window.location.href='scd_network.html'">
- <i class="app_icon fa fa-fw fa-gg"></i>
- <span>网络结构图</span>
- </div>
- <div class="app_default accessControl" mark="screen" access-code="pl_menu_screen" onclick="window.location.href='scd_o.html'">
- <i class="app_icon fa fa-fw fa-file-image-o"></i>
- <span>SCD可视化</span>
- </div>
- <div class="app_default accessControl" mark="outin" access-code="pl_menu_outin" onclick="window.location.href='scd_inout.html'">
- <i class="app_icon fa fa-fw fa-exchange fa-rotate-90"></i>
- <span>签入签出</span>
- </div>
- <div class="app_default accessControl app_active" mark="scdtools" access-code="pl_menu_scdtools" onclick="window.location.href='scd_files.html'">
- <i class="app_icon fa fa-fw fa-file-code-o"></i>
- <span>配置文件</span>
- </div>
- <div class="app_default accessControl" mark="stat" access-code="pl_menu_stat" onclick="window.location.href='scd_stat.html'">
- <i class="app_icon fa fa-fw fa-pie-chart"></i>
- <span>统计分析</span>
- </div>
- <div class="app_default accessControl" mark="admin" access-code="pl_menu_admin" onclick="window.location.href='police_o_admin.html'" style="margin-right: 0;">
- <i class="app_icon fa fa-fw fa-laptop"></i>
- <span>管理后台</span>
- </div>
- </div>
- <div class="app_default" style="color: #7A13E1;">|</div>
- <div class="app_default">
- <span class="yyyymmdd f_l" style="cursor:default;font-size: 1.4rem;font-family:electronicFont;width: 8rem;"> </span>
- <span class="week f_l" style="cursor:default;font-size: 1.4rem;width: 5rem;"> </span>
- <span class="hour_minute f_l" style="cursor:default;letter-spacing: 0.3rem;font-size: 1.4rem;color: #516380;font-family:electronicFont;width: 8rem;"> </span>
- </div>
- <div class="app_default" style="color: #7A13E1;">/</div>
- <div class="app_default" style="border-bottom: 0px solid #7A13E1;height: 93%;">
- <a style="font-size: 1.4rem;cursor: pointer;" href="/" title="当前登录人员"><i class="fa fa-user" style="color: #00CEFB;font-size: 1.8rem;margin-right: 0.5rem;"></i><span id="login_user_name"></span></a>
- </div>
- <div class="app_default" style="color: #7A13E1;">/</div>
- <div class="app_default" style="border-bottom: 0px solid #7A13E1;height: 93%;">
- <a style="font-size: 1.6rem;cursor: pointer;" href="/" title="退出"><i class="layui-icon layui-icon-logout" style="background-color: transparent !important;color: #00CEFB;"></i></a>
- </div>
- </div>
- </div>
- <div class="user_role hidden" id="login_user_role"></div>
- </div>
- <div class="body_content">
- <!--中间-->
- <div class="body_center home_center" id="container_map">
- <div id="container_map_ied" style="position: absolute;z-index: 1;height: 100%;width: 77%;left: 20%;top:0;"></div>
- </div>
- </div>
- </div>
- <!--SCD列表-->
- <div class="scd_list hidden" id="scd_list"></div>
- <!--左侧树-->
- <!--展开按钮-->
- <div id="scd_tree_btn" title="显示SCD结构树" class="abs scd_node_tree_btn hidden"><i class="fa fa-caret-right" style="color: #fff"></i></div>
- <!--树-->
- <div id="scd_tree_list" class="abs scd_node_tree ">
- <div class="title f_l"><span class="f_l">变电站列表</span></div>
- <div class="list f_l station_list" style="background-color: transparent;"></div>
- </div>
- <div id="dialog_public" class="site_device_list dialog_public">
- <span class="text_overflow caption"><b></b>
- <span class="dlg_close" title="关闭窗口">
- <span class="dlg_icon_close"></span>
- </span>
- </span>
- <div class="dataitemlist">
- <div id="ln_strcut_detail" style="position: absolute;left: 0;top:0;z-index: 0;height:100%;width: 100%;"></div>
- </div>
- </div>
- <script type="text/html" id="main_tpl">
- <div class="scd_tools f_l">
- <!--工具栏-->
- <div class="tools_btns">
- <span chktype="scl" class="disabled small" onclick="CheckTools(this,'scl','SCL校验')">SCL校验</span>
- <span chktype="scd" class="disabled small" onclick="CheckTools(this,'scd','SCD一致性校验')">SCD一致性校验</span>
- <span chktype="crc" class="disabled small" onclick="CheckTools(this,'crc','CRC校验结果')">CRC校验</span>
- <span chktype="cid" class="disabled small" onclick="CheckTools(this,'cid','CID一致性校核')">CID一致性校核</span>
- <span chktype="ccd" class="disabled small" onclick="CheckTools(this,'ccd','CCD一致性校验')">CCD一致性校验</span>
- <span chktype="ccd_scd" class="disabled small" onclick="CheckTools(this,'ccd_scd','CCD与SCD一致性校验')">CCD与SCD一致性校验</span>
- <span chktype="cid_scd" class="disabled" onclick="CheckTools(this,'cid_scd','CID与SCD同源性校验')">CID与SCD同源性校验</span>
- </div>
- </div>
- <div class="scd_filter f_l" style="margin-left: 0;margin-top: 2rem;height: 5.5rem;width: 100%;">
- <div id="filetypename" class="filetypename f_l" style="text-align: left;width: 14%;height: 100%;line-height: 5.5rem;font-weight: bold;font-size: 1.67rem;margin-left: 2%;"></div>
- <div id="tools" class="f_l" style="width: 58%;height: 100%;line-height: 5.5rem;">
- <span class="btn f_r func_attachment_delete hidden" style="width: 10rem;margin-top: 1rem;margin-right: 1.5rem;" onclick="MultDeleteFile(this)"><i class="fa fa-trash"></i>批量删除</span>
- <span class="btn f_r func_attachment_download" style="width: 10rem;margin-top: 1rem;margin-right: 1.5rem;" onclick="MultDownloadFile(this)"><i class="fa fa-cloud-download"></i>批量下载</span>
- <span class="btn f_r file_upload_btn func_attachment_upload hidden" style="width: 10rem;margin-top: 1rem;margin-right: 1.5rem;"><i class="fa fa-cloud-upload"></i>上传</span>
- </div>
- <!--过滤栏-->
- <!--搜索区域-->
- <div id="search_panel" class="search_panel f_r" style="width: 30rem;position: relative;margin-right: 2rem;margin-top: 1rem">
- <div class="f_l" >
- <input class="search_input" style="width:100%;font-size:1.4rem;border: 1px solid #A38BF3 !important;background: transparent !important;border-radius: 3px;height: 3.2rem;" id="search_input_name" maxlength="40" placeholder="请输入文件名称"/>
- </div>
- <span class="btn f_r" id="search_button" style="width: 5.6rem;margin-right: 1.5rem;cursor: pointer;"><i class="fa fa-search"></i>搜索</span>
- </div>
- <div class="station_list hidden" id="search_result"></div>
- <!--搜索区域结束-->
- </div>
- <div id="files_area" class="files_area f_l" style="width: 100%;background: #FFF;color: #999;">
- <div id="file_type_tree" class="station_list f_l" style="width: 14%;height: 98%;position: relative;padding: 0;margin-left: 2%;box-shadow: none;background-color: #F3F5FA"></div>
- <div class="f_l" style="margin: 1rem 0 0 1.5%;width: 80%;">
- <div id="file_list_tools" class="f_l file_list_tools" style="width: 100%;height: 3rem;">
- <span class="active" style="margin: 0 1rem;" filetype='1'>管控文件</span><span class="hidden" style="margin: 0 1rem;" filetype='2'>裁剪文件</span><span style="margin: 0 1rem;" filetype='0'>其他文件</span>
- </div>
- <div id="file_list_header" class="file_list_header f_l" style="height: 4rem;line-height: 3.8rem;overflow: auto;width: 100%;">
- <table style="width: 98%;text-align: left;background-color: #F6FAFF;color: #000;border: 1px solid #C8D4E2"><thead><tr>
- <td class="text_overflow" style="width: 6%;text-align: center;">
- <input type="checkbox" value="" name="select_files">
- </td>
- <td class="text_overflow" style="width: 15%">文件名称</td>
- <td class="text_overflow" style="width: 9%">版本</td>
- <td class="text_overflow" style="width: 8%">文件类型</td>
- <td class="text_overflow" style="width: 8%">文件大小</td>
- <td class="text_overflow" style="width: 15%">存储路径</td>
- <td class="text_overflow" style="width: 8%">提交人</td>
- <td class="text_overflow" style="width: 12%">提交时间</td>
- <td class="text_overflow" style="width: 18%;text-align: center;">操作</td>
- </tr></thead></table>
- </div>
- <div class="f_l file_list" style="width: 100%;height: 83%;"></div>
- <div class="f_l pagebar pagination" style="width: 100%;height: 4rem;"></div>
- <div id="scd_detail_info" class="scd_detail_info hidden" style="width: 100%;height: 1rem;"></div>
- </div>
- </div>
- </script>
- <script type="text/html" id="station_list_item_tpl">
- {{each data}}
- <div class="station_list_item" stationid="{{$value.id}}"><i style="height: 1px;" class="f_l fa-fw"><i class="hidden fa fa-dot-circle-o"></i></i>{{$value.area_name}}</div>
- {{/each}}
- </script>
- <script type="text/html" id="select_item_tpl">
- {{each data}}
- <div class="station_list_item text_overflow" ind="{{$index+1}}" code="{{$value.code}}" value="{{$value.id||$value.code}}">{{#$value.name}}</div>
- {{/each}}
- </script>
- <!--crc校验结果-->
- <script type="text/html" id="checktools_crc_tpl">
- <div style="width: 96%;height: 6%;margin:0 2%;">
- <span>SCD文件CRC:</span><span id="scdcrc" style="margin: 0 1rem;font-weight: bold;">-</span>
- <span>SCD校验CRC:</span><span id="scdcrc2" style="margin: 0 1rem;font-weight: bold;">-</span>
- <span>校验结果:</span><span id="scdcrcresult" style="margin: 0 1rem;font-weight: bold;">-</span>
- </div>
- <table style="width: 98%">
- <thead><tr><td style="width: 6rem">序号</td><td style="width: 10rem">装置名称</td><td style="width: 24rem;">装置描述</td><td style="width: 10rem">厂家</td><td style="width: 10rem">型号</td><td style="width: 10rem">IED版本</td><td style="width: 10rem">CCD CRC</td><td style="width: 10rem">SCD CRC</td><td style="width: 10rem">校验CRC</td>
- <td style="width: 10rem">校验结果</td></tr></thead>
- </table>
- <div id="iedcrclist" style="width: 100%;height: 86%;margin: 0"></div>
- </script>
- <script type="text/html" id="checktools_crc_list_tpl">
- <table style="width: 100%">
- <tbody>
- {{each data}}
- <tr>
- <td class="" style="width: 6rem">{{$index+1}}</td>
- <td class="" style="width: 10rem">{{$value.iedname}}</td>
- <td class="" style="width: 24rem;line-height: 1.2rem;" title="{{$value.ieddesc}}">{{$value.ieddesc}}</td>
- <td class="" style="width: 10rem;line-height: 1.2rem;" title="{{$value.manufacturer||''}}">{{$value.manufacturer}}</td>
- <td class="" style="width: 10rem;line-height: 1.2rem;" title="{{$value.type||''}}">{{$value.type}}</td>
- <td class="" style="width: 10rem;line-height: 1.2rem;">{{$value.iedversion||'-'}}</td>
- <td class="" style="width: 10rem">{{$value.ccdcrc||'无'}}</td>
- <td class="" style="width: 10rem">{{$value.scdcrc||'无'}}</td>
- <td class="" style="width: 10rem">{{$value.checkcrc||'无'}}</td>
- <td class="" style="width: 10%">{{if $value.checkcrc!=null && $value.scdcrc==$value.checkcrc}}一致{{else}}<b style="color: red">不一致</b>{{/if}}</td>
- </tr>
- {{/each}}
- </tbody>
- </table>
- </script>
- <script type="text/javascript">
- template.helper("FullImgPath",function(imgsrc){
- if(imgsrc==null||imgsrc=="") return Global.AccessUrl+ "/static/images/userhead.png";
- if (imgsrc.substr(0, 4) != "http") {
- var _index = imgsrc.indexOf("static/");
- if (_index > -1) return Global.AccessUrl + imgsrc.substr(_index);
- }
- return imgsrc;
- })
- template.helper("ts2datetime",function(timestamp){
- if(timestamp==null||timestamp=="") return "";
- if(timestamp.indexOf("-")>-1 || timestamp.indexOf(":")>-1) return timestamp;
- if(timestamp.length>13) timestamp=timestamp.substring(0,13);
- else if( timestamp.length==10) timestamp=timestamp*1000;
- return new Date(timestamp).Format("yyyy-MM-dd hh:mm:ss");
- })
- template.helper("replaceStr",function(str,oldstr,newstr){
- if($.trim(str)=="") return "";
- var reg=new RegExp(oldstr);
- return str.replace(reg,newstr);
- })
- template.helper("replaceStrPath",function(str,oldstr,newstr){
- if($.trim(str)=="") return "";
- oldstr = oldstr==null ? "\\\\":oldstr;
- newstr = newstr==null ?"\\\\":newstr;
- var reg=new RegExp(oldstr,"gi");
- return str.replace(reg,newstr);
- })
- template.helper("alertLevelDesc",function(levelcode){
- if($.trim(levelcode)=="") return "";
- if(levelcode=="hint") return "提示";
- else if(levelcode=="waring") return "警告";
- else if(levelcode=="error") return "错误";
- return ""
- })
- var isCommting=false;
- var paginationLoaded=false;
- var iedLoadState=0;
- var isUploadFileing=false; //是否有文件正在上传
- var TempScdID=$.trim(window.localStorage.getItem("PoliceObject.TempScdID"));
- var TempAreaID=$.trim(window.localStorage.getItem("PoliceObject.TempAreaID"));
- $(document).ready(function () {
- var token = $.trim(localStorage.getItem("sessionid"));
- if (token == "") {
- window.location.href = "/";
- return false;
- }
- Global.accessControl();
- PoliceObject.AlwaysTimer();
- //$.getJSON(Global.AccessUrl+"/api/getGlobalCode",{"pcode":"file_types"},function(r){
- //});
- PoliceObject.OnInited=function(){
- var container_map_ied=$("#container_map_ied").css({"height":$("#scd_tree_list").height(),"top":"0rem"}).html(template('main_tpl',{}));
- $("#files_area").height(container_map_ied.height()-$(".scd_tools").height()-container_map_ied.children(".scd_filter").height()-container_map_ied.children(".scd_filter").css("margin-top").replace("px","")*1);
- $("#file_list_tools>span").on('click',function(){
- var me=$(this);
- $("#file_list_tools>span.active").removeClass("active");
- me.addClass("active");
- var filetype=me.attr("filetype");
- if(filetype=="1"){
- $("#tools .btn.func_attachment_delete").addClass("hidden");
- $("#tools .btn.func_attachment_upload").addClass("hidden");
- }else{
- $("#tools .btn.func_attachment_delete").removeClass("hidden");
- $("#tools .btn.func_attachment_upload").removeClass("hidden");
- }
- LoadStationFiles(1,20);
- });
- //加载变电站列表。需要2个回调函数,第一个为load回调,第二个为变电站选择事件回调
- PoliceObject.LoadStationList(function(r){
- var cur_station_id = $.trim(window.localStorage.getItem("PoliceObject.AreaID"));
- if(cur_station_id=="") cur_station_id=r.data[0].id;
- InitLoadScdList(r.data[0].id);
- //变电站数据加载完成处理
- //InitLoadStationFileList();
- },function(stationid){
- $("#search_input_name").val("");
- if(TempScdID!="" && stationid!=TempAreaID){
- window.localStorage.removeItem("PoliceObject.TempScdID");
- window.localStorage.removeItem("PoliceObject.TempAreaID");
- }
- iedLoadState=0;
- isLoadIedTreeNode=0;
- PoliceObject.IedList=[];
- InitLoadScdList(stationid);
- //更换变电站时需要重新获取电压和间隔信息
- InitLoadStationFileList();
- });
- }
- PoliceObject.init();
- $("#search_button").off().on("click",function(){
- LoadStationFiles(1,20);
- });
- //scd结构树显示和隐藏控制
- $("#scd_tree_btn").off().on('click',function(){
- $(this).addClass("hidden");
- $("#scd_tree_list").removeClass("hidden");
- });
- $("#scd_tree_list .title>i").off().on('click',function(){
- $("#scd_tree_list").addClass("hidden");
- $("#scd_tree_btn").removeClass("hidden");
- });
- $("#files_area .file_list").slimScroll({
- height: $("#files_area").height()-$(".pagebar").height()-$("#file_list_header").height()-$("#file_list_tools").height()-(20*hRate),
- width:$(".file_list_header").width()+"px",
- alwaysVisible: false,
- wheelStep: 10,
- size: "6px",
- color: "#03aee7"
- });
- $("#files_area .file_list_header input[name='select_files']").off().on('click',function(){
- var v=$(this).is(":checked");
- if(v){
- $("#files_area .file_list input[type='checkbox']").prop("checked",true);
- var $tools_btns=$("#container_map_ied .scd_tools .tools_btns");
- $tools_btns.children("span").addClass("disabled").attr("title","选择文件类型或数量不支持该操作");
- }else{
- $("#files_area .file_list input[type='checkbox']").prop("checked",false);
- clearSelectedFileList();
- }
- });
- layui.use(['form', 'layer', 'upload', "laydate"], function() {
- layui.form.render("select");
- layui.laydate.render({
- elem: "#overdate"
- });
- //文件上传绑定
- var uploadInst = layui.upload.render({
- elem: '.file_upload_btn',
- url: Global.AccessUrl + '/api/uploadfile',
- accept: "file",
- size: 1024 * 1024, //文件大小限制为不超过1G
- auto:false,
- choose: function (obj) {
- uploadInst.config.elem.next()[0].value = '';
- if(isUploadFileing){
- layer.msg("其他文件正在上传中...,请等待其完成后再操作!", {
- icon: Global.ICON_HINT
- });
- return false;
- }
- obj.preview(function (index, file,path) {
- var fix=file.name.split(".");
- if(fix.length==1){
- layer.msg("该类型文件不允许上传!", {
- icon: Global.ICON_ERROR
- })
- return false;
- }
- fix=fix[fix.length-1].toLocaleLowerCase();
- if (fix=="bat" || fix=="sh" || fix=="sql"|| fix=="exe"){
- layer.msg("该类型文件不允许上传!", {
- icon: Global.ICON_ERROR
- })
- return false;
- }
- if (fix == "rar") {
- layer.msg("不支持rar压缩包,请上传zip格式的压缩包!", {
- icon: Global.ICON_ERROR
- })
- return false;
- }
- obj.upload(index, file) //上传文件操作
- });
- },
- before: function(obj) {
- this.data = {
- "attachment_type": $("#file_type_tree .station_list_item.active").attr("value"),
- "station_id":PoliceObject.AreaID,
- "ied_name":$("#file_type_tree .ied_item.active").attr("ied_name")
- };
- isUploadFileing=true;
- this.item.attr("disabled", true);
- layer.msg("文件正在上传中...,请等待本文件上传完成再进行其它操作",{time:0});
- },
- done: function(res) {
- isUploadFileing=false;
- this.item.attr("disabled", false);
- //如果上传失败
- if (res.code != 0) {
- return layer.msg('文件上传失败:' + res.msg, {
- icon: Global.ICON_ERROR
- });
- }
- layer.msg("文件上传成功", {
- icon: Global.ICON_OK
- });
- LoadStationFiles(1,20);
- },
- error: function() {
- //演示失败状态,并实现重传
- layer.msg('文件上传失败', {
- icon: Global.ICON_ERROR
- });
- isUploadFileing=false;
- this.item.attr("disabled", false);
- }
- });
- });
- });
- function CheckTools(e,type,desc){
- if(!$(e).hasClass('disabled')){
- if(type=="scd"||type=="ccd"||type=="cid"||type=="ccd_scd"||type=="cid_scd"){
- PoliceObject.CheckTools(type,desc,$.trim(PoliceObject.ScdID),selectedFileList.join(","));
- return;
- }
- var f=[];
- $("#files_area .file_list>table input[name='scd_files']").each(function(){
- var tm1=$(this);
- if(tm1.is(":checked")){
- f.push({"fileid":tm1.attr('value'),"scdid":$.trim(tm1.attr("scd_id"))});
- }
- });
- if(type=="scl" && f.length!=1){
- layer.msg("该操作仅支持1个SCD文件进行校验!",{icon:Global.ICON_ERROR})
- return;
- }
- if(type=="crc" && f.length!=1){
- layer.msg("该操作仅支持1个SCD文件进行校验!",{icon:Global.ICON_ERROR})
- return;
- }
- PoliceObject.CheckTools(type,desc,$.trim(PoliceObject.ScdID));
- }
- }
- function InitLoadScdList(stationid){
- $("#scd_list").html("");
- var $scd_info=$("#scd_info");
- $scd_info.find(".scd_name").html("");
- PoliceObject.AreaID=stationid;
- $.getJSON(Global.AccessUrl+"/api/screen/scd/list",{"ischeckinscd": "1","stationid":stationid,"pageno":1,"enable":1},function(r){
- PoliceObject.ScdList=r.data;
- //判断 是否有临时scd需要可视化查看
- var TempScdID=$.trim(window.localStorage.getItem("PoliceObject.TempScdID"));
- if(TempScdID==""){
- if(r.data==null||r.data.length==0){
- setTimeout(function(){
- $("#file_type_tree .iedlist").remove();
- },200);
- return;
- }
- }
- var data=r.data;
- var lst=[];
- if(data!=null){
- //默认为第一个scd
- var scdobj=data[0];
- var cur_ScdID=$.trim(window.localStorage.getItem(PoliceObject.AreaID+ ".ScdID"));
- if(data.length>0){
- for (var i = 0; i < data.length; i++) {
- if(cur_ScdID==data[i].id || ( data[i].enable==1 && i==0)){
- scdobj=data[i];
- }
- var version=i==0?"<span style='color:#502df7;font-weight: bold;'>"+(data[i].version||"在运版")+"</span>":data[i].version;
- lst.push('<div class="f_l" scdid="'+data[i].id+'" style="cursor:pointer;color: #516380;"><span class="f_l text_overflow" style="color: #516380;font-weight: bold;width: 20rem;" title="'+data[i].scd_name+'">'+data[i].scd_name+'</span><span class="f_l" style="margin:0 1rem;width: 18rem;">版本号:'+version+'</span><span class="f_l" style="margin:0 1rem;width: 14rem;">签入人:'+data[i].user_name+'</span><span class="f_l" style="margin:0 1rem;width: 22rem;">签入时间:'+data[i].CREATED_TIME+'</span></div>');
- }
- }else{
- lst.push(Tools.HintText("未签入SCD文件"));
- }
- PoliceObject.ScdID=scdobj.id;
- }else{
- lst.push(Tools.HintText("未签入SCD文件"));
- }
- //判断 是否有临时scd需要可视化查看
- if(TempScdID!=""){
- PoliceObject.ScdID=TempScdID;
- }
- clearSelectedFileList();
- PoliceObject.LoadIedList();
- $scd_info.on("click",function(e){
- e.stopPropagation();
- var $t=$(this), xy=$t.offset();
- $t.find("i").attr("class","fa fa-caret-down");
- $("#scd_list").removeClass("hidden").css({
- top:xy.top+$t.height()+15,
- left:xy.left
- });
- }).find(".scd_name").html(TempScdID!=""?$.trim("【临时】"+window.localStorage.getItem("PoliceObject.TempScdName")):scdobj.scd_name);
- $("#scd_list").html(lst.join("")).children("div").off().on("click",function(){
- var t=$(this);
- $scd_info.find(".scd_name").html(t.children("span:first").text());
- var tmpscdid=t.attr("scdid");
- $("#scd_list").addClass("hidden");
- $("#scd_info").find("i").attr("class","fa fa-caret-up");
- if(PoliceObject.ScdID==tmpscdid){
- return;
- }
- window.localStorage.removeItem("PoliceObject.TempScdID");
- window.localStorage.removeItem("PoliceObject.TempAreaID");
- PoliceObject.TempScdID="";
- PoliceObject.ScdID=tmpscdid;
- window.localStorage.setItem(PoliceObject.AreaID+ ".ScdID",tmpscdid);
- });
- })
- }
- var selectedFileList=[];//选择的文件列表
- function clearSelectedFileList(){
- selectedFileList=[];
- var $tools_btns=$("#container_map_ied .scd_tools .tools_btns");
- $tools_btns.children("span").addClass("disabled").attr("title","选择文件不支持该操作");
- if(PoliceObject.ScdID!=""){
- $tools_btns.children("span[chktype='scl'],span[chktype='scd'],span[chktype='crc']").removeClass("disabled").attr("title","");
- }
- }
- function selectFile(e,type,scdid,filename){
- var $this=$(e);
- var $tools_btns=$("#container_map_ied .scd_tools .tools_btns");
- $tools_btns.children("span").addClass("disabled").attr("title","选择文件类型或数量不支持该操作");
- if(type=="scd"){
- if(!$this.is(':checked')) return;//取消选中
- if(scdid==-1)return;
- $tools_btns.children("span[chktype='scl'],span[chktype='scd'],span[chktype='crc']").removeClass("disabled").attr("title","");
- iedLoadState=0;
- isLoadIedTreeNode=0;
- PoliceObject.ScdID=scdid;
- PoliceObject.LoadIedList();
- InitLoadStationFileList("file_ccd");
- return;
- }
- if(!$this.is(':checked')) {
- for (var i = 0; i < selectedFileList.length; i++) {
- if(selectedFileList[i]==$this.val()){
- selectedFileList.splice(i,1);
- break;
- }
- }
- }
- else selectedFileList.push($this.val());
- if(selectedFileList.length>2) return;
- var newtype="";
- for (var i = 0; i < selectedFileList.length; i++) {
- var fn=$.trim($("#files_area .file_list input[value='"+selectedFileList[i]+"']").attr("name"));
- if(fn=="") continue;
- if(newtype!="" && newtype!=fn.replace("_files","")) newtype="";//所选择的2个文件类型不一致
- else newtype=fn.replace("_files","");
- }
- if(newtype=="ccd"){
- if(selectedFileList.length==1) $tools_btns.children("span[chktype='ccd_scd']").removeClass("disabled").attr("title","");
- if(selectedFileList.length==2) $tools_btns.children("span[chktype='ccd'],span[chktype='ccd_scd']").removeClass("disabled").attr("title","");
- return;
- }
- if(newtype=="cid"){
- if(selectedFileList.length==1) $tools_btns.children("span[chktype='cid_scd']").removeClass("disabled").attr("title","");
- if(selectedFileList.length==2) $tools_btns.children("span[chktype='cid'],span[chktype='cid_scd']").removeClass("disabled").attr("title","");
- return;
- }
- if(newtype=="icd"){
- if(selectedFileList.length==1) $tools_btns.children("span[chktype='icd_scd']").removeClass("disabled").attr("title","");
- return;
- }
- }
- function InitLoadStationFileList(defaultExpFiletype){
- var ele=$("#files_area");
- var fileTypeList=ele.find(".station_list");
- fileTypeList.html("");
- $.getJSON(Global.AccessUrl+"/api/getGlobalCode",{"pcode":"file_types"},function(r){
- if(r.code!=0 || r.data==null){
- return;
- }
- for (var i = 0; i < r.data.length; i++) {
- if( (/(icd|ccd|cid)/gi).test(r.data[i]["code"].toLocaleLowerCase())){
- r.data[i]["name"]="<span class='f_l'>"+r.data[i].name+"</span><span class='f_r'><i class='fa fa-caret-up'></i></span><span class='f_l iedlist' style='width:100%;'>正在加载装置...</span>";
- }else{
- r.data[i]["name"]="<span class='f_l'>"+r.data[i]["name"]+"</span>"
- }
- }
- fileTypeList.html(template('select_item_tpl',r)).find(".station_list_item").off().on('click', function(e) {
- clearSelectedFileList();
- var $t=$(this);
- fileTypeList.find(".active").removeClass("active");
- $t.addClass("active");
- $("#filetypename").html($t.children("span:first").text());
- $t.parent().find(".station_list_item[isopen='1']").each(function(){
- $(this).find("i.fa-caret-down").attr("class","fa fa-caret-up");
- $(this).children("div:first").addClass("hidden");
- });
- var btnCode=$.trim($t.attr("code"));
- if(btnCode=="file_all"){
- //全部文件
- $("#file_list_tools>span,#tools .file_upload_btn,#tools .func_attachment_delete").addClass("hidden");
- }else if(btnCode=="file_ccd"||btnCode=="file_icd"||btnCode=="file_cid"){
- $("#tools .file_upload_btn,#tools .func_attachment_delete").addClass("hidden");
- $("#file_list_tools>span").removeClass("hidden"); //裁剪文件标签
- }else{
- $("#file_list_tools>span").removeClass("hidden");
- $("#file_list_tools>span[filetype='2']").addClass("hidden"); //裁剪文件标签
- }
- var iedlist=$t.find(".iedlist");
- if(iedlist.length>0){
- e.stopPropagation();
- if(!iedlist.parent().hasClass("hidden")){
- $t.find("i.fa-caret-down").attr("class","fa fa-caret-up");
- iedlist.parent().addClass("hidden").parent().attr("isopen","0");
- }else{
- $t.find("i.fa-caret-down").attr("class","fa fa-caret-down");
- iedlist.parent().removeClass("hidden").parent().attr("isopen","1");
- }
- }
- if(btnCode!='file_all') $("#file_list_tools .active").trigger('click');
- else LoadStationFiles(1,20);
- });
- LoadChildrenIedTreeList();
- if(defaultExpFiletype==null){
- //默认加载第1个
- fileTypeList.find(".station_list_item:first").trigger('click');
- }else{
- //加载指定的文件类型列表
- //fileTypeList.find(".station_list_item[code='"+defaultExpFiletype+"']").trigger('click');
- }
- });
- }
- var isLoadIedTreeNode=0;
- function LoadChildrenIedTreeList(){
- if(iedLoadState==1){
- if(isLoadIedTreeNode==1) return;
- isLoadIedTreeNode=1;
- var iedHtml=[];
- for (var key in PoliceObject.IedList) {
- iedHtml.push('<div title="'+PoliceObject.IedList[key].desc+'" style="width:95%;margin-left:5%;line-height: 3rem;" class="f_l station_list_item ied_item text_overflow" ied_name="'+PoliceObject.IedList[key].ied_name+'"><img style="width:3rem;height:2.5rem;margin-right: 0.5rem;" src=\"/static/images/ied.png\">'+PoliceObject.IedList[key].desc+'</div>');
- }
- var cnt=$("#file_type_tree .station_list_item").length;
- $("#file_type_tree .iedlist").each(function(){
- var t=$(this);
- //如果分类为file_icd02(竣工图纸)时,需要固定添加2个额外的子类:一次图、二次图
- var staticData=[];
- if(t.parent().attr("code")=='file_icd02'){
- staticData.push('<div style="width:95%;margin-left:5%;line-height: 3rem;" class="f_l station_list_item ied_item text_overflow" ied_name="icd02_10000"><i class="fa fa-file-image-o" style="font-size: 2rem;margin: 0 1rem;"></i><span>一次图</span></div>','<div style="width:95%;margin-left:5%;line-height: 3rem;" class="f_l station_list_item ied_item text_overflow" ied_name="icd02_20000"><i class="fa fa-file-image-o" style="font-size: 2rem;margin: 0 1rem;"></i><span>二次图</span></div>');
- }
- t.html(staticData.join("")+ iedHtml.join(""));
- var h=$("#file_type_tree").height()-t.parent().position().top- (40*(cnt+1-t.parent().attr("ind")*1));
- t.slimScroll({
- height: h + "px",
- width: "100%",
- alwaysVisible: false,
- wheelStep: 10,
- size: "6px",
- color: "#03aee7"
- });
- t.parent().addClass("hidden");
- });
- $("#file_type_tree .ied_item").off().on("click",function(e){
- e.stopPropagation();
- $("#file_type_tree .ied_item.active").removeClass("active");
- $(this).addClass("active");
- LoadStationFiles(1,20);
- });
- }else{
- setTimeout(function(){
- if(iedLoadState==1 && isLoadIedTreeNode==1) return;
- LoadChildrenIedTreeList();
- },1000);
- }
- }
- function LoadStationFiles(pageno,pagesize){
- var fileLists=$("#files_area .file_list").html(Tools.LoadingText("正在加载文件数据..."));
- var activeEle=$("#file_type_tree .station_list_item.active");
- var typeValue = activeEle.attr("value");
- if(activeEle.attr("code")=="file_all") typeValue="";
- $.getJSON(Global.AccessUrl+"/api/attachment/list",{
- "pageno":pageno,
- "pagesize":pagesize,
- "name":$.trim($("#search_input_name").val()),
- "ied_name":$("#file_type_tree .ied_item.active").attr("ied_name"),
- "type":typeValue,
- "station_id":PoliceObject.AreaID,
- "scd_id":PoliceObject.ScdID,
- "is_checkin": typeValue==""?"": $("#file_list_tools>span.active").attr("filetype")
- },function(r){
- if(r.code!=0){
- fileLists.html(Tools.LoadingText("加载文件数据失败:"+r.msg,"red"));
- return;
- }
- showFileList(r);
- });
- }
- function showFileList(r){
- if(!paginationLoaded){
- //生成分页
- $("#files_area .pagebar").pagination(r.count, {
- num_edge_entries: 2,
- num_display_entries: 6,
- prev_show_always: false,
- next_show_always: false,
- prev_text: "<",
- next_text: ">",
- callback: function(page_index, jq) {
- //console.log("page_index:" + page_index)
- LoadStationFiles(page_index+1,20);
- },
- items_per_page: 10
- });
- paginationLoaded=true;
- }
- if(r.data==null||r.data.length==0){
- $("#files_area .pagebar").addClass("hidden");
- $("#files_area .file_list").html(Tools.HintText("未查询到文件记录!","#ffffff"));
- return;
- }
- $("#files_area .pagebar").removeClass("hidden");
- var h=template("station_files_item_tpl",r);
- $("#files_area .file_list").html(h);
- $("#files_area .file_list input[name='scd_files'][scd_id='"+PoliceObject.ScdID+"']").prop("checked",true);
- for (var i = 0; i < selectedFileList.length; i++) {
- $("#files_area .file_list input[value='"+selectedFileList[i]+"']").prop("checked",true);
- }
- Global.accessControl();
- }
- //上传文件
- function Upload(e){
- if(isCommting){
- layer.msg("禁止操作:上一操作还未完成,请稍后再试!");
- return;
- }
- e.stopPropagation();
- var $t=$(e), xy=$t.offset();
- $("#file_upload_div").removeClass("hidden").css({
- top:xy.top+$t.height()+15,
- left:xy.left,
- width:"70rem",
- height:"auto"
- });
- }
- //批量下载
- function MultDownloadFile(e){
- if(isCommting){
- layer.msg("禁止操作:上一操作还未完成,请稍后再试!");
- return;
- }
- var ids=[];
- $("#files_area .file_list input[type='checkbox']:checked").each(function(){
- ids.push($(this).attr("value"));
- });
- if(ids.length==0){
- layer.msg("请选择至少一个文件!");
- return;
- }
- isCommting=true;
- layer.msg("正在打包所选文件,请稍候...");
- $.post(Global.AccessUrl+"/api/attachment/download",{"ids":ids.join(",")},function(r){
- isCommting=false;
- if(r.code!=0){
- layer.msg("文件打包失败:"+r.msg);
- return;
- }
- layer.confirm('文件打包成功!<a href="'+r.data+'" style="color: #7472bf;border-bottom: 1px solid #7472bf;cursor:pointer;">下载</a>',{btn: ['关闭']}, function(index) {
- layer.close(index);
- });
- });
- }
- //批量删除
- function MultDeleteFile(e){
- if(isCommting){
- layer.msg("禁止操作:上一操作还未完成,请稍后再试!");
- return;
- }
- var ids=[];
- $("#files_area .file_list input[type='checkbox']:checked").each(function(){
- ids.push($(this).attr("value"));
- });
- if(ids.length==0){
- layer.msg("请选择至少一个文件!");
- return;
- }
- layer.confirm('确定删除选择的所有文件吗?', function(index) {
- isCommting=true;
- $.post(Global.AccessUrl+"/api/attachment/delete",{"ids":ids.join(","),"check_flag":"0"},function(r){
- isCommting=false;
- if(r.code!=0){
- layer.msg("删除文件失败:"+r.msg);
- return;
- }
- layer.msg("文件删除成功");
- clearSelectedFileList();
- LoadStationFiles(1,20);
- });
- });
- }
- //删除单个文件
- function DeleteFile(e,fileid,file_suffix,scdid){
- e.stopPropagation();
- if(isCommting){
- layer.msg("禁止操作:上一操作还未完成,请稍后再试!");
- return;
- }
- layer.confirm(file_suffix=="scd"?'当前删除文件为SCD文件,所有相关数据均会被删除且无法恢复,确定删除吗?':'确定删除该文件吗?',{icon:Global.ICON_ASK}, function(index) {
- isCommting=true;
- $.post(Global.AccessUrl+"/api/attachment/delete",{"id":fileid,"scd_id":scdid,"check_flag":"0"},function(r){
- isCommting=false;
- if(r.code!=0){
- layer.msg("删除文件失败:"+r.msg);
- return;
- }
- layer.msg("文件删除成功");
- clearSelectedFileList();
- LoadStationFiles(1,20);
- });
- });
- }
- function DownloadRec(e,fileid){
- e.stopPropagation();
- //下载记录
- $.post(Global.AccessUrl+"/api/attachment/download/rec",{id:fileid,desc:""},function(r){
- })
- }
- function DetailInfo(evt,station_id,scdid){
- var $scd_detail_info=$("#scd_detail_info");
- $scd_detail_info.removeClass("hidden").animate({"height":"40rem"},2000);
- DialogObject.Open($("#dialog_public"), {
- size: ["80rem", "22rem"],
- para: {
- "title": "详细信息",
- "scdid":scdid,
- "station_id":station_id
- },callback:function(win,para){
- win.find(".caption>b").html(para.title);
- var h = (win.height() - win.find(".caption").height() - win.find(".footer").height());
- var dataitemlist = win.find(".dataitemlist").height(h + "px").html(Tools.HintText("正在加载详细数据..."));
- $.getJSON(Global.AccessUrl+"/api/scd/checkin/detail",{"station_id":para.station_id,"scd_id":para.scdid},function(r){
- dataitemlist.html("");
- if(r.code!=0){
- layer.msg("获取详细信息失败:"+r.msg)
- return;
- }
- if(r.data==null){
- return;
- }
- r.data["detail"]=JSON.parse(r.data.job_content);
- var h=template('scd_detail_item_tpl',r.data);
- dataitemlist.html(h);
- });
- }
- });
- }
- function toTmpScd(stationid, scddid, scdname, scdpath){
- layer.confirm("该文件分析结果不会进行保存,系统会定时自动清除,是否继续?",{icon:Global.ICON_ASK},function(){
- //PoliceObject.toTmpScd(stationid, scdname, scdpath);
- $.post(Global.AccessUrl+"/api/attachment/scdparse/start",{"station_id":stationid,"scd_name":scdname,"scd_path":scdpath},function(r){
- if(r.code!=0){
- layer.msg("操作失败:"+r.msg,{icon:Global.ERROR});
- return;
- }
- PoliceObject.CurentParseScdName=scdname;
- $.post(Global.AccessUrl+"/api/screen/scd/tmp_parse",{"station_id":stationid,"scd_name":scdname,"scd_path":scdpath},function(r1){
- if(r1.code!=0){
- layer.msg("操作失败:"+r1.msg,{icon:Global.ERROR});
- layer.closeAll();
- return;
- }
- layer.closeAll();
- });
- });
- })
- }
- </script>
- <script type="text/html" id="scd_detail_item_tpl">
- <div class="f_l" style="width: 100%">
- <span class="f_l detail_label">文件名称:</span><span class="f_l detail_value text_overflow" title="{{scd_name}}">{{scd_name}}</span>
- <span class="f_l detail_label">版本\状态:</span><span class="f_l detail_value">{{version}}</span>
- <span class="f_l detail_label">签入时间:</span><span class="f_l detail_value">{{finish_date}}</span>
- </div>
- <div class="f_l" style="width: 100%">
- <span class="f_l detail_label">提交人:</span><span class="f_l detail_value">{{username}}</span>
- <span class="f_l detail_label">提交时间:</span><span class="f_l detail_value">{{start_date}}</span>
- <span class="f_l detail_label">签入类型:</span><span class="f_l detail_value text_overflow">{{detail.checkintype_text}}-{{detail.checkinchildtype_text}}</span>
- </div>
- <div class="f_l" style="width: 100%">
- <span class="f_l detail_label">工作内容:</span><span class="f_l detail_value text_overflow" title="{{detail.workbookno}}">{{detail.workbookno||'无'}}</span>
- <span class="f_l detail_label">工作票:</span><span class="f_l detail_value text_overflow">
- {{if detail.workbookno_name!=""}}
- <a download="{{detail.workbookno_name}}" href="{{detail.workbookno_file}}" style="color: #7575c8;border-bottom: 1px solid;">{{detail.workbookno_name}}</a>
- {{else}}
- 无
- {{/if}}
- </span>
- <span class="f_l detail_label">一致性确认书:</span><span class="f_l detail_value text_overflow"><a download="{{detail.confirmbook_name}}" href="{{detail.confirmbook_file}}" style="color: #7575c8;border-bottom: 1px solid;">{{detail.confirmbook_name}}</a></span>
- </div>
- <div class="f_l" style="width: 100%">
- <span class="f_l detail_label">SCD校验信息:</span><span class="f_l detail_value" ><a href="javascript:PoliceObject.CheckTools('scl','{{scd_name}}-校验结果',{{scd_id}})" style="color: #7575c8;border-bottom: 1px solid;">查看校验详情</a></span>
- <span class="f_l detail_label">一致性校验:</span><span class="f_l detail_value" >
- {{if compid!=null && compid>0}}
- <a href="javascript:PoliceObject.CheckTools('scd','{{scd_name}}-一致性校验结果',{{scd_id}})" style="color: #7575c8;border-bottom: 1px solid;">查看校验详情</a>
- {{else}}
- 无
- {{/if}}
- </span>
- </div>
- </script>
- <script type="text/html" id="station_files_item_tpl">
- <table style="width: 98%;text-align: left;line-height: 4rem;"><tbody>
- {{each data}}
- <tr {{if $value.file_suffix=='scd' && $value.check_flag=='1'}}onclick='DetailInfo(this,{{$value.station_id}},"{{$value.scd_id}}")'{{/if}}>
- <td class="text_overflow" style="width: 6%;text-align: center;">
- <input class="" type="checkbox" scd_id="{{$value.scd_id||''}}" value="{{$value.id}}" name="{{$value.file_suffix}}_files" onclick="selectFile(this,'{{$value.file_suffix}}','{{$value.scd_id||0}}','{{$value.file_name}}');event.stopPropagation();">
- </td>
- <td class="text_overflow" style="width: 15%" title="{{$value.file_name}}">
- {{if $value.file_suffix=='scd' && $value.check_flag=='1'}}
- <span style="color: #9f84ea;cursor: pointer;border-bottom: 1px solid #9f84ea;">{{$value.file_name}}</span>
- {{else}}
- {{$value.file_name}}
- {{/if}}
- </td>
- <td class="text_overflow" style="width: 9%;{{if $value.version=='在运版'}}color:green{{/if}}">{{$value.version||' '}}</td>
- <td class="text_overflow" style="width: 8%">{{$value.type_name||" "}}</td>
- <td class="text_overflow" style="width: 8%">
- {{$value.file_size||"-"}}
- </td>
- <td class="text_overflow" style="width: 15%" title="{{$value.save_path}}">{{#$value.save_path||" "}}</td>
- <td class="text_overflow" style="width: 8%">
- {{$value.username||"-"}}
- </td>
- <td class="text_overflow" style="width: 12%">{{$value.created_time||"-"}}</td>
- <td class="text_overflow" style="width: 18%;text-align: center;">
- {{if $value.scd_id>'0' && $value.file_suffix=="scd"}}
- <span class="detail_btn accessControl"><span onclick="event.stopPropagation();PoliceObject.toScd('{{$value.station_id}}','{{$value.scd_id}}','{{$value.file_name}}')" style="color: #134BEA;cursor: pointer;border-bottom: 1px solid #134BEA;">可视化查看</span></span>
- {{/if}}
- <!--非管控SCD文件 可以进行可视化分析-->
- {{if $value.scd_id=='0' && $value.file_suffix=="scd"}}
- <span class="detail_btn accessControl"><span onclick="toTmpScd('{{$value.station_id}}','','{{$value.file_name}}','{{replaceStrPath $value.save_path}}')" style="color: #134BEA;cursor: pointer;border-bottom: 1px solid #134BEA;">可视化分析</span></span>
- {{/if}}
- <span class="detail_btn accessControl" access-code="func_attachment_download"><a download="{{$value.file_name}}" href="{{$value.save_path}}" onclick="DownloadRec(event,{{$value.id}})" style="color: #134BEA;cursor: pointer;border-bottom: 1px solid #134BEA;">下载</a></span>
- {{if $value.check_flag=='0'}}
- <span class="detail_btn accessControl" access-code="func_attachment_delete" onclick="DeleteFile(event,'{{$value.id}}','{{$value.file_suffix}}','{{$value.scd_id}}');" style="cursor: pointer;color: #FF0000;border-bottom: 1px solid #FF0000;">删除</span>
- {{/if}}
- </td>
- </tr>
- {{/each}}
- </tbody>
- </table>
- </script>
- <!--SCL校验-->
- <script type="text/html" id="checktools_scl_tpl">
- <div id="node_tree" class="f_l" style="width: 20%;text-align: left;background-color: #F3F5FA;border-radius: 4px;border: 1px solid #DCDEE3;">
- <div class="ztree tree"></div>
- </div>
- <div id="content_div" class="f_l" style="width: 78%;height: 100%;position: relative;background: #fff;margin-left: 1%;">
- <div class="f_l stat" style="width: 100%;height: 4rem;line-height: 4rem;">
- <span>
- <span alert_level="" style="margin: 0 1rem;cursor: pointer;">全部:<b class="alert_level_all">0</b></span>
- <span alert_level="error" style="margin: 0 1rem;cursor: pointer;">错误:<b class="alert_level_error">0</b></span>
- <span alert_level="waring" style="margin: 0 1rem;cursor: pointer;">告警:<b class="alert_level_waring">0</b></span>
- <span alert_level="hint" style="margin: 0 1rem;cursor: pointer;">提示:<b class="alert_level_hint">0</b></span>
- <span class="btn f_l accessControl func_scdcomp_exportexcel" access-code="func_scdcomp_exportexcel" isall="1" style="width: 12rem;margin-top: 0.3rem;margin-left: 1.5rem;text-align: center;"><i class="fa fa-file-excel-o"></i>导出所有结果</span>
- <span class="btn f_l accessControl func_scdcomp_exportexcel" access-code="func_scdcomp_exportexcel" isall="0" style="width: 15rem;margin-top: 0.3rem;margin-left: 1.5rem;text-align: center;"><i class="fa fa-file-excel-o"></i>导出当前节点结果</span>
- </span>
- </div>
- <div class="datalist_header" style="height: 4rem;line-height: 2.6rem;overflow: auto;width: 100%">
- <table style="width: 100%;text-align: left;background-color: #423176;"><thead><tr>
- <td class="" style="width: 6%;padding-left: 1rem;">装置名称</td>
- <td class="" style="width: 14%">装置描述</td>
- <td class="" style="width: 8%">等级</td>
- <td class="" style="width: 8%">行号</td>
- <td class="" style="width: 47%">描述</td>
- <td class="" style="width: 15%">标准及条款</td>
- </tr></thead></table>
- </div>
- <div class="f_l datalist" style="width: 100%;"></div>
- <div class="f_l pagebar pagination" style="width: 100%;height: 4rem;line-height: 2rem;"></div>
- </div>
- </script>
- <script type="text/html" id="checktools_scl_datalist_tpl">
- <table style="width: 100%;text-align: left;table-layout: fixed;">
- <tbody>
- {{each data}}
- <tr class="alert_level_{{$value.alert_level}}" alertid="{{$value.node_id}}">
- <td class="" style="width: 6%;padding-left: 1rem;">{{#($value.ied_name||"-")}}</td>
- <td class="" style="width: 14%;line-height: 2rem;">{{#($value.ied_desc||"-")}}</td>
- <td class="" style="width: 8%">{{alertLevelDesc $value.alert_level}}</td>
- <td class="" style="width: 8%;line-height: 2rem;"><a style="color: #8080f0;text-decoration: underline;cursor: pointer;" href="javascript:PoliceObject.OpenToXml({{$value.scd_id}},{{$value.line_no}},'{{$value.parse_result}}')">{{$value.line_no}}</a></td>
- <td class="" style="width: 47%;line-height: 2rem;">{{$value.parse_result}}</td>
- <td class="" style="width: 15%;line-height: 2rem;" title="">{{$value.apply_standard}} {{$value.apply_standard_no}}</td>
- </tr>
- {{/each}}
- </tbody>
- </table>
- </script>
- <!--SCD校验-->
- <script type="text/html" id="checktools_scd_tpl">
- <div class="f_l" style="width: 30%">
- <div id="scd_comp_tools" class="f_l" style="width: 100%;height: 5rem;text-align: left;">
- <span class="btn f_l accessControl func_scdcomp_new" access-code="func_scdcomp_new" style="width: 10rem;margin-left: 1.5rem;text-align: center;"><i class="fa fa-plus"></i>新的比对</span>
- <span class="btn f_l accessControl func_scdcomp_start" access-code="func_scdcomp_start" style="width: 10rem;margin-left: 1.5rem;text-align: center;"><i class="fa fa-check"></i>重新比对</span>
- <span class="btn f_l accessControl func_scdcomp_exportexcel" access-code="func_scdcomp_exportexcel" style="width: 12rem;margin-left: 1.5rem;text-align: center;"><i class="fa fa-file-excel-o"></i>导出所有结果</span>
- </div>
- <div id="scd_comp_list" class="f_l" style="width: 100%;height: 90%;text-align: left;background-color: #fbfbfb;border: 1px solid #f2f2f2;">
- <table class="datalist_header f_l" style="width: 100%;text-align: center;background-color: #fbfbfb;"><thead><tr>
- <td class="text_overflow" style="width: 9%;">选择</td>
- <td class="text_overflow" style="width: 40%;">比对SCD</td>
- <td class="text_overflow" style="width: 38%;">日期</td>
- <td class="text_overflow" style="width: 10%;">操作</td>
- </tr></thead></table>
- <div class="datalist f_l"></div>
- </div>
- </div>
- <div id="content_div" class="f_l" style="width: 68%;margin-left: 1.5%;height: 98%;position: relative;background: #fff;border: 1px solid #C8D4E2;border-radius:0.5rem;background: #F3F5FA;">
- <div id="node_tree" class="f_l" style="width: 97%;height: 4rem;line-height: 4rem;text-align: left;color: #516380;background: #FFF;margin:1%;">
- <div class="f_l" style="text-align: center;width: 49%"><span>基准SCD:</span><b style="color: #09162C">—</b></div>
- <div class="f_l" style="width: 2%;color: #516380;font-weight: bold;text-align: center;font-size: 2rem;">|</div>
- <div class="f_l" style="text-align: center;width: 49%"><span>比对SCD:</span><b style="color: #09162C">—</b></div>
- </div>
- <div id="comp_show_area" class="f_l" style="width: 100%;height: 90.5%;margin-left: 0;position: relative;">
- <div>请选择比对记录或创建新的比对</div>
- </div>
- </div>
- </script>
- <script type="text/html" id="checktools_scd_datalist_tpl">
- <table style="width: 100%;text-align: center;">
- <tbody>
- {{each data}}
- <tr style="border-bottom: 1px solid #f0f0f0;">
- <td class="text_overflow" style="width: 9%;">{{if $value.node_state=="1"}}<input type="radio" name="comp_selected" value="{{$value.id}}">{{else}} {{/if}}</td>
- <td class="text_overflow" style="width: 40%" title="{{$value.source_name}}与{{$value.target_name}}">{{#($value.name||"-")}}</td>
- <td class="text_overflow" style="width: 38%">{{$value.CREATED_TIME}}</td>
- <td class="text_overflow" style="width: 10%">
- {{if $value.node_state=="1"}}
- <span onclick="PoliceObject.CheckTools_Scd_Comp_Detail(this,'{{$value.id}}','{{$value.source_name}}','{{$value.target_name}}','{{$value.source_id}}','{{$value.target_id}}')" style="cursor: pointer;border-bottom: 1px solid #9784d0;color: #9784d0;">查看</span>
- {{else}}...{{/if}}
- </td>
- </tr>
- {{/each}}
- </tbody>
- </table>
- </script>
- <script type="text/html" id="comp_scd_tpl">
- <div class="abs comp_scd" style="left:20%">
- <img src="/static/images/comp_scd/version.png">
- <div class="scd_font">SCD版本</div>
- <div style="margin-top: 1rem;">
- <div><img src="/static/images/comp_scd/change_icon_1.png" style="width: 1rem"><b> {{version.target||'无'}}</b></div>
- <div><img src="/static/images/comp_scd/allow.png" style="height: 4rem;width: 1rem;"></div>
- <div style="color: #000;"><img src="/static/images/comp_scd/change_icon_2.png" style="width: 1rem"><b> {{version.source||'无'}}</b></div>
- </div>
- </div>
- <div class="abs comp_scd" style="left:45%">
- <img src="/static/images/comp_scd/crc.png">
- <div class="scd_font">CRC</div>
- <div style="margin-top: 1rem;">
- <div><img src="/static/images/comp_scd/change_icon_1.png" style="width: 1rem"><b> {{crc.target||'无'}}</b></div>
- <div><img src="/static/images/comp_scd/allow.png" style="height: 4rem;width: 1rem;"></div>
- <div style="color: #000;"><img src="/static/images/comp_scd/change_icon_2.png" style="width: 1rem;"><b> {{crc.source||'无'}}</b></div>
- </div>
- </div>
- <div class="abs comp_scd" style="left:70%">
- <img src="/static/images/comp_scd/ied.png">
- <div class="scd_font">IED</div>
- </div>
- <div class="abs" id="ied_change_stat">
- <div class="change_btn f_l" style="color: #134BEA" change_type='i' change_num="{{ied.addnum||'0'}}"><span class="abs linkpointer"> </span><img src="/static/images/comp_scd/add.png"> 新增({{ied.addnum||'0'}})</div>
- <div class="change_btn f_l" style="color: #FFBC11" change_type='u' change_num="{{ied.editnum||'0'}}"><span class="abs linkpointer"> </span><img src="/static/images/comp_scd/edit.png"> 更改({{ied.editnum||'0'}})</div>
- <div class="change_btn f_l" style="color: #FF0000" change_type='d' change_num="{{ied.delnum||'0'}}"><span class="abs linkpointer"> </span><img src="/static/images/comp_scd/del.png"> 删除({{ied.delnum||'0'}})</div>
- </div>
- </script>
- <script type="text/html" id="comp_scd_ied_tpl">
- <div class="f_l comp_ied_list" id="comp_ied_list">
- <div style="font-weight: bold;text-align: left;border-bottom: 1px solid #ccc;line-height: 3rem;">【{{opt}}】的设备列表 ({{num}})</div>
- <div class="ied_data_list">
- {{each list}}
- <div class="ied_item text_overflow" title="{{$value.ied_desc}}" ied_name="{{$value.ied_name}}">({{$value.ied_name}}){{$value.ied_desc}}</div>
- {{/each}}
- </div>
- <div class="ied_comp_items">
- <div class="f_l node" type='ied' num='0'><i class="f_l fa fa-caret-right" /><span class="f_l">装置信息</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="ied" type="scd.ied" num='0'><span class="f_l">基本信息</span><span class="f_r num">0</span></div>
- <div class="f_l node" type='Communication' num='0'><i class="f_l fa fa-caret-right" /><span class="f_l">通信参数</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Communication" type="scd.ied.Communication" num='0'><span class="f_l">通信接入点</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Communication" type="scd.ied.Communication.S1" num='0'><span class="f_l">站控层通信参数</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Communication" type="scd.ied.Communication.GSE" num='0'><span class="f_l">GOOSE 通信参数</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Communication" type="scd.ied.Communication.SMV" num='0' num='0'><span class="f_l">SV 通信参数</span><span class="f_r num">0</span></div>
- <div class="f_l node" type='Point' num='0'><i class="f_l fa fa-caret-right" /><span class="f_l">测点信息</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Point" type="scd.ied.YX" num='0'><span class="f_l">遥信</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Point" type="scd.ied.YK" num='0'><span class="f_l">遥控</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Point" type="scd.ied.YC" num='0'><span class="f_l">遥测</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Point" type="scd.ied.YM" num='0'><span class="f_l">遥脉</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Point" type="scd.ied.DZ" num='0'><span class="f_l">定值</span><span class="f_r num">0</span></div>
- <div class="f_l node" type='config' num='0'><i class="f_l fa fa-caret-right"/><span class="f_l">回路配置</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="config" type="scd.ied.FCDA" num='0'><span class="f_l">发布虚端子</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="config" type="scd.ied.ExtRef" num='0'><span class="f_l">定阅虚端子</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="config" type="scd.ied.Relation" num='0'><span class="f_l">虚回路信息</span><span class="f_r num">0</span></div>
- <div class="f_l node" type='model' num='0'><i class="f_l fa fa-caret-right"/><span class="f_l">建模信息</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="model" type="scd.ied.DatSet" num='0'><span class="f_l">数据集</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="model" type="scd.ied.DatSetMeber" num='0'><span class="f_l">数据集成员</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="model" type="scd.ied.GSEControl" num='0'><span class="f_l">GOOSE控制块</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="model" type="scd.ied.SampledValueControl" num='0'><span class="f_l">SV控制块</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="model" type="scd.ied.ReportControl" num='0'><span class="f_l">报告控制块</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="model" type="scd.ied.LogControl" num='0'><span class="f_l">日志控制块</span><span class="f_r num">0</span></div>
- </div>
- </div>
- <div class="f_l comp_ied_result_show" id="comp_ied_result_show">
- <div id="node_tree" class="f_l" style="width: 98%;height: 4rem;line-height: 4rem;text-align: left;color: #516380;background: #FFF;margin:1%;">
- <div class="f_l" style="text-align: center;width: 49%"><span>基准SCD:</span><b style="color: #09162C">—</b></div>
- <div class="f_l" style="width: 2%;color: #516380;font-weight: bold;text-align: center;font-size: 2rem;">|</div>
- <div class="f_l" style="text-align: center;width: 49%"><span>比对SCD:</span><b style="color: #09162C">—</b></div>
- </div>
- <div class="comp_show_area" class="f_l">
- <div>正在加载数据中...</div>
- </div>
- </div>
- </script>
- <script type="text/html" id="comp_ied_result_show_tpl">
- <div class="comp_ied_result_split_line"></div>
- <div class="iedele source_ied" style="left: 5%"><img src="/static/images/default_ied.png"><div class="ied_name"></div></div>
- <div class="iedele target_ied" style="left: 90%"><img src="/static/images/default_ied.png"><div class="ied_name"></div></div>
- </script>
- <!--SCD校验模板定义结束-->
- <!--CCD校验结果模板定义-->
- <script type="text/html" id="comp_ccd_ied_tpl">
- <div class="f_l comp_ied_list" id="comp_ied_list">
- <div style="font-weight: bold;text-align: left;border-bottom: 1px solid #ccc;line-height: 3rem;">当前设备</div>
- <div class="ied_data_list" style="height: 10%;line-height: 2rem;">
- {{each list}}
- <div class="ied_item text_overflow" title="{{$value.ied_desc}}" ied_name="{{$value.ied_name}}">({{$value.ied_name}}){{$value.ied_desc}}</div>
- {{/each}}
- </div>
- <div class="ied_comp_items" style="height: 81%">
- <div class="f_l node" type='ied' num='0'><i class="f_l fa fa-caret-right" /><span class="f_l">装置信息</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="ied" type="scd.ied" num='0'><span class="f_l">基本信息</span><span class="f_r num">0</span></div>
- <div class="f_l node" type='control' num='0'><i class="f_l fa fa-caret-right" /><span class="f_l">控制块</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="control" type="scd.ied.goosepub" num='0'><span class="f_l">GOOSE发布</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="control" type="scd.ied.goosesub" num='0'><span class="f_l">GOOSE订阅</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="control" type="scd.ied.svpub" num='0'><span class="f_l">SV发布</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="control" type="scd.ied.svsub" num='0'><span class="f_l">SV订阅</span><span class="f_r num">0</span></div>
- <div class="f_l node" type='Communication' num='0'><i class="f_l fa fa-caret-right" /><span class="f_l">接入点</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Communication" type="scd.ied.goosepub.Communication" num='0'><span class="f_l">GOOSE发布接入点</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Communication" type="scd.ied.goosesub.Communication" num='0'><span class="f_l">GOOSE订阅接入点</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Communication" type="scd.ied.smvpub.Communication" num='0'><span class="f_l">SV发布接入点</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Communication" type="scd.ied.smvsub.Communication" num='0'><span class="f_l">SV订阅接入点</span><span class="f_r num">0</span></div>
- <div class="f_l node" type='CommParameter' num='0'><i class="f_l fa fa-caret-right" /><span class="f_l">通信参数</span><span class="f_r num">0</span></div>
- <!--<div class="f_l children hidden" p_type="Communication" type="scd.ied.Communication.S1" num='0'><span class="f_l">站控层通信参数</span><span class="f_r num">0</span></div>-->
- <div class="f_l children hidden" p_type="CommParameter" type="scd.ied.goosepub.Communication.GSE" num='0'><span class="f_l">GOOSE发布通信参数</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="CommParameter" type="scd.ied.goosesub.Communication.GSE" num='0'><span class="f_l">GOOSE订阅通信参数</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="CommParameter" type="scd.ied.smvpub.Communication.SMV" num='0' num='0'><span class="f_l">SV发布通信参数</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="CommParameter" type="scd.ied.smvsub.Communication.SMV" num='0' num='0'><span class="f_l">SV订阅通信参数</span><span class="f_r num">0</span></div>
- <!--
- <div class="f_l node" type='Point' num='0'><i class="f_l fa fa-caret-right" /><span class="f_l">测点信息</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Point" type="scd.ied.YX" num='0'><span class="f_l">遥信</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Point" type="scd.ied.YK" num='0'><span class="f_l">遥控</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Point" type="scd.ied.YC" num='0'><span class="f_l">遥测</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Point" type="scd.ied.YM" num='0'><span class="f_l">遥脉</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="Point" type="scd.ied.DZ" num='0'><span class="f_l">定值</span><span class="f_r num">0</span></div>
- -->
- <div class="f_l node" type='config' num='0'><i class="f_l fa fa-caret-right"/><span class="f_l">虚端子配置</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="config" type="scd.ied.goosepub.FCDA" num='0'><span class="f_l">GOOSE发布虚端子</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="config" type="scd.ied.goosesub.FCDA" num='0'><span class="f_l">GOOSE订阅虚端子</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="config" type="scd.ied.smvpub.FCDA" num='0'><span class="f_l">SV发布虚端子</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="config" type="scd.ied.smvsub.FCDA" num='0'><span class="f_l">SV订阅虚端子</span><span class="f_r num">0</span></div>
- <!--
- <div class="f_l node" type='model' num='0'><i class="f_l fa fa-caret-right"/><span class="f_l">建模信息</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="model" type="scd.ied.DatSet" num='0'><span class="f_l">数据集</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="model" type="scd.ied.DatSetMeber" num='0'><span class="f_l">数据集成员</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="model" type="scd.ied.GSEControl" num='0'><span class="f_l">GOOSE控制块</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="model" type="scd.ied.SampledValueControl" num='0'><span class="f_l">SV控制块</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="model" type="scd.ied.ReportControl" num='0'><span class="f_l">报告控制块</span><span class="f_r num">0</span></div>
- <div class="f_l children hidden" p_type="model" type="scd.ied.LogControl" num='0'><span class="f_l">日志控制块</span><span class="f_r num">0</span></div>
- -->
- </div>
- </div>
- <div class="f_l comp_ied_result_show" id="comp_ied_result_show">
- <div id="node_tree" class="f_l" style="width: 98%;height: 4rem;line-height: 4rem;text-align: left;color: #516380;background: #FFF;margin:1%;">
- <div class="f_l" style="text-align: center;width: 49%"><span>基准CID:</span><b style="color: #09162C">—</b></div>
- <div class="f_l" style="width: 2%;color: #516380;font-weight: bold;text-align: center;font-size: 2rem;">|</div>
- <div class="f_l" style="text-align: center;width: 49%"><span>比对CID:</span><b style="color: #09162C">—</b></div>
- </div>
- <div class="comp_show_area" class="f_l">
- <div>正在加载数据中...</div>
- </div>
- </div>
- </script>
- <script type="text/html" id="dingzhi_datasetlist_tpl">
- <table class="headertable" style="width: 98%;">
- <thead><tr><td style="width: 4rem">序号</td><td style="width: 4rem">访问点</td><td style="width: 15rem">逻辑设备(Inst)</td><td style="width: 15rem">数据集名称</td><td style="width: 20rem">数据集描述</td></tr></thead>
- </table>
- <div class="detailtable" style="width: 100%;height: 96%;">
- <table style="width: 100%;">
- <tbody>
- {{each data}}
- <tr fcdalist='{{$value.fcdalist}}'><td style="width: 4rem">{{$index+1}}</td>
- <td style="width: 4rem">{{$value.accesspoint_name}}</td>
- <td style="width: 15rem">{{$value.ld_desc}}({{$value.ld_name}})</td>
- <td style="width: 15rem">{{$value.dataset_name}}</td>
- <td style="width: 20rem">{{$value.dataset_desc}}</td>
- </tr>
- {{/each}}
- </tbody>
- </table>
- </div>
- </script>
- <script type="text/html" id="dingzhi_fcdalist_tpl">
- <table class="headertable" style="width: 98%;">
- <thead><tr><td style="width: 4rem">序号</td><td style="width: 16rem">条目描述</td><td style="width: 6rem">最大值</td><td style="width: 6rem">最小值</td><td style="width: 6rem">单位</td><td style="width: 6rem">步长</td><td style="width: 12rem">数据类型</td><td style="width: 15rem">内部地址</td></tr></thead>
- </table>
- <div class="detailtable" style="width: 100%;height: 96%;">
- <table style="width: 100%;">
- <tbody>
- {{each data}}
- <tr>
- <td style="width: 4rem">{{$index+1}}</td>
- <td style="width: 16rem;line-height: 1.2rem;">{{$value.doi_desc}}</td>
- <td style="width: 6rem">{{$value.da_maxval||''}}</td>
- <td style="width: 6rem">{{$value.da_minval||''}}</td>
- <td style="width: 6rem">{{$value.da_units||''}}</td>
- <td style="width: 6rem">{{$value.da_stepsize||''}}</td>
- <td style="width: 12rem">{{$value.da_datatype||''}}</td>
- <td style="width: 15rem">{{$value.short_addr||''}}</td>
- </tr>
- {{/each}}
- </tbody>
- </table>
- </div>
- </script>
- <!--信息点表模板-->
- <script type="text/html" id="pointtable_datasetlist_tpl">
- <table class="headertable" style="width: 98%;">
- <thead><tr><td style="width: 4rem">序号</td><td style="width: 4rem">访问点</td><td style="width: 8rem">逻辑设备(Inst)</td><td style="width: 8rem">控制块名称</td><td style="width: 12rem">控制块描述</td><td style="width: 8rem">数据集名称</td><td style="width: 12rem">RptID</td><td style="width: 6rem">完整性周期</td><td style="width: 4rem">配置版本</td><td style="width: 4rem">是否缓存</td><td style="width: 4rem">缓存时间</td><td style="width: 6rem">信息点数量</td></tr></thead>
- </table>
- <div class="detailtable" style="width: 100%;height: 96%;">
- <table style="width: 100%;">
- <tbody>
- {{each data}}
- <tr fcdalist='{{$value.fcdalist}}'>
- <td style="width: 4rem">{{$index+1}}</td>
- <td style="width: 4rem">{{$value.accesspoint_name}}</td>
- <td style="width: 8rem">{{$value.ld_desc}}({{$value.ld_inst}})</td>
- <td style="width: 8rem">{{$value.block_name}}</td>
- <td style="width: 12rem">{{$value.block_desc}}</td>
- <td style="width: 8rem">{{$value.block_datset}}</td>
- <td style="width: 12rem">{{$value.block_rptid}}</td>
- <td style="width: 6rem">{{$value.block_intgpd}}</td>
- <td style="width: 4rem">{{$value.block_confrev}}</td>
- <td style="width: 4rem">{{$value.block_buffered}}</td>
- <td style="width: 4rem">{{$value.block_buftime}}</td>
- <td style="width: 6rem">{{$value.point_cnt}}</td>
- </tr>
- {{/each}}
- </tbody>
- </table>
- </div>
- </script>
- <!--信息点表模板-->
- <script type="text/html" id="pointtable_fcdalist_tpl">
- <table class="headertable" style="width: 98%;">
- <thead><tr><td style="width: 4rem">序号</td><td style="width: 20rem">条目描述</td><td style="width: 8rem">数据类型</td><td style="width: 20rem">内部地址</td></tr></thead>
- </table>
- <div class="detailtable" style="width: 100%;height: 96%;">
- <table style="width: 100%;">
- <tbody>
- {{each data}}
- <tr>
- <td style="width: 4rem">{{$index+1}}</td><td style="width: 20rem">{{$value.doi_desc}}</td><td style="width: 8rem">{{$value.da_datatype||''}}</td><td style="width: 20rem">{{$value.short_addr||''}}</td>
- </tr>
- {{/each}}
- </tbody>
- </table>
- </div>
- </script>
- <!--SV发送列表模板-->
- <script type="text/html" id="svsend_datasetlist_tpl">
- <table class="headertable" style="width: 98%;">
- <thead><tr><td style="width: 4rem">序号</td><td style="width: 10rem">控制块名称</td><td style="width: 8rem">数据集</td><td style="width: 15rem">APPID</td><td style="width: 15rem">MAC地址</td><td style="width: 6rem">VLAN-ID</td></tr></thead>
- </table>
- <div class="detailtable" style="width: 100%;height: 96%;">
- <table style="width: 100%;">
- <tbody>
- {{each data}}
- <tr ctrl_id="{{$value.node_id}}"><td style="width: 4rem">{{$index+1}}</td><td style="width: 10rem">{{$value.attr_name}}</td><td style="width: 8rem">[{{$value.attr_dat_set}}]{{$value.datset_desc}}</td><td style="width: 15rem">{{$value.address.APPID}}</td><td style="width: 15rem">{{$value.address.MAC_Address}}</td><td style="width: 6rem">{{$value.address.VLAN_ID}}</td></tr>
- {{/each}}
- </tbody>
- </table>
- </div>
- </script>
- <!--SV发送列表模板-->
- <script type="text/html" id="svsend_fcdalist_tpl">
- <table class="headertable" style="width: 98%;">
- <thead><tr><td style="width: 4rem">序号</td><td style="width: 15rem">内部端子描述</td><td style="width: 15rem">内部端子地址</td><td style="width: 15rem">外部IED名称</td><td style="width: 15rem">外部端子描述</td></tr></thead>
- </table>
- <div class="detailtable" style="width: 100%;height: 96%;">
- <table style="width: 100%;">
- <tbody>
- {{each data}}
- <tr>
- <td style="width: 4rem">{{$index+1}}</td><td style="width: 15rem">{{$value.do_desc}}</td>
- <td style="width: 15rem">{{$value.ld_inst||''}}/{{$value.prefix}}{{$value.ld_inst}}{{$value.ln_class}}{{$value.ln_inst}}.{{$value.do_name}}</td>
- <td style="width: 15rem">{{$value.out_ied_name||''}}{{'.'+$value.out_ied_desc||''}}</td>
- <td style="width: 15rem">{{$value.out_do_desc||''}}</td>
- </tr>
- {{/each}}
- </tbody>
- </table>
- </div>
- </script>
- <!--SV接收模板-->
- <script type="text/html" id="svrev_datasetlist_tpl">
- <table class="headertable" style="width: 98%;">
- <thead><tr><td style="width: 4rem">序号</td><td style="width: 15rem">输入IED</td><td style="width: 15rem">控制块名称</td><td style="width: 10rem">数据集</td><td style="width: 10rem">APPID</td></tr></thead>
- </table>
- <div class="detailtable" style="width: 100%;height: 96%;">
- <table style="width: 100%;">
- <tbody>
- {{each data}}
- <tr fcdalist="{{$value.info.list}}">
- <td style="width: 4rem">{{$index+1}}</td>
- <td style="width: 15rem">[{{$value.info.out_ied_name}}]{{$value.info.out_ied_desc}}</td>
- <td style="width: 15rem">{{$value.info.out_smv_ctrl_name||''}}</td>
- <td style="width: 10rem">{{$value.info.out_dataset_name||''}}</td>
- <td style="width: 10rem">{{$value.info.out_smv_ctrl_address.APPID||''}}</td>
- </tr>
- {{/each}}
- </tbody>
- </table>
- </div>
- </script>
- <script type="text/html" id="svrev_fcdalist_tpl">
- <table class="headertable" style="width: 98%;">
- <thead><tr><td style="width: 4rem">序号</td><td style="width: 15rem">内部端子描述</td><td style="width: 15rem">内部端子地址</td><td style="width: 15rem">外部IED名称</td><td style="width: 15rem">外部端子描述</td></tr></thead>
- </table>
- <div class="detailtable" style="width: 100%;height: 96%;">
- <table style="width: 100%;">
- <tbody>
- {{each data}}
- <tr>
- <td style="width: 4rem">{{$index+1}}</td>
- <td style="width: 15rem">{{$value.do_desc}}</td>
- <td style="width: 15rem">{{$value.int_addr}}</td>
- <td style="width: 15rem">{{$value.out_ied_name||''}}{{'.'+$value.out_ied_desc||''}}</td>
- <td style="width: 15rem">{{$value.out_do_desc||''}}</td>
- </tr>
- {{/each}}
- </tbody>
- </table>
- </div>
- </script>
- <!--GOOSE发送列表模板-->
- <script type="text/html" id="goosesend_datasetlist_tpl">
- <table class="headertable" style="width: 98%;">
- <thead><tr><td style="width: 4rem">序号</td><td style="width: 10rem">控制块名称</td><td style="width: 10rem">数据集</td><td style="width: 6rem">APPID</td><td style="width: 10rem">MAC地址</td><td style="width: 10rem">VLAN-ID</td></tr></thead>
- </table>
- <div class="detailtable" style="width: 100%;height: 96%;">
- <table style="width: 100%;">
- <tbody>
- {{each data}}
- <tr ctrl_id="{{$value.node_id}}"><td style="width: 4rem">{{$index+1}}</td><td style="width: 10rem">{{$value.attr_name}}</td><td style="width: 10rem">[{{$value.attr_dat_set}}]{{$value.datset_desc}}</td><td style="width: 6rem">{{$value.address.APPID}}</td><td style="width: 10rem">{{$value.address.MAC_Address}}</td><td style="width: 10rem">{{$value.address.VLAN_ID}}</td></tr>
- {{/each}}
- </tbody>
- </table>
- </div>
- </script>
- <!--GOOSE发送列表模板-->
- <script type="text/html" id="goosesend_fcdalist_tpl">
- <table class="headertable" style="width: 98%;">
- <thead><tr><td style="width: 4rem">序号</td><td style="width: 15rem">内部端子描述</td><td style="width: 15rem">内部端子地址</td><td style="width: 15rem">外部IED名称</td><td style="width: 15rem">外部端子描述</td></tr></thead>
- </table>
- <div class="detailtable" style="width: 100%;height: 96%;">
- <table style="width: 100%;">
- <tbody>
- {{each data}}
- <tr>
- <td style="width: 4rem">{{$index+1}}</td>
- <td style="width: 15rem">{{$value.do_desc}}</td>
- <td style="width: 15rem">{{$value.ld_inst||''}}/{{$value.prefix}}{{$value.ld_inst}}{{$value.ln_class}}{{$value.ln_inst}}.{{$value.do_name}}</td>
- <td style="width: 15rem">{{$value.out_ied_name||''}}{{'.'+$value.out_ied_desc||''}}</td>
- <td style="width: 15rem">{{$value.out_do_desc||''}}</td>
- </tr>
- {{/each}}
- </tbody>
- </table>
- </div>
- </script>
- <!--GOOSE接收模板-->
- <script type="text/html" id="gooserev_datasetlist_tpl">
- <table class="headertable" style="width: 98%;">
- <thead><tr><td style="width: 4rem">序号</td><td style="width: 15rem">输入IED</td><td style="width: 15rem">控制块名称</td><td style="width: 15rem">数据集</td><td style="width: 8rem">APPID</td></tr></thead>
- </table>
- <div class="detailtable" style="width: 100%;height: 96%;">
- <table style="width: 100%;">
- <tbody>
- {{each data}}
- <tr fcdalist="{{$value.info.list}}">
- <td style="width: 4rem">{{$index+1}}</td>
- <td style="width: 15rem">[{{$value.info.out_ied_name}}]{{$value.info.out_ied_desc}}</td>
- <td style="width: 15rem">{{$value.info.out_gse_ctrl_name||''}}</td>
- <td style="width: 15rem">{{$value.info.out_dataset_name||''}}</td>
- <td style="width: 8rem">{{$value.info.out_gse_ctrl_address.APPID||''}}</td>
- </tr>
- {{/each}}
- </tbody>
- </table>
- </div>
- </script>
- <script type="text/html" id="gooserev_fcdalist_tpl">
- <table class="headertable" style="width: 98%;">
- <thead><tr><td style="width: 4rem">序号</td><td style="width: 15rem">内部端子描述</td><td style="width: 15rem">内部端子地址</td><td style="width: 15rem">外部IED名称</td><td style="width: 15rem">外部端子描述</td></tr></thead>
- </table>
- <div class="detailtable" style="width: 100%;height: 96%;">
- <table style="width: 100%;">
- <tbody>
- {{each data}}
- <tr>
- <td style="width: 4rem">{{$index+1}}</td>
- <td style="width: 15rem">{{$value.do_desc}}</td>
- <td style="width: 15rem">{{$value.int_addr}}</td>
- <td style="width: 15rem">{{$value.out_ied_name||''}}{{'.'+$value.out_ied_desc||''}}</td>
- <td style="width: 15rem">{{$value.out_do_desc||''}}</td>
- </tr>
- {{/each}}
- </tbody>
- </table>
- </div>
- </script>
- <script type="text/html" id="ied_detail_tpl">
- <div id="ied_list_tree" class="station_list f_l" style="width:19%;height: 100%;text-align: left;position: static;box-shadow: 0px 0px 0px 0px rgba(163,139,243,0.56);">
- <div><input type="text" class="layui-input fast_find_list" placeholder="快速查找" style="background: #a09eb9;color: #fff;border-color: #45436a;"></div>
- <div></div>
- </div>
- <div class="tools f_l" style="height: 5rem;width:80%;">
- <ul class="layui-tab-title" style="text-align: center;border: 0;padding-top: 1rem;">
- <li class="layui-this" onclick="PoliceObject.LoadIedGraph(this,PoliceObject.GetIedData($(this).parents('.site_device_list').attr('ied_name'),$(this).parents('.site_device_list').attr('scd_id')))">装置关联关系</li>
- <li class="" onclick="PoliceObject.LoadIedCtrlRelation(this,PoliceObject.GetIedData($(this).parents('.site_device_list').attr('ied_name'),$(this).parents('.site_device_list').attr('scd_id')))">输入输出控制块</li>
- <li class="" onclick="PoliceObject.LoadIedAllPointRelation(this,PoliceObject.GetIedData($(this).parents('.site_device_list').attr('ied_name'),$(this).parents('.site_device_list').attr('scd_id')))">虚端子关系</li>
- <li class="" onclick="PoliceObject.LoadIedStrcut(this,PoliceObject.GetIedData($(this).parents('.site_device_list').attr('ied_name'),$(this).parents('.site_device_list').attr('scd_id')))">基础信息</li>
- <li class="" onclick="PoliceObject.LoadIedDingzhiTable(this,PoliceObject.GetIedData($(this).parents('.site_device_list').attr('ied_name'),$(this).parents('.site_device_list').attr('scd_id')))">定值条目</li>
- <li class="" onclick="PoliceObject.LoadIedPointTable(this,PoliceObject.GetIedData($(this).parents('.site_device_list').attr('ied_name'),$(this).parents('.site_device_list').attr('scd_id')))">信息点表</li>
- <li class="" onclick="PoliceObject.LoadIedSourceXML(this,PoliceObject.GetIedData($(this).parents('.site_device_list').attr('ied_name'),$(this).parents('.site_device_list').attr('scd_id')))">源文件</li>
- </ul>
- </div>
- <div class="content f_l" style="width:80%">
- <div class="hidden" id="ied_info" style="position: relative;height: 100%;">
- <div id="ied_strcut_detail" style="height: 60rem;position: relative;"></div>
- </div>
- <div class="hidden" id="ied_relation" style="position: relative;height: 100%;">
- <div class="abs tools layui-tab-title" style="margin: 0 !important;width: 98% !important;border: 0 !important;margin-left: 1% !important;text-align: left;top: 1%;border-bottom: 1px solid #ccc !important;border-radius: 0 !important;">
- <li class="layui-this ref_map">关联图</li><li class="sv_send">SV发送</li><li class="sv_revice">SV接收</li><li class="goose_send">GOOSE发送</li><li class="goose_revice">GOOSE接收</li>
- </div>
- <div id="ied_strcut_detail" style="height: 60rem;position: relative;"></div>
- </div>
- <div class="hidden" id="ied_allpoint_info" style="position: relative;height: 100%;">
- <div id="ied_strcut_detail" style="height: 60rem;position: relative;"></div>
- </div>
- <div class="hidden" id="ied_basicinfo" style="position: relative;height: 100%;">
- <div id="ied_strcut_detail" style="height: 60rem;position: relative;"></div>
- </div>
- <div class="hidden" id="ied_dingzhiinfo" style="position: relative;height: 100%;">
- <div id="ied_strcut_detail" style="height: 60rem;position: relative;"></div>
- </div>
- <div class="hidden" id="ied_pointtableinfo" style="position: relative;height: 100%;">
- <div id="ied_strcut_detail" style="height: 60rem;position: relative;"></div>
- </div>
- <div class="hidden" id="ied_sourcexmlinfo" style="position: relative;height: 100%;">
- <div id="ied_strcut_detail" style="height: 60rem;position: relative;margin: 1rem;"></div>
- </div>
- </div>
- </script>
|