Greasy Fork

Greasy Fork is available in English.

2.3-测序样品

测序样品

当前为 2023-07-01 提交的版本,查看 最新版本

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/469913/1213956/23-%E6%B5%8B%E5%BA%8F%E6%A0%B7%E5%93%81.js

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

function 测序样品(){
	console.log('新的测序样品界面')
	var local_修改样品名称=localStorage.getItem('修改样品名称');
	var html=$('iframe[src="/seq/SeqSampleList.aspx"]')//测序样品页面
	html=html.contents().find('body').eq(0)
	//添加toolbar工具栏按钮
	添加toolbar按钮(html)
	//添加toolbar工具栏按钮
	function 添加toolbar按钮(html){
		var toolbar=html.find('.toolbar').eq(0)  // 找到了toolbar工具栏
		var table=html.find('.ui-jqgrid-btable').eq(0)  // 找到了样品的table
		if (toolbar.find('.weiyiyici').length==0){
			//添加标记
			toolbar.addClass('weiyiyici')
			//添加修改样品名称按钮
			if (local_修改样品名称=='true'){
				toolbar.append('<span style="position:relative;z-index:2;"><button id="button_xiugai_yangpin" onclick="return false">修改样品名称◇</button><div id="div_xiugai_yangpin" style="position:absolute;width:250px;height:360px;border:1px solid orange;background-color:	#1B211D;display:none"></div></span>')
				var div_show_yincang=toolbar.find('#div_xiugai_yangpin').eq(0)
				div_show_yincang.append('<input type="text" id="text_qianzhui" placeholder="样品前缀" size="10"/><button id="button_qianzhui" onclick="return false">添加样品前缀</button>')
				div_show_yincang.append('<input type="text" id="text_houzhui"  placeholder="样品后缀" size="10"/><button id="button_houzhui" onclick="return false">添加样品后缀</button>')
				div_show_yincang.append('<input type="text" id="text_gaiqian"  placeholder="需要改的部分" size="15"/><input type="text" id="text_gaihou" placeholder="改成的部分" size="10"/><button id="button_genggai" onclick="return false">更改部分样品名称</button>')
				
				//点击修改样品名称按钮  显示或者隐藏DIV
				toolbar.find('#button_xiugai_yangpin').click(function(){
					显示隐藏DIV(toolbar,div_show_yincang)
				})
				//点击添加样品前缀按钮执行如下函数
				toolbar.find('#button_qianzhui').click(function(){
					添加前缀()
				})
				//给文本框绑定回车键的函数
				toolbar.find('#text_houzhui').eq(0).keypress(function(event){
					if(event.keyCode ==13){
						return false
					}
				});
				toolbar.find('#text_qianzhui').eq(0).keypress(function(event){
					if(event.keyCode ==13){
						return false
					}
				});
				toolbar.find('#text_gaiqian').eq(0).keypress(function(event){
					if(event.keyCode ==13){
						return false
					}
				});
				toolbar.find('#text_gaihou').eq(0).keypress(function(event){
					if(event.keyCode ==13){
						return false
					}
				});
			}
		}
	}
	
	//显示或者隐藏DIV
	function 显示隐藏DIV(toolbar,div){
		div.toggle()
		//改变背景颜色
		if (div.css('display')==="none"){
			toolbar.find('#button_xiugai_yangpin').css('background-color','')
		}else{
			toolbar.find('#button_xiugai_yangpin').css('background-color','#B7A0AA')
			//把已填的数据清除
			toolbar.find('#div_xiugai_yangpin').eq(0).find(":input").val('')
		}
	}
	
	//添加前缀
	function 添加前缀(){
		//如果没有选择的行,那么退出
		if(table.find('tbody').find("[aria-selected='true']").size()==0){return false}  
		if(html.find('#text_qianzhui').eq(0).val()===""){return false}
		selecteds=table.find('tbody').find("[aria-selected='true']")
		selecteds.each(function(){
			ids=$(this).find('[aria-describedby=list_undefined]').text()  //获取生产编号
			product_number=$(this).find('[aria-describedby=list_seqs_sam_num]').text()  //获取最开始的样品编号
			new_product_number=toolbar.find('#text_qianzhui').eq(0).val()+product_number  //获取最新的样品编号
			//post请求 更改样品编号
			$.post("/seq/ashx/SeqSampleHandler.ashx",
				{action:"piliang_edit",ids:ids.slice(2),newValue:"seqs_sam_num="+new_product_number,rules_txt:"样品编号"},
				function (data,status) {console.log("成功" + data);});
		})
		html.find('.ui-pg-input').eq(0).focus()
		html.find('.ui-pg-input').eq(0).trigger("submit")
		//alert('修改了 '+table.find('tbody').find("[aria-selected='true']").size()+' 条反应的样品名称,光标自动定位在页数,直接按回车或更改页数可以查看更改结果')
		//return false
	}
}