2025-08-12 12:29:51 -05:00

485 lines
28 KiB
HTML

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" charset="utf-8" />
<title id="title"></title>
<!-- Material Icons -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
<!-- Material Symbols - Outlined Set -->
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined" rel="stylesheet" />
<!-- Material Symbols - Rounded Set -->
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded" rel="stylesheet" />
<!-- Material Symbols - Sharp Set -->
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp" rel="stylesheet" />
<link rel="stylesheet" href="{{ url_for('static', filename='css/uikit.min.css') }}"/>
{% if session['user']['flags']['darkmode'] %}
<link id="dark-mode" rel="stylesheet" href="{{ url_for('static', filename='css/dark-mode.css') }}"/>
{% endif %}
<script src="{{ url_for('static', filename='js/uikit.min.js') }}"></script>
<script src="{{ url_for('static', filename='js/uikit-icons.min.js') }}"></script>
</head>
{% if session['user']['flags']['darkmode'] %}
<body class="uk-light">
{% else %}
<body>
{% endif %}
<nav class="uk-navbar-container">
<div class="uk-container uk-container-expand">
<div class="uk-navbar uk-navbar-primary">
<!-- Application Navigation-->
<div class="uk-navbar-left">
<ul class="uk-navbar-nav">
<li>
<a href>Apps</a>
<div class="uk-navbar-dropdown" uk-drop="mode: click; multi:false">
<ul class="uk-nav uk-navbar-dropdown-nav">
<li><a href="/planner">Planner</a></li>
<li><a href="/recipes">Recipes</a></li>
<li><a href="/shopping-lists">Shopping Lists</a></li>
<li class="uk-nav-header">Logistics</li>
<li><a href="/items">Items</a></li>
<li><a href="/items/transaction">Transaction</a></li>
<li><a href="/receipts">Receipts</a></li>
<li class="uk-nav-header">Points of Ease</li>
<li><a href="/poe/scanner">Transaction Scanner</a></li>
<li><a href="/poe/receipts">Receipts Scanner</a></li>
</ul>
</div>
</li>
</ul>
</div>
<!-- Breadcrumbs Navigation -->
<div class="uk-navbar-center uk-visible@m">
<ul class="uk-breadcrumb uk-margin-remove">
<li class="uk-disabled" style="cursor: pointer;"><span><strong>{{current_site}}</strong></span>
<div uk-dropdown="mode: hover">
<ul class="uk-nav uk-dropdown-nav">
<li class="uk-nav-header">Select Site</li>
<li class="uk-nav-divider"></li>
{% for site in sites %}
{% if site == current_site %}
<li><a class="uk-disabled" href="#">{{site}}</a></li>
{% else %}
<li><a onclick="changeSite('{{site}}')">{{site}}</a></li>
{% endif %}
{% endfor %}
</ul>
</div>
</li>
<li style="cursor: default; user-select: none;" class="uk-disabled"><span>Logistics</span></li>
<li class="uk-disabled"><span>Receipts</span></li>
<li class="uk-disabled"><span>Processing Receipt</span></li>
</ul>
</div>
<!-- Profile/Management Navigation-->
<div class="uk-navbar-right">
<ul class="uk-navbar-nav">
<li>
<a href="#">
<img src="{{session['user']['profile_pic_url']}}" alt="Profile Picture" class="profile-pic uk-visible@m" style="width: 40px; height: 40px; border-radius: 50%; margin-right: 5px;">
{{username}}
</a>
<div class="uk-navbar-dropdown" uk-drop="mode: click; multi:false">
<ul class="uk-nav uk-navbar-dropdown-nav">
<li><a href="/profile">Profile</a></li>
<li><a onclick="toggleDarkMode()">Dark Mode</a></li>
<li><a href="/site-management">Site Management</a></li>
<li><a href="/administration">System Management</a></li>
<li><a href="/access/logout">Logout</a></li>
</ul>
</div>
</li>
</ul>
</div>
</div>
</div>
</nav>
<div class="uk-container">
<div class="uk-section">
<div uk-grid>
<div class="uk-width-1-1">
<h1 class="uk-heading" id="receipt_id">test</h1>
</div>
<div class="uk-width-1-1 uk-margin-remove">
<hr class="uk-divider-icon">
</div>
<div class="uk-width-1-1 uk-margin-remove">
<p class="uk-text-meta">This is the basic information that is attached to your receipt. You can change the Vendor associated, manipulate your receipt lines,
and attach files to a receipt. Once a receipt has been fully resolved there is no way to reopen it without admin help so be sure to only
resolve the receipt once you are sure you no longer need to change its information.
</p>
</div>
<div class="uk-width-1-1" uk-grid>
<div class="uk-width-1-2@m uk-margin-remove" uk-grid>
<div class="uk-width-1-1 uk-margin-remove">
<label class="uk-form-label" for="database_id">Database ID</label>
<div class="uk-form-controls">
<input class="uk-input uk-disabled uk-form-blank" id="database_id" type="text" placeholder="Some text..." value="####">
</div>
</div>
<div class="uk-width-1-1 uk-margin-remove">
<label class="uk-form-label" for="date_submitted">Date Submitted</label>
<div class="uk-form-controls">
<input class="uk-input uk-disabled uk-form-blank" id="date_submitted" type="text" placeholder="Some text..." value="####">
</div>
</div>
<div class="uk-width-1-1 uk-margin-remove">
<label class="uk-form-label" for="submitted_by">Submitted By</label>
<div class="uk-form-controls">
<input class="uk-input uk-disabled uk-form-blank" id="submitted_by" type="text" placeholder="Some text..." value="####">
</div>
</div>
<div class="uk-width-1-1 uk-margin-remove">
<label class="uk-form-label" for="receipt_status">Receipt Status</label>
<div class="uk-form-controls">
<input class="uk-input uk-disabled uk-form-blank" id="receipt_status" type="text" placeholder="Some text..." value="####">
</div>
</div>
<div class="uk-width-1-1 uk-margin-remove">
<button id="resolveReceiptButton" onclick="resolveReceipt()" class="uk-button uk-button-default">Resolve Receipt</button>
</div>
</div>
<div class="uk-width-1-2@m uk-grid-small uk-margin-remove" uk-grid>
<div id="vendorSelectDiv" class="uk-width-1-2@m">
<label class="uk-form-label" for="vendor_id">Vendor ID</label>
<input class="uk-input uk-disabled" id="vendor_id" type="text" placeholder="Some text..." value="####">
</div>
<div id="vendorSelectButton" class="uk-width-1-2@m uk-flex uk-flex-bottom uk-margin">
<button onclick="openVendorsSelectModal()" class="uk-button">Select Vendor</button>
</div>
<div class="uk-width-1-1 uk-margin-remove">
<label class="uk-form-label" for="vendor_name">Vendor Name</label>
<div class="uk-form-controls">
<input class="uk-input uk-disabled uk-form-blank" id="vendor_name" type="text" placeholder="Some text..." value="####">
</div>
</div>
<div class="uk-width-1-1 uk-margin-remove">
<label class="uk-form-label" for="vendor_address">Vendor Address</label>
<div class="uk-form-controls">
<input class="uk-input uk-disabled uk-form-blank" id="vendor_address" type="text" placeholder="Some text..." value="####">
</div>
</div>
<div class="uk-width-1-1 uk-margin-remove">
<label class="uk-form-label" for="vendor_phone">Vendor Phone Number</label>
<div class="uk-form-controls">
<input class="uk-input uk-disabled uk-form-blank" id="vendor_phone" type="text" placeholder="Some text..." value="####">
</div>
</div>
</div>
</div>
<div class="uk-width-1-1">
<ul class="uk-child-width-expand" uk-tab>
<li class="uk-active"><a href="#">Lines</a></li>
<li><a href="#">Files</a></li>
</ul>
<div class="uk-switcher">
<!-- Lines -->
<div class="uk-grid-small" uk-grid>
<div class="uk-width-1-2@m">
<p class="uk-text-meta">Here is where all the lines on this receipt are added, changed, manipulated, and resolved. Once a Line
has been resolved, deleted, denied it cannot be opened again so proceed with caution.
</p>
</div>
<div class="uk-width-1-2@m uk-flex uk-flex-right@m">
<button id="lineAddButton" class="uk-button uk-button-default" type="button">Add Line <span uk-icon="icon: triangle-down"></span></button>
<div id="addLineDropDown" uk-dropdown="mode: click">
<ul class="uk-nav uk-dropdown-nav">
<li><a onclick="openAddCustomLineModal()">Custom</a></li>
<li><a onclick="openSKUModal()">SKU</a></li>
</ul>
</div>
</div>
<div class="uk-width-1-1" >
<caption>These are your Unresolved Lines</caption>
<table id="unresolvedTable" class="uk-table uk-table-striped uk-table-middle uk-table-responsive">
<thead>
<tr>
<th class="uk-table-shrink">Status</th>
<th class="uk-table-shrink">Barcode</th>
<th class="uk-table-shrink">Type</th>
<th class="uk-table-expand uk-text-truncate">Name</th>
<th>Operations</th>
</tr>
</thead>
<tbody id="linesTableBody"></tbody>
</table>
</div>
<div class="uk-width-1-1">
<hr class="uk-divider-icon">
</div>
<div class="uk-width-1-1">
<caption>These are your Resolved Lines</caption>
<table class="uk-table uk-table-striped uk-table-middle uk-table-responsive">
<thead>
<tr>
<th class="uk-table-shrink">Status</th>
<th class="uk-table-shrink">Barcode</th>
<th class="uk-table-shrink">Type</th>
<th class="uk-table-expand uk-text-truncate">Name</th>
<th>Operations</th>
</tr>
</thead>
<tbody id="resolvedTableBody"></tbody>
</table>
</div>
<div class="uk-width-1-1">
<hr class="uk-divider-icon">
</div>
<div class="uk-width-1-1">
<caption>These are your Denied Lines</caption>
<table class="uk-table uk-table-striped uk-table-middle uk-table-responsive">
<thead>
<tr>
<th class="uk-table-shrink">Status</th>
<th class="uk-table-shrink">Barcode</th>
<th class="uk-table-shrink">Type</th>
<th class="uk-table-expand uk-text-truncate">Name</th>
<th>Operations</th>
</tr>
</thead>
<tbody id="deniedTableBody"></tbody>
</table>
</div>
</div>
<!-- Files -->
<div>
<div class="uk-grid-small" uk-grid>
<div class="uk-width-1-1 uk-margin">
<p class="uk-text-meta">You may upload whatever files you may want to attach to a receipt to later download and view them.</p>
</div>
<div class="uk-width-1-1 uk-margin">
<div id="fileUploadForm"uk-form-custom="target: true">
<input type="file" aria-label="Custom controls">
<input class="uk-input" type="text" placeholder="Select file" aria-label="Custom controls" disabled>
</div>
<button id="fileUploadButton" onclick="uploadFile()" class="uk-button uk-button-default">Submit</button>
</div>
<div class="uk-width-1-1 uk-margin">
<div id="fileCards" class="uk-child-width-1-2@m uk-grid-small" uk-grid>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- SKU Modal -->
<div id="itemsModal" class="uk-modal-container" uk-modal>
<div id="itemsModalInner" class="uk-modal-dialog uk-modal-body " uk-overflow-auto>
<h2 class="uk-modal-title">Select Item</h2>
<p>Select an Item from the system...</p>
<div id="searchItemsForm" onkeydown="ItemsModalSearch(event)" class="uk-search uk-search-default uk-align-center">
<input id="ItemsModalSearchInput" class="uk-search-input" type="search" placeholder="" aria-label="">
<span class="" uk-search-icon></span>
</div>
<nav aria-label="Pagination">
<ul id="itemsPage" class="uk-pagination uk-flex-center" uk-margin>
<li><a href="#"><span uk-pagination-previous></span></a></li>
<li><a href="#">1</a></li>
<li class="uk-disabled"><span></span></li>
<li><a href="#">5</a></li>
<li><a href="#">6</a></li>
<li class="uk-active"><span aria-current="page">7</span></li>
<li><a href="#">8</a></li>
<li><a href="#"><span uk-pagination-next></span></a></li>
</ul>
</nav>
<table class="uk-table uk-table-striped uk-table-hover">
<thead>
<tr>
<th>ID</th>
<th>Barcode</th>
<th>Name</th>
</tr>
</thead>
<tbody id="itemsTableBody">
</tbody>
</table>
</div>
</div>
<!-- ItemBarcodeSelect Modal -->
<div id="ItemBarcodeSelectModal" class="uk-modal-container" uk-modal>
<div id="ItemBarcodeSelectModalInner" class="uk-modal-dialog uk-modal-body " uk-overflow-auto>
<h2 class="uk-modal-title">Select Item</h2>
<p>Select an Item from the system that you would like to associate this unknown barcode to...</p>
<div id="ItemBarcodeSelectSearchForm" onkeydown="ItemBarcodeSelectModalSearch(event)" class="uk-search uk-search-default uk-align-center">
<input id="ItemBarcodeSelectSearchInput" class="uk-search-input" type="search" placeholder="" aria-label="">
<span class="" uk-search-icon></span>
</div>
<nav aria-label="Pagination">
<ul id="ItemBarcodeSelectModalPage" class="uk-pagination uk-flex-center" uk-margin>
<li><a href="#"><span uk-pagination-previous></span></a></li>
<li><a href="#">1</a></li>
<li class="uk-disabled"><span></span></li>
<li><a href="#">5</a></li>
<li><a href="#">6</a></li>
<li class="uk-active"><span aria-current="page">7</span></li>
<li><a href="#">8</a></li>
<li><a href="#"><span uk-pagination-next></span></a></li>
</ul>
</nav>
<table class="uk-table uk-table-striped">
<thead>
<tr>
<th>Name</th>
<th>In Exchange</th>
<th>Out Exchange</th>
<th>Descriptor</th>
<th>Operations</th>
</tr>
</thead>
<tbody id="ItemBarcodeSelectTable">
</tbody>
</table>
</div>
</div>
<!-- Custom Line Modal-->
<div id="CustomLineModal" class="uk-modal-container" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title">Add a Custom Line...</h2>
<p class="uk-text-meta">Custom lines are items where you would like to solely track them through receipts and nothing more. That means
that beyond saving the line on the receipt, nothing else will be saved, transacted, or handled by the over
all system. Keep that in mind as you choose to add a custom line.</p>
<p class="uk-text-meta">Edit any fields here for the Custom Line and all the data will be saved.</p>
<table class="uk-table uk-table-responsive uk-table-striped">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Name</td>
<td><input id="CustomlineName" class="uk-input" type="text"></td>
</tr>
<tr>
<td>QTY</td>
<td><input id="CustomlineQty" class="uk-input" type="number"></td>
</tr>
<tr>
<td>UOM</td>
<td>
<select id="CustomlineUOM" class="uk-select" aria-label="Select">
{% for unit in units %}
<option value="{{unit['id']}}">{{unit['fullname']}}</option>
{% endfor %}
</select>
</td>
</tr>
<tr>
<td>COST</td>
<td><input id="CustomlineCost" class="uk-input" type="text"></td>
</tr>
</tbody>
</table>
<p class="uk-text-right">
<button class="uk-button uk-button-default uk-modal-close" type="button">Cancel</button>
<button id="saveCustomLineButton" class="uk-button uk-button-primary" type="button">Save</button>
</p>
</div>
</div>
<!-- Line Edit Modal-->
<div id="lineEditModal" class="uk-modal-container" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title">Edit Line...</h2>
<p class="uk-text-meta">Edit any fields here for the selected Line and then save them.</p>
<table class="uk-table uk-table-responsive uk-table-striped">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Name</td>
<td><input id="lineName" class="uk-input" type="text"></td>
</tr>
<tr>
<td>QTY</td>
<td><input id="lineQty" class="uk-input" type="text"></td>
</tr>
<tr>
<td>UOM</td>
<td>
<select id="lineUOM" class="uk-select" aria-label="Select">
{% for unit in units %}
<option value="{{unit['id']}}">{{unit['fullname']}}</option>
{% endfor %}
</select>
</td>
</tr>
<tr>
<td>COST</td>
<td><input id="lineCost" class="uk-input" type="text"></td>
</tr>
<tr>
<td>EXPIRES</td>
<td><input id="lineExpires" class="uk-input" type="date"></td>
</tr>
</tbody>
</table>
<p class="uk-text-right">
<button class="uk-button uk-button-default uk-modal-close" type="button">Cancel</button>
<button id="saveLineButton" class="uk-button uk-button-primary" type="button">Save</button>
</p>
</div>
</div>
<!-- file view i fram-->
<div id="iframeModal" uk-modal>
<div class="uk-modal-dialog uk-width-auto">
<button class="uk-modal-close-default" type="button" uk-close></button>
<div class="uk-modal-header">
<h2 id="filenameiframemodal" class="uk-modal-title">Headline</h2>
</div>
<div style="height: 75vh;" id="iframeModalBody" class="uk-modal-body">
</div>
</div>
</div>
<!-- Vendors Select Modal -->
<div id="vendorsModal" class="uk-modal-container" uk-modal>
<div id="vendorsModalInner" class="uk-modal-dialog uk-modal-body " uk-overflow-auto>
<h2 class="uk-modal-title">Select Vendor</h2>
<p>Select an Vendor from the system...</p>
<nav aria-label="Pagination">
<ul id="vendorsPage" class="uk-pagination uk-flex-center" uk-margin>
<li><a href="#"><span uk-pagination-previous></span></a></li>
<li><a href="#">1</a></li>
<li class="uk-disabled"><span></span></li>
<li><a href="#">5</a></li>
<li><a href="#">6</a></li>
<li class="uk-active"><span aria-current="page">7</span></li>
<li><a href="#">8</a></li>
<li><a href="#"><span uk-pagination-next></span></a></li>
</ul>
</nav>
<table class="uk-table uk-table-striped uk-table-hover">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Phone #</th>
<th>Address</th>
</tr>
</thead>
<tbody id="vendorsTableBody">
</tbody>
</table>
</div>
</div>
</body>
<script src="{{ url_for('receipt_api.static', filename='js/receiptHandler.js') }}"></script>
<script>const receipt_id = {{id|tojson}}</script>
</html>