2.16-模板生产

模板生产

Tính đến 25-02-2024. Xem phiên bản mới nhất.

Script này sẽ không được không được cài đặt trực tiếp. Nó là một thư viện cho các script khác để bao gồm các chỉ thị meta // @require https://update.greasyforks.org/scripts/471857/1333182/216-%E6%A8%A1%E6%9D%BF%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工具栏
	//添加toolbar工具栏按钮
	添加toolbar按钮(html)
	//添加toolbar工具栏按钮
	function 添加toolbar按钮(html){
		if (toolbar.find('.weiyiyici').length==0){
			//添加标记
			toolbar.addClass('weiyiyici')
			//查询加测反应
			if (local_质粒引物板号=='true'){
				toolbar.append('<button id="button_zhili_banhao" onclick="return false">质粒引物板号</button>')
				//点击 质粒引物板号  按钮   
				toolbar.find('#button_zhili_banhao').click(function(){
					获取质粒引物板号1()
				})
			}
			if (local_直提引物板号=='true'){
				toolbar.append('<button id="button_zhiti_banhao" onclick="return false">直提引物板号</button>')
				//点击 直提引物板号  按钮   
				toolbar.find('#button_zhiti_banhao').click(function(){
					获取直提引物板号()
				})
			}
			if (local_切胶引物板号=='true'){
				toolbar.append('<button id="button_qiejiao_banhao" onclick="return false">切胶引物板号</button>')
				//点击 直提引物板号  按钮
				toolbar.find('#button_qiejiao_banhao').click(function(){
					获取切胶引物板号()
				})
			}
		}
	}
	//test  搜索  引物浓度=对应  且  模板板号包含ZL 
	function 获取质粒引物板号1(){
		url='/seq/ashx/SeqProcessHandler.ashx?_search=true&nd=1708850474842&rows=100&page='+'第几页'+'&sidx=seqs_tempplate&sord=desc&filters={"groupOp":"AND","rules":[{"field":"seqs_observe","op":"eq","data":"对应"},{"field":"seqs_tempplate","op":"cn","data":"ZL"}]}'
		url='/seq/ashx/SeqProcessHandler.ashx?_search=true&nd=1708848801683&rows=50&page='+'第几页'+'&sidx=seqs_prod_id&sord=desc&filters={"groupOp":"AND","rules":[{"field":"seqs_observe","op":"eq","data":"对应"}]}'
		公共_引物1(url)
	}
	
	//获取质粒引物板号  搜索 模板板号包含ZL  
	function 获取质粒引物板号(){
		url="/seq/ashx/SeqProcessHandler.ashx?_search=true&nd=1667131250674&rows=200&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_tempplate%22%2C%22op%22%3A%22cn%22%2C%22data%22%3A%22ZL%22%7D%5D%7D"
		公共_引物(url)
	}
	//获取直提引物板号  搜索 模板板号包含T
	function 获取直提引物板号(){
		url="/seq/ashx/SeqProcessHandler.ashx?_search=true&nd=1667131250674&rows=200&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_tempplate%22%2C%22op%22%3A%22cn%22%2C%22data%22%3A%22T%22%7D%5D%7D"
		公共_引物(url)
	}
	//获取切胶引物板号  搜索 模板板号包含Q
	function 获取切胶引物板号(){
		url="/seq/ashx/SeqProcessHandler.ashx?_search=true&nd=1667131250674&rows=200&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_tempplate%22%2C%22op%22%3A%22cn%22%2C%22data%22%3A%22Q%22%7D%5D%7D"
		公共_引物(url)
	}
	
	//公共函数
	function 公共_引物1(url_原始){
		for (i=1;i<=5;i++){
			url=url_原始.replace('第几页',i)
			console.log(url)
			
			jQuery.ajax({  
			    url:url,  
			    type: "get",  
			    dataType: "text",  
			    async: false,
			    success: function(data){  
			        总个数=文本_取中间文本(data,'"totalrecords":"','"')
			        console.log(总个数)
			        if (总个数=="0" || 总个数==false){
			        	return
			        }
			    }  
			});  
			
			
			/* $.get(url,
				function (data) {
					总个数=文本_取中间文本(data,'"totalrecords":"','"')
					console.log(总个数)
					if (总个数=="0" || 总个数==false){
						return
					}
				}) */
			sleep(3000)
		}
	}
	
	//公共函数
	function 公共_引物(url){
		测序引物_arr=[]
		$.ajaxSettings.async = false; //get请求默认是异步的,在这里改为同步
		$.get(url,
			function (data) {
				总个数=文本_取中间文本(data,'"totalrecords":"','"')
				console.log(总个数)
				if (总个数=="0" || 总个数==false){
					return
				}else{
					备注_arr=文本_取中间文本_批量(data,'"remark":"','"')
					客户名_arr=文本_取中间文本_批量(data,'"seqo_cust_name":"','"')
					课题组_arr=文本_取中间文本_批量(data,'"seqo_ketizu":"','"')
					测序引物_arr=文本_取中间文本_批量(data,'"seqs_primer":"','"')
					引物浓度_arr=文本_取中间文本_批量(data,'"seqs_observe":"','"')
					
					//删除 待测和没有包含对应的,所有数组都要去除
					记录需要删除的索引=[]
					for(var i=0;i<备注_arr.length;i++){
						//如果备注有待测                或者 长程序 或  暂时不做 
						if(备注_arr[i].indexOf('待测')!=-1 ){  // 备注_arr[i].indexOf('长程序')!=-1 || 备注_arr[i].indexOf('暂时不做')!=-1
							记录需要删除的索引.push(i)
							continue
						}
						// 如果引物浓度没有包含对应
						if(引物浓度_arr[i].indexOf('对应')==-1){
							记录需要删除的索引.push(i)
							continue
						}
					}
					for(var i=记录需要删除的索引.length-1;i>=0;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.length)
					console.log('客户名_arr的长度',客户名_arr.length)
					console.log('课题组_arr的长度',课题组_arr.length)
					console.log('测序引物_arr的长度',测序引物_arr.length)
					console.log('引物浓度_arr的长度',引物浓度_arr.length)
				}
			})
		//在测序样品根据课题组和测序引物降序排序获取板号
		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" || 总个数==false){
						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]
			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')
	}
}

长期地址
遇到问题?请前往 GitHub 提 Issues。