Files
hpt_inventory/resources/views/stock_out.blade.php
2026-06-10 16:42:20 +07:00

371 lines
22 KiB
PHP

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
@include('layout.header')
<link rel="stylesheet" href="{{url(env("APP_URL").'storage/assets/libs/lightgallery/lightgallery.css')}}" >
<style>
.center {
height:100%;
display:flex;
align-items:center;
justify-content:center;
}
.form-input {
width:50%;
padding:0px 0px 0px 0;
}
.form-input img {
width:100%;
display:none;
margin-bottom:10px;
}
.form-input input {
display:none;
}
.form-input label {
height:25px;
background:#cdcdcd26;
color:#c9c9c9;
cursor:pointer;
width: 75px;
margin: 0 auto;
}
.modal .table .select2-selection__rendered {
line-height: 31px !important;
}
.modal .table .select2-container .select2-selection--single {
height: 35px !important;
}
.modal .table .select2-selection__arrow {
height: 34px !important;
}
#release_detail .select2-container {
width: 100% !important;
}
#release_detail .select2-container .select2-selection--single, #release_detail .select2-selection--multiple
{
min-height: 36px !important;
}
#release_detail .select2-selection__arrow,
{
height: 36px !important;
}
#release_detail .select2-container--default .select2-selection--single .select2-selection__rendered
{
line-height: 28px !important;
position: relative;
top: -11px !important;
left: -20px !important;
}
</style>
</head>
<body>
<div class="row" id="x" style="display: none;">
<div class="col-12">
<span class="d-flex align-items-center purchase-popup">
<i class="typcn typcn-delete-outline" id="bannerClose"></i>
</span>
</div>
</div>
<div class="container-scroller">
@include('layout.navbar')
<!-- partial -->
@include('layout.breadscrum')
<div class="container-fluid page-body-wrapper">
@include('layout.sidebar')
<!-- partial -->
<div class="main-panel">
<div class="content-wrapper">
<div class="row">
<div class="col-md-12 grid-margin stretch-card">
<div class="card">
<div class="card-body">
<h4 class="card-title"><i class="mdi mdi-dots-vertical menu-icon"></i> {{__('Goods Issue')}}</h4>
<div class="row">
<div class="col-sm-12">
<form method="get" action="{{url('/inventory/stock-out/search')}}">
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-10 col-lg-10">
<div class="input-group">
<input type="text" class="form-control" value="{{isset($_GET['kword']) ? $_GET['kword'] : ''}}" name="kword" id="kword" placeholder="{{__('GIN-Number')}}">
<input id="start-invoice-date" value="{{isset($_GET['issue_date']) ? $_GET['issue_date'] : ''}}" name="issue_date" class="form-control" onfocus="(this.type='date')" onblur="(this.type='text')" placeholder="From Date" type="text">
<input id="end-invoice-date" value="{{isset($_GET['issue_date_to']) ? $_GET['issue_date_to'] : ''}}" name="issue_date_to" class="form-control" onfocus="(this.type='date')" onblur="(this.type='text')" placeholder="To date" type="text">
<div class="input-group-append">
<button class="btn btn-sm rounded-0 btn-inverse-secondary px-3" type="submit"><i class="fa fa-search"></i> {{__('general.btn_search')}}</button>
@if(\App\Http\Controllers\Helper\GlobalController::user_can(Auth::user()->role_id, ['add_stockout']))
<button class="btn btn-info rounded-0 waves-effect px-3 ml-2" type="button" data-action="new" data-toggle="modal" data-target="#modal-medicine-release" data-backdrop="static"><i class="typcn typcn-plus"></i> {{__('general.btn_add_new')}}</button>
@endif
<button type="button" class="btn btn-white rounded-0 dropdown-toggle ml-4" data-toggle="dropdown" aria-expanded="true">{{__('report.btn_action')}}</button>
<div class="dropdown-menu" style="position: absolute; will-change: transform; top: 0px; left: 0px; transform: translate3d(0px, 44px, 0px);" x-placement="bottom-start">
<button type="button" data-toggle="modal" data-target="#print_preview_modal" data-backdrop="static" class="dropdown-item font-14">{{__('report.btn_action_print')}}</button>
<button type="submit" value="true" name="export" class="dropdown-item font-14">{{__('report.btn_action_export')}}</button>
</div>
</div>
</div>
</div>
</div>
</form> <hr class="my-3 d-none">
<div class="col-sm-12 p-0 mb-1 mt-3">
<div class="table-responsive">
<table class="table table-bordered table-hover table-striped" id="department_dt">
<thead>
<tr class="bg-gradient-light">
<th class="py-2" width="50px">{{__('physician.table_no')}}</th>
<th class="py-2 text-center" width="100px">{{__('physician.table_action')}}</th>
<th class="py-2" width="200px">{{__('GIN-Number')}}</th>
<th class="py-2" width="250px">{{__('Issue Date')}}</th>
<th class="py-2" width="250px">{{__('Description')}}</th>
<th class="py-2 text-center" width="100px">{{__('physician.table_status')}}</th>
</tr>
</thead>
<tbody>
@foreach($medicineReleases as $k=>$medicineRelease)
<tr>
<td class="py-1 text-center">{{($k+1) + (($_GET['page'] ?? 1) * 20) - 20}}</td>
<td class="py-1 text-center">
<div class="btn-group" role="group">
@if(\App\Http\Controllers\Helper\GlobalController::user_can(Auth::user()->role_id, ['update_stockout']))
<button type="button" class="btn btn-sm btn-inverse-primary mr-2" title="{{__('general.btn_edit')}}" data-action="edit" data-uid="{{$medicineRelease->id}}" data-toggle="modal" data-target="#modal-medicine-release" data-backdrop="static">
<i class="typcn typcn-edit"></i>
</button>
@endif
@if(\App\Http\Controllers\Helper\GlobalController::user_can(Auth::user()->role_id, ['delete_stockout']))
<button type="button" class="btn btn-sm btn-inverse-danger " title="{{__('general.btn_delete')}}" onclick="delete_data({{$medicineRelease->id}})"><i class="mdi mdi-close-circle"></i></button>
@endif
</div>
</td>
<td class="py-1">{{$medicineRelease->gin_number}}</td>
<td class="py-1">{{date('d-m-Y',strtotime($medicineRelease->issue_date))}}</td>
<td class="py-1">{{$medicineRelease->description}}</td>
<td class="py-1 text-center">
<i class="mdi {{$medicineRelease->record_status_id == 1 ? 'mdi-check-circle text-primary' : 'mdi-checkbox-blank-circle-outline'}}"></i>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
<div class="float-right mt-3">
{!! $medicineReleases->links('pagination.custom') !!}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Modal Laboratory -->
<div class="modal fade modal-primary" id="modal-medicine-release">
<div class="modal-dialog modal-semi-xxl modal-dialog-scrollable">
<div class="modal-content">
<div class="modal-header">
<h6 class="modal-title new">{{__('New Supplier')}}</h6>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true" class="mdi mdi-close"></span></button>
</div>
<div class="modal-body">
<form method="POST" action="#" id="form-stock-out" enctype="multipart/form-data" onkeydown="return event.key != 'Enter';">
@csrf
<input type="hidden" class="form-control" name="uid" id="data-id" value="0" />
<div class="form-vertical">
<div class="row">
<div class="col-sm-12 col-md-6">
<div class="form-group mb-1">
<label class="font-weight-medium" for="lab-name-en">{{__('GIN-Number')}}</label>
<input type="text" class="form-control clearable rounded-0" id="gin-number" name="gin_number" placeholder="{{__('Good Issue Note Number')}}">
</div>
</div>
{{-- <div class="col-sm-12 col-md-4">--}}
{{-- <div class="form-group mb-1">--}}
{{-- <label class="font-weight-medium" for="lab-name-en">{{__('Supplier')}} <span class="text-danger">*</span></label>--}}
{{-- <select class="form-control clearable rounded-0 select2" id="supplier" name="supplier" style=" width: 100% !important;">--}}
{{-- <option></option>--}}
{{-- @foreach($suppliers as $supplier)--}}
{{-- <option value="{{$supplier->id}}">{{$supplier->name_en}}</option>--}}
{{-- @endforeach--}}
{{-- </select>--}}
{{-- </div>--}}
{{-- </div>--}}
<div class="col-sm-12 col-md-6">
<div class="form-group mb-1">
<label class="font-weight-medium" for="lab-name-en">{{__('Issue Date')}} <span class="text-danger">*</span></label>
<input type="date" class="form-control clearable rounded-0" id="issue-date" name="issue_date">
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12 py-0 px-4">
<div class="row">
<table class="table table-bordered " id="release_detail">
<thead>
<tr class="bg-light">
<td width="250px" class="p-1">@lang('Medical Item Group')</td>
<td width="350px" class="p-1">@lang('Medical Item')</td>
<td width="150px" class="p-1">@lang('Lot No.')</td>
<td width="250px" class="p-1">@lang('Medical Item Unit') </td>
<td width="150px" class="p-1">Quantity</td>
<td class="p-1">Remark</td>
<td width="60px" class="p-1 text-center">
<button type="button" onclick="addReleaseMedicalItem()" class="btn rounded-0 btn-md btn-light"><i class="mdi mdi-plus-circle text-info" ></i></button>
</td>
</tr>
</thead>
<tbody id="release_detail_body"></tbody>
</table>
</div>
<div class="row">
<div class="col-sm-6 p-0 mt-3">
<div class="form-group">
<textarea class="form-control" rows="2" placeholder="Description..." id="note" name="note"></textarea>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<div class="col-sm-10 text-left text-muted" style="font-size:10px !important;">
<span id="creator"></span> <span id="creator-time"></span><br>
<span id="modifier"></span> <span id="modifier-time"></span>
</div>
<button type="button" class="btn btn-info rounded-0" id="btnSave"><i class="fa fa-floppy-o"></i>&nbsp;&nbsp;<span class="save">{{__('lang.save')}}</span><span class="update" style="display: none">{{__('lang.update')}}</span></button>
<button type="button" class="btn btn-light rounded-0" data-dismiss='modal'>{{__('lang.cancel')}}</button>
</div>
</div>
</div>
</div>
@include('modal.stock_out_print')
@include('layout.footer')
</div>
</div>
</div>
@include('layout.common_script')
<script>
var save_url = "{{url('inventory/stock-out/save')}}";
var update_url = "{{url('inventory/stock-out/update')}}";
var delete_url = "{{url('inventory/stock-out/delete')}}";
var get_url = "{{url('inventory/stock-out/get')}}";
var inventory_base_url = "{{url('inventory')}}";
let modal_add_title = "{{__('New Goods Issue')}}";
let modal_edit_title = "{{__('Edit Goods Issue')}}";
</script>
<script src="{{url(env("APP_URL").'storage/assets/js/admin/medicine_release.js?time='.time())}}"></script>
<script>
function getMedicalItemByGroupId(id, rowid) {
var div_data = "";
$("#medicine_name" + rowid).html("<option value=''></option>");
$.ajax({
url: inventory_base_url+'/medicine/group/'+id,
type: "GET",
dataType: 'json',
success: function (res) {
if(res.success) {
$.each(res.data, function (i, obj) {
var sel = "";
div_data += "<option value='" + obj.id + "'>" + obj.medicine.name + " (" + Number(obj.available_quantity).toFixed(0) + ")</option>";
});
$("#medicine_name" + rowid).html("<option value=''>Select</option>");
$('#medicine_name' + rowid).append(div_data);
}
}
});
}
function addReleaseMedicalItem(purchaseDetail = null) {
var table = document.getElementById("release_detail_body");
var table_len = table.rows.length;
var id = table_len + 1
var opt = "<?php foreach($medicineGroups as $item){ ?>";
opt += "<option value='<?php echo $item->id ?>'><?php echo $item->name_en ?></option>";
opt += "<?php } ?>";
var medicalItemUnitOpt = "<?php foreach($medicineUnits as $item){ ?>";
medicalItemUnitOpt += "<option value='<?php echo $item->id ?>'><?php echo $item->name_en ?></option>";
medicalItemUnitOpt += "<?php } ?>";
var row_ = "<tr id='row_" + id + "'>" +
'<td class="p-2">' +
'<select class="form-control form-control-sm clearable rounded-0" id="cate_' + id + '" name="category_id[]" onchange=getMedicalItemByGroupId(this.value,' + id + ') required>' +
'<option value="">Chose</option>' + opt +
'</select>' +
'</td>' +
'<td class="p-2">' +
'<select name="drug_name[]" id="medicine_name' + id + '" class="form-control clearable form-control-sm rounded-0" required></select>' +
'</td>' +
'<td class="p-2">' +
' <input type="text" class="form-control-sm form-control rounded-0 lotno" name="lotno[]" id="lotno_' + id + '" value="0">' +
'</td>' +
'<td class="p-2">' +
'<select class="form-control form-control-sm clearable rounded-0" id="unit_' + id + '" name="medicine_unit_id[]" required>' +
'<option value="">Chose</option>' + medicalItemUnitOpt +
'</select>' +
'</td>' +
'<td class="p-2">' +
' <input type="number" class="form-control-sm form-control rounded-0 qty" name="quantity[]" id="qty_' + id + '" value="1" required step="any" min="0.00">' +
'</td>' +
'<td class="p-2">' +
' <input type="text" class="form-control-sm form-control rounded-0 qty" name="remark[]" id="remark_' + id + '">' +
'</td>' +
'<td style="margin-top:20px;" class="p-2">' +
' <button type="button" onclick="removePurchasedMedicalItem(' + id + ')" class="btn rounded-0 btn-md btn-danger"><i class="mdi mdi-trash-can text-white"></i></button>' +
'</td>' +
'</tr>';
table.insertRow(table_len).outerHTML = row_;
if (purchaseDetail != null) {
$('#cate_' + id).val(purchaseDetail.medicine_group_id);
$('#unit_' + id).val(purchaseDetail.medicine_unit_id)
$('#qty_' + id).val(purchaseDetail.quantity)
$('#lotno_' + id).val(purchaseDetail.lotno)
$('#remark_' + id).val(purchaseDetail.remark)
$('#medicine_name' + id).empty().append('<option selected value = "'+purchaseDetail.medicine_item_id+'">'+purchaseDetail.medicine_item.medicine.name+'</option>');
}
$("#medicine_name"+id).select2();
$("#unit_"+id).select2();
}
function removePurchasedMedicalItem(id)
{
$("#row_"+id).remove();
}
</script>
</body>
</html>