<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{{ title }}</title> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- <meta http-equiv="refresh" content="60" /> 每 content 秒網頁自動更新--> <!-- 新 Bootstrap4 核心 CSS 文件 --> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.1.0/css/bootstrap.min.css"> <!-- jQuery文件。务必在bootstrap.min.js 之前引入 --> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <!-- popper.min.js 用于弹窗、提示、下拉菜单 --> <script src="https://cdn.bootcss.com/popper.js/1.12.5/umd/popper.min.js"></script> <!-- 最新的 Bootstrap4 核心 JavaScript 文件 --> <script src="https://cdn.bootcss.com/bootstrap/4.1.0/js/bootstrap.min.js"></script> <!--可用來建立使用者小圖示--> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <!-- Rita 乾燥貨櫃 - 入料、桶槽、出料制動器 function--> <script type="text/javascript" src="../static/js/dry_function.js"></script> <script language="JavaScript"> // 指定 秒 刷新網頁一次 var tid = '{{tid}}'; console.log('tid:' + tid) $(function(){ $("#ctrl_DI_Vacuum_title").text('乾燥入料儲豆槽 DI' + tid + ' 真空吸料機') $("#dry_input_page").text('乾燥入料儲豆槽 DI' + tid + ' 操作介面 ') $('#dry_input_page').attr("href", "/dry_container_input/" + tid) $("#coffee_title").text('DI' + tid + ' 乾燥入料儲豆槽_真空吸料機'); }); //WebUpdate_set = setInterval(function(){WebUpdate(dtn)} , 10 * 1000) </script> <style> .footer{ position: absolute; width: 100%; background-color: #eee; text-align: center; } body { margin: 0; } .navbar-dark .navbar-nav .nav-link { color: white; cursor: pointer; text-decoration: none; width: 110px; height: 46px; } .nav-top { line-height: 40px; background-color: #C4C4C4; } .website_title { font-family: Roboto; font-style: normal; font-weight: normal; font-size: 30px; color: #000000; } .navbar-nav>li { float: none; display: inline-block; width: 100px; margin: 0 auto; text-align: center; } .navbar-nav>li a { font-size: 20px; } .main-page { margin-top: 200px; } .page-title { font-family: Roboto; font-style: normal; font-weight: bold; font-size: 36px; } .flex { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; } .set-link { display: inline-block; width: 350px; height: 100px; line-height: 100px; background: #008CBA; border: 1px solid #CFCFCF; box-sizing: border-box; color: #FFFFFF; border-radius: 10px; font-size: 36px; } .cmn-toggle { position: absolute; margin-left: 0px; visibility: hidden; } .cmn-toggle+label { display: block; position: relative; cursor: pointer; outline: none; user-select: none; } input.cmn-toggle-round-flat+label { padding: 2px; width: 60px; height: 30px; background-color: #C0C0C0; border-radius: 60px; transition: background 0.4s; } input.cmn-toggle-round-flat+label:before, input.cmn-toggle-round-flat+label:after { display: block; position: absolute; content: ""; } input.cmn-toggle-round-flat+label:before { top: 2px; left: 2px; bottom: 2px; right: 2px; background-color: #fff; border-radius: 60px; transition: background 0.4s; } input.cmn-toggle-round-flat+label:after { top: 4px; left: 4px; bottom: 4px; width: 24px; background-color: #dddddd; border-radius: 52px; transition: margin 0.4s, background 0.4s; } input.cmn-toggle-round-flat:checked+label { background-color: #C0C0C0; } input.cmn-toggle-round-flat:checked+label:after { margin-left: 27px; background-color: #008CBA; } @media(max-width:373px) { .card { margin-right: 0px; } .set-link { width: 250px; } } @media(max-width:577px) {} @media(min-width:576px) {} @media(min-width:768px) { .navbar-nav>li { margin-left: 0px; } .navbar-nav .li-block { display: none; } } @media(min-width:991px) { .navbar-nav>li { margin-left: 20px; } .navbar-nav .li-block { display: none; } } @media(min-width:1200px) { .navbar-nav>li { margin-left: 50px; } .navbar-nav .li-block { display: inline-block; width: 100px; } } @media(min-width:1400px) { .navbar-nav .li-block { display: inline-block; width: 200px; } } @media(min-width:1689px) { .navbar-nav>li { margin-left: 50px; } .navbar-nav .li-block { display: inline-block; width: 500px; } } </style> <script> // Rita 制動器運作 var tank_num = '{{tid}}'; </script> </head> <body> <div id="wrapper"> <div id="coffee_header"> <!-- 匯入共同使用的 header.html 內容 --> {% include 'header.html' %} </div> <!-- <div style="text-align: left;"> <a href="/dry" style="float: left;"> 返回乾燥貨櫃首頁</a> </div> <div style="text-align: right;"> <a id="dry_input_page" href="/index_new" style="float: right;">___________________</a> </div> <div id="ctrl_DI_Vacuum_title" style="text-align: center; margin-top: 30px; font-size: 24px; margin-bottom: 15px;"> 乾燥入料儲豆槽 DI_ 真空吸料機 </div> --> <table border="1" style="margin: auto; font-size:18px; border:2px #cccccc solid;" width=700px cellpadding="8"> <tr> <!-- <td rowspan="3"> 手動控制 </td> --> <td> 真空吸料機 狀態 </td> <td> {% if input_vacuum == 1 %} <span style="color:#008CBA; font-size:18px;"><strong>ON</strong></span> {% elif input_vacuum == 0 %} <span style="color:#acacac; font-size:18px;"><strong>OFF</strong></span> {% else %} <span style="color: #fc7373;; font-size:18px;">ERROR</span> {% endif %} </td> </tr> <tr> <td>開啟 真空吸料機</td> <td><input type="button" value="ON" onclick="inputVacuum_ON()"></td> </tr> <tr> <td>關閉 真空吸料機</td> <td><input type="button" value="OFF" onclick="inputVacuum_OFF()"></td> </tr> </table> <br> <table border="1" style="margin: auto; font-size:18px; border:2px #cccccc solid;" width=700px cellpadding="8"> <tr> <td colspan="4"> [入料儲豆槽] 生豆高度:<span id="UltraSonic_t_status">{{UltraSonic}}</span> 公分<br> </td> </tr> <tr> <!-- <td rowspan="2"> 排程控制 </td> --> <td> 指定高度入料 </td> <td> 儲豆槽內生豆入料高度 <input name="testing_BeanIn_Height" type="text" value="0" style="width: 40px;"> 公分<br> 吸料時間 <input name="testing_in_vacuum_in" type="text" value="1" style="width: 40px;"> 秒<br> 放料時間 <input name="testing_in_vacuum_out" type="text" value="10" style="width: 40px;"> 秒<br> <span id="testing_in_vacuum_loop" style="color: #f00;"></span> </td> <td> <button type="submit" class="btn btn-primary" onclick="BeanInput()">指定高度入料</button> <script> var BeanIn_Process = 0; var BeanIn_interval; function BeanInput() { // clearInterval(WebUpdate_set); var testing_BeanIn_Height = $("input[name=testing_BeanIn_Height]").val(); var testing_in_vacuum_in = $("input[name=testing_in_vacuum_in]").val(); var testing_in_vacuum_out = $("input[name=testing_in_vacuum_out]").val(); if (testing_BeanIn_Height != 0) { console.log('以指定高度 ' + testing_BeanIn_Height + ' 入豆') var BeanIn_interval = setInterval(BeanInHeight, 5000); function BeanInHeight(){ if (BeanIn_Process == 1) { return; } BeanIn_Process == 1; $.ajax({ async:false, type:"GET", url:"/dry_input_UltraSonic_" + tank_num, dataType:"json", success:function(response){ var present_Bean_height = response.UltraSonic $('#UltraSonic_t_status').text(present_Bean_height) console.log('目前生豆高度: ' + present_Bean_height) if ( parseInt(present_Bean_height) < parseInt(testing_BeanIn_Height) ) { if (testing_in_vacuum_in == 1) { step = (parseInt(testing_BeanIn_Height) - parseInt(present_Bean_height)) * 871.2 / 100 } else if (testing_in_vacuum_in > 1) { step = (parseInt(testing_BeanIn_Height) - parseInt(present_Bean_height)) * 871.2 / (220 * testing_in_vacuum_in) } else { step = '請輸入 1 以上的正整數' } if (( 2 < testing_in_vacuum_in && testing_in_vacuum_in <= 3 && step < 1 ) || ( 3 < testing_in_vacuum_in && testing_in_vacuum_in <= 7 && step < 2 ) || ( 7 < testing_in_vacuum_in && testing_in_vacuum_in <=10 && step < 3 )) { $('#testing_in_vacuum_loop').text('改以小量吸料時間入料') // break 適用在 for、while 的迴圈中, 若不是迴圈則使用 return // return // aaa tankVacuum_ON() console.log('tankVacuum_ON') var time = new Date(); while ((new Date() - time) < 2 * 1000) { }; // aaa tankVacuum_OFF() console.log('tankVacuum_OFF') var time = new Date(); while ((new Date() - time) < 2 * 1000) { }; $('#testing_in_vacuum_loop').text('改以小量吸料時間入料') } else { $('#testing_in_vacuum_loop').text('預估循環 ' + Math.ceil(step) + ' 次完成入料') // aaa inputVacuum_ON() console.log('inputVacuum_ON') var time = new Date(); while ((new Date() - time) < testing_in_vacuum_in * 1000) { }; // aaa inputVacuum_OFF() console.log('inputVacuum_OFF') var time = new Date(); while ((new Date() - time) < testing_in_vacuum_out * 1000) { }; } } else { clearInterval(BeanIn_interval) console.log('生豆已達指定高度!') $('#testing_in_vacuum_loop').text('入料完成') } BeanIn_Process == 0; }, error:function(thrownError){ console.log('Error: ' + thrownError) BeanIn_Process = 0; } }) }; } else if (testing_BeanIn_Height == 0) { console.log('請輸入大於 0 的數值') } // WebUpdate_set = setInterval(function(){WebUpdate(dtn)} , 10 * 1000); } </script> </td> </tr> <tr> <td>循環入料</td> <td> 吸料時間 <input name="Testing_starttime" value="3" type="text" style="width: 40px;"> 秒<br> 放料時間 <input name="Testing_endtime" value="5" type="text" style="width: 40px;"> 秒<br> 循環 <input name="Testing_loop" value="3" type="text" style="width: 40px;"> 次 </td> <td> <button type="submit" class="btn btn-primary" onclick="inputVacuumTest()">循環入料</button><br> <script> function inputVacuumTest() { // clearInterval(WebUpdate_set); var Testing_starttime = $("input[name=Testing_starttime]").val(); var Testing_endtime = $("input[name=Testing_endtime]").val(); var Testing_loop = $("input[name=Testing_loop]").val(); var step; for (step = 1; step <= Testing_loop; step++) { console.log('循環第 ' + step + ' 次'); inputVacuum_ON() console.log('inputVacuum_ON') var time = new Date(); while ((new Date() - time) < Testing_starttime * 1000) { } inputVacuum_OFF() console.log('inputVacuum_OFF') var time = new Date(); while ((new Date() - time) < Testing_endtime * 1000) { } } // WebUpdate_set = setInterval(function(){WebUpdate(dtn)} , 10 * 1000); } </script> </td> </tr> </table> <br> <div style="text-align: center;"> 狀態更新時間(秒): <input name="webupdate_time" type="text" value="5" style="width: 40px;"> <input type="button" value="設定更新時間" onclick="changeUpdate()"> </div> <script language="JavaScript"> function changeUpdate() { // clearInterval(WebUpdate_set); var webupdate_time = $("input[name=webupdate_time]").val() console.log('webupdate_time' + webupdate_time) WebUpdate_set = setInterval(function(){WebUpdate(dtn)} , webupdate_time * 1000); } // jQuery 更新感測器制動器狀態 function WebUpdate(dtn) { $.get('/loading/DI' + dtn, '', function (res) { if (res.input_vacuum == 0) { $("#cmn-toggle-02").prop('checked', false); } else if (res.input_vacuum == 1) { $("#cmn-toggle-02").prop('checked', true); } }, 'json'); } </script> <br> <!-- <footer class="footer"> <div style="text-align: center; margin-top: 10px; font-size: 13px; margin-bottom: 10px;"> Copyright © 2021 Gold-in Tech. All Rights Reserved. 金子進科技股份有限公司 版權所有 <a href="mailto:service.gitc@gmail.com" target="_blank">service.gitc@gmail.com</a> </div> </footer> --> <div id="coffee_footer"> <!-- 匯入共同使用的 footer.html 內容 --> {% include 'footer.html' %} </div> </div> </body> </html>