2.16-模板生产

模板生产

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.gf.qytechs.cn/scripts/471857/1408514/216-%E6%A8%A1%E6%9D%BF%E7%94%9F%E4%BA%A7.js

  1. function 模板生产(src){
  2. console.log('新的模板生产界面')
  3. var local_质粒引物板号=localStorage.getItem('质粒引物板号');
  4. var local_直提引物板号=localStorage.getItem('直提引物板号');
  5. var local_切胶引物板号=localStorage.getItem('切胶引物板号');
  6. var local_菌引物板号=localStorage.getItem('菌引物板号');
  7. var local_重抽引物板号=localStorage.getItem('重抽引物板号');
  8. var html=$('iframe[src="'+src+'"]')//页面
  9. html=html.contents().find('body').eq(0)
  10. var toolbar=html.find('.toolbar').eq(0) // 找到了toolbar工具栏
  11. //添加toolbar工具栏按钮
  12. 添加toolbar按钮(html)
  13. //添加toolbar工具栏按钮
  14. function 添加toolbar按钮(html){
  15. if (toolbar.find('.weiyiyici').length==0){
  16. //添加标记
  17. toolbar.addClass('weiyiyici')
  18. //改成每页100个数据
  19. html.find('#pager_center').eq(0).find("option[value='10']").eq(0).val('200')
  20. //查询加测反应
  21. if (local_质粒引物板号=='true'){
  22. toolbar.append('<button id="button_zhili_banhao" onclick="return false">质粒引物板号</button>')
  23. //点击 质粒引物板号 按钮
  24. toolbar.find('#button_zhili_banhao').click(function(){
  25. 获取质粒引物板号()
  26. })
  27. }
  28. if (local_直提引物板号=='true'){
  29. toolbar.append('<button id="button_zhiti_banhao" onclick="return false">直提引物板号</button>')
  30. //点击 直提引物板号 按钮
  31. toolbar.find('#button_zhiti_banhao').click(function(){
  32. 获取直提引物板号()
  33. })
  34. }
  35. if (local_切胶引物板号=='true'){
  36. toolbar.append('<button id="button_qiejiao_banhao" onclick="return false">切胶引物板号</button>')
  37. //点击 直提引物板号 按钮
  38. toolbar.find('#button_qiejiao_banhao').click(function(){
  39. 获取切胶引物板号()
  40. })
  41. }
  42. if (local_菌引物板号=='true'){
  43. toolbar.append('<button id="button_jun_banhao" onclick="return false">菌引物板号</button>')
  44. //点击 菌引物板号 按钮
  45. toolbar.find('#button_jun_banhao').click(function(){
  46. 获取菌引物板号()
  47. })
  48. }
  49. if (local_重抽引物板号=='true'){
  50. toolbar.append('<button id="button_chongchou_banhao" onclick="return false">重抽引物板号</button>')
  51. //点击 重抽引物板号 按钮
  52. toolbar.find('#button_chongchou_banhao').click(function(){
  53. 获取重抽引物板号()
  54. })
  55. }
  56. }
  57. }
  58. //获取质粒引物板号 搜索 引物浓度包含对应 且 模板板号包含ZL
  59. function 获取质粒引物板号(){
  60. url='/seq/ashx/SeqProcessHandler.ashx?_search=true&nd=1708850474842&rows=200&page='+'第几页'+'&sidx=seqs_tempplate&sord=desc&filters={"groupOp":"AND","rules":[{"field":"seqs_observe","op":"cn","data":"对应"},{"field":"seqs_sam_type","op":"cn","data":"质粒"}]}'
  61. 公共_引物(url)
  62. }
  63. //获取直提引物板号 搜索 引物浓度包含对应 模板板号包含T
  64. function 获取直提引物板号(){
  65. url='/seq/ashx/SeqProcessHandler.ashx?_search=true&nd=1708850474842&rows=200&page='+'第几页'+'&sidx=seqs_tempplate&sord=desc&filters={"groupOp":"AND","rules":[{"field":"seqs_observe","op":"cn","data":"对应"},{"field":"seqs_tempplate","op":"cn","data":"T"}]}'
  66. 公共_引物(url)
  67. }
  68. //获取切胶引物板号 搜索 引物浓度包含对应 模板板号包含Q
  69. function 获取切胶引物板号(){
  70. url='/seq/ashx/SeqProcessHandler.ashx?_search=true&nd=1708850474842&rows=200&page='+'第几页'+'&sidx=seqs_tempplate&sord=desc&filters={"groupOp":"AND","rules":[{"field":"seqs_observe","op":"cn","data":"对应"},{"field":"seqs_tempplate","op":"cn","data":"Q"}]}'
  71. 公共_引物(url)
  72. }
  73. //获取菌引物板号 搜索 引物浓度包含对应 且 样品类型包含菌 在 记录需要删除的索引 搜索重抽并去掉
  74. function 获取菌引物板号(){
  75. url='/seq/ashx/SeqProcessHandler.ashx?_search=true&nd=1708850474842&rows=200&page='+'第几页'+'&sidx=seqs_tempplate&sord=desc&filters={"groupOp":"AND","rules":[{"field":"seqs_observe","op":"cn","data":"对应"},{"field":"seqs_sam_type","op":"cn","data":"菌"}]}'
  76. 公共_引物(url)
  77. }
  78. //获取重抽引物板号 搜索 引物浓度包含对应 且 返回状态包含重抽
  79. function 获取重抽引物板号(){
  80. url='/seq/ashx/SeqProcessHandler.ashx?_search=true&nd=1708850474842&rows=200&page='+'第几页'+'&sidx=seqs_tempplate&sord=desc&filters={"groupOp":"AND","rules":[{"field":"seqs_observe","op":"cn","data":"对应"},{"field":"seqs_back","op":"cn","data":"重抽"}]}'
  81. 公共_引物(url,'重抽')
  82. }
  83. //公共函数
  84. function 公共_引物(url_原始,是否是查重抽){
  85. //先改成1,获取总共页数
  86. url=url_原始.replace('第几页',1)
  87. 总页数=网址_获取总页数(url)
  88. sleep(2000)
  89. 备注_arr=[]
  90. 客户名_arr=[]
  91. 课题组_arr=[]
  92. 测序引物_arr=[]
  93. 返回状态_arr=[]
  94. for (i=1;i<=parseInt(总页数);i++){
  95. url=url_原始.replace('第几页',i)
  96. jQuery.ajax({
  97. url:url,
  98. type: "get",
  99. dataType: "text",
  100. async: false,
  101. success: function(data){
  102. 备注_arr=备注_arr.concat(文本_取中间文本_批量(data,'"remark":"','"'))
  103. 客户名_arr=客户名_arr.concat( 文本_取中间文本_批量(data,'"seqo_cust_name":"','"'))
  104. 课题组_arr=课题组_arr.concat( 文本_取中间文本_批量(data,'"seqo_ketizu":"','"'))
  105. 测序引物_arr=测序引物_arr.concat( 文本_取中间文本_批量(data,'"seqs_primer":"','"'))
  106. 返回状态_arr=返回状态_arr.concat( 文本_取中间文本_批量(data,'"seqs_back":"','"'))
  107. }
  108. });
  109. sleep(2000)
  110. }
  111. //删除 待测的,所有数组都要去除
  112. 记录需要删除的索引=[]
  113. for(var i=0;i<备注_arr.length;i++){
  114. //如果备注有待测 或者 长程序 或 暂时不做
  115. if(备注_arr[i].indexOf('待测')!=-1 ){ // 备注_arr[i].indexOf('长程序')!=-1 || 备注_arr[i].indexOf('暂时不做')!=-1
  116. 记录需要删除的索引.push(i)
  117. continue
  118. }
  119. //如果返回状态包含重抽 并且不是查重抽 则去除
  120. if(返回状态_arr[i].indexOf('重抽')!=-1 && 是否是查重抽!='重抽'){
  121. 记录需要删除的索引.push(i)
  122. continue
  123. }
  124. }
  125. for(var i=记录需要删除的索引.length-1;i>=0;i--){
  126. 备注_arr.splice (记录需要删除的索引[i],1)
  127. 客户名_arr.splice (记录需要删除的索引[i],1)
  128. 课题组_arr.splice (记录需要删除的索引[i],1)
  129. 测序引物_arr.splice (记录需要删除的索引[i],1)
  130. 返回状态_arr.splice (记录需要删除的索引[i],1)
  131. }
  132. 所有连接_arr=[]
  133. for (var i=0;i<客户名_arr.length;i++){
  134. 所有连接_arr.push(备注_arr[i]+"&$"+客户名_arr[i]+"&$"+课题组_arr[i]+"&$"+测序引物_arr[i])
  135. }
  136. 所有连接_arr=quchong_arr(所有连接_arr)
  137. 备注_arr=[]
  138. 客户名_arr=[]
  139. 课题组_arr=[]
  140. 测序引物_arr=[]
  141. for(var i=0;i<所有连接_arr.length;i++){
  142. 备注_arr.push(所有连接_arr[i].split('&$')[0])
  143. 客户名_arr.push(所有连接_arr[i].split('&$')[1])
  144. 课题组_arr.push(所有连接_arr[i].split('&$')[2])
  145. 测序引物_arr.push(所有连接_arr[i].split('&$')[3])
  146. }
  147. //在测序样品根据课题组和测序引物降序排序获取板号
  148. result_客户名_arr=[]
  149. result_课题组_arr=[]
  150. result_引物浓度_arr=[]
  151. result_备注_arr=[]
  152. result_测序引物_arr=[]
  153. result_板号_arr=[]
  154. console.log('共访问',测序引物_arr.length,'次')
  155. for(var i=0;i<测序引物_arr.length;i++){
  156. tijiao="/seq/ashx/SeqSampleHandler.ashx?_search=true&nd=1667077638736&rows=200&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"
  157. $.get(tijiao,
  158. function (data) {
  159. 总个数=文本_取中间文本(data,'"totalrecords":"','"')
  160. if (总个数=="0" || 总个数==false){
  161. return
  162. }else{
  163. console.log('第',i+1,'次')
  164. result_备注_arr.push(文本_取中间文本_批量(data,'"remark":"','"')[0])
  165. result_客户名_arr.push(文本_取中间文本_批量(data,'"seqo_cust_name":"','"')[0])
  166. result_课题组_arr.push(文本_取中间文本_批量(data,'"seqo_ketizu":"','"')[0])
  167. result_测序引物_arr.push(文本_取中间文本_批量(data,'"seqs_primer":"','"')[0])
  168. result_引物浓度_arr.push(文本_取中间文本_批量(data,'"seqs_observe":"','"')[0])
  169. //获取返回状态 如果返回状态==报告重跑 则板号改成-1
  170. 返回状态=文本_取中间文本_批量(data,'"seqs_back":"','"')[0]
  171. 板号=文本_取中间文本_批量(data,'"seqs_plate":"','"')[0]
  172. //如果是 报告重跑
  173. if (返回状态=='报告重跑'){
  174. result_板号_arr.push(板号+'重跑')
  175. }else{
  176. result_板号_arr.push(板号)
  177. }
  178. }
  179. })
  180. sleep(2000)
  181. }
  182. //清空文本框内容
  183. if($('#textarea_shuju').length===1){
  184. $("#textarea_shuju").val("")
  185. }
  186. //给文本框放入结果数据
  187. for(var i=0;i<result_备注_arr.length;i++){
  188. shuju=result_测序引物_arr[i]+" ("+result_板号_arr[i]+") "+result_客户名_arr[i]+" "+result_课题组_arr[i] //+" "+result_备注_arr[i]+" "+result_引物浓度_arr[i]
  189. if($('#textarea_shuju').length===0){
  190. $("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>');
  191. }
  192. $("#textarea_shuju").val($("#textarea_shuju").val()+shuju+"\n")
  193. }
  194. alert('ok')
  195. }
  196. }
  197.  

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址