410 lines
32 KiB
HTML
Executable File
410 lines
32 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.DAYBOOKDETAILS">{{ 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="daybookCtrl">
|
|
<tabset class="tabbable" ng-init="init()">
|
|
<tab heading="View" id="viewDayBook">
|
|
<div class="container-fluid container-fullw">
|
|
<div class="row">
|
|
<!--<div class="col-md-12" align="center">
|
|
<spinner name="html5spinner">
|
|
<div class="overlay"></div>
|
|
<div class="spinner">
|
|
<div class="double-bounce1"></div>
|
|
<div class="double-bounce2"></div>
|
|
</div>
|
|
<div class="please-wait">Please Wait...</div>
|
|
</spinner>
|
|
</div>
|
|
|
|
<div class="col-md-12" ng-if="studentData == false" style="min-height: 281px;">
|
|
<p style="color: red;" align="center"><strong><h3 class="text-center">No
|
|
records found... </h3></strong></p>
|
|
</div>-->
|
|
|
|
<div class="col-md-12">
|
|
<div class="row">
|
|
<!--<div class="col-md-3">
|
|
<script>
|
|
$(function () {
|
|
$("#search").focus();
|
|
});
|
|
</script>
|
|
<input class="form-control" type="text" ng-model="search" id="search" autofocus tabindex="1" placeholder="Search" /><br><br>
|
|
</div>-->
|
|
<div class="col-md-4">
|
|
<!--<pre>{{searchData.date}}</pre>-->
|
|
<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-4">
|
|
<!--<pre>{{searchData.date}}</pre>-->
|
|
<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-4">
|
|
<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>
|
|
<!--<div class="col-md-12" ng-if="noRecordFound == true" style="min-height: 281px;">
|
|
<p style="color: red;" align="center"><strong><h3 class="text-center">No
|
|
records found... </h3></strong></p>
|
|
</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">
|
|
<div style="margin: 8px;">
|
|
<div style="width: 45px; display: initial;">
|
|
<span style="font-size: 14px;
|
|
color: black;">Total Count:</span> <span class="listCoutShow">{{ dataLength }}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="table-responsive">
|
|
|
|
<table class="table table-hover">
|
|
<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 / Bill Number
|
|
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='EmailID'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
|
</th>
|
|
<th>Paid To / Received From
|
|
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='EmailID'" 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 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>Mode of Payment
|
|
<!--<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=='Amount'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
|
</th>
|
|
<th>Balance
|
|
<!--<span class="glyphicon sort-icon" ng-show="sortKey=='Amount'" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>-->
|
|
</th>
|
|
|
|
<th class="center" 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 class="center">Activity
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody dir-paginate="p in data | filter:search:strict |itemsPerPage:10">
|
|
<tr>
|
|
<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>
|
|
<span ng-if=" p.PaymentStatus == 1 ">{{p.TypeName}}</span>
|
|
<span tooltip="Fees Updation" ng-if=" p.PaymentStatus == 0 " style="color:chocolate">{{p.TypeName}}</span></td>
|
|
<td>{{p.ModeOfPayment}}</td>
|
|
<td>{{p.Amount}}</td>
|
|
<td>{{p.Balance}}</td>
|
|
|
|
<!--<td class="center" tooltip="{{p.Approval_Comments}}" ng-if="p.ListName == 'Income'">
|
|
- </td>-->
|
|
<td class="center" tooltip="{{p.Approval_Comments}}"><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 class="center" ng-if="p.Status != 'Pending' && p.ListName != 'Income' ">-</td>
|
|
<td class="center" ng-if="p.ListName == 'Income' ">
|
|
<span ng-if=" p.PaymentStatus == 1 "> <i tooltip="EDIT" class="glyphicon glyphicon-pencil" ng-click="setEditId(p.ID)"></i> </span>
|
|
<span ng-if=" p.PaymentStatus == 0 ">
|
|
<!--<i tooltip="DELETE" class="glyphicon glyphicon-remove" ng-click="deleteFeePayableEntry(p.ID)"></i> -->
|
|
</span>
|
|
</td>
|
|
<td class="center" ng-if="p.Status == 'Pending'">
|
|
<span ng-if=" p.PaymentStatus == 1 ">
|
|
<span> <i tooltip="EDIT" class="glyphicon glyphicon-pencil" ng-click="setEditId(p.ID)"></i> </span>
|
|
<!--<span> <i tooltip="DELETE" class="glyphicon glyphicon-remove" ng-click="deleEditEntry(p.ID)"></i> </span>-->
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
<tr ng-show="editId === p.ID" ng-if="editId === p.ID">
|
|
<!--<pre>{{ p }}</pre>-->
|
|
<td colspan="9">
|
|
<form name="Form" id="form" novalidate ng-submit="daybookeditUpdate.submit(Form, myModel)" method="post">
|
|
<div ng-init="copyModel(p)" class="container" style="background-color: rgb(248, 248, 248);
|
|
border-radius: 6px;padding: 22px;">
|
|
<div class="row">
|
|
<div class="col-md-4 form-group">
|
|
<label>
|
|
Voucher Number
|
|
</label>
|
|
<input type="text" name="editvoucherNumber" tabindex="1" placeholder="Enter Voucher Number" class="form-control" ng-model="myModel.voucherNumber"
|
|
/>
|
|
<span class="error text-small block" ng-if="Form.editvoucherNumber.$dirty && Form.editvoucherNumber.$invalid" ng-hide="Form.editvoucherNumber.$error.maxlength || Form.editvoucherNumber.$error.minlength || Form.editvoucherNumber.$error.pattern">Voucher Number is required.</span>
|
|
</div>
|
|
<div class="col-md-4 form-group" ng-class="{'has-error':Form.editpaidTo.$dirty && Form.editpaidTo.$invalid, 'has-success':Form.editpaidTo.$valid}">
|
|
<label>
|
|
Paid To / Received From
|
|
</label>
|
|
<input type="text" name="editpaidTo" tabindex="1" placeholder="Enter Paid To / Received From" class="form-control" ng-model="myModel.paidTo"
|
|
/>
|
|
<span class="error text-small block" ng-if="Form.editpaidTo.$dirty && Form.editpaidTo.$invalid" ng-hide="Form.editpaidTo.$error.maxlength || Form.editpaidTo.$error.minlength || Form.editpaidTo.$error.pattern">Paid To / Received From is required.</span>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<label>
|
|
Description
|
|
</label>
|
|
|
|
<textarea type="text" placeholder="Enter Description" tabindex="3" class="form-control" name="editdescription_paid" ng-model="myModel.description_paid"
|
|
maxlength="100" />
|
|
<span class="text-small block" style="color: rgba(128, 128, 128, 0.64)">Max 100 Characters.</span>
|
|
<span class="error text-small block" ng-if="Form.editdescription_paid.$dirty && Form.editdescription_paid.$error.pattern">Invalid Description</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-4" ng-class="{'has-error':Form.editType.$dirty && Form.editType.$invalid, 'has-success':Form.editType.$valid}">
|
|
<label for="form-field-select-2">
|
|
Type <span class="symbol required"></span>
|
|
</label>
|
|
|
|
<select class="form-control" ng-init="getType(p.Name)" tabindex="1" class="cs-select cs-skin-elastic" name="editType" ng-model="myModel.type"
|
|
required>
|
|
<option value="" disabled selected>Select Type</option>
|
|
<option ng-repeat="typeItem in getTypes" ng-selected="typeItem.ID == p.Type" value="{{typeItem.ID}}">{{typeItem.TypeName}}</option>
|
|
</select>
|
|
<span class="error text-small block" ng-if="Form.editType.$dirty && Form.editType.$error.required">Type is Required</span>
|
|
|
|
</div>
|
|
<div class="col-md-4" ng-class="{'has-error':Form.editAmount.$dirty && Form.editAmount.$invalid, 'has-success':Form.editAmount.$valid}">
|
|
<label>
|
|
Amount <span class="symbol required"></span>
|
|
|
|
</label>
|
|
<input type="text" name="editAmount" tabindex="2" placeholder="Enter Amount" class="form-control" ng-model="myModel.amount"
|
|
required/>
|
|
<span class="error text-small block" ng-if="Form.editAmount.$dirty && Form.editAmount.$error.required">Amount is Required </span>
|
|
|
|
</div>
|
|
<div class="col-md-4">
|
|
<label>
|
|
Comments
|
|
</label>
|
|
|
|
<textarea type="text" placeholder="Enter Comments" tabindex="3" class="form-control" name="editComments" ng-model="myModel.description"
|
|
maxlength="100" />
|
|
<span class="text-small block" style="color: rgba(128, 128, 128, 0.64)">Max 100 Charactes.</span>
|
|
<span class="error text-small block" ng-if="Form.description.$dirty && Form.description.$error.pattern">Invalid Comments</span>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
</div>
|
|
<div class="row">
|
|
<div class="center">
|
|
<button type="submit" ng-disabled="disableEditButton" tabindex="4" ladda="ldloading1.zoom_in" class="btn btn-sm btn-success"
|
|
data-style="zoom-in">
|
|
<i class='fa fa-spinner fa-spin' ng-if="disableEditButton"> </i> Submit
|
|
</button>
|
|
<button type="cancel" ng-click="editClose()" tabindex="5" class="btn btn-warning btn-sm" ng-click="employeeForm.resetCourse(Form)">
|
|
Cancel
|
|
</button>
|
|
</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>
|
|
</tab>
|
|
<tab heading="Add" id="addDayBook">
|
|
<!--<pre>{{myModelAdd}}</pre>-->
|
|
<div>
|
|
<form name="Form" id="form" novalidate ng-submit="daybookAdd.submit(Form, myModelAdd)" method="post">
|
|
<div>
|
|
<div class="row">
|
|
<div data-ng-controller="DatepickerDemoCtrl">
|
|
<div class="col-md-6 form-group" ng-class="{'has-error':Form.addDate.$dirty && Form.addDate.$invalid, 'has-success':Form.addDate.$valid}">
|
|
<label>
|
|
Date <span
|
|
class="symbol required"></span>
|
|
</label>
|
|
<input type="text" tabindex="1" class="form-control " ng-click="startOpen = !startOpen" datepicker-popup="dd-MM-yyyy" ng-model="myModelAdd.date"
|
|
is-open="startOpen" ng-init="startOpen = false" name="addDate" datepicker-options="dateOptions"
|
|
placeholder="Select Date" close-text="Close" required="required" ng-change="getMaxEndDate(myModel.startDate)"
|
|
show-button-bar="true" max-date="todayDate" />
|
|
|
|
|
|
<span class="error text-small block" ng-if="Form.addDate.$dirty && Form.addDate.$invalid" ng-hide="Form.addDate.$error.maxlength">Date is required.</span>
|
|
<span class="error text-small block" ng-if="Form.addDate.$error.maxlength">Enter a Valid Date </span>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6 form-group" ng-class="{'has-error':Form.addName.$dirty && Form.addName.$invalid , 'has-success':Form.addName.$valid}">
|
|
<label for="form-field-select-2">
|
|
Income/Expense <span class="symbol required"></span>
|
|
</label>
|
|
<!--<pre>{{incomeExpenseName }}</pre>-->
|
|
<select class="form-control" tabindex="2" class="cs-select cs-skin-elastic" name="addName" ng-model="myModelAdd.name" ng-change="getType(myModelAdd.name)"
|
|
required>
|
|
<option value="" disabled selected>Select</option>
|
|
<option ng-repeat="typeName in incomeExpenseName" 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 class="row">
|
|
<div class="col-md-4 form-group" ng-class="{'has-error':Form.voucherNumber.$dirty && Form.voucherNumber.$invalid , 'has-success':Form.voucherNumber.$valid}">
|
|
<label>
|
|
Voucher Number <span class="symbol required"></span>
|
|
</label>
|
|
<input type="text" name="voucherNumber" tabindex="1" placeholder="Enter Voucher Number" class="form-control" ng-model="myModelAdd.voucherNumber"
|
|
required/>
|
|
<span class="error text-small block" ng-if="Form.voucherNumber.$dirty && Form.voucherNumber.$invalid" ng-hide="Form.voucherNumber.$error.maxlength || Form.voucherNumber.$error.minlength || Form.voucherNumber.$error.pattern">Voucher Number is required.</span>
|
|
</div>
|
|
<div class="col-md-4 form-group" ng-class="{'has-error':Form.paidTo.$dirty && Form.paidTo.$invalid , 'has-success':Form.paidTo.$valid}">
|
|
<label>
|
|
Paid To / Received From <span class="symbol required"></span>
|
|
</label>
|
|
<input type="text" name="paidTo" tabindex="1" placeholder="Enter Paid To / Received From" class="form-control" ng-model="myModelAdd.paidTo"
|
|
required/>
|
|
<span class="error text-small block" ng-if="Form.paidTo.$dirty && Form.paidTo.$invalid" ng-hide="Form.paidTo.$error.maxlength || Form.paidTo.$error.minlength || Form.paidTo.$error.pattern">Paid To / Reveived From is required.</span>
|
|
</div>
|
|
<div class="col-md-4" ng-class="{'has-error':Form.description_paid.$dirty && Form.description_paid.$invalid , 'has-success':Form.description_paid.$valid}">
|
|
<label>
|
|
Description <span class="symbol required"></span>
|
|
</label>
|
|
|
|
<textarea type="text" placeholder="Enter Description" tabindex="3" class="form-control" name="description_paid" ng-model="myModelAdd.description_paid"
|
|
maxlength="100" required/>
|
|
<span class="text-small block" style="color: rgba(128, 128, 128, 0.64)">Max 100 Characters.</span>
|
|
<span class="error text-small block" ng-if="Form.description_paid.$dirty && Form.description_paid.$error.pattern">Invalid Description</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-4" ng-class="{'has-error':Form.addType.$dirty && Form.addType.$invalid, 'has-success':Form.addType.$valid}">
|
|
<label for="form-field-select-2">
|
|
Type <span class="symbol required"></span>
|
|
</label>
|
|
<select class="form-control" tabindex="1" class="cs-select cs-skin-elastic" name="addType" ng-model="myModelAdd.type" required>
|
|
<option value="" disabled selected>Select Type</option>
|
|
<option ng-repeat="typeItem in getTypes" value="{{typeItem.ID}}">{{typeItem.TypeName}}</option>
|
|
</select>
|
|
<span class="error text-small block" ng-if="Form.addType.$dirty && Form.addType.$error.required">Type is Required</span>
|
|
|
|
</div>
|
|
<div class="col-md-4" ng-class="{'has-error':Form.addAmount.$dirty && Form.addAmount.$invalid, 'has-success':Form.addAmount.$valid}">
|
|
<label>
|
|
Amount <span class="symbol required"></span>
|
|
</label>
|
|
<input type="text" ng-pattern="/^[0-9]*$/" name="addAmount" tabindex="2" placeholder="Enter Amount" class="form-control"
|
|
ng-model="myModelAdd.amount" required/>
|
|
<span class="error text-small block" ng-if="Form.addAmount.$dirty && Form.addAmount.$error.required">Amount is Required </span>
|
|
<!--<span class="error text-small block" ng-if="Form.addAmount.$dirty">Amount is Required </span>-->
|
|
</div>
|
|
<div class="col-md-4">
|
|
<label>
|
|
Comments
|
|
</label>
|
|
|
|
<textarea type="text" placeholder="Enter Comments" tabindex="3" class="form-control" name="addComments" ng-model="myModelAdd.description"
|
|
maxlength="100" />
|
|
<span class="text-small block" style="color: rgba(128, 128, 128, 0.64)">Max 100 Characters.</span>
|
|
<span class="error text-small block" ng-if="Form.addComments.$dirty && Form.addComments.$error.pattern">Invalid Comments</span>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
</div>
|
|
<div class="row">
|
|
<div class="pull-right">
|
|
<button type="submit" ng-disabled="disableAddButton" tabindex="4" ladda="ldloading1.zoom_in" class="btn btn-sm btn-success"
|
|
data-style="zoom-in">
|
|
<i class='fa fa-spinner fa-spin' ng-if="disableAddButton"> </i> Submit
|
|
</button>
|
|
<button type="cancel" ng-click="daybookAdd.reset(Form)" tabindex="5" class="btn btn-warning btn-sm" ng-click="employeeForm.resetCourse(Form)">
|
|
Reset
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</tab>
|
|
<!--<tab heading="Approve Income/Expense" id="addDayBook" ng-if="dayBookApprovalAccess == '1'">
|
|
<div ng-init="getApproveLoad()">
|
|
</div>
|
|
</tab>-->
|
|
</tabset>
|
|
</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> |