Эх сурвалжийг харах

修改 進階搜尋 顯示搜尋結果

oransheep 3 жил өмнө
parent
commit
94d8a0ef99

+ 38 - 0
script/js/jstreeAJAX.js

@@ -467,5 +467,43 @@ $(document).ready(function () {
         }
     }
 
+    var search_output = {};
+    $(".search-by-filter").on("click", function (e) {
+        $.ajax({
+            url: "./script/php/get_search_list.php",
+            data: {
+                project_id: search_data["project"],
+                type_id: search_data["type"],
+                notes_name: search_data["notes"]
+            },
+            type: "GET",
+            async: false,
+            contentType: "application/json",
+            dataType: "json"
+        }).done(function(data) {
+            displayDetail(true);
+            search_output = data;
+        }).error(function(error) {
+            console.log(error);
+        });
+
+        table.clear().draw();
+        for (i = 0; i < search_output.length; i++) {
+            table.row.add([
+                search_output[i]["SN"],
+                search_output[i]["original_name"],
+                search_output[i]["keyword"],
+                '1.0.0',
+                '',
+                search_output[i]["project_id"],
+                search_output[i]["project_name"],
+                search_output[i]["type_id"],
+                search_output[i]["category_name"],
+                search_output[i]["notes"],
+                search_output[i]["filename"],
+            ])
+            table.draw();
+        }
+    });
 
 });

+ 14 - 12
script/js/search.js

@@ -1,9 +1,6 @@
-
-
+// var search_output = {};
 $(function() {
-    $(".search-by-filter").on("click", function (e) {
-        console.log($("#category_button").val());
-    });
+    
 
     $(".selectBox").on("click", function (e) {
         if(get_value_list_by_key(db_table["project"], "category_id", search_data["category"], "project_id").length) {
@@ -109,7 +106,7 @@ $(function() {
         }
 
         if(type_id == "any") {
-            search_data["type"] = db_table["type"];
+            search_data["type"] = get_value_list_by_key(db_table["type"], null, [], "type_id");
         } else {
             search_data["type"] = [type_id];
         }
@@ -186,14 +183,20 @@ function show_multi_checkbox(class_name, show_list) {
 
 function show_select_option(select_id, show_list) {
     $("#" + select_id + " option").hide();
+    $("#notes-button").prop("disabled", false);
 
-    $("#" + select_id + " option[value=any]").show();
-    show_list.forEach(element => {
-        $("#" + select_id + " option[value=" + element + "]").show();
-    });
+    if(show_list.length == 1 & show_list[0] == undefined) {
+        $('#notes-button').prop("value", "none");
+        $("#notes-button").prop("disabled", true);
+    } else {
+        $("#" + select_id + " option[value=any]").show();
+        show_list.forEach(element => {
+            $("#" + select_id + " option[value=" + element + "]").show();
+        });
+    }
+    
 }
 
-//set multi_checkbox text
 function set_multi_checkbox_text(checkbox_class, name_replace) {
     check_list = get_multi_checkbox_check_list(checkbox_class, name_replace);
 
@@ -208,7 +211,6 @@ function set_multi_checkbox_text(checkbox_class, name_replace) {
     }
 }
 
-//get check_list
 function get_multi_checkbox_check_list(checkbox_class, name_replace) {
     output = [];
     var $select_option = $("."+checkbox_class+":checked");

+ 1 - 0
script/js/vue-search-block.js

@@ -82,6 +82,7 @@ vm.component('search-block', {
                         </li>
                         <select id="notes-button">
                             <option value="any">any</option>
+                            <option value="none">無符合條件選項</option>
                             <notes-button v-for="item in notes_button_list" v-bind:object="item"></notes-button>
                         </select>
                     </ul>

+ 0 - 31
script/php/get_category_list.php

@@ -1,31 +0,0 @@
-<?php
-
-include("sql.php");
-$array = [];
-$array2 = [];
-
-$connectionInfo = array("Database" => "$dbname", "UID" => "$username", "PWD" => "$password", "CharacterSet" => "UTF-8");
-$conn = sqlsrv_connect($hostname, $connectionInfo);
-if ($conn === false) {
-    die(print_r(sqlsrv_errors(), true));
-}
-
-$sql = "SELECT DISTINCT [category_id], [category_name], [list_id] FROM [21000X].[dbo].[Construction_Category];";
-
-$fetchResult = sqlsrv_query($conn, $sql);
-while ($row = sqlsrv_fetch_array($fetchResult, SQLSRV_FETCH_ASSOC)) {
-    array_push($array ,$row);
-}
-
-$sql = "SELECT DISTINCT [category_id], [category_name], [list_id] FROM [21000X].[dbo].[Construction_Category];";
-
-$fetchResult = sqlsrv_query($conn, $sql);
-while ($row = sqlsrv_fetch_array($fetchResult, SQLSRV_FETCH_ASSOC)) {
-    array_push($array2 ,$row);
-}
-$data["table"] = $array;
-$data["info"] = $array2;
-
-echo json_encode($data,JSON_UNESCAPED_UNICODE);
-sqlsrv_close($conn);  
-?>

+ 0 - 20
script/php/get_category_type_list.php

@@ -1,20 +0,0 @@
-<?php
-
-include("sql.php");
-$array = [];
-
-$connectionInfo = array("Database" => "$dbname", "UID" => "$username", "PWD" => "$password", "CharacterSet" => "UTF-8");
-$conn = sqlsrv_connect($hostname, $connectionInfo);
-if ($conn === false) {
-    die(print_r(sqlsrv_errors(), true));
-}
-
-$sql = "SELECT DISTINCT * FROM [21000X].[dbo].[Category_List];";
-
-$fetchResult = sqlsrv_query($conn, $sql);
-while ($row = sqlsrv_fetch_array($fetchResult, SQLSRV_FETCH_ASSOC)) {
-    array_push($array ,$row);
-}
-echo json_encode($array,JSON_UNESCAPED_UNICODE);
-
-?>

+ 0 - 21
script/php/get_notes_list.php

@@ -1,21 +0,0 @@
-<?php
-
-include("sql.php");
-$array = [];
-
-$connectionInfo = array("Database" => "$dbname", "UID" => "$username", "PWD" => "$password", "CharacterSet" => "UTF-8");
-$conn = sqlsrv_connect($hostname, $connectionInfo);
-if ($conn === false) {
-    die(print_r(sqlsrv_errors(), true));
-}
-
-$sql = "SELECT DISTINCT [Project_Table].[project_id], [notes] FROM [21000X].[dbo].[Project_Table]
-    RIGHT JOIN [Blueprint] ON [Project_Table].[project_id] = [Blueprint].[project_id];";
-
-$fetchResult = sqlsrv_query($conn, $sql);
-while ($row = sqlsrv_fetch_array($fetchResult, SQLSRV_FETCH_ASSOC)) {
-    array_push($array ,$row);
-}
-echo json_encode($array,JSON_UNESCAPED_UNICODE);
-
-?>

+ 0 - 20
script/php/get_project_list.php

@@ -1,20 +0,0 @@
-<?php
-
-include("sql.php");
-$array = [];
-
-$connectionInfo = array("Database" => "$dbname", "UID" => "$username", "PWD" => "$password", "CharacterSet" => "UTF-8");
-$conn = sqlsrv_connect($hostname, $connectionInfo);
-if ($conn === false) {
-    die(print_r(sqlsrv_errors(), true));
-}
-
-$sql = "SELECT DISTINCT * FROM [21000X].[dbo].[Project_Table];";
-
-$fetchResult = sqlsrv_query($conn, $sql);
-while ($row = sqlsrv_fetch_array($fetchResult, SQLSRV_FETCH_ASSOC)) {
-    array_push($array ,$row);
-}
-echo json_encode($array,JSON_UNESCAPED_UNICODE);
-
-?>

+ 1 - 1
script/php/get_search_list.php

@@ -6,7 +6,7 @@ if (isset($_GET['project_id'])) {
     $project_id = implode(", ", $_GET['project_id']);
     $type_id = implode(", ", $_GET['type_id']);
     $notes_name = implode("', '", $_GET['notes_name']);
-    // $search = $_GET['search'];
+    $search = $_GET['search'];
     $array = [];
 
     $connectionInfo = array("Database" => "$dbname", "UID" => "$username", "PWD" => "$password", "CharacterSet" => "UTF-8");

+ 0 - 20
script/php/get_type_list.php

@@ -1,20 +0,0 @@
-<?php
-
-include("sql.php");
-$array = [];
-
-$connectionInfo = array("Database" => "$dbname", "UID" => "$username", "PWD" => "$password", "CharacterSet" => "UTF-8");
-$conn = sqlsrv_connect($hostname, $connectionInfo);
-if ($conn === false) {
-    die(print_r(sqlsrv_errors(), true));
-}
-
-$sql = "SELECT DISTINCT [type_id], [type_name] FROM [21000X].[dbo].[File_Category];";
-
-$fetchResult = sqlsrv_query($conn, $sql);
-while ($row = sqlsrv_fetch_array($fetchResult, SQLSRV_FETCH_ASSOC)) {
-    array_push($array ,$row);
-}
-echo json_encode($array,JSON_UNESCAPED_UNICODE);
-
-?>