2.2-订单管理

描述-订单管理

目前為 2023-06-25 提交的版本,檢視 最新版本

此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.cn-greasyfork.org/scripts/468378/1210793/22-%E8%AE%A2%E5%8D%95%E7%AE%A1%E7%90%86.js

function 订单管理(显示_订单管理){
	console.log('新的订单管理界面')
	var 当前用户名=$('#curname',window.parent.document).text()
	zidong()
	function zidong(){
		setTimeout(function (){
			var table_list=$('iframe[src="/seq/SeqOrderList.aspx"]').contents().find('#list').eq(0)
			if (table_list.length==0){
				console.log('tablelist没有')
				//回调函数 不要删
				zidong()
			}else{
				console.log('tablelist有')
			}
			
		},10);
	}
	console.log(111)
	var html=$('iframe[src="/seq/SeqOrderList.aspx"]')//订单管理页面
	if (html.length==1 && 显示_订单管理==true){
		html=html.contents().find('body').eq(0)
		html.on('load',function(){
			console.log('99999')
			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);
				}
			});
		})
		
		
		
		
		
		//订单管理这个iframe内容全部显示出来后
		// html.on('load',function(){
		// 	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)
				//ok----vip下单放到最前面
				vip_top('dingdan',toolbar);
				
				//批量添加照片 多个人上传同一个照片
				//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) { 
				//如果检查到客户信息显示了,那么选择客户的时候让数据显示在一行
				if (e.target.outerHTML.indexOf('<li class="select2-results__option" role="treeitem"')!=-1){
					//$(e.target)表示每一行客户信息
					console.log($(e.target).get(0))
					$(e.target).find('br').before("<span> —— </span>")
					$(e.target).find('br').remove()
					
					//.parent('.select2-results__options')
					html.on('click','li.select2-results__option',function(event){
						console.log(666)
						// 把客户信息显示出来
						kehu_showAll(leixings,html);
						//添加订单iframe页面 生产实验室 如果不是北京分公司,那么就显示一个颜色
						color_shengchan_fengongsi(html)
					})
				}
				
				// 当显示引物弹框时 
				var class属性 = e.target.className;
				if (class属性.indexOf('layui-layer layui-layer-page')!=-1 ) {
					console.log('333')
					primer();
					primer_checkbox();
				}
				
			});
			
			//var form=html.find('#form').eq(0)
			// if(form.hasClass('yijingyunxingyici')===false){
			// 	form.addClass('yijingyunxingyici')
			// 	html.on('click',function(event){
			// 		// 把客户信息显示出来
			// 		kehu_showAll(leixings,html);
			// 		//添加订单iframe页面 生产实验室 如果不是北京分公司,那么就显示一个颜色
			// 		color_shengchan_fengongsi(html)
			// 	})
			// }
		}
		
	}
	
	
	
	//添加订单页面,选择好客户后显示详细信息
	function kehu_showAll(leixings,html){
		//先隐藏图
		if(html.find("[class='col-xs-3 plate-param-container hidden']").length==0){  //如果图片没有隐藏
			html.find("[class='col-xs-3 plate-param-container']").addClass('hidden')//添加隐藏
		}
		if(html.find("[class='col-xs-3 plate-container hidden']").length==0){  //如果图片没有隐藏
			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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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()
		console.log(select_xinxi)
		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)
				});
			html.find('#tixing').eq(0).val("")
			old_xinxi=html.find('#kehu_all').find('font').eq(0).text()//从已经建立的div里面获取里面的客户信息,
			if (old_xinxi!=""){  // 从已经建立的div里面获取里面的信息不为空
				old_xinxi_split=old_xinxi.split('——');
				old_id=old_xinxi_split[0]  //从已经建立的div里面获取里面的客户ID
				old_name=old_xinxi_split[1]//从已经建立的div里面获取里面的客户姓名
				old_ktz_id=old_xinxi_split[2]//从已经建立的div里面获取里面的课题组ID
				ti_xing=getTixing(id,old_ktz_id)  //获取客户和课题组提醒
				html.find('#tixing').eq(0).val(ti_xing)
			}
		}
	}
	
	
	//添加订单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('新增的自备引物数量为: &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp;<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"> &nbsp;&nbsp;&nbsp;&nbsp;查看下是否有过期的引物</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
	}
	
}









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
}