| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681 |
- <html>
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <script src="js/teacrypt.js" type="text/javascript"></script>
- <script src="js/mqttws31.min.js" type="text/javascript"></script>
- <script src="js/jquery-3.5.1.min.js"></script>
-
- <title>預約 QR Code</title>
- <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css" />
- <script type="text/javascript">
-
- window.addEventListener( "pageshow",function ( event ) {
- var historyTraversal = event.persisted ||
- ( typeof window.performance != "undefined" &&
- window.performance.navigation.type === 2 );
- if ( historyTraversal ) {
- // Handle page restore.
- window.location.reload();
- }
- });
- </script>
- </head>
-
- <body class="text-center" onload="init()" >
-
-
-
- <div class="card" style="width: 480px ;box-shadow: 0px 0px 1px 1px rgba(0,0,0,0.1);margin: 21px auto;background-color:#FFFFFF;">
- <table style="width: 100%">
- <tbody>
- <tr>
- <td style="width: 33.3%"><button type="button" style="border-color: #dcdcdc;border-width: 0px;border-color: #dcdcdc;border-width: 0px;margin: 0px 0px 0px 0px;color:#787878;font-family: Roboto_Light; font-size: 24px;width: 110px; height: 60px; background-color: transparent;width:100%;" onclick="btback()"><img src="image/arrowiosback.png" width="40" height="40" style=" margin: -8px 0px 0px -120px ;" alt=""/></button></td><td style="width: 33.3%"><button type="button" style="border-color: #dcdcdc;border-width: 1px;border-color: #dcdcdc;border-width: 1px;margin: 0px 0px 0px 0px;color:#787878;font-family: Roboto_Light; font-size: 24px;width: 110px; height: 60px; background-color: #cce8fc;width:100%;" hidden onclick="pcbtnSaveTmp()"'+
- '>複製</button> </td><td style="width: 33.3%"><button type="button" style="border-color: #dcdcdc;border-width: 1px;border-color: #dcdcdc;border-width: 1px;margin: 0px 0px 0px 0px;color:#FFFFFF;font-family: Roboto_Light; font-size: 24px;width: 110px; height: 60px; background-color: #64c800;width:100%;" hidden onclick="pcbtnSaveqr()">下載</button></td>
- </tbody>
- </table>
- <div style="margin: 1px 0 0px 1px;background-color:#FFFFFF;" >
- <button id="btn100" style="margin: 2px 0px 0px 0px;outline:none;line-height:40px;vertical-align: middle; text-align: left;width:60%;border:0px white none;background-color:#FFFFFF;font-family:Roboto_Light;font-size:24px;color:#646464;height:46px;"></button>
- <button id="btn200" style="margin: 0px 5px 0px 0px;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);outline:none;line-height:40px;vertical-align: middle; text-align: center;width:35%;border:0px white none;background-color:#e6e6e6;font-family:Roboto_Light;font-size:24px;color:#646464;height:42px;" onclick="Addpay6()">全部</button>
- </div>
- <div style="text-align:center">
- <!-- <h1 class="h3 mb-3 font-weight-normal">預收貨款</h1> -->
- <!-- <form class="form-signin" id="senddocument"> -->
-
- <div style="width: 100%;">
- <button id="addneworder" style="border-color: #dcdcdc;border-width: 1px;width: 95%;
- height: 56px;
- margin: 10px 0px 10px 0px ;
- padding: 11px 0 22px;
- border-radius: 3px;
- font-family:Roboto_Light;font-size:24px;color:#646464;
- background-color: #e6e6e6;" onclick="Addpay5()" disabled>
- 新增預約 <img src="image/addorder.png" width="40" height="40" style=" margin: -8px 0px 0px 10px ;" alt=""/></button></div>
-
- <div id="doorlist" >
-
- </div>
-
- </div>
-
- </div>
-
-
-
-
- <div id="output" style="display:none">
- <h2>Output</h2>
- </div>
- <div id="output2" style="display:none">
- <br>
- <h2>無資料</h2>
- </div>
-
- <script type="text/javascript">
- var message345 ;
- var message467;
- var isconn=false;
- var paytype='0';
- function btback()
- {
- document.location = "index1.html??ID="+kkid+"&SubID="+SubID+"&CID="+CID+"&PW="+PW+"&TYPE=PC&SN="+SN+"&MQTT="+vmqtt;
- }
-
- function Addpay6()
- {
-
- switch (paytype) {
- case '0': //all to t
- //alert(paytype);
- document.getElementById("btn200").innerHTML ='週期';
- document.getElementById("btn200").style.backgroundColor ="rgb(223,247,198)"
- paytype='1';
- doorlist.innerHTML ='';
- try
- {
- for (i=0;i<keylist.length;i++)
- {
- var vobk=keylist[i];
-
- var vttovt = vobk.TimeStamp;
- vttovt=vttovt.replace('_',' ');
- vttovt=vttovt.replace(',','~');
- vttovt=vttovt.replace('_',' ');
-
- var vdddt = vttovt.split('~')[1];
- vdddt=vdddt.replace('/','-');
- vdddt=vdddt.replace('/','-');
- vdddt=vdddt.replace(' ','T');
- vdddt='20'+vdddt+':00'
- //alert(vdddt);
-
- let date1 = new Date();
- //let date2 = new Date(2022, 08, 03, 11, 45, 55);
- //let date2 = new Date( Date.parse(vdddt));
- //let date2 = Date.parse("2019-01-01T12:30:00")
-
- let date2 = Date.parse(vdddt);
-
-
- //alert(Date.parse(date1)+','+date2);
- //alert(date1<date2);
- if (date1<date2)
- {
-
- if (vobk.Type=='2')
- {
-
- var vcy = vobk.Cycle.split(',');
- var hpix = 56;
- //var hpix = 66;
-
- var cytxt='';
- let days=[];
-
- if (vcy[0]=='0000000')
- {
- }else
- {
- hpix=hpix+34;
-
- if (vcy[0].substring(0,1)=='1')
- days.push('日');
- if (vcy[0].substring(1,2)=='1')
- days.push('一');
- if (vcy[0].substring(2,3)=='1')
- days.push('二');
- if (vcy[0].substring(3,4)=='1')
- days.push('三');
- if (vcy[0].substring(4,5)=='1')
- days.push('四');
- if (vcy[0].substring(5,6)=='1')
- days.push('五');
- if (vcy[0].substring(6,7)=='1')
- days.push('六');
-
-
-
- vcy[1]=vcy[1].substr(0,2)+':'+vcy[1].substr(2,2);
- vcy[2]=vcy[2].substr(0,2)+':'+vcy[2].substr(2,2);
-
-
-
- cytxt=cytxt+'<br>1.'+vcy[1]+'~'+vcy[2]+' '+' '+days.join(',');
- }
-
- days=[];
- if (vcy[3]=='0000000')
- {
- }else
- {
- hpix=hpix+34;
-
- if (vcy[3].substring(0,1)=='1')
- days.push('日');
- if (vcy[3].substring(1,2)=='1')
- days.push('一');
- if (vcy[3].substring(2,3)=='1')
- days.push('二');
- if (vcy[3].substring(3,4)=='1')
- days.push('三');
- if (vcy[3].substring(4,5)=='1')
- days.push('四');
- if (vcy[3].substring(5,6)=='1')
- days.push('五');
- if (vcy[3].substring(6,7)=='1')
- days.push('六');
-
- vcy[4]=vcy[4].substr(0,2)+':'+vcy[4].substr(2,2);
- vcy[5]=vcy[5].substr(0,2)+':'+vcy[5].substr(2,2);
-
- cytxt=cytxt+'<br>2.'+vcy[4]+'~'+vcy[5]+' '+' '+days.join(',');
- }
-
- days=[];
- if (vcy[6]=='0000000')
- {
- }else
- {
- hpix=hpix+34;
-
- if (vcy[6].substring(0,1)=='1')
- days.push('日');
- if (vcy[6].substring(1,2)=='1')
- days.push('一');
- if (vcy[6].substring(2,3)=='1')
- days.push('二');
- if (vcy[6].substring(3,4)=='1')
- days.push('三');
- if (vcy[6].substring(4,5)=='1')
- days.push('四');
- if (vcy[6].substring(5,6)=='1')
- days.push('五');
- if (vcy[6].substring(6,7)=='1')
- days.push('六');
-
-
- vcy[7]=vcy[7].substr(0,2)+':'+vcy[7].substr(2,2);
- vcy[8]=vcy[8].substr(0,2)+':'+vcy[8].substr(2,2);
- cytxt=cytxt+'<br>3.'+vcy[7]+'~'+vcy[8]+' '+' '+days.join(',');
- }
-
- doorlist.innerHTML =doorlist.innerHTML+'<div style="width: 100%;text-align:center"><label style="text-align:left;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);;width: 95%;height: '+hpix+'px;margin: 5px 0px 10px 0px ;padding: 6px 6px 5px;font-family:Roboto_Light;font-size:16px;color:#000000;background-color: #ffffff;" onclick="btnitemback2(\''+vobk.IndexID+'\')">'+vttovt+'<br>'+vobk.Title+cytxt+'</label></div>';
-
-
- }
- }
- }
-
- }catch(e)
- {
- alert(e);
- }
-
- break;
- case '1': //t to cycle
- //alert(paytype);
-
- document.getElementById("btn200").innerHTML ='時段';
- document.getElementById("btn200").style.backgroundColor ="rgb(255,255,255)"
- paytype='2'; //cycle to all
- doorlist.innerHTML ='';
- try
- {
- for (i=0;i<keylist.length;i++)
- {
- var vobk=keylist[i];
- var vttovt = vobk.TimeStamp;
- vttovt=vttovt.replace('_',' ');
- vttovt=vttovt.replace(',','~');
- vttovt=vttovt.replace('_',' ');
-
- var vdddt = vttovt.split('~')[1];
- vdddt=vdddt.replace('/','-');
- vdddt=vdddt.replace('/','-');
- vdddt=vdddt.replace(' ','T');
- vdddt='20'+vdddt+':00'
- //alert(vdddt);
-
- let date1 = new Date();
- //let date2 = new Date(2022, 08, 03, 11, 45, 55);
- //let date2 = new Date( Date.parse(vdddt));
- //let date2 = Date.parse("2019-01-01T12:30:00")
-
- let date2 = Date.parse(vdddt);
-
-
- //alert(Date.parse(date1)+','+date2);
- //alert(date1<date2);
- if (date1<date2)
- {
-
- if (vobk.Type=='1')
- {
- doorlist.innerHTML =doorlist.innerHTML+'<div style="width: 100%;text-align:center"><label style="text-align:left;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);;width: 95%;height: 66px;margin: 5px 0px 10px 0px ;padding: 6px 6px 5px;font-family:Roboto_Light;font-size:16px;color:#000000;background-color: #ffffff;" onclick="btnitemback2(\''+vobk.IndexID+'\')">'+vttovt+'<br>'+vobk.Title+'</label></div>';
-
- }
-
-
- }
- }
-
- }catch(e)
- {
- alert(e);
- }
- break;
- case '2':
- //alert(paytype);
- document.getElementById("btn200").innerHTML ='全部';
- document.getElementById("btn200").style.backgroundColor ="rgb(230,230,230)"
- paytype='0';
- doorlist.innerHTML ='';
- try
- {
- for (i=0;i<keylist.length;i++)
- {
- var vobk=keylist[i];
- var vttovt = vobk.TimeStamp;
- vttovt=vttovt.replace('_',' ');
- vttovt=vttovt.replace(',','~');
- vttovt=vttovt.replace('_',' ');
-
- var vdddt = vttovt.split('~')[1];
- vdddt=vdddt.replace('/','-');
- vdddt=vdddt.replace('/','-');
- vdddt=vdddt.replace(' ','T');
- vdddt='20'+vdddt+':00'
- //alert(vdddt);
-
- let date1 = new Date();
- //let date2 = new Date(2022, 08, 03, 11, 45, 55);
- //let date2 = new Date( Date.parse(vdddt));
- //let date2 = Date.parse("2019-01-01T12:30:00")
-
- let date2 = Date.parse(vdddt);
-
-
- //alert(Date.parse(date1)+','+date2);
- //alert(date1<date2);
- if (date1<date2)
- {
-
- if (vobk.Type=='1')
- {
- doorlist.innerHTML = doorlist.innerHTML+'<div style="width: 100%;text-align:center"><label style="text-align:left;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);;width: 95%;height: 66px;margin: 5px 0px 10px 0px ;padding: 6px 6px 5px;font-family:Roboto_Light;font-size:16px;color:#000000;background-color: #ffffff;" onclick="btnitemback2(\''+vobk.IndexID+'\')">'+vttovt+'<br>'+vobk.Title+'</label></div>';
-
- }
- if (vobk.Type=='2')
- {
-
- var vcy = vobk.Cycle.split(',');
- var hpix = 56;
- //var hpix = 66;
-
- var cytxt='';
- let days=[];
-
- if (vcy[0]=='0000000')
- {
- }else
- {
- hpix=hpix+34;
-
- if (vcy[0].substring(0,1)=='1')
- days.push('日');
- if (vcy[0].substring(1,2)=='1')
- days.push('一');
- if (vcy[0].substring(2,3)=='1')
- days.push('二');
- if (vcy[0].substring(3,4)=='1')
- days.push('三');
- if (vcy[0].substring(4,5)=='1')
- days.push('四');
- if (vcy[0].substring(5,6)=='1')
- days.push('五');
- if (vcy[0].substring(6,7)=='1')
- days.push('六');
-
-
- vcy[1]=vcy[1].substring(0,2)+':'+vcy[1].substring(2,4);
- vcy[2]=vcy[2].substring(0,2)+':'+vcy[2].substring(2,4);
-
- cytxt=cytxt+'<br>1.'+vcy[1]+'~'+vcy[2]+' '+' '+days.join(',');
- }
-
- days=[];
- if (vcy[3]=='0000000')
- {
- }else
- {
- hpix=hpix+34;
-
- if (vcy[3].substring(0,1)=='1')
- days.push('日');
- if (vcy[3].substring(1,2)=='1')
- days.push('一');
- if (vcy[3].substring(2,3)=='1')
- days.push('二');
- if (vcy[3].substring(3,4)=='1')
- days.push('三');
- if (vcy[3].substring(4,5)=='1')
- days.push('四');
- if (vcy[3].substring(5,6)=='1')
- days.push('五');
- if (vcy[3].substring(6,7)=='1')
- days.push('六');
-
- vcy[4]=vcy[4].substring(0,2)+':'+vcy[4].substring(2,4);
- vcy[5]=vcy[5].substring(0,2)+':'+vcy[5].substring(2,4);
-
- cytxt=cytxt+'<br>2.'+vcy[4]+'~'+vcy[5]+' '+' '+days.join(',');
- }
-
- days=[];
- if (vcy[6]=='0000000')
- {
- }else
- {
- hpix=hpix+34;
-
- if (vcy[6].substring(0,1)=='1')
- days.push('日');
- if (vcy[6].substring(1,2)=='1')
- days.push('一');
- if (vcy[6].substring(2,3)=='1')
- days.push('二');
- if (vcy[6].substring(3,4)=='1')
- days.push('三');
- if (vcy[6].substring(4,5)=='1')
- days.push('四');
- if (vcy[6].substring(5,6)=='1')
- days.push('五');
- if (vcy[6].substring(6,7)=='1')
- days.push('六');
-
-
- vcy[7]=vcy[7].substring(0,2)+':'+vcy[7].substring(2,4);
- vcy[8]=vcy[8].substring(0,2)+':'+vcy[8].substring(2,4);
-
- cytxt=cytxt+'<br>3.'+vcy[7]+'~'+vcy[8]+' '+' '+days.join(',');
- }
-
- doorlist.innerHTML =doorlist.innerHTML+'<div style="width: 100%;text-align:center"><label style="text-align:left;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);;width: 95%;height: '+hpix+'px;margin: 5px 0px 10px 0px ;padding: 6px 6px 5px;font-family:Roboto_Light;font-size:16px;color:#000000;background-color: #ffffff;" onclick="btnitemback2(\''+vobk.IndexID+'\')">'+vttovt+'<br>'+vobk.Title+cytxt+'</label></div>';
-
-
- }
- }
- }
-
- }catch(e)
- {
- alert(e);
- }
- break;
-
- }
- // alert(paytype);
-
- }
- function Addpay5()
- {
- var vvvi='';
- var isf = false;
- //alert(itnos.join(','));
- for (i=0;i<50;i++)
- {
-
- if (itnos.includes(i.toString()))
- {
- //alert(i+"in");
- }
- else
- {
- if (isf)
- {
-
- }else
- {
- //alert(i+'no');
- isf=true;
- vvvi=i.toString();
- //alert(vvvi);
-
- }
-
- }
- }
- //alert(vvvi);
- //return;
- //alert('5');
-
- if (vvvi.length==0)
- {
- alert('預約數量已滿,請刪除其它預約後重新新增!');
- return;
- }
- else
- {
- //alter(Id);
- // alter(kkid);
-
- // document.location = "index3.html?idx="+vvvi+"&tt="+"&cy="+"&name="+kname+"&st="+"&et="+"&tp=1"+"&cid="+kkid+"&CID="+CID+"&ID="+ID+"&PW="+PW+"&TYPE="+TYPE+"&SN="+SN+"&MQTT="+vmqtt+"&SubID="+SubID;
- document.location = "index3.html?idx="+vvvi+"&tt="+"&qrcd=&cy="+"&name="+kname+"&st="+"&et="+"&tp=1"+"&CID="+CID+"&ID="+kkid+"&PW="+PW+"&TYPE="+TYPE+"&SN="+SN+"&MQTT="+vmqtt+"&SubID="+SubID;
-
- }
-
- }
-
- function btnitemback2(i)
- {
- try
- {
- // alert(i);
- //alert(keylist.length);
- var vobk='';
-
- //jm123
- for (ij=0;ij<keylist.length;ij++)
- {
-
-
- if (keylist[ij].IndexID==i)
- {
- //alert(keylist[ij].IndexID);
- vobk=keylist[ij];
- }
-
-
- }
-
-
-
-
- // alert(vobk);
- var vttovt = vobk.TimeStamp;
- //vttovt=vttovt.replace('_',' ');
- //vttovt=vttovt.replace(',','~');
- //vttovt=vttovt.replace('_',' ');
- vst = vttovt.split(',')[0];
- vet = vttovt.split(',')[1];
- //alert(vst);
- //alert(vet);
- var type = vobk.Type;
- var cy=vobk.Cycle;
- var vvqrcd = vobk.CardID;
- vvqrcd=vvqrcd.replaceAll('=','-');
- cy=cy.replace('(null)','');
- var ttt = vobk.Title;
- ttt=ttt.replace('(null)','');
- //alert(ID);
- //alert(kkid);
- document.location = "index3.html?idx="+vobk.IndexID+"&qrcd="+vvqrcd+"&tt="+ttt+"&cy="+cy+"&name="+kname+"&st="+vst+"&et="+vet+"&tp="+type+"&CID="+CID+"&ID="+kkid+"&PW="+PW+"&TYPE="+TYPE+"&SN="+SN+"&MQTT="+vmqtt+"&SubID="+SubID;;
- }catch(e)
- {
- alert(e);
- }
- }
- function getKeylist()
- {
-
- var vt=new Date().format("yyyy/MM/dd_HH:mm:ss")
- //alert(vt);
- //alert(kkid);
-
- // var edata ="{\"action\":\"mqttqueryRemoteKey\",\"data\":{\"Command\":\"UserID=35503000&IndexID=1&ORDER=T&PassWord=CMM87krWqj8Ltt00\",\"SerialNo\":\"Reserve8869990002301\",\"TimeStamp\":\""+vt+"\",\"Token\":\"Gigatech23634857\"}}";
- var edata ="{\"action\":\"mqttqueryRemoteKey\",\"data\":{\"Command\":\"UserID="+kkid+"&IndexID=*&ORDER=T&PassWord="+PW+"\",\"SerialNo\":\"Reserve"+CID+"1-"+SubID+"\",\"TimeStamp\":\""+vt+"\",\"Token\":\"Gigatech23634857\"}}";
-
- var jsonString = "{\"action\":\"encode\", \"serial\":\"001\",\"data\":"+edata+"}";
- vsn='001';
- updateOutput(jsonString);
-
- if (TYPE=='IOS')
- {
- window.webkit.messageHandlers.WebToApp.postMessage(jsonString);
- }
-
- if (TYPE=='ANDROID')
- {
- webSocket.send(jsonString);
- }
-
- if (TYPE=='PC')
- {
-
- selfendecode(edata);
- }
- }
-
-
-
- </script>
-
- <script type="text/javascript">
- var CID = '';
- var ID = '';
- var PW = '';
- var TYPE = '';
- var client;
- var myclientid='';
- var callist = '';
- var kkid='';
- var kname='';
-
- var keylist='';
- let itnos=[];
- var isget = false;
- var vmqtt='';
- var SN='';
- var vsn='';
- var SubID='';
- var isget2=false;
- function init()
- {
- try
- {
- kkid= getUrlParameter('KID');
- kname= getUrlParameter('name');
- CID = getUrlParameter('CID');
- ID = getUrlParameter('ID');
- PW= getUrlParameter('PW');
- TYPE= getUrlParameter('TYPE');
- SN = getUrlParameter('SN');
- vmqtt = getUrlParameter('MQTT');
- SubID = getUrlParameter('SubID');
- //alert(kname);
- document.getElementById("btn100").innerHTML =kname;
- // alert( 'xx'+document.getElementById("btn100").innerHTML );
- updateOutput('init');
- /*
- CID = getUrlParameter('CID');
- ID = getUrlParameter('ID');
- PW= getUrlParameter('PW');
- TYPE= getUrlParameter('TYPE');
- */
-
- //CID = '886999000230';
- //ID = '00000000';
- //PW= 'CMM87krWqj8Ltt00';
- //TYPE='IOS';
-
- updateOutput('CID='+CID);
- updateOutput('ID='+ID);
- updateOutput('PW='+PW);
- updateOutput('TYPE='+TYPE);
- if (TYPE=='ANDROID')
- {
- connect();
- }
- if (TYPE=='IOS')
- {
-
- var vivi = 0;
- var intervalID = setInterval(() => {
- if (isget)
- {
- // break;
- }
- else
- {
- if (vivi>4)
- {
- clearInterval(intervalID);
- alert('連線異常');
- }
- else
- {
- vivi++;
- getKeylist() ;
- }
-
- }
- }, 400);
-
-
- }
- if (TYPE=='PC')
- {
-
- var vivi = 0;
- var intervalID = setInterval(() => {
- if (isget)
- {
- // break;
- }
- else
- {
- if (vivi>4)
- {
- clearInterval(intervalID);
- alert('連線異常');
- }
- else
- {
- vivi++;
- getKeylist() ;
- }
-
- }
- }, 400);
-
-
- }
-
- //myclientid="Giga"+CID+"1-"+ parseInt(Math.random() * 100000000, 10);
- myclientid="GigaPC"+CID+"1-"+SubID;
-
- client = new Paho.MQTT.Client(vmqtt, Number(8083), myclientid);
- client.onMessageArrived = onMessageArrived;
- client.onConnectionLost = onConnectionLost;
- //client.connect( {onSuccess: onConnect,timeout: 3});
- client.connect( {onSuccess: onConnect, onFailure : onFailedConnect,timeout: 3,keepAliveInterval: 35});
-
-
- }catch(e)
- {
- alert(e);
- }
- }
- function onConnectionLost(message)
- {
- alert('連線失敗或重複登入,將返回登入畫面');
- document.location = "index.html?TYPE=PC&ID=00000000";
- // client.connect( {onSuccess: onConnect, onFailure : onFailedConnect});
- }
- function onMessageArrived(message)
- {
- //alert(message.destinationName);
- //alert(message.payloadString);
- // output2.innerHTML += "<br/>" + message.payloadString;
- var errda = message.payloadString;
- if (errda.startsWith('modify'))
- {
- var kkdd = errda.split(',');
-
- if (kkdd[3]==kname)
- {
- //alert('same');
- if (kkdd[2]!=SubID)
- {
- isget=false;
- var vivi = 0;
- var intervalID = setInterval(() => {
- if (isget)
- {
- // break;
- }
- else
- {
-
- if (vivi>4)
- {
- clearInterval(intervalID);
- alert('連線異常');
-
- }
- else
- {
- vivi++;
- getKeylist() ;
- }
-
- // vii++;
- }
- }, 400);
- }
-
- }
-
-
- }
- else
- {
-
- isget2=true;
- var vobj = JSON.parse( errda);
- var jsonString = "{\"action\":\"decode\", \"serial\":\"002\",\"data\":\""+vobj.data+"\"}";
- updateOutput('----------------------------------------------');
- updateOutput(jsonString);
- vsn='002';
- /// "WebToApp". 為我們和前端開發人員的約定
- if (TYPE=='IOS')
- {
- window.webkit.messageHandlers.WebToApp.postMessage(jsonString);
- }
- if (TYPE=='ANDROID')
- {
- webSocket.send(jsonString);
- }
- if (TYPE=='PC')
- {
- selfendecode(vobj.data);
- }
-
- }
-
- }
- function onFailedConnect()
- {
- //alert('連線異常');
- }
- function onConnect()
- {
- isconn=true;
- client.subscribe('Reserve'+CID+'1-'+SubID);
-
- try
- {
-
-
-
- }
- catch(e)
- {
- alert(e);
- }
- //alert('c');
- }
-
- </script>
- <script type="text/javascript">
- var webSocket;
- var input = document.getElementById("input")
- var output = document.getElementById("output");
- var vdata="";
- var isok=true;
- var webSocket;
-
- //var wsUrl = "ws://localhost:2980/";
-
- //var wsUrl = "ws://192.168.0.25:2980/";
- var wsUrl = "ws://127.0.0.1:2980/";
- function connect() {
- // open the connection if one does not exist
- if (webSocket !== undefined
- && webSocket.readyState !== WebSocket.CLOSED) {
- return;
- }
-
- updateOutput("Trying to establish a WebSocket connection to <code>" + wsUrl + "</code>");
-
- // Create a websocket
- webSocket = new WebSocket(wsUrl);
-
- webSocket.onopen = function(event) {
-
- updateOutput("Connected!");
-
-
- // alert('');
-
-
- var vivi = 0;
- var intervalID = setInterval(() => {
- if (isget)
- {
- // break;
- }
- else
- {
-
- if (vivi>15)
- {
- clearInterval(intervalID);
- alert('連線異常');
-
- }
- else
- {
- vivi++;
- if (isconn)
- {
- getKeylist() ;
- }
-
-
- }
-
- // vii++;
- }
- }, 400);
-
-
- };
-
- webSocket.onmessage = function(event)
- {
- if (vsn=='002')
- {
- var ress = event.data;
- // ress=ress.replace(/[^a-z0-9\s]/gi, 'a').replace(/[_\s]/g, '-');
- // ress=ress+"}";
- // ress= ress.substring(1300,ress.length);
- //alert(event.data);
- // alert( event.data.trim().substring(1300,event.data.length) );
- doorlist.innerHTML ='';
- try
- {
- var vobj = JSON.parse(ress);
- keylist = vobj.data.data;
- var showkeylistl=0;
-
-
- //alert(keylist[0]);
- for (i=0;i<keylist.length;i++)
- {
- // alert(keylist[i].Cycle+' '+keylist[i].Type+' '+keylist[i].IndexID);
- var vobk=keylist[i];
-
- //alert(vobk.UserID);
- //alert(vobk.Type);
- var vttovt = vobk.TimeStamp;
-
-
- vttovt=vttovt.replace('_',' ');
- vttovt=vttovt.replace(',','~');
- vttovt=vttovt.replace('_',' ');
-
- var vdddt = vttovt.split('~')[1];
- vdddt=vdddt.replace('/','-');
- vdddt=vdddt.replace('/','-');
- vdddt=vdddt.replace(' ','T');
- vdddt='20'+vdddt+':00'
- //alert(vdddt);
-
- let date1 = new Date();
- //let date2 = new Date(2022, 08, 03, 11, 45, 55);
- //let date2 = new Date( Date.parse(vdddt));
- //let date2 = Date.parse("2019-01-01T12:30:00")
-
- let date2 = Date.parse(vdddt);
-
-
- //alert(Date.parse(date1)+','+date2);
- //alert(date1<date2);
- if (date1<date2)
- {
- //alert(vttovt);
- //alert(vobk.IndexID);
- itnos.push(vobk.IndexID);
-
-
- var ttt = vobk.Title;
- ttt=ttt.replace('(null)','');
-
- //alert(vobk.Type);
- if (vobk.Type=='1')
- {
- //alert(vobk.Type);
- //doorlist.innerHTML =doorlist.innerHTML+'<div style="margin: 10px 35px 0px -14px;"><button id="doorsin'+i+'" style="line-height:28px;vertical-align: middle; text-align: left;width:80%;border:0px white none;background-color:white;font-family:Roboto_Light;font-size:24px;outline:none;color:#646464;height:28px;" onclick="btnitemback2(\''+i+'\')">'+tttxt+'</button></div><br>';
- //doorlist.innerHTML =doorlist.innerHTML+'<div style="width: 100%;text-align:center"><label style="text-align:left;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);;width: 95%;height: 56px;margin: 5px 0px 10px 0px ;padding: 6px 6px 5px;font-family:Roboto_Light;font-size:16px;color:#000000;background-color: #ffffff;" onclick="btnitemback2(\''+i+'\')">'+vttovt+'<br>'+ttt+'</label></div>';
- doorlist.innerHTML =doorlist.innerHTML+'<div style="width: 100%;text-align:center"><label style="text-align:left;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);;width: 95%;height: 66px;margin: 5px 0px 10px 0px ;padding: 6px 6px 5px;font-family:Roboto_Light;font-size:16px;color:#000000;background-color: #ffffff;" onclick="btnitemback2(\''+vobk.IndexID+'\')">'+vttovt+'<br>'+ttt+'</label></div>';
- showkeylistl++;
- }
- if (vobk.Type=='2')
- {
- //alert(vobk.Cycle);
- var vcy = vobk.Cycle.split(',');
- var hpix = 56;
- //var hpix = 66;
-
- var cytxt='';
- let days=[];
-
- if (vcy[0]=='0000000')
- {
- }else
- {
- hpix=hpix+34;
-
- if (vcy[0].substring(0,1)=='1')
- days.push('日');
- if (vcy[0].substring(1,2)=='1')
- days.push('一');
- if (vcy[0].substring(2,3)=='1')
- days.push('二');
- if (vcy[0].substring(3,4)=='1')
- days.push('三');
- if (vcy[0].substring(4,5)=='1')
- days.push('四');
- if (vcy[0].substring(5,6)=='1')
- days.push('五');
- if (vcy[0].substring(6,7)=='1')
- days.push('六');
-
- vcy[1]=vcy[1].substring(0,2)+':'+vcy[1].substring(2,4);
- vcy[2]=vcy[2].substring(0,2)+':'+vcy[2].substring(2,4);
- cytxt=cytxt+'<br>1.'+vcy[1]+'~'+vcy[2]+' '+' '+days.join(',');
- }
-
- days=[];
- if (vcy[3]=='0000000')
- {
- }else
- {
- hpix=hpix+34;
-
- if (vcy[3].substring(0,1)=='1')
- days.push('日');
- if (vcy[3].substring(1,2)=='1')
- days.push('一');
- if (vcy[3].substring(2,3)=='1')
- days.push('二');
- if (vcy[3].substring(3,4)=='1')
- days.push('三');
- if (vcy[3].substring(4,5)=='1')
- days.push('四');
- if (vcy[3].substring(5,6)=='1')
- days.push('五');
- if (vcy[3].substring(6,7)=='1')
- days.push('六');
-
- vcy[4]=vcy[4].substring(0,2)+':'+vcy[4].substring(2,4);
- vcy[5]=vcy[5].substring(0,2)+':'+vcy[5].substring(2,4);
-
- cytxt=cytxt+'<br>2.'+vcy[4]+'~'+vcy[5]+' '+' '+days.join(',');
- }
-
- days=[];
- if (vcy[6]=='0000000')
- {
- }else
- {
- hpix=hpix+34;
-
- if (vcy[6].substring(0,1)=='1')
- days.push('日');
- if (vcy[6].substring(1,2)=='1')
- days.push('一');
- if (vcy[6].substring(2,3)=='1')
- days.push('二');
- if (vcy[6].substring(3,4)=='1')
- days.push('三');
- if (vcy[6].substring(4,5)=='1')
- days.push('四');
- if (vcy[6].substring(5,6)=='1')
- days.push('五');
- if (vcy[6].substring(6,7)=='1')
- days.push('六');
-
- vcy[7]=vcy[7].substring(0,2)+':'+vcy[7].substring(2,4);
- vcy[8]=vcy[8].substring(0,2)+':'+vcy[8].substring(2,4);
-
- cytxt=cytxt+'<br>3.'+vcy[7]+'~'+vcy[8]+' '+' '+days.join(',');
- }
-
- //doorlist.innerHTML =doorlist.innerHTML+'<div style="width: 100%;text-align:center"><label style="text-align:left;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);;width: 95%;height: '+hpix+'px;margin: 5px 0px 10px 0px ;padding: 6px 6px 5px;font-family:Roboto_Light;font-size:16px;color:#000000;background-color: #ffffff;" onclick="btnitemback2(\''+i+'\')">'+vttovt+'<br>'+ttt+cytxt+'</label></div>';
- doorlist.innerHTML =doorlist.innerHTML+'<div style="width: 100%;text-align:center"><label style="text-align:left;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);;width: 95%;height: '+hpix+'px;margin: 5px 0px 10px 0px ;padding: 6px 6px 5px;font-family:Roboto_Light;font-size:16px;color:#000000;background-color: #ffffff;" onclick="btnitemback2(\''+vobk.IndexID+'\')">'+vttovt+'<br>'+ttt+cytxt+'</label></div>';
- showkeylistl++;
-
-
- }
-
- }
- }
- // var sevobj = JSON.parse( vobj);
- // alert( sevobj.data);
-
- }catch(e)
- {
- alert(e);
- }
- var addneworder = document.getElementById("addneworder");
- addneworder.disabled = false;
- if (showkeylistl==0)
- {
- output2.style='';
- }
-
- }
- if (vsn=='001')
- {
- try
- {
- // alert( event.data );
- isget=true;
- var ress = event.data;
-
- var vobj = JSON.parse( ress);
-
- vdata = "{\"encrypt\":\"1\",\"data\":\""+vobj.data+"\"}";
- }catch(e)
- {
- alert(e);
- }
- updateOutput('---------------------------');
- updateOutput(vdata);
-
- isget2=false;
- var payload =vdata;
- try{
- message467 = new Paho.MQTT.Message(payload);
- message467.destinationName = SN ;
- message467.qos = 2;
- message467.retained = false;
- var vivi = 0;
- var intervalID = setInterval(() => {
- if (isget2)
- {
- // break;
- }
- else
- {
-
- if (vivi>4)
- {
- clearInterval(intervalID);
- alert('連線異常');
-
- }
- else
- {
- vivi++;
- client.send(message467);
- }
-
- // vii++;
- }
- }, 400);
-
-
-
- }catch(e)
- {
- alert(e);
- }
-
- }
- updateOutput('------------xxx------------');
- updateOutput(event.data);
-
- };
-
- webSocket.onclose = function(event) {
- updateOutput("Connection Closed");
-
- //sendBtn.disabled = true;
- };
- }
-
-
-
-
- function AppToWeb(message) {
- // updateOutput(message);
- var showkeylistl=0;
- if (vsn=='002')
- {
- var ress = message;
- isget2=true;
- doorlist.innerHTML ='';
- try
- {
- var vobj = JSON.parse(ress);
- keylist = vobj.data.data;
-
-
- for (i=0;i<keylist.length;i++)
- {
-
- var vobk=keylist[i];
-
- var vttovt = vobk.TimeStamp;
-
- vttovt=vttovt.replace('_',' ');
- vttovt=vttovt.replace(',','~');
- vttovt=vttovt.replace('_',' ');
-
- var vdddt = vttovt.split('~')[1];
- vdddt=vdddt.replace('/','-');
- vdddt=vdddt.replace('/','-');
- vdddt=vdddt.replace(' ','T');
- vdddt='20'+vdddt+':00'
- //alert(vdddt);
-
- let date1 = new Date();
- //let date2 = new Date(2022, 08, 03, 11, 45, 55);
- //let date2 = new Date( Date.parse(vdddt));
- //let date2 = Date.parse("2019-01-01T12:30:00")
- let date2 = Date.parse(vdddt)
-
- //alert(date1);
- //alert(date2);
- //alert(date1>date2);
- if (date1<date2)
- {
-
- itnos.push(vobk.IndexID);
- var ttt = vobk.Title;
- ttt=ttt.replace('(null)','');
-
- //alert(vobk.Type);
- if (vobk.Type=='1')
- {
- //alert(vobk.Type);
- //doorlist.innerHTML =doorlist.innerHTML+'<div style="margin: 10px 35px 0px -14px;"><button id="doorsin'+i+'" style="line-height:28px;vertical-align: middle; text-align: left;width:80%;border:0px white none;background-color:white;font-family:Roboto_Light;font-size:24px;outline:none;color:#646464;height:28px;" onclick="btnitemback2(\''+i+'\')">'+tttxt+'</button></div><br>';
- //doorlist.innerHTML =doorlist.innerHTML+'<div style="width: 100%;text-align:center"><label style="text-align:left;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);;width: 95%;height: 56px;margin: 5px 0px 10px 0px ;padding: 6px 6px 5px;font-family:Roboto_Light;font-size:16px;color:#000000;background-color: #ffffff;" onclick="btnitemback2(\''+i+'\')">'+vttovt+'<br>'+ttt+'</label></div>';
-
- doorlist.innerHTML =doorlist.innerHTML+'<div style="width: 100%;text-align:center"><label style="text-align:left;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);;width: 95%;height: 56px;margin: 5px 0px 10px 0px ;padding: 6px 6px 5px;font-family:Roboto_Light;font-size:16px;color:#000000;background-color: #ffffff;" onclick="btnitemback2(\''+vobk.IndexID+'\')">'+vttovt+'<br>'+ttt+'</label></div>';
- showkeylistl++;
- }
- if (vobk.Type=='2')
- {
- //alert(vobk.Cycle);
- var vcy = vobk.Cycle.split(',');
- var hpix = 66;
- // var hpix = 66;
-
- var cytxt='';
- let days=[];
-
- if (vcy[0]=='0000000')
- {
- }else
- {
- hpix=hpix+38;
-
- if (vcy[0].substring(0,1)=='1')
- days.push('日');
- if (vcy[0].substring(1,2)=='1')
- days.push('一');
- if (vcy[0].substring(2,3)=='1')
- days.push('二');
- if (vcy[0].substring(3,4)=='1')
- days.push('三');
- if (vcy[0].substring(4,5)=='1')
- days.push('四');
- if (vcy[0].substring(5,6)=='1')
- days.push('五');
- if (vcy[0].substring(6,7)=='1')
- days.push('六');
- vcy[1]=vcy[1].substring(0,2)+':'+vcy[1].substring(2,4);
- vcy[2]=vcy[2].substring(0,2)+':'+vcy[2].substring(2,4);
-
- cytxt=cytxt+'<br>1.'+vcy[1]+'~'+vcy[2]+' '+' '+days.join(',');
- }
-
- days=[];
- if (vcy[3]=='0000000')
- {
- }else
- {
- hpix=hpix+38;
-
- if (vcy[3].substring(0,1)=='1')
- days.push('日');
- if (vcy[3].substring(1,2)=='1')
- days.push('一');
- if (vcy[3].substring(2,3)=='1')
- days.push('二');
- if (vcy[3].substring(3,4)=='1')
- days.push('三');
- if (vcy[3].substring(4,5)=='1')
- days.push('四');
- if (vcy[3].substring(5,6)=='1')
- days.push('五');
- if (vcy[3].substring(6,7)=='1')
- days.push('六');
- vcy[4]=vcy[4].substring(0,2)+':'+vcy[4].substring(2,4);
- vcy[5]=vcy[5].substring(0,2)+':'+vcy[5].substring(2,4);
- cytxt=cytxt+'<br>2.'+vcy[4]+'~'+vcy[5]+' '+' '+days.join(',');
- }
-
- days=[];
- if (vcy[6]=='0000000')
- {
- }else
- {
- hpix=hpix+38;
-
- if (vcy[6].substring(0,1)=='1')
- days.push('日');
- if (vcy[6].substring(1,2)=='1')
- days.push('一');
- if (vcy[6].substring(2,3)=='1')
- days.push('二');
- if (vcy[6].substring(3,4)=='1')
- days.push('三');
- if (vcy[6].substring(4,5)=='1')
- days.push('四');
- if (vcy[6].substring(5,6)=='1')
- days.push('五');
- if (vcy[6].substring(6,7)=='1')
- days.push('六');
- vcy[7]=vcy[7].substring(0,2)+':'+vcy[7].substring(2,4);
- vcy[8]=vcy[8].substring(0,2)+':'+vcy[8].substring(2,4);
- cytxt=cytxt+'<br>3.'+vcy[7]+'~'+vcy[8]+' '+' '+days.join(',');
- }
-
- //doorlist.innerHTML =doorlist.innerHTML+'<div style="width: 100%;text-align:center"><label style="text-align:left;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);;width: 95%;height: '+hpix+'px;margin: 5px 0px 10px 0px ;padding: 6px 6px 5px;font-family:Roboto_Light;font-size:16px;color:#000000;background-color: #ffffff;" onclick="btnitemback2(\''+i+'\')">'+vttovt+'<br>'+ttt+cytxt+'</label></div>';
- doorlist.innerHTML =doorlist.innerHTML+'<div style="width: 100%;text-align:center"><label style="text-align:left;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);;width: 95%;height: '+hpix+'px;margin: 5px 0px 10px 0px ;padding: 6px 6px 5px;font-family:Roboto_Light;font-size:16px;color:#000000;background-color: #ffffff;" onclick="btnitemback2(\''+vobk.IndexID+'\')">'+vttovt+'<br>'+ttt+cytxt+'</label></div>';
- showkeylistl++;
-
- }
-
- }
- }
- // var sevobj = JSON.parse( vobj);
- // alert( sevobj.data);
- var addneworder = document.getElementById("addneworder");
- addneworder.disabled = false;
- if (showkeylistl==0)
- {
- output2.style='';
- }
-
-
- }catch(e)
- {
- alert(e);
- }
- }
- if (vsn=='001')
- {
- try
- {
- isget=true;
- var ress = message;
- isget2=false;
- var vobj = JSON.parse( ress);
- vdata = "{\"encrypt\":\"1\",\"data\":\""+vobj.data+"\"}";
- var payload =vdata;
- message345 = new Paho.MQTT.Message(payload);
- message345.destinationName = SN ;
- message345.qos = 2;
- message345.retained = false;
-
-
-
- var vivi = 0;
- var intervalID = setInterval(() => {
- if (isget2)
- {
- // break;
- }
- else
- {
-
- if (vivi>4)
- {
- clearInterval(intervalID);
- alert('連線異常');
-
- }
- else
- {
- vivi++;
- client.send(message345);
- }
-
- // vii++;
- }
- }, 400);
-
-
-
-
- }catch(e)
- {
- alert(e);
- }
-
- }
- return "Got it"
- }
-
-
- //start
- function selfendecode(message) {
- // updateOutput(message);
-
- var showkeylistl=0;
- if (vsn=='002')
- {
- message = teaDecrypt(message,'75$095huOQ77kKv!');
- //console.log(message);
- var ress = message;
- isget2=true;
- doorlist.innerHTML ='';
- try
- {
- var vobj = JSON.parse(ress);
- // keylist = vobj.data.data;
- keylist = vobj.data;
-
- // alert(keylist.length);
- for (i=0;i<keylist.length;i++)
- {
-
- var vobk=keylist[i];
-
- var vttovt = vobk.TimeStamp;
-
- vttovt=vttovt.replace('_',' ');
- vttovt=vttovt.replace(',','~');
- vttovt=vttovt.replace('_',' ');
-
- var vdddt = vttovt.split('~')[1];
- vdddt=vdddt.replace('/','-');
- vdddt=vdddt.replace('/','-');
- vdddt=vdddt.replace(' ','T');
- vdddt='20'+vdddt+':00'
- //alert(vdddt);
-
- let date1 = new Date();
- //let date2 = new Date(2022, 08, 03, 11, 45, 55);
- //let date2 = new Date( Date.parse(vdddt));
- //let date2 = Date.parse("2019-01-01T12:30:00")
- let date2 = Date.parse(vdddt)
-
- //alert(date1);
- //alert(date2);
- //alert(date1>date2);
- if (date1<date2)
- {
-
- itnos.push(vobk.IndexID);
- var ttt = vobk.Title;
- ttt=ttt.replace('(null)','');
-
- //alert(vobk.Type);
- if (vobk.Type=='1')
- {
- //alert(vobk.Type);
- //doorlist.innerHTML =doorlist.innerHTML+'<div style="margin: 10px 35px 0px -14px;"><button id="doorsin'+i+'" style="line-height:28px;vertical-align: middle; text-align: left;width:80%;border:0px white none;background-color:white;font-family:Roboto_Light;font-size:24px;outline:none;color:#646464;height:28px;" onclick="btnitemback2(\''+i+'\')">'+tttxt+'</button></div><br>';
- //doorlist.innerHTML =doorlist.innerHTML+'<div style="width: 100%;text-align:center"><label style="text-align:left;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);;width: 95%;height: 56px;margin: 5px 0px 10px 0px ;padding: 6px 6px 5px;font-family:Roboto_Light;font-size:16px;color:#000000;background-color: #ffffff;" onclick="btnitemback2(\''+i+'\')">'+vttovt+'<br>'+ttt+'</label></div>';
-
- doorlist.innerHTML =doorlist.innerHTML+'<div style="width: 100%;text-align:center"><label style="text-align:left;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);;width: 95%;height: 56px;margin: 5px 0px 10px 0px ;padding: 6px 6px 5px;font-family:Roboto_Light;font-size:16px;color:#000000;background-color: #ffffff;" onclick="btnitemback2(\''+vobk.IndexID+'\')">'+vttovt+'<br>'+ttt+'</label></div>';
- showkeylistl++;
- }
- if (vobk.Type=='2')
- {
- //alert(vobk.Cycle);
- var vcy = vobk.Cycle.split(',');
- var hpix = 66;
- // var hpix = 66;
-
- var cytxt='';
- let days=[];
-
- if (vcy[0]=='0000000')
- {
- }else
- {
- hpix=hpix+38;
-
- if (vcy[0].substring(0,1)=='1')
- days.push('日');
- if (vcy[0].substring(1,2)=='1')
- days.push('一');
- if (vcy[0].substring(2,3)=='1')
- days.push('二');
- if (vcy[0].substring(3,4)=='1')
- days.push('三');
- if (vcy[0].substring(4,5)=='1')
- days.push('四');
- if (vcy[0].substring(5,6)=='1')
- days.push('五');
- if (vcy[0].substring(6,7)=='1')
- days.push('六');
- vcy[1]=vcy[1].substring(0,2)+':'+vcy[1].substring(2,4);
- vcy[2]=vcy[2].substring(0,2)+':'+vcy[2].substring(2,4);
-
- cytxt=cytxt+'<br>1.'+vcy[1]+'~'+vcy[2]+' '+' '+days.join(',');
- }
-
- days=[];
- if (vcy[3]=='0000000')
- {
- }else
- {
- hpix=hpix+38;
-
- if (vcy[3].substring(0,1)=='1')
- days.push('日');
- if (vcy[3].substring(1,2)=='1')
- days.push('一');
- if (vcy[3].substring(2,3)=='1')
- days.push('二');
- if (vcy[3].substring(3,4)=='1')
- days.push('三');
- if (vcy[3].substring(4,5)=='1')
- days.push('四');
- if (vcy[3].substring(5,6)=='1')
- days.push('五');
- if (vcy[3].substring(6,7)=='1')
- days.push('六');
- vcy[4]=vcy[4].substring(0,2)+':'+vcy[4].substring(2,4);
- vcy[5]=vcy[5].substring(0,2)+':'+vcy[5].substring(2,4);
- cytxt=cytxt+'<br>2.'+vcy[4]+'~'+vcy[5]+' '+' '+days.join(',');
- }
-
- days=[];
- if (vcy[6]=='0000000')
- {
- }else
- {
- hpix=hpix+38;
-
- if (vcy[6].substring(0,1)=='1')
- days.push('日');
- if (vcy[6].substring(1,2)=='1')
- days.push('一');
- if (vcy[6].substring(2,3)=='1')
- days.push('二');
- if (vcy[6].substring(3,4)=='1')
- days.push('三');
- if (vcy[6].substring(4,5)=='1')
- days.push('四');
- if (vcy[6].substring(5,6)=='1')
- days.push('五');
- if (vcy[6].substring(6,7)=='1')
- days.push('六');
- vcy[7]=vcy[7].substring(0,2)+':'+vcy[7].substring(2,4);
- vcy[8]=vcy[8].substring(0,2)+':'+vcy[8].substring(2,4);
- cytxt=cytxt+'<br>3.'+vcy[7]+'~'+vcy[8]+' '+' '+days.join(',');
- }
-
- //doorlist.innerHTML =doorlist.innerHTML+'<div style="width: 100%;text-align:center"><label style="text-align:left;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);;width: 95%;height: '+hpix+'px;margin: 5px 0px 10px 0px ;padding: 6px 6px 5px;font-family:Roboto_Light;font-size:16px;color:#000000;background-color: #ffffff;" onclick="btnitemback2(\''+i+'\')">'+vttovt+'<br>'+ttt+cytxt+'</label></div>';
- doorlist.innerHTML =doorlist.innerHTML+'<div style="width: 100%;text-align:center"><label style="text-align:left;box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);;width: 95%;height: '+hpix+'px;margin: 5px 0px 10px 0px ;padding: 6px 6px 5px;font-family:Roboto_Light;font-size:16px;color:#000000;background-color: #ffffff;" onclick="btnitemback2(\''+vobk.IndexID+'\')">'+vttovt+'<br>'+ttt+cytxt+'</label></div>';
- showkeylistl++;
-
- }
-
- }
- }
- // var sevobj = JSON.parse( vobj);
- // alert( sevobj.data);
- var addneworder = document.getElementById("addneworder");
- addneworder.disabled = false;
- if (showkeylistl==0)
- {
- output2.style='';
- }
-
-
- }catch(e)
- {
- alert(e);
- }
- }
-
- if (vsn=='001')
- {
- try
- {
-
- message = teaEncrypt(message,'75$095huOQ77kKv!');
- isget=true;
- var ress = message;
- isget2=false;
- // var vobj = JSON.parse( ress);
- // vdata = "{\"encrypt\":\"1\",\"data\":\""+vobj.data+"\"}";
- vdata = "{\"encrypt\":\"1\",\"data\":\""+message+"\"}";
- var payload =vdata;
- message345 = new Paho.MQTT.Message(payload);
- message345.destinationName = SN ;
- message345.qos = 2;
- message345.retained = false;
-
-
-
- var vivi = 0;
- var intervalID = setInterval(() => {
- if (isget2)
- {
- // break;
- }
- else
- {
-
- if (vivi>4)
- {
- clearInterval(intervalID);
- alert('連線異常');
-
- }
- else
- {
- vivi++;
- client.send(message345);
- }
-
- // vii++;
- }
- }, 400);
-
-
-
-
- }catch(e)
- {
- alert(e);
- }
-
- }
-
- }
-
- //end
-
- function endode() {
- var text = input.value;
- var jsonString = "{\"action\":\"encode\", \"serial\":\"001\",\"data\":\""+text+"\"}";
-
- updateOutput(jsonString);
- /// "WebToApp". 為我們和前端開發人員的約定
- if (TYPE=='IOS')
- {
- window.webkit.messageHandlers.WebToApp.postMessage(jsonString);
- }
- if (TYPE=='ANDROID')
- {
- webSocket.send(jsonString);
- }
-
- }
-
- function decode() {
- var text = input.value;
- var jsonString = "{\"action\":\"decode\", \"serial\":\"001\",\"data\":\""+text+"\"}";
- updateOutput(jsonString);
- /// "WebToApp". 為我們和前端開發人員的約定
- if (TYPE=='IOS')
- {
- window.webkit.messageHandlers.AppToWeb.postMessage(jsonString);
- }
- if (TYPE=='ANDROID')
- {
- webSocket.send(jsonString);
- }
- }
-
-
-
- function updateOutput(text) {
- output.innerHTML += "<br/>" + text;
- }
-
-
- </script>
-
- <script type="text/javascript">
-
- </script>
- <script>
- var getUrlParameter = function getUrlParameter(sParam) {
- var sPageURL = decodeURIComponent(window.location.search.substring(1)),
- sURLVariables = sPageURL.split('&'),
- sParameterName,
- i;
-
- for (i = 0; i < sURLVariables.length; i++) {
- sParameterName = sURLVariables[i].split('=');
-
- if (sParameterName[0] === sParam) {
- return sParameterName[1] === undefined ? true : sParameterName[1];
- }
- }
- };
-
- Date.prototype.format = function (format) {
- //eg:format="yyyy-MM-dd hh:mm:ss";
-
- if (!format) {
- format = "yyyy-MM-dd hh:mm:ss";
- }
-
- var o = {
- "M+": this.getMonth() + 1, // month
- "d+": this.getDate(), // day
- "H+": this.getHours(), // hour
- "h+": this.getHours(), // hour
- "m+": this.getMinutes(), // minute
- "s+": this.getSeconds(), // second
- "q+": Math.floor((this.getMonth() + 3) / 3), // quarter
- "S": this.getMilliseconds()
- };
-
- if (/(y+)/.test(format)) {
- format = format.replace(RegExp.$1, (this.getFullYear() + "")
- .substr(4 - RegExp.$1.length));
- }
-
- for (var k in o) {
- if (new RegExp("(" + k + ")").test(format)) {
- format = format.replace(RegExp.$1, RegExp.$1.length == 1
- ? o[k]
- : ("00" + o[k]).substr(("" + o[k]).length));
- }
- }
-
- return format;
- };
- </script>
- <br>
- </body>
-
- </html>
|