445 lines
33 KiB
HTML
Executable File
445 lines
33 KiB
HTML
Executable File
<!-- start: PAGE TITLE -->
|
|
<section id="page-title">
|
|
<div class="row">
|
|
<div class="col-sm-8">
|
|
<h1 class="mainTitle" translate="sidebar.nav.daybook.DAYBOOKAPPROVAL">{{ mainTitle }}</h1>
|
|
</div>
|
|
<div ncy-breadcrumb></div>
|
|
</div>
|
|
</section>
|
|
<!-- end: PAGE TITLE -->
|
|
<!-- start: DAY BOOK -->
|
|
<div class="container-fluid container-fullw bg-white">
|
|
<div ng-controller="daybooksuperadminapprovalCtrl" >
|
|
<div class="container" ng-init="init()">
|
|
<div class="row">
|
|
<div class="col-lg-4"></div>
|
|
<div class="col-lg-4">
|
|
<div>
|
|
<label for="form-field-select-2">
|
|
Select Branch
|
|
</label>
|
|
|
|
<select class="form-control" tabindex="0" class="cs-select cs-skin-elastic" name="branch" ng-model="localBranchDetails" ng-change="changeBranch()"
|
|
id="selectBranch" required>
|
|
<option value="" disabled selected>Select Branch</option>
|
|
<option ng-repeat="bdata in branchList_data" value="{{bdata.BranchCode}}">{{bdata.BranchName}}</option>
|
|
</select>
|
|
|
|
</div>
|
|
<!-- ng-if="loader == true"-->
|
|
<span ng-if="loader == true" style="color: #007AFF;
|
|
font-size: 16px;">Loading...</span>
|
|
</div>
|
|
<div class="col-lg-4"></div>
|
|
</div>
|
|
</div>
|
|
<div ng-if="viewStudentDetailsPage">
|
|
<tabset class="tabbable">
|
|
<tab heading="View" id="viewDayBook">
|
|
<div class="container-fluid container-fullw">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="row">
|
|
|
|
<div class="col-md-3">
|
|
<div data-ng-controller="DatepickerDemoCtrl">
|
|
<label>
|
|
From Date
|
|
</label>
|
|
<input type="text" tabindex="1" class="form-control " ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="searchData.date"
|
|
is-open="startOpen" ng-init="startOpen = false" name="addDate" datepicker-options="dateOptions"
|
|
placeholder="Select Date" close-text="Close" required="required" ng-change="changeDate()"
|
|
show-button-bar="true" />
|
|
|
|
</div>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<div data-ng-controller="DatepickerDemoCtrl">
|
|
<label>
|
|
To Date
|
|
</label>
|
|
<input type="text" tabindex="1" class="form-control " ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="searchData.dateTo"
|
|
is-open="startOpen" ng-init="startOpen = false" name="addDate" datepicker-options="dateOptions"
|
|
placeholder="Select Date" close-text="Close" required="required" ng-change="changeToDate()"
|
|
show-button-bar="true" />
|
|
|
|
</div>
|
|
</div>
|
|
<div class="col-md-3">
|
|
<label for="form-field-select-2">
|
|
Search
|
|
</label>
|
|
<input class="form-control" type="text" ng-model="search" id="search" autofocus tabindex="1" placeholder="Search" /><br><br>
|
|
|
|
</div>
|
|
<div class="col-md-3 form-group" ng-class="{'has-error':Form.gender.$dirty && Form.addName.$invalid , 'has-success':Form.addName.$valid}">
|
|
<label for="form-field-select-2">
|
|
Income/Expense
|
|
</label>
|
|
<select class="form-control" tabindex="2" class="cs-select cs-skin-elastic" name="addName" ng-model="showTheRefValue" ng-change="showTheResType(showTheRefValue)"
|
|
required>
|
|
<option value="" selected>Select</option>
|
|
<option ng-repeat="typeName in incomeExpenseName" ng-selected="showTheRefValue == typeName.ListCode" value="{{typeName.ListCode}}">{{typeName.ListName}}</option>
|
|
</select>
|
|
<span class="error text-small block" ng-if="Form.addName.$dirty && Form.addName.$error.required">Type is Required</span>
|
|
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div ng-show="loadingsearch" class="center">
|
|
<span style="color: #007AFF;
|
|
font-size: 16px;">Loading...</span>
|
|
</div>
|
|
</div>
|
|
<div class="center" ng-show="noRecordFoundSearch">
|
|
<p style="color: red;" align="center"><strong><h3 class="text-center">No
|
|
records found... </h3></strong></p>
|
|
</div>
|
|
<!--<div ng-if="showTheRefValue == 'I002'">
|
|
<style>
|
|
.listCoutShow {
|
|
margin: 12px;
|
|
padding: 4px;
|
|
padding-left: 10px;
|
|
padding-right: 10px;
|
|
border: 1px solid #59b176;
|
|
border-radius: 7px;
|
|
color: #FFF;
|
|
background-color: #5fba7d;
|
|
text-align: center;
|
|
}
|
|
</style>
|
|
|
|
<div class="row" ng-if="dataLengthIncome > 0">
|
|
<div class="pull-right">
|
|
<div style="margin: 8px;">
|
|
<div style="width: 45px; display: initial;">
|
|
<span style="font-size: 14px;
|
|
color: black;">Total Count:</span>
|
|
<span class="listCoutShow">{{ dataLengthIncome }}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="table-responsive">
|
|
<table style="width: 100%;" class="table table-hover" ng-if="dataLengthIncome > 0">
|
|
<thead>
|
|
<tr>
|
|
<th ng-click="sort('Date')">Date
|
|
<span class="glyphicon sort-icon" ng-show="sortKey=='Date'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
|
</th>
|
|
<th ng-click="sort('ListName')">Income/Expense
|
|
<span class="glyphicon sort-icon" ng-show="sortKey=='ListName'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
|
</th>
|
|
<th>Voucher Number
|
|
</th>
|
|
<th ng-click="sort('PaidTo')">Paid To / Received From
|
|
<span class="glyphicon sort-icon" ng-show="sortKey=='PaidTo'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
|
</th>
|
|
<th>Description/Comments
|
|
</th>
|
|
<th ng-click="sort('TypeName')">Type
|
|
<span class="glyphicon sort-icon" ng-show="sortKey=='TypeName'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
|
</th>
|
|
<th>Amount
|
|
</th>
|
|
|
|
</tr>
|
|
</thead>
|
|
<tbody dir-paginate="p in IncomeData|orderBy:sortKey:reverse|filter:search:strict|itemsPerPage:10">
|
|
<tr>
|
|
|
|
<td>{{p.Date}}</td>
|
|
<td>{{p.ListName}}</td>
|
|
<td>{{p.VoucherNumber}}</td>
|
|
<td>{{p.PaidTo}}</td>
|
|
|
|
<td>
|
|
<div id="containersPara">
|
|
<div id="wrapper">
|
|
{{p.PaidDescription}} / {{p.Description}}
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td>{{p.TypeName}}</td>
|
|
<td>{{p.Amount}}</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
|
|
</dir-pagination-controls>
|
|
</div>
|
|
</div>-->
|
|
<div>
|
|
<style>
|
|
.listCoutShow {
|
|
margin: 12px;
|
|
padding: 4px;
|
|
padding-left: 10px;
|
|
padding-right: 10px;
|
|
border: 1px solid #59b176;
|
|
border-radius: 7px;
|
|
color: #FFF;
|
|
background-color: #5fba7d;
|
|
text-align: center;
|
|
}
|
|
</style>
|
|
|
|
<div class="row">
|
|
<div class="pull-right" ng-if="dataLengthExpense > 0">
|
|
<div style="margin: 8px;">
|
|
<div style="width: 45px; display: initial;">
|
|
<span style="font-size: 14px;
|
|
color: black;">Total Count:</span>
|
|
<span class="listCoutShow">{{ dataLengthExpense }}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="table-responsive">
|
|
<table style="width: 100%;" class="table table-hover">
|
|
<thead>
|
|
<tr>
|
|
<!--<th ng-if="dayBookApprovalAccess == '1'">
|
|
|
|
</th>-->
|
|
<th ng-click="sort('Date')">Date
|
|
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='Date'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
|
</th>
|
|
<th ng-click="sort('ListName')">Income/Expense
|
|
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='ListName'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
|
</th>
|
|
<th>Voucher Number /Bill Number
|
|
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='EmailID'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
|
</th>
|
|
<th ng-click="sort('PaidTo')">Paid To / Received From
|
|
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='PaidTo'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
|
</th>
|
|
|
|
<th>Sem/Course/University
|
|
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='EmailID'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
|
</th>
|
|
|
|
<th>Description/Comments
|
|
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='PaidTo'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
|
</th>
|
|
<th ng-click="sort('TypeName')">Type
|
|
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='TypeName'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
|
</th>
|
|
<th>Amount
|
|
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='EmailID'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
|
</th>
|
|
|
|
<th ng-click="sort('Status')">Status
|
|
<span class="glyphicon sort-icon" ng-show="sortKey=='Status'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
|
|
</th>
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody dir-paginate="p in searchResultDetails| filter:search:strict |itemsPerPage:10">
|
|
|
|
<tr>
|
|
<!--<td>
|
|
<label ng-if="dayBookApprovalAccess == '1'">
|
|
<input type="checkbox" ng-model="p.Selected" ng-change="setOneSelect(p)" />
|
|
</label>
|
|
</td>-->
|
|
<td>{{p.Date}}</td>
|
|
<td>{{p.ListName}}</td>
|
|
<td>{{p.VoucherNumber}}</td>
|
|
<td>{{p.PaidTo}}</td>
|
|
|
|
<td> {{p.FeePaymentDetails}}<br>{{p.CourseName}} <br> {{p.UniversityName}}</td>
|
|
|
|
<td>
|
|
<div id="containersPara">
|
|
<div id="wrapper">
|
|
{{p.PaidDescription}} / {{p.Description}}
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td>{{p.TypeName}}</td>
|
|
<td>{{p.Amount}}</td>
|
|
<!-- <td>
|
|
<div id="containersPara">
|
|
<div id="wrapper">
|
|
{{p.Description}}
|
|
</div>
|
|
</div>
|
|
</td> -->
|
|
<td tooltip="{{p.Approval_Comments}} BY {{p.Approved_by_name}}"><span ng-if="p.Status == 'Pending'" style="text-transform: uppercase; text-shadow: 1px 1px #286d5f; color: #55d4bb ">{{p.Status}}</span>
|
|
<span ng-if="p.Status == 'Approved'" style="text-transform: uppercase; text-shadow: 1px 1px #166307; color: #2be209 ">{{p.Status}}</span>
|
|
<span ng-if="p.Status == 'Rejected'" style="text-transform: uppercase; text-shadow: 1px 1px rgb(167, 88, 15); color: rgba(236, 24, 24, 0.98823529);">{{p.Status}}</span>
|
|
</td>
|
|
<td ng-if="p.ListName == 'Expense'">
|
|
<i class="ti-write" tooltip="Update Status" ng-click="updateStatus(p);"></i>
|
|
</td>
|
|
</tr>
|
|
<tr ng-show="p.ORDER_ID == editId">
|
|
<td colspan="8">
|
|
<form name="Form" id="form" novalidate ng-submit="statusUpdate.submit(Form, myStatusModel)" method="post">
|
|
<div class="container">
|
|
<div class="row">
|
|
|
|
<div class="col-md-4">
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<fieldset style="background-color: #eaeaea;">
|
|
<legend>
|
|
Update Status
|
|
</legend>
|
|
<div class="row">
|
|
<a id="cancel_button" ng-click="updateStatusClose()" tooltip="Close">
|
|
<span class="glyphicon glyphicon-remove-circle"></span>
|
|
</a>
|
|
<div class="col-md-2">
|
|
</div>
|
|
<div class="col-md-8 form-group" ng-class="{'has-error':Form.status.$dirty && Form.status.$invalid, 'has-success':Form.status.$valid}">
|
|
<label for="form-field-select-2">
|
|
Status <span class="symbol required"></span>
|
|
</label>
|
|
|
|
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="status" ng-model="myStatusModel.staus"
|
|
required>
|
|
<option value="" disabled selected>Select Status</option>
|
|
<option ng-repeat="itemStatus in statusList" value="{{itemStatus.name}}">{{itemStatus.name}}</option>
|
|
</select>
|
|
<span class="error text-small block" ng-if="Form.status.$dirty && Form.status.$error.required">Status is Required</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div>
|
|
<div class="row">
|
|
<div class="col-md-12 form-group" ng-class="{'has-error':Form.description.$dirty && Form.description.$invalid}">
|
|
<label>
|
|
Comments
|
|
</label>
|
|
|
|
<textarea type="text" placeholder="Enter Comments" tabindex="3" class="form-control" name="description" ng-model="myStatusModel.description"
|
|
maxlength="100" />
|
|
<span class="text-small block">Max 100 Characters.</span>
|
|
<span class="error text-small block" ng-if="Form.description.$dirty && Form.description.$error.pattern">Invalid Comments</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="center">
|
|
<button type="submit" tabindex="8" ladda="ldloading1.zoom_in" class="btn btn-sm btn-success" data-style="zoom-in" ng-disabled="disableStatusUpdateButton">
|
|
<i class='fa fa-spinner fa-spin' ng-if="disableStatusUpdateButton"> </i> Update
|
|
</button>
|
|
<!--<button type="reset" tabindex="9" class="btn btn-warning btn-wide" tabindex="9" ng-click="employeeForm.resetCourse(Form)">
|
|
Reset
|
|
</button>-->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<dir-pagination-controls max-size="10" direction-links="true" boundary-links="true">
|
|
</dir-pagination-controls>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div ng-if="OpenWindowStatus">
|
|
<form name="Form" id="form" novalidate ng-submit="statusUpdate.submit(Form, myStatusModel)" method="post">
|
|
<div class="container">
|
|
<div class="row">
|
|
|
|
<div class="col-md-4">
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
<fieldset style="background-color: #eaeaea;">
|
|
<legend>
|
|
Update Status
|
|
</legend>
|
|
<div class="row">
|
|
<a id="cancel_button" ng-click="unSelect()" tooltip="Close">
|
|
<span class="glyphicon glyphicon-remove-circle"></span>
|
|
</a>
|
|
<div class="col-md-2">
|
|
</div>
|
|
<div class="col-md-8 form-group" ng-class="{'has-error':Form.status.$dirty && Form.status.$invalid, 'has-success':Form.status.$valid}">
|
|
<label for="form-field-select-2">
|
|
Status <span class="symbol required"></span>
|
|
</label>
|
|
|
|
<select class="form-control" tabindex="4" class="cs-select cs-skin-elastic" name="status" ng-model="myStatusModel.staus"
|
|
required>
|
|
<option value="" disabled selected>Select Status</option>
|
|
<option ng-repeat="itemStatus in statusList" value="{{itemStatus.name}}">{{itemStatus.name}}</option>
|
|
</select>
|
|
<span class="error text-small block" ng-if="Form.status.$dirty && Form.status.$error.required">Status is Required</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div>
|
|
<div class="row">
|
|
<div class="col-md-12 form-group" ng-class="{'has-error':Form.description.$dirty && Form.description.$invalid}">
|
|
<label>
|
|
Comments
|
|
</label>
|
|
|
|
<textarea type="text" placeholder="Enter Comments" tabindex="3" class="form-control" name="description" ng-model="myStatusModel.description"
|
|
maxlength="100" />
|
|
<span class="text-small block">Max 100 Characters.</span>
|
|
<span class="error text-small block" ng-if="Form.description.$dirty && Form.description.$error.pattern">Invalid Comments</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div class="center">
|
|
<button type="submit" tabindex="8" ladda="ldloading1.zoom_in" class="btn btn-sm btn-success" data-style="zoom-in" ng-disabled="disableStatusUpdateButton">
|
|
<i class='fa fa-spinner fa-spin' ng-if="disableStatusUpdateButton"> </i> Update
|
|
</button>
|
|
<!--<button type="reset" tabindex="9" class="btn btn-warning btn-wide" tabindex="9" ng-click="employeeForm.resetCourse(Form)">
|
|
Reset
|
|
</button>-->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="col-md-4">
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
</div>
|
|
</tab>
|
|
</tabset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- end: DAY BOOK -->
|
|
<section id="page-title">
|
|
<div class="row">
|
|
<!--<div class="col-sm-8">
|
|
<h1 class="mainTitle" translate="sidebar.nav.profile.MAIN">{{ mainTitle }}</h1>
|
|
</div>
|
|
<div ncy-breadcrumb></div>-->
|
|
</div>
|
|
</section> |