




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<!DOCTYPE html PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>烤箱鬧鐘管理</title><style type="text/
2、css">bodybackground-image: URL(img/4.jpg);background-position: center;background-repeat: no-repeat;background-attachment: fixed;.biaotitext-align: center;font-size:18px;border:1px solid #DFFFDF;.neirongtext-align: center;font-size:18px;border:1px solid #DFFFDF;</style><script type=&
3、quot;text/javascript" src="js/jquery-1.8.2.js"></script><script type="text/javascript">$(document).ready(function()/*全局變量*var No=0; /記錄手機的編號var startTime="" /記錄開始的時間var endTime="" /記錄取出時間var reTime="" /剩余時間var result=""
4、/業務結果var setTime=25; /烘烤時間默認值var beforTime=5; /提前拿出時間var afterTime=5; /推遲拿出時間var now=""/文件夾名字var cardLength=10; /卡號的長度var autoInput=false; /自動增記錄的變量var NGN=0; /不良的數量var OKN=0; /良品的數量var resultNG="#FF5151" /結果NG的背景色var resultOK="#53FF53"/結果為OK的背景色/用于LOGvar currentTime=ne
5、w Date(); /當前時間/時間計算法則(基于萬年日歷)if(currentTime.getHours()>=8 && currentTime.getHours()<=19)now=currentTime.getFullYear()+"年"+(currentTime.getMonth()+1)+"月"+currentTime.getDate()+"日白班"else if(currentTime.getHours()>=0 && currentTime.getHours()<=
6、7) var preDate = new Date(currentTime.getTime() - 24*60*60*1000); /前一天now=preDate.getFullYear()+"年"+(preDate.getMonth()+1)+"月"+preDate.getDate()+"日夜班"else if(currentTime.getHours()>=20 && currentTime.getHours()<=23)now=currentTime.getFullYear()+"年&quo
7、t;+(currentTime.getMonth()+1)+"月"+currentTime.getDate()+"日夜班"/*頁面每次加載的函數* init(); /初始化部分必須參數 rebuildHTML(); /log與HTML反編譯 setInterval(everySecond,1000);/ 每秒執行函數 注意函數名沒有引號和括??! /*重要函數* /按鍵操作集合 document.onkeyup= function(event) var e=window.event|event|arguments.callee.caller.argumen
8、ts0; var kb=e&&e.keyCode; startTime=formatOfTime(); if($("#pn").val().length>4 && $("#pn").val().length<cardLength)/控制輸入長度小于5位 $("#pn").val(""); return false; if(kb=110) $("#pn").val("");return false;/小數點動作 if($("
9、#pn").val()="+") if(setTime<60 && setTime>=1)setTime=setTime+1;$("#pn").val("");return false;/時間加 if($("#pn").val()="-") if(setTime>1 && setTime<=60)setTime=setTime-1;$("#pn").val("");return false;
10、/時間減 if(kb=13)createtabletest();/enter動作 /*每秒執行的內容*function everySecond() $("#pn").focus();/PN 輸入獲取焦點 operateLog();/自動白夜班轉換記錄 checkPN(); /檢查卡號(符合卡號的標準自動進行錄入) currentTime = new Date(); /實時時間顯示 $("#currenttime").text(formatOfTime();/實時時間顯示 $("#setTime0").val(setTime); /更新
11、設置倒計時的值 updateRetime();/更新倒計時 rangl(); /查詢有無鬧鐘需要激活/*輔助函數*/=mut=function mut()if(setTime>1 && setTime<=60)setTime=setTime-1;/=add=function add()if(setTime<60 && setTime>=1)setTime=setTime+1;/=更新倒計時=function updateRetime()var table =document.getElementById("table2"
12、;); for(var i=0;i<table.rows.length;i+)/除去第一行 if(table.rowsi.cells6.innerHTML=""|table.rowsi.cells6.innerHTML=null)/選取沒有完結行 table.rowsi.cells2.innerHTML=formatRetime(table.rowsi.cells7.innerHTML);/更新顯示 /=激活鬧鐘函數=function rangl()/如果okn和ngn發生變化變多觸發鬧鐘變少不理會init();var hokn=0; /烘烤完成局部變量var hng
13、n=0; /烘烤超時局部變量var whoClock="" /打鈴用戶的標示var hadOverTime=false; /存在超時的用戶var NGF=30; /檢測頻率30Svar $table =$("#table2"); for(var i=0;i<$table.find("tr").length;i+)/包含第一行 if($table.find("tr").eq(i).find("td").eq(6).text()=""|$table.find("t
14、r").eq(i).find("td").eq(6).text()=null)/選取沒有完結行 if(setTime*60-parseInt(currentTime.getTime()-$table.find("tr").eq(i).find("td").eq(7).text()/1000)<-afterTime*60)/超時部分 hngn=hngn+1;hadOverTime=true;whoClock=$table.find("tr").eq(i).find("td").eq
15、(4).text().split("-")0; $table.find("tr").eq(i).find("td").eq(2).css("background-color":"yellow"); else if(setTime*60-parseInt(currentTime.getTime()-$table.find("tr").eq(i).find("td").eq(7).text()/1000<=0 &&(setTime*60-
16、parseInt(currentTime.getTime()-$table.find("tr").eq(i).find("td").eq(7).text()/1000)>=-afterTime*60)/完成部分hokn=hokn+1;if(!hadOverTime)whoClock=$table.find("tr").eq(i).find("td").eq(4).text().split("-")0;/不存超時部分記錄下完成的名單 $table.find("tr").e
17、q(i).find("td").eq(2).css("background-color":"yellow"); else/進行部分$table.find("tr").eq(i).find("td").eq(2).css("background-color":"#F5F5F5"); if(NGF>0)NGF=NGF-1;elseNGF=30; /30s循環 /修理區打鈴規則 /* *只要有夠鐘或者不良的鬧鐘響起 *語音播報試運行 *ALL音樂(3秒)+
18、定向人員名單(請張三取出靠烤箱電路板!)(8秒) * */ try if(hokn=0 && hngn=0) document.embeds('clockNotice').stop();document.embeds('clockName').stop(); else document.embeds('OKM').play(); catch(e)/這里可以寫入不執行音樂的代碼alert("音樂播放代碼出錯,聯系開發者!");/=倒計時數字格式化mm:ss=function formatRetime(a)var
19、oT=new Date(parseInt(a);/創建時間currentTime = new Date(); /實時時間 var mm=parseInt(currentTime.getTime()-oT.getTime()/1000)/60);var ss=parseInt(currentTime.getTime()-oT.getTime()/1000)%60);return (mm<10?"0"+mm:mm)+":"+(ss<10?"0"+ss:ss);/秒部分格式化/=Table2增加一行=function creat
20、etabletest() var input=true; var pn=document.getElementById("pn").value.replace(/(s*)|(s*$)/g,"").toUpperCase(); /非空驗證 if(pn="" | pn=null) return false; /長度規范 if(pn.length>4 && pn.length<cardLength) alert("代號最大允許4位數"+ "u000d"+"比如:A
21、999/B999"); document.getElementById("pn").value="" return false; /格式規范 if(pn.length!=cardLength && /非自動錄入 (pn0!="A" && pn0!="B" && pn0!="X" && pn0!="T") |/非ABXT班 (pn1="0") | (pn.indexOf("-
22、")!=-1)/包含有- ) var message="" if(pn0!="A" && pn0!="B" && pn0!="X" && pn0!="T")message="首字母只能使用A、B、X、T" if(pn.indexOf("-")!=-1)message="不可以使用-號" if(pn1="0")message="請不要在整數前面加0&q
23、uot; alert("格式錯誤:"+message+ "u000d"+"提醒:只需錄入代號" +"u000d"+"正確樣式:B1" +"u000d"+"錯誤樣式:B01、B1-1、1B"); document.getElementById("pn").value="" return false; /*確定PN的值* /根據代號或者卡號查找用戶 var nameList=readUsernameText().toUp
24、perCase(); if(nameList!=null && nameList!="") for(var i=nameList.split('').length-2;i>=0;i-) var kahao=nameList.split('')i.split(',')2.replace(/(n)+|(rn)+/g, ""); var daihao=nameList.split('')i.split(',')0.replace(/(n)+|(rn)+/g,
25、""); if(pn=daihao) | (pn=kahao) pn=nameList.split('')i.split(',')1; break; /如果找不到用戶,自動錄入失敗,轉手動錄入 if(pn.length=cardLength) alert("卡號:"+pn+"u000d不存在,請手動錄入!");/1111111111 document.getElementById("pn").value="" autoInput=false; return fal
26、se; var cPN=pn; var out=false; var noPhone=true; /*以下查找修理師第n個PBA* /* *pn-x的格式 eg:A6-1、A6-2、A6-3 */ var table =document.getElementById("table2"); for(var j=100;j>=0;j-) /pn動態變換 if(j=0) cPN=pn; else cPN=pn+"-"+j; for(var i=0;i<table.rows.length;i+) /如果找到該手機進行變號 if( table.rows
27、i.cells4.innerHTML!="" && table.rowsi.cells4.innerHTML!=null && table.rowsi.cells4.innerHTML.replace(/(s*)|(s*$)/g,"")=cPN) oldPN=table.rowsi.cells4.innerHTML.replace(/(s*)|(s*$)/g,"");/中間變量 /首次變號 if(isNaN(oldPN.split('-')1) pn=pn+"-2"
28、noPhone=false; out=true; break; /非首變號 if(oldPN.split('-')1!=null && oldPN.split('-')1!="" && !isNaN(oldPN.split('-')1) pn=pn+"-"+(parseInt(oldPN.split('-')1)+1); out=true; noPhone=false; break; /停止100次循環 if(out) break; /首次創建的格式if(no
29、Phone)pn=pn+"-1" /*創建鬧鐘* if(autoInput | confirm("確定新增烘烤PBA:"+ "u000d"+"代碼+編號:"+pn+ "u000d"+"鬧鐘編號:"+No) /頁面處理var oTab = document.getElementById('table2div'); var getTable=document.getElementById('table2');var bulidTable="
30、;<table id='table2' cellspacing='0' cellpadding='0' style='width:750px;'>"+buildTr(pn);if(getTable.rows.length>0)/table2 頁面元素獲取for(var n=0;n<=getTable.rows.length-1;n+) bulidTable=bulidTable+"<tr>"+getTable.rowsn.innerHTML+"</t
31、r>"bulidTable=bulidTable+"</table>"oTab.innerHTML=bulidTable;No+; /鬧鐘編號自增 document.getElementById("pn").value=""oTab = document.getElementById('table2div'); /log處理table =document.getElementById("table2");var buildJilu=table.rows0.cells0.i
32、nnerHTML+","+ /鬧鐘編號0 table.rows0.cells1.innerHTML+","+ /放入時間1 ","+ /剩余時間2 ","+ /取出時間3 table.rows0.cells4.innerHTML+","+ /手機PN4 ","+table.rows0.cells7.innerHTML+ /手機放入時間5 "" /業務結果 quchuLogById(buildJilu);/更新Log TEXT記錄*/ autoInput=f
33、alse; /=創建新的Tr= function buildTr(pn) init(); var s="" return s="<tr><td name='phone.id' style='width:107px;' class='neirong' style='color:blue;'>"+No+"</td>"+ /0 "<td name='phone.startTime' style='wid
34、th:107px;' class='neirong'>"+startTime+"</td>"+ /1 "<td name='phone.retime' style='width:107px;' class='neirong'>"+reTime+"</td>"+ /2 "<td name='phone.endTime' style='width:107px;' cla
35、ss='neirong'>"+endTime+"</td>"+ /3 "<td name='phone.pn' style='width:107px;' class='neirong' >"+pn+"</td>"+/4 "<td style='width:107px;' class='neirong' ><input class='quchu'
36、type='button' style='width:50' value='取出'/> "+"<input class='quxiao' style='width:50' type='button' value='取消' /></td>"+/5 "<td name='phone.result' style='width:107px;' class='n
37、eirong' ></td>"+/6 "<td style='display:none' style='width:107px;' class='neirong'>"+currentTime.getTime()+"</td></tr>" /7 /=去空格函數=function trim(str) /刪除左右兩端的空格if(str!=null)return str.replace(/(s*)|(s*$)/g, "");
38、elsereturn null; /=當前實時時間格式化=function formatOfTime() currentTime = new Date(); /實時時間顯示 var hh= currentTime.getHours(); /獲取當前小時數(0-23) var mm= currentTime.getMinutes(); /獲取當前分鐘數(0-59) var ss= currentTime.getSeconds(); /獲取當前秒數(0-59) if(hh<10)hh="0"+hh; if(mm<10)mm="0"+mm; if(
39、ss<10)ss="0"+ss; return hh+":"+mm+":"+ss;/log與HTML反編譯function rebuildHTML()var oldAll=readAllText();var oTab = document.getElementById('table2div'); var logT=0;if(oldAll!=null | oldAll!="") && oldAll.split('').length>0)/存在行數大于1(2行
40、以上)/n+1個length但不需要第一個元素 var maxNo=0;var rebuildTableAll="<table id='table2' cellspacing='0' cellpadding='0' style='width:750px;'>"for(var i=oldAll.split('').length-2;i>=0;i-) var everyOldRow=oldAll.split('')i.split(','); No=t
41、rim(oldAll.split('')i.split(',')0); /記錄手機的編號 startTime=trim(oldAll.split('')i.split(',')1); /記錄開始的時間 reTime=trim(oldAll.split('')i.split(',')2); /剩余時間 endTime=trim(oldAll.split('')i.split(',')3); /記錄取出時間 var oldPN=trim(oldAll.split('
42、;')i.split(',')4); /手機PN var oldOutput; /舊記錄業務操作選項 if(trim(oldAll.split('')i.split(',')5)="")oldOutput="<input class='quchu' type='button' style='width:50' value='取出'/>"elseoldOutput="" result=trim(oldAll
43、.split('')i.split(',')5); /舊記錄業務結果 logT=trim(oldAll.split('')i.split(',')6); /舊記錄時間 var resultColor; if( result="NG")resultColor=resultNG;else if(result="OK")resultColor=resultOK;elseresultColor="rgba(0,0,0,0)"/處理裝載顏色 var newR="<t
44、r><td name='phone.id' style='width:107px;' class='neirong' >"+No+"</td>"+ /0 "<td name='phone.startTime' style='width:107px;' class='neirong'>"+startTime+"</td>"+ /1 "<td name='p
45、hone.retime' style='width:107px;' class='neirong'>"+reTime+"</td>"+ /2 "<td name='phone.endTime' style='width:107px;' class='neirong'>"+endTime+"</td>"+ /3 "<td name='phone.pn' style=&
46、#39;width:107px;' class='neirong' >"+oldPN+"</td>"+/4 "<td style='width:107px;' class='neirong' >"+oldOutput+" <input class='quxiao' style='width:50' type='button' value='取消' /><
47、;/td>"+/5 "<td name='phone.result' style='width:107px;background:"+resultColor+"' class='neirong' >"+result+"</td>"+/6 "<td style='display:none' style='width:107px;' class='neirong'>"+lo
48、gT+"</td></tr>"/7 rebuildTableAll=rebuildTableAll+newR; if(maxNo<parseInt(No)maxNo=No;logT=0; rebuildTableAll=rebuildTableAll+"</TABLE>" oTab.innerHTML=rebuildTableAll; if(parseInt(maxNo)>=1) No=parseInt(maxNo)+1; elseNo=1; else if(oldAll=null)alert("
49、log文件記錄為空,聯系開發者6909");elsealert("log文件格式異常,聯系開發者6909"); /=取消函數=$(".quxiao").live("click",function()var $heretr=$(this).parent().parent();/trif(!confirm("確定取消:"+ "u000d"+"代碼-編號:"+$heretr.children('td').eq(4).text()+ "u000d&
50、quot;+"鬧鐘編號:"+$heretr.children('td').eq(0).text() return false; /log取消deleteLogById($heretr.children('td').eq(0).text();/html取消 $heretr.remove(););/根據ID刪除LOg記錄function deleteLogById(NoofNaoZhong)var oldAll=readAllText().split('');/全部記錄數組var indexNo=NoofNaoZhong;if(o
51、ldAll!="" | oldAll!=null) && oldAll.length>0)/存在行數大于1(2行以上) for(var i=0;i<oldAll.length-1;i+) if(indexNo=trim(oldAlli.split(',')0)/判斷有無存在 oldAll.splice(i,1);/如果存在記錄數組去掉一個成員 var fso, ts; fso = new ActiveXObject("Scripting.FileSystemObject"); /創建對象ts =fso.Open
52、TextFile("c:/clock/log/"+now+"/log.txt", 2,true);/ 文件路徑;只讀=1,只寫=2 ,追加=8 ;不存在則新建true,相反為false;TristateTrue=Unicode,TristateFalse=ASCIIfor(var i=0;i<oldAll.length-1;i+)ts.Write(oldAlli+"");ts.Close();/=取出函數=$(".quchu").live("click",function()/頁面處理va
53、r $heretr=$(this).parent().parent();/tr$heretr.children("td").eq(3).text(formatOfTime(); /生成出箱時間、結果if(Math.abs(setTime*60-parseInt(currentTime.getTime()-$heretr.children("td").eq(7).text()/1000)<=afterTime*60) $heretr.children("td").eq(6).text("OK"); /沒有超時
54、$heretr.children("td").eq(6).css("background-color":resultOK); else/超時 $heretr.children("td").eq(6).text("NG"); /沒有超時 $heretr.children("td").eq(6).css("background-color":resultNG); $heretr.children("td").eq(2).css("background
55、-color":'rgba(0,0,0,0)');/清除倒計時報警色/log處理 var item =$heretr.children("td").eq(0).text()+","+ /鬧鐘編號 $heretr.children("td").eq(1).text()+","+ /放入時間 $heretr.children("td").eq(2).text()+","+ /剩余時間 $heretr.children("td").eq
56、(3).text()+","+ /取出時間 $heretr.children("td").eq(4).text()+","+ /手機PN $heretr.children("td").eq(6).text()+","+ $heretr.children("td").eq(7).text()+"" /業務結果 update(item);$(this).remove(););/=根據Id追加測試記錄=function quchuLogById(item)var
57、 fso, ts; fso = new ActiveXObject("Scripting.FileSystemObject"); /創建對象ts =fso.OpenTextFile("c:/clock/log/"+now+"/log.txt", 8,true);/ 文件路徑;只讀=1,只寫=2 ,追加=8 ;不存在則新建true,相反為false;TristateTrue=Unicode,TristateFalse=ASCIIts.Write(item);ts.Close();/=讀取文本文件=function readAllText
58、()var fso, ts ,s,flie0,tf; fso = new ActiveXObject("Scripting.FileSystemObject"); /創建對象if(!fso.FolderExists("c:/clock") fso.CreateFolder("c:/clock"); /如果文件夾不存在,創建文件夾if(!fso.FolderExists("c:/clock/log") fso.CreateFolder("c:/clock/log"); /如果文件夾不存在,創建文件
59、夾if(!fso.FolderExists("c:/clock/log/"+now) fso.CreateFolder("c:/clock/log/"+now); /如果文件夾不存在,創建文件夾try file0 = fso.GetFile("c:/clock/log/"+now+"/log.txt");catch(e) file0=null; /嘗試獲取文件 if(file0=null)/如果文件是空的ts =fso.OpenTextFile("c:/clock/log/"+now+"
60、;/log.txt", 2,true);/ 文件路徑;只讀=1,只寫=2 ,追加=8 ;不存在則新建true,相反為false;TristateTrue=Unicode,TristateFalse=ASCIIts.Close();s=""/返回空字符串else/文件不為空 ts =fso.OpenTextFile("c:/clock/log/"+now+"/log.txt", 1,true); try /文件內容不為空,讀取內容返回 s=ts.ReadAll();ts.Close();/讀取文件內容 catch(e)/文件內容為空 s=""/返回空字符串 if(s!=null | s!="") return trim(s);elsereturn s; /返回空值或者文本全部/=讀取名字文件=function readUsernameText()var fso, ts ,s,flie0,tf; fso = new ActiveXObject("Scripting.FileSystemObject"); /創建對象if(!fso.FolderExists("c:/cl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 筆的制造生產過程優化與仿真技術考核試卷
- 紙板容器工廠環境噪聲治理考核試卷
- 石棉水泥制品的國內外質量標準對比考核試卷
- 外科個案護理專題分析
- 新生兒高膽紅素血癥業務查房
- 腦癱患者麻醉管理規范
- Heneicomycin-生命科學試劑-MCE
- 湖北省2025年中考第三次模擬考試道德與法治試卷(解析版)
- 房地產行業深度報告-“好房子”系列專題一:四代宅崛起政策紅利與產品創新驅動居住升級
- 2025年下半年食品飲料行業寒來暑往結構破局
- 變電工程施工合同協議書
- 電工技術-北京科技大學中國大學mooc課后章節答案期末考試題庫2023年
- 星海音樂學院樂理試題A卷
- 2019年4月27日山東省紀委監委遴選公務員考試真題及答案
- ktv包房服務員崗位職責8篇
- 西安某大跨度鋼桁架人行天橋結構設計分析
- 新疆全部及全國部分加氣站分布情況6
- 初中學段勞動任務清單(七到九年級)
- 2023年中國各地磁偏角
- 六維領導力專題知識
- 【護士資格考試】云南省精神病醫院模擬檢測練習題
評論
0/150
提交評論