| Server IP : 210.245.233.93 / Your IP : 216.73.216.226 Web Server : Apache/2.2.15 (CentOS) System : Linux webserver2.onesolution.com.hk 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64 User : apache ( 48) PHP Version : 5.3.3 Disable Function : exec, shell_exec, system, passthru, popen, proc_open, pcntl_exec MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/hkosl.com/billingsystem/dashboard/ |
Upload File : |
<!DOCTYPE html>
<html lang="en-HK" prefix="og: http://ogp.me/ns#">
<head>
<!-- Required meta tags -->
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<title>Invoice Edit</title>
<!-- css -->
<?php include 'inc/headlinks.php'; ?>
<?php include 'inc/link-js.php'; ?>
<!-- End layout styles -->
</head>
<body>
<div class="container-scroller">
<!-- partial:partials/_sidebar.html -->
<?php include 'inc/sidebar.php'; ?>
<!-- partial -->
<div class="container-fluid page-body-wrapper">
<!-- partial:partials/_navbar.html -->
<?php include 'inc/navbar.php'; ?>
<!-- partial -->
<div class="main-panel">
<!-- breadcrumb -->
<div class="page-title-box d-flex align-items-center justify-content-between">
<ol class="breadcrumb m-0 p-0">
<li class="breadcrumb-item"><a href="invoice.php">Invoice</a></li>
<li class="breadcrumb-item active">Invoice Edit</li>
</ol>
</div>
<!-- breadcrumb end -->
<div class="content-wrapper pb-0">
<div class="card-body boxShadow whiteBg mb-3">
<!-- Invoice Form -->
<form>
<div class="row">
<div class="col-md-12">
<!-- <div class="row mb-4 w-100">
<div class="col-6 col-lg-3 small">
<span class="bold"> Created At :</span><br> 30 Jan 2020 05:50:00
</div>
<div class="col-6 col-lg-3 small">
<span class="bold"> Created By :</span><br> May Chan
</div>
<div class="col-6 col-lg-3 small">
<span class="bold"> Last Update At :</span><br> 30 Jan 2020 05:50:00
</div>
<div class="col-6 col-lg-3 small">
<span class="bold"> Last Update By :</span><br> May Chan
</div>
</div> -->
<p>
Invoice# <span class="small text-muted">(Auto
Generate)</span>: <span class="text-danger h3">INV-200001</span>
</p>
</div>
<div class="col-md-4">
<div class="form-group">
<label>Customer Name </label>
<input type="text" class="form-control mainSearchInput normalSearch" value="MAy" aria-describedby="search" placeholder="" autocomplete="nope">
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label for="Quotation">Quotation Code </label>
<select class="form-control" id="Quotation">
<option value=""></option>
<option value="QUO12300" selected>QUO12300</option>
</select>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label for="ServiceType">Service Type </label>
<select class="form-control" id="ServiceType">
<option value=""></option>
<option value="REC12300" selected>REC12300</option>
</select>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label for="Salesman">Salesman</label>
<select class="form-control" id="Salesman">
<option value="" ></option>
<option value="Jacket" Selected>Jacket</option>
</select>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label for="Currency">Currency </label>
<select class="form-control" id="Currency">
<option value=""></option>
<option value="HKD" Selected>HKD</option>
<option value="USD">USD</option>
</select>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label for="InvoiceDate">Invoice Date</label>
<input type="text" class="form-control date" id="InvoiceDate" value="30 Jan 2020">
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label for="DueDate">Due Date</label>
<input type="text" class="form-control dueDate" id="DueDate" value="30 Jan 2020">
</div>
</div>
<div class="col-md-6">
<div class="boxShadow whiteBg mt-3 mb-3">
<!-- bill Form -->
<?php include 'component/billaddress.php'; ?>
<!-- bill Form END -->
</div>
</div>
<div class="col-md-6">
<div class="boxShadow whiteBg mt-3 mb-3">
<!-- ship Form -->
<?php include 'component/shippingaddress.php'; ?>
<!-- ship Form END -->
</div>
</div>
<!-- Invoice Table Editor -->
<div class="col-md-12">
<div id="grid" class="newGrid"></div>
</div>
<!-- Invoice Total -->
<div class="col-md-12">
<hr>
<div class="d-flex justify-content-between">
<p class="small">Subtotal
</p>
<p class="text-secondary">$100,000.00 </p>
</div>
<div class="d-flex justify-content-between mb-4">
<p class="small w-100">Order Discount
</p>
<input type="text" class="form-control col-6 col-md-3 col-lg-2 text-right" aria-describedby="Discount" value="200.00" autocomplete="nope">
</div>
<!-- <div class="d-flex justify-content-between">
<p class="small">Total Cost
</p>
<p class="text-secondary">$100,000.00 </p>
</div> -->
<div class="d-flex justify-content-between double_border_bottom mb-4">
<p class="h1">Total</p>
<p class="h1">$100,000.00 </p>
</div>
</div>
<div class="col-md-6">
<div class="form-group row align-items-center">
<label class="col-sm-4 mb-2" for="Terms">Terms and Conditions :
</label>
<div class="col-sm-8 mb-2">
<select class="form-control">
<option value="Default" Selected>Default</option>
<option value="Template01">Template01</option>
<option value="Template01">Template01</option>
<option value="Template01">Template01</option>
</select>
</div>
</div>
<div class="form-group mb-4">
<textarea class="form-control" rows="2" id="Terms"></textarea>
</div>
<div class="form-group row align-items-center">
<label class="col-sm-4 mb-2" for="PaymentTerms">Payment Terms :
</label>
<div class="col-sm-8 mb-2">
<select class="form-control">
<option value="Default" Selected>Default</option>
<option value="Template01">Template01</option>
<option value="Template01">Template01</option>
<option value="Template01">Template01</option>
</select>
</div>
</div>
<div class="form-group">
<textarea class="form-control" rows="2" id="PaymentTerms"></textarea>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label for="Remarks">Invoice Remarks</label>
<textarea class="form-control" id="Remarks" rows="3"></textarea>
</div>
<div class="form-group">
<label for="Remarks ">Remarks <span class="text-muted">(For Internal
Use)</span></label>
<textarea class="form-control" id="Remarks" rows="3"></textarea>
</div>
</div>
<!-- Button Row -->
<div class="col-md-12 text-right">
<hr>
<button type="button" class="btn btn-secondary" onclick="location.href='invoice_detail.php';">Back</button>
<!-- <button type="button" class="btn btn-success submitDate shadow_green">Approve</button>
<button type="button" class="btn btn-danger submitDate shadow_red">Reject</button> -->
<button type="button" class="btn btn-primary submitDate shadow_blue">Save</button>
</div>
</div>
</form>
</div>
<!-- content-wrapper ends -->
<!-- partial:partials/_footer.html -->
<?php include 'inc/footer.php'; ?>
<!-- partial -->
</div>
<!-- main-panel ends -->
</div>
<!-- page-body-wrapper ends -->
</div>
<!-- Modal Customer-->
<?php include 'component/add_customer.php'; ?>
<script src="../assets/datatables/buttons/1.1.2/js/dataTables.buttons.min.js?<?= rand(1, 10000) / 7; ?>"></script>
<script src="../assets/datatables/select/1.1.2/js/dataTables.select.min.js?<?= rand(1, 10000) / 7; ?>"></script>
<script src="../assets/js/bootstrap-datepicker.js?<?= rand(1, 10000) / 7; ?>"></script>
<script src="../assets/js/jsgrid.js?<?= rand(1, 10000) / 7; ?>"></script>
<script>
$(function() {
//sidebar active
$('.nav .nav-item:nth-child(6)').addClass('active');
$('.nav .nav-item .collapse .nav-item').removeClass('active');
$("#CreatedBy").select2({
placeholder: "",
allowClear: true
});
$('#InvoiceDate').datepicker({
format: 'dd M, yyyy'
});
$('#DueDate').datepicker({
format: 'dd M, yyyy'
});
//customer Search
ajaxSearchDetail();
function ajaxSearchDetail() {
$.ajax({
url: "../assets/json/mainsearch.json",
type: "get",
data: {},
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: false,
success: function(data) {
var recent = data.recentSearch;
$('.mainSearchInput').wrap(`<div class="mainSearchWrap">`);
$(`<div class="mainSearchDetail noborder shadow"><ul class="mainSearchGroup"></ul><button type="button" class="small sbtn btn-inverse-primary btn-fw mt-2" data-toggle="modal" data-target="#addNew">Add New</button></div>`)
.appendTo(".mainSearchWrap");
$.each(recent, function(index, item) {
//$("<option >").append(item.eng_desc).appendTo("#loanPurpose");
$('<li class="mainSearchItems"><div class="mainSearchItem"><input class="form-check-input radioSearch" type="radio" name="mainSearch" value="' +
item.val + '" id="mainSearchItem' + item.id +
'"><label class="form-check-label fullWidth" for="mainSearchItem' +
item
.id + '">' + item.val +
'</label></div></li>'
).appendTo(".mainSearchGroup");
});
function checkMainSearch(val) {
$(".mainSearchItems").filter(function() {
$(this).toggle($(this).text().toLowerCase().indexOf(
val) >
-1)
console.log($(this).val);
});
};
$(".mainSearchInput").on("keyup change", function() {
let val = $(this).val().toLowerCase();
checkMainSearch(val);
});
},
error: function(xhr, status, errorThrown) {
console.log(errorThrown + "\n" + status + "\n" + xhr.statusTex);
},
});
};
$(document).on("click", "input[type='radio'][name='mainSearch']:checked", function() {
$(this).closest(".mainSearchWrap").find(".mainSearchInput").val($(
this)
.val());
$(this).closest(".mainSearchWrap").removeClass('active');
});
var NewData = [{
Product_Code: "VPS-393",
Description: "Item A Desc. line 1",
Qty: "10.00",
Cost: "10.00",
Unit_Price: "5.00",
'Disc%': "0.00",
Amount: "50.00"
}, {
Product_Code: "VPS-393",
Description: "Item A Desc. line 1",
Qty: "10.00",
Cost: "10.00",
Unit_Price: "5.00",
'Disc%': "0.00",
Amount: "50.00"
}, {
Product_Code: "VPS-393",
Description: "Item A Desc. line 1",
Qty: "10.00",
Cost: "10.00",
Unit_Price: "5.00",
'Disc%': "0.00",
Amount: "50.00"
}, {
Product_Code: "VPS-393",
Description: "Item A Desc. line 1",
Qty: "10.00",
Cost: "10.00",
Unit_Price: "5.00",
'Disc%': "0.00",
Amount: "50.00"
}, {
Product_Code: "VPS-393",
Description: "Item A Desc. line 1",
Qty: "10.00",
Cost: "10.00",
Unit_Price: "5.00",
'Disc%': "0.00",
Amount: "50.00"
}];
var IconField = function(config) {
jsGrid.Field.call(this, config);
};
IconField.prototype = new jsGrid.Field({
itemTemplate: function(value) {
var insertValue = this._insertValue = $(
`<i class="mdi mdi-select-all"></i>`);
return insertValue;
},
insertTemplate: function(value) {
return this._insertInput = $(
`<i class="mdi mdi-select-all"></i>`
);
},
editTemplate: function(value) {
return this._editInput = $(
`<i class="mdi mdi-select-all"></i>`
);
},
insertValue: function() {
return this._insertInput.val();
},
editValue: function() {
return this._editInput.val();
}
});
jsGrid.fields.iconField = IconField;
var RemarkField = function(config) {
jsGrid.Field.call(this, config);
};
RemarkField.prototype = new jsGrid.Field({
itemTemplate: function(value) {
var insertValue = this._insertValue = $(
`<span class="textareaText" >${value}</span>`);
return insertValue;
},
insertTemplate: function(value) {
return this._insertInput = $(
`<textarea class="textareaRow" rows="1"></textarea>`
);
},
editTemplate: function(value) {
return this._editInput = $(
`<textarea class="textareaRow" rows="1">${value}</textarea>`
);
},
insertValue: function() {
return this._insertInput.val();
},
editValue: function() {
return this._editInput.val();
}
});
jsGrid.fields.remarkField = RemarkField;
const SelectField = jsGrid.SelectField;
function Select2Field(config) {
SelectField.call(this, config);
}
Select2Field.prototype = new SelectField({
itemTemplate: function(value) {
var insertValue = this._insertValue = value;
return insertValue;
},
insertValue: function() {
return this._insertInput.val();
},
_createSelect() {
const el = SelectField.prototype._createSelect.call(this);
setTimeout(() => el.select2({
placeholder: ''
}), 100);
return el;
}
});
jsGrid.fields.select2 = jsGrid.Select2Field = Select2Field;
$("#grid").jsGrid({
height: "auto",
width: "100%",
inserting: true,
editing: true,
sorting: true,
paging: true,
data: NewData,
rowClass: function(item, itemIndex) {
return "client-" + itemIndex;
},
controller: {
loadData: function() {
return NewData.slice(0, 15);
}
},
fields: [{
name: "#",
type: "iconField",
width: 30,
align: "left"
}, {
name: "Product_Code",
type: "select2",
items: [{
value: '12323213',
text: '12323213'
}],
textField: 'text',
valueField: 'value',
width: 100,
align: "left"
}, {
name: "Description",
type: "remarkField",
width: 150,
sorting: false
},
{
name: "Qty",
type: "number",
width: 80,
align: "left"
},
{
name: "Cost",
type: "number",
width: 80,
align: "left"
},
{
name: "Unit_Price",
type: "text",
width: 80
}, {
name: "Disc%",
type: "text",
width: 50
}, {
name: "Amount",
width: 80
},
{
type: "control",
width: 50,
editButton: false
}
],
onRefreshed: function() {
var $gridData = $("#grid .jsgrid-grid-body tbody");
$gridData.sortable({
update: function(e, ui) {
// array of indexes
var clientIndexRegExp = /\s*client-(\d+)\s*/;
var indexes = $.map($gridData.sortable("toArray", {
attribute: "class"
}), function(classes) {
return clientIndexRegExp.exec(classes)[1];
});
alert("Reordered indexes: " + indexes.join(", "));
// arrays of items
var items = $.map($gridData.find("tr"), function(row) {
return $(row).data("JSGridItem");
});
console && console.log("Reordered items", items);
}
});
},
rowClick: function(args) {
var $row = $(args.event.target).closest("tr");
var $cell = $(args.event.target).closest(".jsgrid-cell");
cellIndex = $($row.find("td")).index($cell);
if (this._editingRow) {
this.updateItem();
}
if (this.editing) {
this.editItem($row);
}
}
});
});
</script>
</body>
</html>