Bladeren bron

上傳檔案到 'Rita/ERP_Rita/templates'

rita 3 jaren geleden
bovenliggende
commit
b0d71de533
3 gewijzigde bestanden met toevoegingen van 1480 en 1139 verwijderingen
  1. 687 518
      Rita/ERP_Rita/templates/create_BOM.html
  2. 253 247
      Rita/ERP_Rita/templates/create_component_table_item.html
  3. 540 374
      Rita/ERP_Rita/templates/search.html

File diff suppressed because it is too large
+ 687 - 518
Rita/ERP_Rita/templates/create_BOM.html


+ 253 - 247
Rita/ERP_Rita/templates/create_component_table_item.html

@@ -1,248 +1,254 @@
-<!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">
-
-    <!-- 新 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">
-</head>
-
-<body>
-    <!-- 這裡新增零件表中的零件 -->
-    請依序輸入以下欄位, 再按下 "新增零件" 按鈕:<br>
-    會計科目:
-    <select id="accountingsubjects" onChange="">
-        <option value="00"></option>
-        {% for data in AccountingSubjects_data %}
-            <option value="{{data[0]}}">{{data[0]}}-{{data[1]}}</option>
-        {% endfor %}
-    </select>
-    類別:
-    <select id="category" onChange="renewSN();">
-        <option value="00"></option>
-        {% for data in Category_data %}
-            <option value="{{data[0]}}">{{data[0]}}-{{data[1]}}</option>
-        {% endfor %}
-    </select>
-    流水號:
-    <input id="serialnumber" value="—" style="height: 25px; width: 45px;" readonly>
-    供應商:
-    <select id="supplier" onChange="">
-        <option value="00"></option>
-        {% for data in Supplier_data %}
-            <option value="{{data[0]}}">{{data[0]}}-{{data[1]}}</option>
-        {% endfor %}
-    </select>
-    零件名稱:
-    <input list="conponents" id="component_name_select">
-    <datalist id="conponents">
-        <option value=""></option>
-        {% for data in Component_data %}
-            <option value="{{data[0]}}">{{data[0]}}</option>
-        {% endfor %}
-    </datalist>
-    <br>
-    
-    <input type="button" id="create_component" value="新增零件" onclick="create_component();">
-
-    <div id="result">
-        <!-- <table>
-        </table> -->
-    </div>
-
-    <script>
-        // 輸入完類別後, 流水號自動帶入
-        function renewSN() {
-            var accountingsubjects_select = $("#accountingsubjects").val();
-            var category_select = $("#category").val();
-            $.get('/sn_get/' + accountingsubjects_select + '/' + category_select, '', function (res) {
-                // console.log(res.new_sn)
-                $('#serialnumber').val(res.new_sn)
-            }, 'json');
-        }
-
-        // 零件表 新增零件
-        function create_component() {
-            // 會計科目
-            var accountingsubjects_select = $("#accountingsubjects").val();
-            // 類別
-            var category_select = $("#category").val();
-            // 流水號 → 從資料庫找到最大的流水號, 然後 +1
-            var serialnumber_select = $("#serialnumber").val();
-            // 放到 renewSN 方法內執行
-            // 供應商
-            var supplier_select = $("#supplier").val();
-            // 零件名稱
-            var component_name_select = $("#component_name_select").val();
-            // 內部料號組合
-            var company_id = accountingsubjects_select + category_select + serialnumber_select + supplier_select;
-            var AND_list = [];
-            // console.log(accountingsubjects_select, category_select, serialnumber_select, supplier_select, component_name_select)
-
-            var sql = '';
-            sql += 'INSERT INTO 零件表 ' +
-                   'VALUES ("' + company_id + '", "' + accountingsubjects_select + '", "' + category_select + '", "' + serialnumber_select + '", "';
-            sql += supplier_select + '", "' + component_name_select + '");';
-            console.log("sql: " + sql)
-
-            var sql_data = {
-                "sql":sql
-            };
-
-            $.ajax({
-                type:"GET",
-                url:"/sql_get",
-                dataType:"JSON",
-                data:sql_data,
-                success:function (res) {
-                    data = '-- 新增成功! --'
-                    var sectorSelect = document.getElementById("result");
-                    sectorSelect.innerHTML = data;
-                },
-                error: function (thrownError) {
-                    if (thrownError.statusText == "INTERNAL SERVER ERROR") {
-                        alert("內部料號 " + company_id + " 已存在, 請重新輸入")
-                    }
-                }
-
-            })
-
-            // $.get('/sql_get', sql_data, function (res) {
-            //     // console.log("res: " + res)
-            //     // console.log("res.labels:" + res.labels)
-            //     // console.log("res.labels[0]:" + res.labels[0])
-            //     // console.log("res.labels[0][0]:" + res.labels[0][0])
-            //     // console.log("res.sql_field:" + res.sql_field)
-            //     // console.log("res.sql_field[0]:" + res.sql_field[0])
-                
-            // }, 'json');
-            
-        }
-        
-    </script>
-
-
-
-
-    <hr>
-    <!-- 這裡新增零件表中的 會計科目 -->
-    請輸入欲新增的會計科目名稱, 再按下 "新增會計科目項目" 按鈕:<br>
-    <input id="create_accountingsubject_id" value="{{new_as_sn}}" style="height: 25px; width: 45px;" readonly>
-    <input id="create_accountingsubject_name" value="" style="height: 25px;">
-    <input type="button" id="create_accountingsubject" value="新增會計科目項目" onclick="create_accountingsubject();">
-    <script>
-        function create_accountingsubject() {
-            var as_id = $("#create_accountingsubject_id").val();
-            var as_name = $("#create_accountingsubject_name").val();
-            var sql = '';
-            sql += 'INSERT INTO 會計科目表 ' +
-                   'VALUES ("' + as_id + '", "' + as_name + '");';
-            // console.log("sql: " + sql)
-
-            var sql_data = { "sql":sql };
-
-            $.ajax({
-                type:"GET",
-                url:"/sql_get",
-                dataType:"JSON",
-                data:sql_data,
-                success:function (res) {
-                    alert('新增 會計科目 成功')
-                },
-                error: function (thrownError) {
-                    if (thrownError.statusText == "INTERNAL SERVER ERROR") {
-                        alert("會計科目 " + as_id + " 已存在, 請重新輸入")
-                    }
-                }
-
-            })
-        }
-    </script>
-
-
-
-
-    <hr>
-    <!-- 這裡新增零件表中的 類別 -->
-    請輸入欲新增的類別名稱, 再按下 "新增類別項目" 按鈕:<br>
-    <input id="create_category_id" value="{{new_ca_sn}}" style="height: 25px; width: 45px;" readonly>
-    <input id="create_category_name" value="" style="height: 25px;">
-    <input type="button" id="create_category" value="新增類別項目" onclick="create_category();">
-    <script>
-        function create_category() {
-            var ca_id = $("#create_category_id").val();
-            var ca_name = $("#create_category_name").val();
-            var sql = '';
-            sql += 'INSERT INTO 類別表 ' +
-                   'VALUES ("' + ca_id + '", "' + ca_name + '");';
-            var sql_data = { "sql":sql };
-
-            $.ajax({
-                type:"GET",
-                url:"/sql_get",
-                dataType:"JSON",
-                data:sql_data,
-                success:function (res) {
-                    alert('新增 類別 成功')
-                },
-                error: function (thrownError) {
-                    if (thrownError.statusText == "INTERNAL SERVER ERROR") {
-                        alert("類別 " + ca_id + " 已存在, 請重新輸入")
-                    }
-                }
-
-            })
-        }
-    </script>
-
-
-
-
-
-    <hr>
-    <!-- 這裡新增零件表中的 供應商 -->
-    請輸入欲新增的供應商名稱, 再按下 "新增供應商" 按鈕: (其他資料先以 NULL 存入)<br>
-    <input id="create_supplier_id" value="{{new_su_sn}}" style="height: 25px; width: 45px;" readonly>
-    <input id="create_supplier_name" value="" style="height: 25px;">
-    <input type="button" id="create_supplier" value="新增供應商項目" onclick="create_supplier();">
-    <script>
-        function create_supplier() {
-            var su_id = $("#create_supplier_id").val();
-            var su_name = $("#create_supplier_name").val();
-            var sql = '';
-            sql += 'INSERT INTO 供應商 (`供應商`, `公司`) ' +
-                   'VALUES ("' + su_id + '", "' + su_name + '");';
-            console.log("sql:", sql)
-            var sql_data = { "sql":sql };
-
-            $.ajax({
-                type:"GET",
-                url:"/sql_get",
-                dataType:"JSON",
-                data:sql_data,
-                success:function (res) {
-                    alert('新增 供應商 成功')
-                },
-                error: function (thrownError) {
-                    if (thrownError.statusText == "INTERNAL SERVER ERROR") {
-                        alert("供應商 " + su_id + " 已存在, 請重新輸入")
-                    }
-                }
-
-            })
-        }
-    </script>
-</body>
-
+<!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">
+
+    <!-- 新 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">
+</head>
+
+<body>
+    <!-- 這裡新增零件表中的零件 -->
+    請依序輸入以下欄位, 再按下 "新增零件" 按鈕:<br>
+    會計科目:
+    <select id="accountingsubjects" onChange="">
+        <option value="00"></option>
+        {% for data in AccountingSubjects_data %}
+            <option value="{{data[0]}}">{{data[0]}}-{{data[1]}}</option>
+        {% endfor %}
+    </select>
+    類別:
+    <select id="category" onChange="renewSN();">
+        <option value="00"></option>
+        {% for data in Category_data %}
+            <option value="{{data[0]}}">{{data[0]}}-{{data[1]}}</option>
+        {% endfor %}
+    </select>
+    流水號:
+    <input id="serialnumber" value="—" style="height: 25px; width: 45px;" readonly>
+    供應商:
+    <select id="supplier" onChange="">
+        <option value="00"></option>
+        {% for data in Supplier_data %}
+            <option value="{{data[0]}}">{{data[0]}}-{{data[1]}}</option>
+        {% endfor %}
+    </select>
+    零件名稱:
+    <input list="conponents" id="component_name_select">
+    <datalist id="conponents">
+        <option value=""></option>
+        {% for data in Component_data %}
+            <option value="{{data[0]}}">{{data[0]}}</option>
+        {% endfor %}
+    </datalist>
+    <br>
+    
+    <input type="button" id="create_component" value="新增零件" onclick="create_component();">
+
+    <div id="result">
+        <!-- <table>
+        </table> -->
+    </div>
+
+    <script>
+        // 輸入完類別後, 流水號自動帶入
+        function renewSN() {
+            var accountingsubjects_select = $("#accountingsubjects").val();
+            var category_select = $("#category").val();
+            $.get('/sn_get/' + accountingsubjects_select + '/' + category_select, '', function (res) {
+                // console.log(res.new_sn)
+                $('#serialnumber').val(res.new_sn)
+            }, 'json');
+        }
+
+        // 零件表 新增零件
+        function create_component() {
+            // 會計科目
+            var accountingsubjects_select = $("#accountingsubjects").val();
+            // 類別
+            var category_select = $("#category").val();
+            // 流水號 → 從資料庫找到最大的流水號, 然後 +1
+            var serialnumber_select = $("#serialnumber").val();
+            // 放到 renewSN 方法內執行
+            // 供應商
+            var supplier_select = $("#supplier").val();
+            // 零件名稱
+            var component_name_select = $("#component_name_select").val();
+            // 內部料號組合
+            var company_id = accountingsubjects_select + category_select + serialnumber_select + supplier_select;
+            var AND_list = [];
+            // console.log(accountingsubjects_select, category_select, serialnumber_select, supplier_select, component_name_select)
+
+            var sql = '';
+            sql += 'INSERT INTO 零件表 ' +
+                   'VALUES ("' + company_id + '", "' + accountingsubjects_select + '", "' + category_select + '", "' + serialnumber_select + '", "';
+            sql += supplier_select + '", "' + component_name_select + '");';
+            console.log("sql: " + sql)
+
+            var sql_data = { "sql":sql };
+
+            $.ajax({
+                type:"GET",
+                url:"/sql_get",
+                dataType:"JSON",
+                data:sql_data,
+                success:function (res) {
+                    alert("零件表: 零件新增成功!")
+                },
+                error: function (thrownError) {
+                    if (thrownError.statusText == "INTERNAL SERVER ERROR") {
+                        alert("零件表: 內部料號 " + company_id + " 已存在, 請重新輸入")
+                    }
+                }
+
+            })
+
+            var sql = 'INSERT INTO 規格表 (`內部料號`, `名稱`) VALUES ("' + company_id + '", "' + component_name_select + '");';
+
+            var sql_data = { "sql":sql };
+
+            $.ajax({
+                type:"GET",
+                url:"/sql_get",
+                dataType:"JSON",
+                data:sql_data,
+                success:function (res) {
+                    alert("規格表: 零件新增成功!")
+                },
+                error: function (thrownError) {
+                    if (thrownError.statusText == "INTERNAL SERVER ERROR") {
+                        alert("規格表: 內部料號 " + company_id + " 已存在, 請重新輸入")
+                    }
+                }
+
+            })
+            
+        }
+        
+    </script>
+
+
+
+
+    <hr>
+    <!-- 這裡新增零件表中的 會計科目 -->
+    請輸入欲新增的會計科目名稱, 再按下 "新增會計科目項目" 按鈕:<br>
+    <input id="create_accountingsubject_id" value="{{new_as_sn}}" style="height: 25px; width: 45px;" readonly>
+    <input id="create_accountingsubject_name" value="" style="height: 25px;">
+    <input type="button" id="create_accountingsubject" value="新增會計科目項目" onclick="create_accountingsubject();">
+    <script>
+        function create_accountingsubject() {
+            var as_id = $("#create_accountingsubject_id").val();
+            var as_name = $("#create_accountingsubject_name").val();
+            var sql = '';
+            sql += 'INSERT INTO 會計科目表 ' +
+                   'VALUES ("' + as_id + '", "' + as_name + '");';
+            // console.log("sql: " + sql)
+
+            var sql_data = { "sql":sql };
+
+            $.ajax({
+                type:"GET",
+                url:"/sql_get",
+                dataType:"JSON",
+                data:sql_data,
+                success:function (res) {
+                    alert('新增 會計科目 成功')
+                },
+                error: function (thrownError) {
+                    if (thrownError.statusText == "INTERNAL SERVER ERROR") {
+                        alert("會計科目 " + as_id + " 已存在, 請重新輸入")
+                    }
+                }
+
+            })
+        }
+    </script>
+
+
+
+
+    <hr>
+    <!-- 這裡新增零件表中的 類別 -->
+    請輸入欲新增的類別名稱, 再按下 "新增類別項目" 按鈕:<br>
+    <input id="create_category_id" value="{{new_ca_sn}}" style="height: 25px; width: 45px;" readonly>
+    <input id="create_category_name" value="" style="height: 25px;">
+    <input type="button" id="create_category" value="新增類別項目" onclick="create_category();">
+    <script>
+        function create_category() {
+            var ca_id = $("#create_category_id").val();
+            var ca_name = $("#create_category_name").val();
+            var sql = '';
+            sql += 'INSERT INTO 類別表 ' +
+                   'VALUES ("' + ca_id + '", "' + ca_name + '");';
+            var sql_data = { "sql":sql };
+
+            $.ajax({
+                type:"GET",
+                url:"/sql_get",
+                dataType:"JSON",
+                data:sql_data,
+                success:function (res) {
+                    alert('新增 類別 成功')
+                },
+                error: function (thrownError) {
+                    if (thrownError.statusText == "INTERNAL SERVER ERROR") {
+                        alert("類別 " + ca_id + " 已存在, 請重新輸入")
+                    }
+                }
+
+            })
+        }
+    </script>
+
+
+
+
+
+    <hr>
+    <!-- 這裡新增零件表中的 供應商 -->
+    請輸入欲新增的供應商名稱, 再按下 "新增供應商" 按鈕: (其他資料先以 NULL 存入)<br>
+    <input id="create_supplier_id" value="{{new_su_sn}}" style="height: 25px; width: 45px;" readonly>
+    <input id="create_supplier_name" value="" style="height: 25px;">
+    <input type="button" id="create_supplier" value="新增供應商項目" onclick="create_supplier();">
+    <script>
+        function create_supplier() {
+            var su_id = $("#create_supplier_id").val();
+            var su_name = $("#create_supplier_name").val();
+            var sql = '';
+            sql += 'INSERT INTO 供應商 (`供應商`, `公司`) ' +
+                   'VALUES ("' + su_id + '", "' + su_name + '");';
+            console.log("sql:", sql)
+            var sql_data = { "sql":sql };
+
+            $.ajax({
+                type:"GET",
+                url:"/sql_get",
+                dataType:"JSON",
+                data:sql_data,
+                success:function (res) {
+                    alert('新增 供應商 成功')
+                },
+                error: function (thrownError) {
+                    if (thrownError.statusText == "INTERNAL SERVER ERROR") {
+                        alert("供應商 " + su_id + " 已存在, 請重新輸入")
+                    }
+                }
+
+            })
+        }
+    </script>
+</body>
+
 </html>

+ 540 - 374
Rita/ERP_Rita/templates/search.html

@@ -1,375 +1,541 @@
-<!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">
-
-    <!-- 新 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">
-</head>
-
-<style>
-    .input-cond-delete {
-        background: #E43030;
-        border: 1px solid #CFCFCF;
-        box-sizing: border-box;
-        border-radius: 5px;
-        margin-left: 5px;
-        width: 65px;
-        height: 33px;
-        font-size: 16px;
-        text-align: center;
-        line-height: 16px;
-        color: #FFFFFF;
-    }
-    .input-cond-add {
-        background: #008CBA;
-        border: 1px solid #CFCFCF;
-        box-sizing: border-box;
-        border-radius: 5px;
-        margin-left: 5px;
-        width: 65px;
-        height: 33px;
-        font-size: 16px;
-        text-align: center;
-        line-height: 16px;
-        color: #FFFFFF;
-    }
-</style>
-
-<body>
-    會計科目:
-    <select id="accountingsubjects" onChange="">
-        <option value="00"></option>
-        {% for data in AccountingSubjects_data %}
-            <option value="{{data[0]}}">{{data[0]}}-{{data[1]}}</option>
-        {% endfor %}
-    </select>
-    類別:
-    <select id="category" onChange="">
-        <option value="00"></option>
-        {% for data in Category_data %}
-            <option value="{{data[0]}}">{{data[0]}}-{{data[1]}}</option>
-        {% endfor %}
-    </select>
-    流水號:
-    <input id="serialnumber" placeholder="0001" style="height: 25px; width: 45px;">
-    供應商:
-    <select id="supplier" onChange="">
-        <option value="00"></option>
-        {% for data in Supplier_data %}
-            <option value="{{data[0]}}">{{data[0]}}-{{data[1]}}</option>
-        {% endfor %}
-    </select><br>
-    
-    零件名稱:
-    <select id="component_name_select" onChange="">
-        <option value="00"></option>
-        {% for data in Component_data %}
-            <option value="{{data[0]}}">{{data[0]}}</option>
-        {% endfor %}
-    </select>
-    <input id="component_name_input" placeholder="零件關鍵字輸入" style="height: 25px; width: 120px;">
-    <input type="button" id="search_component_table" value="零件表查詢" onclick="search_component_table();">
-    <input type="button" id="search_component_standard_table" value="(零件)規格表查詢" onclick="search_component_standard_table();">
-    <input type="button" id="search_component_stock_table" value="(零件)庫存表查詢" onclick="search_component_stock_table();">
-    <input type="button" id="search_component_import_table" value="(零件)進貨表查詢" onclick="search_component_import_table();">
-    <input type="button" id="search_component_export_table" value="(零件)銷貨表查詢" onclick="search_component_export_table();">
-    <br>
-    <a id="create_component_table_item" href="/create_component_table_item">(零件)新增零件</a>
-    <a id="create_BOM" href="/create_BOM">建立 BOM 表</a>
-
-    <script>
-        // (零件)銷貨表查詢
-        function search_component_export_table() {
-            var sql = 'SELECT 銷貨表.* FROM 零件表';
-            sql += ' INNER JOIN 銷貨表';
-            sql += ' ON 零件表.內部料號 = 銷貨表.內部料號';
-            search_relation_insertdata(sql)
-        }
-
-        // (零件)進貨表查詢
-        function search_component_import_table() {
-            var sql = 'SELECT 進貨表.* FROM 零件表';
-            sql += ' INNER JOIN 進貨表';
-            sql += ' ON 零件表.內部料號 = 進貨表.內部料號';
-            search_relation_insertdata(sql)
-        }
-
-        // (零件)庫存表查詢
-        function search_component_stock_table() {
-            var sql = 'SELECT 庫存表.時間, 庫存表.內部料號, 庫存表.數量 FROM 零件表';
-            sql += ' INNER JOIN 庫存表';
-            sql += ' ON 零件表.內部料號 = 庫存表.內部料號';
-            search_relation_insertdata(sql)
-        }
-
-        // (零件)規格表查詢
-        function search_component_standard_table() {
-            var sql = 'SELECT 規格表.* FROM 零件表';
-            sql += ' INNER JOIN 規格表';
-            sql += ' ON 零件表.內部料號 = 規格表.內部料號';
-            search_relation_insertdata(sql)
-        }
-        // 各資料表←關聯→零件表, 程式
-        function search_relation_insertdata(sql) {
-            var accountingsubjects_select = $("#accountingsubjects").val();
-            var category_select = $("#category").val();
-            var serialnumber_select = $("#serialnumber").val();
-            var supplier_select = $("#supplier").val();
-            var component_name_select = $("#component_name_select").val();
-            var component_name_input = $("#component_name_input").val();
-            var AND_list = [];
-
-            console.log(accountingsubjects_select, category_select, serialnumber_select, supplier_select)
-            var sql = sql;
-            // 篩選 會計科目/類別/供應商 關鍵字
-            if (accountingsubjects_select != '00') {
-                AND_list.push('會計科目 = "' + accountingsubjects_select + '"')
-            }
-            if (category_select != '00') {
-                AND_list.push('類別 = "' + category_select + '"')
-            }
-            if (serialnumber_select != '') {
-                AND_list.push('流水號 = "' + serialnumber_select + '"')
-            }
-            if (supplier_select != '00') {
-                AND_list.push('供應商 = "' + supplier_select + '"')
-            }
-            if (component_name_select != '00') {
-                AND_list.push('零件表.名稱 = "' + component_name_select + '"')
-            } else if (component_name_input != '') {
-                AND_list.push('零件表.名稱 LIKE "%' + component_name_input + '%"')
-            }
-            console.log("AND_list: ", AND_list)
-            if (AND_list != '') {
-                sql += ' WHERE ' + AND_list.join(' AND ');
-            }
-
-            if (sql.match('INNER JOIN 庫存表')) {
-                sql += ' ORDER BY 時間 DESC LIMIT 1'
-            }
-            
-            var sql_data = {
-                "sql":sql
-            };
-            console.log("sql_data: ", sql_data)
-
-            $.get('/sql_get', sql_data, function (res) {
-                // console.log("res: " + res)
-                // console.log("res.labels:" + res.labels)
-                // console.log("res.labels[0]:" + res.labels[0])
-                // console.log("res.labels[0][0]:" + res.labels[0][0])
-                // console.log("res.sql_field:" + res.sql_field)
-                // console.log("res.sql_field[0]:" + res.sql_field[0])
-                var data = " ";
-                if (res.labels == '') {
-                    data += '-- 無符合關鍵字之資料 --'
-                } else {
-                    data += '<table class="table table-bordered" style="margin-top: 10px;">';
-                    data += '<tr>';
-                    for (let fields = 0; fields < res.sql_field.length; fields++) {
-                        data += '<th>' + res.sql_field[fields][0] + '</th>';
-                    }
-                    data += '</tr>';
-                    for (let items = 0; items < res.labels.length; items++) {
-                        data += '<tr>';
-                            for (let item = 0; item < res.labels[items].length; item++) {
-                                console.log("res.labels[items][item]: ", res.labels[items][item], typeof(res.labels[items][item]))
-                                data += '<td>' + res.labels[items][item] + '</td>';
-                            };
-                        data += '</tr>';
-                    };
-                    data += '</table>';
-                }
-                var sectorSelect = document.getElementById("result");
-                sectorSelect.innerHTML = data;
-            }, 'json');
-        }
-        
-        // 修改確認
-        function ComfirmUpdate_component(company_id) {
-            console.log("修改完成: " + company_id)
-            // var new_name = document.getElementById(company_id + '_5_ta');
-            // var new_name_value = new_name.val();
-            var new_name_value = $('#' + company_id + '_5_ta').val();
-            console.log("new_name_value: " + new_name_value)
-
-            sql = '';
-            sql += 'UPDATE 零件表 SET 名稱 = \'' + new_name_value + '\' WHERE 內部料號 = \'' + company_id + '\';'
-            console.log('sql: ' + sql)
-            var sql_data = { "sql":sql };
-
-            $.get('/sql_get', sql_data, function (res) {
-                // console.log(res)
-            }, 'json');
-
-            alert("修改成功!")
-            search_component_table();
-        }
-
-        // 修改
-        function update_component(company_id) {
-            console.log("修改 " + company_id)
-            var old_name = target_id = company_id + '_5'
-            var target_id = document.getElementById(company_id + '_5');
-            var old_name = target_id.innerText;
-            console.log('old_name: ', old_name)
-            target_id.innerHTML = "";
-            textarea = '';
-            textarea += '<input id="'+ company_id + '_5_ta' + '" value="' + old_name + '" style="height: 25px; width: auto">';
-            textarea += '<input type="button" value="OK" onclick="ComfirmUpdate_component(\'' + company_id + '\')">';
-            target_id.insertAdjacentHTML('beforeend', textarea);
-        }
-        // 刪除
-        function delete_component(company_id) {
-            var delete_data = confirm("確定要刪除內部料號 " + company_id + " 的資料嗎?") 
-            if (delete_data) {
-                console.log("刪除 " + company_id)
-                sql = '';
-                sql += 'DELETE FROM 零件表 WHERE 內部料號 = "' + company_id + '";'
-                var sql_data = { "sql":sql };
-
-                $.get('/sql_get', sql_data, function (res) {
-                    // console.log(res)
-                }, 'json');
-
-                alert("刪除 成功!")
-                search_component_table();
-            }
-            
-        }
-
-        // 零件表查詢
-        function search_component_table(){
-            var accountingsubjects_select = $("#accountingsubjects").val();
-            var category_select = $("#category").val();
-            var serialnumber_select = $("#serialnumber").val();
-            var supplier_select = $("#supplier").val();
-            var component_name_select = $("#component_name_select").val();
-            var component_name_input = $("#component_name_input").val();
-            var AND_list = [];
-
-            console.log(accountingsubjects_select, category_select, serialnumber_select, supplier_select)
-            // sql = 'SELECT * FROM 零件表';
-            sql = 'SELECT 內部料號, 會計科目表.會計科目_名稱, 類別表.類別_名稱, 流水號, 供應商.公司, 名稱' +
-                  ' FROM (' +
-                        '(零件表 ' +
-                        'INNER JOIN 供應商' +
-                        ' ON 供應商.供應商 = 零件表.供應商' +
-                        ')' +
-                    ' INNER JOIN 類別表' +
-                    ' ON 類別表.類別_編號 = 零件表.類別' +
-                ') ' +
-                'INNER JOIN 會計科目表 ' +
-                'ON 會計科目表.會計科目_編號 = 零件表.會計科目' +
-                '' ;
-            // 篩選 會計科目/類別/供應商 關鍵字
-            if (accountingsubjects_select != '00') {
-                AND_list.push('會計科目 = "' + accountingsubjects_select + '"')
-            }
-            if (category_select != '00') {
-                AND_list.push('類別 = "' + category_select + '"')
-            }
-            if (serialnumber_select != '') {
-                AND_list.push('流水號 = "' + serialnumber_select + '"')
-            }
-            if (supplier_select != '00') {
-                AND_list.push('零件表.供應商 = "' + supplier_select + '"')
-            }
-            if (component_name_select != '00') {
-                AND_list.push('名稱 = "' + component_name_select + '"')
-            } else if (component_name_input != '') {
-                AND_list.push('名稱 LIKE "%' + component_name_input + '%"')
-            }
-            console.log("AND_list: ", AND_list)
-            if (AND_list != '') {
-                sql += ' WHERE ' + AND_list.join(' AND ');
-            }
-            
-            var sql_data = {
-                "sql":sql
-            };
-            console.log("sql_data: ", sql_data)
-
-            $.get('/sql_get', sql_data, function (res) {
-                // console.log("res: " + res)
-                // console.log("res.labels:" + res.labels)
-                // console.log("res.labels[0]:" + res.labels[0])
-                // console.log("res.labels[0][0]:" + res.labels[0][0])
-                // console.log("res.sql_field:" + res.sql_field)
-                // console.log("res.sql_field[0]:" + res.sql_field[0])
-                var data = " ";
-                if (res.labels == '') {
-                    data += '-- 無符合關鍵字之資料 --'
-                } else {
-                    data += '<table class="table table-bordered" style="margin-top: 10px;">';
-                    data += '<tr>';
-                    for (let fields = 0; fields < res.sql_field.length; fields++) {
-                        data += '<th>' + res.sql_field[fields][0] + '</th>';
-                    }
-                    data += '</tr>';
-                    for (let items = 0; items < res.labels.length; items++) {
-                        data += '<tr>';
-                            for (let item = 0; item < res.labels[items].length; item++) {
-                                data += '<td id="' + res.labels[items][0] + '_' + item + '">' + res.labels[items][item] + '</td>';
-                            };
-                            data += '<td><input type="button" class="input-cond-add" value="修改" onclick="update_component(\'' + res.labels[items][0] + '\')"></td>';
-                            data += '<td><input type="button" class="input-cond-delete" value="刪除" onclick="delete_component(\'' + res.labels[items][0] + '\')"></td>';
-                        data += '</tr>';
-                    };
-                    data += '</table>';
-                }
-                var sectorSelect = document.getElementById("result");
-                sectorSelect.innerHTML = data;
-            }, 'json');
-        }
-
-        
-
-        
-    </script>
-
-    <div id="result">
-        <!-- <table>
-        </table> -->
-    </div>
-
-    
-        
-            
-        
-    
-    
-    <!-- <table class="table table-bordered" style="margin-top: 20px;">
-        <tr>
-            {% for i1 in labels %}
-            <th>{{i1}}</th>
-            {% endfor %}
-        </tr>
-        {% for i in content %}
-        <tr>
-            <td>{{ i[0] }}</td>
-            <td>{{ i[1] }}</td>
-            <td>{{ i[2] }}</td>
-            <td>{{ i[3] }}</td>
-            <td>{{ i[4] }}</td>
-            <td>{{ i[5] }}</td>
-            <td>{{ i[6] }}</td>
-            <td>{{ i[7] }}</td>
-        </tr>
-        {% endfor %}
-    </table> -->
-</body>
-
+<!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">
+
+    <!-- 新 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">
+</head>
+
+<style>
+    .input-cond-delete {
+        background: #E43030;
+        border: 1px solid #CFCFCF;
+        box-sizing: border-box;
+        border-radius: 5px;
+        margin-left: 5px;
+        width: 65px;
+        height: 33px;
+        font-size: 16px;
+        text-align: center;
+        line-height: 16px;
+        color: #FFFFFF;
+    }
+    .input-cond-add {
+        background: #008CBA;
+        border: 1px solid #CFCFCF;
+        box-sizing: border-box;
+        border-radius: 5px;
+        margin-left: 5px;
+        width: 65px;
+        height: 33px;
+        font-size: 16px;
+        text-align: center;
+        line-height: 16px;
+        color: #FFFFFF;
+    }
+</style>
+
+<body>
+    會計科目:
+    <select id="accountingsubjects" onChange="">
+        <option value="00"></option>
+        {% for data in AccountingSubjects_data %}
+            <option value="{{data[0]}}">{{data[0]}}-{{data[1]}}</option>
+        {% endfor %}
+    </select>
+    類別:
+    <select id="category" onChange="">
+        <option value="00"></option>
+        {% for data in Category_data %}
+            <option value="{{data[0]}}">{{data[0]}}-{{data[1]}}</option>
+        {% endfor %}
+    </select>
+    流水號:
+    <input id="serialnumber" placeholder="0001" style="height: 25px; width: 45px;">
+    供應商:
+    <select id="supplier" onChange="">
+        <option value="00"></option>
+        {% for data in Supplier_data %}
+            <option value="{{data[0]}}">{{data[0]}}-{{data[1]}}</option>
+        {% endfor %}
+    </select><br>
+
+    零件名稱:
+    <select id="component_name_select" onChange="">
+        <option value="00"></option>
+        {% for data in Component_data %}
+            <option value="{{data[0]}}">{{data[0]}}</option>
+        {% endfor %}
+    </select>
+    <input id="component_name_input" placeholder="零件關鍵字輸入" style="height: 25px; width: 120px;">
+    <input type="button" id="search_component_table" value="零件表查詢" onclick="search_component_table();">
+    <input type="button" id="search_component_standard_table" value="(零件)規格表查詢" onclick="search_component_standard_table();">
+    <input type="button" id="search_component_stock_table" value="(零件)庫存表查詢" onclick="search_component_stock_table();">
+    <input type="button" id="search_component_import_table" value="(零件)進貨表查詢" onclick="search_component_import_table();">
+    <input type="button" id="search_component_export_table" value="(零件)銷貨表查詢" onclick="search_component_export_table();">
+    <br>
+    <a id="create_component_table_item" href="/create_component_table_item">(零件)新增零件</a>
+    <a id="create_BOM" href="/create_BOM">建立 BOM 表</a>
+
+    <script>
+        // (零件)銷貨表查詢
+        function search_component_export_table() {
+            var sql = 'SELECT 銷貨表.* FROM 零件表';
+            sql += ' INNER JOIN 銷貨表';
+            sql += ' ON 零件表.內部料號 = 銷貨表.內部料號';
+            search_relation_insertdata(sql)
+        }
+
+        // (零件)進貨表查詢
+        function search_component_import_table() {
+            var sql = 'SELECT 進貨表.* FROM 零件表';
+            sql += ' INNER JOIN 進貨表';
+            sql += ' ON 零件表.內部料號 = 進貨表.內部料號';
+            search_relation_insertdata(sql)
+        }
+
+        // (零件)庫存表查詢
+        function search_component_stock_table() {
+            var sql = 'SELECT 庫存表.時間, 庫存表.內部料號, 庫存表.數量 FROM 零件表';
+            sql += ' INNER JOIN 庫存表';
+            sql += ' ON 零件表.內部料號 = 庫存表.內部料號';
+            search_relation_insertdata(sql)
+        }
+
+        // (零件)規格表查詢
+        function search_component_standard_table() {
+            var accountingsubjects_select = $("#accountingsubjects").val();
+            var category_select = $("#category").val();
+            var serialnumber_select = $("#serialnumber").val();
+            var supplier_select = $("#supplier").val();
+            var component_name_select = $("#component_name_select").val();
+            var component_name_input = $("#component_name_input").val();
+            var AND_list = [];
+
+            console.log(accountingsubjects_select, category_select, serialnumber_select, supplier_select)
+
+            var sql = 'SELECT 規格表.* FROM 零件表';
+            sql += ' INNER JOIN 規格表';
+            sql += ' ON 零件表.內部料號 = 規格表.內部料號';
+
+            // 篩選 會計科目/類別/供應商 關鍵字
+            if (accountingsubjects_select != '00') {
+                AND_list.push('會計科目 = "' + accountingsubjects_select + '"')
+            }
+            if (category_select != '00') {
+                AND_list.push('類別 = "' + category_select + '"')
+            }
+            if (serialnumber_select != '') {
+                AND_list.push('流水號 = "' + serialnumber_select + '"')
+            }
+            if (supplier_select != '00') {
+                AND_list.push('供應商 = "' + supplier_select + '"')
+            }
+            if (component_name_select != '00') {
+                AND_list.push('零件表.名稱 = "' + component_name_select + '"')
+            } else if (component_name_input != '') {
+                AND_list.push('零件表.名稱 LIKE "%' + component_name_input + '%"')
+            }
+            console.log("AND_list: ", AND_list)
+            if (AND_list != '') {
+                sql += ' WHERE ' + AND_list.join(' AND ');
+            }
+            
+            var sql_data = { "sql":sql };
+            console.log("sql_data: ", sql_data)
+
+            $.get('/sql_get', sql_data, function (res) {
+                var data = " ";
+                if (res.labels == '') {
+                    data += '-- 無符合關鍵字之資料 --'
+                } else {
+                    data += '查詢結果: 共 ' + res.labels.length + ' 筆<br>'
+                    data += '<table class="table table-bordered" style="margin-top: 10px;">';
+                    data += '<tr>';
+                    for (let fields = 0; fields < res.sql_field.length; fields++) {
+                        data += '<th>' + res.sql_field[fields][0] + '</th>';
+                    }
+                    data += '<th>' + '修改' + '</th>';
+                    data += '</tr>';
+                    for (let items = 0; items < res.labels.length; items++) {
+                        data += '<tr>';
+                        for (let item = 0; item < res.labels[items].length; item++) {
+                            // console.log("res.labels[items][item]: ", res.labels[items][item], typeof(res.labels[items][item]))
+                            if (res.labels[items][item] == null) {
+                                data += '<td id="' + res.labels[items][0] + '_' + item + '">' + '' + '</td>';
+                            } else {
+                                data += '<td id="' + res.labels[items][0] + '_' + item + '">' + res.labels[items][item] + '</td>';
+                            }
+                        };
+                        data += '<td><input type="button" class="input-cond-add" value="修改" onclick="update_standard(\'' + res.labels[items][0] + '\')"></td>';
+                        data += '</tr>';
+                    };
+                    data += '</table>';
+                }
+                var sectorSelect = document.getElementById("result");
+                sectorSelect.innerHTML = data;
+            }, 'json');
+        }
+
+        // 規格表 內容修改
+        function update_standard(company_id) {
+            console.log("修改 " + company_id)
+            for (let i = 2; i < 10; i++) {
+                var target_id = document.getElementById(company_id + '_' + i);
+                var old_name = target_id.innerText;
+                console.log('old_name: ', old_name)
+                target_id.innerHTML = "";
+                textarea = '';
+                textarea += '<input id="'+ company_id + '_' + i + '_ta' + '" value="' + old_name + '" style="height: 25px; width: auto">';
+                if (i == 9) {
+                    textarea += '<input type="button" value="OK" onclick="ComfirmUpdate_standard(\'' + company_id + '\')">';
+                }
+                target_id.insertAdjacentHTML('beforeend', textarea);
+            }
+        }
+
+        // 規格表 修改確認
+        function ComfirmUpdate_standard(company_id) {
+            var new_factoryid_value = $('#' + company_id + '_2_ta').val();
+            var new_size_value = $('#' + company_id + '_3_ta').val();
+            var new_material_value = $('#' + company_id + '_4_ta').val();
+            var new_voltage_value = $('#' + company_id + '_5_ta').val();
+            var new_current_value = $('#' + company_id + '_6_ta').val();
+            var new_power_value = $('#' + company_id + '_7_ta').val();
+            var new_maxvoltage_value = $('#' + company_id + '_8_ta').val();
+            var new_temp_value = $('#' + company_id + '_9_ta').val();
+
+            sql = '';
+            sql += 'UPDATE 規格表 SET `原廠料號` = "' + new_factoryid_value + '"';
+            sql += ', `尺寸` = "' + new_size_value + '"';
+            sql += ', `封裝/材質` = "' + new_material_value + '"';
+            sql += ', `工作電壓` = "' + new_voltage_value + '"';
+            sql += ', `工作電流` = "' + new_current_value + '"';
+            sql += ', `功率` = "' + new_power_value + '"';
+            sql += ', `最大電流` = "' + new_maxvoltage_value + '"';
+            sql += ', `工作溫度` = "' + new_temp_value + '"';
+            sql += ' WHERE `內部料號` = "' + company_id + '";'
+            console.log('sql: ' + sql)
+            var sql_data = { "sql":sql };
+
+            $.ajax({
+                type:"GET",
+                url:"/sql_get",
+                dataType:"JSON",
+                data:sql_data,
+                success:function (res) {
+                    alert("規格表: 修改成功 !")
+                },
+                error: function (thrownError) {
+                    if (thrownError.statusText == "INTERNAL SERVER ERROR") {
+                        alert("規格表: 內部料號 " + company_id + " 修改未成功")
+                    } else {
+                        console.log("修改規格表內容 thrownError" + thrownError)
+                    }
+                }
+            })
+
+            search_component_standard_table();
+        } 
+
+        // 各資料表←關聯→零件表, 程式
+        function search_relation_insertdata(sql) {
+            var accountingsubjects_select = $("#accountingsubjects").val();
+            var category_select = $("#category").val();
+            var serialnumber_select = $("#serialnumber").val();
+            var supplier_select = $("#supplier").val();
+            var component_name_select = $("#component_name_select").val();
+            var component_name_input = $("#component_name_input").val();
+            var AND_list = [];
+
+            console.log(accountingsubjects_select, category_select, serialnumber_select, supplier_select)
+            var sql = sql;
+            // 篩選 會計科目/類別/供應商 關鍵字
+            if (accountingsubjects_select != '00') {
+                AND_list.push('會計科目 = "' + accountingsubjects_select + '"')
+            }
+            if (category_select != '00') {
+                AND_list.push('類別 = "' + category_select + '"')
+            }
+            if (serialnumber_select != '') {
+                AND_list.push('流水號 = "' + serialnumber_select + '"')
+            }
+            if (supplier_select != '00') {
+                AND_list.push('供應商 = "' + supplier_select + '"')
+            }
+            if (component_name_select != '00') {
+                AND_list.push('零件表.名稱 = "' + component_name_select + '"')
+            } else if (component_name_input != '') {
+                AND_list.push('零件表.名稱 LIKE "%' + component_name_input + '%"')
+            }
+            console.log("AND_list: ", AND_list)
+            if (AND_list != '') {
+                sql += ' WHERE ' + AND_list.join(' AND ');
+            }
+
+            if (sql.match('INNER JOIN 庫存表')) {
+                sql += ' ORDER BY 時間 DESC LIMIT 1'
+            }
+            
+            var sql_data = {
+                "sql":sql
+            };
+            console.log("sql_data: ", sql_data)
+
+            $.get('/sql_get', sql_data, function (res) {
+                // console.log("res: " + res)
+                // console.log("res.labels:" + res.labels)
+                // console.log("res.labels[0]:" + res.labels[0])
+                // console.log("res.labels[0][0]:" + res.labels[0][0])
+                // console.log("res.sql_field:" + res.sql_field)
+                // console.log("res.sql_field[0]:" + res.sql_field[0])
+                var data = " ";
+                if (res.labels == '') {
+                    data += '-- 無符合關鍵字之資料 --'
+                } else {
+                    data += '<table class="table table-bordered" style="margin-top: 10px;">';
+                    data += '<tr>';
+                    for (let fields = 0; fields < res.sql_field.length; fields++) {
+                        data += '<th>' + res.sql_field[fields][0] + '</th>';
+                    }
+                    data += '</tr>';
+                    for (let items = 0; items < res.labels.length; items++) {
+                        data += '<tr>';
+                            for (let item = 0; item < res.labels[items].length; item++) {
+                                // console.log("res.labels[items][item]: ", res.labels[items][item], typeof(res.labels[items][item]))
+                                data += '<td>' + res.labels[items][item] + '</td>';
+                            };
+                        data += '</tr>';
+                    };
+                    data += '</table>';
+                }
+                var sectorSelect = document.getElementById("result");
+                sectorSelect.innerHTML = data;
+            }, 'json');
+        }
+        
+        // 修改確認
+        function ComfirmUpdate_component(company_id) {
+            console.log("修改完成: " + company_id)
+            // var new_name = document.getElementById(company_id + '_5_ta');
+            // var new_name_value = new_name.val();
+            var new_name_value = $('#' + company_id + '_5_ta').val();
+            console.log("new_name_value: " + new_name_value)
+
+            sql = '';
+            sql += 'UPDATE 零件表 SET 名稱 = "' + new_name_value + '" WHERE 內部料號 = "' + company_id + '";'
+            console.log('sql: ' + sql)
+            var sql_data = { "sql":sql };
+
+            $.get('/sql_get', sql_data, function (res) {
+                // console.log(res)
+            }, 'json');
+
+            alert("修改成功 !")
+            search_component_table();
+        }
+
+        // 修改
+        function update_component(company_id) {
+            console.log("修改 " + company_id)
+            var target_id = document.getElementById(company_id + '_5');
+            var old_name = target_id.innerText;
+            console.log('old_name: ', old_name)
+            target_id.innerHTML = "";
+            textarea = '';
+            textarea += '<input id="'+ company_id + '_5_ta' + '" value="' + old_name + '" style="height: 25px; width: auto">';
+            textarea += '<input type="button" value="OK" onclick="ComfirmUpdate_component(\'' + company_id + '\')">';
+            target_id.insertAdjacentHTML('beforeend', textarea);
+        }
+        
+        // 刪除
+        function delete_component(company_id) {
+            var delete_data = confirm("確定要刪除內部料號 " + company_id + " 的資料嗎?\n(會同步刪除規格表對應資料)") 
+            if (delete_data) {
+                // 刪除零件表
+                var sql = 'DELETE FROM 零件表 WHERE 內部料號 = "' + company_id + '";'
+                var sql_data = { "sql":sql };
+                $.ajax({
+                    type:"GET",
+                    url:"/sql_get",
+                    dataType:"JSON",
+                    data:sql_data,
+                    success:function (res) {
+                        alert("零件表: 零件刪除成功!")
+                    },
+                    error: function (thrownError) {
+                        if (thrownError.statusText == "INTERNAL SERVER ERROR") {
+                            alert("零件表: 無內部料號 " + company_id + " 之資料")
+                        } else {
+                            alert("零件表刪除錯誤: " + thrownError)
+                        }
+                    }
+
+                })
+
+                // 刪除規格表
+                var sql = 'DELETE FROM 規格表 WHERE 內部料號 = "' + company_id + '";'
+                var sql_data = { "sql":sql };
+
+                $.ajax({
+                    type:"GET",
+                    url:"/sql_get",
+                    dataType:"JSON",
+                    data:sql_data,
+                    success:function (res) {
+                        alert("規格表: 零件刪除成功!")
+                    },
+                    error: function (thrownError) {
+                        if (thrownError.statusText == "INTERNAL SERVER ERROR") {
+                            alert("規格表: 無內部料號 " + company_id + " 之資料")
+                        } else {
+                            alert("規格表刪除錯誤: " + thrownError)
+                        }
+                    }
+
+                })
+
+                search_component_table();
+            }
+            
+        }
+
+        // 零件表查詢
+        function search_component_table(){
+            var accountingsubjects_select = $("#accountingsubjects").val();
+            var category_select = $("#category").val();
+            var serialnumber_select = $("#serialnumber").val();
+            var supplier_select = $("#supplier").val();
+            var component_name_select = $("#component_name_select").val();
+            var component_name_input = $("#component_name_input").val();
+            var AND_list = [];
+
+            console.log(accountingsubjects_select, category_select, serialnumber_select, supplier_select)
+            // sql = 'SELECT * FROM 零件表';
+            sql = 'SELECT 內部料號, 會計科目表.會計科目_名稱, 類別表.類別_名稱, 流水號, 供應商.公司, 名稱' +
+                  ' FROM (' +
+                        '(零件表 ' +
+                        'INNER JOIN 供應商' +
+                        ' ON 供應商.供應商 = 零件表.供應商' +
+                        ')' +
+                    ' INNER JOIN 類別表' +
+                    ' ON 類別表.類別_編號 = 零件表.類別' +
+                ') ' +
+                'INNER JOIN 會計科目表 ' +
+                'ON 會計科目表.會計科目_編號 = 零件表.會計科目' +
+                '' ;
+            // 篩選 會計科目/類別/供應商 關鍵字
+            if (accountingsubjects_select != '00') {
+                AND_list.push('會計科目 = "' + accountingsubjects_select + '"')
+            }
+            if (category_select != '00') {
+                AND_list.push('類別 = "' + category_select + '"')
+            }
+            if (serialnumber_select != '') {
+                AND_list.push('流水號 = "' + serialnumber_select + '"')
+            }
+            if (supplier_select != '00') {
+                AND_list.push('零件表.供應商 = "' + supplier_select + '"')
+            }
+            if (component_name_select != '00') {
+                AND_list.push('名稱 = \'' + component_name_select + '\'')
+            } else if (component_name_input != '') {
+                AND_list.push('名稱 LIKE \'%' + component_name_input + '%\'')
+            }
+            console.log("AND_list: ", AND_list)
+            if (AND_list != '') {
+                sql += ' WHERE ' + AND_list.join(' AND ');
+            }
+            
+            var sql_data = {
+                "sql":sql
+            };
+            console.log("sql_data: ", sql_data)
+
+            $.get('/sql_get', sql_data, function (res) {
+                // console.log("res: " + res)
+                // console.log("res.labels:" + res.labels)
+                // console.log("res.labels[0]:" + res.labels[0])
+                // console.log("res.labels[0][0]:" + res.labels[0][0])
+                // console.log("res.sql_field:" + res.sql_field)
+                // console.log("res.sql_field[0]:" + res.sql_field[0])
+                var data = " ";
+                if (res.labels == '') {
+                    data += '-- 無符合關鍵字之資料 --'
+                } else {
+                    data += '查詢結果: 共 ' + res.labels.length + ' 筆<br>'
+                    data += '<table class="table table-bordered" style="margin-top: 10px;">';
+                    data += '<tr>';
+                    for (let fields = 0; fields < res.sql_field.length; fields++) {
+                        data += '<th>' + res.sql_field[fields][0] + '</th>';
+                    }
+                    data += '<th>' + '修改' + '</th>';
+                    data += '<th>' + '刪除' + '</th>';
+                    data += '</tr>';
+                    for (let items = 0; items < res.labels.length; items++) {
+                        data += '<tr>';
+                            for (let item = 0; item < res.labels[items].length; item++) {
+                                // data += '<td id="' + res.Component_id[items] + '_' + item + '">' + res.labels[items][item] + '</td>';
+                                data += '<td id="' + res.labels[items][0] + '_' + item + '">' + res.labels[items][item] + '</td>';
+                            };
+                            data += '<td><input type="button" class="input-cond-add" value="修改" onclick="update_component(\'' + res.labels[items][0] + '\')"></td>';
+                            data += '<td><input type="button" class="input-cond-delete" value="刪除" onclick="delete_component(\'' + res.labels[items][0] + '\')"></td>';
+                        data += '</tr>';
+                    };
+                    data += '</table>';
+                }
+                var sectorSelect = document.getElementById("result");
+                sectorSelect.innerHTML = data;
+            }, 'json');
+        }
+
+        
+
+        
+    </script>
+
+    <div id="result">
+        <!-- <table>
+        </table> -->
+    </div>
+
+    
+        
+            
+        
+    
+    
+    <!-- <table class="table table-bordered" style="margin-top: 20px;">
+        <tr>
+            {% for i1 in labels %}
+            <th>{{i1}}</th>
+            {% endfor %}
+        </tr>
+        {% for i in content %}
+        <tr>
+            <td>{{ i[0] }}</td>
+            <td>{{ i[1] }}</td>
+            <td>{{ i[2] }}</td>
+            <td>{{ i[3] }}</td>
+            <td>{{ i[4] }}</td>
+            <td>{{ i[5] }}</td>
+            <td>{{ i[6] }}</td>
+            <td>{{ i[7] }}</td>
+        </tr>
+        {% endfor %}
+    </table> -->
+</body>
+
 </html>