Commit 9ff00192 authored by Phạm Duy Phi's avatar Phạm Duy Phi

Merge branch 'master' into phipham

# Conflicts:
#	pom.xml
#	src/main/resources/public/general.html
#	src/main/resources/public/index.html
#	src/main/resources/public/js/app.js
#	src/main/resources/public/layout/layout1.html
#	src/main/resources/public/layout/layout2.html
#	src/main/resources/public/pages/leaveform/leaveForm.html
#	src/main/resources/public/pages/timesheet/timeSheet.html
#	src/main/resources/public/pages/timesheet/timeSheetController.js
#	src/main/resources/public/pages/timesheet/timesheet.html
#	src/main/resources/public/pages/timesheet/timesheetController.js
parents 424c818d 50e259b2
...@@ -17,10 +17,6 @@ ...@@ -17,10 +17,6 @@
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<<<<<<< HEAD
=======
<java.version>1.8</java.version>
>>>>>>> 049511c3b37f668c637022150c53bd25d9b8e61d
</properties> </properties>
<dependencies> <dependencies>
...@@ -38,45 +34,26 @@ ...@@ -38,45 +34,26 @@
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version> <scope>runtime</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
<dependency> <dependency>
<groupId>log4j</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>log4j</artifactId> <artifactId>spring-boot-starter-test</artifactId>
<version>1.2.17</version> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>log4j</groupId> <groupId>log4j</groupId>
<artifactId>log4j</artifactId> <artifactId>log4j</artifactId>
<version>1.2.12</version> <version>1.2.17</version>
</dependency> </dependency>
<<<<<<< HEAD
=======
<<<<<<< HEAD
=======
>>>>>>> ed09ed47f5d092a7753469913def1ab676073023
=======
<!-- <dependency>-->
<!-- <groupId>org.springframework.security</groupId>-->
<!-- <artifactId>spring-security-config</artifactId>-->
<!-- <version>${spring-security.version}</version>-->
<!-- <scope>runtime</scope>-->
<!-- </dependency>-->
>>>>>>> 049511c3b37f668c637022150c53bd25d9b8e61d
>>>>>>> master
</dependencies> </dependencies>
<build> <build>
......
<!--
Author: W3layouts
Author URL: http://w3layouts.com
License: Creative Commons Attribution 3.0 Unported
License URL: http://creativecommons.org/licenses/by/3.0/
-->
<!DOCTYPE HTML>
<html>
<head>
<title>Glance Design Dashboard an Admin Panel Category Flat Bootstrap Responsive Website Template | General Elements :: 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>Project</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>Widgets</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>
</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="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 -->
<!-- main content start-->
<div id="page-wrapper">
<div class="main-page general">
<h2 class="title1">General Elements</h2>
<div class="panel-info widget-shadow">
<h4 class="title2">Contextual alternatives :</h4>
<div class="col-md-6 panel-grids">
<div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title">Panel Default</h3> </div> <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin iaculis quam sit amet nisi dictum, in iaculis dolor lobortis. Aenean placerat purus non faucibus.</div> </div>
</div>
<div class="col-md-6 panel-grids">
<div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title">Panel Primary</h3> </div> <div class="panel-body"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin iaculis quam sit amet nisi dictum, in iaculis dolor lobortis. Aenean placerat purus non faucibus. </div> </div>
</div>
<div class="col-md-6 panel-grids">
<div class="panel panel-success"> <div class="panel-heading"> <h3 class="panel-title">Panel Success</h3> </div> <div class="panel-body"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin iaculis quam sit amet nisi dictum, in iaculis dolor lobortis. Aenean placerat purus non faucibus. </div> </div>
</div>
<div class="col-md-6 panel-grids">
<div class="panel panel-info"> <div class="panel-heading"> <h3 class="panel-title"> Panel Info</h3> </div> <div class="panel-body"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin iaculis quam sit amet nisi dictum, in iaculis dolor lobortis. Aenean placerat purus non faucibus. </div> </div>
</div>
<div class="col-md-6 panel-grids">
<div class="panel panel-warning"> <div class="panel-heading"> <h3 class="panel-title">Panel Warning</h3> </div> <div class="panel-body"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin iaculis quam sit amet nisi dictum, in iaculis dolor lobortis. Aenean placerat purus non faucibus.</div> </div>
</div>
<div class="col-md-6 panel-grids">
<div class="panel panel-danger"> <div class="panel-heading"> <h3 class="panel-title">Panel Danger</h3> </div> <div class="panel-body"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin iaculis quam sit amet nisi dictum, in iaculis dolor lobortis. Aenean placerat purus non faucibus. </div> </div>
</div>
<div class="clearfix"> </div>
</div>
<div class="modals widget-shadow">
<h4 class="title2">Modals :</h4>
<div class="col-md-4 modal-grids">
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#gridSystemModal">Demo modal </button>
<div class="modal fade" id="gridSystemModal" tabindex="-1" role="dialog" aria-labelledby="gridSystemModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="gridSystemModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<div class="row-info">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4 col-md-offset-4">.col-md-4 .col-md-offset-4</div>
</div>
<div class="row">
<div class="col-md-6 col-md-offset-3">.col-md-6 .col-md-offset-3</div>
</div>
<div class="row">
<div class="col-sm-9"> Level 1: .col-sm-9
<div class="row"> <div class="col-xs-8 col-sm-6"> Level 2: .col-xs-8 .col-sm-6 </div>
<div class="col-xs-4 col-sm-6"> Level 2: .col-xs-4 .col-sm-6 </div> </div> </div> </div> </div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</div>
<div class="col-md-4 modal-grids">
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#exampleModal" data-whatever="@mdo">Open modal for @mdo</button>
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="exampleModalLabel">New message</h4>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<label for="recipient-name" class="control-label">Recipient:</label>
<input type="text" class="form-control" id="recipient-name">
</div>
<div class="form-group">
<label for="message-text" class="control-label">Message:</label>
<textarea class="form-control" id="message-text"></textarea>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Send message</button>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4 modal-grids">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bs-example-modal-sm">Small modal</button>
<div class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="mySmallModalLabel">Small modal</h4>
</div>
<div class="modal-body"> Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.
</div>
</div>
</div>
</div>
</div>
<div class="clearfix"> </div>
</div>
<div class="row">
<div class="col-md-6 general-grids widget-shadow">
<h4 class="title2">ScrollSpy example :</h4>
<div class="bs-example1" data-example-id="embedded-scrollspy">
<nav id="navbar-example2" class="navbar navbar-default navbar-static">
<div class="container-fluid">
<div class="navbar-header">
<button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target=".bs-example-js-navbar-scrollspy"> <span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html">Project Name</a>
</div>
<div class="collapse navbar-collapse bs-example-js-navbar-scrollspy">
<ul class="nav navbar-nav">
<li class="active"><a href="#fat">Item 1</a></li>
<li class=""><a href="#three">Item 2</a></li>
<li class=""><a href="#four">Item 3</a></li>
<li class="dropdown"> <a href="#" id="navbarDrop1" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">New Items<span class="caret"></span></a>
<ul class="dropdown-menu" aria-labelledby="navbarDrop1"> <li class=""><a href="#one">product 1</a></li>
<li class=""><a href="#two">product 2</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<div data-spy="scroll" data-target="#navbar-example2" class="scrollspy-example scroll scrollbar1">
<h4 id="fat">Item 1</h4><p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamust.</p>
<h4 id="three">Item 2</h4> <p>Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatevthundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. </p> <p>Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats. </p>
<h4 id="four">Item 3</h4> <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatevthundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. </p> <p>Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats. </p>
<h4 id="one">New Product 1</h4> <p>Occaecat commodo aliqua delectus. Fap craft beer deserunt skateboard ea. Lomo bicycle rights adipisicing banh mi, velit ea sunt next level locavore single-origin coffee in magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in, sustainable delectus consectetur fanny pack iphone.</p>
<h4 id="two">New Product 2</h4> <p>In incididunt echo park, officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.</p>
</div>
</div>
</div>
<div class="col-md-6 general-grids grids-right widget-shadow">
<h4 class="title2">Horizontal Tabs:</h4>
<ul id="myTabs" class="nav nav-tabs" role="tablist"> <li role="presentation" class=""><a href="#home" id="home-tab" role="tab" data-toggle="tab" aria-controls="home" aria-expanded="false">Home</a></li> <li role="presentation" class="active"><a href="#profile" role="tab" id="profile-tab" data-toggle="tab" aria-controls="profile" aria-expanded="true">Profile</a></li> <li role="presentation" class="dropdown"> <a href="#" id="myTabDrop1" class="dropdown-toggle" data-toggle="dropdown" aria-controls="myTabDrop1-contents" aria-expanded="false">Dropdown <span class="caret"></span></a> <ul class="dropdown-menu" aria-labelledby="myTabDrop1" id="myTabDrop1-contents"> <li class=""><a href="#dropdown1" role="tab" id="dropdown1-tab" data-toggle="tab" aria-controls="dropdown1" aria-expanded="false">@fat</a></li> <li class=""><a href="#dropdown2" role="tab" id="dropdown2-tab" data-toggle="tab" aria-controls="dropdown2" aria-expanded="false">@mdo</a></li> </ul> </li> </ul>
<div id="myTabContent" class="tab-content scrollbar1"> <div role="tabpanel" class="tab-pane fade" id="home" aria-labelledby="home-tab"> <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p> </div> <div role="tabpanel" class="tab-pane fade active in" id="profile" aria-labelledby="profile-tab"> <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p> </div> <div role="tabpanel" class="tab-pane fade" id="dropdown1" aria-labelledby="dropdown1-tab"> <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p> </div> <div role="tabpanel" class="tab-pane fade" id="dropdown2" aria-labelledby="dropdown2-tab"> <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p> </div> </div>
</div>
<div class="clearfix"> </div>
</div>
<div class="tool-tips widget-shadow">
<h4 class="title2">Tooltips :</h4>
<div class="bs-example-tooltips">
<button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="left" title="" data-original-title="Tooltip on left">Tooltip on left</button>
<button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="top" title="" data-original-title="Tooltip on top">Tooltip on top</button>
<button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="Tooltip on bottom">Tooltip on bottom</button>
<button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="right" title="" data-original-title="Tooltip on right">Tooltip on right</button>
<script>$(function () {
$('[data-toggle="tooltip"]').tooltip()
})</script>
</div>
</div>
<div class="tool-tips widget-shadow">
<h4 class="title2">Popovers :</h4>
<div class="bs-example-tooltips">
<button type="button" class="btn btn-default" data-container="body" data-toggle="popover" data-placement="left" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
Popover on left
</button>
<button type="button" class="btn btn-default" data-container="body" data-toggle="popover" data-placement="top" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
Popover on top
</button>
<button type="button" class="btn btn-default" data-container="body" data-toggle="popover" data-placement="bottom" data-content="Vivamus
sagittis lacus vel augue laoreet rutrum faucibus.">
Popover on bottom
</button>
<button type="button" class="btn btn-default" data-container="body" data-toggle="popover" data-placement="right" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
Popover on right
</button>
<script>
$(function () {
$('[data-toggle="popover"]').popover()
})
</script>
</div>
</div>
<div class="panel-group tool-tips widget-shadow" id="accordion" role="tablist" aria-multiselectable="true">
<h4 class="title2"> Accordion example :</h4>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingOne">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Product 1
</a>
</h4>
</div>
<div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
<div class="panel-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. apiente ea proident. Ad vegan excepteur butcher vice lomo. labore sustainable VHS.
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingTwo">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
Product 2
</a>
</h4>
</div>
<div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
<div class="panel-body">
Eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Anim pariatur cliche reprehenderit, enim Food truck quinoa nesciunt laborum eiusmod. apiente ea proident. Ad vegan excepteur butcher vice lomo. labore sustainable VHS.
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingThree">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
Product 3
</a>
</h4>
</div>
<div id="collapseThree" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree">
<div class="panel-body">
3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. apiente ea proident. Ad vegan excepteur butcher vice lomo. labore sustainable VHS.
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingFour">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseFour" aria-expanded="false" aria-controls="collapseFour">
Product 4
</a>
</h4>
</div>
<div id="collapseFour" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingFour">
<div class="panel-body">
Cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. apiente ea proident. Ad vegan excepteur butcher vice lomo. labore sustainable VHS.
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingFive">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseFive" aria-expanded="false" aria-controls="collapseFive">
Product 5
</a>
</h4>
</div>
<div id="collapseFive" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingFive">
<div class="panel-body">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. apiente ea proident. Ad vegan excepteur butcher vice lomo. labore sustainable VHS.
</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/scripts.js"></script>
<!--//scrolling js-->
<!-- Bootstrap Core JavaScript -->
<script src="js/bootstrap.js"> </script>
</body>
</html>
\ No newline at end of file
...@@ -7,6 +7,7 @@ License URL: http://creativecommons.org/licenses/by/3.0/ ...@@ -7,6 +7,7 @@ License URL: http://creativecommons.org/licenses/by/3.0/
<!doctype html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<<<<<<< HEAD
<title>Quản trị văn phòng</title> <title>Quản trị văn phòng</title>
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
...@@ -114,5 +115,737 @@ SmartPhone Compatible web template, free WebDesigns for Nokia, Samsung, LG, Sony ...@@ -114,5 +115,737 @@ SmartPhone Compatible web template, free WebDesigns for Nokia, Samsung, LG, Sony
</head> </head>
<body ng-app="myApp" class="cbp-spmenu-push"> <body ng-app="myApp" class="cbp-spmenu-push">
<div ui-view="layout"></div> <div ui-view="layout"></div>
=======
<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'/>
>>>>>>> 14cbe76ccc34395abe463875cb178d2c872e3f85
<!-- Custom CSS -->
<link href="css/style.css" rel='stylesheet' type='text/css'/>
<!-- font-awesome icons CSS -->
<link href="css/font-awesome.css" rel="stylesheet">
<link rel="stylesheet" href="css/Footer-with-social-icons.css">
<link href='css/SidebarNav.min.css' media='all' rel='stylesheet' type='text/css'/>
<script src="js/jquery-1.11.1.min.js"></script>
<script src="js/modernizr.custom.js"></script>
<link href="//fonts.googleapis.com/css?family=PT+Sans:400,400i,700,700i&amp;subset=cyrillic,cyrillic-ext,latin-ext"
rel="stylesheet">
<script src="js/Chart.js"></script>
<script src="js/metisMenu.min.js"></script>
<script src="js/custom.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.js"></script>
<script src="js/angular-route.js"></script>
<script src="js/angular-ui-router.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular-animate.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular-sanitize.js"></script>
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-1.3.3.js"></script>
<script src="js/app.js"></script>
<<<<<<< HEAD
<script src="pages/project/groupproject/groupProjectController.js"></script>
<script src="pages/timesheet/timeSheetController.js"></script>
<script src="pages/leaveform/leaveFormController.js"></script>
<script src="pages/leaveform/leaveFormDetailController.js"></script>
<script src="pages/timesheet/timeSheetDetailController.js"></script>
<script>
function showAddTimeSheetFunction() {
const x = document.getElementById("addDivTS");
const n = document.getElementById("addTimeSheet");
if (x.style.display === "none") {
x.style.display = "block";
n.value = "Close";
} else {
x.style.display = "none";
n.value = "Add";
}
}
</script>
<script>
function showAddLeaveFormFunction() {
const x = document.getElementById("addDivLF");
const n = document.getElementById("addLeaveForm");
if (x.style.display === "none") {
x.style.display = "block";
n.value = "Close";
} else {
x.style.display = "none";
n.value = "Add Leave Form";
}
=======
<script src="pages/employee/employeeController.js"></script>
<!-- <script src="pages/project/projectController.js"></script>-->
<script src="pages/leaveform/leaveFormController.js"></script>
<script src="pages/homepage/homeController.js"></script>
<script src="pages/timesheet/timeSheetController.js"></script>
<script src="pages/timesheet/timeSheetDetailController.js"></script>
<script src="pages/leaveform/leaveFormDetailController.js"></script>
<script src="pages/employee/createEmployeeController.js"></script>
<link data-require="bootstrap-css@2.3.2" data-semver="2.3.2" rel="stylesheet"
href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css"/>
`
<!-- end anguarjs app-->
<link href="css/custom.css" rel="stylesheet">
<style>
#chartdiv {
width: 100%;
height: 295px;
>>>>>>> 14cbe76ccc34395abe463875cb178d2c872e3f85
}
</style>
<!--pie-chart --><!-- index page sales reviews visitors pie chart -->
<script src="js/pie-chart.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#demo-pie-1').pieChart({
barColor: '#2dde98',
trackColor: '#eee',
lineCap: 'round',
lineWidth: 8,
onStep: function (from, to, percent) {
$(this.element).find('.pie-value').text(Math.round(percent) + '%');
}
});
$('#demo-pie-2').pieChart({
barColor: '#8e43e7',
trackColor: '#eee',
lineCap: 'butt',
lineWidth: 8,
onStep: function (from, to, percent) {
$(this.element).find('.pie-value').text(Math.round(percent) + '%');
}
});
$('#demo-pie-3').pieChart({
barColor: '#ffc168',
trackColor: '#eee',
lineCap: 'square',
lineWidth: 8,
onStep: function (from, to, percent) {
$(this.element).find('.pie-value').text(Math.round(percent) + '%');
}
});
});
</script>
<link href="css/owl.carousel.css" rel="stylesheet">
<script src="js/owl.carousel.js"></script>
<script>
$(document).ready(function () {
$("#owl-demo").owlCarousel({
items: 3,
lazyLoad: true,
autoPlay: true,
pagination: true,
nav: true
});
});
</script>
<<<<<<< HEAD
<<<<<<< HEAD
<!-- Js -->
<!-- Bootstrap core JavaScript-->
<script src="pages/employee/employeeController.js"></script>
<script src="pages/project/project/projectController.js"></script>
<script src="pages/login/loginsController.js"></script>
<script src="pages/adminhome/admin.js"></script>
<script src="common/js/jquery.min.js"></script>
<script src="common/js/bootstrap.bundle.min.js"></script>
<!-- Core plugin JavaScript-->
<script src="common/js/jquery.easing.min.js"></script>
<!-- Page level plugin JavaScript-->
<script src="common/js/Chart.min.js"></script>
<script src="common/js/jquery.dataTables.js"></script>
<script src="common/js/dataTables.bootstrap4.js"></script>
<!-- Custom scripts for all pages-->
<script src="common/js/sb-admin.min.js"></script>
=======
>>>>>>> 14cbe76ccc34395abe463875cb178d2c872e3f85
</head>
<body class="cbp-spmenu-push" ng-app="myApp">
<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>Project</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>
<li class="treeview">
<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-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="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>
</nav>
</aside>
</div>
<!-- header-starts -->
<div class="sticky-header header-section ">
<div class="header-left">
<button id="showLeftPush"><i class="fa fa-bars"></i></button>
<div class="profile_details_left">
<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><a href="#">
<div class="user_img"><img src="images/2.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><a href="#">
<div class="user_img"><img src="images/2.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>
</nav>
<!-- /.Navbar-->
<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 -->
<!-- main content start-->
<div id="page-wrapper">
<div class="main-page">
<div ui-view="layout">
Content222
</div>
</div>
</div>
<!--footer-->
<div class="content">
</div>
<footer id="myFooter">
<div class="container">
<div class="row">
<div class="col-sm-3 myCols">
<h5>Get started</h5>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Sign up</a></li>
<li><a href="#">Downloads</a></li>
</ul>
</div>
<div class="col-sm-3 myCols">
<h5>About us</h5>
<ul>
<li><a href="#">Company Information</a></li>
<li><a href="#">Contact us</a></li>
<li><a href="#">Reviews</a></li>
</ul>
</div>
<div class="col-sm-3 myCols">
<h5>Support</h5>
<ul>
<li><a href="#">FAQ</a></li>
<li><a href="#">Help desk</a></li>
<li><a href="#">Forums</a></li>
</ul>
</div>
<div class="col-sm-3 myCols">
<h5>Legal</h5>
<ul>
<li><a href="#">Terms of Service</a></li>
<li><a href="#">Terms of Use</a></li>
<li><a href="#">Privacy Policy</a></li>
</ul>
</div>
</div>
</div>
<div class="social-networks">
<a href="#" class="twitter"><i class="fa fa-twitter"></i></a>
<a href="#" class="facebook"><i class="fa fa-facebook-official"></i></a>
<a href="#" class="google"><i class="fa fa-google-plus"></i></a>
</div>
<!--//footer-->
<!-- new added graphs chart js-->
<script src="js/Chart.bundle.js"></script>
<script src="js/utils.js"></script>
<script>
var MONTHS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var color = Chart.helpers.color;
var barChartData = {
labels: ["January", "February", "March", "April", "May", "June", "July"],
datasets: [{
label: 'Dataset 1',
backgroundColor: color(window.chartColors.red).alpha(0.5).rgbString(),
borderColor: window.chartColors.red,
borderWidth: 1,
data: [
randomScalingFactor(),
randomScalingFactor(),
randomScalingFactor(),
randomScalingFactor(),
randomScalingFactor(),
randomScalingFactor(),
randomScalingFactor()
]
}, {
label: 'Dataset 2',
backgroundColor: color(window.chartColors.blue).alpha(0.5).rgbString(),
borderColor: window.chartColors.blue,
borderWidth: 1,
data: [
randomScalingFactor(),
randomScalingFactor(),
randomScalingFactor(),
randomScalingFactor(),
randomScalingFactor(),
randomScalingFactor(),
randomScalingFactor()
]
}]
};
$(function () {
window.onload = function () {
var ctx = document.getElementById("canvas")
if (ctx) {
ctx.getContext("2d");
window.myBar = new Chart(ctx, {
type: 'bar',
data: barChartData,
options: {
responsive: true,
legend: {
position: 'top'
},
title: {
display: true,
text: 'Chart.js Bar Chart'
}
}
});
}
}
});
var c = document.getElementById('randomizeData');
if (c) {
c.addEventListener('click', function () {
var zero = Math.random() < 0.2 ? true : false;
barChartData.datasets.forEach(function (dataset) {
dataset.data = dataset.data.map(function () {
return zero ? 0.0 : randomScalingFactor();
});
});
window.myBar.update();
});
}
var colorNames = Object.keys(window.chartColors);
var el = document.getElementById('addDataset');
if (el) {
addEventListener('click', function () {
var colorName = colorNames[barChartData.datasets.length % colorNames.length];
;
var dsColor = window.chartColors[colorName];
var newDataset = {
label: 'Dataset ' + barChartData.datasets.length,
backgroundColor: color(dsColor).alpha(0.5).rgbString(),
borderColor: dsColor,
borderWidth: 1,
data: []
};
for (var index = 0; index < barChartData.labels.length; ++index) {
newDataset.data.push(randomScalingFactor());
}
barChartData.datasets.push(newDataset);
window.myBar.update();
});
}
var els = document.getElementById('addData');
if (els) {
addEventListener('click', function () {
if (barChartData.datasets.length > 0) {
var month = MONTHS[barChartData.labels.length % MONTHS.length];
barChartData.labels.push(month);
for (var index = 0; index < barChartData.datasets.length; ++index) {
//window.myBar.addData(randomScalingFactor(), index);
barChartData.datasets[index].data.push(randomScalingFactor());
}
window.myBar.update();
}
});
}
var rs = document.getElementById('removeDataset');
if (rs) {
addEventListener('click', function () {
barChartData.datasets.splice(0, 1);
window.myBar.update();
});
}
var res = document.getElementById('removeData');
if (res) {
addEventListener('click', function () {
barChartData.labels.splice(-1, 1); // remove the label first
<<<<<<< HEAD
<div ui-view="layout">
=======
barChartData.datasets.forEach(function (dataset, datasetIndex) {
dataset.data.pop();
});
>>>>>>> 14cbe76ccc34395abe463875cb178d2c872e3f85
window.myBar.update();
});
}
<<<<<<< HEAD
<script src="js/main.js"></script>
<script src="js/app.js"></script>
<script src="pages/employee/employeeController.js"></script>
<script src="pages/project/project/projectController.js"></script>
<script src="pages/homepage/homeController.js"></script>
<script src="pages/homepage/HomeService.js"></script>
=======
</script>
<<<<<<< HEAD
<!-- new added graphs chart js-->
>>>>>>> 14cbe76ccc34395abe463875cb178d2c872e3f85
=======
>>>>>>> 049511c3b37f668c637022150c53bd25d9b8e61d
<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');
};
<<<<<<< HEAD
<!-- Custom scripts for all pages-->
<script src="common/js/sb-admin.min.js"></script>
=======
function disableOther(button) {
if (button !== 'showLeftPush') {
classie.toggle(showLeftPush, 'disabled');
}
}
</script>
<script src="js/scripts.js"></script>
<script src="js/bootstrap.js"></script>
</footer>
>>>>>>> 14cbe76ccc34395abe463875cb178d2c872e3f85
</div>
=======
</head>
<body class="cbp-spmenu-push" ng-app="myApp">
<div ui-view="layout"></div>
>>>>>>> fcb3554c9480d927d3ff072584217224ddd37db6
>>>>>>> master
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -6333,7 +6333,7 @@ defaults._set('bar', { ...@@ -6333,7 +6333,7 @@ defaults._set('bar', {
defaults._set('horizontalBar', { defaults._set('horizontalBar', {
hover: { hover: {
mode: 'index', mode: 'public.index',
axis: 'y' axis: 'y'
}, },
...@@ -6389,7 +6389,7 @@ defaults._set('horizontalBar', { ...@@ -6389,7 +6389,7 @@ defaults._set('horizontalBar', {
return datasetLabel + ': ' + item.xLabel; return datasetLabel + ': ' + item.xLabel;
} }
}, },
mode: 'index', mode: 'public.index',
axis: 'y' axis: 'y'
} }
}); });
......
...@@ -199,4 +199,89 @@ angular.module("myApp", ["ngAnimate", "ui.router", "ui.bootstrap"]).config(funct ...@@ -199,4 +199,89 @@ angular.module("myApp", ["ngAnimate", "ui.router", "ui.bootstrap"]).config(funct
} }
} }
}) })
// .state("timeSheet", {
// parent: 'layout1',
// url: "/timesheet",
// views: {
// "content": {
// templateUrl: "pages/timesheet/leaveFromeaveFromDetail.html",
// controller: "leaveFormController"
// }
// }
// })
// .state("timeSheetDetail", {
// parent: 'layout1',
// url: "/timesheetdetail/:id",
// views: {
// "content": {
// templateUrl: "pages/timesheet/l",
// controller: "timeSheetDetailController"
// }
// }
// })
.state("leaveform", {
parent: 'layout1',
url: "/leaveform",
views: {
"content": {
templateUrl: "pages/leaveform/leaveForm.html",
controller: "leaveFormController"
}
}
})
.state("leaveFormDetail", {
parent: 'layout1',
url: "/leaveformdetail/:id",
views: {
"content": {
templateUrl: "pages/leaveform/leaveFormDetail.html",
controller: "leaveFormDetailController"
}
}
})
.state("timesheet",{
parent:'layout1',
url:"/timesheet",
views:{
"content":{
templateUrl:"pages/timesheet/timesheet.html",
controller:"timeSheetController"
}
}
})
.state("timesheetDetail",{
parent:'layout1',
url:"/timesheetDetail/:id",
views:{
"content":{
templateUrl:"page/timesheet/timeSheetDetail.html",
controller:"timeSheetDetailController"
}
}
})
.state("project", {
parent: 'layout1',
url: "/project",
views: {
"content": {
templateUrl: "pages/project/project.html",
controller: "projectController"
}
}
})
.state("news",{
parent:'layout1',
url:"/news",
views:{
"content":{
templateUrl:"pages/homepage/catagoriManagements.html",
controller:"homeController"
}
}
})
}); });
\ No newline at end of file
<div> <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">
<i class="fa fa-users" aria-hidden="true"></i>
Human
<span
class="dashboard_text">Resource Management
</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 ui-sref="employees">
<i class="fa fa-user" aria-hidden="true"></i>
<span>Employee</span>
</a>
</li>
<li class="treeview">
<!-- <a ui-sref="project">-->
<i class="fa fa-laptop"></i>
<span>Project</span>
<<<<<<< HEAD
<a ui-sref="employees"></a> <a ui-sref="employees"></a>
<!-- <a ui-sref="report"></a>--> <!-- <a ui-sref="report"></a>-->
<!-- <a ui-sref="project"></a>--> <!-- <a ui-sref="project"></a>-->
<a ui-sref="timeSheet"></a> <a ui-sref="timeSheet"></a>
<div ui-view="content"> <div ui-view="content">
=======
</li>
>>>>>>> master
<li class="treeview">
<li class="treeview">
<a ui-sref="news">
<i class="fa fa-newspaper-o" aria-hidden="true"></i>
<span>News</span>
</a>
</li>
<li>
<a ui-sref="leaveform">
<i class="fa fa-file-text-o" aria-hidden="true"></i>
<span>Leave From</span>
</a>
<a href="/employee/leavefrom.html"></a>
</li>
<li class="treeview">
<a ui-sref="timesheet" >
<i class="fa fa-edit"></i>
<span>Timesheet</span>
</a>
</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="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>
</nav>
</aside>
</div>
<!-- header-starts -->
<div class="sticky-header header-section ">
<div class="header-left">
<button id="showLeftPush">
<i class="fa fa-bars"></i>
</button>
<div class="profile_details_left">
<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>
<a href="#">
<div class="user_img">
<img src="images/2.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>
<a href="#">
<div class="user_img">
<img src="images/2.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> </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>
</nav>
<!-- /.Navbar-->
<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 -->
<!-- main content start-->
<div id="page-wrapper">
<div class="main-page">
<div ui-view="content">
</div>
</div>
</div>
<!--footer-->
<div class="content">
</div>
<footer id="myFooter">
<div class="container">
<div class="row">
<div class="col-sm-3 myCols">
<h5>Get started</h5>
<ul>
<li>
<a href="#">Home</a>
</li>
<li>
<a href="#">Sign up</a>
</li>
<li>
<a href="#">Downloads</a>
</li>
</ul>
</div>
<div class="col-sm-3 myCols">
<h5>About us</h5>
<ul>
<li>
<a href="#">Company Information</a>
</li>
<li>
<a href="#">Contact us</a>
</li>
<li>
<a href="#">Reviews</a>
</li>
</ul>
</div>
<div class="col-sm-3 myCols">
<h5>Support</h5>
<ul>
<li>
<a href="#">FAQ</a>
</li>
<li>
<a href="#">Help desk</a>
</li>
<li>
<a href="#">Forums</a>
</li>
</ul>
</div>
<div class="col-sm-3 myCols">
<h5>Legal</h5>
<ul>
<li>
<a href="#">Terms of Service</a>
</li>
<li>
<a href="#">Terms of Use</a>
</li>
<li>
<a href="#">Privacy Policy</a>
</li>
</ul>
</div>
</div>
</div>
<div class="social-networks">
<a href="#" class="twitter">
<i class="fa fa-twitter"></i>
</a>
<a href="#" class="facebook">
<i class="fa fa-facebook-official"></i>
</a>
<a href="#" class="google">
<i class="fa fa-google-plus"></i>
</a>
</div>
<!--//footer-->
</footer>
</div> </div>
<<<<<<< HEAD
<div class="main-content"> <div class="main-content">
<div class="cbp-spmenu cbp-spmenu-vertical cbp-spmenu-left" id="cbp-spmenu-s1"> <div class="cbp-spmenu cbp-spmenu-vertical cbp-spmenu-left" id="cbp-spmenu-s1">
<!--left-fixed -navigation--> <!--left-fixed -navigation-->
...@@ -100,6 +101,13 @@ ...@@ -100,6 +101,13 @@
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</nav> </nav>
</aside> </aside>
=======
<div>
<div ui-view="content">
>>>>>>> master
</div> </div>
<!--left-fixed -navigation--> <!--left-fixed -navigation-->
......
<!--<link rel="stylesheet" href="../../css/bootstrap-combined.min.css">-->
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-md-8"> <div class="col-md-8">
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
<td>{{$index + 1}}</td> <td>{{$index + 1}}</td>
<td>{{cata.name}}</td> <td>{{cata.name}}</td>
<td>{{cata.news.length}}</td> <td>{{cata.news.length}}</td>
<td><a href="http://localhost:8080/#/management/catagori/{{cata.id}}" ng-click="detailNews(emp);">Detail</a> </td> <td><a href="#/management/catagori/{{cata.id}}">Detail</a> </td>
<td><a href="#" ng-click="update(emp);">Edit</a> </td> <td><a href="#">Edit</a> </td>
</tr> </tr>
</tbody> </tbody>
......
angular.module("myApp").controller('homeController', function ($scope,$http, $state,News, $window,$stateParams,Catagories,LatestNews,NewsByCatagori) { angular.module("myApp").controller('homeController', function ($scope,$http, $state,News, $window,$stateParams,Catagories,LatestNews) {
$scope.catagories = Catagories.query(); $scope.catagories = Catagories.query();
...@@ -35,21 +35,44 @@ angular.module("myApp").controller('homeController', function ($scope,$http, $st ...@@ -35,21 +35,44 @@ angular.module("myApp").controller('homeController', function ($scope,$http, $st
$scope.catagoriById = Catagories.get({}, {myCatagoriesId: $stateParams.myCatagoriId}); $scope.catagoriById = Catagories.get({}, {myCatagoriesId: $stateParams.myCatagoriId});
//Delete News //Delete News
$scope.deleteNews = function(newsId,catagoriId) { $scope.deleteNews = function(newsId) {
if(confirm("Delete?")) { if (confirm("Delete?")) {
$http({ $http({
method: 'DELETE', method: 'DELETE',
url: 'http://localhost:8080/api/HR/catagori/' + catagoriId + '/news/' + newsId, url: 'http://localhost:8080/api/HR/news/' + newsId,
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}).then(function (response) { }).then(function (response) {
console.log("delete OK");
$state.reload();
}, function (data, status) {
$state.reload();
});
}
};
//Edit news
$scope.newsEditById = News.get({}, {myNewsId: $stateParams.myNewsEditId});
$scope.editNews = function(newsEditById) {
if(confirm("Update?")) {
$http({
method: 'PUT',
url: 'http://localhost:8080/api/HR/news/' + newsEditById.id,
data: angular.toJson(newsEditById),
headers: {
'Content-Type': 'application/json'
}
}).then(function (response) {
console.log("update OK");
$state.go('newsManagement',{myCatagoriId:$stateParams.myCatagoriEditId});
}, function (data, status) { }, function (data, status) {
console.log(status);
}); });
} }
}; };
}); });
\ No newline at end of file
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
{{catagori.name}} {{catagori.name}}
</h3> </h3>
<a href="http://localhost:8080/index.html#/news/catagori/{{catagori.id}}" class="tab01-link f1-s-1 cl9 hov-cl10 trans-03"> <a href="http://localhost:8080/#/news/catagori/{{catagori.id}}" class="tab01-link f1-s-1 cl9 hov-cl10 trans-03">
View all View all
<i class="fs-12 m-l-5 fa fa-caret-right"></i> <i class="fs-12 m-l-5 fa fa-caret-right"></i>
</a> </a>
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<!-- Tab panes --> <!-- Tab panes -->
<div class="tab-content p-t-35"> <div class="tab-content p-t-35" style="overflow: hidden">
<!-- - --> <!-- - -->
<div class="tab-pane fade show active" id="tab1-1" role="tabpanel"> <div class="tab-pane fade show active" id="tab1-1" role="tabpanel">
<div class="row"> <div class="row">
......
<form name="myForm" novalidate ng-submit="editNews(newsEditById)" >
<table border= 1>
<tr>
<td>News Id</td>
<td>{{newsEditById.id}}</td>
</tr>
<tr>
<td>Thumbnail</td>
<td><input type="text" data-ng-model="newsEditById.thumbnail" /></td>
</tr>
<tr>
<td>Title</td>
<td><input type="text" ng-model="newsEditById.title" /></td>
</tr>
<tr>
<td>Content</td>
<td><input type="text" data-ng-model="newsEditById.content" /></td>
</tr>
<tr>
<td>Status</td>
<td><input type="text" data-ng-model="newsEditById.status" /></td>
</tr>
<tr>
<td colspan="2">
<input data-ng-disabled="myForm.$invalid" type="submit" value="Submit" class="blue-button" />
</td>
</tr>
</table>
</form>
<!--<link rel="stylesheet" href="../../css/bootstrap-combined.min.css">-->
<div class="container"> <div class="container">
<div class="row">
<div class="col-md-8">
<div >
<div> <div>
<table class="table"> <table class="table" >
<thead> <thead>
<tr> <tr>
<tr> <tr>
<a ui-sref="CatagoriManagement"><< Back</a>
<td colspan="12"><h1 style="font-size: 30px;text-align: center">{{catagoriById.name}}</h1></td> <td colspan="12"><h1 style="font-size: 30px;text-align: center">{{catagoriById.name}}</h1></td>
</tr> </tr>
<th>STT</th> <th>STT</th>
...@@ -21,17 +20,18 @@ ...@@ -21,17 +20,18 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr class="vide" ng-repeat="new in catagoriById.news"> <tr class="vide" ng-repeat="myNews in catagoriById.news">
<td>{{$index + 1}}</td> <td>{{$index + 1}}</td>
<td>{{new.title}}</td> <td>{{myNews.title}}</td>
<td>{{new.createdAt}}</td> <td>{{myNews.createdAt}}</td>
<td>{{new.content}}</td> <td>{{myNews.content}}</td>
<td><button ng-click="editNews(new,catagoryById.id)">Edit</button> </td> <td><a href="#/management/catagori/{{catagoriById.id}}/news/{{myNews.id}}" style="color:green;border: 1px solid black;padding: 10px;" >Edit</a> </td>
<td><button ng-click="deleteNews(new.id,catagoryById.id)">Delete</button> </td> <td><button type="button" style="color:red;border: 1px solid black;padding: 10px;" ng-click="deleteNews(myNews.id)">Delete</button> </td>
<td><button type="button" ng-click=""></button>Add</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div>Add
</div> </div>
</div>
</div>
</div> </div>
<div class="card-header">
<i class="fas fa-table"></i> Thêm mới dự án
</div>
<div class="card-body">
<form ng-submit="insertIssues(Issues)">
<label>Tên Dự Án</label>
<select ng-model="Issues.projectId" autofocus="autofocus"
required="required">
<option value="">==> Trạng Thái</option>
<option ng-repeat="project in listProject" value="{{project.id}}">{{project.name}}</option>
</select><br/>
<label>Tiêu đề</label>
<input type="text" ng-model="Issues.title" id="title" placeholder="Tiêu Đề"
required="required"><br/>
<label>Nội Dung</label>
<input type="text" ng-model="Issues.actionCode" id="actionCode" placeholder="Nội dung issues"
required="required"><br/>
<div>
<h1>{{view.message}}</h1>
<input type="submit" value="Save">
<input type="reset" value="Reset">
<button type="button" ui-sref="issues">Back</button>
</div>
</form>
</div>
\ No newline at end of file
angular.module("myApp").controller('IssuesAddController', function ($scope,$state,$http) {
$scope.insertIssues = function (Issues) {
$http({
method: 'POST',
url: 'http://localhost:8081/them-issues',
data: angular.toJson($scope.Issues),
headers: {
'Content-Type': 'application/json'
}
}).then(successCallback, errorCallback);
function successCallback(response) {
$scope.view = response.data;
if ($scope.view.status == 200) {
$state.go('issues');
}
}
function errorCallback(error) {
//error code
console.log("can't insert data!!");
}
}
$http.get("http://localhost:8081/quan-tri/danh-sach-du-an/").then(successCallback, errorCallback);
function successCallback(response) {
console.log(response.data);
{
$scope.listProject = response.data;
}
}
function errorCallback(error) {
//error code
console.log("can't get data!!");
}
});
\ No newline at end of file
angular.module("myApp").controller('IssuesShowController', function ($scope,$stateParams,$http,$state) {
$scope.currentPage = 1
,$scope.numPerPage = 5
,$scope.maxSize = 5;
$http.get('http://localhost:8081/danh-sach-issues').then(successCallback, errorCallback);
function successCallback(response) {
console.log(response.data);
{
$scope.ListIssues = response.data;
$scope.numPages = function () {
return Math.ceil($scope.ListIssues.length / $scope.numPerPage);
};
$scope.$watch('currentPage + numPerPage', function () {
var begin = (($scope.currentPage - 1) * $scope.numPerPage)
, end = begin + $scope.numPerPage;
$scope.pageListIssues = $scope.ListIssues.slice(begin, end);
});
}
}
function errorCallback(error) {
//error code
console.log("can't get data!!");
}
$scope.updateIssues = function (issue) {
if (confirm("Bạn có muốn thay đổi trạng thái không ?")) {
$http({
method: 'PUT',
url: 'http://localhost:8081/sua-issues',
data: angular.toJson(issue),
headers: {
'Content-Type': 'application/json'
}
}).then(successCallback, errorCallback);
function successCallback(response) {
$scope.view = response.data;
if ($scope.view.status == 200) {
$state.reload();
}
}
function errorCallback(error) {
//error code
console.log("can't update data!!");
}
}
};
});
\ No newline at end of file
<div class="col-lg-8">
<hr>
<p style="text-align: center">Tên Dự Án : {{loadIssues.project.name | uppercase}}</p>
<hr>
<p class="lead">Tiêu Đề: {{loadIssues.title | uppercase}}</p>
<blockquote class="blockquote">
<p class="mb-0">NỘI DUNG ISSUES : {{loadIssues.actionCode}}</p>
</blockquote>
<hr>
<!-- Comments Form -->
<div class="card my-4">
<h5 class="card-header">Comment:</h5>
<div class="card-body">
<form ng-submit="saveComment(IssuesComment)">
<div class="form-group">
<textarea ng-model="IssuesComment.contentIssuse" class="form-control" rows="3"></textarea>
</div>
<button type="submit" class="btn btn-primary">Đăng Comments</button>
<input class="btn btn-primary" type="reset" value="Reset">
</form>
</div>
</div>
<!-- Single Comment -->
<div class="media mb-4">
<div class="media-body">
<h5 class="mt-0">UserName</h5><p>Thời gian đăng</p>
-<p>Nội dung comment</p>-
</div>
</div>
</div>
\ No newline at end of file
<div class="card mb-3">
<div class="card-header">
<i class="fas fa-table"></i> Danh Sách Issue
</div>
<div class="card-body">
<div class="table-responsive">
<input type="text" ng-model="search" placeholder="Search" style="margin-bottom: 10px;">
<table class="table table-bordered" id="dataTable" width="100%"
cellspacing="0">
<thead>
<tr>
<th>Tên Dự Án</th>
<th>Issue</th>
<th>Ngày Tạo</th>
<th>Trạng Thái</th>
<th>Thao Tác</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="issue in pageListIssues|filter:search">
<td>{{ issue.project.name }}</td>
<td>{{ issue.title }}</td>
<td>{{ issue.startDate | date:"dd/MM/yyyy" }}</td>
<td>
<span ng-if="issue.status == 0" style="color: #34ce57">Đang fix</span>
<span ng-if="issue.status == 1" style="color: #0e90d2">Đã fix xong</span>
</td>
<td><a ui-sref="IssuesComment({IssuesId : issue.id})" class="btn btn-info btn-circle btn-sm">
Chi Tiết </a>
<a ng-click="updateIssues(issue)" class="btn btn-warning btn-circle btn-sm">
Cập nhật Trạng Thái </a>
<a class="btn btn-danger btn-circle btn-sm" ng-controller="IssuesDeleteController"
data-ng-click="IssuesDelete(issue)">Xóa</a>
</tr>
</tbody>
</table>
<a ui-sref="addIssues" class="btn btn-primary btn-circle btn-sm" style="margin-bottom: 10px;"> Thêm Issue Mới</a>
</div>
</div>
<div data-pagination="" data-num-pages="numPages()"
data-current-page="currentPage" data-max-size="maxSize"
data-boundary-links="true">
</div>
</div>
angular.module("myApp").controller('IssuesDeleteController', function($scope, $window, $http,$state) {
$scope.IssuesDelete = function (issue) {
if (confirm("Bạn có chắc chắn muốn xóa ?")) {
$http({
method: 'DELETE',
url: 'http://localhost:8081/xoa-issues',
data: $scope.issue,
headers: {
'Content-Type': 'application/json'
}
}).then(successCallback, errorCallback);
function successCallback(response) {
$scope.view = response.data;
if ($scope.view.status == 200) {
$state.reload();
}
}
function errorCallback(error) {
console.log("can't delete data!!");
}
}
};
});
\ No newline at end of file
var app = angular.module("myApp").controller('loadIssuesDetail', function ($scope, $stateParams, $http, $state) {
$http.get('http://localhost:8081/chi-tiet-issues/' + $stateParams.IssuesId).then(successCallback, errorCallback);
function successCallback(response) {
console.log(response.data);
{
$scope.loadIssues = response.data
}
}
function errorCallback(error) {
console.log("can't get data!!");
}
$scope.saveComment = function (IssuesComment) {
IssuesComment.issueId = $scope.loadIssues.id;
$http({
method: 'POST',
url: 'http://localhost:8081/tao-comment',
data: angular.toJson(IssuesComment),
headers: {
'Content-Type': 'application/json'
}
}).then(successCallback, errorCallback);
function successCallback(response) {
$scope.view = response.data;
if ($scope.view.status == 200) {
$state.reload();
}
}
function errorCallback(error) {
//error code
console.log("can't insert data!!");
}
}
//hiện thị danh sách comment
});
app.controller('showComment',showComment)
function showComment($scope, $http) {
//trang đang đứng trên font-end
$scope.currentPage = 1
//số item hiển thị trong 1 page
, $scope.numPerPage = 4
//tổng số page hiển thị trên thanh chọn
, $scope.maxSize = 5;
$http.get('http://localhost:8081/Comment/' + $scope.loadIssues.id).then(successCallback, errorCallback);
function successCallback(response) {
console.log(response.data);
{
$scope.CommentIssues = response.data
$scope.numPages = function () {
return Math.ceil($scope.CommentIssues.length / $scope.numPerPage);
};
$scope.$watch('currentPage + numPerPage', function () {
var begin = (($scope.currentPage - 1) * $scope.numPerPage)
, end = begin + $scope.numPerPage;
$scope.pageListCommentIssues = $scope.CommentIssues.slice(begin, end);
});
}
}
function errorCallback(error) {
console.log("can't get data!!");
}
}
\ No newline at end of file
<script> <script>
function showAddLeaveFormFunction() { function showAddLeaveFormFunction() {
<<<<<<< HEAD
const x = document.getElementById("addDivLF"); const x = document.getElementById("addDivLF");
const n = document.getElementById("addLeaveForm"); const n = document.getElementById("addLeaveForm");
if (x.style.display === "none") { if (x.style.display === "none") {
x.style.display = "block"; x.style.display = "block";
n.value = "Close"; n.value = "Close";
=======
var x = document.getElementById("addDivLF");
var n = document.getElementById("addLeaveForm");
if (x.style.display === "none") {
x.style.display = "block";
n.value = " Back";
>>>>>>> master
} else { } else {
x.style.display = "none"; x.style.display = "none";
n.value = "Add Leave Form"; n.value = "Add Leave Form";
...@@ -16,7 +24,11 @@ ...@@ -16,7 +24,11 @@
<div class="table-title"> <div class="table-title">
<div class="row"> <div class="row">
<div class="col-sm-6"> <div class="col-sm-6">
<<<<<<< HEAD
<h4><b>Leave Form</b></h4> <h4><b>Leave Form</b></h4>
=======
<h2><b>Leave Form</b></h2>
>>>>>>> master
<label> <label>
Search: <input type="text" ng-model="search" placeholder="Search" style="color: black; margin: 10px"/> Search: <input type="text" ng-model="search" placeholder="Search" style="color: black; margin: 10px"/>
</label> </label>
......
...@@ -62,7 +62,7 @@ angular.module("myApp").controller("leaveFormController", function($scope, $http ...@@ -62,7 +62,7 @@ angular.module("myApp").controller("leaveFormController", function($scope, $http
console.log($scope.lfdto); console.log($scope.lfdto);
$http({ $http({
method : 'POST', method : 'POST',
url : "http://localhost:8080/employee/leaveform/add", url : "http://localhost:8080/timesheet/leaveform/add",
data: $scope.lfdto data: $scope.lfdto
}).then(function successCallback(response) { }).then(function successCallback(response) {
console.log(response); console.log(response);
...@@ -86,7 +86,7 @@ angular.module("myApp").controller("leaveFormController", function($scope, $http ...@@ -86,7 +86,7 @@ angular.module("myApp").controller("leaveFormController", function($scope, $http
function update(){ function update(){
$http({ $http({
method : 'POST', method : 'POST',
url : "http://localhost:8080/employee/leaveform/update", url : "http://localhost:8080/timesheet/leaveform/update",
data: $scope.lfdto data: $scope.lfdto
}).then(function successCallback(response) { }).then(function successCallback(response) {
console.log(response); console.log(response);
...@@ -101,7 +101,7 @@ angular.module("myApp").controller("leaveFormController", function($scope, $http ...@@ -101,7 +101,7 @@ angular.module("myApp").controller("leaveFormController", function($scope, $http
function updateStatus(lf){ function updateStatus(lf){
$http({ $http({
method : 'POST', method : 'POST',
url : "http://localhost:8080/employee/leaveform/"+lf.id+"/status", url : "http://localhost:8080/timesheet/leaveform/"+lf.id+"/status",
// data: $scope.lfdto // data: $scope.lfdto
}).then(function successCallback(response) { }).then(function successCallback(response) {
console.log(response); console.log(response);
...@@ -111,4 +111,5 @@ angular.module("myApp").controller("leaveFormController", function($scope, $http ...@@ -111,4 +111,5 @@ angular.module("myApp").controller("leaveFormController", function($scope, $http
$state.reload(); $state.reload();
}); });
} }
}); });
...@@ -5,7 +5,7 @@ angular.module("myApp").controller("leaveFormDetailController", function($scope, ...@@ -5,7 +5,7 @@ angular.module("myApp").controller("leaveFormDetailController", function($scope,
console.log("Leave Form Detail Controller"); console.log("Leave Form Detail Controller");
$http({ $http({
method : 'GET', method : 'GET',
url : "http://localhost:8080/employee/leaveform/" + $stateParams.id url : "http://localhost:8080/timesheet/leaveform/" + $stateParams.id
}).then(function successCallback(response) { }).then(function successCallback(response) {
console.log(response); console.log(response);
$scope.leaveFormDetail=response.data; $scope.leaveFormDetail=response.data;
...@@ -17,7 +17,7 @@ angular.module("myApp").controller("leaveFormDetailController", function($scope, ...@@ -17,7 +17,7 @@ angular.module("myApp").controller("leaveFormDetailController", function($scope,
function updateStatus(id){ function updateStatus(id){
$http({ $http({
method : 'POST', method : 'POST',
url : "http://localhost:8080/employee/leaveform/"+id+"/status", url : "http://localhost:8080/timesheet/leaveform/"+id+"/status",
}).then(function successCallback(response) { }).then(function successCallback(response) {
console.log(response); console.log(response);
$state.reload(); $state.reload();
......
var app = angular.module('myApp');
app.factory('apiService', apiService);
apiService.$inject = ['$http', 'notificationService', 'authenticationService'];
function apiService($http, notificationService, authenticationService) {
return {
get: get,
post: post,
put: put,
del: del
}
function del(url, data, success, failure) {
authenticationService.setHeader();
$http.delete(url, data).then(function (result) {
success(result);
}, function (error) {
console.log(error.status)
if (error.status === 401) {
notificationService.displayError('Authenticate is required.');
} else if (failure != null) {
failure(error);
}
});
}
function post(url, data, success, failure) {
authenticationService.setHeader();
$http.post(url, data).then(function (result) {
success(result);
}, function (error) {
console.log(error.status)
if (error.status === 401) {
notificationService.displayError('Authenticate is required.');
} else if (failure != null) {
failure(error);
}
});
}
function put(url, data, success, failure) {
authenticationService.setHeader();
$http.put(url, data).then(function (result) {
success(result);
}, function (error) {
console.log(error.status)
if (error.status === 401) {
notificationService.displayError('Authenticate is required.');
} else if (failure != null) {
failure(error);
}
});
}
function get(url, params, success, failure) {
authenticationService.setHeader();
$http.get(url, params).then(function (result) {
success(result);
}, function (error) {
failure(error);
});
}
};
\ No newline at end of file
...@@ -3,53 +3,26 @@ ...@@ -3,53 +3,26 @@
</div> </div>
<div class="card-body"> <div class="card-body">
<form ng-controller="insertEmployeeProject" ng-submit="insert_employeeproject(employeeProject)" name="eproject"> <form ng-controller="insertEmployeeProject" ng-submit="insert_employeeproject(employeeProject)" name="eproject">
<div class="form-group"> <label>Tên Dự Án</label>
<div class="form-row"> <select ng-model="employeeProject.projectId" autofocus="autofocus" required="required">
<div class="col-md-6">
<div class="form-label-group">
<select ng-model="employeeProject.projectId" class="form-control"
autofocus="autofocus" required="required">
<option value=""> ==> Tên Dự Án</option> <option value=""> ==> Tên Dự Án</option>
<option ng-repeat="project in pGroupProject" value="{{project.id}}">{{project.name}} <option ng-repeat="project in pGroupProject" value="{{project.id}}">{{project.name}}</option>
</option> </select><br/>
</select> <label>Tài khoản nhân viên</label>
</div> <input type="text" ng-model="employeeProject.userName" id="employee"
</div> placeholder="Tài khoản nhân viên" required="required"><br/>
</div> <label>Chức Vụ</label>
</div> <select ng-model="employeeProject.position" autofocus="autofocus"
<div class="form-group"> required="required">
<div class="form-row">
<div class="col-md-6">
<div class="form-label-group">
<select ng-model="employeeProject.userId" class="form-control" autofocus="autofocus" required="required">
<option value=""> ==> Tên Tài Khoản</option>
<option ng-repeat="em in eProject" value="{{em.id}}">{{em.username}}</option>
</select>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="form-row">
<div class="col-md-6">
<div class="form-label-group">
<select ng-model="employeeProject.position" class="form-control" autofocus="autofocus" required="required">
<option value="">==> Chức Vụ</option> <option value="">==> Chức Vụ</option>
<option value="TeamLead">TeamLead</option> <option value="TeamLead">TeamLead</option>
<option value="Member">Member</option> <option value="Member">Member</option>
<option value="HR">HR</option> </select><br/>
<option value="Manager">Manager</option>
</select>
</div>
</div>
</div>
</div>
<h3 ng-show="eproject.$valid" style="text-align: center; color: #1c7430">Bạn Có Thể Lưu</h3>
<h1>{{view.message}}</h1> <h1>{{view.message}}</h1>
<div> <div>
<input type="submit" value="Lưu"> <input type="submit" value="Lưu">
<input type="reset" value="Reset"> <input type="reset" value="Reset">
<button type="button" ui-sref="project">Black</button> <button type="button" ui-sref="project">Back</button>
</div> </div>
</form> </form>
</div> </div>
\ No newline at end of file
...@@ -2,6 +2,8 @@ var app = angular.module('myApp'); ...@@ -2,6 +2,8 @@ var app = angular.module('myApp');
app.controller('loadGroupProjectByProjectId', loadGroupProjectByProjectId); app.controller('loadGroupProjectByProjectId', loadGroupProjectByProjectId);
app.controller('insertEmployeeProject', insertEmployeeProject); app.controller('insertEmployeeProject', insertEmployeeProject);
app.controller('deleteEmployeeProject', deleteEmployeeProject); app.controller('deleteEmployeeProject', deleteEmployeeProject);
app.controller('updateGroutpProject', updateGroutpProject);
app.controller('loadEmployeeProjectDetail', loadEmployeeProjectDetail);
// controlers tạo Get API // controlers tạo Get API
function loadGroupProjectByProjectId($scope,$stateParams,$http) { function loadGroupProjectByProjectId($scope,$stateParams,$http) {
$http.get('http://localhost:8081/thong-tin-du-an/'+ $stateParams.ID).then(successCallback, errorCallback); $http.get('http://localhost:8081/thong-tin-du-an/'+ $stateParams.ID).then(successCallback, errorCallback);
...@@ -11,14 +13,12 @@ function loadGroupProjectByProjectId($scope,$stateParams,$http) { ...@@ -11,14 +13,12 @@ function loadGroupProjectByProjectId($scope,$stateParams,$http) {
$scope.listGruopProject = response.data $scope.listGruopProject = response.data
} }
} }
function errorCallback(error) { function errorCallback(error) {
//error code
console.log("can't get data!!"); console.log("can't get data!!");
} }
} }
// tạo controllers insert API // tạo controllers insert API
function insertEmployeeProject($scope, $http, $window) { function insertEmployeeProject($scope, $http, $state) {
$scope.insert_employeeproject = function () { $scope.insert_employeeproject = function () {
$http({ $http({
//khai báo type //khai báo type
...@@ -34,29 +34,16 @@ function insertEmployeeProject($scope, $http, $window) { ...@@ -34,29 +34,16 @@ function insertEmployeeProject($scope, $http, $window) {
} }
// kết quả trả về (THEN) // kết quả trả về (THEN)
}).then(successCallback, errorCallback); }).then(successCallback, errorCallback);
//tạo funtion nếu thành công!
function successCallback(response) { function successCallback(response) {
$scope.view = response.data; $scope.view = response.data;
if($scope.view.status == 200){
$state.go('groupProjectByProjectId', {ID: $scope.employeeProject.projectId});
}
} }
//tạo funtion kiểm tra nếu thất bại
function errorCallback(error) { function errorCallback(error) {
//error code
console.log("can't insert data!!"); console.log("can't insert data!!");
} }
} }
//get Employee
$http({
method : 'GET',
url : "http://localhost:8081/list_employee/"
}).then(function successCallback(response) {
console.log(response);
$scope.eProject=response.data;
}, function errorCallback(response) {
console.log(response)
});
// get Project // get Project
$http.get("http://localhost:8081/quan-tri/danh-sach-du-an").then(successCallback, errorCallback); $http.get("http://localhost:8081/quan-tri/danh-sach-du-an").then(successCallback, errorCallback);
...@@ -72,7 +59,7 @@ function insertEmployeeProject($scope, $http, $window) { ...@@ -72,7 +59,7 @@ function insertEmployeeProject($scope, $http, $window) {
console.log("can't get data!!"); console.log("can't get data!!");
} }
}; };
function deleteEmployeeProject($scope, $window, $http) { function deleteEmployeeProject($scope, $window, $http,$state) {
$scope.deleteEmployeeProject = function (gruopProject) { $scope.deleteEmployeeProject = function (gruopProject) {
if (confirm("Bạn có chắc chắn muốn xóa ?")) { if (confirm("Bạn có chắc chắn muốn xóa ?")) {
$http({ $http({
...@@ -83,17 +70,52 @@ function deleteEmployeeProject($scope, $window, $http) { ...@@ -83,17 +70,52 @@ function deleteEmployeeProject($scope, $window, $http) {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}).then(successCallback, errorCallback); }).then(successCallback, errorCallback);
//tạo funtion nếu thành công!
function successCallback(response) { function successCallback(response) {
$window.location.reload(); $scope.view = response.data;
if($scope.view.status == 200){
// $window.location.reload();
$state.reload();
}
}
function errorCallback(error) {
console.log("can't delete data!!");
}
}
};
};
function updateGroutpProject($scope, $http,$state,$window) {
$scope.updatePositionProject = function (gruopProject) {
if (confirm("Bạn có chắc chắn muốn sửa ?")) {
$http({
method: 'PUT',
url: 'http://localhost:8081/cap-nhat-chuc-vu-thanh-vien',
data: $scope.gruopProject,
headers: {
'Content-Type': 'application/json'
}
}).then(successCallback, errorCallback);
function successCallback(response) {
$scope.view = response.data;
if($scope.view.status == 200){
$state.go('groupProjectByProjectId', {ID: $scope.gruopProject.projectDTO.id});
// $window.location.href = 'http://localhost:8081/#/groupProjectByProjectId/'+$scope.gruopProject.projectDTO.id;
}
} }
//tạo funtion kiểm tra nếu thất bại
function errorCallback(error) { function errorCallback(error) {
//error code
console.log("can't delete data!!"); console.log("can't delete data!!");
} }
} }
}; };
}; };
function loadEmployeeProjectDetail($scope,$stateParams,$http) {
$http.get('http://localhost:8081/chi-tiet-thanh-vien-du-an/'+ $stateParams.ID).then(successCallback, errorCallback);
function successCallback(response) {
console.log(response.data);
{
$scope.gruopProject = response.data
}
}
function errorCallback(error) {
console.log("can't get data!!");
}
}
\ No newline at end of file
<!DOCTYPE html> <div class="card-header">
<html lang="en"> <i class="fas fa-table"></i> Cập nhật chức vụ của nhân viên trong nhóm
<head> </div>
<meta charset="UTF-8"> <div class="card-body">
<title>Title</title> <form ng-controller="updateGroutpProject" ng-submit="updatePositionProject(gruopProject)" name="formProject">
</head> <input type="hidden" ng-model="gruopProject.id" id="id"><br/>
<body> <input type="hidden" ng-model="gruopProject.projectDTO.id" id="idProject"><br/>
<label>Tài khoản nhân viên</label>
</body> <input type="text" ng-model="gruopProject.employeeDTO.username" id="descriptions"
</html> placeholder="Tài khoản nhân viên"
\ No newline at end of file ng-disabled="true"><br/>
<label>Chức Vụ</label><br/>
<select ng-model="gruopProject.position" autofocus="autofocus"
required="required">
<option value="">==> Chức Vụ</option>
<option value="TeamLead">TeamLead</option>
<option value="Member">Member</option>
</select><br/>
<div>
<h1>{{view.message}}</h1>
<input type="submit" value="Save">
<input type="reset" value="Reset">
<button type="button" ui-sref="groupProjectByProjectId({ID: gruopProject.projectDTO.id})">Back</button>
</div>
</form>
</div>
\ No newline at end of file
<div class="card mb-3"> <div class="card mb-3">
<div class="card-header"> <div class="card-header" ng-controller="loadGroupProjectByProjectId">
<i class="fas fa-table"></i> Danh Sách Dự Án
<i class="fas fa-table" ></i> Thành Viên Trong Nhóm Dự Án <div ng-model="ProjectName.name"></div>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="table-responsive" ng-controller="loadGroupProjectByProjectId"> <div class="table-responsive" >
<a ui-sref="addEmployeeProject" class="btn btn-primary btn-circle btn-sm" style="margin-bottom: 10px;"> Thêm thành viên</a>
<input type="text" ng-model="search" placeholder="Search" style="margin-bottom: 10px;"> <input type="text" ng-model="search" placeholder="Search" style="margin-bottom: 10px;">
<table class="table table-bordered" id="dataTable" width="100%" <table class="table table-bordered" id="dataTable" width="100%"
cellspacing="0"> cellspacing="0">
...@@ -21,7 +22,7 @@ ...@@ -21,7 +22,7 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr ng-repeat="gruopProject in listGruopProject"> <tr ng-repeat="gruopProject in pageGroupListProject">
<td>{{ gruopProject.employeeDTO.username }}</td> <td>{{ gruopProject.employeeDTO.username }}</td>
<td>{{ gruopProject.employeeDTO.lastName }}</td> <td>{{ gruopProject.employeeDTO.lastName }}</td>
<td>{{ gruopProject.employeeDTO.email}}</td> <td>{{ gruopProject.employeeDTO.email}}</td>
...@@ -29,14 +30,19 @@ ...@@ -29,14 +30,19 @@
<td>{{ gruopProject.joinDate | date:"dd/MM/yyyy" }}</td> <td>{{ gruopProject.joinDate | date:"dd/MM/yyyy" }}</td>
<td>{{ gruopProject.outDate | date:"dd/MM/yyyy" }}</td> <td>{{ gruopProject.outDate | date:"dd/MM/yyyy" }}</td>
<td> <td>
<a ui-sref="editproject({ID: project.id})" class="btn btn-warning btn-circle btn-sm"> <a ui-sref="editEmployeeProject({ID: gruopProject.id})" class="btn btn-warning btn-circle btn-sm">
Sửa </a> Cập Nhật </a>
<a class="btn btn-danger btn-circle btn-sm" ng-controller="deleteEmployeeProject" <a class="btn btn-danger btn-circle btn-sm" ng-controller="deleteEmployeeProject"
data-ng-click="deleteEmployeeProject(gruopProject)">xóa thành viên</a> data-ng-click="deleteEmployeeProject(gruopProject)">Xóa Thành Viên</a>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<a ui-sref="project" class="btn btn-primary btn-circle btn-sm" style="margin-bottom: 10px;"> Trở Về</a> <a ui-sref="addEmployeeProject" class="btn btn-primary btn-circle btn-sm" style="margin-bottom: 10px;"> Thêm thành viên</a>
<a ui-sref="project" class="btn btn-primary btn-circle btn-sm" style="margin-bottom: 10px;"> Back</a>
</div>
</div> </div>
<div data-pagination="" data-num-pages="numPages()"
data-current-page="currentPage" data-max-size="maxSize"
data-boundary-links="true">
</div> </div>
</div> </div>
\ No newline at end of file
angular.module("myApp").controller('groupProjectShowController', function ($scope,$stateParams,$http) {
$scope.currentPage = 1
,$scope.numPerPage = 2
,$scope.maxSize = 5;
$http.get('http://localhost:8081/thong-tin-du-an/'+ $stateParams.ID).then(successCallback, errorCallback);
function successCallback(response) {
console.log(response.data);
{
$scope.listGruopProject = response.data;
$scope.numPages = function () {
return Math.ceil($scope.listGruopProject.length / $scope.numPerPage);
};
$scope.$watch('currentPage + numPerPage', function () {
var begin = (($scope.currentPage - 1) * $scope.numPerPage)
, end = begin + $scope.numPerPage;
$scope.pageGroupListProject = $scope.listGruopProject.slice(begin, end);
});
}
}
function errorCallback(error) {
//error code
console.log("can't get data!!");
}
});
\ No newline at end of file
...@@ -3,50 +3,21 @@ ...@@ -3,50 +3,21 @@
</div> </div>
<div class="card-body"> <div class="card-body">
<form ng-controller="insertProject" ng-submit="insert_project()"> <form ng-controller="insertProject" ng-submit="insert_project()">
<div class="form-group"> <label>Tên Dự Án</label>
<div class="form-row"> <input type="text" ng-model="project.name" id="name" placeholder="Tên Dự Án"
<div class="col-md-6"> required="required" style="height: 20px;"><br/>
<div class="form-label-group"> <label>Mô tả ngắn</label>
<input type="text" ng-model="project.name" id="name" class="form-control" <input type="text" ng-model="project.descriptions" id="descriptions" placeholder="Mô tả ngắn"
placeholder="Tên Dự Án" required="required"><br/>
required="required" autofocus="autofocus"> <label>Ngày bắt đầu</label>
<label for="name">Tên Dự Án</label> <input type="date" ng-model="project.startDate" id="startDate" placeholder="Ngày Bắt Đầu" required="required"><br/>
</div> <label>Ngày kết thúc</label>
</div> <input type="date" ng-model="project.endDate" id="endDate" placeholder="nick skype" required="required"><br/>
<div class="col-md-6">
<div class="form-label-group">
<input type="text" ng-model="project.descriptions" id="descriptions"
class="form-control"
placeholder="Mô tả ngắn"
required="required">
<label for="descriptions">Mô tả ngắn</label>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="form-row">
<div class="col-md-6">
<div class="form-label-group">
<input type="date" ng-model="project.startDate" id="startDate" class="form-control"
placeholder="Ngày Bắt Đầu" required="required">
<label for="startDate">Ngày Bắt Đầu</label>
</div>
</div>
<div class="col-md-6">
<div class="form-label-group">
<input type="date" ng-model="project.endDate" id="endDate" class="form-control"
placeholder="nick skype" required="required">
<label for="endDate">Ngày Kết Thuc</label>
</div>
</div>
</div>
</div>
<h3 ng-show="formProject.$valid" style="text-align: center; color: #1c7430">Bạn Có Thể Lưu</h3>
<div> <div>
<h1>{{view.message}}</h1>
<input type="submit" value="Save"> <input type="submit" value="Save">
<input type="reset" value="Reset"> <input type="reset" value="Reset">
<button type="button" ui-sref="project">Black</button> <button type="button" ui-sref="project">Back</button>
</div> </div>
</form> </form>
</div> </div>
\ No newline at end of file
var app = angular.module('myApp'); var app = angular.module('myApp');
app.controller('showProject', showProject); // app.controller('showProject', showProject);
app.controller('insertProject', insertProject); app.controller('insertProject', insertProject);
app.controller('deleteProject', deleteProject); app.controller('deleteProject', deleteProject);
app.controller('updateProject', updateProject); app.controller('updateProject', updateProject);
app.controller('loadProjectDetail', loadProjectDetail); app.controller('loadProjectDetail', loadProjectDetail);
// controlers tạo Get API
function showProject($scope, $http) {
$http.get("http://localhost:8081/quan-tri/danh-sach-du-an").then(successCallback, errorCallback);
function successCallback(response) {
console.log(response.data);
{
$scope.listProject = response.data
}
}
function errorCallback(error) {
//error code
console.log("can't get data!!");
}
};
// controlers tạo Get API
// function showProject($scope, $http) {
// $scope.lstProject = [];
// $scope.page = 0;
// $scope.pagesCount = 0;
// $http.get("http://localhost:8081/quan-tri/danh-sach-du-an/" + $scope.page + "/2").then(successCallback, errorCallback);
//
// function successCallback(response) {
// console.log(response.data);
// {
// $scope.listProject = response.data.lstResult;
// $scope.page = response.data.page;
// $scope.pagesCount = response.data.totalPage;
// $scope.totalCount = response.data.totalItem;
// }
// }
//
// function errorCallback(error) {
// //error code
// console.log("can't get data!!");
// }
// };
// tạo controllers insert API // tạo controllers insert API
function insertProject($scope, $http, $window,$state) { function insertProject($scope, $http, $state) {
$scope.insert_project = function () { $scope.insert_project = function () {
$http({ $http({
//khai báo type
method: 'POST', method: 'POST',
//đường dẫn API
url: 'http://localhost:8081/quan-tri/them-du-an', url: 'http://localhost:8081/quan-tri/them-du-an',
//truyền dữ liệu nhập trên cline vào data
data: angular.toJson($scope.project), data: angular.toJson($scope.project),
//kiểu dữ liệu API
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
// kết quả trả về (THEN)
}).then(successCallback, errorCallback); }).then(successCallback, errorCallback);
//tạo funtion nếu thành công!
function successCallback(response) { function successCallback(response) {
// $window.location.href = "http://localhost:8081/#/project"; $scope.view = response.data;
if ($scope.view.status == 200) {
$state.go('project'); $state.go('project');
} }
}
//tạo funtion kiểm tra nếu thất bại
function errorCallback(error) { function errorCallback(error) {
//error code //error code
console.log("can't insert data!!"); console.log("can't insert data!!");
...@@ -66,15 +66,14 @@ function deleteProject($scope, $window, $http,$state) { ...@@ -66,15 +66,14 @@ function deleteProject($scope, $window, $http,$state) {
} }
}).then(successCallback, errorCallback); }).then(successCallback, errorCallback);
//tạo funtion nếu thành công!
function successCallback(response) { function successCallback(response) {
// $state.go('project'); $scope.view = response.data;
$window.location.reload(); if ($scope.view.status == 200) {
$state.reload();
}
} }
//tạo funtion kiểm tra nếu thất bại
function errorCallback(error) { function errorCallback(error) {
//error code
console.log("can't delete data!!"); console.log("can't delete data!!");
} }
} }
...@@ -82,7 +81,7 @@ function deleteProject($scope, $window, $http,$state) { ...@@ -82,7 +81,7 @@ function deleteProject($scope, $window, $http,$state) {
}; };
//tạo controller sửa theo id //tạo controller sửa theo id
function updateProject($scope, $window, $http,$state) { function updateProject($scope, $http, $state) {
$scope.updateProject = function (project) { $scope.updateProject = function (project) {
if (confirm("Bạn có muốn sửa không ?")) { if (confirm("Bạn có muốn sửa không ?")) {
$http({ $http({
...@@ -94,13 +93,13 @@ function updateProject($scope, $window, $http,$state) { ...@@ -94,13 +93,13 @@ function updateProject($scope, $window, $http,$state) {
} }
}).then(successCallback, errorCallback); }).then(successCallback, errorCallback);
//tạo funtion nếu thành công!
function successCallback(response) { function successCallback(response) {
$scope.view = response.data;
if ($scope.view.status == 200) {
$state.go('project'); $state.go('project');
// $window.location.href = "http://localhost:8081/#/project"; }
} }
//tạo funtion kiểm tra nếu thất bại
function errorCallback(error) { function errorCallback(error) {
//error code //error code
console.log("can't update data!!"); console.log("can't update data!!");
...@@ -108,8 +107,10 @@ function updateProject($scope, $window, $http,$state) { ...@@ -108,8 +107,10 @@ function updateProject($scope, $window, $http,$state) {
} }
}; };
}; };
function loadProjectDetail($scope,$stateParams,$http) {
$http.get('http://localhost:8081/quan-tri/chi-tiet-du-an/'+ $stateParams.ID).then(successCallback, errorCallback); function loadProjectDetail($scope, $stateParams, $http) {
$http.get('http://localhost:8081/quan-tri/chi-tiet-du-an/' + $stateParams.ID).then(successCallback, errorCallback);
function successCallback(response) { function successCallback(response) {
console.log(response.data); console.log(response.data);
{ {
...@@ -118,7 +119,6 @@ function loadProjectDetail($scope,$stateParams,$http) { ...@@ -118,7 +119,6 @@ function loadProjectDetail($scope,$stateParams,$http) {
} }
function errorCallback(error) { function errorCallback(error) {
//error code
console.log("can't get data!!"); console.log("can't get data!!");
} }
} }
\ No newline at end of file
...@@ -3,69 +3,27 @@ ...@@ -3,69 +3,27 @@
</div> </div>
<div class="card-body"> <div class="card-body">
<form ng-controller="updateProject" ng-submit="updateProject(project)" name="formProject"> <form ng-controller="updateProject" ng-submit="updateProject(project)" name="formProject">
<div class="form-group"> <label>Tên Dự Án</label>
<div class="form-row"> <input type="text" ng-model="project.name" id="name"
<div class="col-md-6">
<div class="form-label-group">
<input type="text" ng-model="project.name" id="name" class="form-control"
placeholder="Tên Dự Án" placeholder="Tên Dự Án"
required="required" autofocus="autofocus" name="txtName"> required="required" autofocus="autofocus" name="txtName"><br/>
<label for="name">Tên Dự Án</label> <label>Mô tả ngắn</label>
</div>
</div>
<div class="col-md-6">
<div class="form-label-group">
<input type="text" ng-model="project.descriptions" id="descriptions" <input type="text" ng-model="project.descriptions" id="descriptions"
class="form-control"
placeholder="Mô tả ngắn" placeholder="Mô tả ngắn"
required="required" name="txtDescriptions"> required="required" name="txtDescriptions"><br/>
<label for="descriptions">Mô tả ngắn</label> <select ng-model="project.status" autofocus="autofocus"
</div> required="required">
</div>
</div>
</div>
<div class="form-group">
<div class="form-row">
<div class="col-md-6">
<div class="form-label-group">
<input type="hidden" ng-model="project.id" id="id" class="form-control">
</div>
</div>
<div class="col-md-6">
<div class="form-label-group">
<select ng-model="project.status" class="form-control" autofocus="autofocus" required="required">
<option value="">==> Trạng Thái</option> <option value="">==> Trạng Thái</option>
<option value="0">Dự Kiến</option> <option value="0">Dự Kiến</option>
<option value="1">Đang Tiến Hành</option> <option value="1">Đang Tiến Hành</option>
<option value="2">Đã Hoàn Thành</option> <option value="2">Đã Hoàn Thành</option>
</select> </select><br/>
</div> <input type="hidden" ng-model="project.id" id="id"><br/>
</div>
</div>
</div>
<div class="form-group">
<div class="form-row">
<div class="col-md-6">
<div class="form-label-group">
<input type="date" ng-model="project.startDate" id="startDate" class="form-control"
placeholder="Ngày Bắt Đầu" required="required">
<label for="startDate">Ngày Bắt Đầu</label>
</div>
</div>
<div class="col-md-6">
<div class="form-label-group">
<input type="date" ng-model="project.endDate" id="endDate" class="form-control"
placeholder="nick skype" required="required">
<label for="endDate">Ngày Kết Thúc</label>
</div>
</div>
</div>
</div>
<h3 ng-show="formProject.$valid" style="text-align: center; color: #1c7430">Bạn Có Thể Lưu</h3>
<div> <div>
<h1>{{view.message}}</h1>
<input type="submit" value="Save"> <input type="submit" value="Save">
<input type="reset" value="Reset"> <input type="reset" value="Reset">
<button type="button" ui-sref="project">Black</button> <button type="button" ui-sref="project">Back</button>
</div> </div>
</form> </form>
</div> </div>
\ No newline at end of file
...@@ -4,8 +4,7 @@ ...@@ -4,8 +4,7 @@
<i class="fas fa-table"></i> Danh Sách Dự Án <i class="fas fa-table"></i> Danh Sách Dự Án
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="table-responsive" ng-controller="showProject"> <div class="table-responsive" >
<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;"> <input type="text" ng-model="search" placeholder="Search" style="margin-bottom: 10px;">
<table class="table table-bordered" id="dataTable" width="100%" <table class="table table-bordered" id="dataTable" width="100%"
cellspacing="0"> cellspacing="0">
...@@ -20,12 +19,16 @@ ...@@ -20,12 +19,16 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr ng-repeat="project in listProject|filter:search"> <tr ng-repeat="project in pageListProject|filter:search">
<td>{{ project.name }}</td> <td>{{ project.name }}</td>
<td>{{ project.descriptions }}</td> <td>{{ project.descriptions }}</td>
<td>{{ project.startDate | date:"dd/MM/yyyy" }}</td> <td>{{ project.startDate | date:"dd/MM/yyyy" }}</td>
<td>{{ project.endDate | date:"dd/MM/yyyy" }}</td> <td>{{ project.endDate | date:"dd/MM/yyyy" }}</td>
<td>{{ project.status}}</td> <td>
<span ng-if="project.status == 0" style="color: #34ce57">Dự Kiến</span>
<span ng-if="project.status == 1" style="color: #0e90d2">Đang Tiến Hành</span>
<span ng-if="project.status == 2" style="color: #b21f2d" >Hoàn Thành</span>
</td>
<td><a ui-sref="groupProjectByProjectId({ID: project.id})" class="btn btn-info btn-circle btn-sm"> <td><a ui-sref="groupProjectByProjectId({ID: project.id})" class="btn btn-info btn-circle btn-sm">
Xem </a> Xem </a>
<a ui-sref="editproject({ID: project.id})" class="btn btn-warning btn-circle btn-sm"> <a ui-sref="editproject({ID: project.id})" class="btn btn-warning btn-circle btn-sm">
...@@ -35,6 +38,12 @@ ...@@ -35,6 +38,12 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<a ui-sref="addproject" class="btn btn-primary btn-circle btn-sm" style="margin-bottom: 10px;"> Thêm Dự Án Mới</a>
</div> </div>
</div> </div>
<!-- <pager-directive page="{{page}}" custom-path="{{customPath}}" pages-count="{{pagesCount}}" total-count="{{totalCount}}" search-func="getProject(page)"></pager-directive>-->
<div data-pagination="" data-num-pages="numPages()"
data-current-page="currentPage" data-max-size="maxSize"
data-boundary-links="true">
</div>
</div> </div>
angular.module("myApp").controller('projectViewsController', function ($scope, $http) {
//trang đang đứng trên font-end
$scope.currentPage = 1
//số item hiển thị trong 1 page
, $scope.numPerPage = 4
//tổng số page hiển thị trên thanh chọn
, $scope.maxSize = 5;
$http.get("http://localhost:8081/quan-tri/danh-sach-du-an").then(successCallback, errorCallback);
function successCallback(response) {
console.log(response.data);
{
$scope.listProject = response.data;
$scope.numPages = function () {
return Math.ceil($scope.listProject.length / $scope.numPerPage);
};
$scope.$watch('currentPage + numPerPage', function () {
var begin = (($scope.currentPage - 1) * $scope.numPerPage)
, end = begin + $scope.numPerPage;
$scope.pageListProject = $scope.listProject.slice(begin, end);
});
}
}
function errorCallback(error) {
console.log("can't get data!!");
}
});
\ No newline at end of file
<<<<<<< HEAD
angular.module("MyTimeSheet").controller("timesheetController", function($scope, $http,$window) {
=======
*/
angular.module("myApp").controller("timeSheetController", function($scope, $http,$window) {
>>>>>>> fcb3554c9480d927d3ff072584217224ddd37db6
console.log("Time Sheet controller");
$scope.ts = {
"title": "",
"content": "",
"note": ""
};
<<<<<<< HEAD
$http({
header : 'Access-Control-Allow-Origin: http://localhost:63342/MockProject_01/public/pages/timesheet/timesheet.html?_ijt=ee540pqfq7tplkmo9mjj447ne',
method : 'GET',
url : "http://localhost:8080/eproject/timesheet",
}).then(function successCallback(response) {
console.log(response)
$scope.timesheet=response.data;
}, function errorCallback(response) {
console.log(response)
});
});
=======
$scope.tsdto = {
"id": "",
"title": "",
"content": "",
"note": "",
"eprojectId": "",
"employeeId": ""
};
//get all time sheet
//function getAllTimesheet(){
$http({
method: 'GET',
url: "http://localhost:8080/eproject/timesheet/show"
}).then(function successCallback(response) {
console.log(response);
$scope.myTimeSheets = response.data;
}, function errorCallback(response) {
console.log(response)
});
//}
//get all eproject
$http({
method: 'GET',
url: "http://localhost:8080/eproject/getAll"
}).then(function successCallback(response) {
console.log(response);
$scope.eProjectList = response.data;
}, function errorCallback(response) {
console.log(response)
});
//delete time sheet
$scope.delete = function (ts) {
$http({
method: 'DELETE',
url: "http://localhost:8080/eproject/timesheet/delete/" + ts.id
}).then(function successCallback(response) {
console.log(response);
$state.reload();
}, function errorCallback(response) {
console.log(response);
$state.reload();
});
};
$scope.save = save;
function save() {
console.log($scope.tsdto);
$http({
method: 'POST',
url: "http://localhost:8080/eproject/timesheet/add",
data: $scope.tsdto
}).then(function successCallback(response) {
console.log(response);
$state.reload();
}, function errorCallback(response) {
console.log(response);
$state.reload();
});
}
$scope.getTs = getTs;
function getTs(ts) {
$scope.tsdto.id = ts.id;
$scope.tsdto.title = ts.title;
$scope.tsdto.content = ts.content;
$scope.tsdto.note = ts.note;
$scope.tsdto.employeeId = ts.eproject.employee.id;
}
$scope.update = update;
function update() {
$http({
headers: "content-type: application/json",
method: 'POST',
url: "http://localhost:8080/eproject/timesheet/update",
data: $scope.tsdto
}).then(function successCallback(response) {
console.log(response);
$state.reload();
}, function errorCallback(response) {
console.log(response);
$state.reload();
});
}
// $scope.myTimeSheets = [];
// $scope.save = save;
// $scope.currentPage = 1;
// $scope.timesheetPerPage = 3;
// $scope.maxSize = 5;
// this.myTimeSheets = $scope.myTimeSheets;
// $scope.numOfPage = numOfPage;
// $scope.dataHasLoaded = false;
// $scope.makeTimesheet = function () {
// $scope.myTimeSheets = [];
// for (let i = 1; i <=50 ; i++) {
// $scope.myTimeSheets.push( {text : 'ts'+ i , done:false});
// }
//
// };
// $scope.makeTimesheet();
// $scope.getAllTimesheet = getAllTimesheet;
// //$scope.getTotalTimesheet = getTotalTimesheet;
// getAllTimesheet();
// $scope.pageChangedIndex = pageChangedIndex;
// function pageChangedIndex() {
// console.log($scope.currentPage);
// }
// function numOfPage() {
// return Math.ceil($scope.myTimeSheets.length/ $scope.timesheetPerPage);
//
// }
});
// }).directive('pgnTable', ['$compile', function ($compile) {
// return {
// restrict: 'EA',
// templateUrl: 'pages/timesheet/timeSheet.html',
// replace: true,
// scope: {
// pages: "=pgnTable"
// },
// controller: function ($scope) {
// $scope.currentPage=1;
// $scope.numLimit=5;
// $scope.start = 0;
// $scope.$watch("pages",function(newVal){
// if(newVal){
// $scope.pages=Math.ceil($scope.pages.length/$scope.numLimit);
// }
// });
// $scope.hideNext=function(){
// if(($scope.start + $scope.numLimit) < $scope.pages.length){
// return false;
// }
// else
// return true;
// };
// $scope.hidePrev=function(){
// if($scope.start===0){
// return true;
// }
// else
// return false;
// };
// $scope.nextPage=function(){
// console.log("next pages");
// $scope.currentPage++;
// $scope.start=$scope.start+ $scope.numLimit;
// console.log( $scope.start)
// };
// $scope.PrevPage=function(){
// if($scope.currentPage>1){
// $scope.currentPage--;
// }
// console.log("next pages");
// $scope.start=$scope.start - $scope.numLimit;
// console.log( $scope.start)
// };
// },
// compile: function(elem) {
// return function(ielem, $scope) {
// $compile(ielem)($scope);
// };
// }
// };
>>>>>>> fcb3554c9480d927d3ff072584217224ddd37db6
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