Commit 22d92b95 authored by ='s avatar =

hieu final01

parent e3332b54
...@@ -21,43 +21,21 @@ public class EmailBussiness { ...@@ -21,43 +21,21 @@ public class EmailBussiness {
public boolean sendEmail(EmailDTO emailDTO) { public boolean sendEmail(EmailDTO emailDTO) {
boolean check;
// MimeMessage message = sender.createMimeMessage(); //Cấu hình email người gửi
// MimeMessageHelper helper = new MimeMessageHelper(message);
//
//
// try {
// helper.setTo(emailDTO.getRecipientEmail());
// helper.setText(emailDTO.getMessage(),"text/html");
// helper.setSubject(emailDTO.getSubject());
// sender.send(message);
// check = true;
// } catch (Exception e) {
// e.printStackTrace();
// check = false;
// }
// Recipient's email ID needs to be mentioned.
String to = emailDTO.getRecipientEmail();
// Sender's email ID needs to be mentioned
String from = "hieunv2496@gmail.com"; String from = "hieunv2496@gmail.com";
final String username = "hieunv2496@gmail.com";//change accordingly final String username = "hieunv2496@gmail.com";//change accordingly
final String password = "anhieu1996";//change accordingly final String password = "anhieu1996";//change accordingly
Properties props = new Properties(); Properties props = new Properties();
props.put("mail.smtp.auth", "true"); props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587"); props.put("mail.smtp.port", "587");
// Get the Session object.
Session session = Session.getInstance(props, Session session = Session.getInstance(props, new javax.mail.Authenticator() {
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() { protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password); return new PasswordAuthentication(username, password);
} }
...@@ -72,24 +50,22 @@ public class EmailBussiness { ...@@ -72,24 +50,22 @@ public class EmailBussiness {
// Set To: header field of the header. // Set To: header field of the header.
message.setRecipients(Message.RecipientType.TO, message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to)); InternetAddress.parse(emailDTO.getRecipientEmail()));
// Set Subject: header field // Set Subject: header field
message.setSubject(emailDTO.getSubject()); message.setSubject(emailDTO.getSubject());
// Send the actual HTML message, as big as you like // Send the actual HTML message, as big as you like
message.setContent( message.setContent(emailDTO.getMessage(),"text/html");
emailDTO.getMessage(),
"text/html");
// Send message // Send message
Transport.send(message); Transport.send(message);
System.out.println("Sent message successfully...."); System.out.println("Sent message successfully....");
} catch (MessagingException e) { } catch (MessagingException e) {
e.printStackTrace(); e.printStackTrace();
throw new RuntimeException(e); throw new RuntimeException(e);
} }
......
...@@ -25,17 +25,11 @@ public class GeneratePasswordBussiness { ...@@ -25,17 +25,11 @@ public class GeneratePasswordBussiness {
public String getAlphaNumericString(){ public String getAlphaNumericString(){
// length is bounded by 256 Character
byte[] array = new byte[256]; byte[] array = new byte[256];
new Random().nextBytes(array); new Random().nextBytes(array);
int n = 8; int n = 8;
String randomString = new String(array, Charset.forName("UTF-8")); String randomString = new String(array, Charset.forName("UTF-8"));
// Create license StringBuffer to store the result
StringBuffer pass = new StringBuffer(); StringBuffer pass = new StringBuffer();
// Append first 20 alphanumeric characters
// from the generated random String into the result
for (int k = 0; k < randomString.length(); k++) { for (int k = 0; k < randomString.length(); k++) {
char ch = randomString.charAt(k); char ch = randomString.charAt(k);
......
...@@ -2,7 +2,9 @@ package com.itsol.quantrivanphong.access.register.controller; ...@@ -2,7 +2,9 @@ package com.itsol.quantrivanphong.access.register.controller;
import com.itsol.quantrivanphong.access.register.bussiness.GeneratePasswordBussiness; import com.itsol.quantrivanphong.access.register.bussiness.GeneratePasswordBussiness;
import com.itsol.quantrivanphong.model.notification;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -16,11 +18,11 @@ public class VerifyAccountController { ...@@ -16,11 +18,11 @@ public class VerifyAccountController {
private GeneratePasswordBussiness generatePasswordBussiness; private GeneratePasswordBussiness generatePasswordBussiness;
@GetMapping(path = "/{username}") @GetMapping(path = "/{username}")
public String verifyPassword(@PathVariable("username") String username){ public ResponseEntity verifyPassword(@PathVariable("username") String username){
String mess = generatePasswordBussiness.insertPassword(username); String mess = generatePasswordBussiness.insertPassword(username);
return mess; return ResponseEntity.ok(new notification(200,mess));
} }
} }
...@@ -23,7 +23,14 @@ angular.module("myApp", ["ngAnimate", "ui.router", "ui.bootstrap"]).config(funct ...@@ -23,7 +23,14 @@ angular.module("myApp", ["ngAnimate", "ui.router", "ui.bootstrap"]).config(funct
} }
} }
}) })
.state("layout3", {
abstract: true,
views: {
"layout": {
templateUrl: "layout/layout3.html"
}
}
})
.state("employees", { .state("employees", {
parent: 'layout1', parent: 'layout1',
...@@ -209,6 +216,18 @@ angular.module("myApp", ["ngAnimate", "ui.router", "ui.bootstrap"]).config(funct ...@@ -209,6 +216,18 @@ angular.module("myApp", ["ngAnimate", "ui.router", "ui.bootstrap"]).config(funct
} }
} }
}) })
.state("register", {
parent: 'layout3',
url: "/register",
views: {
"content": {
templateUrl: "signup.html",
controller: "employeeController"
}
}
})
//end report======================================================================================================= //end report=======================================================================================================
......
<script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<!-- Bootstrap Core CSS -->
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />
<!-- Custom CSS -->
<link href="css/style.css" rel='stylesheet' type='text/css' />
<!-- font-awesome icons CSS -->
<link href="css/font-awesome.css" rel="stylesheet">
<!-- //font-awesome icons CSS -->
<!-- side nav css file -->
<link href='css/SidebarNav.min.css' media='all' rel='stylesheet' type='text/css'/>
<!-- side nav css file -->
<!-- js-->
<script src="js/jquery-1.11.1.min.js"></script>
<script src="js/modernizr.custom.js"></script>
<!--webfonts-->
<link href="//fonts.googleapis.com/css?family=PT+Sans:400,400i,700,700i&amp;subset=cyrillic,cyrillic-ext,latin-ext" rel="stylesheet">
<!--//webfonts-->
<!-- Metis Menu -->
<script src="js/metisMenu.min.js"></script>
<script src="js/custom.js"></script>
<link href="css/custom.css" rel="stylesheet">
<!--//Metis Menu -->
<body class="cbp-spmenu-push">
<div class="main-content">
<div class="cbp-spmenu cbp-spmenu-vertical cbp-spmenu-left" id="cbp-spmenu-s1">
<!--left-fixed -navigation-->
<aside class="sidebar-left">
<nav class="navbar navbar-inverse">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".collapse" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<h1><a class="navbar-brand" href="index.html"><span class="fa fa-area-chart"></span> Glance<span class="dashboard_text">Design dashboard</span></a></h1>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="sidebar-menu">
<li class="header">MAIN NAVIGATION</li>
<li class="treeview">
<a href="index.html">
<span class="glyphicon glyphicon-user"></span> <span>Employee</span>
</a>
</li>
<li class="treeview">
<a href="#">
<i class="fa fa-laptop"></i>
<span>Components</span>
<i class="fa fa-angle-left pull-right"></i>
</a>
<ul class="treeview-menu">
<li><a href="grids.html"><i class="fa fa-angle-right"></i> Grids</a></li>
<li><a href="media.html"><i class="fa fa-angle-right"></i> Media Css</a></li>
</ul>
<li class="treeview">
<a href="#">
<i class="fa fa-laptop"></i>
<span>UI Elements</span>
<i class="fa fa-angle-left pull-right"></i>
</a>
<ul class="treeview-menu">
<li><a href="general.html"><i class="fa fa-angle-right"></i> General</a></li>
<li><a href="icons.html"><i class="fa fa-angle-right"></i> Icons</a></li>
<li><a href="buttons.html"><i class="fa fa-angle-right"></i> Buttons</a></li>
<li><a href="typography.html"><i class="fa fa-angle-right"></i> Typography</a></li>
</ul>
</li>
<li>
<a href="timesheet.html">
<i class="fa fa-th"></i> <span>TimeSheet</span>
<small class="label pull-right label-info">08</small>
</a>
</li>
<li class="treeview">
<a href="#">
<i class="fa fa-edit"></i> <span>Forms</span>
<i class="fa fa-angle-left pull-right"></i>
</a>
<ul class="treeview-menu">
<li><a href="forms.html"><i class="fa fa-angle-right"></i> General Forms</a></li>
<li><a href="validation.html"><i class="fa fa-angle-right"></i> Form Validations</a></li>
</ul>
</li>
<li class="treeview">
<a href="#">
<i class="fa fa-table"></i> <span>Tables</span>
<i class="fa fa-angle-left pull-right"></i>
</a>
<ul class="treeview-menu">
<li><a href="tables.html"><i class="fa fa-angle-right"></i> Simple tables</a></li>
</ul>
</li>
<li class="treeview">
<a href="#">
<i class="fa fa-envelope"></i> <span>Mailbox</span>
<i class="fa fa-angle-left pull-right"></i><small class="label pull-right label-info1">08</small><span class="label label-primary1 pull-right">02</span></a>
<ul class="treeview-menu">
<li><a href="inbox.html"><i class="fa fa-angle-right"></i> Mail Inbox</a></li>
<li><a href="compose.html"><i class="fa fa-angle-right"></i> Compose Mail </a></li>
</ul>
</li>
<li class="treeview">
<a href="#">
<i class="fa fa-folder"></i> <span>Examples</span>
<i class="fa fa-angle-left pull-right"></i>
</a>
<ul class="treeview-menu">
<li><a href="login.html"><i class="fa fa-angle-right"></i> Login</a></li>
<li><a href="signup.html"><i class="fa fa-angle-right"></i> Register</a></li>
<li><a href="404.html"><i class="fa fa-angle-right"></i> 404 Error</a></li>
<li><a href="500.html"><i class="fa fa-angle-right"></i> 500 Error</a></li>
<li><a href="blank-page.html"><i class="fa fa-angle-right"></i> Blank Page</a></li>
</ul>
</li>
<li class="header">LABELS</li>
<li><a href="#"><i class="fa fa-angle-right text-red"></i> <span>Important</span></a></li>
<li><a href="#"><i class="fa fa-angle-right text-yellow"></i> <span>Warning</span></a></li>
<li><a href="#"><i class="fa fa-angle-right text-aqua"></i> <span>Information</span></a></li>
</ul>
</div>
<!-- /.navbar-collapse -->
</nav>
</aside>
</div>
<!--left-fixed -navigation-->
<!-- header-starts -->
<div class="sticky-header header-section ">
<div class="header-left">
<!--toggle button start-->
<button id="showLeftPush"><i class="fa fa-bars"></i></button>
<!--toggle button end-->
<div class="profile_details_left"><!--notifications of menu start -->
<ul class="nofitications-dropdown">
<li class="dropdown head-dpdn">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false"><i class="fa fa-envelope"></i><span class="badge">4</span></a>
<ul class="dropdown-menu">
<li>
<div class="notification_header">
<h3>You have 3 new messages</h3>
</div>
</li>
<li><a href="#">
<div class="user_img"><img src="images/1.jpg" alt=""></div>
<div class="notification_desc">
<p>Lorem ipsum dolor amet</p>
<p><span>1 hour ago</span></p>
</div>
<div class="clearfix"></div>
</a></li>
<li class="odd"><a href="#">
<div class="user_img"><img src="images/4.jpg" alt=""></div>
<div class="notification_desc">
<p>Lorem ipsum dolor amet </p>
<p><span>1 hour ago</span></p>
</div>
<div class="clearfix"></div>
</a></li>
<li><a href="#">
<div class="user_img"><img src="images/3.jpg" alt=""></div>
<div class="notification_desc">
<p>Lorem ipsum dolor amet </p>
<p><span>1 hour ago</span></p>
</div>
<div class="clearfix"></div>
</a></li>
<li>
<div class="notification_bottom">
<a href="#">See all messages</a>
</div>
</li>
</ul>
</li>
<li class="dropdown head-dpdn">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false"><i class="fa fa-bell"></i><span class="badge blue">4</span></a>
<ul class="dropdown-menu">
<li>
<div class="notification_header">
<h3>You have 3 new notification</h3>
</div>
</li>
<li><a href="#">
<div class="user_img"><img src="images/4.jpg" alt=""></div>
<div class="notification_desc">
<p>Lorem ipsum dolor amet</p>
<p><span>1 hour ago</span></p>
</div>
<div class="clearfix"></div>
</a></li>
<li class="odd"><a href="#">
<div class="user_img"><img src="images/1.jpg" alt=""></div>
<div class="notification_desc">
<p>Lorem ipsum dolor amet </p>
<p><span>1 hour ago</span></p>
</div>
<div class="clearfix"></div>
</a></li>
<li><a href="#">
<div class="user_img"><img src="images/3.jpg" alt=""></div>
<div class="notification_desc">
<p>Lorem ipsum dolor amet </p>
<p><span>1 hour ago</span></p>
</div>
<div class="clearfix"></div>
</a></li>
<li>
<div class="notification_bottom">
<a href="#">See all notifications</a>
</div>
</li>
</ul>
</li>
<li class="dropdown head-dpdn">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false"><i class="fa fa-tasks"></i><span class="badge blue1">8</span></a>
<ul class="dropdown-menu">
<li>
<div class="notification_header">
<h3>You have 8 pending task</h3>
</div>
</li>
<li><a href="#">
<div class="task-info">
<span class="task-desc">Database update</span><span class="percentage">40%</span>
<div class="clearfix"></div>
</div>
<div class="progress progress-striped active">
<div class="bar yellow" style="width:40%;"></div>
</div>
</a></li>
<li><a href="#">
<div class="task-info">
<span class="task-desc">Dashboard done</span><span class="percentage">90%</span>
<div class="clearfix"></div>
</div>
<div class="progress progress-striped active">
<div class="bar green" style="width:90%;"></div>
</div>
</a></li>
<li><a href="#">
<div class="task-info">
<span class="task-desc">Mobile App</span><span class="percentage">33%</span>
<div class="clearfix"></div>
</div>
<div class="progress progress-striped active">
<div class="bar red" style="width: 33%;"></div>
</div>
</a></li>
<li><a href="#">
<div class="task-info">
<span class="task-desc">Issues fixed</span><span class="percentage">80%</span>
<div class="clearfix"></div>
</div>
<div class="progress progress-striped active">
<div class="bar blue" style="width: 80%;"></div>
</div>
</a></li>
<li>
<div class="notification_bottom">
<a href="#">See all pending tasks</a>
</div>
</li>
</ul>
</li>
</ul>
<div class="clearfix"> </div>
</div>
<!--notification menu end -->
<div class="clearfix"> </div>
</div>
<div class="header-right">
<!--search-box-->
<div class="search-box">
<form class="input">
<input class="sb-search-input input__field--madoka" placeholder="Search..." type="search" id="input-31" />
<label class="input__label" for="input-31">
<svg class="graphic" width="100%" height="100%" viewBox="0 0 404 77" preserveAspectRatio="none">
<path d="m0,0l404,0l0,77l-404,0l0,-77z"/>
</svg>
</label>
</form>
</div><!--//end-search-box-->
<div class="profile_details">
<ul>
<li class="dropdown profile_details_drop">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<div class="profile_img">
<span class="prfil-img"><img src="images/2.jpg" alt=""> </span>
<div class="user-name">
<p>Admin Name</p>
<span>Administrator</span>
</div>
<i class="fa fa-angle-down lnr"></i>
<i class="fa fa-angle-up lnr"></i>
<div class="clearfix"></div>
</div>
</a>
<ul class="dropdown-menu drp-mnu">
<li> <a href="#"><i class="fa fa-cog"></i> Settings</a> </li>
<li> <a href="#"><i class="fa fa-user"></i> My Account</a> </li>
<li> <a href="#"><i class="fa fa-suitcase"></i> Profile</a> </li>
<li> <a href="#"><i class="fa fa-sign-out"></i> Logout</a> </li>
</ul>
</li>
</ul>
</div>
<div class="clearfix"> </div>
</div>
<div class="clearfix"> </div>
</div>
<!-- //header-ends -->
<div ui-view="content">
</div>
<!--footer-->
<div class="footer">
<p>&copy; 2018 Glance Design Dashboard. All Rights Reserved | Design by <a href="https://w3layouts.com/" target="_blank">w3layouts</a></p>
</div>
<!--//footer-->
</div>
<!-- side nav js -->
<script src='js/SidebarNav.min.js' type='text/javascript'></script>
<script>
$('.sidebar-menu').SidebarNav()
</script>
<!-- //side nav js -->
<!-- Classie --><!-- for toggle left push menu script -->
<script src="js/classie.js"></script>
<script>
var menuLeft = document.getElementById( 'cbp-spmenu-s1' ),
showLeftPush = document.getElementById( 'showLeftPush' ),
body = document.body;
showLeftPush.onclick = function() {
classie.toggle( this, 'active' );
classie.toggle( body, 'cbp-spmenu-push-toright' );
classie.toggle( menuLeft, 'cbp-spmenu-open' );
disableOther( 'showLeftPush' );
};
function disableOther( button ) {
if( button !== 'showLeftPush' ) {
classie.toggle( showLeftPush, 'disabled' );
}
}
</script>
<!-- //Classie --><!-- //for toggle left push menu script -->
<!--scrolling js-->
<script src="js/jquery.nicescroll.js"></script>
<script src="js/scripts.js"></script>
<!--//scrolling js-->
<!-- Bootstrap Core JavaScript -->
<script src="js/bootstrap.js"> </script>
</body>
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-md-8"> <div class="col-md-8">
<div> <div ng-controller="listLackOfReportController">
<input class="search" ng-model="search" type="text" placeholder="Search" ng-change="currentPage =1"> <input class="search" ng-model="search" type="text" placeholder="Search" ng-change="currentPage =1">
<h3>Danh Sách Thành viên thiếu TimeSheet</h3> <h3>Danh Sách Thành viên thiếu TimeSheet</h3>
......
...@@ -60,12 +60,13 @@ ...@@ -60,12 +60,13 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<div><a ng-click="history.go(-1);" class="btn btn-primary btn-circle btn-sm" style="margin-bottom: 10px;" > Trở Về</a></div>
<uib-pagination total-items="getTotalItems()" boundary-link-numbers="true" ng-model="currentPage" <uib-pagination total-items="getTotalItems()" boundary-link-numbers="true" ng-model="currentPage"
ng-change="pageChangedIndex()" rotate="true" ng-change="pageChangedIndex()" rotate="true"
items-per-page="employeePerPage"></uib-pagination> items-per-page="employeePerPage"></uib-pagination>
</div> </div>
<div><a ng-click="history.go(-1);" class="btn btn-primary btn-circle btn-sm" style="margin-bottom: 10px;" > Trở Về</a></div>
</div> </div>
</div> </div>
......
var app = angular.module('myApp'); var app = angular.module('myApp');
app.controller('reportController',projectList); app.controller('reportController',projectList);
app.controller('timeSheetListController' , timeSheetList); app.controller('timeSheetListController' , timeSheetList);
app.controller('updateTimeSheetStatusController',updateTimeSheetStatus);
app.controller('updateTimeSheetCheckedController', updateTimeSheetChecked);
app.controller('listLackOfReportController',employeeList); app.controller('listLackOfReportController',employeeList);
app.controller('insertProjectReportController', insertProjectReport);
app.controller('allProjectReportController',allProjectReport); app.controller('allProjectReportController',allProjectReport);
app.controller('projectReportDetailController', projectReportDetail); app.controller('projectReportDetailController', projectReportDetail);
app.controller('deleteReportController',deleteReport);
app.controller('listEmployeeLackController',listEmployeeLack); app.controller('listEmployeeLackController',listEmployeeLack);
//Báo cáo ngày
// Danh sách các dự án đang triển khai // Danh sách các dự án đang triển khai
function projectList($scope, $http) { function projectList($scope, $http) {
...@@ -30,33 +26,42 @@ function projectList($scope, $http) { ...@@ -30,33 +26,42 @@ function projectList($scope, $http) {
console.log(response) console.log(response)
}); });
} // Thêm mới báo cáo theo khoảng thời gian
$scope.insertReport = function (id, firstDate, finalDate) {
//======================================================================================================================
// Danh Sách Báo cáo ngày của dự án đó
function timeSheetList($scope, $http, $stateParams){
$scope.request = { $scope.request = {
"currentDate": "" "projectId": id,
}; "firstPoint": "",
var date = new Date(); "finalPoint": ""
$scope.request.currentDate = date.getFullYear() + '-' + ('0' + (date.getMonth() + 1)).slice(-2) + '-' + ('0' + date.getDate()).slice(-2); }
$scope.request.firstPoint = firstDate.getFullYear() + '-' + ('0' + (firstDate.getMonth() + 1)).slice(-2) + '-' + ('0' + firstDate.getDate()).slice(-2);
$scope.request.finalPoint = finalDate.getFullYear() + '-' + ('0' + (finalDate.getMonth() + 1)).slice(-2) + '-' + ('0' + finalDate.getDate()).slice(-2);
if (confirm("Bạn có muốn thực hiện ?")) {
$http({ $http({
method: 'GET', method: 'POST',
url: "http://localhost:8081/admin/report/project/"+$stateParams.ID+"/timeSheet/"+$scope.request.currentDate, url: "http://localhost:8081/admin/report/project/newReport",
data: $scope.request,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}).then(successCallback, errorCallback);
//tạo funtion nếu thành công!
function successCallback(response) {
$scope.messages=response.data;
alert($scope.messages.view);
}
//tạo funtion kiểm tra nếu thất bại
function errorCallback(error) {
//error code
console.log("Create FALSE !!!");
}
}
};
}).then(function successCallback(response) { //Khởi tạo thành viên thiếu báo cáo ngày hôm đó
console.log(response);
$scope.timeSheets= response.data;
console.log($scope.timeSheets);
}, function errorCallback(error) {
console.log(error)
});
}
function updateTimeSheetStatus($scope, $window, $http) {
$scope.request = { $scope.request = {
"currentDate": "" "currentDate": ""
}; };
...@@ -85,9 +90,36 @@ function updateTimeSheetStatus($scope, $window, $http) { ...@@ -85,9 +90,36 @@ function updateTimeSheetStatus($scope, $window, $http) {
} }
} }
}; };
};
function updateTimeSheetChecked($scope, $window, $http) { }
//======================================================================================================================
//Báo cáo ngày
// Danh Sách Báo cáo ngày của dự án đó
function timeSheetList($scope, $http, $stateParams, $state){
$scope.request = {
"currentDate": ""
};
var date = new Date();
$scope.request.currentDate = date.getFullYear() + '-' + ('0' + (date.getMonth() + 1)).slice(-2) + '-' + ('0' + date.getDate()).slice(-2);
$http({
method: 'GET',
url: "http://localhost:8081/admin/report/project/"+$stateParams.ID+"/timeSheet/"+$scope.request.currentDate,
headers: {
'Content-Type': 'application/json'
}
}).then(function successCallback(response) {
console.log(response);
$scope.timeSheets= response.data;
console.log($scope.timeSheets);
}, function errorCallback(error) {
console.log(error)
});
//Báo cáo ngày
//Duyệt báo cáo ngày đó (chấp nhận, từ chối)
$scope.updateTimeSheetChecked = function (id, check) { $scope.updateTimeSheetChecked = function (id, check) {
if (confirm("Bạn có muốn thực hiện ?")) { if (confirm("Bạn có muốn thực hiện ?")) {
$http({ $http({
...@@ -101,6 +133,7 @@ function updateTimeSheetChecked($scope, $window, $http) { ...@@ -101,6 +133,7 @@ function updateTimeSheetChecked($scope, $window, $http) {
//tạo funtion nếu thành công! //tạo funtion nếu thành công!
function successCallback(response) { function successCallback(response) {
$scope.timeSheetsMessages=response.data; $scope.timeSheetsMessages=response.data;
$state.reload();
alert($scope.timeSheetsMessages.view); alert($scope.timeSheetsMessages.view);
} }
//tạo funtion kiểm tra nếu thất bại //tạo funtion kiểm tra nếu thất bại
...@@ -112,6 +145,7 @@ function updateTimeSheetChecked($scope, $window, $http) { ...@@ -112,6 +145,7 @@ function updateTimeSheetChecked($scope, $window, $http) {
}; };
}; };
// Danh Sách Các Thành viên Thiếu Báo Cáo Ngày Của Dự Án // Danh Sách Các Thành viên Thiếu Báo Cáo Ngày Của Dự Án
function employeeList($scope, $http, $stateParams){ function employeeList($scope, $http, $stateParams){
$scope.request = { $scope.request = {
...@@ -137,23 +171,30 @@ function employeeList($scope, $http, $stateParams){ ...@@ -137,23 +171,30 @@ function employeeList($scope, $http, $stateParams){
} }
//====================================================================================================================== //======================================================================================================================
function insertProjectReport($scope, $window, $http) { function allProjectReport($scope, $http, $stateParams, $state){
$scope.insertReport = function (id, firstDate, finalDate) {
$scope.request = { //Lấy tất cả báo cáo
"projectId": id, $http({
"firstPoint": "", method: 'GET',
"finalPoint": "" url: "http://localhost:8081/admin/report/project/"+$stateParams.ID +"/allReport",
headers: {
'Content-Type': 'application/json'
} }
$scope.request.firstPoint = firstDate.getFullYear() + '-' + ('0' + (firstDate.getMonth() + 1)).slice(-2) + '-' + ('0' + firstDate.getDate()).slice(-2); }).then(function successCallback(response) {
$scope.request.finalPoint = finalDate.getFullYear() + '-' + ('0' + (finalDate.getMonth() + 1)).slice(-2) + '-' + ('0' + finalDate.getDate()).slice(-2); console.log(response);
$scope.ProjectReports= response.data;
console.log($scope.ProjectReports);
}, function errorCallback(response) {
console.log(response)
});
if (confirm("Bạn có muốn thực hiện ?")) { //Xóa một báo cáo
$scope.deleteReport = function (id) {
if (confirm("Bạn có muốn xóa ?")) {
$http({ $http({
method: 'POST', method: 'POST',
url: "http://localhost:8081/admin/report/project/newReport", url: "http://localhost:8081/admin/report/project/report/delete/" + id,
data: $scope.request,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
...@@ -161,34 +202,22 @@ function insertProjectReport($scope, $window, $http) { ...@@ -161,34 +202,22 @@ function insertProjectReport($scope, $window, $http) {
//tạo funtion nếu thành công! //tạo funtion nếu thành công!
function successCallback(response) { function successCallback(response) {
$scope.messages=response.data; $scope.messages=response.data;
$state.reload();
alert($scope.messages.view); alert($scope.messages.view);
} }
//tạo funtion kiểm tra nếu thất bại //tạo funtion kiểm tra nếu thất bại
function errorCallback(error) { function errorCallback(error) {
//error code //error code
console.log("Create FALSE !!!"); console.log("Delete FALSE !!!");
} }
} }
}; };
};
function allProjectReport($scope, $http, $stateParams){
$http({
method: 'GET',
url: "http://localhost:8081/admin/report/project/"+$stateParams.ID +"/allReport",
headers: {
'Content-Type': 'application/json'
}
}).then(function successCallback(response) {
console.log(response);
$scope.ProjectReports= response.data;
console.log($scope.ProjectReports);
}, function errorCallback(response) {
console.log(response)
});
} }
// Xem chi tiết 1 báo cáo
function projectReportDetail($scope, $http, $stateParams){ function projectReportDetail($scope, $http, $stateParams){
$http({ $http({
...@@ -206,32 +235,6 @@ function projectReportDetail($scope, $http, $stateParams){ ...@@ -206,32 +235,6 @@ function projectReportDetail($scope, $http, $stateParams){
console.log(response) console.log(response)
}); });
} }
function deleteReport($scope, $window, $http, $state) {
$scope.deleteReport = function (id) {
if (confirm("Bạn có muốn xóa ?")) {
$http({
method: 'POST',
url: "http://localhost:8081/admin/report/project/report/delete/" + id,
headers: {
'Content-Type': 'application/json'
}
}).then(successCallback, errorCallback);
//tạo funtion nếu thành công!
function successCallback(response) {
$scope.messages=response.data;
$state.reload();
alert($scope.messages.view);
}
//tạo funtion kiểm tra nếu thất bại
function errorCallback(error) {
//error code
console.log("Delete FALSE !!!");
}
}
};
};
//====================================================================================================================== //======================================================================================================================
......
<div class="card mb-3"> <div class="container">
<div class="row">
<div class="col-md-8">
<div ng-controller="projectReportDetailController">
<input class="search" ng-model="search" type="text" placeholder="Search" ng-change="currentPage =1">
<h3> Báo cáo chi tiết</h3>
<div class="card-header"> <table class="table">
<i class="fas fa-table"></i> Báo cáo chi tiết <thead>
<tr>
<th>Tiêu đề</th>
<th>Nội dung</th>
</tr>
</thead>
<tbody>
<tr class="vide">
<td>Tên Dự Án</td>
<td>{{projectReportDetails.projectName}}</td>
</tr>
<tr>
<td>Team Leader</td>
<td>{{projectReportDetails.teamLeader}}</td>
</tr>
<tr>
<td>Số Thành Viên</td>
<td>{{projectReportDetails.numberOfMember}}</td>
</tr>
<tr>
<td>Điểm</td>
<td>{{projectReportDetails.calendarEffort}}</td>
</tr>
<tr>
<td>Số Thành Viên Thiếu Báo Cáo</td>
<td>{{projectReportDetails.lackOfReport}}</td>
</tr>
<tr>
<td>Khoảng Thời Gian</td>
<td>{{projectReportDetails.firstDate | date:"dd-MM-yyyy"}} --> {{projectReportDetails.finalDate | date:"dd-MM-yyyy"}}</td>
</tr>
</tbody>
</table>
</div> </div>
<div class="card-body" ng-controller="projectReportDetailController">
<div>
<h4>Tên Dự Án:</h4><br>
<p>{{projectReportDetails.projectName}}</p>
<h4>Team Leader</h4>
<p>{{projectReportDetails.teamLeader}}</p>
<h4>Số Thành Viên</h4>
<p>{{projectReportDetails.numberOfMember}}</p>
<h4>Điểm</h4>
<p>{{projectReportDetails.calendarEffort}}</p>
<h4>Số Thành Viên Thiếu Báo Cáo</h4>
<p>{{projectReportDetails.lackOfReport}}</p>
<h4>Khoảng Thời Gian</h4>
<p>{{projectReportDetails.firstDate}} --> {{projectReportDetails.firstDate}}</p>
</div> </div>
</div> </div>
</div> </div>
<div class="card mb-3"> <!--<div class="card mb-3">-->
<!-- <div class="card-header">-->
<!-- <i class="fas fa-table"></i> Danh sách báo cáo theo thời gian của dự án-->
<!-- </div>-->
<!-- <div class="card-body">-->
<!-- <div class="table-responsive" ng-controller="allProjectReportController">-->
<!-- <div>-->
<!--&lt;!&ndash; <a ui-sref="addproject" class="btn btn-primary btn-circle btn-sm" style="margin-bottom: 10px;"> Thêm </a>&ndash;&gt;-->
<!-- <input type="text" ng-model="search" placeholder="Search" style="margin-bottom: 10px;">-->
<!-- {{messages.view}}-->
<!-- <table class="table table-bordered" id="dataTable" width="100%"-->
<!-- cellspacing="0">-->
<!-- <thead>-->
<!-- <tr>-->
<!-- <th>STT</th>-->
<!-- <th>Tên Dự Án</th>-->
<!-- <th>Team Leader</th>-->
<!-- <th>Số Thành Viên</th>-->
<!-- <th>Điểm Nỗ Lực</th>-->
<!-- <th>Số TV Thiếu Báo Cáo</th>-->
<!-- <th>Thời gian</th>-->
<!-- <th>Menu</th>-->
<!-- </tr>-->
<!-- </thead>-->
<!-- <tbody>-->
<!-- <tr data-ng-repeat="pr in ProjectReports|filter:search">-->
<!-- <td>{{$index+1}}</td>-->
<!-- <td>{{pr.projectName}}</td>-->
<!-- <td>{{pr.teamLeader}}</td>-->
<!-- <td>{{pr.numberOfMember}}</td>-->
<!-- <td>{{pr.calendarEffort}}</td>-->
<!-- <td>{{pr.lackOfReport}}</td>-->
<!-- <td>{{pr.firstDate | date:"dd/MM/yyyy"}} <br>&ndash;&gt; {{pr.finalDate | date:"dd/MM/yyyy"}}</td>-->
<!-- <td><a ui-sref="reportDetail({ID: pr.id})" class="btn btn-info btn-circle btn-sm">Xem </a>-->
<!-- <a ng-click="deleteReport(pr.id)" class="btn btn-warning btn-circle btn-sm">Xóa </a>-->
<!-- </td>-->
<!-- </tr>-->
<!-- </tbody>-->
<!-- </table>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!--</div>-->
<div class="card-header">
<i class="fas fa-table"></i> Danh sách báo cáo theo thời gian của dự án
</div>
<div class="card-body">
<div class="table-responsive" ng-controller="allProjectReportController">
<div ng-controller="deleteReportController">
<!-- <a ui-sref="addproject" class="btn btn-primary btn-circle btn-sm" style="margin-bottom: 10px;"> Thêm </a>-->
<input type="text" ng-model="search" placeholder="Search" style="margin-bottom: 10px;">
{{messages.view}}
<table class="table table-bordered" id="dataTable" width="100%" <div class="container">
cellspacing="0"> <div class="row">
<div class="col-md-8">
<div ng-controller="allProjectReportController">
<input class="search" ng-model="search" type="text" placeholder="Search" ng-change="currentPage =1">
<h3>Danh sách báo cáo theo thời gian của dự án</h3>
{{messages.view}}
<table class="table">
<thead> <thead>
<tr> <tr>
<th>STT</th> <th>STT</th>
...@@ -22,11 +65,10 @@ ...@@ -22,11 +65,10 @@
<th>Số TV Thiếu Báo Cáo</th> <th>Số TV Thiếu Báo Cáo</th>
<th>Thời gian</th> <th>Thời gian</th>
<th>Menu</th> <th>Menu</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr data-ng-repeat="pr in ProjectReports|filter:search"> <tr class="vide" data-ng-repeat="pr in ProjectReports|filter:search">
<td>{{$index+1}}</td> <td>{{$index+1}}</td>
<td>{{pr.projectName}}</td> <td>{{pr.projectName}}</td>
<td>{{pr.teamLeader}}</td> <td>{{pr.teamLeader}}</td>
...@@ -40,7 +82,13 @@ ...@@ -40,7 +82,13 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<uib-pagination total-items="getTotalItems()" boundary-link-numbers="true" ng-model="currentPage"
ng-change="pageChangedIndex()" rotate="true"
items-per-page="employeePerPage"></uib-pagination>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="card mb-3">
<div class="card-header"> <div class="container">
<i class="fas fa-table"></i>Danh Sách Dự án (Đang được triển khai) <div class="row">
</div> <div class="col-md-8">
<div class="card-body"> <div ng-controller="reportController">
<div class="table-responsive" ng-controller="reportController"> <input class="search" ng-model="search" type="text" placeholder="Search" ng-change="currentPage =1">
<div ng-controller="insertProjectReportController"> <h3>Danh Sách Dự án (Đang được triển khai)</h3>
<!-- <a ui-sref="addproject" class="btn btn-primary btn-circle btn-sm" style="margin-bottom: 10px;">-->
<!-- Thêm </a>-->
<input type="text" ng-model="search" placeholder="Search" style="margin-bottom: 10px;">
{{messages.view}} {{messages.view}}
<table class="table">
<table class="table table-bordered" id="dataTable" width="100%"
cellspacing="0">
<thead> <thead>
<tr> <tr>
<th>STT</th> <th>STT</th>
...@@ -22,7 +16,6 @@ ...@@ -22,7 +16,6 @@
<th>Trạng thái</th> <th>Trạng thái</th>
<th>Chọn khoảng thời gian</th> <th>Chọn khoảng thời gian</th>
<th>Menu</th> <th>Menu</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
...@@ -32,15 +25,19 @@ ...@@ -32,15 +25,19 @@
<td>{{pro.name}}</td> <td>{{pro.name}}</td>
<td>{{pro.descriptions}}</td> <td>{{pro.descriptions}}</td>
<td>{{pro.startDate | date:"dd/MM/yyyy"}} <br>--> {{pro.endDate | date:"dd/MM/yyyy"}}</td> <td>{{pro.startDate | date:"dd/MM/yyyy"}} <br>--> {{pro.endDate | date:"dd/MM/yyyy"}}</td>
<td>{{pro.status}}</td> <td>
<span ng-if="pro.status == 0">Chưa triển khai </span>
<span ng-if="pro.status == 1">Đang triển khai </span>
<span ng-if="pro.status == 2"> Đã hoàn thành </span>
</td>
<td class="form-label-group" > <td class="form-label-group" >
<!-- <label for="startDate">Ngày Bắt Đầu</label>--> <!-- <label for="startDate">Ngày Bắt Đầu</label>-->
<input type="date" ng-model="request.firstDate" id="startDate" class="form-control" <input type="date" ng-model="request.firstDate" id="startDate" class="form-control"
placeholder="điểm đầu" required="required"> placeholder="điểm đầu" required="required" style="width: auto">
<!-- <label for="endDate">Ngày Kết Thúc</label>--> <!-- <label for="endDate">Ngày Kết Thúc</label>-->
<input type="date" ng-model="request.finalDate" id="endDate" class="form-control" <input type="date" ng-model="request.finalDate" id="endDate" class="form-control"
placeholder="điểm cuối" required="required"> placeholder="điểm cuối" required="required" style="width: auto">
</td> </td>
<td> <td>
<a ng-click="insertReport(pro.id, request.firstDate, request.finalDate)" class="btn btn-info btn-circle btn-sm">Thêm mới báo cáo></a><br> <a ng-click="insertReport(pro.id, request.firstDate, request.finalDate)" class="btn btn-info btn-circle btn-sm">Thêm mới báo cáo></a><br>
...@@ -51,6 +48,11 @@ ...@@ -51,6 +48,11 @@
</form> </form>
</tbody> </tbody>
</table> </table>
<uib-pagination total-items="getTotalItems()" boundary-link-numbers="true" ng-model="currentPage"
ng-change="pageChangedIndex()" rotate="true"
items-per-page="employeePerPage"></uib-pagination>
</div> </div>
</div> </div>
</div> </div>
......
<div class="card mb-3"> <div class="container">
<div class="row">
<div class="card-header"> <div class="col-md-8">
<i class="fas fa-table"></i> Danh Sách Timesheet Dự án <div>
</div> <input class="search" ng-model="search" type="text" placeholder="Search" ng-change="currentPage =1">
<div class="card-body"> <h3>Danh Sách Timesheet Dự án</h3>
<div class="table-responsive">
<div ng-controller="updateTimeSheetCheckedController">
<!-- <a ui-sref="addproject" class="btn btn-primary btn-circle btn-sm" style="margin-bottom: 10px;"> Thêm </a>-->
<input type="text" ng-model="search" placeholder="Search" style="margin-bottom: 10px;">
{{timeSheetsMessages.view}} {{timeSheetsMessages.view}}
<table class="table table-bordered" id="dataTable" width="100%" <table class="table">
cellspacing="0">
<thead> <thead>
<tr> <tr>
<th>STT</th> <th>STT</th>
...@@ -20,7 +15,6 @@ ...@@ -20,7 +15,6 @@
<th>Ngày tạo</th> <th>Ngày tạo</th>
<th>trạng thái duyệt</th> <th>trạng thái duyệt</th>
<th>Menu</th> <th>Menu</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
...@@ -32,7 +26,7 @@ ...@@ -32,7 +26,7 @@
<td>{{item.createdAt | date:"dd/MM/yyyy" }}</td> <td>{{item.createdAt | date:"dd/MM/yyyy" }}</td>
<td> <td>
<select ng-model="item.checked" class="form-control" autofocus="autofocus" required="required"> <select ng-model="item.checked" class="form-control" autofocus="autofocus" required="required">
<!-- <option value="">==> Trạng Thái</option>--> <!-- <option value="">==> Trạng Thái</option>-->
<option value="unapproved">Chưa duyệt</option> <option value="unapproved">Chưa duyệt</option>
<option value="approved">Đã duyệt</option> <option value="approved">Đã duyệt</option>
<option value="deny">Từ chối</option> <option value="deny">Từ chối</option>
...@@ -44,7 +38,13 @@ ...@@ -44,7 +38,13 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<uib-pagination total-items="getTotalItems()" boundary-link-numbers="true" ng-model="currentPage"
ng-change="pageChangedIndex()" rotate="true"
items-per-page="employeePerPage"></uib-pagination>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="card mb-3"> <div class="container">
<div class="row">
<div class="card-header"> <div class="col-md-8">
<i class="fas fa-table"></i>Danh Sách Dự án (Đang được triển khai) <div ng-controller="reportController">
</div> <input class="search" ng-model="search" type="text" placeholder="Search" ng-change="currentPage =1">
<div class="card-body"> <h3>Danh Sách Dự án (Đang được triển khai)</h3>
<div class="table-responsive" ng-controller="reportController">
<div ng-controller="updateTimeSheetStatusController">
<!-- <a ui-sref="addproject" class="btn btn-primary btn-circle btn-sm" style="margin-bottom: 10px;">-->
<!-- Thêm </a>-->
<input type="text" ng-model="search" placeholder="Search" style="margin-bottom: 10px;">
{{timeSheetsMessages.view}} {{timeSheetsMessages.view}}
<table class="table">
<table class="table table-bordered" id="dataTable" width="100%"
cellspacing="0">
<thead> <thead>
<tr> <tr>
<th>STT</th> <th>STT</th>
...@@ -22,7 +15,6 @@ ...@@ -22,7 +15,6 @@
<th>Thời gian kết thúc</th> <th>Thời gian kết thúc</th>
<th>Trạng thái</th> <th>Trạng thái</th>
<th>Menu</th> <th>Menu</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
...@@ -32,7 +24,11 @@ ...@@ -32,7 +24,11 @@
<td>{{pro.descriptions}}</td> <td>{{pro.descriptions}}</td>
<td>{{pro.startDate | date:"dd/MM/yyyy"}}</td> <td>{{pro.startDate | date:"dd/MM/yyyy"}}</td>
<td>{{pro.endDate | date:"dd/MM/yyyy"}}</td> <td>{{pro.endDate | date:"dd/MM/yyyy"}}</td>
<td>{{pro.status}}</td> <td>
<span ng-if="pro.status == 0">Chưa triển khai </span>
<span ng-if="pro.status == 1">Đang triển khai </span>
<span ng-if="pro.status == 2"> Đã hoàn thành </span>
</td>
<td><a ui-sref="reportTimeSheet({ID: pro.id})" class="btn btn-info btn-circle btn-sm">Ds báo cáo ngày </a><br> <td><a ui-sref="reportTimeSheet({ID: pro.id})" class="btn btn-info btn-circle btn-sm">Ds báo cáo ngày </a><br>
<a ng-click="updateTimeSheetStatus(pro.id)" class="btn btn-warning btn-circle btn-sm">khởi tạo tv thiếu báo cáo</a> <br> <a ng-click="updateTimeSheetStatus(pro.id)" class="btn btn-warning btn-circle btn-sm">khởi tạo tv thiếu báo cáo</a> <br>
<a ui-sref="reportEmployee({ID: pro.id})" class="btn btn-danger btn-circle btn-sm" data-ng-click="">Ds thành viên thiếu báo cáo</a> <a ui-sref="reportEmployee({ID: pro.id})" class="btn btn-danger btn-circle btn-sm" data-ng-click="">Ds thành viên thiếu báo cáo</a>
...@@ -40,7 +36,13 @@ ...@@ -40,7 +36,13 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<uib-pagination total-items="getTotalItems()" boundary-link-numbers="true" ng-model="currentPage"
ng-change="pageChangedIndex()" rotate="true"
items-per-page="employeePerPage"></uib-pagination>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- <!-- main content start-->
Author: W3layouts <div id="page-wrapper">
Author URL: http://w3layouts.com <div class="main-page signup-page">
License: Creative Commons Attribution 3.0 Unported <h2 class="title1">SignUp Here</h2>
License URL: http://creativecommons.org/licenses/by/3.0/ <div class="sign-up-row widget-shadow">
--> <h5>Personal Information :</h5>
<!DOCTYPE HTML> <form action="#" method="post">
<html> <div class="sign-u">
<head> <input type="text" name="firstname" placeholder="Họ" required="">
<title>Glance Design Dashboard an Admin Panel Category Flat Bootstrap Responsive Website Template | SignUp Page :: w3layouts</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="keywords" content="Glance Design Dashboard Responsive web template, Bootstrap Web Templates, Flat Web Templates, Android Compatible web template,
SmartPhone Compatible web template, free WebDesigns for Nokia, Samsung, LG, SonyEricsson, Motorola web design" />
<script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<!-- Bootstrap Core CSS -->
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />
<!-- Custom CSS -->
<link href="css/style.css" rel='stylesheet' type='text/css' />
<!-- font-awesome icons CSS -->
<link href="css/font-awesome.css" rel="stylesheet">
<!-- //font-awesome icons CSS -->
<!-- side nav css file -->
<link href='css/SidebarNav.min.css' media='all' rel='stylesheet' type='text/css'/>
<!-- side nav css file -->
<!-- js-->
<script src="js/jquery-1.11.1.min.js"></script>
<script src="js/modernizr.custom.js"></script>
<!--webfonts-->
<link href="//fonts.googleapis.com/css?family=PT+Sans:400,400i,700,700i&amp;subset=cyrillic,cyrillic-ext,latin-ext" rel="stylesheet">
<!--//webfonts-->
<!-- Metis Menu -->
<script src="js/metisMenu.min.js"></script>
<script src="js/custom.js"></script>
<link href="css/custom.css" rel="stylesheet">
<!--//Metis Menu -->
</head>
<body class="cbp-spmenu-push">
<div class="main-content">
<div class="cbp-spmenu cbp-spmenu-vertical cbp-spmenu-left" id="cbp-spmenu-s1">
<!--left-fixed -navigation-->
<aside class="sidebar-left">
<nav class="navbar navbar-inverse">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".collapse" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<h1><a class="navbar-brand" href="index.html"><span class="fa fa-area-chart"></span> Glance<span class="dashboard_text">Design dashboard</span></a></h1>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="sidebar-menu">
<li class="header">MAIN NAVIGATION</li>
<li class="treeview">
<a href="index.html">
<span class="glyphicon glyphicon-user"></span> <span>Employee</span>
</a>
</li>
<li class="treeview">
<a href="#">
<i class="fa fa-laptop"></i>
<span>Components</span>
<i class="fa fa-angle-left pull-right"></i>
</a>
<ul class="treeview-menu">
<li><a href="grids.html"><i class="fa fa-angle-right"></i> Grids</a></li>
<li><a href="media.html"><i class="fa fa-angle-right"></i> Media Css</a></li>
</ul>
<li class="treeview">
<a href="#">
<i class="fa fa-laptop"></i>
<span>UI Elements</span>
<i class="fa fa-angle-left pull-right"></i>
</a>
<ul class="treeview-menu">
<li><a href="general.html"><i class="fa fa-angle-right"></i> General</a></li>
<li><a href="icons.html"><i class="fa fa-angle-right"></i> Icons</a></li>
<li><a href="buttons.html"><i class="fa fa-angle-right"></i> Buttons</a></li>
<li><a href="typography.html"><i class="fa fa-angle-right"></i> Typography</a></li>
</ul>
</li>
<li>
<a href="timesheet.html">
<i class="fa fa-th"></i> <span>TimeSheet</span>
<small class="label pull-right label-info">08</small>
</a>
</li>
<li class="treeview">
<a href="#">
<i class="fa fa-edit"></i> <span>Forms</span>
<i class="fa fa-angle-left pull-right"></i>
</a>
<ul class="treeview-menu">
<li><a href="forms.html"><i class="fa fa-angle-right"></i> General Forms</a></li>
<li><a href="validation.html"><i class="fa fa-angle-right"></i> Form Validations</a></li>
</ul>
</li>
<li class="treeview">
<a href="#">
<i class="fa fa-table"></i> <span>Tables</span>
<i class="fa fa-angle-left pull-right"></i>
</a>
<ul class="treeview-menu">
<li><a href="tables.html"><i class="fa fa-angle-right"></i> Simple tables</a></li>
</ul>
</li>
<li class="treeview">
<a href="#">
<i class="fa fa-envelope"></i> <span>Mailbox</span>
<i class="fa fa-angle-left pull-right"></i><small class="label pull-right label-info1">08</small><span class="label label-primary1 pull-right">02</span></a>
<ul class="treeview-menu">
<li><a href="inbox.html"><i class="fa fa-angle-right"></i> Mail Inbox</a></li>
<li><a href="compose.html"><i class="fa fa-angle-right"></i> Compose Mail </a></li>
</ul>
</li>
<li class="treeview">
<a href="#">
<i class="fa fa-folder"></i> <span>Examples</span>
<i class="fa fa-angle-left pull-right"></i>
</a>
<ul class="treeview-menu">
<li><a href="login.html"><i class="fa fa-angle-right"></i> Login</a></li>
<li><a href="signup.html"><i class="fa fa-angle-right"></i> Register</a></li>
<li><a href="404.html"><i class="fa fa-angle-right"></i> 404 Error</a></li>
<li><a href="500.html"><i class="fa fa-angle-right"></i> 500 Error</a></li>
<li><a href="blank-page.html"><i class="fa fa-angle-right"></i> Blank Page</a></li>
</ul>
</li>
<li class="header">LABELS</li>
<li><a href="#"><i class="fa fa-angle-right text-red"></i> <span>Important</span></a></li>
<li><a href="#"><i class="fa fa-angle-right text-yellow"></i> <span>Warning</span></a></li>
<li><a href="#"><i class="fa fa-angle-right text-aqua"></i> <span>Information</span></a></li>
</ul>
</div>
<!-- /.navbar-collapse -->
</nav>
</aside>
</div>
<!--left-fixed -navigation-->
<!-- header-starts -->
<div class="sticky-header header-section ">
<div class="header-left">
<!--toggle button start-->
<button id="showLeftPush"><i class="fa fa-bars"></i></button>
<!--toggle button end-->
<div class="profile_details_left"><!--notifications of menu start -->
<ul class="nofitications-dropdown">
<li class="dropdown head-dpdn">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false"><i class="fa fa-envelope"></i><span class="badge">4</span></a>
<ul class="dropdown-menu">
<li>
<div class="notification_header">
<h3>You have 3 new messages</h3>
</div>
</li>
<li><a href="#">
<div class="user_img"><img src="images/1.jpg" alt=""></div>
<div class="notification_desc">
<p>Lorem ipsum dolor amet</p>
<p><span>1 hour ago</span></p>
</div>
<div class="clearfix"></div>
</a></li>
<li class="odd"><a href="#">
<div class="user_img"><img src="images/4.jpg" alt=""></div>
<div class="notification_desc">
<p>Lorem ipsum dolor amet </p>
<p><span>1 hour ago</span></p>
</div>
<div class="clearfix"></div>
</a></li>
<li><a href="#">
<div class="user_img"><img src="images/3.jpg" alt=""></div>
<div class="notification_desc">
<p>Lorem ipsum dolor amet </p>
<p><span>1 hour ago</span></p>
</div>
<div class="clearfix"></div>
</a></li>
<li>
<div class="notification_bottom">
<a href="#">See all messages</a>
</div>
</li>
</ul>
</li>
<li class="dropdown head-dpdn">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false"><i class="fa fa-bell"></i><span class="badge blue">4</span></a>
<ul class="dropdown-menu">
<li>
<div class="notification_header">
<h3>You have 3 new notification</h3>
</div>
</li>
<li><a href="#">
<div class="user_img"><img src="images/4.jpg" alt=""></div>
<div class="notification_desc">
<p>Lorem ipsum dolor amet</p>
<p><span>1 hour ago</span></p>
</div>
<div class="clearfix"></div>
</a></li>
<li class="odd"><a href="#">
<div class="user_img"><img src="images/1.jpg" alt=""></div>
<div class="notification_desc">
<p>Lorem ipsum dolor amet </p>
<p><span>1 hour ago</span></p>
</div>
<div class="clearfix"></div>
</a></li>
<li><a href="#">
<div class="user_img"><img src="images/3.jpg" alt=""></div>
<div class="notification_desc">
<p>Lorem ipsum dolor amet </p>
<p><span>1 hour ago</span></p>
</div>
<div class="clearfix"></div>
</a></li>
<li>
<div class="notification_bottom">
<a href="#">See all notifications</a>
</div>
</li>
</ul>
</li>
<li class="dropdown head-dpdn">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false"><i class="fa fa-tasks"></i><span class="badge blue1">8</span></a>
<ul class="dropdown-menu">
<li>
<div class="notification_header">
<h3>You have 8 pending task</h3>
</div>
</li>
<li><a href="#">
<div class="task-info">
<span class="task-desc">Database update</span><span class="percentage">40%</span>
<div class="clearfix"></div>
</div>
<div class="progress progress-striped active">
<div class="bar yellow" style="width:40%;"></div>
</div>
</a></li>
<li><a href="#">
<div class="task-info">
<span class="task-desc">Dashboard done</span><span class="percentage">90%</span>
<div class="clearfix"></div>
</div>
<div class="progress progress-striped active">
<div class="bar green" style="width:90%;"></div>
</div>
</a></li>
<li><a href="#">
<div class="task-info">
<span class="task-desc">Mobile App</span><span class="percentage">33%</span>
<div class="clearfix"></div>
</div>
<div class="progress progress-striped active">
<div class="bar red" style="width: 33%;"></div>
</div>
</a></li>
<li><a href="#">
<div class="task-info">
<span class="task-desc">Issues fixed</span><span class="percentage">80%</span>
<div class="clearfix"></div>
</div>
<div class="progress progress-striped active">
<div class="bar blue" style="width: 80%;"></div>
</div>
</a></li>
<li>
<div class="notification_bottom">
<a href="#">See all pending tasks</a>
</div>
</li>
</ul>
</li>
</ul>
<div class="clearfix"> </div> <div class="clearfix"> </div>
</div> </div>
<!--notification menu end --> <div class="sign-u">
<input type="text" placeholder="Tên" required="">
<div class="clearfix"> </div> <div class="clearfix"> </div>
</div> </div>
<div class="header-right"> <div class="sign-u">
<input type="text" name="username" placeholder="Username" required="">
<!--search-box-->
<div class="search-box">
<form class="input">
<input class="sb-search-input input__field--madoka" placeholder="Search..." type="search" id="input-31" />
<label class="input__label" for="input-31">
<svg class="graphic" width="100%" height="100%" viewBox="0 0 404 77" preserveAspectRatio="none">
<path d="m0,0l404,0l0,77l-404,0l0,-77z"/>
</svg>
</label>
</form>
</div><!--//end-search-box-->
<div class="profile_details">
<ul>
<li class="dropdown profile_details_drop">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<div class="profile_img">
<span class="prfil-img"><img src="images/2.jpg" alt=""> </span>
<div class="user-name">
<p>Admin Name</p>
<span>Administrator</span>
</div>
<i class="fa fa-angle-down lnr"></i>
<i class="fa fa-angle-up lnr"></i>
<div class="clearfix"></div>
</div>
</a>
<ul class="dropdown-menu drp-mnu">
<li> <a href="#"><i class="fa fa-cog"></i> Settings</a> </li>
<li> <a href="#"><i class="fa fa-user"></i> My Account</a> </li>
<li> <a href="#"><i class="fa fa-suitcase"></i> Profile</a> </li>
<li> <a href="#"><i class="fa fa-sign-out"></i> Logout</a> </li>
</ul>
</li>
</ul>
</div>
<div class="clearfix"> </div> <div class="clearfix"> </div>
</div> </div>
<div class="sign-u">
<input type="email" placeholder="Email" required="">
<div class="clearfix"> </div> <div class="clearfix"> </div>
</div> </div>
<!-- //header-ends -->
<!-- main content start-->
<div id="page-wrapper">
<div class="main-page signup-page">
<h2 class="title1">SignUp Here</h2>
<div class="sign-up-row widget-shadow">
<h5>Personal Information :</h5>
<form action="#" method="post">
<div class="sign-u"> <div class="sign-u">
<input type="text" name="firstname" placeholder="First Name" required=""> <input type="text" name="phoneNumber" placeholder="SĐT" required="">
<div class="clearfix"> </div> <div class="clearfix"> </div>
</div> </div>
<div class="sign-u"> <div class="sign-u">
<input type="text" placeholder="Last Name" required=""> <input type="text" name="firstname" placeholder="Skype" required="">
<div class="clearfix"> </div> <div class="clearfix"> </div>
</div> </div>
<div class="sign-u"> <div class="sign-u">
<input type="email" placeholder="Email Address" required=""> <input type="text" name="firstname" placeholder="Facebook Profile" required="">
<div class="clearfix"> </div> <div class="clearfix"> </div>
</div> </div>
<div class="sign-u"> <div class="sign-u">
<div class="sign-up1"> <input type="text" name="firstname" placeholder="Dối Tượng" required="">
<h4>Gender* :</h4> <div class="clearfix"> </div>
</div> </div>
<div class="sign-up2"> <div class="sign-u">
<label> <input type="text" name="firstname" placeholder="Quê Quán" required="">
<input type="radio" name="Gender" required=""> <div class="clearfix"> </div>
Male
</label>
<label>
<input type="radio" name="Gender" required="">
Female
</label>
</div> </div>
<div class="sign-u">
<input type="text" name="firstname" placeholder="Học Vấn" required="">
<div class="clearfix"> </div> <div class="clearfix"> </div>
</div> </div>
<h6>Login Information :</h6>
<div class="sign-u"> <div class="sign-u">
<input type="password" placeholder="Password" required=""> <input type="text" name="firstname" placeholder="Trường" required="">
<div class="clearfix"> </div> <div class="clearfix"> </div>
</div> </div>
<div class="sign-u"> <div class="sign-u">
<input type="password" placeholder="Confirm Password" required=""> <input type="text" name="firstname" placeholder="Khoa" required="">
<div class="clearfix"> </div>
</div> </div>
<div class="sign-u">
<input type="text" name="firstname" placeholder="Năm Tốt Nghiệp" required="">
<div class="clearfix"> </div> <div class="clearfix"> </div>
</div>
<div class="sub_home"> <div class="sub_home">
<input type="submit" value="Submit"> <input type="submit" value="Submit">
<div class="clearfix"> </div> <div class="clearfix"> </div>
...@@ -394,50 +70,4 @@ SmartPhone Compatible web template, free WebDesigns for Nokia, Samsung, LG, Sony ...@@ -394,50 +70,4 @@ SmartPhone Compatible web template, free WebDesigns for Nokia, Samsung, LG, Sony
</form> </form>
</div> </div>
</div> </div>
</div> </div>
<!--footer-->
<div class="footer">
<p>&copy; 2018 Glance Design Dashboard. All Rights Reserved | Design by <a href="https://w3layouts.com/" target="_blank">w3layouts</a></p>
</div>
<!--//footer-->
</div>
<!-- side nav js -->
<script src='js/SidebarNav.min.js' type='text/javascript'></script>
<script>
$('.sidebar-menu').SidebarNav()
</script>
<!-- //side nav js -->
<!-- Classie --><!-- for toggle left push menu script -->
<script src="js/classie.js"></script>
<script>
var menuLeft = document.getElementById( 'cbp-spmenu-s1' ),
showLeftPush = document.getElementById( 'showLeftPush' ),
body = document.body;
showLeftPush.onclick = function() {
classie.toggle( this, 'active' );
classie.toggle( body, 'cbp-spmenu-push-toright' );
classie.toggle( menuLeft, 'cbp-spmenu-open' );
disableOther( 'showLeftPush' );
};
function disableOther( button ) {
if( button !== 'showLeftPush' ) {
classie.toggle( showLeftPush, 'disabled' );
}
}
</script>
<!-- //Classie --><!-- //for toggle left push menu script -->
<!--scrolling js-->
<script src="js/jquery.nicescroll.js"></script>
<script src="js/scripts.js"></script>
<!--//scrolling js-->
<!-- Bootstrap Core JavaScript -->
<script src="js/bootstrap.js"> </script>
</body>
</html>
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment