您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
描述-订单管理
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/468378/1212796/22-%E8%AE%A2%E5%8D%95%E7%AE%A1%E7%90%86.js
function 订单管理(显示_订单管理){ console.log('新的订单管理界面') var 当前用户名=$('#curname',window.parent.document).text() var html=$('iframe[src="/seq/SeqOrderList.aspx"]')//订单管理页面 if (显示_订单管理==true){ html=html.contents().find('body').eq(0) html.on('DOMNodeInserted',function(e) { text=e.target.outerHTML //如果检查到总页数显示出来,说明订单管理这个iframe内容全部显示出来了。 if (text.indexOf('<span id="sp_1">')!=-1 ) { 非北京分公司显示颜色(html) //ok----vip下单放到最前面 vip_top('dingdan',html); } }); return //var toolbar=html.contents().find('.toolbar').eq(0) // 找到了toolbar工具栏 var toolbar=html.find('.toolbar').eq(0) // 找到了toolbar工具栏 //如果有标记 则退出 if(toolbar.hasClass('diyici_biaoji')==true){return false} toolbar.addClass('diyici_biaoji') //html.on('load',function(){ //setTimeout(function(){ //html=html.contents().find('body').eq(0) //批量添加照片 多个人上传同一个照片 //add_phone() if(当前用户名==="申高天" || 当前用户名==="冯丽丽"){ //查询北京订单数量 //find_shuliang() //每日报表 //baobiao() } //gaodu('dingdanguanli') //gaodu('dingdanguanli') //},1000) //}) } //订单管理,VIP按钮放在最前面 绑定事件:如果点击VIP下单 load后运行 add_order_iframe() function vip_top(leixings,html){ //把VIP下单按钮放在最前面 var toolbar=html.find('.toolbar').eq(0) // 找到了toolbar工具栏 var vip=toolbar.find('#a_addordervip').eq(0) var a_edit=toolbar.find('#a_edit').eq(0) a_edit.before(vip) //点击VIP下单按钮 触发事件 vip.click(function(){ //如果vip 下单弹框显示完全,则运行 if(leixings==="hecheng"){ var html_tankuang= $('iframe[src="../bio/erp/primerSynthesis.html?mode=add"]')//合成管理 弹框页面 }else{ var html_tankuang=$('iframe[src="../bio/erp/sangerSequencing.html?mode=add"]') //订单管理 弹框页面 } html_tankuang.on('load',function(){ html=html_tankuang.contents().find('body').eq(0) add_order_iframe(leixings,html) }) }) } //订单管理和合成订单 vip下单 页面 function add_order_iframe(leixings,html){ //添加订单的iframe弹框界面 if(html.length===1){ $(html).on('DOMNodeInserted',function(e) { //如果检查到客户信息显示了,就是li里面的很多行客户信息,那么选择客户的时候让数据显示在一行 if (e.target.outerHTML.indexOf('<li class="select2-results__option" role="treeitem"')!=-1){ //$(e.target)表示每一行客户信息 $(e.target).find('br').before("<span> —— </span>") $(e.target).find('br').remove() } // 当显示引物弹框时 var class属性 = e.target.className; if (class属性.indexOf('layui-layer layui-layer-page')!=-1 ) { primer(); primer_checkbox(); } }); //==============================开始 检查到客户变了,那么 ①把客户信息显示出来 ②生产实验室 如果不是北京分公司,那么就显示一个颜色=========== // 观察器的配置(需要观察什么变动) var config = { attributes: true}; //, childList: true, subtree: true,characterData:true,characterDataOldValue:true,attributDataOldValue:true var 选择客户后 = function(mutationRecoard, observer) { //客户信息显示出来 kehu_showAll(leixings,html); //生产实验室 如果不是北京分公司,那么就显示一个颜色 color_shengchan_fengongsi(html) }; var observer = new MutationObserver(选择客户后); // 以上述配置开始观察目标节点 dom=$(html).find("[class='select2-selection select2-selection--single']").eq(0).get(0) observer.observe(dom, config); //==============================开始 检查到客户变了,那么 ①把客户信息显示出来 ②生产实验室 如果不是北京分公司,那么就显示一个颜色=========== } } //添加订单页面,选择好客户后显示详细信息 function kehu_showAll(leixings,html){ //先隐藏图 html.find("[class='col-xs-3 plate-param-container']").addClass('hidden')//添加隐藏 html.find("[class='col-xs-3 plate-container']").addClass('hidden')//添加隐藏 //添加文本框 存放提醒内容 和客户信息 if(html.find('#kehu_all').size()==0){ t='<div id="kehu_all" style="position:absolute;left:60px;width:1300px;height:67px"><span> </span><font size="3" color="red"></font></div>' html.find("[class='wrapper wrapper-content animated fadeInRight']").eq(0).prepend(t) html.find("[class='plate-col']").eq(0).append('<div style="position:absolute;right:333px"><font size="3" color="red"><textarea id="tixing" rows="11" cols="40"></textarea></font></div>') html.find("#kehu_all").attr('title',"") } ktz_text=html.find('#select2-ktz-container').eq(0) //课题组选择框 //去除里面的div标签 <div hidden='hidden'>朱旭</div> ktz_text.find('div').remove() select_xinxi=ktz_text.text() if(select_xinxi=="输入名称、邮箱、电话查询"){ html.find('#kehu_all').eq(0).find('font').eq(0).text("") return false } select_xinxi=select_xinxi.slice(1) id=parseInt(select_xinxi).toString() //选择的客户ID name=select_xinxi.slice(id.length) //选择的客户名称 if(html.find("#kehu_all").attr('title')!==id){ $.ajaxSettings.async = false; $.get("/ajax/SearchCustmer.ashx?action=getcustKtz&keyword="+id+"%20"+name, function (data,status) { data=data.slice(2,-2) //把左右两遍的[""]去掉 html.find('#kehu_all').eq(0).find('font').eq(0).text(data) html.find("#kehu_all").attr('title',id) //放入提醒 data_arr=data.split('——') ktz_id=data_arr[2]//从已经建立的div里面获取里面的课题组ID ti_xing=getTixing(id,ktz_id) //获取客户和课题组提醒 html.find('#tixing').eq(0).val(ti_xing) }); } } function getTixing(id,ktz_id){ //变量传客户ID和 课题组ID //客户提醒 ti_kehu="" ti_ketizu="" $.ajaxSettings.async = false; $.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", function (data,status) { ti_kehu=data.match(/ent":(.*?)(?=,"cust_wx_id)/)[0] ti_kehu=ti_kehu.substr(5) }); //课题组提醒 $.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", function (data,status) { ti_ketizu=data.match(/ent":(.*?)(?=,"ketizu_Gen)/)[0] ti_ketizu=ti_ketizu.substr(5) }); tixing="客户提醒:"+ti_kehu+"\n"+"\n"+"课题组提醒:"+ti_ketizu return tixing } //添加订单iframe页面 生产实验室 如果不是北京分公司,那么就显示一个颜色 function color_shengchan_fengongsi(html){ var value=html.find('#sys').eq(0).val() if(value!=='38' && value!==''){ //如果不是北京分公司 html.find('#sys').eq(0).css('background-color','#8BEEE7') }else{ html.find('#sys').eq(0).css('background-color','white') } } //订单管理 如果生产公司不是北京分公司,则显示一个颜色 function 非北京分公司显示颜色(html){ //先运行一遍 html.find('#list').eq(0).find('[aria-describedby=list_seqo_product_company_name]').each(function(){ if($(this).text()!="北京分公司"){ $(this).attr('Bgcolor','#AeEEe7') } }) //当table出现数据改变的时候 $(html).find('#list').on('DOMNodeInserted',function(e) { //$(e.target)代表的每一行 生产公司=$(e.target).find('[aria-describedby=list_seqo_product_company_name]') if(生产公司.text()!="北京分公司"){ 生产公司.attr('Bgcolor','#AeEEe7') } }); } //引物弹框页面,显示引物个数 function primer(){ var primer_html=$('iframe[src="../bio/erp/sangerSequencing.html?mode=add"]').contents().find('.layui-layer-content').eq(0)//如果找到 则说明有引物弹框 if(primer_html.length==1){ //说明有引物弹框 primer_num=primer_html.find('tr').size()-1 // 统计tr出现的次数,减去1,就是所有的引物的总数 htm=primer_html.html() if(htm.match('readonly')){ //说明找到了 readonly, primer_num=primer_num-htm.match(/readonly/g).length //match(/readonly/g) 括号里面的是正则 } title_html=$('iframe[src="../bio/erp/sangerSequencing.html?mode=add"]').contents().find('.layui-layer-title').eq(0) title_html.html('新增的自备引物数量为: <span style=\"color:red;font-size:40px\">'+ primer_num+'</span>') } } //引物弹框页面,批量改浓度,新增引物按钮 function primer_checkbox(){ var primer_html=$('iframe[src="../bio/erp/sangerSequencing.html?mode=add"]').contents().find('.layui-layer-content').eq(0)//如果找到 则说明有引物弹框 if(primer_html.length==1){ //说明有引物弹框 if(primer_html.find('#nongdu_text').size()==1){ return false } //table的元素 table_html=$('iframe[src="../bio/erp/sangerSequencing.html?mode=add"]').contents().find("[class='table table-stripped table-bordered']").eq(0) //新增自备引物 弹框的table表格 //如果select框的引物 时间太久 则显示一个颜色 table_html.find('select.form-control').each(function(){ //select引物的内容 text_yinwu=$(this).find('option:selected').text() if(text_yinwu!=="新增"){ //判断浓度是否是干粉或者合成 primer_text=text_yinwu.substring(text_yinwu.lastIndexOf("浓度:") + 3,text_yinwu.lastIndexOf("-客户")) //如果判断引物浓度是干粉或者合成 if(primer_nongdu_panduan(primer_text)){ return true } //查找时间文本 time_text=text_yinwu.substring(text_yinwu.lastIndexOf("(") + 1,text_yinwu.lastIndexOf(")")) var time_old = new Date(time_text).getTime(); var time_now=new Date().getTime() tianshu_chazhi=(time_now-time_old)/(1*24*60*60*1000) if(tianshu_chazhi>30){ $(this).css('color','#FF0000') title_html=$('iframe[src="../bio/erp/sangerSequencing.html?mode=add"]').contents().find('.layui-layer-title').eq(0) if(title_html.html().indexOf('查看下是否有过期')<0){ title_html.html(title_html.html()+'<span style="color:red;font-size:20px"> 查看下是否有过期的引物</span> ') } }else{ $(this).css('color','#676A6C') } }else{ $(this).css('color','#676A6C') } }) //如果没有新增按钮则运行下面代码①新增 if(table_html.find('td.butt').size()==0){//如果是第一次则运行下面代码 table_html.find('tr').append('<td class="butt"><button class="butt_butt">新增</button></td>') //添加 新增 按钮 table_html.find('button.butt_butt').eq(0).text('全部新增') //把头部的 新增 按钮改成 全部新增 按钮 table_html.find('button.butt_butt').eq(0).addClass('butt_butt_top') //给头部的 全部新增 按钮 添加个class table_html.find('button.butt_butt').eq(0).removeClass('butt_butt')//把头部的 全部新增 按钮 之前的class删除 } //如果没有改浓度按钮则运行下面代码 ②更改浓度 if(table_html.find('#nongdu_text').size()==0){ nongdu_elem=table_html.find('th:contains(浓度)') //根据文本内容查找元素 浓度那个元素 nongdu_elem.html('<input type="text" id="nongdu_text" size="2" /><button id="nongdu_button"><font size="1">更改浓度</font></button>') } }else{return} //如果长度不为1,那么退出函数 //下面的新增 ①新增 table_html.find('.butt_butt').click(function(){ $(this).parent().parent().find("option[value='-1']").attr('selected','selected') //把选择那列改为新增选项 $(this).parent().parent().find("[class='form-control text-center']").removeAttr('readonly') $(this).parent().prev().find("[class='form-control text-center']").val('10P') }); //顶部的新增 ①新增 table_html.find('.butt_butt_top').click(function(){ $(this).parent().parent().parent().parent().find("option[value='-1']").attr('selected','selected') //把所有的都改成新增选项 $(this).parent().parent().parent().parent().find("[class='form-control text-center']").removeAttr('readonly')//去掉所有的readonly $(this).parent().parent().parent().parent().find("[class='form-control text-center']").val('10P') }); // 顶部的更改浓度按钮 ②更改浓度 table_html.find("#nongdu_button").click(function(){ nongdu_text_bottom_all=table_html.find("[class='form-control text-center']").not('[readonly]') //获取可以更改的所有的浓度的文本框 nongdu_text_bottom_all.val(table_html.find('#nongdu_text').val()) // }) } //判断 primer弹框 里面的引物浓度是否是干粉 合成 之类的 function primer_nongdu_panduan(nongdu){ if(nongdu.indexOf('干粉')>=0){ return true } //如果是三个数字 var patt1 = new RegExp(/\d\d\d/); var result=patt1.test(nongdu) if(result===true){ return true } //如果是三个数字 用-分开的 var patt1 = new RegExp(/\d(-)\d\d/); var result=patt1.test(nongdu) if(result===true){ return true } //如果是四个数字 patt1 = new RegExp(/\d\d\d\d/); result=patt1.test(nongdu) if(result===true){ return true } //如果是四个数字 用-分开的 patt1 = new RegExp(/\d\d(-)\d\d/); result=patt1.test(nongdu) if(result===true){ return true } } }