您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
反应生产
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/471392/1223328/214-%E5%8F%8D%E5%BA%94%E7%94%9F%E4%BA%A7.js
function 反应生产(src){ console.log('新的反应生产界面') var local_查询加测反应=localStorage.getItem('查询加测反应'); var local_查询选择的同名引物=localStorage.getItem('查询选择的同名引物'); 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工具栏 var table=html.find('.ui-jqgrid-btable').eq(0) // 找到了样品的table //添加toolbar工具栏按钮 添加toolbar按钮(html) //添加toolbar工具栏按钮 function 添加toolbar按钮(html){ if (toolbar.find('.weiyiyici').length==0){ //添加标记 toolbar.addClass('weiyiyici') //查询加测反应 if (local_查询加测反应=='true'){ toolbar.append('<button id="button_jiace_suoyou" onclick="return false">查询加测反应</button>') toolbar.append('<button id="button_jiace_chunduiying" onclick="return false">查询加测反应_纯对应</button>') //点击 查询加测反应 按钮 toolbar.find('#button_jiace_suoyou').click(function(){ 查询加测反应('所有') }) //点击 查询加测反应_纯对应 按钮 toolbar.find('#button_jiace_chunduiying').click(function(){ 查询加测反应('纯对应') }) } //查询选择的同名引物 if (local_查询选择的同名引物=='true'){ toolbar.append('<button id="button_tongming_yinwu" onclick="return false">查询选择的同名引物</button>') //点击 查询选择的同名引物 按钮 toolbar.find('#button_tongming_yinwu').click(function(){ 查询选择的同名引物() }) } //获取加测引物板号 if (local_获取加测引物板号=='true'){ toolbar.append('<button id="button_jiace_yinwu_banhao" onclick="return false">获取加测引物板号</button>') toolbar.find('#button_jiace_yinwu_banhao').click(function(){ 获取加测引物板号() }) } //查询模板板号 if (local_查询模板板号=='true'){ toolbar.append('<input type="text" id="text_mubanbanhao" placeholder="模板板号" size="10"/><button id="button_mubanbanhao" onclick="return false">查询模板板号</button>') //给文本框绑定回车键的函数 toolbar.find('#text_mubanbanhao').eq(0).keypress(function(event){ if(event.keyCode ==13){ return false } }); toolbar.find('#button_mubanbanhao').click(function(){ 查询模板板号() }) } //设置板号 if (local_设置板号=='true'){ toolbar.append('<input type="text" id="text_banhao" placeholder="板号" size="10"/>') //给文本框绑定回车键的函数 toolbar.find('#text_banhao').eq(0).keypress(function(event){ if(event.keyCode ==13){ return false } }); } //把板号放在排版的位置上 $('#AB').live('click',function(){ if($('#txt_seqs_plate').length==1){ 板号=toolbar.find('#text_banhao').eq(0).val() $('#txt_seqs_plate').val(板号) } }) } } //查询加测反应 function 查询加测反应(类型){ //搜索样品对应号包含YP,且 返回状态不等于 报告重做 toolbar.find('#a_search').eq(0).find('.l-btn-left').eq(0).click(); $('#searchForm').eq(0).find("option[value='seqs_plus_prod_id']").eq(0).attr('selected','selected') //把找到的第一个查询条件改成 样品对应号 $('#searchForm').eq(0).find("option[value='cn']").eq(0).attr('selected','selected') //改成包含 $('#searchForm').eq(0).find("[class='txt02 searchString']").eq(0).val('YP') $('#searchForm').eq(0).find("option[value='seqs_back']").eq(1).attr('selected','selected') //把查询条件改成 样品对应号 $('#searchForm').eq(0).find("option[value='ne']").eq(1).attr('selected','selected') //改成不等于 $('#searchForm').eq(0).find("[class='txt02 searchString']").eq(1).val('报告重做') if(类型=='纯对应'){ //本来没有搜引物浓度的,把生成编号的value改成引物浓度的value $('#searchForm').eq(0).find("option[value='seqs_prod_id']").eq(2).val('seqs_observe') $('#searchForm').eq(0).find("option[value='seqs_observe']").eq(2).attr('selected','selected') //把查询条件改成 引物浓度 $('#searchForm').eq(0).find("option[value='cn']").eq(2).attr('selected','selected') //改成包含 $('#searchForm').eq(0).find("[class='txt02 searchString']").eq(2).val('对应') } $("#AB").click() } //查询选择的同名引物 function 查询选择的同名引物(){ if(table.find('tbody').find("[aria-selected='true']").size()==0){return false} var 课题组=table.find('tbody').find("[aria-selected='true']").eq(0).find('[aria-describedby=list_seqo_ketizu]').text() //查询课题组 var 引物名称=table.find('tbody').find("[aria-selected='true']").eq(0).find('[aria-describedby=list_undefined]').eq(1).attr('title') //查询引物名称 toolbar.find('#a_search').eq(0).find('.l-btn-left').eq(0).click(); //点击 查询按钮 $('#searchForm').eq(0).find("option[value='seqo_ketizu']").eq(0).attr('selected','selected') //把找到的第一个查询条件改成 课题组 $('#searchForm').eq(0).find("[class='txt02 searchString']").eq(0).val(课题组) $('#searchForm').eq(0).find("option[value='seqs_primer']").eq(1).attr('selected','selected') //把找到的第一个查询条件改成 引物名称 $('#searchForm').eq(0).find("[class='txt02 searchString']").eq(1).val(引物名称) $("#AB").click() } //获取加测引物板号 function 获取加测引物板号(){ //获取 包含YP 不包含报告重做的反应 tijiao="/seq/ashx/SeqReactionHandler.ashx?_search=true&nd=1667031128516&rows=2000&page=1&sidx=seqs_prod_id&sord=asc&filters=%7B%22groupOp%22%3A%22AND%22%2C%22rules%22%3A%5B%7B%22field%22%3A%22seqs_plus_prod_id%22%2C%22op%22%3A%22cn%22%2C%22data%22%3A%22YP%22%7D%2C%7B%22field%22%3A%22seqs_back%22%2C%22op%22%3A%22ne%22%2C%22data%22%3A%22%E6%8A%A5%E5%91%8A%E9%87%8D%E5%81%9A%22%7D%5D%7D" $.ajaxSettings.async = false; //get请求默认是异步的,在这里改为同步 $.get(tijiao, function (data) { 总个数=文本_取中间文本(data,'"totalrecords":"','"') if (总个数=="0" || 总个数=='没有找到 前面文本 ' || 总个数=='前面文本必须唯一'){ console.log('总个数为0') return }else{ 备注_arr=文本_取中间文本_批量(data,'"remark":"','"') 客户名_arr=文本_取中间文本_批量(data,'"seqo_cust_name":"','"') 课题组_arr=文本_取中间文本_批量(data,'"seqo_ketizu":"','"') 测序引物_arr=文本_取中间文本_批量(data,'"seqs_primer":"','"') 引物浓度_arr=文本_取中间文本_批量(data,'"seqs_observe":"','"') //数组去重 记录需要删除的索引=[] 数组长度=备注_arr.length for(var i=0;i<数组长度;i++){ //如果备注有待测 或者 长程序 或 暂时不做 if(备注_arr[i].indexOf('待测')!=-1 || 备注_arr[i].indexOf('长程序')!=-1 || 备注_arr[i].indexOf('暂时不做')!=-1){ console.log(i,'待测') 记录需要删除的索引.push(i) continue } // 如果引物浓度没有包含对应 if(引物浓度_arr[i].indexOf('对应')==-1){ 记录需要删除的索引.push(i) continue } } // console.log(记录需要删除的索引) for(var i=记录需要删除的索引.length-1;i>=0;i--){ console.log(i) console.log(备注_arr[记录需要删除的索引[i]],客户名_arr[记录需要删除的索引[i]],课题组_arr[记录需要删除的索引[i]],测序引物_arr[记录需要删除的索引[i]],引物浓度_arr[记录需要删除的索引[i]]) 备注_arr.splice (记录需要删除的索引[i],1) 客户名_arr.splice (记录需要删除的索引[i],1) 课题组_arr.splice (记录需要删除的索引[i],1) 测序引物_arr.splice (记录需要删除的索引[i],1) 引物浓度_arr.splice (记录需要删除的索引[i],1) } 所有连接_arr=[] for (var i=0;i<客户名_arr.length;i++){ 所有连接_arr.push(备注_arr[i]+"&$"+客户名_arr[i]+"&$"+课题组_arr[i]+"&$"+测序引物_arr[i]+"&$"+引物浓度_arr[i]) } 所有连接_arr=quchong_arr(所有连接_arr) 备注_arr=[] 客户名_arr=[] 课题组_arr=[] 测序引物_arr=[] 引物浓度_arr=[] for(var i=0;i<所有连接_arr.length;i++){ 备注_arr.push(所有连接_arr[i].split('&$')[0]) 客户名_arr.push(所有连接_arr[i].split('&$')[1]) 课题组_arr.push(所有连接_arr[i].split('&$')[2]) 测序引物_arr.push(所有连接_arr[i].split('&$')[3]) 引物浓度_arr.push(所有连接_arr[i].split('&$')[4]) } } }) // console.log(备注_arr,客户名_arr,课题组_arr,测序引物_arr,引物浓度_arr) //在测序样品根据课题组和测序引物降序排序获取板号 result_客户名_arr=[] result_课题组_arr=[] result_引物浓度_arr=[] result_备注_arr=[] result_测序引物_arr=[] result_板号_arr=[] for(var i=0;i<测序引物_arr.length;i++){ tijiao="/seq/ashx/SeqSampleHandler.ashx?_search=true&nd=1667077638736&rows=20&page=1&sidx=seqs_plate&sord=desc&filters=%7B%22groupOp%22%3A%22AND%22%2C%22rules%22%3A%5B%7B%22field%22%3A%22seqs_primer%22%2C%22op%22%3A%22eq%22%2C%22data%22%3A%22"+测序引物_arr[i]+"%22%7D%2C%7B%22field%22%3A%22seqo_ketizu%22%2C%22op%22%3A%22eq%22%2C%22data%22%3A%22"+课题组_arr[i]+"%22%7D%5D%7D" $.get(tijiao, function (data) { 总个数=文本_取中间文本(data,'"totalrecords":"','"') if (总个数=="0" || 总个数=='没有找到 前面文本 ' || 总个数=='前面文本必须唯一'){ console.log('总个数为0') tag=1 return }else{ result_备注_arr.push(文本_取中间文本_批量(data,'"remark":"','"')[0]) result_客户名_arr.push(文本_取中间文本_批量(data,'"seqo_cust_name":"','"')[0]) result_课题组_arr.push(文本_取中间文本_批量(data,'"seqo_ketizu":"','"')[0]) result_测序引物_arr.push(文本_取中间文本_批量(data,'"seqs_primer":"','"')[0]) result_引物浓度_arr.push(文本_取中间文本_批量(data,'"seqs_observe":"','"')[0]) result_板号_arr.push(文本_取中间文本_批量(data,'"seqs_plate":"','"')[0]) } }) } //清空文本框内容 if($('#textarea_shuju').length===1){ $("#textarea_shuju").val("") } //给文本框放入结果数据 for(var i=0;i<result_备注_arr.length;i++){ shuju=result_测序引物_arr[i]+" ("+result_板号_arr[i]+") "+result_客户名_arr[i]+" "+result_课题组_arr[i] //+" "+result_备注_arr[i]+" "+result_引物浓度_arr[i] console.log(shuju) if($('#textarea_shuju').length===0){ $("body").find("[class='layout-body panel-body panel-body-noheader panel-body-noborder']").append('<textarea id="textarea_shuju" style="position:absolute;left:400px;top:20px" rows="2" cols="400"></textarea>'); } $("#textarea_shuju").val($("#textarea_shuju").val()+shuju+"\n") } alert('ok') } //查询模板板号 function 查询模板板号(){ //把每页10改成每页150 ,方便反应组排版 //html.find('#pager_center').eq(0).find("option[value='10']").eq(0).val('150') 模板板号_文本框=html.find('#text_mubanbanhao').eq(0).val() if(模板板号_文本框==''){ return false } toolbar.find('#a_search').eq(0).find('.l-btn-left').eq(0).click(); //点击 查询按钮 $('#searchForm').eq(0).find("option[value='seqs_tempplate']").eq(0).attr('selected','selected') //把找到的第一个查询条件改成 模板板号 $('#searchForm').eq(0).find("[class='txt02 searchString']").eq(0).val(模板板号_文本框) $("#AB").click() } }