您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
预警发布增加模板文字功能。
// ==UserScript== // @name 预警制作辅助 // @namespace https://greasyfork.org/zh-CN/scripts/524381 // @version 3.1 // @description 预警发布增加模板文字功能。 // @author Pysoer // @match http://10.203.8.35:50001/warnMake/make/* // @match http://10.203.8.35:60004/warnMake/make/* // @match http://10.203.8.35:50001/Zdz/* // @license GPL-3.0 License // ==/UserScript== (function() { var url=window.location.href.toLowerCase(); function initTools() { if($("input[value='light']").length <= 0) { console.log("等待加载"); setTimeout(function () { initTools(); }, 10000); } else { $("input[value='light']").click(); //切换地图为浅色 $("li[data-type='cordon']").find("label").click();//去掉三区 $("li[data-type='name']").find("label").click();//去掉站名 $("li[data-type='dot']").find("label").click();//去掉站点 $("li[data-type='townName']:first").find("label").click();//加载乡镇名 //$("input[data-type='ws']").parent("div").click();//去掉危险天气 //$("input[data-type='almtSign']").parent("div").click();//去掉预警信号 $("input[data-type='rainWarning']").parent("div").click();//去掉雨量报警 //$("li[data-type='12hjrain']").click();//加载12小时雨量 //TODO:加载单站雷达图 } } function formatDate(fmt, date) { let ret; let opt = { "Y+": date.getFullYear().toString(), "m+": (date.getMonth() + 1).toString(), "d+": date.getDate().toString(), "H+": date.getHours().toString(), "M+": date.getMinutes().toString(), "S+": date.getSeconds().toString() }; for (let k in opt) { ret = new RegExp("(" + k + ")").exec(fmt); if (ret) { fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0"))) }; }; return fmt; } function saveTextAsFile() { var textToWrite = $('#textImport').val(); var textFileAsBlob = new Blob([ textToWrite ],{ type: 'text/plain' }); var fileNameToSaveAs = "预警信号模板.txt"; var downloadLink = document.createElement("a"); downloadLink.download = fileNameToSaveAs; downloadLink.innerHTML = "Download File"; if (window.webkitURL != null) { // Chrome allows the link to be clicked without actually adding it to the DOM. downloadLink.href = window.webkitURL.createObjectURL(textFileAsBlob); } else { // Firefox requires the link to be added to the DOM before it can be clicked. downloadLink.href = window.URL.createObjectURL(textFileAsBlob); downloadLink.onclick = destroyClickedElement; downloadLink.style.display = "none"; document.body.appendChild(downloadLink); } downloadLink.click(); } function destroyClickedElement(event) { // remove the link from the DOM document.body.removeChild(event.target); } if(url.indexOf("zdz")!=-1){ setTimeout(function () { initTools(); }, 10000); } else if(url.indexOf("warnmake")!=-1){ console.log("warnmake"); //$("#i-improt").css("display","none"); var btStr='<li data-type="myAlarm" id="myAlarm" style="width:120px;background-color: brown;" >匹配模板</li>'; var btStr1='<input type="file" id="myImport" style="display:none;" />'; var btStr2='<li data-type="myAlarm" id="openEdit" style="width:120px;" >修改模板</li>'; $("#i-improt").after(btStr); $("#i-improt").after(btStr1); $("#i-improt").after(btStr2); var editPanel='<div id="editpanel" style="z-index:9999;width:1000px;height:800px;font-size:16px;line-height:38px;background-color:#e1effd;position:absolute;margin-left:150px;margin-top:10px;border:#ccc solid 1px;font-weight: bold;display:none;color:#000"><i id="i-edit-bg" class="u-blue-bg" style="background: rgb(218, 196, 3);"></i>修改模板'+ '<input type="button" id="saveImport" value="保存模板" style="display: inline-block;height: 38px;line-height: 38px; padding: 0 18px; background-color: #2584f3;color: #fff;white-space: nowrap;text-align: center;font-size: 14px;border: none;border-radius: 2px;cursor: pointer;margin-top:10px;margin-left:20px;">'+ '<button id="myImportLi" style="display: inline-block;height: 38px;line-height: 38px; padding: 0 18px; background-color: #2584f3;color: #fff;white-space: nowrap;text-align: center;font-size: 14px;border: none;border-radius: 2px;cursor: pointer;margin-top:10px;margin-left:20px;">导入</button>'+ '<input type="button" id="exportImport" value="导出" style="display: inline-block;height: 38px;line-height: 38px; padding: 0 18px; background-color: #2584f3;color: #fff;white-space: nowrap;text-align: center;font-size: 14px;border: none;border-radius: 2px;cursor: pointer;margin-top:10px;margin-left:20px;">'+ '<input type="button" id="closeImport" value="关闭窗口" style="display: inline-block;height: 38px;line-height: 38px; padding: 0 18px; background-color: #FF5722;color: #fff;white-space: nowrap;text-align: center;font-size: 14px;border: none;border-radius: 2px;cursor: pointer;margin-top:10px;margin-left:20px;">'+ ' [地区]会替换为“我县xx、xx等乡镇”、“我市xx、xx等地”<br><p style="color:red">清除浏览器缓存后,模板会恢复到默认状态,请导出存到本地再重新导入!!!</p><textarea id="textImport" style="width:998px;height:750px;margin-top:10px;color:#000" ></textarea>'+ '</div>'; $("#i-list-panel").after(editPanel); } var levelsCHN=["蓝色","黄色","橙色","红色"]; var SSMZ="土家族|仡佬族|布依族|侗族|自治|彝族|回族|水族|苗族|毛南族|白族|满族|蒙古族|壮族|瑶族|街道办|街道办事处|街道|镇|乡"; function getAlarmText() { console.log("匹配预警"); var alarmType=$("#i-edit-label").text(); var senderName=$("#i-company").val().replace(/气象局/g,"气象台"); if(senderName=="")return; var ceshi=""; if(url.indexOf("60004")!=-1)ceshi="【测试预警】"; var woxian="我"+senderName.replace(/气象局|气象台/g,"").substr(-1); var isuTime=new Date(($("#i-issueTime").val()).replace("-","/")+":00"); var isuTimeCHN=formatDate("m月d日H时M分",isuTime); var countyStr=""; var townStr=""; var countys=[]; var ttl=$("#i-almt-title").val(); var fbxxyjxh="发布"+alarmType+"预警信号:" if(ttl.indexOf("解除")!==-1){ var desc=ceshi+senderName+isuTimeCHN+"解除"+alarmType+"预警信号。"; console.log(desc); //$("#i-almt-desc").val(desc); }else{ if(ttl.indexOf("继续")!==-1){ fbxxyjxh="继续发布"+alarmType+"预警信号:"; var cur=$("#i-cur-img").attr("data-ws"); var oper=$("#i-oper-img").attr("data-ws"); var level1=cur.split("-")[1]; var level2=oper.split("-")[1]; var level_index1=$.inArray(level1,levelsCHN); var level_index2=$.inArray(level2,levelsCHN); var shengji="升级"; if(level_index1>level_index2)shengji="降级"; if(level1!=level2){ var yj1=cur.replace("-",""); var yj2=oper.replace("-",""); fbxxyjxh="将"+yj1+"预警"+shengji+"为"+yj2+"预警信号:"; } } var storage=window.localStorage; var AlarmTempla=storage.getItem("AlarmTempla"); if(AlarmTempla !== null ){ var affectArea=app.editor.getLassoNameData(); console.log(affectArea); if(affectArea !== null && affectArea.length>0){ var maxTownCount=10; for(var p=0;p<affectArea.length;p++){ if(maxTownCount>0) { var townName=$.trim(affectArea[p].town); if(townName.substr(-1)=="镇" || townName.substr(-1)=="乡")townName=townName.substr(0,townName.length-1); if(townName!="")townStr=townStr+townName.replace(new RegExp(SSMZ,"g"),"")+"、"; } maxTownCount--; if(countys.indexOf(affectArea[p].county)==-1) { countys.push(affectArea[p].county); countyStr=countyStr+affectArea[p].county+"、"; } } console.log(townStr); console.log(countys); if(countys.length>1 || global.user.level!=4) { countyStr=countyStr.substr(0,countyStr.length-1); woxian=woxian+countyStr+"等地"; }else{ townStr=townStr.substr(0,townStr.length-1); woxian=woxian+townStr+"等乡镇"; } } var lines=AlarmTempla.split(/[\s\n]/); var AlarmText=""; $.each(lines,function(i,val){ if(val.indexOf("=")!=-1){ var line=val.split("="); if(line[0]==alarmType){ AlarmText=line[1].replace("[地区]",woxian); return false; } } }); var desc1=ceshi+senderName+isuTimeCHN+fbxxyjxh+AlarmText; console.log(desc1); if(AlarmText==""){myalert("还未查询到预警模板,请先上传模板。");} else{$("#i-almt-desc").val(desc1);$("#i-almt-sms").val(desc1);} }else { myalert("请先上传预警模板"); } } } $("#myAlarm").click(function(){ getAlarmText(); }); $("#map").mouseup(function(){ // getAlarmText(); }); $("#myImportLi").click(function () { //myalert("模板路径为d:/swan/AddIns/SWAN_LEFT_CONTROL/预警信号模板.ini"); return $("#myImport").click(); }); $("#openEdit").click(function () { $("#editpanel").css("display","block"); var AlarmTempla=window.localStorage.getItem("AlarmTempla"); if(AlarmTempla==null)AlarmTempla="暴雨黄色=预计未来6小时[地区]降雨量将达50毫米以上且仍将持续,请注意防范。\n暴雨橙色=预计未来3小时[地区]降雨量将达100毫米以上且仍将持续,引发山洪、滑坡、泥石流等风险很高,请加强防范。\n暴雨红色=预计未来3小时[地区]降雨量将达150毫米以上且仍将持续,引发山洪、滑坡、泥石流等风险极高,请加强防范。\n\n冰雹橙色=预计未来3小时[地区]将出现冰雹天气,并可能造成雹灾,请注意防范。\n冰雹红色=预计未来3小时[地区]将出现冰雹天气,并可能造成重雹灾,请注意防范。\n\n大风蓝色=预计未来24小时[地区]将受大风影响,平均风力可达6级,阵风7级并可能持续,建议停止高空作业和水上作业,其他相关行业和个人也要注意防范。\n大风黄色=预计未来12小时[地区]将受大风影响,平均风力可达8级,阵风9级并可能持续,建议停止高空作业,相关行业请注意防范。\n大风橙色=预计未来6小时[地区]将受大风影响,平均风力可达10级,阵风11级并可能持续,建议停止高空作业,相关行业请注意防范。\n大风红色=无此预警。\n\n大雾黄色=目前我县高速以及高山乡镇部分路段已出现能见度小于500米的大雾天气,对交通运输有一定影响,未来12小时将持续,请注意防范。\n大雾橙色=预计未来6小时我县高速以及高山乡镇部分路段将出现能见度小于200米的大雾天气,对交通运输有较大影响,请注意防范。\n大雾红色=预计未来2小时我县高速以及高山乡镇部分路段将出现能见度小于50米的浓雾天气,对交通运输有很大影响,请注意防范。\n\n低温凝冻黄色=预计未来24小时[地区]将出现低温凝冻天气,道路、导线等将出现结冰和覆冰现象,对交通有一定影响,请注意防范。\n低温凝冻橙色=预计未来24小时[地区]将出现低温凝冻天气,道路、导线等将出现较重结冰和覆冰现象,对交通有较大影响,请注意防范。\n低温凝冻红色=预计未来24小时[地区]将出现低温凝冻天气,道路、导线等将出现严重结冰和覆冰现象,对交通有很大影响,请注意防范。\n\n暴雪蓝色=预计未来12小时[地区]降雪量将达4毫米以上且降雪持续,对交通和农业有一定影响,请注意防范。\n暴雪黄色=预计未来12小时[地区]降雪量将达6毫米以上且降雪持续,对交通和农业有一定影响,请注意防范。\n暴雪橙色=预计未来6小时[地区]降雪量将达10毫米以上且降雪持续,对交通和农业有较大影响,请注意防范。\n暴雪红色=预计未来6小时[地区]降雪量将达15毫米以上且降雪持续,对交通和农业有很大影响,请注意防范。\n\n干旱橙色=预计未来一周[地区]综合气象干旱指数达到重旱(气象干旱为25~50年一遇),有40%以上的农作物受旱,请注意防范。\n干旱红色=预计未来一周[地区]综合气象干旱指数达到特旱(气象干旱为50年以上一遇),有60%以上的农作物受旱,请注意防范。\n\n高温黄色=无此预警。\n高温橙色=预计未来24小时[地区]等河谷一带乡镇最高气温将升至37℃以上,有关部门和单位按照职责落实防暑降温保障措施;尽量避免在高温时段进行户外活动,高温条件下作业的人员应当缩短连续工作时间;同时,对老、弱、病、幼人群提供防暑降温指导,并采取必要的防护措施;有关部门和单位应当注意防范因用电量过高,以及电线、变压器等电力负载过大而引发的火灾。\n高温红色=预计未来24小时[地区]等河谷一带乡镇最高气温将升至40℃以上,有关部门和单位按照职责落实防暑降温保障措施;尽量避免在高温时段进行户外活动,高温条件下作业的人员应当缩短连续工作时间;同时,对老、弱、病、幼人群提供防暑降温指导,并采取必要的防护措施;有关部门和单位应当注意防范因用电量过高,以及电线、变压器等电力负载过大而引发的火灾。\n\n寒潮蓝色=预计未来24小时[地区]最低气温将要下降8℃且降至4℃以下,请注意防范对农业、交通等行业的不利影响。\n寒潮黄色=预计未来24小时[地区]最低气温将要下降10℃且降至4℃以下,请注意防范对农业、交通等行业的不利影响。\n寒潮橙色=预计未来24小时[地区]最低气温将要下降12℃且降至0℃以下,请注意防范对农业、交通等行业的不利影响。\n寒潮红色=预计未来24小时[地区]最低气温将要下降16℃且降至0℃以下,请注意防范对农业、交通等行业的不利影响。\n\n雷电黄色=预计未来3小时[地区]将出现雷雨天气,雷雨中可能伴有短时强降水、冰雹、大风等强对流天气,建议停止高空作业和户外作业,请相关行业和个人注意防范。\n雷电橙色=预计未来3小时[地区]将出现雷雨天气,雷雨中可能伴有短时强降水、大风、冰雹等强对流天气,建议停止高空作业和户外作业,请相关行业和个人注意防范。\n雷电红色=无此预警。\n\n雷雨强风黄色=预计未来3小时[地区]将出现雷雨天气,并伴有8级以上阵风和强雷电,请注意防范。\n雷雨强风橙色=预计未来3小时[地区]将出现雷雨天气,并伴有10级以上阵风和强雷电,请注意防范。\n雷雨强风红色=预计未来3小时[地区]将出现雷雨天气,并伴有12级以上阵风和强雷电,请注意防范。\n\n霜冻蓝色=预计未来24小时城区、仙源、双龙、大坡等高海拔乡镇将有霜冻出现,积水路段可能会出现道路结冰,对农业和交通有不利影响,请注意防范。\n霜冻黄色=预计未来24小时城区、仙源、双龙、大坡等高海拔乡镇最低气温将降到零下3℃以下,有霜冻出现,积水路段可能会出现道路结冰,对农业和交通有不利影响,请注意防范。\n霜冻橙色=无此预警。\n\n台风蓝色=预计未来24小时[地区]将受热带气旋影响,平均风力达6-7级,阵风8-9级,并可能持续,请注意防范。\n台风黄色=预计未来24小时[地区]将受热带气旋影响,平均风力达8-9级,阵风10-11级,并可能持续,请注意防范。\n台风橙色=预计未来12小时[地区]将受热带气旋影响,平均风力达10-11级,阵风12-13级,并可能持续,请注意防范。\n台风红色=预计未来6小时[地区]将受热带气旋影响,平均风力达12-14级,阵风14-16级,并可能持续,请注意防范。\n\n地质灾害气象风险黄色=预计今天夜间到明天[地区]中部、西部乡镇有强降雨天气,地质灾害气象风险较高,请注意防范。\n地质灾害气象风险橙色=受强降雨天气影响,预计未来24小时[地区]地质灾害气象风险高,请注意防范。\n\n山洪灾害黄色=受强降雨天气影响,预计今天夜间到明天[地区]发生山洪灾害气象风险等级较高,请注意防范。\n山洪灾害橙色=受强降雨天气影响,预计未来24小时[地区]发生山洪灾害气象风险等级高,请注意防范。\n\n内涝黄色=受强降雨天气影响,预计未来24小时[地区]地势低洼路段城镇内涝风险较高,请注意防范。\n内涝橙色=受强降雨天气影响,预计未来24小时[地区]地势低洼路段城镇内涝风险高,请注意防范。\n\n森林火险气象黄色=预计未来3天[地区]以晴天为主,气温高,湿度低,林内可燃物易点燃,极易蔓延,危险较高。严禁携带火种进入林区,严禁一切野外用火。请各乡镇(街道)、相关部门做好防范措施和应急扑救准备。\n森林火险气象橙色=预计未来3天[地区]以晴天为主,气温高,湿度低,林内可燃物易点燃,极易蔓延,危险很高。严禁携带火种进入林区,严禁一切野外用火。请各乡镇(街道)、相关部门做好防范措施和应急扑救准备。\n森林(草原)火险黄色=预计未来3天[地区]以晴天为主,气温高,湿度低,林内可燃物易点燃,极易蔓延,危险较高。严禁携带火种进入林区,严禁一切野外用火。请各乡镇(街道)、相关部门做好防范措施和应急扑救准备。\n森林(草原)火险橙色=预计未来3天[地区]以晴天为主,气温高,湿度低,林内可燃物易点燃,极易蔓延,危险很高。严禁携带火种进入林区,严禁一切野外用火。请各乡镇(街道)、相关部门做好防范措施和应急扑救准备。\n"; $("#textImport").val(AlarmTempla); }); $("#closeImport").click(function () { $("#editpanel").css("display","none"); }); $("#myImport").change(function(){ if (this.files.length) { var file = this.files[0]; var reader = new FileReader(); reader.onload = function() { //console.log(this.result); $("#textImport").val(this.result); } reader.readAsText(file,"utf-8"); $("#myImport").val(''); } }); $("#saveImport").click(function () { window.localStorage.removeItem("AlarmTempla"); var storage=window.localStorage; var content=$("#textImport").val(); storage.setItem("AlarmTempla",content); myalert("保存成功"); }); $("#exportImport").click(function () { saveTextAsFile(); }); function myalert(str){ alert(str); } })();