Ver Fonte

3520 push

manto07m há 4 anos atrás
pai
commit
de48f88e3e

+ 1 - 1
C3Index.php

@@ -209,7 +209,7 @@ if (!isset($_SESSION['loggedin']))
 										<a> <i class="fa fa-cloud" aria-hidden="true"></i> <span>BIM支援網</span> </a>
 											<ul class="nav nav-children">
 												<li>
-												<a href="bim.php">													
+												<a href="component-list.php">													
 													 <i class="fa fa-briefcase" aria-hidden="true"></i><span>BIM元件庫</span>
 												</a>
 												</li>

+ 128 - 0
api-list.php

@@ -0,0 +1,128 @@
+<?php
+session_start();
+if (!isset($_SESSION['loggedin'])) {
+	header('Location: pages-signin.html');
+	exit;
+}
+?>
+<!doctype html>
+<html class="fixed">
+
+<head>
+	<!-- jstree CSS -->
+	<link rel="stylesheet" href="assets/vendor/jstree/themes/default/style.css" />
+	<?php include("bim-support-header.html"); ?>
+	<script src="./script/js/global.js"></script>
+	<script type="application/javascript">
+		var delFavoriteList = [];
+		var i = 0;
+		var path = [];
+		var categoryList = [];
+		var categoryTable = [];
+		var id = [];
+		var revitVersion = [];
+		var userName = '<?php echo $_SESSION['name']; ?>';
+		//var year = [];
+		pageHeader = "API";
+	</script>
+</head>
+
+<body>
+	<canvas id="c"></canvas>
+	<section class="body">
+		<!-- start: header -->
+		<header-menu></header-menu>
+		<!-- end: header -->
+		<div class="inner-wrapper">
+			<!-- start: sidebar -->
+			<side-bar></side-bar>
+			<!-- end: sidebar -->
+			<section role="main" class="content-body">
+				<header class="page-header">
+					<h2>{{pageHeader}}</h2>
+				</header>
+				<!-- start: page -->
+				<section class="content-with-menu content-with-menu-has-toolbar media-gallery">
+					<div class="content-with-menu-container">
+						<inner-menu></inner-menu>
+						<div class="inner-body mg-main">
+							<div class="inner-toolbar">
+								<ul>
+									<search-bar></search-bar>
+									<filter-bar></filter-bar>
+									<li class="right">
+										<a href="#" id="mgSelectAll"><i class="fa fa-check-square"></i> <span data-all-text="選擇全部" data-none-text="取消全選">選擇全部</span></a>
+									</li>
+									<li class="right">
+										<a href="#" onclick="DelFavorite();"><i class="fa fa-trash-o"></i> 移出清單</a>
+									</li>
+								</ul>
+							</div>
+							<filter-content></filter-content>
+							<section class="panel">
+								<header class="panel-heading">
+									<div class="panel-actions">
+										<a href="#" class="fa fa-caret-down"></a>
+										<a href="#" class="fa fa-times"></a>
+									</div>
+
+									<h2 class="panel-title">Ajax</h2>
+									<p class="panel-subtitle">You can also use AJAX to populate the tree with HTML your server returns.</p>
+								</header>
+								<div class="panel-body">
+									<div class="col-md-6">
+										<h5 class="text-semibold text-dark text-uppercase">HTML</h5>
+										<div id="treeAjaxHTML"></div>
+									</div>
+									<div class="col-md-6">
+										<h5 class="text-semibold text-dark text-uppercase">JSON</h5>
+										<div id="treeAjaxJSON"></div>
+									</div>
+								</div>
+							</section>
+						</div>
+					</div>
+				</section>
+				<!-- end: page -->
+			</section>
+		</div>
+	</section>
+	<script>
+		/*Vue */
+		vm.mount('.body');
+	</script>
+	<script src="assets/vendor/jstree/jstree.js"></script>
+	<script src="assets/javascripts/ui-elements/examples.treeview.js"></script>
+	<?php include("bim-support-body.html"); ?>
+
+	<script>
+		$(document).ready(function() {
+			$.ajax({
+				url: "./script/php/equipment_group_favorite.php",
+				type: "GET",
+				data: {
+					userName: userName,
+				},
+				contentType: "application/json",
+				dataType: "json"
+			}).done(function(data) {
+				id = data.id;
+				path = data.path;
+				revitVersion = data.revitVersion;
+				for (var i = 0; i < data.year.length; i++) {
+					$("#revitVersion").append('<label><input type="checkbox" value=".' + data.year[i] + '" />   ' + data.year[i] + '</label> ');
+				}
+				
+			}).error(function(error) {
+				console.log(error);
+			});
+
+
+		});
+
+	
+	</script>
+	
+</body>
+
+</html>

+ 3 - 6
assets/javascripts/pages/examples.mediagallery.js

@@ -86,12 +86,9 @@
 	var $grid;
 
 
-	$(window).load(function () {
-		$grid = $("#content").isotope({
-			itemSelector: ".isotope-item",
-			layoutMode: 'fitRows'
-		})
-	});
+	/*$(window).load(function () {
+		
+	});*/
 
 	function Filter() {
 		var $this = $(this);

+ 0 - 0
bim-api.php → bim-api2.php


+ 48 - 39
bim-support-body.html

@@ -1,40 +1,49 @@
 <!-- Vendor -->
-<script src="assets/vendor/jquery-browser-mobile/jquery.browser.mobile.js"></script>
-<script src="assets/vendor/bootstrap/js/bootstrap.js"></script>
-<script src="assets/vendor/nanoscroller/nanoscroller.js"></script>
-<script src="assets/vendor/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>
-<script src="assets/vendor/magnific-popup/magnific-popup.js"></script>
-<script src="assets/vendor/jquery-placeholder/jquery.placeholder.js"></script>
-<!-- Specific Page Vendor -->
-<script src="assets/vendor/jquery-ui/js/jquery-ui-1.10.4.custom.js"></script>
-<script src="assets/vendor/jquery-ui-touch-punch/jquery.ui.touch-punch.js"></script>
-<script src="assets/vendor/jquery-appear/jquery.appear.js"></script>
-<script src="assets/vendor/bootstrap-multiselect/bootstrap-multiselect.js"></script>
-<script src="assets/vendor/jquery-easypiechart/jquery.easypiechart.js"></script>
-<script src="assets/vendor/flot/jquery.flot.js"></script>
-<script src="assets/vendor/flot-tooltip/jquery.flot.tooltip.js"></script>
-<script src="assets/vendor/flot/jquery.flot.pie.js"></script>
-<script src="assets/vendor/flot/jquery.flot.categories.js"></script>
-<script src="assets/vendor/flot/jquery.flot.resize.js"></script>
-<script src="assets/vendor/jquery-sparkline/jquery.sparkline.js"></script>
-<script src="assets/vendor/raphael/raphael.js"></script>
-<script src="assets/vendor/morris/morris.js"></script>
-<script src="assets/vendor/gauge/gauge.js"></script>
-<script src="assets/vendor/snap-svg/snap.svg.js"></script>
-<script src="assets/vendor/liquid-meter/liquid.meter.js"></script>
-<script src="assets/vendor/jqvmap/jquery.vmap.js"></script>
-<script src="assets/vendor/jqvmap/data/jquery.vmap.sampledata.js"></script>
-<script src="assets/vendor/bootstrap-fileupload/bootstrap-fileupload.min.js"></script>
-<script src="assets/vendor/jquery-autosize/jquery.autosize.js"></script>
-<script src="assets/vendor/bootstrap-wizard/jquery.bootstrap.wizard.js"></script>
-<script src="assets/vendor/isotope/jquery.isotope.js"></script>
-<!-- Theme Base, Components and Settings -->
-<script src="assets/javascripts/theme.js"></script>
-<!-- Theme Custom -->
-<script src="assets/javascripts/theme.custom.js"></script>
-<!-- Theme Initialization Files -->
-<script src="assets/javascripts/theme.init.js"></script>
-<!-- Examples -->
-<script src="assets/javascripts/ui-elements/examples.modals.js"></script>
-<script src="assets/javascripts/pages/examples.mediagallery.js"></script>
-<script src="script/js/upload-component.js"></script>
+<!DOCTYPE html>
+<html>
+<head>
+
+  <script src="assets/vendor/jquery-browser-mobile/jquery.browser.mobile.js"></script>
+  <script src="assets/vendor/bootstrap/js/bootstrap.js"></script>
+  <script src="assets/vendor/nanoscroller/nanoscroller.js"></script>
+  <script src="assets/vendor/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>
+  <script src="assets/vendor/magnific-popup/magnific-popup.js"></script>
+  <script src="assets/vendor/jquery-placeholder/jquery.placeholder.js"></script><!-- Specific Page Vendor -->
+
+  <script src="assets/vendor/jquery-ui/js/jquery-ui-1.10.4.custom.js"></script>
+  <script src="assets/vendor/jquery-ui-touch-punch/jquery.ui.touch-punch.js"></script>
+  <script src="assets/vendor/jquery-appear/jquery.appear.js"></script>
+  <script src="assets/vendor/bootstrap-multiselect/bootstrap-multiselect.js"></script>
+  <script src="assets/vendor/jquery-easypiechart/jquery.easypiechart.js"></script>
+  <script src="assets/vendor/flot/jquery.flot.js"></script>
+  <script src="assets/vendor/flot-tooltip/jquery.flot.tooltip.js"></script>
+  <script src="assets/vendor/flot/jquery.flot.pie.js"></script>
+  <script src="assets/vendor/flot/jquery.flot.categories.js"></script>
+  <script src="assets/vendor/flot/jquery.flot.resize.js"></script>
+  <script src="assets/vendor/jquery-sparkline/jquery.sparkline.js"></script>
+  <script src="assets/vendor/raphael/raphael.js"></script>
+  <script src="assets/vendor/morris/morris.js"></script>
+  <script src="assets/vendor/gauge/gauge.js"></script>
+  <script src="assets/vendor/snap-svg/snap.svg.js"></script>
+  <script src="assets/vendor/liquid-meter/liquid.meter.js"></script>
+  <script src="assets/vendor/jqvmap/jquery.vmap.js"></script>
+  <script src="assets/vendor/jqvmap/data/jquery.vmap.sampledata.js"></script>
+  <script src="assets/vendor/bootstrap-fileupload/bootstrap-fileupload.min.js"></script>
+  <script src="assets/vendor/jquery-autosize/jquery.autosize.js"></script>
+  <script src="assets/vendor/bootstrap-wizard/jquery.bootstrap.wizard.js"></script>
+  <script src="assets/vendor/isotope/jquery.isotope.js"></script><!-- Theme Base, Components and Settings -->
+
+  <script src="assets/javascripts/theme.js"></script><!-- Theme Custom -->
+
+  <script src="assets/javascripts/theme.custom.js"></script><!-- Theme Initialization Files -->
+
+  <script src="assets/javascripts/theme.init.js"></script><!-- Examples -->
+
+  <script src="assets/javascripts/ui-elements/examples.modals.js"></script>
+  <script src="assets/javascripts/pages/examples.mediagallery.js"></script>
+  <script src="script/js/upload-component.js"></script>
+  <title></title>
+</head>
+<body>
+</body>
+</html>

+ 14 - 6
bim-detail.php → component-detail.php

@@ -12,7 +12,7 @@ if (!isset($_SESSION['loggedin'])) {
 <head>
 	<?php include("bim-support-header.html"); ?>
 	<script src="./script/js/global.js"></script>
-	<script>		
+	<script>
 		var isFavorite = false;
 		var revitVersion = "";
 		var searchURL = window.location.search;
@@ -43,16 +43,24 @@ if (!isset($_SESSION['loggedin'])) {
 				<!-- start: page -->
 				<section class="content-with-menu content-with-menu-has-toolbar media-gallery">
 					<div class="content-with-menu-container">
-						<inner-menu></inner-menu>
+						<inner-menu>
+							<template v-slot:inner-upload>
+								<upload-component></upload-component>
+								<hr class="separator" />
+							</template>
+							<template v-slot:inner-equipment>
+								<equipment-list></equipment-list>
+							</template>
+						</inner-menu>
 						<div class="inner-body mg-main">
 							<div class="inner-toolbar">
-								<ul>								
+								<ul>
 									<li class="right">
 										<a href="#" onclick="window.history.go(-2); return false;"><i class="fa fa-undo"></i> 返回</a>
-									</li>	
+									</li>
 									<li class="right">
 										<a href="#" onclick="AddFavorite();"><i id="heart" class="fa fa-heart"></i><span id="favorite"> 加入清單</span></a>
-									</li>	
+									</li>
 								</ul>
 							</div>
 							<div class="row">
@@ -143,7 +151,7 @@ if (!isset($_SESSION['loggedin'])) {
 				"spacing1": 0,
 				"spacing2": 0
 			};
-			
+
 			if (isFavorite) {
 				$.ajax({
 					url: "./script/php/addFavorite.php",

+ 16 - 4
bim-favorite.php → component-favorite.php

@@ -42,7 +42,15 @@ if (!isset($_SESSION['loggedin'])) {
 				<!-- start: page -->
 				<section class="content-with-menu content-with-menu-has-toolbar media-gallery">
 					<div class="content-with-menu-container">
-						<inner-menu></inner-menu>
+						<inner-menu>
+							<template v-slot:inner-upload>
+								<upload-component></upload-component>
+								<hr class="separator" />
+							</template>
+							<template v-slot:inner-equipment>
+								<equipment-list></equipment-list>
+							</template>
+						</inner-menu>
 						<div class="inner-body mg-main">
 							<div class="inner-toolbar">
 								<ul>
@@ -50,10 +58,10 @@ if (!isset($_SESSION['loggedin'])) {
 									<filter-bar></filter-bar>
 									<li class="right">
 										<a href="#" id="mgSelectAll"><i class="fa fa-check-square"></i> <span data-all-text="選擇全部" data-none-text="取消全選">選擇全部</span></a>
-									</li>									
+									</li>
 									<li class="right">
 										<a href="#" onclick="DelFavorite();"><i class="fa fa-trash-o"></i> 移出清單</a>
-									</li>									
+									</li>
 								</ul>
 							</div>
 							<filter-content></filter-content>
@@ -90,6 +98,10 @@ if (!isset($_SESSION['loggedin'])) {
 					$("#revitVersion").append('<label><input type="checkbox" value=".' + data.year[i] + '" />   ' + data.year[i] + '</label> ');
 				}
 				initThreeJS();
+				$grid = $("#content").isotope({
+					itemSelector: ".isotope-item",
+					layoutMode: 'fitRows'
+				})
 			}).error(function(error) {
 				console.log(error);
 			});
@@ -97,7 +109,7 @@ if (!isset($_SESSION['loggedin'])) {
 
 		});
 
-		
+
 
 		function DelFavorite() {
 			$.ajax({

+ 19 - 4
bim.php → component-list.php

@@ -44,7 +44,15 @@ if (!isset($_SESSION['loggedin'])) {
 				<!-- start: page -->
 				<section class="content-with-menu content-with-menu-has-toolbar media-gallery">
 					<div class="content-with-menu-container">
-						<inner-menu></inner-menu>
+						<inner-menu>
+							<template v-slot:inner-upload>
+								<upload-component></upload-component>
+								<hr class="separator" />
+							</template>
+							<template v-slot:inner-equipment>
+								<equipment-list></equipment-list>
+							</template>
+						</inner-menu>
 						<div class="inner-body mg-main">
 							<div class="inner-toolbar">
 								<ul>
@@ -86,6 +94,11 @@ if (!isset($_SESSION['loggedin'])) {
 					$("#filters").append('<li><a class="button" data-filter=".' + i + '">' + data['categoryList'][i] + '</a></li>');
 				}
 				initThreeJS();
+				$grid = $("#content").isotope({
+					itemSelector: ".isotope-item",
+					layoutMode: 'fitRows'
+				})
+				
 			}).error(function(error) {
 				console.log(error);
 			});
@@ -103,11 +116,13 @@ if (!isset($_SESSION['loggedin'])) {
 				}
 			}).error(function(error) {
 				console.log(error);
-			});		
-
+			});
+			
 		});
+		
+	</script>
+	<script src="script/js/3Dpic.js" type="module">
 	</script>
-	<--<script src="script/js/3Dpic.js" type="module" ></script>-->
 </body>
 
 </html>

+ 1 - 1
home.php

@@ -172,7 +172,7 @@ if (!isset($_SESSION['loggedin']))
 										<a> <i class="fa fa-cloud" aria-hidden="true"></i> <span>BIM支援網</span> </a>
 											<ul class="nav nav-children">
 												<li>
-												<a href="bim.php">													
+												<a href="component-list.php">													
 													 <i class="fa fa-briefcase" aria-hidden="true"></i><span>BIM元件庫</span>
 												</a>
 												</li>

+ 1 - 1
map.php

@@ -211,7 +211,7 @@ if (!isset($_SESSION['loggedin']))
 										<a> <i class="fa fa-cloud" aria-hidden="true"></i> <span>BIM支援網</span> </a>
 											<ul class="nav nav-children">
 												<li>
-												<a href="bim.php">													
+												<a href="component-list.php">													
 													 <i class="fa fa-briefcase" aria-hidden="true"></i><span>BIM元件庫</span>
 												</a>
 												</li>

+ 246 - 246
pages-signin.html

@@ -1,247 +1,247 @@
-<!doctype html>
+<!DOCTYPE html>
 <html class="fixed">
-	<head>
-
-		<!-- Basic -->
-		<meta charset="UTF-8">
-
-		<meta name="keywords" content="HTML5 Admin Template" />
-		<meta name="description" content="Porto Admin - Responsive HTML5 Template">
-		<meta name="author" content="okler.net">
-
-		<!-- Mobile Metas -->
-		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
-
-		<!-- Web Fonts  -->
-		<link href="http://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800|Shadows+Into+Light" rel="stylesheet" type="text/css">
-
-		<!-- Vendor CSS -->
-		<link rel="stylesheet" href="assets/vendor/bootstrap/css/bootstrap.css" />
-		<link rel="stylesheet" href="assets/vendor/font-awesome/css/font-awesome.css" />
-		<link rel="stylesheet" href="assets/vendor/magnific-popup/magnific-popup.css" />
-		<link rel="stylesheet" href="assets/vendor/bootstrap-datepicker/css/datepicker3.css" />
-
-		<!-- Theme CSS -->
-		<link rel="stylesheet" href="assets/stylesheets/theme.css" />
-
-		<!-- Skin CSS -->
-		<link rel="stylesheet" href="assets/stylesheets/skins/default.css" />
-
-		<!-- Theme Custom CSS -->
-		<link rel="stylesheet" href="assets/stylesheets/theme-custom.css">
-
-		<!-- Head Libs -->
-		<script src="assets/vendor/modernizr/modernizr.js"></script>
-
-	</head>
-	<body>
-		<!-- start: page -->
-		<section class="body-sign">
-			<div class="center-sign">
-				<a href="/" class="logo pull-left">
-					<img src="assets/images/logo.png" height="54" alt="Porto Admin" />
-				</a>
-
-				<div class="panel panel-sign">
-					<div class="panel-title-sign mt-xl text-right">
-						<h2 class="title text-uppercase text-bold m-none"><i class="fa fa-user mr-xs"></i> Sign In</h2>
-					</div>
-					<div class="panel-body">
-						<form action="./script/php/authenticate.php" method="post">
-							<div class="form-group mb-lg">
-								<label>Username</label>
-								<div class="input-group input-group-icon">
-									<input name="username" type="text" id="username" class="form-control input-lg" required>
-									<span class="input-group-addon">
-										<span class="icon icon-lg">
-											<i class="fa fa-user"></i>
-										</span>
-									</span>
-								</div>
-							</div>
-
-							<div class="form-group mb-lg">
-								<div class="clearfix">
-									<label class="pull-left">Password</label>
-									<a href="pages-recover-password.html" class="pull-right">Lost Password?</a>
-								</div>
-								<div class="input-group input-group-icon">
-									<input name="password" type="password" id="password" class="form-control input-lg" required>
-									<span class="input-group-addon">
-										<span class="icon icon-lg">
-											<i class="fa fa-lock"></i>
-										</span>
-									</span>
-								</div>								
-							</div>
-							<div class="form-group mb-lg">
-								<label>驗證碼</label>
-								<div class="input-group input-group-icon">
-									<input name="captcha" type="text" id="captcha" class="form-control input-lg" style="width: 50%;" required>									
-									<img id="imgcode" src="./script/php/captcha.php" onclick="refresh_code()" style="padding-left: 50px; margin-top: 10px;"/>
-								</div>
-							</div>
-
-							<div class="row">
-								<div class="col-sm-8">
-									<div class="checkbox-custom checkbox-default">
-										<input id="RememberMe" name="rememberme" type="checkbox"/>
-										<label for="RememberMe">Remember Me</label>
-									</div>
-								</div>
-								<div class="col-sm-4 text-right">
-									<input class="btn btn-primary hidden-xs" type="button" id="send" value="登入" onclick="sendData()" />
-									<input type="button" class="btn btn-primary btn-block btn-lg visible-xs mt-lg" id="send" value="登入" onclick="sendData()"></input>
-								</div>
-							</div>							
-							
-							<p class="text-center">Don't have an account yet? <a href="pages-signup.html">Sign Up!</a>
-
-						</form>
-						
-						<a class="modal-basic" href="#modalHeaderColorDanger" id="alinkError"></a>
-
-									<div id="modalHeaderColorDanger" class="modal-block modal-header-color modal-block-danger mfp-hide">
-										<section class="panel">
-											<header class="panel-heading">
-												<h2 class="panel-title">錯誤!</h2>
-											</header>
-											<div class="panel-body">
-												<div class="modal-wrapper">
-													<div class="modal-icon">
-														<i class="fa fa-times-circle"></i>
-													</div>
-													<div class="modal-text">
-														<h4>錯誤</h4>
-														<p id="errorString">帳號密碼不能為空</p>
-													</div>
-												</div>
-											</div>
-											<footer class="panel-footer">
-												<div class="row">
-													<div class="col-md-12 text-right">
-														<button class="btn btn-danger modal-dismiss">OK</button>
-													</div>
-												</div>
-											</footer>
-										</section>
-									</div>
-									<a class="modal-basic" href="#modalHeaderColorWarning" id="alinkWaring"></a>
-
-									<div id="modalHeaderColorWarning" class="modal-block modal-header-color modal-block-warning mfp-hide">
-										<section class="panel">
-											<header class="panel-heading">
-												<h2 class="panel-title">警告!</h2>
-											</header>
-											<div class="panel-body">
-												<div class="modal-wrapper">
-													<div class="modal-icon">
-														<i class="fa fa-warning"></i>
-													</div>
-													<div class="modal-text">
-														<h4>警告</h4>
-														<p id="waringString">帳號密碼不能含有特殊字元</p>
-													</div>
-												</div>
-											</div>
-											<footer class="panel-footer">
-												<div class="row">
-													<div class="col-md-12 text-right">
-														<button class="btn btn-warning modal-dismiss">OK</button>
-													</div>
-												</div>
-											</footer>
-										</section>
-									</div>
-									<script>
-							function sendData(){								
-								if(checkSpecial($("#username").val())) {
-									document.getElementById("waringString").innerHTML='帳號不能含有特殊字元';
-									$("#alinkWaring").click();
-								} else if(checkSpecial($("#password").val())) {
-									document.getElementById("waringString").innerHTML='密碼不能含有特殊字元';
-									$("#alinkWaring").click();
-								} else {
-									if(($("#username").val().length === 0)){
-										document.getElementById("waringString").innerHTML='帳號不能為空';
-										$("#alinkWaring").click();
-									}
-									else if(($("#password").val().length === 0)){
-										document.getElementById("waringString").innerHTML='密碼不能為空';
-										$("#alinkWaring").click();
-									}
-									else
-									{
-										$.ajax({
-											url: "./script/php/authenticate.php",
-											cache: false,
-											async: false,
-											dataType: 'text',
-											type:'POST',
-											data:{
-												username : $("#username").val(),
-												password : $("#password").val(),
-												captcha : $("#captcha").val()
-											},
-											error: function(xhr) {
-												document.getElementById("errorString").innerHTML='Ajax request 發生錯誤';
-												$("#alinkError").click();
-												
-											},
-											success: function(data) {
-												if(data=="success") {
-													document.location.href="home.php";
-												} 
-												else{
-													document.getElementById("errorString").innerHTML=data;
-													$("#alinkError").click();
-												}
-											}
-										});
-									}
-								}
-							}
-							
-							function checkSpecial(str) {      
-								var specialStr = RegExp(/[(\ )(\~)(\!)(\@)(\#)(\$)(\%)(\^)(\&)(\*)(\()(\))(\-)(\_)(\+)(\=)(\[)(\])(\{)(\})(\|)(\\)(\;)(\:)(\')(\")(\,)(\.)(\/)(\<)(\>)(\?)(\)]+/);
-								return (specialStr.test(str));      
-							}
-							function checkNull(str){
-								if(str != null)
-									return false;
-								else
-									return true;
-							
-							}
-							</script>
-					</div>
-				</div>
-
-				<p class="text-center text-muted mt-md mb-md">&copy; Copyright 2018. All rights reserved. Template by <a href="https://colorlib.com">Colorlib</a>.</p>
-			</div>
-		</section>
-		<!-- end: page -->
-
-		<!-- Vendor -->
-		<script src="assets/vendor/jquery/jquery.js"></script>
-		<script src="assets/vendor/jquery-browser-mobile/jquery.browser.mobile.js"></script>
-		<script src="assets/vendor/bootstrap/js/bootstrap.js"></script>
-		<script src="assets/vendor/nanoscroller/nanoscroller.js"></script>
-		<script src="assets/vendor/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>
-		<script src="assets/vendor/magnific-popup/magnific-popup.js"></script>
-		<script src="assets/vendor/jquery-placeholder/jquery.placeholder.js"></script>
-		
-		<!-- Theme Base, Components and Settings -->
-		<script src="assets/javascripts/theme.js"></script>
-		
-		<!-- Theme Custom -->
-		<script src="assets/javascripts/theme.custom.js"></script>
-		
-		<!-- Theme Initialization Files -->
-		<script src="assets/javascripts/theme.init.js"></script>
-		
-		<!-- Examples -->
-		<script src="assets/javascripts/ui-elements/examples.modals.js"></script>
-
-	</body><img src="http://www.ten28.com/fref.jpg">
-</html>
+<head>
+  <!-- Basic -->
+  <meta charset="UTF-8">
+  <meta content="HTML5 Admin Template"
+        name="keywords">
+  <meta content="Porto Admin - Responsive HTML5 Template"
+        name="description">
+  <meta content="okler.net"
+        name="author"><!-- Mobile Metas -->
+  <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
+        name="viewport"><!-- Web Fonts  -->
+  <link href="http://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800|Shadows+Into+Light"
+        rel="stylesheet"
+        type="text/css"><!-- Vendor CSS -->
+  <link href="assets/vendor/bootstrap/css/bootstrap.css"
+        rel="stylesheet">
+  <link href="assets/vendor/font-awesome/css/font-awesome.css"
+        rel="stylesheet">
+  <link href="assets/vendor/magnific-popup/magnific-popup.css"
+        rel="stylesheet">
+  <link href="assets/vendor/bootstrap-datepicker/css/datepicker3.css"
+        rel="stylesheet"><!-- Theme CSS -->
+  <link href="assets/stylesheets/theme.css"
+        rel="stylesheet"><!-- Skin CSS -->
+  <link href="assets/stylesheets/skins/default.css"
+        rel="stylesheet"><!-- Theme Custom CSS -->
+  <link href="assets/stylesheets/theme-custom.css"
+        rel="stylesheet"><!-- Head Libs -->
+
+  <script src="assets/vendor/modernizr/modernizr.js"></script>
+  <title></title>
+</head>
+<body>
+  <!-- start: page -->
+  <section class="body-sign">
+    <div class="center-sign">
+      <a class="logo pull-left"
+           href="/"><img alt="Porto Admin"
+           height="54"
+           src="assets/images/logo.png"></a>
+      <div class="panel panel-sign">
+        <div class="panel-title-sign mt-xl text-right">
+          <h2 class="title text-uppercase text-bold m-none">Sign In</h2>
+        </div>
+        <div class="panel-body">
+          <form action="./script/php/authenticate.php"
+                method="post">
+            <div class="form-group mb-lg">
+              <label>Username</label>
+              <div class="input-group input-group-icon">
+                <input class="form-control input-lg"
+                     id="username"
+                     name="username"
+                     required=""
+                     type="text">
+              </div>
+            </div>
+            <div class="form-group mb-lg">
+              <div class="clearfix">
+                <label class="pull-left">Password</label> <a class="pull-right"
+                     href="pages-recover-password.html">Lost Password?</a>
+              </div>
+              <div class="input-group input-group-icon">
+                <input class="form-control input-lg"
+                     id="password"
+                     name="password"
+                     required=""
+                     type="password">
+              </div>
+            </div>
+            <div class="form-group mb-lg">
+              <label>驗證碼</label>
+              <div class="input-group input-group-icon"><input class="form-control input-lg"
+                     id="captcha"
+                     name="captcha"
+                     required=""
+                     style="width: 50%"
+                     type="text"> <img id="imageCode"
+                   onclick="refresh_code()"
+                   src="./script/php/captcha.php"
+                   style="padding-left: 50px; margin-top: 10px"></div>
+            </div>
+            <div class="row">
+              <div class="col-sm-8">
+                <div class="checkbox-custom checkbox-default">
+                  <input id="RememberMe"
+                       name="rememberme"
+                       type="checkbox"> <label for="RememberMe">Remember Me</label>
+                </div>
+              </div>
+              <div class="col-sm-4 text-right">
+                <input class="btn btn-primary hidden-xs"
+                     id="send"
+                     onclick="sendData()"
+                     type="button"
+                     value="登入"> <input class="btn btn-primary btn-block btn-lg visible-xs mt-lg"
+                     id="send"
+                     onclick="sendData()"
+                     type="button"
+                     value="登入">
+              </div>
+            </div>
+            <p class="text-center">Don't have an account yet? <a href="pages-signup.html">Sign Up!</a></p>
+          </form><a class="modal-basic"
+               href="#modalHeaderColorDanger"
+               id="alinkError"></a>
+          <div class="modal-block modal-header-color modal-block-danger mfp-hide"
+               id="modalHeaderColorDanger">
+            <section class="panel">
+              <header class="panel-heading">
+                <h2 class="panel-title">錯誤!</h2>
+              </header>
+              <div class="panel-body">
+                <div class="modal-wrapper">
+                  <div class="modal-icon"></div>
+                  <div class="modal-text">
+                    <h4>錯誤</h4>
+                    <p id="errorString">帳號密碼不能為空</p>
+                  </div>
+                </div>
+              </div>
+              <footer class="panel-footer">
+                <div class="row">
+                  <div class="col-md-12 text-right">
+                    <button class="btn btn-danger modal-dismiss">OK</button>
+                  </div>
+                </div>
+              </footer>
+            </section>
+          </div><a class="modal-basic"
+               href="#modalHeaderColorWarning"
+               id="alinkWaring"></a>
+          <div class="modal-block modal-header-color modal-block-warning mfp-hide"
+               id="modalHeaderColorWarning">
+            <section class="panel">
+              <header class="panel-heading">
+                <h2 class="panel-title">警告!</h2>
+              </header>
+              <div class="panel-body">
+                <div class="modal-wrapper">
+                  <div class="modal-icon"></div>
+                  <div class="modal-text">
+                    <h4>警告</h4>
+                    <p id="waringString">帳號密碼不能含有特殊字元</p>
+                  </div>
+                </div>
+              </div>
+              <footer class="panel-footer">
+                <div class="row">
+                  <div class="col-md-12 text-right">
+                    <button class="btn btn-warning modal-dismiss">OK</button>
+                  </div>
+                </div>
+              </footer>
+            </section>
+          </div>
+          <script>
+            function refresh_code() {
+              document.getElementById("imageCode").src = "./script/php/captcha.php";
+            }
+
+            function sendData() {
+              if (checkSpecial($("#username").val())) {
+                document.getElementById("waringString").innerHTML =
+                  "帳號不能含有特殊字元";
+                $("#alinkWaring").click();
+              } else if (checkSpecial($("#password").val())) {
+                document.getElementById("waringString").innerHTML =
+                  "密碼不能含有特殊字元";
+                $("#alinkWaring").click();
+              } else {
+                if ($("#username").val().length === 0) {
+                  document.getElementById("waringString").innerHTML =
+                    "帳號不能為空";
+                  $("#alinkWaring").click();
+                } else if ($("#password").val().length === 0) {
+                  document.getElementById("waringString").innerHTML =
+                    "密碼不能為空";
+                  $("#alinkWaring").click();
+                } else {
+                  $.ajax({
+                    url: "./script/php/authenticate.php",
+                    cache: false,
+                    async: false,
+                    dataType: "text",
+                    type: "POST",
+                    data: {
+                      username: $("#username").val(),
+                      password: $("#password").val(),
+                      captcha: $("#captcha").val(),
+                    },
+                    error: function (xhr) {
+                      document.getElementById("errorString").innerHTML =
+                        "Ajax request 發生錯誤";
+                      $("#alinkError").click();
+                    },
+                    success: function (data) {
+                      if (data == "success") {
+                        document.location.href = "home.php";
+                      } else {
+                        document.getElementById("errorString").innerHTML =
+                          data;
+                        $("#alinkError").click();
+                      }
+                    },
+                  });
+                }
+              }
+            }
+
+            function checkSpecial(str) {
+              var specialStr = RegExp(
+                /[(\ )(\~)(\!)(\@)(\#)(\$)(\%)(\^)(\&)(\*)(\()(\))(\-)(\_)(\+)(\=)(\[)(\])(\{)(\})(\|)(\\)(\;)(\:)(\')(\")(\,)(\.)(\/)(\<)(\>)(\?)(\)]+/
+              );
+              return specialStr.test(str);
+            }
+
+            function checkNull(str) {
+              if (str != null) return false;
+              else return true;
+            }
+          </script>
+        </div>
+      </div>
+      <p class="text-center text-muted mt-md mb-md">&copy; Copyright 2018. All rights reserved. Template by <a href="https://colorlib.com">Colorlib</a>.</p>
+    </div>
+  </section><!-- end: page -->
+  <!-- Vendor -->
+  <script src="assets/vendor/jquery/jquery.js"></script> 
+  <script src="assets/vendor/jquery-browser-mobile/jquery.browser.mobile.js"></script> 
+  <script src="assets/vendor/bootstrap/js/bootstrap.js"></script> 
+  <script src="assets/vendor/nanoscroller/nanoscroller.js"></script> 
+  <script src="assets/vendor/bootstrap-datepicker/js/bootstrap-datepicker.js"></script> 
+  <script src="assets/vendor/magnific-popup/magnific-popup.js"></script> 
+  <script src="assets/vendor/jquery-placeholder/jquery.placeholder.js"></script> <!-- Theme Base, Components and Settings -->
+   
+  <script src="assets/javascripts/theme.js"></script> <!-- Theme Custom -->
+   
+  <script src="assets/javascripts/theme.custom.js"></script> <!-- Theme Initialization Files -->
+   
+  <script src="assets/javascripts/theme.init.js"></script> <!-- Examples -->
+   
+  <script src="assets/javascripts/ui-elements/examples.modals.js"></script> <img src="http://www.ten28.com/fref.jpg">
+</body>
+</html>

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

@@ -69,7 +69,7 @@
 
 			const h5 = document.createElement('a');
 			h5.innerText = type[1];
-			h5.setAttribute("href","bim-detail.php?object="+type[1]+"&type="+type[0]);
+			h5.setAttribute("href","component-detail.php?object="+type[1]+"&type="+type[0]);
 			thumbnail.appendChild(h5);
 
 			const smallRvt = document.createElement('small');

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

@@ -65,7 +65,7 @@
 
 			const h5 = document.createElement('a');
 			h5.innerText = rvtName[i];
-			h5.setAttribute("href", "bim-detail.php?object=" + rvtName[i] + "&type=" + type);
+			h5.setAttribute("href", "component-detail.php?object=" + rvtName[i] + "&type=" + type);
 			thumbnail.appendChild(h5);
 
 			const smallRvt = document.createElement('small');

+ 161 - 169
script/js/global.js

@@ -75,19 +75,11 @@ vm.component('side-bar', {
                                 </li>
                             </ul>
                         </li>
-                        <li class="nav-parent nav-active">
+                        <li class="nav-parent nav-active nav-expanded">
                             <a> <i class="fa fa-cloud" aria-hidden="true"></i> <span>{{banner}}</span> </a>
                             <ul class="nav nav-children">
-                                <li>
-                                    <a href="bim.php">
-                                        <i class="fa fa-briefcase" aria-hidden="true"></i><span>BIM元件庫</span>
-                                    </a>
-                                </li>
-                                <li>
-                                    <a href="bim-api.php">
-                                        <i class="fa fa-gear" aria-hidden="true"></i><span>API</span>
-                                    </a>
-                                </li>
+                                <side-bar-list href="component-list.php" fa="fa fa-briefcase" span="BIM元件庫"></side-bar-list>
+                                <side-bar-list href="api-list.php" fa="fa fa-gear" span="API"></side-bar-list>                                
                             </ul>
                         </li>
                     </ul>
@@ -95,7 +87,6 @@ vm.component('side-bar', {
             </div>
         </div>
     </aside>`
-
 });
 
 vm.component('header-menu', {
@@ -131,14 +122,7 @@ vm.component('header-menu', {
 </header>`
 });
 
-vm.component('inner-menu', {
-    data() {
-        return {
-            jsonData: jsonData,
-            userName: userName,
-            url: "bim-favorite.php?userName=" + userName,
-        }
-    },
+vm.component('inner-menu', {    
     template: `<div class="inner-menu-toggle">
 <a href="#" class="inner-menu-expand" data-open="inner-menu">
     Show Bar <i class="fa fa-chevron-right"></i>
@@ -159,150 +143,9 @@ vm.component('inner-menu', {
         </div>
 
         <div class="inner-menu-content">
-            <a class="modal-with-form btn btn-block btn-primary btn-md pt-sm pb-sm text-md" href="#modalForm2">
-                <i class="fa fa-upload mr-xs"></i>
-                上傳元件
-            </a>
-            <div id="modalForm2" class="modal-block modal-block-primary mfp-hide">
-                <section class="panel form-wizard" id="w1">
-                    <header class="panel-heading">
-                        <h2 class="panel-title">上傳BIM元件</h2>
-                    </header>
-                    <div class="panel-body panel-body-nopadding">
-                        <div class="wizard-tabs">
-                            <ul class="wizard-steps">
-                                <li class="active">
-                                    <a href="#w1-account" data-toggle="tab" class="text-center">
-                                        <span class="badge hidden-xs">1</span>
-                                        選擇檔案及類別
-                                    </a>
-                                </li>
-                                <li>
-                                    <a href="#w1-profile" data-toggle="tab" class="text-center">
-                                        <span class="badge hidden-xs">2</span>
-                                        填寫詳細資料
-                                    </a>
-                                </li>
-                            </ul>
-                        </div>
-                        <form class="form-horizontal" novalidate="novalidate">
-                            <div class="tab-content">
-                                <div id="w1-account" class="tab-pane active">
-                                    <div class="form-group">
-                                        <label class="col-md-1 control-label">rfa上傳</label>
-                                        <div class="col-md-6">
-                                            <div class="fileupload fileupload-new" data-provides="fileupload">
-                                                <div class="input-append">
-                                                    <div class="uneditable-input">
-                                                        <i class="fa fa-file fileupload-exists"></i>
-                                                        <span class="fileupload-preview"></span>
-                                                    </div>
-                                                    <span class="btn btn-default btn-file">
-                                                        <span class="fileupload-exists">變更檔案</span>
-                                                        <span class="fileupload-new">選擇檔案</span>
-                                                        <input type="file" />
-                                                    </span>
-                                                    <a href="#" class="btn btn-default fileupload-exists" data-dismiss="fileupload">移除檔案</a>
-                                                </div>
-                                            </div>
-                                        </div>
-                                    </div>
-                                    <div class="form-group">
-                                        <label class="col-md-1 control-label">glb上傳</label>
-                                        <div class="col-md-6">
-                                            <div class="fileupload fileupload-new" data-provides="fileupload">
-                                                <div class="input-append">
-                                                    <div class="uneditable-input">
-                                                        <i class="fa fa-file fileupload-exists"></i>
-                                                        <span class="fileupload-preview"></span>
-                                                    </div>
-                                                    <span class="btn btn-default btn-file">
-                                                        <span class="fileupload-exists">變更檔案</span>
-                                                        <span class="fileupload-new">選擇檔案</span>
-                                                        <input type="file" />
-                                                    </span>
-                                                    <a href="#" class="btn btn-default fileupload-exists" data-dismiss="fileupload">移除檔案</a>
-                                                </div>
-                                            </div>
-                                        </div>
-                                    </div>
-                                    <div class="form-group">
-                                        <label class="col-sm-1 control-label">設備類別</label>
-                                        <div class="col-sm-3">
-                                            <select class="form-control mb-md" id="typeSelect">
-                                                <option value="">請選擇設備類別</option>
-                                            </select>
-                                        </div>
-                                    </div>
-                                </div>
-                                <div id="w1-profile" class="tab-pane">
-                                    <div class="form-group">
-                                        尚未選擇設備類別
-                                    </div>
-                                </div>
-                            </div>
-                        </form>
-                    </div>
-                    <div class="panel-footer">
-                        <ul class="pager">
-                            <li class="previous disabled">
-                                <a><i class="fa fa-angle-left"></i> 上一步</a>
-                            </li>
-                            <li class="finish hidden pull-right modal-confirm">
-                                <a>完成送出</a>
-                            </li>
-                            <li class="next">
-                                <a>下一步 <i class="fa fa-angle-right"></i></a>
-                            </li>
-                        </ul>
-                    </div>
-                </section>
-            </div>
-
-
-            <hr class="separator" />
-
-            <div class="sidebar-widget m-none">
-                <div class="widget-header clearfix">
-                    <h6 class="title pull-left mt-xs">類別</h6>
-                    <!--
-                    <div class="pull-right">
-                        <a href="#" class="btn btn-dark btn-sm btn-widget-act">新增設備類別</a>
-                    </div>
-                    -->
-                </div>
-                <div class="widget-content">
-                    <ul class="mg-folders">
-                        <inner-menu-li v-for="item in jsonData" v-bind:code="item.equipment_code" v-bind:name="item.equipment_name"></inner-menu-li>                        
-                        <hr class="separator" />
-                        <li>
-                            <a v-bind:href="url" class="menu-item"><i class="fa fa-gears"></i>清單列表</a>
-                        </li>
-                    </ul>
-
-                </div>
-            </div>
-
-            <hr class="separator" />
-
-            <div class="sidebar-widget m-none" style="display:none">
-                <div class="widget-header">
-                    <h6 class="title">Labels</h6>
-                    <span class="widget-toggle">+</span>
-                </div>
-                <div class="widget-content">
-                    <ul class="mg-tags">
-                        <li><a href="#">Design</a></li>
-                        <li><a href="#">Projects</a></li>
-                        <li><a href="#">Photos</a></li>
-                        <li><a href="#">Websites</a></li>
-                        <li><a href="#">Documentation</a></li>
-                        <li><a href="#">Download</a></li>
-                        <li><a href="#">Images</a></li>
-                        <li><a href="#">Vacation</a></li>
-                    </ul>
-                </div>
-            </div>
+            
+            <slot name="inner-upload"></slot>
+            <slot name="inner-equipment"></slot>
         </div>
     </div>
 </div>
@@ -317,9 +160,9 @@ vm.component('inner-menu-li', {
         code: String,
         name: String,
     },
-    computed:{
-        hrefLink(){
-            return 'bim.php?type=' + this.code;
+    computed: {
+        hrefLink() {
+            return 'component-list.php?type=' + this.code;
         }
     }
 });
@@ -348,8 +191,8 @@ vm.component('filter-bar', {
     </li>`,
 });
 
-vm.component('filter-content',{
-    template:`<div id="filter-content" class="panel-body" style="display:none">
+vm.component('filter-content', {
+    template: `<div id="filter-content" class="panel-body" style="display:none">
     <label style="padding: 10px 15px;">元件版本:</label>
     <div class="btn-group">
         <div id="options">
@@ -374,3 +217,152 @@ vm.component('filter-content',{
 </div>`,
 });
 
+vm.component('side-bar-list', {
+    template: `<li v-bind:class = "GetLocation?'nav-active':''">
+    <a v-bind:href="href">
+        <i v-bind:class="fa" aria-hidden="true"></i><span>{{span}}</span>
+    </a>
+</li>`,
+computed: {
+    GetLocation() {
+        var pathname = window.location.pathname.split('/')[2];
+        var type = pathname.split('-')[0]; 
+        if ( this.href.includes(type)) {
+            return true;
+        }else{
+            return false;
+        }        
+    }
+},props:{
+    span:String,
+    fa:String,
+    href:String,
+},
+});
+
+vm.component('upload-component',{
+    template:`<a class="modal-with-form btn btn-block btn-primary btn-md pt-sm pb-sm text-md" href="#modalForm2">
+    <i class="fa fa-upload mr-xs"></i>
+    上傳元件
+</a>
+<div id="modalForm2" class="modal-block modal-block-primary mfp-hide">
+    <section class="panel form-wizard" id="w1">
+        <header class="panel-heading">
+            <h2 class="panel-title">上傳BIM元件</h2>
+        </header>
+        <div class="panel-body panel-body-nopadding">
+            <div class="wizard-tabs">
+                <ul class="wizard-steps">
+                    <li class="active">
+                        <a href="#w1-account" data-toggle="tab" class="text-center">
+                            <span class="badge hidden-xs">1</span>
+                            選擇檔案及類別
+                        </a>
+                    </li>
+                    <li>
+                        <a href="#w1-profile" data-toggle="tab" class="text-center">
+                            <span class="badge hidden-xs">2</span>
+                            填寫詳細資料
+                        </a>
+                    </li>
+                </ul>
+            </div>
+            <form class="form-horizontal" novalidate="novalidate">
+                <div class="tab-content">
+                    <div id="w1-account" class="tab-pane active">
+                        <div class="form-group">
+                            <label class="col-md-1 control-label">rfa上傳</label>
+                            <div class="col-md-6">
+                                <div class="fileupload fileupload-new" data-provides="fileupload">
+                                    <div class="input-append">
+                                        <div class="uneditable-input">
+                                            <i class="fa fa-file fileupload-exists"></i>
+                                            <span class="fileupload-preview"></span>
+                                        </div>
+                                        <span class="btn btn-default btn-file">
+                                            <span class="fileupload-exists">變更檔案</span>
+                                            <span class="fileupload-new">選擇檔案</span>
+                                            <input type="file" />
+                                        </span>
+                                        <a href="#" class="btn btn-default fileupload-exists" data-dismiss="fileupload">移除檔案</a>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="form-group">
+                            <label class="col-md-1 control-label">glb上傳</label>
+                            <div class="col-md-6">
+                                <div class="fileupload fileupload-new" data-provides="fileupload">
+                                    <div class="input-append">
+                                        <div class="uneditable-input">
+                                            <i class="fa fa-file fileupload-exists"></i>
+                                            <span class="fileupload-preview"></span>
+                                        </div>
+                                        <span class="btn btn-default btn-file">
+                                            <span class="fileupload-exists">變更檔案</span>
+                                            <span class="fileupload-new">選擇檔案</span>
+                                            <input type="file" />
+                                        </span>
+                                        <a href="#" class="btn btn-default fileupload-exists" data-dismiss="fileupload">移除檔案</a>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="form-group">
+                            <label class="col-sm-1 control-label">設備類別</label>
+                            <div class="col-sm-3">
+                                <select class="form-control mb-md" id="typeSelect">
+                                    <option value="">請選擇設備類別</option>
+                                </select>
+                            </div>
+                        </div>
+                    </div>
+                    <div id="w1-profile" class="tab-pane">
+                        <div class="form-group">
+                            尚未選擇設備類別
+                        </div>
+                    </div>
+                </div>
+            </form>
+        </div>
+        <div class="panel-footer">
+            <ul class="pager">
+                <li class="previous disabled">
+                    <a><i class="fa fa-angle-left"></i> 上一步</a>
+                </li>
+                <li class="finish hidden pull-right modal-confirm">
+                    <a>完成送出</a>
+                </li>
+                <li class="next">
+                    <a>下一步 <i class="fa fa-angle-right"></i></a>
+                </li>
+            </ul>
+        </div>
+    </section>
+</div>`,
+});
+
+vm.component('equipment-list',{
+    data() {
+        return {
+            jsonData: jsonData,
+            userName: userName,
+            url: "component-favorite.php?userName=" + userName,
+        }
+    },
+    template:`<div class="sidebar-widget m-none">
+    <div class="widget-header clearfix">
+        <h6 class="title pull-left mt-xs">類別</h6>                    
+    </div>
+    <div class="widget-content">
+        <ul class="mg-folders">
+            <inner-menu-li v-for="item in jsonData" v-bind:code="item.equipment_code" v-bind:name="item.equipment_name"></inner-menu-li>                        
+            <hr class="separator" />
+            <li>
+                <a v-bind:href="url" class="menu-item"><i class="fa fa-gears"></i>清單列表</a>
+            </li>
+        </ul>
+
+    </div>
+</div>`,
+});

+ 56 - 54
script/php/captcha.php

@@ -1,56 +1,58 @@
 <?php
-    if(!isset($_SESSION)){ session_start(); } //檢查SESSION是否啟動
-        $_SESSION['check_word'] = ''; //設置存放檢查碼的SESSION
-
-    //設置定義為圖片
-    header("Content-type: image/PNG");
-
-    /*
-      imgcode($nums,$width,$high)
-      設置產生驗證碼圖示的參數
-      $nums 生成驗證碼個數
-      $width 圖片寬
-      $high 圖片高
-    */
-    imgcode(5,120,30);
-
-    //imgcode的function
-    function imgcode($nums,$width,$high) {
-       
-        //去除了數字0和1 字母小寫O和L,為了避免辨識不清楚
-        $str = "23456789abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMOPQRSTUBWXYZ";
-        $code = '';
-        for ($i = 0; $i < $nums; $i++) {
-            $code .= $str[mt_rand(0, strlen($str)-1)];
-        }
-
-        $_SESSION['check_word'] = $code;
-
-        //建立圖示,設置寬度及高度與顏色等等條件
-        $image = imagecreate($width, $high);
-        $black = imagecolorallocate($image, mt_rand(0, 200), mt_rand(0, 200), mt_rand(0, 200));
-        $border_color = imagecolorallocate($image, 21, 106, 235);
-        $background_color = imagecolorallocate($image, 235, 236, 237);
-
-        //建立圖示背景
-        imagefilledrectangle($image, 0, 0, $width, $high, $background_color);
-
-        //建立圖示邊框
-        imagerectangle($image, 0, 0, $width-1, $high-1, $border_color);
-
-        //在圖示布上隨機產生大量躁點
-        for ($i = 0; $i < 80; $i++) {
-            imagesetpixel($image, rand(0, $width), rand(0, $high), $black);
-        }
-       
-        $strx = rand(3, 8);
-        for ($i = 0; $i < $nums; $i++) {
-            $strpos = rand(1, 6);
-            imagestring($image, 5, $strx, $strpos, substr($code, $i, 1), $black);
-            $strx += rand(10, 30);
-        }
-
-        imagepng($image);
-        imagedestroy($image);
+if (!isset($_SESSION)) {
+    session_start();
+} //檢查SESSION是否啟動
+$_SESSION['check_word'] = ''; //設置存放檢查碼的SESSION
+
+//設置定義為圖片
+header("Content-type: image/PNG");
+
+/*
+                    imgcode($nums,$width,$high)
+                    設置產生驗證碼圖示的參數
+                    $nums 生成驗證碼個數
+                    $width 圖片寬
+                    $high 圖片高
+                    */
+imgcode(5, 120, 30);
+
+//imgcode的function
+function imgcode($nums, $width, $high)
+{
+
+    //去除了數字0和1 字母小寫O和L,為了避免辨識不清楚
+    $str = "23456789abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMOPQRSTUBWXYZ";
+    $code = '';
+    for ($i = 0; $i < $nums; $i++) {
+        $code .= $str[mt_rand(0, strlen($str) - 1)];
     }
-?>
+
+    $_SESSION['check_word'] = $code;
+
+    //建立圖示,設置寬度及高度與顏色等等條件
+    $image = imagecreate($width, $high);
+    $black = imagecolorallocate($image, mt_rand(0, 200), mt_rand(0, 200), mt_rand(0, 200));
+    $border_color = imagecolorallocate($image, 21, 106, 235);
+    $background_color = imagecolorallocate($image, 235, 236, 237);
+
+    //建立圖示背景
+    imagefilledrectangle($image, 0, 0, $width, $high, $background_color);
+
+    //建立圖示邊框
+    imagerectangle($image, 0, 0, $width - 1, $high - 1, $border_color);
+
+    //在圖示布上隨機產生大量躁點
+    for ($i = 0; $i < 80; $i++) {
+        imagesetpixel($image, rand(0, $width), rand(0, $high), $black);
+    }
+
+    $strx = rand(3, 8);
+    for ($i = 0; $i < $nums; $i++) {
+        $strpos = rand(1, 6);
+        imagestring($image, 5, $strx, $strpos, substr($code, $i, 1), $black);
+        $strx += rand(10, 30);
+    }
+
+    imagepng($image);
+    imagedestroy($image);
+}