2.6-合成订单

合成订单

此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.gf.qytechs.cn/scripts/470835/1369640/26-%E5%90%88%E6%88%90%E8%AE%A2%E5%8D%95.js

  1. function 合成订单(){
  2. console.log('新的合成订单界面')
  3. var local_合成_vip按钮前置=localStorage.getItem('合成_vip按钮前置');
  4. var html=$('iframe[src="/syn/syn_order.aspx"]')//合成订单页面
  5. html=html.contents().find('body').eq(0)
  6. var toolbar=html.find('.toolbar').eq(0) // 找到了toolbar工具栏
  7. //添加toolbar工具栏按钮
  8. 添加toolbar按钮()
  9. //添加toolbar工具栏按钮
  10. function 添加toolbar按钮(){
  11. if (toolbar.find('.weiyiyici').length==0){
  12. //添加标记
  13. toolbar.addClass('weiyiyici')
  14. //VIP按钮前置
  15. if (local_合成_vip按钮前置=='true'){
  16. var vip=toolbar.find('#a_addordervip').eq(0)
  17. //点击VIP下单按钮
  18. vip.click(function(){
  19. vip_top(html)
  20. })
  21. }
  22. }
  23. }
  24. //VIP按钮放在最前面 绑定事件:如果点击VIP下单 load后运行 add_order_iframe()
  25. function vip_top(html){
  26. //如果vip 下单弹框显示完全,则运行
  27. var html_tankuang= $('iframe[src="../bio/erp/primerSynthesis.html?mode=add"]')//合成管理 弹框页面
  28. html_tankuang.on('load',function(){
  29. html=html_tankuang.contents().find('body').eq(0)
  30. add_order_iframe(html)
  31. })
  32. }
  33. //合成订单 vip下单 页面
  34. function add_order_iframe(html){
  35. //添加订单的iframe弹框界面
  36. if(html.length===1){
  37. sleep(1000)
  38. //默认选择nmol模式
  39. html.find('#unit2').click()
  40. //测序引物用nmol模式
  41. 测序引物用nmol模式(html)
  42. //iframe 监听增加元素的情况
  43. $(html).on('DOMNodeInserted',function(e) {
  44. //如果检查到客户信息显示了,就是li里面的很多行客户信息,那么选择客户的时候让数据显示在一行
  45. if (e.target.outerHTML.indexOf('<li class="select2-results__option" role="treeitem"')!=-1){
  46. //$(e.target)表示每一行客户信息
  47. $(e.target).find('br').before("<span> —— </span>")
  48. $(e.target).find('br').remove()
  49. }
  50. });
  51. //==============================开始 检查到客户变了,那么 ①把客户信息显示出来 ②生产实验室 如果不是北京分公司,那么就显示一个颜色===========
  52. // 观察器的配置(需要观察什么变动)
  53. var config = { attributes: true}; //, childList: true, subtree: true,characterData:true,characterDataOldValue:true,attributDataOldValue:true
  54. var 选择客户后 = function(mutationRecoard, observer) {
  55. //客户信息显示出来
  56. kehu_showAll(html);
  57. //生产实验室 如果不是北京分公司,那么就显示一个颜色
  58. color_shengchan_fengongsi(html)
  59. };
  60. var observer = new MutationObserver(选择客户后);
  61. // 以上述配置开始观察目标节点
  62. dom=$(html).find("[class='select2-selection select2-selection--single']").eq(0).get(0)
  63. observer.observe(dom, config);
  64. //==============================结束 检查到客户变了,那么 ①把客户信息显示出来 ②生产实验室 如果不是北京分公司,那么就显示一个颜色===========
  65. }
  66. }
  67. //添加页面,选择好客户后显示详细信息
  68. function kehu_showAll(html){
  69. //先隐藏图
  70. html.find("[class='col-xs-3 plate-param-container']").addClass('hidden')//添加隐藏
  71. html.find("[class='col-xs-3 plate-container']").addClass('hidden')//添加隐藏
  72. //添加文本框 存放提醒内容 和客户信息
  73. if(html.find('#kehu_all').size()==0){
  74. t='<div id="kehu_all" style="position:absolute;left:60px;width:1300px;height:67px"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><font size="3" color="red"></font></div>'
  75. html.find("[class='wrapper wrapper-content animated fadeInRight']").eq(0).prepend(t)
  76. html.find("[class='plate-col']").eq(0).append('<div style="position:absolute;right:310px;top:90px"><font size="3" color="red"><textarea id="tixing" rows="11" cols="40"></textarea></font></div>')
  77. html.find("#kehu_all").attr('title',"")
  78. }
  79. ktz_text=html.find('#select2-ktz-container').eq(0) //课题组选择框
  80. //去除里面的div标签 <div hidden='hidden'>朱旭</div>
  81. ktz_text.find('div').remove()
  82. select_xinxi=ktz_text.text()
  83. if(select_xinxi=="输入名称、邮箱、电话查询"){
  84. html.find('#kehu_all').eq(0).find('font').eq(0).text("")
  85. return false
  86. }
  87. select_xinxi=select_xinxi.slice(1)
  88. id=parseInt(select_xinxi).toString() //选择的客户ID
  89. name=select_xinxi.slice(id.length) //选择的客户名称
  90. if(html.find("#kehu_all").attr('title')!==id){
  91. $.ajaxSettings.async = false;
  92. $.get("/ajax/SearchCustmer.ashx?action=getcustKtz&keyword="+id+"%20"+name,
  93. function (data,status) {
  94. data=data.slice(2,-2) //把左右两遍的[""]去掉
  95. html.find('#kehu_all').eq(0).find('font').eq(0).text(data)
  96. html.find("#kehu_all").attr('title',id)
  97. //放入提醒
  98. data_arr=data.split('——')
  99. ktz_id=data_arr[2]//从已经建立的div里面获取里面的课题组ID
  100. ti_xing=getTixing(id,ktz_id) //获取客户和课题组提醒
  101. html.find('#tixing').eq(0).val(ti_xing)
  102. });
  103. }
  104. }
  105. //添加订单iframe页面 生产实验室 如果不是北京分公司,那么就显示一个颜色
  106. function color_shengchan_fengongsi(html){
  107. var value=html.find('#sys').eq(0).val()
  108. if(value!=='38' && value!==''){ //如果不是北京分公司
  109. html.find('#sys').eq(0).css('background-color','#8BEEE7')
  110. }else{
  111. html.find('#sys').eq(0).css('background-color','white')
  112. }
  113. }
  114. function getTixing(id,ktz_id){ //变量传客户ID和 课题组ID
  115. //客户提醒
  116. ti_kehu=""
  117. ti_ketizu=""
  118. $.ajaxSettings.async = false;
  119. $.get("/custmer/ashx/CustmerHandler.ashx?_search=true&nd=1625069471021&rows=20&page=1&sidx=cust_id&sord=desc&filters=%7B%22groupOp%22%3A%22AND%22%2C%22rules%22%3A%5B%7B%22field%22%3A%22cust_id%22%2C%22op%22%3A%22eq%22%2C%22data%22%3A%22"+id+"%22%7D%5D%7D",
  120. function (data,status) {
  121. ti_kehu=data.match(/ent":(.*?)(?=,"cust_wx_id)/)[0]
  122. ti_kehu=ti_kehu.substr(5)
  123. });
  124. //课题组提醒
  125. $.get("/custmer/ashx/KeTiZuHandler.ashx?_search=true&nd=1625137163049&rows=20&page=1&sidx=ketizu_id&sord=desc&filters=%7B%22groupOp%22%3A%22AND%22%2C%22rules%22%3A%5B%7B%22field%22%3A%22ketizu_id%22%2C%22op%22%3A%22eq%22%2C%22data%22%3A%22"+ktz_id+"%22%7D%5D%7D",
  126. function (data,status) {
  127. ti_ketizu=data.match(/ent":(.*?)(?=,"ketizu_Gen)/)[0]
  128. ti_ketizu=ti_ketizu.substr(5)
  129. });
  130. tixing="客户提醒:"+ti_kehu+"\n"+"\n"+"课题组提醒:"+ti_ketizu
  131. return tixing
  132. }
  133. }
  134.  
  135. //测序引物用nmol模式
  136. function 测序引物用nmol模式(html){
  137. html.find("[class='m-b-sm tool-group']").append('<span style="color:red;font-size:22px">录入提醒:合成"测序引物"如无特殊要求,按nmol模式,需求量是6.4,分装管数是2</span>')
  138. }

QingJ © 2025

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