templates/stock.html.twig line 1

Open in your IDE?
  1. {% set sub_title = "メニュー" %}
  2. {% extends 'inc/layout.html.twig' %}
  3. {% block header %}
  4. <section class="fixedHeader">
  5.   <header class="header" role="banner">
  6.     <div class="header-block">
  7.       <h1 class="header-title"><img src="img/icon/boxes.png" alt="">生産実績管理</h1>
  8.       <div class="header-refine">
  9.         <div class="header-refine-ctrl">
  10.           <input type="text" name="today" value="{{ today }}" class="header-refine-input" readonly>
  11.         <!--
  12.           検証用に日付の設定をできるようにしてある
  13.           <div class="js-flatpickr">
  14.             <div class="header-refine-ctrl">
  15.             <form action="" method="post">
  16.               <input type="text" name="today" value="{{ today }}" class="header-refine-input -changeable" readonly data-input onchange="this.form.submit()">
  17.             </form>
  18.             </div>
  19.           </div>
  20.         -->
  21.         </div>
  22.       </div>
  23.       <!--
  24.       &nbsp;&nbsp;※検証用に日付を設定できるようにしてあります。
  25.       -->
  26.     </div>
  27.     <div class="header-sub">
  28.       <p class="header-back"><a href="./">ダッシュボードへ</a></p>
  29.     </div>
  30.   </header>
  31.   <section class="upperSection">
  32.     <form method="post" id="search-form">
  33.       <input type="hidden" name="search_machine" value="" >
  34.       <input type="hidden" name="today" value="{{ today }}" >
  35.     </form>
  36.     <ul class="upperSection-link">
  37.     {% for machien_id, machine in machine_list %}
  38.       <li><a href="#" {% if machine == search.machine %}class="is-active"{% endif %} data-machine="{{ machine }}" data-machine-id="{{ machien_id }}">{{ machine }}</a></li>
  39.     {% endfor %}
  40.     </ul>
  41.   </section>
  42. </section>
  43. {% endblock %}
  44. {% block main %}
  45. <main class="contents" role="main">
  46.   <section class="stock">
  47.     <div class="stock-header">
  48.       <div class="stock-header-separate">
  49.         <h2 class="stock-header-title"><span class="line-name"></span> 完成数量</h2>
  50.         <textarea name="memo" placeholder="仕掛りなどのメモを入力してください" class="stock-memo-text"></textarea>
  51.         <button type="button" class="stock-memo-save-btn">保存</button>
  52.       </div>
  53.     </div>
  54.     <div style="text-align: right; padding: 0 5px 5px 0">
  55.     <button type="button" class="btn-show-log">ログ</button>
  56.     </div>
  57.     <div  style="overflow: auto; height: calc(100svh - 240px)">
  58.     <table width="100%" border="0" cellspacing="0" cellpadding="0" class="stock-table">
  59.       <thead>
  60.         <tr>
  61.           <th class="-name">商品名</th>
  62.           <th class="-make"><span class="line-name"></span><br>手配数</th>
  63.           <th class="-num">No</th>
  64.           <th class="-complete">完成数量</th>
  65.           <th class="-completenum">完成No.</th>
  66.           <th class="-operation">操作</th>
  67.           <th class="-operation">検査者</th>
  68.         </tr>
  69.       </thead>
  70.       <tbody data-moc='
  71.         <tr>
  72.           <th class="-name">__item_name__</th>
  73.           <td class="-make">__qty__</td>
  74.           <td class="-num">__no__</td>
  75.           <td class="-complete">
  76.             <div class="stock-ctrl">
  77.               <button type="button" class="stock-ctrl-autoBtn js-sampleBtn01" data-qty="__qty__"><img src="img/icon/check_bl.png" alt="自動入力"></button>
  78.               <div class="stock-ctrl-box">
  79.                 <input type="tel" name="qty" class="stock-ctrl-input -full js-sampleInput01">
  80.               </div>
  81.             </div>
  82.           </td>
  83.           <td class="-completenum">
  84.             <div class="stock-ctrl">
  85.               <button type="button" class="stock-ctrl-autoBtn js-sampleBtn02" data-no="__no__"><img src="img/icon/check_bl.png" alt="自動入力"></button>
  86.               <div class="stock-ctrl-box">
  87.                 <input type="tel" name="no_start" class="stock-ctrl-input -small js-sampleInput02_1">
  88.                 <div class="stock-ctrl-kara">~</div>
  89.                 <input type="tel" name="no_end" class="stock-ctrl-input -small js-sampleInput02_2">
  90.               </div>
  91.             </div>
  92.           </td>
  93.           <td class="-operation">
  94.             <button type="button" class="stock-table-btn" data-date="__date__" data-key="__key__">確定</button>
  95.           </td>
  96.           <td>
  97.           <select class="stock-userSelect" name="">
  98.             <option value="">▼検査者を選択</option>
  99.             {% for name in staff %}
  100.             <option value="{{ name }}">{{ name }}</option>
  101.             {% endfor %}
  102.           </select>
  103.           </td>
  104.         </tr>
  105.       '>
  106.       </tbody>
  107.     </table>
  108.     </div>
  109.   </section>
  110.   <section class="remodal" data-remodal-id="modal-operation" id="modal-confirm">
  111.     <section class="modalSection">
  112.       <h3 class="modalSection-heading">在庫数操作</h3>
  113.       <div class="modalSection-block">
  114.         <h4 class="modalSection-title"><span class="item_name"></span></h4>
  115.         <div class="modalSection-data">
  116.           <dl class="modalSection-data-item">
  117.             <dt>完成数量</dt>
  118.             <dd><span class="qty"></span></dd>
  119.           </dl>
  120.           <dl class="modalSection-data-item">
  121.             <dt>完成No.</dt>
  122.             <dd><span class="no"></span></dd>
  123.           </dl>
  124.         </div>
  125.       </div>
  126.       <div class="modalSection-links">
  127.         <div class="modalSection-links-small"><button type="button" class="modalSection-submit-btn -cancel" data-remodal-action="close"><span>キャンセル</span></button></div>
  128.         <div class="modalSection-links-large"><button type="button" class="modalSection-submit-btn btn-exec" data-remodal-action="close" data-key="" data-date=""><span>実行</span></button></div>
  129.       </div>
  130.     </section>
  131.     <button data-remodal-action="close" class="remodal-close">閉じる</button>
  132.   </section>
  133.   <section class="remodal" data-remodal-id="modal-stock-log" id="modal-stock-log">
  134.     <section class="modalSection">
  135.       <h3 class="modalSection-heading log-title"></h3>
  136.       <div class="modalSection-block">
  137.         <table class="stock-log-table">
  138.           <thead>
  139.           <tr>
  140.             <th>時間</th><th>商品名</th><th>完成数量</th><th>完成No.</th><th>手配数</th><th>合計完了数</th><th>検査者</th>
  141.           </tr>
  142.           </thead>
  143.           <tbody data-moc='<tr>
  144.             <td>__time__</td>
  145.             <td>__item_name__</td>
  146.             <td>__qty__</td>
  147.             <td>__no__</td>
  148.             <td>__num__</td>
  149.             <td>__complete_num__</td>
  150.             <td>__staff__</td>
  151.           </tr>'>
  152.           </tbody>
  153.         </table>
  154.       </div>
  155.     </section>
  156.     <button data-remodal-action="close" class="remodal-close">閉じる</button>
  157.   </section>
  158. </main>
  159. {% endblock %}
  160. {# スタイルシートの設定 #}
  161. {% block stylesheet %}
  162. <link rel="stylesheet" href="common/css/reset.css">
  163. <link rel="stylesheet" href="common/css/common.css?v=1.01">
  164. <link rel="stylesheet" href="common/css/contents.css?v=1.01">
  165. <link rel="stylesheet" href="common/css/remodal.css">
  166. <link rel="stylesheet" href="common/css/flatpickr.min.css">
  167. <style>
  168. .stock-table tbody .-date{
  169.   background: #f7f7f7;
  170.   font-size: 15px;
  171.   font-weight: 600;
  172. }
  173. </style>
  174. {% endblock %}
  175. {# JavaScriptの設定 #}
  176. {% block javascript %}
  177. <script src="common/js/jquery.js"></script>
  178. <script src="common/js/common.js"></script>
  179. <script src="common/js/utility.js"></script>
  180. <script src="common/js/remodal.js"></script>
  181. <script src="common/js/flatpickr.js"></script>
  182. <script>
  183. $(function(){
  184.     $('body').on('click', '.js-itemRadio', function () {
  185.       $('label').removeClass('is-active');
  186.       $(this).parents('label').addClass('is-active');
  187.     });
  188.     const config = {
  189.       enableTime: false,
  190.       // mode: "range",
  191.       showMonths: 2,
  192.       // minDate: "today",
  193.       wrap: true,
  194.       locale: "ja",
  195.       dateFormat: "Y-m-d",
  196.     }
  197.     flatpickr('.js-flatpickr', config);
  198. });
  199. //手配処した情報を送る先のURL
  200. const edit_url = '{{ url('set_stock') }}';
  201. // 商品データをjsonでセットしておく
  202. const item_list = JSON.parse('{{ json_items|raw }}');
  203. // メモを保存するURL
  204. const set_memo_url = '{{ url('stock_set_memo') }}';
  205. // メモのデータをjsonでセットしておく
  206. let memo_list = JSON.parse('{{ json_memo|raw }}');
  207. // ログのデータをjsonでセットしておく
  208. let log_list = JSON.parse('{{ json_log|raw }}');
  209. // 手配済みリストをjsonでセットしておく
  210. {% if json_arrangement %}
  211. let arrangement_list = JSON.parse('{{ json_arrangement|raw }}');
  212. {% else %}
  213. let arrangement_list = {};
  214. {% endif %}
  215. </script>
  216. <script src="common/js/page_stock.js?v=1.01"></script>
  217. {% endblock %}