js中eval() 方法的使用以及一…

本文详细介绍了JavaScript中的eval函数,包括其使用限制、参数处理方式、如何返回不同类型的值以及如何将其用于JSON字符串到对象的转换。此外,还探讨了在函数内部使用eval时变量作用域的问题及解决方法。

1、eval方法只能在非严格模式中进行使用,在use strict中是不允许使用这个方法的。

2、eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行结果是一个值,则返回此值,否则返回undefined。 需要特别注意的是对象声明语法“{}”并不能返回一个值,需要用括号括起来才会返回值。如下:

 var code1='"a" + 2'; //表达式 
var code2='{a:2}'; //语句 
; //->'a2' 
; //->2
; //->[object Object]

  当eval中的字符串内是对象时加上括号则可以将原对象原样返回,如果将code2={a:2,b:3}时直接eval_r(code2)时会报错,加上括号就会将code2原样返回。

3、eval直接在函数内部使用则返回的是局部变量

   function te (){

   eval_r('var a=1;')

     }

  te();

;//这样会报错,因为a是局部变量,只能在te方法内使用

4、有两种的处理方式可以使在函数内部使用的eval成为全局变量

(1)利用window.eval()使其成为全局的

        function te (){

     window.eval(‘var a=1’)    

     }

     te();

 a 变量也是全局的

(2) function te (){

    var a=eval;

    a(‘var b=1’);

     }

  te();

  这种方式下变量b 也是全局的。

所以说在非严格的模式下,又多了一种方法将JSON字符串形式转换为对象的形式。就是利用var m=eval_r(‘(’+data+’)’),m是JSON对象。其功能和JSON.parse()是相似的,但是当已经为通过JSON.parse()转换为对象后的JSON不能再调用该函数继续进行转换,这样会报错,但是eval_r()方法不会当传入字符串是对象使继续使用上述的方式,然会返回原对象。

<meta http-equiv="expires" content="0"> <meta http-equiv="pragma" content="no-cache"> <%@ include file="booktop.jsp" %> <%@ include file="connect.jsp" %> <% String materialno; String plant; String stloc; String slotid; String compare; String yield; String pshipid; String pg_die_c; String i_customerid; String grade; String destination; float pyield; int showyield; String status; String show_status = ""; int n; n = 0; materialno=request.getParameter("materialno&quot;).toUpperCase(); plant=request.getParameter("plant&quot;).toUpperCase(); stloc=request.getParameter("stloc&quot;).toUpperCase(); slotid=request.getParameter("slotid&quot;).toUpperCase(); compare=request.getParameter("compare&quot;).toUpperCase(); yield=request.getParameter("yield&quot;); i_customerid=request.getParameter("i_customerid&quot;).toUpperCase(); grade=request.getParameter("grade&quot;).toUpperCase(); destination=request.getParameter("destination&quot;).toUpperCase(); status=request.getParameter("status&quot;).toUpperCase(); if (status.equals("F&quot;)){ status = ""; show_status = "FREE"; } //-add by summer gao on 2005-9-20-- String temp1 = ""; String temp2 = ""; int temp_flag = 0; String d_year = ""; String d_month = ""; String d_day = ""; String temp3=new String(); String temp4=new String(); String rec_date = ""; String str = "0"; int over_flag; int length1; int today; int receive_date; int left; java.util.Date cur_today = new java.util.Date(); SimpleDateFormat formatter = new SimpleDateFormat ("yyyyMMdd&quot;); String dateString = formatter.format(cur_today); //out.println(dateString); String subdate = dateString.substring(4,8); //out.println(subdate); %> <script language="javascript" src="tablesort.js"></script> <script language="javascript" src="openwin.js"></script> <script language="javascript" src="calendar_today.js"></script> <script> function clear_date(b){ eval("window.document.querylotid.invduedate"+b).value = "";} </script> <script> function check_date(num){ for(var i=1; i<num+1; i++ ){ if (eval("window.document.querylotid.invduedate"+i).value == "&quot;) {if (eval("window.document.querylotid.reason"+i).value != "&quot;) {alert( "Reason " +i+ " should be consistent with the blank Due Date.&quot;); return(false); } } else {if (eval("window.document.querylotid.reason"+i).value == "&quot;) {alert( "Reason " +i+ " should be consistent with the non-blank Due Date.&quot;); return(false); } } } } </script> <script> function sumvalue(v){ var wafer = new Number(0); var die = new Number(0); var len = document.querylotid.slotid.length; if(len > 1){ if (v.value != '-&#39;) { for(var i=0; i<len; i++ ){ if (document.querylotid.slotid[i].value == v.value) document.querylotid.slotid[i].checked = v.checked; } } for(var i=0;i<len;i++) { if (document.querylotid.slotid[i].checked) { document.querylotid.lotproduct[i].checked = true; wafer = wafer + new Number(document.querylotid.slotid1[i].value); die = die + new Number(document.querylotid.slotid2[i].value); }else{ document.querylotid.lotproduct[i].checked = false; } } } else{ if (document.querylotid.slotid.checked) { document.querylotid.lotproduct.checked = true; wafer = wafer + new Number(document.querylotid.slotid1.value); die = die + new Number(document.querylotid.slotid2.value); }else{ document.querylotid.lotproduct.checked = false; } } document.querylotid.sumwafer.value = wafer; document.querylotid.sumdie.value = die; } </script> <script> function doIt(v) { var len2= document.querylotid.slotid.length; if (len2>1) { for(var i=0;i<document.querylotid.slotid.length;i++) { document.querylotid.slotid[i].checked=eval(v); document.querylotid.lotproduct[i].checked=eval(v); } document.querylotid.c4.checked=false; document.querylotid.c3.checked=false; var wafer = new Number(0); var die = new Number(0); for(var i=0;i<document.querylotid.slotid1.length;i++) { if (document.querylotid.slotid[i].checked) { wafer = wafer + new Number(document.querylotid.slotid1[i].value); die = die + new Number(document.querylotid.slotid2[i].value); } } document.querylotid.sumwafer.value = wafer; document.querylotid.sumdie.value = die; }else{ document.querylotid.slotid.checked=eval(v); document.querylotid.lotproduct.checked=eval(v); document.querylotid.c4.checked=false; document.querylotid.c3.checked=false; var wafer = new Number(0); var die = new Number(0); if (document.querylotid.slotid.checked) { wafer = new Number(document.querylotid.slotid1.value); die = new Number(document.querylotid.slotid2.value); } document.querylotid.sumwafer.value = wafer; document.querylotid.sumdie.value = die; } } </script> <style> THEAD TD {BACKGROUND: #B9BECB; HEIGHT: 20px; PADDING-Right: 2px;CURSOR:s-resize;} THEAD .arrow {COLOR: black; FONT-FAMILY: webdings; FONT-SIZE: 12px; HEIGHT: 13px; MARGIN-BOTTOM: 2px; MARGIN-TOP: -3px; OVERFLOW: hidden; PADDING-BOTTOM: 2px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px; WIDTH: 10px} .header { background-color: #B9BECB;} </style> <tr><td bgcolor="#E0E4ED"><br> <% JCO.Client client = null; try { IFunctionTemplate ftemplate = repository.getFunctionTemplate("Z_LB_PIV_SEARCH_LOTS&quot;); JCO.Function function = new JCO.Function(ftemplate); client = JCO.getClient(SID); JCO.ParameterList input = function.getImportParameterList(); input.setValue(materialno, "MATERIALNO&quot;); input.setValue(plant, "PLANT&quot;); input.setValue(stloc, "STLOC&quot;); input.setValue(slotid, "SLOTID&quot;); input.setValue(yield, "I_YIELD&quot;); input.setValue(compare, "I_COMPARE&quot;); input.setValue(i_customerid, "I_CUSTOMERID&quot;); input.setValue(grade, "I_GRADE&quot;); input.setValue(destination, "I_DESTINATION&quot;); input.setValue(status, "I_STATUS&quot;); //---Add by Summer Gao in 2004-03-11 for role check---------- input.setValue(session.getAttribute("role&quot;), "I_ROLE&quot;); //---End add by Summer /* input.setValue("Y", "INTEGRATE&quot;); input.setValue("Y", "NO_EMPTY&quot;); */ client.execute(function); JCO.Table e_lotinfo = function.getTableParameterList().getTable("RLOTINFO&quot;); if (e_lotinfo.getNumRows() > 0) { %> <form name="querylotid" method="post" action="inventory_do_update.jsp" onSubmit="return check_date(<%=e_lotinfo.getNumRows()%&gt;)"> <button type="button" name="c4" value="true" onclick="doIt(true)" style="font-family:verdana;background:#ffeeee">Select All</button>&nbsp;&nbsp;&nbsp; <button type="button" name="c3" value="false" onclick="doIt(false)" style="font-family:verdana;background:#ffeeee">Unselect All</button>&nbsp;&nbsp;&nbsp; <b>Sum Wafer Qty</b>&nbsp;&nbsp; <input type=text name="sumwafer" size="8" style="font-family:verdana;font-weight:bold;background:#eeeeff;border-style:none"> <b>Sum Die Qty</b>&nbsp;&nbsp; <input type=text name="sumdie" size="13" style="font-family:verdana;font-weight:bold;background:#eeeeff;border-style:none"> <%//Angela Zhang 20050221 begin%> &nbsp;&nbsp; <a href="inventory_do_query_excel.jsp?materialno=<%=request.getParameter("materialno&quot;).toUpperCase()%>&plant=<%=request.getParameter("plant&quot;).toUpperCase()%>&stloc=<%=request.getParameter("stloc&quot;).toUpperCase()%>&slotid=<%=request.getParameter("slotid&quot;).toUpperCase()%>&compare=<%=request.getParameter("compare&quot;).toUpperCase()%>&yield=<%=request.getParameter("yield&quot;)%>&i_customerid=<%=request.getParameter("i_customerid&quot;).toUpperCase()%>&destination=<%=request.getParameter("destination&quot;).toUpperCase()%>&grade=<%=request.getParameter("grade&quot;).toUpperCase()%>&status=<%=request.getParameter("status&quot;).toUpperCase()%>&role=<%=session.getAttribute("role&quot;)%>" target="_blank">Download </a> <%//Angela Zhang 20050221 end%> <table bgcolor="white" id="oTable" onclick="sortColumn(event)" width="2600" align="center" bordercolorlight="#2D4285" bordercolordark="#ffffff" border="1" cellspacing="0" cellpadding="0"> <thead> <tr> <td><b>Select</b></td><td><b>Status</b></td> <td width=4><b>Book Mark</b></td> <td><b>ProductID</b></td> <td><b>LotID</b></td> <td width=4><b>Lot Type</b></td> <td ><b>Due Date</b>(yyyy-mm-dd)</td> <td ><b>Reason</b></td> <td ><b>Remark</b></td> <td><b>ReceiveDate</b></td> <td><b>TotalQty</b></td> <td><b>Grade</b></td> <td><b>Unit</b></td> <td><b>ShipCode</b></td> <td><b>Yield(%)</b></td> <td><b>G_Die_C</b></td> <td><b>Unrestr.QTY</b></td> <td><b>BatchID</b></td> <td><b>Wafer ID</b></td> <td><b>Destination</b></td><td><b>Wafer Start Date</b></td> <td><b>Customer Lot ID</b></td><td><b>CustomerID</b></td> <td><b>SMICCustomerLotID</b></td><td><b>Term Code</b></td><td><b>Ownership</b></td> <td><b>Plant</b></td><td><b>Storage</b></td><td><b>Reserve No</b></td> <td><b>ReceivePerson</b></td> <td width="60"><b>Customer Criteria</b></td> </tr> </TR> </thead> <% do { n = n + 1; if ((show_status.equals("FREE&quot;) && (e_lotinfo.getString("STATUS&quot;).equals("&quot;))) || show_status.equals("&quot;)) { if (e_lotinfo.getString("SHIPID&quot;).equals("&quot;)) { pshipid="-"; }else{ pshipid=e_lotinfo.getString("SHIPID&quot;); } if (e_lotinfo.getString("G_DIE_C&quot;).equals("&quot;)) { pg_die_c="0"; }else{ pg_die_c=e_lotinfo.getString("G_DIE_C&quot;); } //--add by summer gao on 2005-9-20-- over_flag = 0; length1 = 0; temp_flag = 0; d_year = ""; d_month = ""; d_day = ""; temp3 = ""; temp4 = ""; today = 0; receive_date = 0; left = 0; rec_date = e_lotinfo.getString("RECEIVEDATE&quot;); if (rec_date.equals("&quot;)) { temp_flag = 4; }else{ length1 = rec_date.length(); if (length1 == 8) { d_year = rec_date.substring(0,4); d_month = rec_date.substring(5,6); temp4=new String(str.concat(d_month.substring(0,1))); d_month = temp4; d_day = rec_date.substring(7,8); temp3=new String(str.concat(d_day.substring(0,1))); d_day = temp3; temp3=new String(d_year.concat(d_month)); temp4=new String(temp3.concat(d_day)); rec_date = temp4; }else{ if (length1 == 10) { d_year = rec_date.substring(0,4); d_month = rec_date.substring(5,7); d_day = rec_date.substring(8,10); temp3=new String(d_year.concat(d_month)); temp4=new String(temp3.concat(d_day)); rec_date = temp4; }else{ if (length1 == 9) { d_year = rec_date.substring(0,4); d_month = rec_date.substring(5,7); if (d_month.substring(1,2).equals("-&quot;)) { temp4=new String(str.concat(d_month.substring(0,1))); d_month = temp4; d_day = rec_date.substring(7,9); temp3=new String(d_year.concat(d_month)); temp4=new String(temp3.concat(d_day)); rec_date = temp4; }else{ d_day = rec_date.substring(7,9); temp3=new String(str.concat(d_day.substring(1,2))); d_day = temp3; temp3=new String(d_year.concat(d_month)); temp4=new String(temp3.concat(d_day)); rec_date = temp4; } } } } today = Integer.parseInt(dateString); receive_date= Integer.parseInt(rec_date); left = today - receive_date; if (left > 10000){ over_flag = 8; } } //-- %> <%if ((e_lotinfo.getString("USEQTY&quot;).equals("0&quot;))&&( !e_lotinfo.getString("STATUS&quot;).equals("S&quot;))) { %> <tr bgcolor=beige> <%}else if ( e_lotinfo.getString("NOT_MATCH&quot;).equals("Y&quot;)) {%> <tr bgcolor="#E893AF"> <%}else if ( e_lotinfo.getString("STATUS&quot;).equals("R&quot;)) {%> <tr bgcolor="#eeeeff"> <%}else if ( e_lotinfo.getString("STATUS&quot;).equals("S&quot;)) {%> <tr bgcolor="#ffeeee"> <%}else if ( e_lotinfo.getString("STATUS&quot;).equals("&quot;)) { %> <tr> <%}else if ( e_lotinfo.getString("STATUS&quot;).equals("B&quot;)) {%> <tr bgcolor="orange"> <%//}else if (over_flag == 8) { // out.println("DDDD&quot;); %> <%}%> <td align=center> <!--Add by summer gao in 20040616 for new ship function--> <%if (e_lotinfo.getString("SHIPID&quot;).equals("&quot;)) { %> <input type="checkbox" name="slotid" onclick=sumvalue(this) value="<%=pshipid%>"> <%}else{ %> <input type="checkbox" name="slotid" onclick=sumvalue(this) value="<%=pshipid+"+"+e_lotinfo.getString("RECEIVEPERSON&quot;)%>"> <%}%> <input type="checkbox" name="lotproduct" value="<%=e_lotinfo.getString("PRODUCTID&quot;)+"+"+e_lotinfo.getString("PLANT&quot;)+"+"+e_lotinfo.getString("SMICLOTID&quot;)%>" style="display:none;"> <input type="hidden" name="slotid1" value="<%=e_lotinfo.getString("USEQTY&quot;)%>"> <input type="hidden" name="slotid2" value="<%=pg_die_c%>"> </td> <%if (e_lotinfo.getString("STATUS&quot;).equals("B&quot;)) { %> <td>Error</td> <%}else if ((e_lotinfo.getString("USEQTY&quot;).equals("0&quot;))&&(!e_lotinfo.getString("STATUS&quot;).equals("S&quot;))) {%> <td>X</td> <%}else if (e_lotinfo.getString("STATUS&quot;).equals("&quot;)) {%> <td>&nbsp;</td> <%}else{%> <td><%=e_lotinfo.getString("STATUS&quot;)%></td> <%}%> <%if (e_lotinfo.getString("MARK&quot;).equals("&quot;)) { %> <td>&nbsp;</td> <%}else{%> <td><%=e_lotinfo.getString("MARK&quot;)%></td> <%}%> <td><%=e_lotinfo.getString("PRODUCTID&quot;)%></td> <input type="hidden" name=<%="ProdID"+n%> value="<%=e_lotinfo.getString("PRODUCTID&quot;)%>"> <td><%=e_lotinfo.getString("SMICLOTID&quot;)%></td> <input type="hidden" name=<%="LotID"+n%> value="<%=e_lotinfo.getString("SMICLOTID&quot;)%>"> <%//Fly Long add Lot Type 20050905 if (e_lotinfo.getString("LOTTYPE&quot;).equals("&quot;)) { %> <td>&nbsp;</td> <%}else{%> <td><%=e_lotinfo.getString("LOTTYPE&quot;)%></td> <%}%> <td nowrap width=135> <%if (e_lotinfo.getString("INVDUEDATE&quot;).equals("&quot;)) { %> <input type="text" size="9" name=<%="invduedate"+n%> value="" onFocus="this.blur();openWindow('querylotid.invduedate'+<%=n%>,'s&#39;);"> <input type="button" name=<%="cleardate"+n%> onclick=clear_date(<%=n%&gt;) value="Reset" size="3"> <%}else{%> <input type="text" size="9" name=<%="invduedate"+n%> value=<%=e_lotinfo.getString("INVDUEDATE&quot;)%> onFocus="this.blur();openWindow('querylotid.invduedate'+<%=n%>,'s&#39;);"> <input type="button" name=<%="cleardate"+n%> onclick=clear_date(<%=n%&gt;) value="Reset" size="3"> <%}%> </td> <td width=130> <%if (e_lotinfo.getString("REASON&quot;).equals("&quot;)) { %> <select name=<%="reason"+n%> style="font-size:9pt"> <option value="">&nbsp;</option> <option value="CUSTOMER PULL IN">Customer pull in</option> <option value="CUSTOMER PUSH OUT">Customer push out</option> <option value="ENG ISSUE">Eng Issue</option> <!-Angela 20061113--> <!--<option value="NO PO">No PO</option>--> <option value="BACKUP WAFER">Backup wafer</option> <option value="PULL AHEAD PO">Pull ahead PO</option> <option value="YIELD IMPROVEMENT">Yield improvement</option> <option value="CUSTOMER RETURN">Customer return</option> <option value="WAIT SCRAP">Wait scrap</option> <option value="OTHER">Other</option> </select> <%}else if (e_lotinfo.getString("REASON&quot;).equals("CUSTOMER PULL IN&quot;)) {%> <select name=<%="reason"+n%> style="font-size:9pt"> <option value="CUSTOMER PULL IN">Customer pull in</option> <option value="CUSTOMER PUSH OUT">Customer push out</option> <option value="ENG ISSUE">Eng Issue</option> <!-Angela 20061113--> <!--<option value="NO PO">No PO</option>--> <option value="BACKUP WAFER">Backup wafer</option> <option value="PULL AHEAD PO">Pull ahead PO</option> <option value="YIELD IMPROVEMENT">Yield improvement</option> <option value="CUSTOMER RETURN">Customer return</option> <option value="WAIT SCRAP">Wait scrap</option> <option value="OTHER">Other</option> <option value="">&nbsp;</option> </select> <%}else if (e_lotinfo.getString("REASON&quot;).equals("CUSTOMER PUSH OUT&quot;)) {%> <select name=<%="reason"+n%> style="font-size:9pt"> <option value="CUSTOMER PUSH OUT">Customer push out</option> <option value="CUSTOMER PULL IN">Customer pull in</option> <option value="ENG ISSUE">Eng Issue</option> <!-Angela 20061113--> <!--<option value="NO PO">No PO</option>--> <option value="BACKUP WAFER">Backup wafer</option> <option value="PULL AHEAD PO">Pull ahead PO</option> <option value="YIELD IMPROVEMENT">Yield improvement</option> <option value="CUSTOMER RETURN">Customer return</option> <option value="WAIT SCRAP">Wait scrap</option> <option value="OTHER">Other</option> <option value="">&nbsp;</option> </select> <%}else if (e_lotinfo.getString("REASON&quot;).equals("ENG ISSUE&quot;)) {%> <select name=<%="reason"+n%> style="font-size:9pt"> <option value="ENG ISSUE">Eng Issue</option> <option value="CUSTOMER PULL IN">Customer pull in</option> <option value="CUSTOMER PUSH OUT">Customer push out</option> <!-Angela 20061113--> <!--<option value="NO PO">No PO</option>--> <option value="BACKUP WAFER">Backup wafer</option> <option value="PULL AHEAD PO">Pull ahead PO</option> <option value="YIELD IMPROVEMENT">Yield improvement</option> <option value="CUSTOMER RETURN">Customer return</option> <option value="WAIT SCRAP">Wait scrap</option> <option value="OTHER">Other</option> <option value="">&nbsp;</option> </select> <%}else if (e_lotinfo.getString("REASON&quot;).equals("OTHER&quot;)) {%> <select name=<%="reason"+n%> style="font-size:9pt"> <option value="OTHER">Other</option> <option value="CUSTOMER PULL IN">Customer pull in</option> <option value="CUSTOMER PUSH OUT">Customer push out</option> <option value="ENG ISSUE">Eng Issue</option> <!-Angela 20061113--> <!--<option value="NO PO">No PO</option>--> <option value="BACKUP WAFER">Backup wafer</option> <option value="PULL AHEAD PO">Pull ahead PO</option> <option value="YIELD IMPROVEMENT">Yield improvement</option> <option value="CUSTOMER RETURN">Customer return</option> <option value="WAIT SCRAP">Wait scrap</option> <option value="">&nbsp;</option> </select> <%}else if (e_lotinfo.getString("REASON&quot;).equals("NO PO&quot;) || e_lotinfo.getString("REASON&quot;).equals("BACKUP WAFER&quot;)) {%> <select name=<%="reason"+n%> style="font-size:9pt"> <!-Angela 20061113--> <!--<option value="NO PO">No PO</option>--> <option value="BACKUP WAFER">Backup wafer</option> <option value="PULL AHEAD PO">Pull ahead PO</option> <option value="YIELD IMPROVEMENT">Yield improvement</option> <option value="CUSTOMER PULL IN">Customer pull in</option> <option value="CUSTOMER PUSH OUT">Customer push out</option> <option value="ENG ISSUE">Eng Issue</option> <option value="CUSTOMER RETURN">Customer return</option> <option value="WAIT SCRAP">Wait scrap</option> <option value="OTHER">Other</option> <option value="">&nbsp;</option> </select> <%}else if (e_lotinfo.getString("REASON&quot;).equals("CUSTOMER RETURN&quot;)) {%> <select name=<%="reason"+n%> style="font-size:9pt"> <option value="CUSTOMER RETURN">Customer return</option> <option value="CUSTOMER PULL IN">Customer pull in</option> <option value="CUSTOMER PUSH OUT">Customer push out</option> <option value="ENG ISSUE">Eng Issue</option> <!-Angela 20061113--> <!--<option value="NO PO">No PO</option>--> <option value="BACKUP WAFER">Backup wafer</option> <option value="PULL AHEAD PO">Pull ahead PO</option> <option value="YIELD IMPROVEMENT">Yield improvement</option> <option value="WAIT SCRAP">Wait scrap</option> <option value="OTHER">Other</option> <option value="">&nbsp;</option> </select> <%}else if (e_lotinfo.getString("REASON&quot;).equals("WAIT SCRAP&quot;)) {%> <select name=<%="reason"+n%> style="font-size:9pt"> <option value="WAIT SCRAP">Wait scrap</option> <option value="CUSTOMER PULL IN">Customer pull in</option> <option value="CUSTOMER PUSH OUT">Customer push out</option> <option value="ENG ISSUE">Eng Issue</option> <!-Angela 20061113--> <!--<option value="NO PO">No PO</option>--> <option value="BACKUP WAFER">Backup wafer</option> <option value="PULL AHEAD PO">Pull ahead PO</option> <option value="YIELD IMPROVEMENT">Yield improvement</option> <option value="CUSTOMER RETURN">Customer return</option> <option value="OTHER">Other</option> <option value="">&nbsp;</option> </select> <%}else if (e_lotinfo.getString("REASON&quot;).equals("PULL AHEAD PO&quot;)) {%> <select name=<%="reason"+n%> style="font-size:9pt"> <option value="PULL AHEAD PO">Pull ahead PO</option> <option value="WAIT SCRAP">Wait scrap</option> <option value="CUSTOMER PULL IN">Customer pull in</option> <option value="CUSTOMER PUSH OUT">Customer push out</option> <option value="ENG ISSUE">Eng Issue</option> <!-Angela 20061113--> <!--<option value="NO PO">No PO</option>--> <option value="BACKUP WAFER">Backup wafer</option> <option value="YIELD IMPROVEMENT">Yield improvement</option> <option value="CUSTOMER RETURN">Customer return</option> <option value="OTHER">Other</option> <option value="">&nbsp;</option> </select> <%}else if (e_lotinfo.getString("REASON&quot;).equals("YIELD IMPROVEMENT&quot;)) {%> <select name=<%="reason"+n%> style="font-size:9pt"> <option value="YIELD IMPROVEMENT">Yield improvement</option> <option value="WAIT SCRAP">Wait scrap</option> <option value="CUSTOMER PULL IN">Customer pull in</option> <option value="CUSTOMER PUSH OUT">Customer push out</option> <option value="ENG ISSUE">Eng Issue</option> <!-Angela 20061113--> <!--<option value="NO PO">No PO</option>--> <option value="BACKUP WAFER">Backup wafer</option> <option value="PULL AHEAD PO">Pull ahead PO</option> <option value="CUSTOMER RETURN">Customer return</option> <option value="OTHER">Other</option> <option value="">&nbsp;</option> </select> <%}%> </td> <td width=100><input type="text" size="30" name=<%="reason_remark"+n%> value="<%=e_lotinfo.getString("REASON_REMARK&quot;)%>"> <%//--add by lily tian for BJ FG WH if (e_lotinfo.getString("RECEIVEDATE&quot;).equals("&quot;)) { %> <td>&nbsp;</td> <%}else{ //--add by summer gao if (over_flag == 8) { %> <td><font color="#FF0000"><b><%=e_lotinfo.getString("RECEIVEDATE&quot;)%></b></font></td> <%}else{%> <td><%=e_lotinfo.getString("RECEIVEDATE&quot;)%></td> <%} } %> <td><%=e_lotinfo.getString("TOTALSTOCKQTY&quot;)%></td> <%if (e_lotinfo.getString("ZGRADE&quot;).equals("&quot;)) { %> <td>&nbsp;</td> <%}else{%> <td><%=e_lotinfo.getString("ZGRADE&quot;)%></td> <%}%> <td><%=e_lotinfo.getString("MEINS&quot;)%></td> <td><%=e_lotinfo.getString("SHIPPROCESS&quot;)%></td> <%if (e_lotinfo.getString("YIELD&quot;).equals("&quot;)) { %> <td>&nbsp;</td> <%}else{%> <td> <% //=e_lotinfo.getString("YIELD&quot;) pyield = Float.parseFloat(e_lotinfo.getString("YIELD&quot;)); showyield = (new Float(pyield*100)).intValue(); out.print (showyield); %> </td> <%}%> <td> <%if (e_lotinfo.getString("PRODUCTID&quot;).indexOf("-&quot;) == -1) {%> <a href="update_gdc.jsp?productid=<%=e_lotinfo.getString("PRODUCTID&quot;)%>&plant=<%=e_lotinfo.getString("PLANT&quot;)%>&slotid=<%=e_lotinfo.getString("SMICLOTID&quot;)%>"> <%=pg_die_c%> </a> <%}else{%> <%=pg_die_c%> <%}%> </td> <td><%=e_lotinfo.getString("USEQTY&quot;)%></td> <td><%=pshipid%></td> <%if (e_lotinfo.getString("WAFERID&quot;).equals("&quot;)) { %> <td>&nbsp;</td> <%}else{%> <td> <%if (e_lotinfo.getString("PRODUCTID&quot;).indexOf("-&quot;) == -1) {%> <a href="javascript:openwin('wafer_detail.jsp?productid=<%=e_lotinfo.getString("PRODUCTID&quot;)%>&plant=<%=e_lotinfo.getString("PLANT&quot;)%>&slotid=<%=e_lotinfo.getString("SMICLOTID&quot;)%>','','250','800&#39;)"> <%=e_lotinfo.getString("WAFERID&quot;)%> </a> <%}else{%> <%=e_lotinfo.getString("WAFERID&quot;)%> <%}%> </td> <%}%> <%if (e_lotinfo.getString("DESTINATION&quot;).equals("&quot;)) { %> <td>&nbsp;</td> <%}else{%> <td><%=e_lotinfo.getString("DESTINATION&quot;)%></td> <%}%> <%if (e_lotinfo.getString("STARTDATE&quot;).equals("&quot;)) { %> <td>&nbsp;</td> <%}else{%> <td><%=e_lotinfo.getString("STARTDATE&quot;)%></td> <%}%> <%if (e_lotinfo.getString("CUSTOMERLOTID&quot;).equals("&quot;)) { %> <td>&nbsp;</td> <%}else{%> <td><%=e_lotinfo.getString("CUSTOMERLOTID&quot;)%></td> <%}%> <%if (e_lotinfo.getString("SMICCUSTID&quot;).equals("&quot;)) { %> <td>&nbsp;</td> <%}else{%> <td><%=e_lotinfo.getString("SMICCUSTID&quot;)%></td> <%}%> <%if (e_lotinfo.getString("SMICCUSTLOTID&quot;).equals("&quot;)) { %> <td>&nbsp;</td> <%}else{%> <td align=center><%=e_lotinfo.getString("SMICCUSTLOTID&quot;)%></td> <%}%> <%if (e_lotinfo.getString("SMICTERMCODE&quot;).equals("&quot;)) { %> <td>&nbsp;</td> <%}else{%> <td><%=e_lotinfo.getString("SMICTERMCODE&quot;)%></td> <%}%> <%if (e_lotinfo.getString("OWNERSHIP&quot;).equals("&quot;)) { %> <td>&nbsp;</td> <%}else{%> <td><%=e_lotinfo.getString("OWNERSHIP&quot;)%></td> <%}%> <td><%=e_lotinfo.getString("PLANT&quot;)%></td> <td><%=e_lotinfo.getString("SLOC&quot;)%></td> <%if (e_lotinfo.getString("RESERVENO&quot;).equals("&quot;)) { %> <td>&nbsp;</td> <%}else{%> <td><%=e_lotinfo.getString("RESERVENO&quot;)%></td> <%}%> <%//--add by summer gao for ship function if (e_lotinfo.getString("RECEIVEPERSON&quot;).equals("&quot;)) { %> <td>&nbsp;</td> <%}else{%> <td><%=e_lotinfo.getString("RECEIVEPERSON&quot;)%></td> <%}%> <%if (e_lotinfo.getString("CUSTOMERCRITERIA&quot;).equals("&quot;)) { %> <td>&nbsp;</td> <%}else{%> <td align=center><%=e_lotinfo.getString("CUSTOMERCRITERIA&quot;)%></td> <%}%> </tr> <% } } while(e_lotinfo.nextRow()); %> </table> <%if (!("VIEW_SH01".equals(session.getAttribute("role&quot;))||"VIEW_BJ01".equals(session.getAttribute("role&quot;))||"VIEW_TJ01".equals(session.getAttribute("role&quot;)) ||"VIEW_WH01".equals(session.getAttribute("role&quot;)) || "SA_SH01".equals(session.getAttribute("role&quot;))||"SA_BJ01".equals(session.getAttribute("role&quot;))||"SA_TJ01".equals(session.getAttribute("role&quot;))||"SA_WH01".equals(session.getAttribute("role&quot;)))) {%> //update by maple <tr> <td colspan="2" align="left"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="submit" name="Submit" value="Submit" style="font-family:verdana;background:#B9BECB"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="reset" name="Submit2" value="Reset" style="font-family:verdana;background:#B9BECB"> <input type="hidden" name="rown" value="<%=n%>"> </td> </tr> <%}%> </form> <% } else { out.println("<img src=pic/wrong.gif> <b> Sorry, system have no fixed Lots data.</b>&quot;); }%> <%} catch (Exception ex) { System.out.println("Caught an exception: \n" + ex); } finally { JCO.releaseClient(client); JCO.removeClientPool(SID); } System.out.println("row n=" + n); %> </td></tr> <%@ include file="bookbottom.jsp" %> 代码转为controller Service ServiceImpl 去掉前端处理
最新发布
08-29
<%@page import="com.haitaiinc.inpordnurse.ylz.dto.common.Bm_ygxx00DTO"%> <%@page import="com.haitaiinc.common.CommUtil"%> <%@ page import="com.haitaiinc.servlet.JSP,com.haitaiinc.util.Dict,com.haitaiinc.htdb.sd_haitai2.dto.*"%> <%@page import="com.haitaiinc.htdb.sd_haitai2.dto.Inpatient"%> <%@page import="com.haitaiinc.common.CommonAction"%> <%@page import="com.haitaiinc.htcpoe.InpordSystemConfig"%> <%@page import="com.haitaiinc.util.Dict"%> <%@page import="com.haitaiinc.Util"%> <%@page import="java.text.SimpleDateFormat"%> <%@page import="java.util.Calendar"%> <%@page import="java.util.Date"%> <%@page import="java.util.List"%> <%@page import="java.util.ArrayList"%> <%@page import="com.haitaiinc.servlet.JSP"%> <%@page import="com.haitaiinc.common.Const"%> <%@page import="com.haitaiinc.util.Dict"%> <%@page import="com.haitaiinc.inpordnurse.ylz.dto.yrqd.Bm_bqks00DTO"%> <jsp:useBean id="token" class="java.lang.String" scope="request"></jsp:useBean> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=7" ></meta> <%=JSP.getHtCSSDef(request)%> <%=JSP.getPageCSSDef(request) %> <%=JSP.getHtJSDef(request)%> <script src="ht-5.0/ht-core.js" type="text/javascript"></script> <script src="<%=request.getContextPath() %>/js/jquery-1.8.3.js"></script> <script src="<%=request.getContextPath() %>/js/jquery-ui-1.11.4/jquery-ui.js"></script> <link href="<%=request.getContextPath() %>/js/jquery-ui-1.11.4/jquery-ui.css" rel="stylesheet" type="text/css" /> <script src="<%=request.getContextPath() %>/js/showLoading.js"></script> <script src="<%=request.getContextPath() %>/js/orderdrug/common-edit-drug.js"></script> <script src="/nurse-business-extend/extendforylz/commjs/nurse-synthetical-oprate.js"></script> <% String titleName = "病区收入统计"; String currentTime = Util.getCurrentDate("yyyy-MM-dd&quot;); SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd&quot;); Calendar calendar=Calendar.getInstance(); String currentday = simpleDateFormat.format(calendar.getTime()); calendar.add(Calendar.MONTH,-1); String lastmonth = simpleDateFormat.format(calendar.getTime()); //医嘱检索结果区下方增加空白区域显示医嘱的特殊说明 String showDesc = "false"; showDesc = "true"; List<Bm_bqks00DTO> bqksList = (ArrayList)request.getAttribute("bqksList&quot;); List<Bm_ygxx00DTO> yhryList = (ArrayList)request.getAttribute("yshsList&quot;); String[] monthsList = {"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"}; %> <title><%=titleName%></title> <script type="text/javascript" src="js/json2.js"></script> <script type="text/javascript"> </script> <style> html{height:100%;overflow:hidden;} .div-radio { margin: 0px 0px 0px 0px; } .div-inline1{ margin-top: 5px; margin-left: -6px; padding-left: 10px; height: 25px; } </style> </head> <body style="height:100%"> <div id="qrDiv" style="height:100%;"> <form name="searchForm" id="searchForm" method="post"> <table cellpadding="1" cellspacing="1" style="table-layout: fixed;width: 100%; height:100%;"> <colgroup> <col id="colId" width="100%"> </colgroup> <tr> <td class="main_bg_search" style="width: 100%;" colspan="2"> <table width="100%" border="0" cellpadding="0" cellspacing="0" align="center"> <tr> <td> <div class="div-inline"> &nbsp;科室: <select id="bqks" name="bqks" style="width: 120px;height: 23px;" onchange="changeYhry(this);"> <option selected="selected" value="">全部</option> <% for(int j=0; bqksList!=null&&j<bqksList.size();j++){ Bm_bqks00DTO sd = bqksList.get(j); %> <option value="<%=Util.toString(sd.getKsh000()) %>"><%=Util.toString(sd.getBmmc00()) %></option> <%} %> </select> </div>&nbsp; <div class="div-inline"> <span> <label><input type="radio" style="margin-left: -10px;" name="itemStatus" value="xmlb" checked="checked" onclick="checkYhry(this);searchList();"/>按项目类别</label> <label><input type="radio" name="itemStatus" value="jtxm" onclick="checkYhry(this);searchList();" />按具体项目</label> <label><input type="radio" name="itemStatus" value="yhry" onclick="checkYhry(this);searchList();" /> 按医护人员: <select id="yhry" name="yhry" disabled="disabled" style="width: 120px;height: 23px;"> <option selected="selected" value="">全部</option> <% for(int j=0; yhryList!=null&&j<yhryList.size();j++){ Bm_ygxx00DTO sd = yhryList.get(j); %> <option value="<%=Util.toString(sd.getYgbh00()) %>"><%=Util.toString(sd.getZwxm00()) %></option> <%} %> </select> </label> </span> </div>&nbsp; </td> </tr> <tr> <td> &nbsp;&nbsp; <div class="div-inline div-checkbox-or-radio div-inline1"> <span> <label><input type="radio" checked="checked" style="margin-left: -10px;" name="timeTypes" value="0" onclick="checkTime(this);"/> 月份: <select id="months" name="months" style="width: 120px;height: 22px;margin-top: 1px;"> <option selected="selected" value="0">当前月份</option> <% for(int j=0; monthsList!=null&&j<monthsList.length;j++){ %> <option value="<%=j+1 %>"><%=monthsList[j] %></option> <%} %> </select> </label> </span> </div>&nbsp;&nbsp; <div class="div-inline div-checkbox-or-radio div-inline1" style="margin-bottom: 3px;"> <span> <label><input type="radio" style="margin-left: -10px;" name="timeTypes" value="1" onclick="checkTime(this);"/> 时间: <input type="text" readonly name="startTime" id="startTime" style="width: 100px;" disabled="disabled" onclick="fPopUpCalendarDlg(startTime);searchList();" value="<%=Util.format(lastmonth, "yyyy-MM-dd&quot;)%>" /> -&nbsp;<input type="text" readonly name="endTime" id="endTime" style="width: 100px;" disabled="disabled" onclick="fPopUpCalendarDlg(endTime);searchList();" value="<%=Util.format(currentday, "yyyy-MM-dd&quot;)%>" /> </label> </span> </div> <div class="div-inline" style="margin-bottom: 5px;"> <input type="button" class="order_button" value="查&nbsp;&nbsp;询" id='queryBtn' onclick="searchList();"/>&nbsp;&nbsp; <input type="button" class="order_button" value="导出Excel" id='exportExcelBtn' onclick="exportExcel();"/>&nbsp;&nbsp; </div> </td> </tr> </table> </td> </tr> <tr id="listTr"> <td id="dataTd" height="84.5%" width="100%" align="left" valign="top"> <table cellpadding="1" cellspacing="1" style="table-layout: fixed;width: 100%; height:100%;"> <tr> <td height="100%" width="100%" ><!-- 医嘱信息展示列表区 --> <div id="listshow" style="overflow:hidden;height:100%;width:100%;" ></div> </td> </tr> </table> </td> </tr> </table> </form> </div> <div id="swElement" style="display: none;"> </div> </body> <script type="text/javascript"> var token = "<%=token%>"; var menu = "<%=titleName%>"; searchList(); //展示统计列表 function searchList(){ showLoading(); var url = "do?module=inpordnurse&action=YlzBqsrtj&method=searchIncomeStatisticsList"; $("#listshow&quot;).html("&quot;); Haitai.Ajax.request({ url : url, params:{ token:token }, form : searchForm, callback : function(text){ closeLoading(); ht("listshow&quot;).html(text,false); } }); } function checkYhry(obj){ if(obj.value=="xmlb"&&obj.checked){ $("#yhry&quot;).attr("disabled",true); }else if(obj.value=="jtxm"&&obj.checked){ $("#yhry&quot;).attr("disabled",true); }else{ $("#yhry&quot;).attr("disabled",false); } } function checkTime(obj){ if(obj.value=="0"&&obj.checked){ $("#startTime&quot;).attr("disabled",true); $("#endTime&quot;).attr("disabled",true); $("#months&quot;).attr("disabled",false); }else{ $("#startTime&quot;).attr("disabled",false); $("#endTime&quot;).attr("disabled",false); $("#months&quot;).attr("disabled",true); } searchList(); } function checkIsNull(str){ if(str==null||str==""||str==undefined){ return true; }else{ return false; } } //选择科室联动变化医护人员下拉框数据,护士不变,医生随科室切换变化 function changeYhry(obj){ var xzks00 = obj.value; if(xzks00!="&quot;){ var url = "do?module=inpordnurse&action=YlzBqsrtj&method=searchYhryByXzks"; Haitai.Ajax.request({ url : url, params:{ token:token, xzks00:xzks00 }, form : searchForm, callback : function(text){ if(checkIsNull(text)){ var yhryObj = $("#yhry&quot;); yhryObj.html("&quot;); yhryObj.append($("<option selected=\"selected\" value=\"\">全部</option>&quot;)); }else{ var retJson = eval("("+text+&quot;)&quot;); var yhryObj = $("#yhry&quot;); yhryObj.html("&quot;); yhryObj.append($("<option selected=\"selected\" value=\"\">全部</option>&quot;)); for(var i=0;i<retJson.length;i++){ yhryObj.append($("<option value=\""+retJson[i].ygbh00+"\">"+retJson[i].zwxm00+"</option>&quot;)); } } } }); } } function exportExcel(){ } </script> </html>exportExcel帮我导出excel
07-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值