您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
安排合成
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/471357/1471114/213-%E5%AE%89%E6%8E%92%E5%90%88%E6%88%90.js
function 安排合成(src){ console.log('新的安排合成界面') var local_李楠和达尔文生物改变颜色=localStorage.getItem('李楠和达尔文生物改变颜色'); var local_圆稀赠引物标签加姓名=localStorage.getItem('圆稀赠引物标签加姓名'); var local_上机表_兼并碱基加颜色=localStorage.getItem('上机表_兼并碱基加颜色'); var html=$('iframe[src="'+src+'"]')//页面 html=html.contents().find('body').eq(0) var toolbar=html.find('.toolbar').eq(0) // 找到了toolbar工具栏 //添加toolbar工具栏按钮 添加toolbar按钮(html) //添加toolbar工具栏按钮 function 添加toolbar按钮(html){ if (toolbar.find('.weiyiyici').length==0){ //添加标记 toolbar.addClass('weiyiyici') if (local_李楠和达尔文生物改变颜色=='true'){ 安排合成_李楠和达尔文生物_颜色() } if(local_圆稀赠引物标签加姓名=='true'){ 标签打印按钮=toolbar.find('#a_seq_lable_pr').eq(0) //点击标签打印按钮 标签打印按钮.click(function(){ 安排合成_圆稀赠引物标签加姓名(html) }) } //上机表_兼并碱基加颜色 if(local_上机表_兼并碱基加颜色 == 'true'){ 上机表按钮=toolbar.find('#a_seq_Table').eq(0) //点击上机表按钮 上机表按钮.click(function(){ 上机表_兼并碱基加颜色(html) }) } } } //安排合成_李楠和达尔文生物_颜色 function 安排合成_李楠和达尔文生物_颜色(){ //==============================当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('[aria-describedby=list_syno_ketizu]') 课题组=课题组信息.text() if(课题组==="李楠"){ //设置背景颜色 $(this).find('td').attr('Bgcolor','#FF7034') } if(课题组==="达尔文生物"){ //设置背景颜色 $(this).find('td').attr('Bgcolor','#C80000') } if(课题组==="基因部"){ //设置背景颜色 $(this).find('td').attr('Bgcolor','#ceEEe7') } if(课题组==="迈津生物"){ //设置背景颜色 $(this).find('td').attr('Bgcolor','#3BAF6D') } }) } }; var observer = new MutationObserver(table变化); // 以上述配置开始观察目标节点 dom=$(html).find('#load_list').get(0) observer.observe(dom, config); } //安排合成_圆稀赠引物标签加姓名 function 安排合成_圆稀赠引物标签加姓名(html){ //弹框加个按钮 $('#d').find('#uiform').find('#print_synBDT').after('<button id="button_addName" onclick="return false">顶部标签加姓名</button>') //点击按钮 $('#d').find('#uiform').find('#button_addName').click(function(){ 安排合成_圆稀赠引物标签加姓名_详细代码() }) } function 安排合成_圆稀赠引物标签加姓名_详细代码(html){ 板号=$('#uiform').find('#txt_syn_plate').val() if (板号 == ''){ return } var 客户名_arr=[] var 引物名称_arr=[] var OD总量_arr=[] var 单管量_arr=[] //根据总量和单管量 获取管数 var 管数_arr=[] var 孔号_arr=[] var 备注_arr=[] $.ajaxSettings.async = false; //get请求默认是异步的,在这里改为同步 $.get('/syn/ashx/SynSampleHandler.ashx?_search=true&nd=1720597763777&rows=500&page=1&sidx=syn_s_num&sord=asc&filters={"groupOp":"AND","rules":[{"field":"syn_s_palte","op":"eq","data":"'+板号+'"}]}',function(data){ 客户名_arr=文本_取中间文本_批量(data,'"cust_name":"','","') 引物名称_arr=文本_取中间文本_批量(data,'"syn_s_primer":"','","') OD总量_arr=文本_取中间文本_批量(data,'"syn_s_od":"','","') 单管量_arr=文本_取中间文本_批量(data,'"syn_s_od_tube":"','","') //决定每个引物出几管 for (var i=0;i<OD总量_arr.length;i++){ 管量=parseInt(OD总量_arr[i]/单管量_arr[i])+1 if (管量>4){ 管量=4 } 管数_arr.push(管量) } 孔号_arr=文本_取中间文本_批量(data,'"syn_s_hole":"','","') 备注_arr=文本_取中间文本_批量(data,'"syn_s_remark":"','","') }); //排版分为2种,一种96孔板,一种384 if (客户名_arr.length<=96){ //排序*******************按照 A1 B1...H1,A2..H2这个顺序******************** var new_客户名_arr=[] var new_引物名称_arr=[] var new_OD总量_arr=[] var new_单管量_arr=[] var new_管数_arr=[] var new_孔号_arr=[] var new_备注_arr=[] 位置字典={ 1:'A', 2:'B', 3:'C', 4:'D', 5:'E', 6:'F', 7:'G', 8:'H', } //i表示1到12,j表示A到H for(var i=1;i<13;i++){ for(var j=1;j<9;j++){ 字母=位置字典[j] if (i<10){ 孔号位置=孔号_arr.indexOf(字母+'0'+i) }else{ 孔号位置=孔号_arr.indexOf(字母+i) } if (孔号位置 !== -1){ new_客户名_arr.push(客户名_arr[孔号位置]) new_引物名称_arr.push(引物名称_arr[孔号位置]) new_OD总量_arr.push(OD总量_arr[孔号位置]) new_单管量_arr.push(单管量_arr[孔号位置]) new_管数_arr.push(管数_arr[孔号位置]) new_孔号_arr.push(孔号_arr[孔号位置]) new_备注_arr.push(备注_arr[孔号位置]) } } } }else{ //排序*******************按照 A1 C1 E1...O1 B1 D1...P1 这个顺序******************** var new_客户名_arr=[] var new_引物名称_arr=[] var new_OD总量_arr=[] var new_单管量_arr=[] var new_管数_arr=[] var new_孔号_arr=[] var new_备注_arr=[] 位置字典={ 1:'A', 2:'C', 3:'E', 4:'G', 5:'I', 6:'K', 7:'M', 8:'O', 9:'B', 10:'D', 11:'F', 12:'H', 13:'J', 14:'L', 15:'N', 16:'P', } //i表示1到24,j表示位置字典 A到P for(var i=1;i<25;i++){ for(var j=1;j<17;j++){ 字母=位置字典[j] if (i<10){ 孔号位置=孔号_arr.indexOf(字母+'0'+i) }else{ 孔号位置=孔号_arr.indexOf(字母+i) } if (孔号位置 !== -1){ new_客户名_arr.push(客户名_arr[孔号位置]) new_引物名称_arr.push(引物名称_arr[孔号位置]) new_OD总量_arr.push(OD总量_arr[孔号位置]) new_单管量_arr.push(单管量_arr[孔号位置]) new_管数_arr.push(管数_arr[孔号位置]) new_孔号_arr.push(孔号_arr[孔号位置]) new_备注_arr.push(备注_arr[孔号位置]) } } } } res="<NewDataSet>" if (new_客户名_arr.length>=1){ for (var i=0;i<new_客户名_arr.length;i++){ //决定测序引物的位置 for(var j=0;j<new_管数_arr[i];j++){ if (new_备注_arr[i].search('测序引物') >=0){ res+="<Table1>" if (j == 0){ res+="<syn_s_primer>"+new_引物名称_arr[i]+'('+new_客户名_arr[i]+')'+"</syn_s_primer>" }else{ res+="<syn_s_primer>"+new_引物名称_arr[i]+"</syn_s_primer>" } res+="<syn_s_hole>"+new_孔号_arr[i]+"</syn_s_hole>" res+="</Table1>" }else{ res+="<Table1>" res+="<syn_s_primer>"+new_引物名称_arr[i]+"</syn_s_primer>" res+="<syn_s_hole>"+new_孔号_arr[i]+"</syn_s_hole>" res+="</Table1>" } } } } res+="</NewDataSet>" 保存文本到本地(res,'down.html','http://localhost/addName/print.html') } //上机表_兼并碱基加颜色 function 上机表_兼并碱基加颜色(html){ //弹框加个按钮 $('#w').find('#uiform').find('#print_SynMachine').after('<button id="button_addColor" onclick="return false">兼并碱基加颜色</button>') //点击按钮 $('#w').find('#uiform').find('#button_addColor').click(function(){ 兼并碱基加颜色_详细代码() }) } function 兼并碱基加颜色_详细代码(html){ 板号=$('#uiform').find('#txt_syn_plate').val() if (板号 == ''){ return } 操作人=$('#curname').text() window.open('http://localhost/jianbingjianji_jiayanse/print.html?板号='+板号+'&操作人='+操作人) } //保存文本到本地 function 保存文本到本地(text, filename,bendi_url){ // 创建一个Blob实例,类型为纯文本 var blob = new Blob([text], { type: 'text/plain' }); // 创建一个指向Blob对象的URL var url = URL.createObjectURL(blob); // 创建一个a标签 var a = document.createElement("a"); // 设置a标签属性 a.href = url; a.download =filename; // 模拟a标签点击,触发下载 document.body.appendChild(a); a.click(); // 清理临时DOM和对象URL document.body.removeChild(a); URL.revokeObjectURL(url); window.open(bendi_url) } //字符串全部替换部分文字 function str_replaceAll(str, yuanwenben, xianwenben) { return str.replace(new RegExp(yuanwenben, 'g'), xianwenben); } }