├── docs ├── tables.png ├── dashboard.png └── lms.sql ├── src ├── logout.php ├── images │ ├── logo.png │ ├── resLaundry.png │ ├── 8175732_orig.jpg │ ├── login-sprite.png │ └── index.css ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.ttf │ └── fontawesome-webfont.woff ├── css │ ├── fontawesome │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.ttf │ │ │ └── fontawesome-webfont.woff │ │ ├── less │ │ │ ├── fixed-width.less │ │ │ ├── core.less │ │ │ ├── bordered-pulled.less │ │ │ ├── rotated-flipped.less │ │ │ ├── larger.less │ │ │ ├── list.less │ │ │ ├── font-awesome.less │ │ │ ├── stacked.less │ │ │ ├── path.less │ │ │ ├── mixins.less │ │ │ ├── spinning.less │ │ │ ├── variables.less │ │ │ └── icons.less │ │ ├── scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _core.scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _larger.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _list.scss │ │ │ ├── font-awesome.scss │ │ │ ├── _stacked.scss │ │ │ ├── _path.scss │ │ │ ├── _mixins.scss │ │ │ ├── _spinning.scss │ │ │ └── _variables.scss │ │ └── css │ │ │ └── font-awesome.min.css │ ├── bootstrap │ │ ├── img │ │ │ ├── glyphicons-halflings.png │ │ │ └── glyphicons-halflings-white.png │ │ └── css │ │ │ └── bootstrap-responsive.min.css │ ├── login.css │ ├── index.css │ ├── nv.d3.css │ └── font-awesome.min.css ├── db.php ├── login_success.php ├── changeorderstatus.php ├── auth.php ├── index.php ├── clientregister.php ├── js │ ├── main.js │ ├── ytmenu.js │ ├── printThis.js │ └── modernizr.custom.js ├── helpers │ ├── newuser.php │ └── newuser.html ├── sendmail.php ├── placeorder.php ├── contact.php ├── ratechart.php ├── newclientform.php ├── invoice.php ├── job_order.php ├── showinvoice.php ├── reporting.php └── home.php ├── README.md └── LICENSE /docs/tables.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avikganguly01/laundry-management-system/HEAD/docs/tables.png -------------------------------------------------------------------------------- /src/logout.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avikganguly01/laundry-management-system/HEAD/docs/dashboard.png -------------------------------------------------------------------------------- /src/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avikganguly01/laundry-management-system/HEAD/src/images/logo.png -------------------------------------------------------------------------------- /src/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avikganguly01/laundry-management-system/HEAD/src/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/images/resLaundry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avikganguly01/laundry-management-system/HEAD/src/images/resLaundry.png -------------------------------------------------------------------------------- /src/images/8175732_orig.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avikganguly01/laundry-management-system/HEAD/src/images/8175732_orig.jpg -------------------------------------------------------------------------------- /src/images/login-sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avikganguly01/laundry-management-system/HEAD/src/images/login-sprite.png -------------------------------------------------------------------------------- /src/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avikganguly01/laundry-management-system/HEAD/src/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avikganguly01/laundry-management-system/HEAD/src/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avikganguly01/laundry-management-system/HEAD/src/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/css/fontawesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avikganguly01/laundry-management-system/HEAD/src/css/fontawesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/css/bootstrap/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avikganguly01/laundry-management-system/HEAD/src/css/bootstrap/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /src/css/fontawesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avikganguly01/laundry-management-system/HEAD/src/css/fontawesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/css/fontawesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avikganguly01/laundry-management-system/HEAD/src/css/fontawesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/css/fontawesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avikganguly01/laundry-management-system/HEAD/src/css/fontawesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/css/bootstrap/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avikganguly01/laundry-management-system/HEAD/src/css/bootstrap/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /src/db.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/login_success.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/css/fontawesome/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /src/css/fontawesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /src/css/fontawesome/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font-family: FontAwesome; 7 | font-style: normal; 8 | font-weight: normal; 9 | line-height: 1; 10 | -webkit-font-smoothing: antialiased; 11 | -moz-osx-font-smoothing: grayscale; 12 | } 13 | -------------------------------------------------------------------------------- /src/css/fontawesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font-family: FontAwesome; 7 | font-style: normal; 8 | font-weight: normal; 9 | line-height: 1; 10 | -webkit-font-smoothing: antialiased; 11 | -moz-osx-font-smoothing: grayscale; 12 | } 13 | -------------------------------------------------------------------------------- /src/css/fontawesome/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .@{fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /src/css/fontawesome/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | -------------------------------------------------------------------------------- /src/css/fontawesome/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.pull-left { margin-right: .3em; } 15 | &.pull-right { margin-left: .3em; } 16 | } 17 | -------------------------------------------------------------------------------- /src/changeorderstatus.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/css/fontawesome/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /src/css/fontawesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /src/auth.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/css/fontawesome/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: -@fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/css/fontawesome/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | -------------------------------------------------------------------------------- /src/css/fontawesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/css/fontawesome/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "spinning"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | -------------------------------------------------------------------------------- /src/css/fontawesome/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "spinning"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | -------------------------------------------------------------------------------- /src/css/fontawesome/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /src/css/fontawesome/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /src/index.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | Laundry Management System 4 | 5 | 6 | 7 |
8 |

Log In

9 |
10 | 11 | 12 |
13 |
14 | 15 | 16 |
17 |
18 | 19 | 20 | -------------------------------------------------------------------------------- /src/clientregister.php: -------------------------------------------------------------------------------- 1 | 23 | -------------------------------------------------------------------------------- /src/js/main.js: -------------------------------------------------------------------------------- 1 | var minHeight = 10; // Define a minimum height for the middle div 2 | 3 | var resizeMiddle = function() { 4 | var h1 = $(window).height() - $('#header').height() - $('#footer').height() - 30; 5 | h1 = h1 > minHeight ? h1 : minHeight; 6 | $('#block').height(h1); 7 | } 8 | 9 | var resizeInside = function() { 10 | var h2 = $(window).height() - $('#header').height() - $('#footer').height() - 110; 11 | h2 = h2 > minHeight ? h2 : minHeight; 12 | $('#insideblock').height(h2); 13 | } 14 | 15 | 16 | $(document).ready(resizeMiddle); 17 | $(document).ready(resizeInside); 18 | $(window).resize(resizeMiddle); 19 | $(window).resize(resizeInside); 20 | -------------------------------------------------------------------------------- /src/helpers/newuser.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/css/fontawesome/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 9 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 10 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 11 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | -------------------------------------------------------------------------------- /src/css/fontawesome/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 9 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 10 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 11 | //src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | -------------------------------------------------------------------------------- /src/css/fontawesome/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon-rotate(@degrees, @rotation) { 5 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); 6 | -webkit-transform: rotate(@degrees); 7 | -moz-transform: rotate(@degrees); 8 | -ms-transform: rotate(@degrees); 9 | -o-transform: rotate(@degrees); 10 | transform: rotate(@degrees); 11 | } 12 | 13 | .fa-icon-flip(@horiz, @vert, @rotation) { 14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); 15 | -webkit-transform: scale(@horiz, @vert); 16 | -moz-transform: scale(@horiz, @vert); 17 | -ms-transform: scale(@horiz, @vert); 18 | -o-transform: scale(@horiz, @vert); 19 | transform: scale(@horiz, @vert); 20 | } 21 | -------------------------------------------------------------------------------- /src/css/fontawesome/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon-rotate($degrees, $rotation) { 5 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=$rotation); 6 | -webkit-transform: rotate($degrees); 7 | -moz-transform: rotate($degrees); 8 | -ms-transform: rotate($degrees); 9 | -o-transform: rotate($degrees); 10 | transform: rotate($degrees); 11 | } 12 | 13 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 14 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=$rotation); 15 | -webkit-transform: scale($horiz, $vert); 16 | -moz-transform: scale($horiz, $vert); 17 | -ms-transform: scale($horiz, $vert); 18 | -o-transform: scale($horiz, $vert); 19 | transform: scale($horiz, $vert); 20 | } 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Laundry Management System 2 | ========================= 3 | 4 | This is a web-based tool, a very simple alternative to using Excel for a basic laundry service setup. 5 | 6 | The initial requirements for this were for a single office setup with no security issues. Hence, it does not use the secure protocol and is written in PHP without the use of any frameworks. 7 | 8 | It has a very clean UI which uses Bootstrap and nvd3.js for chart-generation and is backed by the following tables :- 9 | 10 | ![image](docs/tables.png) 11 | 12 | A view of the landing dashboard (Note :- There is no separation of roles/privileges as of now) 13 | 14 | ![image](docs/dashboard.png) 15 | 16 | A sample database dump for import is provided in the docs folder. 17 | 18 | The scripts by default contain mysql as password. You need to change it to support your mysql installation. 19 | 20 | -------------------------------------------------------------------------------- /src/css/fontawesome/less/spinning.less: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: spin 2s infinite linear; 6 | -moz-animation: spin 2s infinite linear; 7 | -o-animation: spin 2s infinite linear; 8 | animation: spin 2s infinite linear; 9 | } 10 | 11 | @-moz-keyframes spin { 12 | 0% { -moz-transform: rotate(0deg); } 13 | 100% { -moz-transform: rotate(359deg); } 14 | } 15 | @-webkit-keyframes spin { 16 | 0% { -webkit-transform: rotate(0deg); } 17 | 100% { -webkit-transform: rotate(359deg); } 18 | } 19 | @-o-keyframes spin { 20 | 0% { -o-transform: rotate(0deg); } 21 | 100% { -o-transform: rotate(359deg); } 22 | } 23 | @-ms-keyframes spin { 24 | 0% { -ms-transform: rotate(0deg); } 25 | 100% { -ms-transform: rotate(359deg); } 26 | } 27 | @keyframes spin { 28 | 0% { transform: rotate(0deg); } 29 | 100% { transform: rotate(359deg); } 30 | } 31 | -------------------------------------------------------------------------------- /src/css/fontawesome/scss/_spinning.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: spin 2s infinite linear; 6 | -moz-animation: spin 2s infinite linear; 7 | -o-animation: spin 2s infinite linear; 8 | animation: spin 2s infinite linear; 9 | } 10 | 11 | @-moz-keyframes spin { 12 | 0% { -moz-transform: rotate(0deg); } 13 | 100% { -moz-transform: rotate(359deg); } 14 | } 15 | @-webkit-keyframes spin { 16 | 0% { -webkit-transform: rotate(0deg); } 17 | 100% { -webkit-transform: rotate(359deg); } 18 | } 19 | @-o-keyframes spin { 20 | 0% { -o-transform: rotate(0deg); } 21 | 100% { -o-transform: rotate(359deg); } 22 | } 23 | @-ms-keyframes spin { 24 | 0% { -ms-transform: rotate(0deg); } 25 | 100% { -ms-transform: rotate(359deg); } 26 | } 27 | @keyframes spin { 28 | 0% { transform: rotate(0deg); } 29 | 100% { transform: rotate(359deg); } 30 | } 31 | -------------------------------------------------------------------------------- /src/helpers/newuser.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

My first form

8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 |
name
moblie number
email
college
address
password
37 |
38 | 39 | -------------------------------------------------------------------------------- /src/js/ytmenu.js: -------------------------------------------------------------------------------- 1 | /** 2 | * ytmenu.js v1.0.0 3 | * http://www.codrops.com 4 | * 5 | * Licensed under the MIT license. 6 | * http://www.opensource.org/licenses/mit-license.php 7 | * 8 | * Copyright 2013, Codrops 9 | * http://www.codrops.com 10 | */ 11 | var YTMenu = (function() { 12 | 13 | function init() { 14 | 15 | [].slice.call( document.querySelectorAll( '.dr-menu' ) ).forEach( function( el, i ) { 16 | 17 | var trigger = el.querySelector( 'div.dr-trigger' ), 18 | icon = trigger.querySelector( 'span.fa.fa-bars' ), 19 | open = false; 20 | 21 | trigger.addEventListener( 'click', function( event ) { 22 | if( !open ) { 23 | el.className += ' dr-menu-open'; 24 | open = true; 25 | } 26 | }, false ); 27 | 28 | icon.addEventListener( 'click', function( event ) { 29 | if( open ) { 30 | event.stopPropagation(); 31 | open = false; 32 | el.className = el.className.replace(/\bdr-menu-open\b/,''); 33 | return false; 34 | } 35 | }, false ); 36 | 37 | } ); 38 | 39 | } 40 | 41 | init(); 42 | 43 | })(); -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Avik Ganguly 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /src/sendmail.php: -------------------------------------------------------------------------------- 1 |
"; 13 | echo $error."

"; 14 | echo "Please go back and fix these errors.

"; 15 | die(); 16 | 17 | } 18 | 19 | if(!isset($_POST['name']) || 20 | !isset($_POST['email']) || 21 | !isset($_POST['message'])) { 22 | died('We are sorry, but there appears to be a problem with the form you submitted.'); 23 | } 24 | 25 | $name = $_POST['name']; 26 | $email_from = $_POST['email']; 27 | $comments = $_POST['message']; 28 | 29 | $error_message = ""; 30 | 31 | $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; 32 | 33 | if(!preg_match($email_exp,$email_from)) { 34 | $error_message .= 'The Email Address you entered does not appear to be valid.
'; 35 | } 36 | 37 | if(strlen($comments) < 2) { 38 | $error_message .= 'The Comments you entered do not appear to be valid.
'; 39 | } 40 | 41 | if(strlen($error_message) > 0) { 42 | 43 | died($error_message); 44 | 45 | } 46 | 47 | $email_message = "Form details below.\n\n"; 48 | 49 | 50 | 51 | function clean_string($string) { 52 | $bad = array("content-type","bcc:","to:","cc:","href"); 53 | return str_replace($bad,"",$string); 54 | } 55 | 56 | $email_message .= "First Name: ".clean_string($name)."\n"; 57 | $email_message .= "Email: ".clean_string($email_from)."\n"; 58 | $email_message .= "Comments: ".clean_string($comments)."\n"; 59 | 60 | // create email headers 61 | 62 | $headers = 'From: '.$email_from."\r\n". 63 | 64 | 'Reply-To: '.$email_from."\r\n" . 65 | 66 | 'X-Mailer: PHP/' . phpversion(); 67 | 68 | @mail($email_to, $email_subject, $email_message, $headers); 69 | 70 | ?> 71 | 72 | We will be in touch with you very soon. 73 | 74 | -------------------------------------------------------------------------------- /src/placeorder.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/contact.php: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | Laundry Management System 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 22 |
23 |
24 | 35 |
36 |
37 |
38 |

Contact Us

39 |
40 |
41 |
42 | 43 | 44 |
45 |
46 | 47 | 48 |
49 |
50 | 51 | 52 |
53 | 54 |
55 |
56 |
57 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /src/ratechart.php: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | Laundry Management System 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 |
25 |
26 | 37 |
38 | 39 |
40 |

Rate Chart

41 |
42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | "; 59 | echo ""; 60 | if($row[1]=="1") 61 | echo ""; 62 | elseif($row[1]=="2") 63 | echo ""; 64 | else 65 | echo ""; 66 | echo ""; 67 | echo ""; 68 | echo ""; 69 | } 70 | ?> 71 | 72 |
Cloth TypeCategoryLaundry RateDry Clean Rate
$row[2]GentsLadiesHousehold$row[3]$row[4]
73 |
74 |
75 |
76 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /src/newclientform.php: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | Laundry Management System 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 22 | 23 |
24 |
25 | 36 |
37 |
38 |

Register New Client

39 |
40 |
41 |
42 | 43 | 44 |
45 |
46 | 47 | 48 |
49 |
50 | 51 | 52 |
53 |
54 | 55 | 56 |
57 | 58 |
59 |
60 |
61 |
62 | 63 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /src/invoice.php: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | Laundry Management System 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 |
27 |
28 | 39 |
40 | 41 |
42 |

Invoice History

43 |
44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | "; 60 | echo ''; 61 | $clientnamerow = mysql_fetch_array(mysql_query("SELECT fullname FROM clients WHERE id='$row[2]'")); 62 | echo ""; 63 | echo ""; 64 | echo ""; 65 | echo ""; 66 | echo ""; 67 | if($row[7] == 0) 68 | echo ""; 69 | elseif($row[7] == 1) 70 | echo ""; 71 | else 72 | echo ""; 73 | echo ""; 74 | } 75 | ?> 76 | 77 |
Job IdCustomer NameSubmission DateDelivery DateTotal QuantityAmountDelivery Status
'.$row[0].'$clientnamerow[0]$row[3]$row[4]$row[5]$row[6]ProcessingReadyDelivered
78 |
79 |
80 |
81 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /src/images/index.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'FontAwesome'; 3 | src: url('fontawesome/fonts/fontawesome-webfont.eot?v=3.0.1'); 4 | src: url('fontawesome/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'), 5 | url('fontawesome/fonts/fontawesome-webfont.woff?v=3.0.1') format('woff'), 6 | url('fontawesome/fonts/fontawesome-webfont.ttf?v=3.0.1') format('truetype'); 7 | font-weight: normal; 8 | font-style: normal; 9 | } 10 | 11 | body{ 12 | background-color:#EBF4FA; 13 | margin: 0px; 14 | } 15 | 16 | .header 17 | { 18 | background:url('../images/logo.png'); 19 | background-repeat:no-repeat; 20 | margin-top:0; 21 | margin-right:auto; 22 | margin-bottom:0; 23 | margin-left:auto; 24 | width:300px; 25 | height:140px; 26 | } 27 | 28 | #tableblock{ 29 | overflow:scroll; 30 | height:520px; 31 | margin: 20px; 32 | } 33 | 34 | #fa-icon{ 35 | text-shadow: 0px 0px 1px #333; 36 | line-height: 90px; 37 | position: absolute; 38 | width: 90px; 39 | left: 20px; 40 | text-align: center; 41 | -webkit-transition: all 300ms linear; 42 | transition: all 300ms linear; 43 | 44 | } 45 | 46 | .fa-menu{ 47 | padding:0; 48 | margin:20px auto; 49 | width: 370px; 50 | } 51 | .fa-menu li{ 52 | width: 330px; 53 | height: 100px; 54 | overflow: hidden; 55 | position: relative; 56 | display: block; 57 | background: #fff; 58 | -webkit-box-shadow: 1px 1px 2px rgba(0,0,0,0.2); 59 | box-shadow: 1px 1px 2px rgba(0,0,0,0.2); 60 | margin-bottom: 4px; 61 | -webkit-transition: all 300ms linear; 62 | transition: all 300ms linear; 63 | } 64 | .fa-menu li:last-child{ 65 | margin-bottom: 0px; 66 | } 67 | .fa-menu li a{ 68 | text-align: left; 69 | width: 100%; 70 | height: 100%; 71 | display: block; 72 | color: #333; 73 | position: relative; 74 | } 75 | 76 | .fa-content{ 77 | position: absolute; 78 | left: 120px; 79 | width: 370px; 80 | height: 60px; 81 | top: 20px; 82 | } 83 | .fa-main{ 84 | font-size: 30px; 85 | -webkit-transition: all 300ms linear; 86 | transition: all 300ms linear; 87 | } 88 | .fa-sub{ 89 | font-size: 14px; 90 | color: #666; 91 | -webkit-transition: all 300ms linear; 92 | transition: all 300ms linear; 93 | } 94 | .fa-menu li:hover{ 95 | background: #e1f0fa; 96 | } 97 | .fa-menu li:hover #fa-icon{ 98 | font-size: 80px; 99 | color: #259add; 100 | opacity: 0.8; 101 | text-shadow: 0px 0px 13px #fff; 102 | } 103 | .fa-menu li:hover .fa-main{ 104 | opacity: 1; 105 | color:#2676ac; 106 | -webkit-animation: moveFromTop 300ms ease-in-out; 107 | } 108 | .fa-menu li:hover .fa-sub{ 109 | opacity: 1; 110 | -webkit-animation: moveFromBottom 300ms ease-in-out; 111 | } 112 | @-webkit-keyframes moveFromBottom { 113 | from { 114 | opacity: 0; 115 | -webkit-transform: translateY(200%); 116 | } 117 | to { 118 | opacity: 1; 119 | -webkit-transform: translateY(0%); 120 | } 121 | } 122 | 123 | 124 | @-webkit-keyframes moveFromTop { 125 | from { 126 | opacity: 0; 127 | -webkit-transform: translateY(-200%); 128 | } 129 | to { 130 | opacity: 1; 131 | -webkit-transform: translateY(0%); 132 | } 133 | } 134 | 135 | .container 136 | { 137 | top:17%; 138 | } 139 | 140 | .content 141 | { 142 | position:absolute; 143 | float:left; 144 | } 145 | 146 | .block 147 | { 148 | 149 | float:right; 150 | width:50%; 151 | height:390px; 152 | background-color:white !important; 153 | border-radius:15px; 154 | -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.33),0 0 0 1px rgba(46,45,47,.05),inset 0 1px 0 #fff,inset 0 0 0 1px rgba(255,255,255,.5); 155 | box-shadow: 0 1px 4px rgba(0,0,0,.33), 0 0 0 1px rgba(46,45,47,.05),inset 0 1px 0 #fff,inset 0 0 0 1px rgba(255,255,255,.5); 156 | margin-left:24%; 157 | margin-top:20px; 158 | margin-right:24%; 159 | 160 | 161 | } 162 | .footer 163 | { 164 | background:url('../images/footer.jpg'); 165 | clear: both; 166 | position: relative; 167 | z-index: 10; 168 | height: 147px; 169 | margin-top:650px; 170 | } -------------------------------------------------------------------------------- /src/job_order.php: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 15 | Laundry Management System 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 27 |
28 |
29 | 40 |
41 | 42 |
43 |

Job Order

44 |
45 |
46 | 47 | 48 | 49 |


50 | 51 |
52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | "; 66 | echo ''; 67 | echo ""; 68 | echo ''; 69 | $row2 = mysql_fetch_array($ladyquery); 70 | if($row2 != false) { 71 | echo ''; 72 | echo ""; 73 | echo ''; 74 | } 75 | $row3 = mysql_fetch_array($householdquery); 76 | if($row3 != false) { 77 | echo ''; 78 | echo ""; 79 | echo ''; 80 | } 81 | echo ""; 82 | } 83 | ?> 84 | 85 | 86 |
Gent's ItemsLady's ItemsHousehold Items
QuantityItem NameDryclean?QuantityItem NameDryclean?QuantityItem NameDryclean?
$row[2]$row2[2]$row3[2]
87 |
88 | 89 |
90 |
91 |
92 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /src/css/login.css: -------------------------------------------------------------------------------- 1 | body 2 | { 3 | background-color: #d9dee2; 4 | background-image: -webkit-gradient(linear, left top, left bottom, from(#ebeef2), to(#d9dee2)); 5 | background-image: -webkit-linear-gradient(top, #ebeef2, #d9dee2); 6 | } 7 | 8 | #login 9 | { 10 | box-shadow: 11 | 0 0 2px rgba(0, 0, 0, 0.2), 12 | 0 1px 1px rgba(0, 0, 0, .2), 13 | 0 3px 0 #fff, 14 | 0 4px 0 rgba(0, 0, 0, .2), 15 | 0 6px 0 #fff, 16 | 0 7px 0 rgba(0, 0, 0, .2); 17 | background-color: #fff; 18 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee)); 19 | background-image: -webkit-linear-gradient(top, #fff, #eee); 20 | height: 240px; 21 | width: 400px; 22 | margin: -150px 0 0 -230px; 23 | padding: 30px; 24 | position: absolute; 25 | top: 50%; 26 | left: 50%; 27 | z-index: 0; 28 | -webkit-border-radius: 3px; 29 | border-radius: 3px; 30 | -webkit-box-shadow: 31 | 0 0 2px rgba(0, 0, 0, 0.2), 32 | 0 1px 1px rgba(0, 0, 0, .2), 33 | 0 3px 0 #fff, 34 | 0 4px 0 rgba(0, 0, 0, .2), 35 | 0 6px 0 #fff, 36 | 0 7px 0 rgba(0, 0, 0, .2); 37 | } 38 | 39 | #login:before 40 | { 41 | content: ''; 42 | position: absolute; 43 | z-index: -1; 44 | border: 1px dashed #ccc; 45 | top: 5px; 46 | bottom: 5px; 47 | left: 5px; 48 | right: 5px; 49 | -moz-box-shadow: 0 0 0 1px #fff; 50 | -webkit-box-shadow: 0 0 0 1px #fff; 51 | box-shadow: 0 0 0 1px #fff; 52 | } 53 | 54 | h1 55 | { 56 | text-shadow: 0 1px 0 rgba(255, 255, 255, .7), 0px 2px 0 rgba(0, 0, 0, .5); 57 | text-transform: uppercase; 58 | text-align: center; 59 | color: #666; 60 | margin: 0 0 30px 0; 61 | letter-spacing: 4px; 62 | font: normal 26px/1 Verdana, Helvetica; 63 | position: relative; 64 | } 65 | 66 | h1:after, h1:before 67 | { 68 | background-color: #777; 69 | content: ""; 70 | height: 1px; 71 | position: absolute; 72 | top: 15px; 73 | width: 120px; 74 | } 75 | 76 | h1:after 77 | { 78 | background-image: -webkit-gradient(linear, left top, right top, from(#777), to(#fff)); 79 | background-image: -webkit-linear-gradient(left, #777, #fff); 80 | right: 0; 81 | } 82 | 83 | h1:before 84 | { 85 | background-image: -webkit-gradient(linear, right top, left top, from(#777), to(#fff)); 86 | background-image: -webkit-linear-gradient(right, #777, #fff); 87 | left: 0; 88 | } 89 | 90 | 91 | fieldset 92 | { 93 | border: 0; 94 | padding: 0; 95 | margin: 0; 96 | } 97 | 98 | 99 | #inputs input 100 | { 101 | background:url(../images/login-sprite.png) no-repeat; 102 | padding: 15px 15px 15px 30px; 103 | margin: 0 0 10px 0; 104 | width: 353px; /* 353 + 2 + 45 = 400 */ 105 | border: 1px solid #ccc; 106 | -moz-border-radius: 5px; 107 | -webkit-border-radius: 5px; 108 | border-radius: 5px; 109 | -moz-box-shadow: 0 1px 1px #ccc inset, 0 1px 0 #fff; 110 | -webkit-box-shadow: 0 1px 1px #ccc inset, 0 1px 0 #fff; 111 | box-shadow: 0 1px 1px #ccc inset, 0 1px 0 #fff; 112 | } 113 | 114 | #username 115 | { 116 | background-position: 5px -2px !important; 117 | } 118 | 119 | #password 120 | { 121 | background-position: 5px -52px !important; 122 | } 123 | 124 | 125 | #inputs input:focus 126 | { 127 | background-color: #fff; 128 | border-color: #e8c291; 129 | outline: none; 130 | -moz-box-shadow: 0 0 0 1px #e8c291 inset; 131 | -webkit-box-shadow: 0 0 0 1px #e8c291 inset; 132 | box-shadow: 0 0 0 1px #e8c291 inset; 133 | } 134 | 135 | #submit 136 | { 137 | background-color: #ffb94b; 138 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fddb6f), to(#ffb94b)); 139 | background-image: -webkit-linear-gradient(top, #fddb6f, #ffb94b); 140 | -webkit-border-radius: 3px; 141 | border-radius: 3px; 142 | text-shadow: 0 1px 0 rgba(255,255,255,0.5); 143 | -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset; 144 | box-shadow: 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.3) inset; 145 | 146 | border-width: 1px; 147 | border-style: solid; 148 | border-color: #d69e31 #e3a037 #d5982d #e3a037; 149 | 150 | float: left; 151 | height: 35px; 152 | padding: 0; 153 | width: 120px; 154 | cursor: pointer; 155 | font: bold 15px Arial, Helvetica; 156 | color: #8f5a0a; 157 | } 158 | 159 | #submit:hover,#submit:focus 160 | { 161 | background-color: #fddb6f; 162 | background-image: -webkit-gradient(linear, left top, left bottom, from(#ffb94b), to(#fddb6f)); 163 | background-image: -webkit-linear-gradient(top, #ffb94b, #fddb6f); 164 | } 165 | 166 | #submit:active 167 | { 168 | outline: none; 169 | 170 | -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset; 171 | -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset; 172 | box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) inset; 173 | } 174 | #actions a 175 | { 176 | color: #3151A2; 177 | float: right; 178 | line-height: 35px; 179 | margin-left: 10px; 180 | } 181 | 182 | -------------------------------------------------------------------------------- /src/showinvoice.php: -------------------------------------------------------------------------------- 1 | 2 | 21 | 22 | 23 | Laundry Management System 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 38 | 39 | 40 | 41 | 43 | 44 |
45 |
46 | 57 |
58 |
59 |

Invoice

60 | '; 63 | } else if($status==1) { 64 | echo '
'; 65 | } 66 | ?> 67 | 68 |



69 |
70 |
Cash Bill
71 |

The Laundry Point

72 |
Mobile:
73 | Invoice Id:Date:Delivery Date:
74 | Name :
75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | $joborderrow[5]"; 96 | echo ""; 97 | ?> 98 | 99 | 100 | 101 | 102 | "; 107 | echo ""; 108 | echo ""; 109 | echo ""; 110 | echo ""; 111 | if($row[4] == 0) 112 | echo ""; 113 | else 114 | echo ""; 115 | echo ""; 116 | } 117 | ?> 118 | 119 |
Sl No.Cloth TypeQuantityAmountLaundry/Dry Clean
Total$joborderrow[6]
$i$row[1]$row[2]$row[3]LaundryDry Clean
120 |
121 |
122 |
123 | 124 | 126 | 127 | 128 | -------------------------------------------------------------------------------- /src/css/index.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'FontAwesome'; 3 | src: url('fontawesome/fonts/fontawesome-webfont.eot?v=3.0.1'); 4 | src: url('fontawesome/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'), 5 | url('fontawesome/fonts/fontawesome-webfont.woff?v=3.0.1') format('woff'), 6 | url('fontawesome/fonts/fontawesome-webfont.ttf?v=3.0.1') format('truetype'); 7 | font-weight: normal; 8 | font-style: normal; 9 | } 10 | 11 | body{ 12 | background-color:#EBF4FA; 13 | height:100%; 14 | margin: 0px; 15 | } 16 | 17 | #header 18 | { 19 | background:url('../images/logo.png'); 20 | background-repeat:no-repeat; 21 | margin-top:0; 22 | margin-right:auto; 23 | margin-bottom:0; 24 | margin-left:auto; 25 | width:220px; 26 | height:140px; 27 | } 28 | 29 | #header img{ 30 | position: absolute; 31 | top: 10px; 32 | right: 10px; 33 | } 34 | 35 | #insideblock{ 36 | overflow:scroll; 37 | min-height:340px; 38 | margin: 20px; 39 | } 40 | 41 | h4 42 | { 43 | margin-left: 30px; 44 | margin-top: 30px; 45 | } 46 | 47 | h3,h5 48 | { 49 | margin:auto; 50 | } 51 | #formblock{ 52 | overflow:hidden; 53 | margin:30px; 54 | } 55 | 56 | #printblock{ 57 | overflow:hidden; 58 | text-align:center; 59 | margin-left:30px; 60 | margin-right:30px; 61 | } 62 | 63 | .content 64 | { 65 | position:absolute; 66 | margin-top:-110px; 67 | float:left; 68 | } 69 | 70 | 71 | #block 72 | { 73 | 74 | float:right !important; 75 | width:60%; 76 | background-color:white !important; 77 | border-radius:15px; 78 | -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.33),0 0 0 1px rgba(46,45,47,.05),inset 0 1px 0 #fff,inset 0 0 0 1px rgba(255,255,255,.5); 79 | box-shadow: 0 1px 4px rgba(0,0,0,.33), 0 0 0 1px rgba(46,45,47,.05),inset 0 1px 0 #fff,inset 0 0 0 1px rgba(255,255,255,.5); 80 | margin-left:20%; 81 | margin-right:20%; 82 | margin-top:10px; 83 | } 84 | 85 | #footer 86 | { 87 | background-color:#06F; 88 | opacity:0.6; 89 | clear: both; 90 | z-index: 10; 91 | height: 30px; 92 | margin-top:20px; 93 | width:100%; 94 | position:absolute; 95 | left:0; 96 | bottom:0; 97 | } 98 | 99 | #leftContent 100 | { 101 | color:#FFF; 102 | margin-top:4px; 103 | margin-left:20px; 104 | } 105 | 106 | select, option { width: 80px; } 107 | 108 | .dr-menu { 109 | width: 100%; 110 | max-width: 250px; 111 | min-width: 200px; 112 | position: relative; 113 | font-size: 1.3em; 114 | line-height: 2.5; 115 | font-weight: 400; 116 | color: #fff; 117 | padding-top: 2em; 118 | } 119 | 120 | .dr-menu > div { 121 | cursor: pointer; 122 | position: absolute; 123 | width: 100%; 124 | z-index: 100; 125 | } 126 | 127 | .dr-menu > div #dr-icon { 128 | top: 0; 129 | left: 0; 130 | position: absolute; 131 | font-size: 150%; 132 | color: #60a773; 133 | line-height: 1.6; 134 | padding: 0 10px; 135 | -webkit-transition: all 0.2s ease; 136 | -moz-transition: all 0.2s ease; 137 | transition: all 0.2s ease; 138 | } 139 | 140 | .dr-menu.dr-menu-open > div #dr-icon { 141 | color: #60a773; 142 | left: 100%; 143 | -webkit-transform: translateX(-100%); 144 | -moz-transform: translateX(-100%); 145 | -ms-transform: translateX(-100%); 146 | transform: translateX(-100%); 147 | } 148 | 149 | .dr-menu > div #dr-icon:after { 150 | content:"\f060"; 151 | position: absolute; 152 | font-size: 46%; 153 | line-height: 3.25; 154 | left: -18%; 155 | opacity: 0; 156 | } 157 | 158 | .dr-menu.dr-menu-open > div #dr-icon:after { 159 | opacity: 1; 160 | } 161 | 162 | .dr-menu > div .dr-label { 163 | padding-left: 3em; 164 | position: relative; 165 | display: block; 166 | color: #60a773; 167 | font-size: 0.9em; 168 | font-weight: 700; 169 | letter-spacing: 1px; 170 | text-transform: uppercase; 171 | line-height: 2.75; 172 | -webkit-transition: all 0.2s ease; 173 | -moz-transition: all 0.2s ease; 174 | transition: all 0.2s ease; 175 | } 176 | 177 | .dr-menu.dr-menu-open > div .dr-label { 178 | -webkit-transform: translateY(-90%); 179 | -moz-transform: translateY(-90%); 180 | -ms-transform: translateY(-90%); 181 | transform: translateY(-90%); 182 | } 183 | 184 | .dr-menu ul { 185 | padding: 0; 186 | margin: 0 3em 0 0; 187 | list-style: none; 188 | opacity: 0; 189 | position: relative; 190 | z-index: 0; 191 | pointer-events: none; 192 | -webkit-transition: opacity 0s linear 205ms; 193 | -moz-transition: opacity 0s linear 205ms; 194 | transition: opacity 0s linear 205ms; 195 | } 196 | 197 | .dr-menu.dr-menu-open ul { 198 | opacity: 1; 199 | z-index: 200; 200 | pointer-events: auto; 201 | -webkit-transition: opacity 0s linear 0s; 202 | -moz-transition: opacity 0s linear 0s; 203 | transition: opacity 0s linear 0s; 204 | } 205 | 206 | .dr-menu ul li { 207 | display: block; 208 | margin: 0 0 5px 0; 209 | opacity: 0; 210 | -webkit-transition: opacity 0.3s ease; 211 | -moz-transition: opacity 0.3s ease; 212 | transition: opacity 0.3s ease; 213 | } 214 | 215 | .dr-menu.dr-menu-open ul li { 216 | opacity: 1; 217 | } 218 | 219 | .dr-menu.dr-menu-open ul li:nth-child(2) { 220 | -webkit-transition-delay: 35ms; 221 | -moz-transition-delay: 35ms; 222 | transition-delay: 35ms; 223 | } 224 | 225 | .dr-menu.dr-menu-open ul li:nth-child(3) { 226 | -webkit-transition-delay: 70ms; 227 | -moz-transition-delay: 70ms; 228 | transition-delay: 70ms; 229 | } 230 | 231 | .dr-menu.dr-menu-open ul li:nth-child(4) { 232 | -webkit-transition-delay: 105ms; 233 | -moz-transition-delay: 105ms; 234 | transition-delay: 105ms; 235 | } 236 | 237 | .dr-menu.dr-menu-open ul li:nth-child(5) { 238 | -webkit-transition-delay: 140ms; 239 | -moz-transition-delay: 140ms; 240 | transition-delay: 140ms; 241 | } 242 | 243 | .dr-menu.dr-menu-open ul li:nth-child(6) { 244 | -webkit-transition-delay: 175ms; 245 | -moz-transition-delay: 175ms; 246 | transition-delay: 175ms; 247 | } 248 | 249 | .dr-menu.dr-menu-open ul li:nth-child(7) { 250 | -webkit-transition-delay: 205ms; 251 | -moz-transition-delay: 205ms; 252 | transition-delay: 205ms; 253 | } 254 | 255 | .dr-menu ul li a { 256 | display: inline-block; 257 | padding: 0 20px; 258 | color: #60a773; 259 | } 260 | 261 | .dr-menu ul li a:hover { 262 | color: #00688B; 263 | } 264 | 265 | #dr-icon:before, 266 | #dr-icon:after { 267 | position: relative; 268 | font-family: 'FontAwesome'; 269 | speak: none; 270 | font-style: normal; 271 | font-weight: normal; 272 | font-variant: normal; 273 | text-transform: none; 274 | -webkit-font-smoothing: antialiased; 275 | } 276 | 277 | .dr-menu ul #dr-icon:before { 278 | margin-right: 15px; 279 | } 280 | 281 | a { 282 | text-decoration: none; 283 | } -------------------------------------------------------------------------------- /src/reporting.php: -------------------------------------------------------------------------------- 1 | 2 | 23 | 24 | 25 | Laundry Management System 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 37 |
38 |
39 | 50 |
51 |
52 |
53 | 54 |
55 |

Daily Day-End Report


56 |
57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 |
Report ParameterValue
Date
No. of orders
No. of orders pending work as of today
No. of orders pending collection by customers
Total quantity received today
No. of men's apparel received today
No. of women's apparel received today
No. of household items received today
Total revenue generated today
No. of clients generating revenue today
No. of new clients generating revenue today
113 |
114 |
115 |
116 | 118 | 119 | 120 | -------------------------------------------------------------------------------- /src/js/printThis.js: -------------------------------------------------------------------------------- 1 | /* 2 | * printThis v1.3 3 | * @desc Printing plug-in for jQuery 4 | * @author Jason Day 5 | * 6 | * Resources (based on) : 7 | * jPrintArea: http://plugins.jquery.com/project/jPrintArea 8 | * jqPrint: https://github.com/permanenttourist/jquery.jqprint 9 | * Ben Nadal: http://www.bennadel.com/blog/1591-Ask-Ben-Print-Part-Of-A-Web-Page-With-jQuery.htm 10 | * 11 | * Dual licensed under the MIT and GPL licenses: 12 | * http://www.opensource.org/licenses/mit-license.php 13 | * http://www.gnu.org/licenses/gpl.html 14 | * 15 | * (c) Jason Day 2013 16 | * 17 | * Usage: 18 | * 19 | * $("#mySelector").printThis({ 20 | * debug: false, * show the iframe for debugging 21 | * importCSS: true, * import page CSS 22 | * printContainer: true, * grab outer container as well as the contents of the selector 23 | * loadCSS: "path/to/my.css", * path to additional css file 24 | * pageTitle: "", * add title to print page 25 | * removeInline: false, * remove all inline styles from print elements 26 | * printDelay: 333, * variable print delay 27 | * header: null * prefix to html 28 | * }); 29 | * 30 | * Notes: 31 | * - the loadCSS will load additional css (with or without @media print) into the iframe, adjusting layout 32 | */ 33 | ;(function ($) { 34 | var opt; 35 | $.fn.printThis = function (options) { 36 | opt = $.extend({}, $.fn.printThis.defaults, options); 37 | var $element = this instanceof jQuery ? this : $(this); 38 | 39 | var strFrameName = "printThis-" + (new Date()).getTime(); 40 | 41 | if(window.location.hostname !== document.domain && navigator.userAgent.match(/msie/i)){ 42 | // Ugly IE hacks due to IE not inheriting document.domain from parent 43 | // checks if document.domain is set by comparing the host name against document.domain 44 | var iframeSrc = "javascript:document.write(\"\")"; 45 | var printI= document.createElement('iframe'); 46 | printI.name = "printIframe"; 47 | printI.id = strFrameName; 48 | printI.className = "MSIE"; 49 | document.body.appendChild(printI); 50 | printI.src = iframeSrc; 51 | 52 | } else { 53 | // other browsers inherit document.domain, and IE works if document.domain is not explicitly set 54 | var $frame = $("