فهرست منبع

BIM元件庫更新結構

nate 3 سال پیش
والد
کامیت
6b28cf86fc

+ 79 - 33
assets/equipmentTable3.json

@@ -1,128 +1,165 @@
 [
     {
         "category_name": "建築",
+        "isDone": false,
         "children": [
             {
-                "category_name": "人孔陰井"
+                "category_name": "人孔陰井",
+                "isDone": true
             },
             {
-                "category_name": "電扶梯"
+                "category_name": "電扶梯",
+                "isDone": true
             },
             {
-                "category_name": "衛浴設備"
+                "category_name": "衛浴設備",
+                "isDone": true
             },
             {
-                "category_name": "門"
+                "category_name": "門",
+                "isDone": true
             },
             {
-                "category_name": "窗"
+                "category_name": "窗",
+                "isDone": true
             },
             {
-                "category_name": "停車格"
+                "category_name": "停車格",
+                "isDone": true
             }
         ]
     },
     {
         "category_name": "結構",
+        "isDone": false,
         "children": [
             {
-                "category_name": "柱"
+                "category_name": "柱",
+                "isDone": true
             },
             {
-                "category_name": "梁"
+                "category_name": "梁",
+                "isDone": true
             },
             {
-                "category_name": "板"
+                "category_name": "板",
+                "isDone": true
             }
         ]
     },
     {
         "category_name": "景觀",
+        "isDone": false,
         "children": [
             {
-                "category_name": "設備"
+                "category_name": "設備",
+                "isDone": true
             }
         ]
     },
     {
         "category_name": "機電",
+        "isDone": false,
         "children": [
             {
                 "category_name": "給水",
+                "isDone": false,
                 "children": [
                     {
-                        "category_name": "管配件"
+                        "category_name": "管配件",
+                        "isDone": true
                     },
                     {
-                        "category_name": "管附件"
+                        "category_name": "管附件",
+                        "isDone": true
                     },
                     {
-                        "category_name": "設備"
+                        "category_name": "設備",
+                        "isDone": true
                     }
                 ]
             },
             {
                 "category_name": "排水",
+                "isDone": false,
                 "children": [
                     {
-                        "category_name": "管配件"
+                        "category_name": "管配件",
+                        "isDone": true
                     },
                     {
-                        "category_name": "管附件"
+                        "category_name": "管附件",
+                        "isDone": true
                     },
                     {
-                        "category_name": "設備"
+                        "category_name": "設備",
+                        "isDone": true
                     }
                 ]
             },
             {
                 "category_name": "空調",
+                "isDone": false,
                 "children": [
                     {
-                        "category_name": "管配件"
+                        "category_name": "管配件",
+                        "isDone": true
                     },
                     {
-                        "category_name": "管附件"
+                        "category_name": "管附件",
+                        "isDone": true
                     },
                     {
-                        "category_name": "設備"
+                        "category_name": "設備",
+                        "isDone": true
                     }
                 ]
             },
             {
                 "category_name": "消防",
+                "isDone": false,
                 "children": [
                     {
-                        "category_name": "管配件"
+                        "category_name": "管配件",
+                        "isDone": true
                     },
                     {
-                        "category_name": "管附件"
+                        "category_name": "管附件",
+                        "isDone": true
                     },
                     {
-                        "category_name": "設備"
+                        "category_name": "設備",
+                        "isDone": true
                     }
                 ]
             },
             {
                 "category_name": "動力",
+                "isDone": false,
                 "children": [
                     {
-                        "category_name": "管配件"
+                        "category_name": "管配件",
+                        "isDone": true
                     },
                     {
-                        "category_name": "管附件"
+                        "category_name": "管附件",
+                        "isDone": true
                     },
                     {
                         "category_name": "設備",
+                        "isDone": false,
                         "children": [
                             {
-                                "category_name": "照明"
+                                "category_name": "照明",
+                                "isDone": true
                             },
                             {
-                                "category_name": "發電機設備"
+                                "category_name": "發電機設備",
+                                "isDone": true
                             },
                             {
-                                "category_name": "弱電設備"
+                                "category_name": "弱電設備",
+                                "isDone": true
                             }
                         ]
                     }
@@ -130,36 +167,45 @@
             },
             {
                 "category_name": "瓦斯",
+                "isDone": false,
                 "children": [
                     {
-                        "category_name": "設備"
+                        "category_name": "設備",
+                        "isDone": true
                     }
                 ]
             },
             {
-                "category_name": "其他"
+                "category_name": "其他",
+                "isDone": true
             }
         ]
     },
     {
         "category_name": "汙水",
+        "isDone": false,
         "children": [
             {
-                "category_name": "管配件"
+                "category_name": "管配件",
+                "isDone": true
             },
             {
-                "category_name": "管附件"
+                "category_name": "管附件",
+                "isDone": true
             },
             {
-                "category_name": "設備"
+                "category_name": "設備",
+                "isDone": true
             }
         ]
     },
     {
         "category_name": "捷運",
+        "isDone": false,
         "children": [
             {
-                "category_name": "設備"
+                "category_name": "設備",
+                "isDone": true
             }
         ]
     }

BIN
assets/images/not-found-2D-image.png


+ 45 - 34
component-detail.php

@@ -14,7 +14,6 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 		var url_href = window.location.href;
 		var url = new URL(url_href);
 		name = url.searchParams.get("object");
-		type = url.searchParams.get("type");
 		parent = url.searchParams.get("parent");
 
 		var userName = "<?php echo $_SESSION['name'] ?>";
@@ -70,7 +69,7 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 										</label>
 									</li>
 									<li class="right">
-										<a href="#" onclick="window.history.go(-1); return false;"><i class="fa fa-undo"></i> 返回</a>
+										<a href="#" onclick="goBack()"><i class="fa fa-undo"></i> 返回</a>
 									</li>
 									<li class="right">
 										<div style="cursor: pointer;" onclick="AddFavorite();"><i id="heart" class="fa fa-heart"></i><span id="favorite"> 加入清單</span></div>
@@ -86,15 +85,15 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 												<a href="#content" data-toggle="tab" class="text-center">3D元件模型</a>
 											</li>
 											<li>
-												<a href="#2DImage" data-toggle="tab" class="text-center">2D圖例</a>
+												<a href="#2D-TAB" data-toggle="tab" class="text-center">2D圖例</a>
 											</li>
 										</ul>
 										<div class="tab-content">
 											<div id="content" class="tab-pane active" style="width:100%; position: relative; padding: 0 0 0;">
 
 											</div>
-											<div id="2DImage" class="tab-pane" style="overflow: auto;">
-
+											<div id="2D-TAB" class="tab-pane" style="overflow: auto;">
+												<img id="2DImage" style="width: 100%; aspect-ratio: 1 / 1;" onerror="this.src='./assets/images/not-found-2D-image.png'">
 											</div>
 										</div>
 									</div>
@@ -139,11 +138,13 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 	<?php include("bim-support-body.html"); ?>
 	<script>
 		$(document).ready(function() {
+
+
+
 			$.ajax({
 				url: "./script/php/equipment_group_detail.php",
 				type: "GET",
 				data: {
-					type: type,
 					object: name,
 					parent: parent
 				},
@@ -170,22 +171,14 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 				for (var i = 0; i < sizeHeader.length; i++) {
 					if (value[i] == null)
 						value[i] = "";
-					if (data.sizeHeader[i] != 0 && data.sizeValue[i] != 0) {
+					if (data.sizeHeader[i] != "空" && data.sizeValue[i] != "空") {
 						$('#sizeTable').append("<tr><td>" + data.sizeHeader[i] + "</td><td>" + data.sizeValue[i] + "</td></tr>");
 					} else
 						$('#sizeTable').append("<tr><td>無資料</td><td>無資料</td></tr>");
 				}
 				$("#insertComponentName").text(name);
+				$("#2DImage").attr("src","./assets/glb/Revit元件/" + parent + "/" + name + ".PNG");
 
-				$.ajax({
-					url: "./assets/glb/Revit元件/Components/" + parent + "/" + type + "/" + name + ".PNG",
-					success: function() {
-						$("#2DImage").append("<img src='./assets/glb/Revit元件/Components/" + parent + "/" + type + "/" + name + ".PNG' style='width: 100%; aspect-ratio: 1 / 1;'>")
-					},
-					error: function() {
-						$("#2DImage").append("<span>此元件沒有2D圖例</span>");
-					}
-				});
 
 			}).error(function(error) {
 				console.log(error.responseText);
@@ -195,7 +188,7 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 				url: "./script/php/addFavorite.php",
 				type: "GET",
 				data: {
-					CheckFavorite: parent + "/" + type + "/" + name
+					CheckFavorite: parent + "/" + name
 				},
 				contentType: "application/json",
 				dataType: "json"
@@ -214,24 +207,42 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 
 		});
 
-		for (var i = 0; i < jsonData.length; i++) {
-			for (var j = 0; j < jsonData[i].children.length; j++) {
-				$("a").each(function() {
-					if (jsonData[i].category_name == parent) {
-						if (jsonData[i].children[j].component_name == type) {
-							var searchText = jsonData[i].children[j].component_name;
-							var found;
-
-							if ($(this).context.innerText == searchText && $(this).context.name == jsonData[i].category_name) {
-								$(this).context.classList.add("highlight");
-								$(this).context.parentNode.parentNode.parentNode.classList.add("nav-expanded");
-							}
-						}
-					}
-				});
+		$(".nav-parent").each(function() {
+			var parents = [];
+
+			var lastIndex = parent.lastIndexOf("/");
+			if (parent.slice(0, lastIndex) == $(this).context.children[0].outerHTML.split('"')[3]) {
+
+				parents = parent.split("/");
+				$(this).context.classList.add("nav-expanded");
+				var temp = $(this).context.parentNode.parentNode;
+				for (var i = 0; i < parents.length - 1; i++) {
+					temp.classList.add("nav-expanded");
+					temp = temp.parentNode.parentNode;
+				}
+			}
+		});
+
+		$(".dropdown-btn, .menu-item").each(function() {
+			if ($(this).css("background").includes("rgb(0, 136, 204)")) {
+				$(this).css("background", "rgba(0,0,0,0)");
 			}
+		});
+
+		$(".menu-item").each(function() {
+			if ($(this).context.outerHTML.includes(parent)) {
+				$(this).css("background", "#0088cc");
+			}
+		});
+
+		function goBack() {
+			window.location.href = "component-list.php?parent=" + parent;
 		}
 
+		$(".dropdown-btn").each(function() {
+			$(this).context.href = "component-list.php?parent=" + $(this).context.innerText;
+		});
+
 		function AddFavorite() {
 			var stack_bar_top = {
 				"dir1": "down",
@@ -246,7 +257,7 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 					url: "./script/php/addFavorite.php",
 					type: "POST",
 					data: {
-						DelFavorite: parent + "/" + type + "/" + name,
+						DelFavorite: parent + "/" + name,
 						username: userName
 					}
 				}).done(function(data) {
@@ -277,7 +288,7 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 					url: "./script/php/addFavorite.php",
 					type: "POST",
 					data: {
-						AddFavorite: parent + "/" + type + "/" + name,
+						AddFavorite: parent + "/" + name,
 						username: userName,
 						revitVersion: revitVersion
 					}

+ 9 - 4
component-favorite.php

@@ -23,7 +23,6 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 		pageHeader = "元件庫";
 
 		var parent = [];
-		var type = [];
 		var object = [];
 
 	</script>
@@ -93,6 +92,10 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 				}
 			});
 
+			$(".dropdown-btn").each(function(){
+				$(this).context.href="component-list.php?parent=" + $(this).context.innerText;
+			});
+
 			//$.getJSON
 			$.ajaxSetup({
 				async: false
@@ -111,9 +114,8 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 				path = data.path;
 				for (let i = 0; i < path.length; i++) {
 					var array = path[i].split('/');
-					parent[i] = array[0];
-					type[i] = array[1];
-					object[i] = array[2];
+					object[i] = array[array.length-1];
+					parent[i] = path[i].replace("/" + object[i], "");
 				}
 
 				revitVersion = data.revitVersion;
@@ -135,9 +137,11 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 			}).error(function(error) {
 				console.log(error);
 			});
+			
 
 		});
 
+
 		//刪除元件checkbox
 		$(document).on("change", "input[name='delCheck']", function() {
 			if ($(this).prop('checked') === true) {
@@ -178,6 +182,7 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 				console.log(error);
 			});
 		}
+
 	</script>
 	<script src="./script/js/data-sort.js"></script>
 	<script src="script/js/3Dpic-favorite.js" type="module"></script>

+ 54 - 49
component-list.php

@@ -13,10 +13,10 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 		var year = [];
 		//當選擇大項時,需要展示所有'細項分類'內的元件
 		var category = [];
-		//現在的細項分類
-		var type = "";
 		//現在的大項分類
 		var parent = "";
+		var type = "";
+		var componentGroup = [];
 
 		var userName = "<?php echo $_SESSION['name'] ?>";
 		var role = "<?php echo ($groupName); ?>";
@@ -24,8 +24,8 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 
 		var url_href = window.location.href;
 		var url = new URL(url_href);
-		url.searchParams.get("type") == null ? type = "" : type = url.searchParams.get("type");
 		parent = url.searchParams.get("parent");
+		type = (url.searchParams.get("type") == "" ? "" : url.searchParams.get("type"));
 
 		var $grid;
 
@@ -81,14 +81,56 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 	<?php include("bim-support-body.html"); ?>
 	<script type="application/javascript">
 		$(function() {
+			getEquipmentGroup();
+			getEquipmentRevitVersion();
+
+			//展開
+			$(".nav-parent").each(function(){
+				var parents = [];
+				if(parent == $(this).context.children[0].outerHTML.split('"')[3]){
+					parents = parent.split("/");
+					$(this).context.classList.add("nav-expanded");
+					var temp = $(this).context.parentNode.parentNode;
+					for(var i = 0; i < parents.length-1; i++){
+						temp.classList.add("nav-expanded");
+						temp = temp.parentNode.parentNode;
+					}
+				}
+			});
+
+			$(".menu-item").each(function(){
+				if($(this).context.outerHTML.includes(type)){
+					$(this).css("background", "#0088cc");	
+				}
+			});
+
+			$(".dropdown-btn").on("click",function(){
+				$("#content").empty();
+				$("#revitVersion").empty();
+
+				$(".dropdown-btn, .menu-item").each(function(){
+					if($(this).css("background").includes("rgb(0, 136, 204)")){
+						$(this).css("background", "rgba(0,0,0,0)");		
+					}
+				});
+
+				parent = $(this).attr("parent");
+				type = "";
+				getEquipmentGroup();
+				getEquipmentRevitVersion();
+				$(this).css("background", "#0088cc");		
+			})
+
+		});
 
+		function getEquipmentGroup(){
 			//撈現在類別內的元件
 			$.ajax({
 				url: "./script/php/equipment_group.php",
 				type: "GET",
 				data: {
-					type: type,
-					parent: parent
+					parent: parent,
+					type: type
 				},
 				contentType: "application/json",
 				dataType: "json"
@@ -96,9 +138,10 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 				year = data['year'];
 				rvtName = data['rvtName'];
 				category = data["category"];
+				componentGroup = data["componentGroup"];
 
 				//一開始進入BIM元件庫顯示
-				if (url.search == "") {
+				if (parent == null) {
 					$("#content").append("<h1 style='color: red;'>注意!BIM元件庫需配合BIM程式庫中的拖放元件API使用!</h1>");
 					$("#content").append("<h3>請選擇左方類別以搜尋元件,搜尋到需要的元件請點擊加入清單按鈕</h3>");
 					$("#content").append("<h3>到BIM程式庫下載拖放元件API,並參考操作方式以進行元件放置動作</h3>");
@@ -140,12 +183,13 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 			}).error(function(error) {
 				console.log(error);
 			});
+		}
 
+		function getEquipmentRevitVersion(){
 			$.ajax({
 				url: "./script/php/equipment_revitVersion.php",
 				type: "GET",
 				data: {
-					type: type,
 					parent: parent
 				},
 				contentType: "application/json",
@@ -160,51 +204,12 @@ include($_SERVER['DOCUMENT_ROOT'] . "/Authorization/script/php/permission/check_
 			}).error(function(error) {
 				console.log(error);
 			});
-
-			//被選到的類別highlight起來
-			for (var i = 0; i < jsonData.length; i++) {
-				for (var j = 0; j < jsonData[i].children.length; j++) {
-					$("a").each(function() {
-
-						if (jsonData[i].category_name == parent) {
-							//選到的是細項類別
-							if (jsonData[i].children[j].component_name == type) {
-								var searchText = jsonData[i].children[j].component_name;
-								var found;
-
-								if ($(this).context.innerText == searchText && $(this).context.name == jsonData[i].category_name) {
-									$(this).context.classList.add("highlight");
-									$(this).context.parentNode.parentNode.parentNode.classList.add("nav-expanded");
-								}
-								//選到的是大項類別
-							} else if (type == "") {
-								var searchText = parent;
-								var found;
-								if ($(this).context.innerText == searchText && $(this).context.name == jsonData[i].category_name) {
-									if (!$(this).context.classList.contains("highlight")) {
-										$(this).context.classList.add("highlight");
-										$(this).context.setAttribute("style", "background: #0088cc");
-									} else {
-										$(this).context.removeAttribute("href");
-									}
-								} else if ($(this).context.name != "" && $(this).context.className == "menu-item" && $(this).context.name != parent) {
-									//其他大項類別不要產生ul
-									$(this).closest("ul").remove();
-								}
-
-							}
-						}
-					});
-				}
-			}
-
-
-
-		});
+		}
+		
 	</script>
 	<script src="./script/js/data-sort.js"></script>
 	<script src="script/js/3Dpic.js" type="module"></script>
 
 </body>
 
-</html>
+</html>

+ 1 - 1
script/js/3Dpic-detail.js

@@ -62,7 +62,7 @@
 		scene.add(grid);
 
 		var loader = new GLTFLoader();
-		loader.setPath("./assets/glb/Revit元件/Components/" + parent + "/" + type + "/");
+		loader.setPath("./assets/glb/Revit元件/" + parent + "/");
 
 		loader.load(name + ".glb", function (gltf) {
 			var mroot = gltf.scene;

+ 3 - 3
script/js/3Dpic-favorite.js

@@ -56,7 +56,7 @@
 			element.appendChild(sceneElement);
 
 			const aImg = document.createElement('a');
-			aImg.setAttribute("href", "component-detail.php?object=" + object[i] + "&type=" + type[i] + "&parent=" + parent[i]);
+			aImg.setAttribute("href", "component-detail.php?object=" + object[i] + "&parent=" + parent[i]);
 			sceneElement.appendChild(aImg);
 
 			const img = document.createElement('img');
@@ -73,7 +73,7 @@
 
 			const h5 = document.createElement('a');
 			h5.innerText = object[i];
-			h5.setAttribute("href", "component-detail.php?object=" + object[i] + "&type=" + type[i] + "&parent=" + parent[i]);
+			h5.setAttribute("href", "component-detail.php?object=" + object[i] + "&parent=" + parent[i]);
 			h5.style = "padding-bottom: 0px;"
 			thumbnail.appendChild(h5);
 
@@ -155,7 +155,7 @@
 
 
 			var loader = new GLTFLoader();
-			loader.setPath("./assets/glb/Revit元件/Components/" + parent[i] + "/" + type[i] + "/");
+			loader.setPath("./assets/glb/Revit元件/" + parent[i] + "/");
 			
 			var name = object[i] + ".glb";
 

+ 4 - 12
script/js/3Dpic.js

@@ -42,10 +42,8 @@
 			element.appendChild(sceneElement);
 
 			const aImg = document.createElement('a');
-			if (type != "")
-				aImg.setAttribute("href", "component-detail.php?object=" + rvtName[i] + "&type=" + type + "&parent=" + parent);
-			else
-				aImg.setAttribute("href", "component-detail.php?object=" + rvtName[i] + "&type=" + category[i] + "&parent=" + parent);
+
+			aImg.setAttribute("href", "component-detail.php?object=" + rvtName[i] + "&parent=" + componentGroup[i]);
 			
 
 
@@ -63,10 +61,7 @@
 
 			const h5 = document.createElement('a');
 			h5.innerText = rvtName[i];
-			if (type != "")
-				h5.setAttribute("href", "component-detail.php?object=" + rvtName[i] + "&type=" + type + "&parent=" + parent);
-			else
-				h5.setAttribute("href", "component-detail.php?object=" + rvtName[i] + "&type=" + category[i] + "&parent=" + parent);
+			h5.setAttribute("href", "component-detail.php?object=" + rvtName[i] + "&parent=" + componentGroup[i]);
 			
 			thumbnail.appendChild(h5);
 
@@ -143,10 +138,7 @@
 
 			//change to new directory
 			var loader = new GLTFLoader();
-			if (type != "")
-				loader.setPath("./assets/glb/Revit元件/Components/" + parent + "/" + type + "/");
-			else
-				loader.setPath("./assets/glb/Revit元件/Components/" + parent + "/" + category[i] + "/");
+			loader.setPath("./assets/glb/Revit元件/" + componentGroup[i] + "/");
 			var name = rvtName[i] + ".glb";
 
 			loader.load(name, function (gltf) {

+ 2 - 1
script/js/getEquipmentJson.js

@@ -2,7 +2,8 @@ var jsonData;
 var getUrl = window.location;
 var baseUrl = getUrl .protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1];
 //var requestURL = baseUrl + '/assets/equipmentTable.json';
-var requestURL = baseUrl + '/assets/equipmentTable2.json';
+//var requestURL = baseUrl + '/assets/equipmentTable2.json';
+var requestURL = baseUrl + '/assets/equipmentTable3.json';
 var request = new XMLHttpRequest();
 request.onreadystatechange = function () {
     if (this.readyState == 4 && this.status == 200) {

+ 22 - 5
script/js/global.js

@@ -420,6 +420,7 @@ vm.component('equipment-list', {
     <div class="widget-content">
         <nav id="menu" class="nav-main" role="navigation">
             <ul class="nav nav-main">
+            
                 <special-li v-for="item in jsonData" v-bind:name="item.category_name" v-bind:children="item.children" v-bind:parent="item.category_name"></special-li>     
                 <hr class="separator" />
                 <li>
@@ -437,9 +438,10 @@ vm.component('equipment-list', {
 vm.component('special-li', {
     template: `
     <li class="nav-parent">
-        <a class="dropdown-btn" v-bind:href="hrefLink(parent)" v-bind:name="parent">{{name}}</a>
+        <a class="dropdown-btn" style="padding: 12px 25px 12px 25px;"  v-bind:parent="parent" v-bind:name="name">{{name}}</a>
         <ul class="nav nav-children" style="background: inherit; padding-left: 15px;">
-            <special-li2 v-for="item in children" v-bind:href="item.component_name" v-bind:name="item.component_name" v-bind:parent="parent"></special-li2>
+            <special-li2 v-for="item in isDoneItem" v-bind:href="item.category_name" v-bind:name="item.category_name" v-bind:parent="parent"></special-li2>
+            <special-li v-for="item in notDoneItem" v-bind:name="item.category_name" v-bind:children="item.children" v-bind:parent="parents(parent, item.category_name)"></special-li>
         </ul>
     </li>
     `,
@@ -449,9 +451,24 @@ vm.component('special-li', {
         children: Array,
         parent: String
     },
+    computed:{
+        isDoneItem: function(){
+            return this.children.filter((item) => {
+                return item.isDone
+            })
+        },
+        notDoneItem: function(){
+            return this.children.filter((item) => {
+                return !item.isDone
+            })
+        },
+    },
     methods: {
         hrefLink(parent) {
             return 'component-list.php?parent=' + parent;
+        },
+        parents(parent, category_name) {
+            return parent + "/" + category_name;
         }
     }
 });
@@ -459,7 +476,7 @@ vm.component('special-li', {
 vm.component('special-li2', {
     template: `
     <li>
-        <a v-bind:href="hrefLink(href, parent)" class="menu-item" v-bind:name="parent">{{name}}</a>
+        <a v-bind:href="hrefLink(parent,name)"  class="menu-item" style="margin: 0;  padding: 12px 25px 12px 25px;"  v-bind:parent="parent">{{name}}</a>
     </li>
     `,
     props: {
@@ -468,8 +485,8 @@ vm.component('special-li2', {
         parent: String
     },
     methods: {
-        hrefLink(name, parent) {
-            return 'component-list.php?type=' + name + '&parent=' + parent;
+        hrefLink(parent,name) {
+            return 'component-list.php?parent=' + parent + '&type=' + parent + '/' + name;
         }
     }
 });

+ 7 - 4
script/php/equipment_group.php

@@ -1,17 +1,18 @@
 <?php
 include("connectSQL_Component.php");
-if (isset($_GET["type"]) && isset($_GET["parent"])) {
+if (isset($_GET["parent"])) {
 
-    $type = $_GET["type"];
     $parent = $_GET["parent"];
+    $type = $_GET["type"];
     $year = [];
     $rvtName = [];
     $category = [];
+    $componentGroup = [];
 
     if($type != ""){
-        $sql = "SELECT * FROM [BIMComponents].[dbo].[Component_Info] WHERE [componentGroup] LIKE '%".$parent."%' AND [category] = '".$type."';";
+        $sql = "SELECT * FROM [BIMComponents].[dbo].[Component_Info2] WHERE [componentGroup] LIKE '%".$type."%';";
     }else{
-        $sql = "SELECT * FROM [BIMComponents].[dbo].[Component_Info] WHERE [componentGroup] LIKE '%".$parent."%';";
+        $sql = "SELECT * FROM [BIMComponents].[dbo].[Component_Info2] WHERE [componentGroup] LIKE '%".$parent."%';";
     }
     
     $fetchResult = sqlsrv_query($conn, $sql);
@@ -19,12 +20,14 @@ if (isset($_GET["type"]) && isset($_GET["parent"])) {
         array_push($rvtName, $row["componentName"]);
         array_push($year, $row["revitVersion"]);
         array_push($category, $row["category"]);
+        array_push($componentGroup, $row["componentGroup"]);
     }
     
     $array = array();
     $array["rvtName"] = $rvtName;
     $array["year"] = $year;
     $array["category"] = $category;
+    $array["componentGroup"] = $componentGroup;
     echo json_encode($array);
 }
 sqlsrv_close($conn);

+ 4 - 6
script/php/equipment_group_detail.php

@@ -1,8 +1,7 @@
 <?php
 include("connectSQL_Component.php");
-if (isset($_GET["object"]) && isset($_GET["type"])) {
+if (isset($_GET["object"])) {
     
-    $type = $_GET["type"];
     $name = $_GET["object"];
     $parent = $_GET["parent"];
 
@@ -16,13 +15,13 @@ if (isset($_GET["object"]) && isset($_GET["type"])) {
     $id = "";
     $unit = "";
 
-    $sql = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Component_Info';";
+    $sql = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Component_Info2';";
     $fetchResult = sqlsrv_query($conn, $sql);
     while ($row = sqlsrv_fetch_array($fetchResult)) {
         array_push($COLUMN_NAME, $row["COLUMN_NAME"]);
     }
 
-    $sql = "SELECT * FROM [BIMComponents].[dbo].[Component_Info] Where [componentName] = '" . $name . "' AND [category] = '" . $type . "';";
+    $sql = "SELECT * FROM [BIMComponents].[dbo].[Component_Info2] Where [componentName] = '" . $name . "';";
     $fetchResult = sqlsrv_query($conn, $sql);
     $string = file_get_contents("../../assets/columnTable.json");
     $json = json_decode($string, true);
@@ -41,7 +40,7 @@ if (isset($_GET["object"]) && isset($_GET["type"])) {
         }
     }
 
-    $sql = "SELECT * FROM [BIMComponents].[dbo].[Component_Size] WHERE [id] = '".$id."';";
+    $sql = "SELECT * FROM [BIMComponents].[dbo].[Component_Size2] WHERE [id] = '".$id."';";
     $fetchResult = sqlsrv_query($conn, $sql);
     while($row = sqlsrv_fetch_array($fetchResult)){
         array_push($size_table_header, $row["sizeColumn"]);
@@ -53,7 +52,6 @@ if (isset($_GET["object"]) && isset($_GET["type"])) {
     $array["value"] = $table_value;
     $array["sizeHeader"] = $size_table_header;
     $array["sizeValue"] = $size_table_value;
-    $array["type"] = $type;
     $array["parent"] = $parent;
     echo json_encode($array);
 }

+ 1 - 19
script/php/equipment_revitVersion.php

@@ -1,27 +1,9 @@
 <?php
 include("connectSQL_Component.php");
 if (isset($_GET["parent"])) {
-    $type = $_GET["type"];
     $parent = $_GET["parent"];
 
-    $jsonFileContents = file_get_contents("../../assets/equipmentTable2.json");
-    $json = json_decode($jsonFileContents);
-
-    for ($i = 0; $i < count($json); $i++) {
-        if ($parent == $json[$i]->category_code) {
-            $parent = $json[$i]->category_name;
-        }
-        for ($j = 0; $j < count($json[$i]->children); $j++) {
-            if ($type == $json[$i]->children[$j]->component_code) {
-                $type = $json[$i]->children[$j]->component_name;
-            }
-        }
-    }
-
-    if ($type != "")
-        $sql = "SELECT DISTINCT [revitVersion] FROM [BIMComponents].[dbo].[Component_Info] WHERE [componentGroup] LIKE '%" . $parent . "%' AND [category] = '" . $type . "';";
-    else if ($type == "")
-        $sql = "SELECT DISTINCT [revitVersion] FROM [BIMComponents].[dbo].[Component_Info] WHERE [componentGroup] LIKE '%" . $parent . "%';";
+    $sql = "SELECT DISTINCT [revitVersion] FROM [BIMComponents].[dbo].[Component_Info2] WHERE [componentGroup] LIKE '%" . $parent . "%';";
 
     $fetchResult = sqlsrv_query($conn, $sql);
     $revitVersion = [];