Greasy Fork

2.21-合成费用

合成费用

目前为 2024-08-15 提交的版本。查看 最新版本

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.greasyfork.cloud/scripts/503739/1428420/221-%E5%90%88%E6%88%90%E8%B4%B9%E7%94%A8.js

function 合成费用(src){
	console.log('新的合成费用界面')
	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.find('#a_orderToCustmer').eq(0)
				//点击送货单按钮
				送货单按钮.click(function(){
					不干胶式_备注带缺和不带缺(html)
				})
			}
		}
	}
	
	
	//不干胶式_备注带缺和不带缺
	function 不干胶式_备注带缺和不带缺(html){
		//弹框加个按钮
		$('#uiform').find('#print_synBDT').parent().append('<button id="button_buganjiaoshi_bubaohan_que" onclick="return false">不干胶式_备注不包含缺</button>')
		$('#uiform').find('#print_synBDT').parent().append('<button id="button_buganjiaoshi_baohan_que" onclick="return false">不干胶式_备注包含缺</button>')
		//点击不干胶式_备注不包含缺按钮
		$('#uiform').find('#button_buganjiaoshi_bubaohan_que').click(function(){
			console.log(1)
		})
		//点击不干胶式_备注包含缺按钮
		$('#uiform').find('#button_buganjiaoshi_baohan_que').click(function(){
			console.log(2)
		})
	}
	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=200&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":"','","')
			 console.log(引物名称_arr)
			 //决定每个引物出几管
			 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":"','","')
		 }); 
		 
		 
		 //排序*******************按照 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[孔号位置])
				 }
			 }
		 }
		 
		 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')
	}
	
	//保存文本到本地
	function 保存文本到本地(text, filename){
		// 创建一个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('http://localhost/addName/print.html')
	}
}