公共函数
此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.greasyfork.org/scripts/469866/1488419/00-%E5%85%AC%E5%85%B1%E5%87%BD%E6%95%B0.js
//备注包含CNAS的行就标个颜色 function 公共_CNAS订单加急(html,搜索信息){ //当table出现数据改变的时候 // 观察器的配置(需要观察什么变动) var config = {attributes: true}; //, childList: true, subtree: true,characterData:true,characterDataOldValue:true,attributDataOldValue:true var table变化 = function(mutationRecoard, observer) { //会有两次变化 根据最终的变化 if ($(html).find('#load_list').css('display')=='none'){ html.find('table').find('tr').each(function(){ 备注=$(this).find(搜索信息).text() if(备注.toUpperCase().indexOf('CNAS')!==-1){ //设置背景颜色 $(this).find('td').attr('Bgcolor','#24B2C8') } }) } }; var observer = new MutationObserver(table变化); // 以上述配置开始观察目标节点 dom=$(html).find('#load_list').get(0) observer.observe(dom, config); } //查询年月日的函数 function getday_y_n(d){ var myDate = new Date(); if(d=="yestday" || d==="hecheng_zuotian_riqi" || d=="zuori---"){myDate.setTime(myDate.getTime()-24*60*60*1000);} var year = (myDate.getFullYear()).toString(); //获取当前年 var mon = (myDate.getMonth() + 1).toString(); //获取当前月 var date = (myDate.getDate()).toString(); //获取当前日 if(mon.length==1){ mon="0"+mon } if(date.length==1){ date="0"+date } if(d==="hecheng_zuotian_riqi"){ return year+mon+date }else if(d=="---"){ //---指的格式为XXXX-XX-XX return year+"-"+mon+"-"+date }else if(d=="zuori---"){ //返回昨天的日期 比如 2022-05-13 return year+"-"+mon+"-"+date }else{ return year+mon+date } } //获取日期范围内的所有日期 function 获取日期范围内的所有日期(日期_前,日期_后){ var startTime = new Date(日期_前); var endTime = new Date(日期_后); var date_Arr = []; while ((endTime.getTime() - startTime.getTime()) >= 0) { var year = startTime.getFullYear(); var month = (startTime.getMonth()+1).toString().length === 1 ? "0" + (parseInt(startTime.getMonth().toString(),10) + 1) : (startTime.getMonth() + 1); var day = startTime.getDate().toString().length === 1 ? "0" + startTime.getDate() : startTime.getDate(); date_Arr.push(year.toString() + month.toString() + day.toString()); startTime.setDate(startTime.getDate() + 1); } console.log(date_Arr) return date_Arr; } //延时函数 var sleep = function(time) { var startTime = new Date().getTime() + parseInt(time, 10); while(new Date().getTime() < startTime) {} }; //设定 页面的高度 function gaodu(html){ console.log(html) html=$(html).contents().eq(0) //下面几行是重新设置 测序样品 页面的高度 table_div=html.find('.ui-jqgrid-bdiv').eq(0) // 找到了样品的table的上一级div 用于设置高度 table_height=table_div.css('height') //测序样品 页面的高度 offset_1=$('.footer').eq(0).offset().top offset_2=html.find('#pager').eq(0).offset().top if(offset_1-offset_2<=120){ table_div.css('height',table_height.slice(0,-2)-20+"px") //重新设置 页面的高度 }else if(offset_1-offset_2>=160){ table_div.css('height',parseInt(table_height.slice(0,-2))+20+"px") //重新设置 页面的高度 } } //字符串全部替换部分文字 function str_replaceAll(str, yuanwenben, xianwenben) { return str.replace(new RegExp(yuanwenben, 'g'), xianwenben); } //判断数据是否是1到20 function 文本是否是1到20(text){ if(text===""){text="1"} var tag=false for(var i=1;i<=20;i++){ if(text===i.toString()){ tag=true break } } return tag } //数组去重 function quchong_arr(arr){ var hash=[]; for (var i = 0; i < arr.length; i++) { if(hash.indexOf(arr[i])==-1){ hash.push(arr[i]); } } return hash; } //数组去掉空字符串 function arr_quchu_kongbai(arr){ var hash=[]; for (var i = 0; i < arr.length; i++) { if (arr[i]!=""){ hash.push(arr[i]); } } return hash; } //统计数组中每个数据出现的次数,形参有2个,第一个已经去重的数组,第二个 原始数组 返回值是个数数组 比如[3,5,1],对应已经去重的形参 function chongfu_cishu_arr(quchong_arr,yuanshi_arr){ var new_geshu_arr=new Array(); //新建一维数组 存放个数 for(var i=0;i<quchong_arr.length;i++){ new_geshu_arr[i]=0 for(var j=0;j<yuanshi_arr.length;j++){ //已经去重的数组和原始数组比对,如果有一致的,那么个数+1 if(quchong_arr[i]===yuanshi_arr[j]){ new_geshu_arr[i]+=1 } } } return new_geshu_arr } //数组 统计次数 function 数组_统计次数(arr){ arr_quchonghou=quchong_arr(arr) arr_个数=chongfu_cishu_arr(arr_quchonghou,arr) return [arr_quchonghou,arr_个数] } //两个数组去重 数组长度要求一致 function 两个数组去重(arr1,arr2){ 所有连接_arr=[] for (var i=0;i<arr1.length;i++){ 所有连接_arr.push(arr1[i]+"&$"+arr2[i]) } 所有连接_arr=quchong_arr(所有连接_arr) arr1=[] arr2=[] for(var i=0;i<所有连接_arr.length;i++){ arr1.push(所有连接_arr[i].split('&$')[0]) arr2.push(所有连接_arr[i].split('&$')[1]) } return [arr1,arr2] } //文本_取中间文本_批量 function 文本_取中间文本_批量(总文本,前面文本,后面文本){ function 数组整理(item){ return item.split(前面文本)[1] } 表达式=eval('/('+前面文本+')(.*?)(?='+后面文本+')/g') arr_result=总文本.match(表达式) arr_result=arr_result.map(数组整理) return arr_result } //文本_取中间文本 function 文本_取中间文本(总文本,前面文本_必须唯一,后面文本){ arr=总文本.split(前面文本_必须唯一) //如果长度为1,说明没找到 前面文本_必须唯一 if (arr.length==1){ console.log('没有找到 前面文本 ') return false } if (arr.length>3){ console.log('前面文本必须唯一') return false } result=arr[arr.length-1].split(后面文本)[0] return result } //网址 获取总的条数 totalrecords function 网址_获取总条数(网址){ return 网址_查询公共函数('总条数',网址) } //网址 获取总的页数 totalpages":" function 网址_获取总页数(网址){ return 网址_查询公共函数('总页数',网址) } function 网址_获取总页数和总条数(网址){ return 网址_查询公共函数('总页数和总条数',网址) } //返回 false 或者 页数 function 网址_查询公共函数(类型,网址){ result=false $.ajaxSettings.async = false; //get请求默认是异步的,在这里改为同步 $.get(网址,function (data,status) { //如果没有找到totalpages,说明网页运行失败 if(data.indexOf('totalrecords')==-1){ console.log('查询“订单是否已经上传过”失败,请确定是否断网或者是否需要重新登录,请重新查询!') result='0' }else{ if (类型=='总条数'){ //总共有多少条数据 总条数=文本_取中间文本(data,'totalrecords":"','"') result=总条数 } if (类型=='总页数'){ //总共有多少页 总页数=文本_取中间文本(data,'totalpages":"','"') result=总页数 } if (类型=='总页数和总条数'){ //总共有多少条数据 总条数=文本_取中间文本(data,'totalrecords":"','"') //总共有多少页 总页数=文本_取中间文本(data,'totalpages":"','"') result=总页数+','+总条数 } } }); return result } //jquery对象转换成dom function jquery对象转换成dom(){ dom对象=$('div').get(0) } //添加style属性 function addGlobalStyle(css) { var style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = css; document.head.appendChild(style); } // function addScript(url){ // var script = document.createElement('script'); // script.setAttribute('type','text/javascript'); // script.setAttribute('src',url); // document.getElementsByTagName('head')[0].appendChild(script); // }