Travel Invoice: Poprawki
This commit is contained in:
138
prototype/magico-admin/admin-companies.php
Normal file
138
prototype/magico-admin/admin-companies.php
Normal file
@@ -0,0 +1,138 @@
|
||||
<?php
|
||||
$enablePrototypeComments = true;
|
||||
include '../../header-admin.php';
|
||||
?>
|
||||
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
|
||||
<h4 class="fw-bold py-3 mb-4">
|
||||
Admin Panel <span class="text-muted fw-light">/ Firmy</span>
|
||||
</h4>
|
||||
|
||||
<div class="card mb-4">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title mb-1">Filtrowanie firm</h5>
|
||||
<p class="text-muted small mb-3">Wyszukaj firmy na podstawie nazwy lub numeru NIP.</p>
|
||||
|
||||
<form onsubmit="return false;" class="row g-3">
|
||||
<div class="col-md-4">
|
||||
<label class="form-label" for="filter-company-name">Nazwa firmy</label>
|
||||
<div class="input-group input-group-merge">
|
||||
<span class="input-group-text"><i class="bx bx-buildings"></i></span>
|
||||
<input type="text" id="filter-company-name" class="form-control"
|
||||
placeholder="Wprowadź nazwę firmy">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label" for="filter-nip">NIP</label>
|
||||
<div class="input-group input-group-merge">
|
||||
<span class="input-group-text"><i class="bx bx-id-card"></i></span>
|
||||
<input type="text" id="filter-nip" class="form-control" placeholder="Wprowadź NIP">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 d-flex align-items-end gap-2">
|
||||
<button type="reset" class="btn btn-label-secondary w-50">
|
||||
<i class="bx bx-reset me-1"></i> Wyczyść
|
||||
</button>
|
||||
<button type="submit" class="btn btn-primary w-50">
|
||||
<i class="bx bx-search me-1"></i> Filtruj
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<h5 class="card-header border-bottom d-flex justify-content-between align-items-center">
|
||||
Zarejestrowane firmy
|
||||
</h5>
|
||||
|
||||
<div class="table-responsive text-nowrap pb-2">
|
||||
<table class="table table-hover mb-0">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Nazwa</th>
|
||||
<th>Status</th>
|
||||
<th>Dokument</th>
|
||||
<th>Rejestracja</th>
|
||||
<th class="text-end">Akcje</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="table-border-bottom-0">
|
||||
|
||||
<tr>
|
||||
<td><strong>#1024</strong></td>
|
||||
<td>
|
||||
<div class="d-flex justify-content-start align-items-center">
|
||||
<div class="avatar avatar-sm me-3">
|
||||
<span class="avatar-initial rounded-circle bg-label-primary">AB</span>
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-0 fw-semibold">
|
||||
Alpha Business Sp. z o.o.
|
||||
</h6>
|
||||
<small class="text-muted">NIP: 1234567890</small>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<span class="badge bg-label-success">Aktywna</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="text-muted small"><i class="bx bx-file me-1"></i>FV-2026/05/001</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="text-muted small">2026-05-01</span>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<button type="button" class="btn btn-sm btn-outline-primary">
|
||||
Zarządzaj
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><strong>#1025</strong></td>
|
||||
<td>
|
||||
<div class="d-flex justify-content-start align-items-center">
|
||||
<div class="avatar avatar-sm me-3">
|
||||
<span class="avatar-initial rounded-circle bg-label-secondary">BM</span>
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-0 fw-semibold">
|
||||
Beta Marketing S.A.
|
||||
</h6>
|
||||
<small class="text-muted">NIP: 0987654321</small>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<span class="badge bg-label-secondary">Wyłączona</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="text-muted small"><i class="bx bx-file me-1"></i>Proforma 12/2026</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="text-muted small">2026-05-05</span>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<button type="button" class="btn btn-sm btn-outline-primary">
|
||||
Zarządzaj
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content-backdrop fade"></div>
|
||||
|
||||
<?php include '../../footer.php'; ?>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
198
prototype/magico-admin/admin-users.php
Normal file
198
prototype/magico-admin/admin-users.php
Normal file
@@ -0,0 +1,198 @@
|
||||
<?php
|
||||
$enablePrototypeComments = true;
|
||||
include '../../header-admin.php';
|
||||
?>
|
||||
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
|
||||
<h4 class="fw-bold py-3 mb-4">
|
||||
Admin Panel <span class="text-muted fw-light">/ Użytkownicy</span>
|
||||
</h4>
|
||||
|
||||
<div class="card mb-4">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title mb-1">Filtrowanie użytkowników</h5>
|
||||
<p class="text-muted small mb-3">Wyszukaj użytkowników na podstawie danych, przypisanej firmy lub statusu.</p>
|
||||
|
||||
<form onsubmit="return false;" class="row g-3">
|
||||
<div class="col-md-3">
|
||||
<label class="form-label" for="filter-name">Imię i nazwisko</label>
|
||||
<div class="input-group input-group-merge">
|
||||
<span class="input-group-text"><i class="bx bx-user"></i></span>
|
||||
<input type="text" id="filter-name" class="form-control" placeholder="Wprowadź dane">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<label class="form-label" for="filter-email">Adres e-mail</label>
|
||||
<div class="input-group input-group-merge">
|
||||
<span class="input-group-text"><i class="bx bx-envelope"></i></span>
|
||||
<input type="email" id="filter-email" class="form-control" placeholder="Wprowadź e-mail">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<label class="form-label" for="filter-company">Przypisana firma</label>
|
||||
<select id="filter-company" class="select2 form-select" data-allow-clear="true" data-placeholder="Wybierz firmę">
|
||||
<option value=""></option>
|
||||
<option value="1">Alpha Business Sp. z o.o.</option>
|
||||
<option value="2">Beta Marketing S.A.</option>
|
||||
<option value="3">Tech Magico</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<label class="form-label" for="filter-status">Status</label>
|
||||
<select id="filter-status" class="form-select">
|
||||
<option value="">Wszystkie</option>
|
||||
<option value="active">Aktywny</option>
|
||||
<option value="inactive">Nieaktywny</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-12 d-flex justify-content-end gap-2 mt-3">
|
||||
<button type="reset" class="btn btn-label-secondary">
|
||||
<i class="bx bx-reset me-1"></i> Wyczyść
|
||||
</button>
|
||||
<button type="submit" class="btn btn-primary px-4">
|
||||
<i class="bx bx-search me-1"></i> Filtruj
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<h5 class="card-header border-bottom d-flex justify-content-between align-items-center">
|
||||
Zarejestrowani użytkownicy
|
||||
</h5>
|
||||
|
||||
<div class="table-responsive text-nowrap pb-2">
|
||||
<table class="table table-hover mb-0">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Użytkownik</th>
|
||||
<th>Firma</th>
|
||||
<th>Status</th>
|
||||
<th>Rejestracja</th>
|
||||
<th class="text-end">Akcje</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="table-border-bottom-0">
|
||||
|
||||
<tr>
|
||||
<td><strong>#501</strong></td>
|
||||
<td>
|
||||
<div class="d-flex justify-content-start align-items-center">
|
||||
<div class="avatar avatar-sm me-3">
|
||||
<span class="avatar-initial rounded-circle bg-label-primary">BB</span>
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-0 fw-semibold">
|
||||
Bartłomiej Banaczyk
|
||||
<i class="bx bxs-badge-check text-primary ms-1" data-bs-toggle="tooltip" title="Zweryfikowane konto id.magico"></i>
|
||||
</h6>
|
||||
<small class="text-muted">banaczyk@magico.pl</small>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>Alpha Business Sp. z o.o.</td>
|
||||
<td>
|
||||
<span class="badge bg-label-success">Aktywny</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="text-muted small">2026-05-01</span>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<button type="button" class="btn btn-sm btn-outline-primary">
|
||||
Zarządzaj
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><strong>#502</strong></td>
|
||||
<td>
|
||||
<div class="d-flex justify-content-start align-items-center">
|
||||
<div class="avatar avatar-sm me-3">
|
||||
<span class="avatar-initial rounded-circle bg-label-secondary"><i class="bx bx-user"></i></span>
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-0 fw-semibold">
|
||||
Piotr Mierzwa
|
||||
</h6>
|
||||
<small class="text-muted">piotr@magico.pl</small>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>Beta Marketing S.A.</td>
|
||||
<td>
|
||||
<span class="badge bg-label-secondary">Nieaktywny</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="text-muted small">2026-05-03</span>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<button type="button" class="btn btn-sm btn-outline-primary">
|
||||
Zarządzaj
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><strong>#503</strong></td>
|
||||
<td>
|
||||
<div class="d-flex justify-content-start align-items-center">
|
||||
<div class="avatar avatar-sm me-3">
|
||||
<img src="https://ui-avatars.com/api/?name=Anna+Kowalska&background=ffe7e3&color=ff5b5c" alt="Avatar" class="rounded-circle">
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-0 fw-semibold">
|
||||
Anna Kowalska
|
||||
<i class="bx bxs-badge-check text-primary ms-1" data-bs-toggle="tooltip" title="Zweryfikowane konto id.magico"></i>
|
||||
</h6>
|
||||
<small class="text-muted">anna.kowalska@example.com</small>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>Tech Magico</td>
|
||||
<td>
|
||||
<span class="badge bg-label-success">Aktywny</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="text-muted small">2026-05-05</span>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<button type="button" class="btn btn-sm btn-outline-primary">
|
||||
Zarządzaj
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content-backdrop fade"></div>
|
||||
|
||||
<?php include '../../footer.php'; ?>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
if (typeof $ !== 'undefined' && $('.select2').length) {
|
||||
$('.select2').select2({
|
||||
placeholder: 'Wybierz firmę',
|
||||
allowClear: true,
|
||||
theme: 'bootstrap-5'
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
155
prototype/magico-admin/index.php
Normal file
155
prototype/magico-admin/index.php
Normal file
@@ -0,0 +1,155 @@
|
||||
<?php
|
||||
$enablePrototypeComments = true;
|
||||
include '../../header-admin.php';
|
||||
?>
|
||||
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
|
||||
<h4 class="fw-bold py-3 mb-4">
|
||||
Admin Panel <span class="text-muted fw-light">/ Kokpit</span>
|
||||
</h4>
|
||||
|
||||
<!-- Baner Informacyjny -->
|
||||
<div class="row mb-4">
|
||||
<div class="col-12">
|
||||
<div class="card bg-primary text-white text-center text-md-start"
|
||||
style="background: linear-gradient(135deg, #696cff 0%, #a481ff 100%);">
|
||||
<div
|
||||
class="card-body d-flex flex-column flex-md-row justify-content-between align-items-center py-4 px-5">
|
||||
<div class="mb-3 mb-md-0 d-flex gap-4 align-items-center">
|
||||
<div
|
||||
class="avatar avatar-lg bg-white rounded flex-shrink-0 d-flex align-items-center justify-content-center shadow-sm">
|
||||
<i class="bx bx-buildings text-primary fs-2"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h4 class="text-white fw-bold mb-1">Centrum Zarządzania magico.pro</h4>
|
||||
<p class="mb-0 text-white-50" style="max-width: 650px;">
|
||||
Główny panel administracyjny ekosystemu. Monitoruj aktywność klientów, zarządzaj
|
||||
modułami sync, helpdesk oraz delivery, a także udzielaj bezpośredniego wsparcia
|
||||
technicznego użytkownikom platformy.
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<a href="https://magico.pl/kontakt" target=" _blank"
|
||||
class="btn btn-white text-primary shadow-sm fw-bold">
|
||||
<i class="bx bx-cog me-2"></i> Wsparcie techniczne Magico
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 1. Sekcja KPI (Karty informacyjne) -->
|
||||
<div class="row g-4 mb-4">
|
||||
|
||||
<div class="col-sm-6 col-xl-3">
|
||||
<div class="card h-100 shadow-sm border-0">
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-start justify-content-between">
|
||||
<div class="content-left">
|
||||
<span class="text-muted text-uppercase small fw-bold" style="letter-spacing: 0.5px;">
|
||||
Firmy w bazie
|
||||
</span>
|
||||
<div class="d-flex align-items-end mt-2">
|
||||
<h3 class="mb-0 me-2 text-dark">142</h3>
|
||||
</div>
|
||||
<small class="text-success">
|
||||
<i class="bx bx-trending-up me-1"></i>+12 w tym miesiącu
|
||||
</small>
|
||||
</div>
|
||||
<span class="badge bg-label-primary rounded p-2">
|
||||
<i class="bx bx-briefcase fs-4"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 col-xl-3">
|
||||
<div class="card h-100 shadow-sm border-0">
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-start justify-content-between">
|
||||
<div class="content-left">
|
||||
<span class="text-muted text-uppercase small fw-bold" style="letter-spacing: 0.5px;">
|
||||
Użytkownicy
|
||||
</span>
|
||||
<div class="d-flex align-items-end mt-2">
|
||||
<h3 class="mb-0 me-2 text-dark">584</h3>
|
||||
</div>
|
||||
<small class="text-muted">
|
||||
<i class="bx bx-user me-1"></i>Zarejestrowane konta id
|
||||
</small>
|
||||
</div>
|
||||
<span class="badge bg-label-info rounded p-2">
|
||||
<i class="bx bx-group fs-4"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 col-xl-3">
|
||||
<div class="card h-100 shadow-sm border-0">
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-start justify-content-between">
|
||||
<div class="content-left">
|
||||
<span class="text-muted text-uppercase small fw-bold" style="letter-spacing: 0.5px;">
|
||||
Wystawione faktury
|
||||
</span>
|
||||
<div class="d-flex align-items-end mt-2">
|
||||
<h3 class="mb-0 me-2 text-dark">12 450 <span
|
||||
class="fs-6 fw-normal text-muted">zł</span>
|
||||
</h3>
|
||||
</div>
|
||||
<small class="text-muted">
|
||||
<i class="bx bx-calendar me-1"></i>Poprzedni miesiąc
|
||||
</small>
|
||||
</div>
|
||||
<span class="badge bg-label-success rounded p-2">
|
||||
<i class="bx bx-receipt fs-4"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-6 col-xl-3">
|
||||
<div class="card h-100 shadow-sm border-0 border-start border-danger border-3">
|
||||
<div class="card-body">
|
||||
<div class="d-flex align-items-start justify-content-between">
|
||||
<div class="content-left">
|
||||
<span class="text-muted text-uppercase small fw-bold" style="letter-spacing: 0.5px;">
|
||||
Zaległości
|
||||
</span>
|
||||
<div class="d-flex align-items-end mt-2">
|
||||
<h3 class="mb-0 me-2 text-danger">1 820 <span
|
||||
class="fs-6 fw-normal text-danger">zł</span></h3>
|
||||
</div>
|
||||
<small class="text-danger fw-semibold">
|
||||
<i class="bx bx-error-circle me-1"></i>Wymaga kontaktu
|
||||
</small>
|
||||
</div>
|
||||
<span class="badge bg-label-danger rounded p-2">
|
||||
<i class="bx bx-wallet fs-4"></i>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="content-backdrop fade"></div>
|
||||
|
||||
<?php include '../../footer.php'; ?>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
66
prototype/magico-admin/menu.php
Normal file
66
prototype/magico-admin/menu.php
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
$currentPage = basename($_SERVER['PHP_SELF']);
|
||||
?>
|
||||
<aside id="layout-menu" class="layout-menu menu-vertical menu bg-menu-theme">
|
||||
<div class="app-brand demo">
|
||||
<a href="index.php" class="app-brand-link">
|
||||
<span class="app-brand-text demo menu-text fw-bold ms-2">Admin Panel</span>
|
||||
</a>
|
||||
<a href="javascript:void(0);" class="layout-menu-toggle menu-link text-large ms-auto">
|
||||
<i class="bx bx-chevron-left bx-sm align-middle"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="menu-inner-shadow"></div>
|
||||
|
||||
<ul class="menu-inner py-1">
|
||||
|
||||
<li class="menu-header small text-uppercase">
|
||||
<span class="menu-header-text" data-i18n="Podgląd">Podgląd</span>
|
||||
</li>
|
||||
|
||||
<li class="menu-item <?php echo ($currentPage == 'index.php') ? 'active' : ''; ?>">
|
||||
<a href="index.php" class="menu-link">
|
||||
<i class="menu-icon tf-icons bx bx-home-circle"></i>
|
||||
<div class="text-truncate" data-i18n="Kokpit">Kokpit</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="menu-header small text-uppercase">
|
||||
<span class="menu-header-text" data-i18n="Zarządzanie">Zarządzanie systemem</span>
|
||||
</li>
|
||||
|
||||
<li class="menu-item <?php echo ($currentPage == 'admin-companies.php') ? 'active' : ''; ?>">
|
||||
<a href="admin-companies.php" class="menu-link">
|
||||
<i class="menu-icon tf-icons bx bx-buildings"></i>
|
||||
<div class="text-truncate" data-i18n="Firmy">Firmy</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="menu-item <?php echo ($currentPage == 'admin-users.php') ? 'active' : ''; ?>">
|
||||
<a href="admin-users.php" class="menu-link">
|
||||
<i class="menu-icon tf-icons bx bx-group"></i>
|
||||
<div class="text-truncate" data-i18n="Użytkownicy">Użytkownicy</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="menu-item <?php echo ($currentPage == 'admin-apps.php') ? 'active' : ''; ?>">
|
||||
<a href="admin-apps.php" class="menu-link">
|
||||
<i class="menu-icon tf-icons bx bx-grid-alt"></i>
|
||||
<div class="text-truncate" data-i18n="Aplikacje">Aplikacje</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="menu-header small text-uppercase">
|
||||
<span class="menu-header-text" data-i18n="Finanse">Finanse</span>
|
||||
</li>
|
||||
|
||||
<li class="menu-item <?php echo ($currentPage == 'admin-billing.php') ? 'active' : ''; ?>">
|
||||
<a href="admin-billing.php" class="menu-link">
|
||||
<i class="menu-icon tf-icons bx bx-receipt"></i>
|
||||
<div class="text-truncate" data-i18n="Rozliczenia">Rozliczenia</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</aside>
|
||||
@@ -168,7 +168,7 @@ include '../../header-travel.php';
|
||||
<th>Dostawca</th>
|
||||
<th>Data realizacji</th>
|
||||
<th class="text-end">Kwota zlecenia</th>
|
||||
<th class="text-center">Status faktury</th>
|
||||
<th class="text-center">Status zlecenia</th>
|
||||
<th class="text-end">Akcje</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -190,8 +190,8 @@ include '../../header-travel.php';
|
||||
</td>
|
||||
<td><span class="text-muted">12.05.2026</span></td>
|
||||
<td class="text-end fw-semibold">12 500,00 PLN</td>
|
||||
<td class="text-center"><span class="badge bg-label-danger" data-bs-toggle="tooltip"
|
||||
title="Brak przypiętej faktury">Nierozliczone</span></td>
|
||||
<td class="text-center"><span class="badge bg-label-danger">Nierozliczone</span>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<button class="btn btn-sm btn-primary" href="javascript:void(0);"><i
|
||||
class="bx bx-link me-1"></i> Przypisz fakturę</button>
|
||||
@@ -214,9 +214,7 @@ include '../../header-travel.php';
|
||||
</td>
|
||||
<td><span class="text-muted">05.05.2026</span></td>
|
||||
<td class="text-end fw-semibold">4 200,00 PLN</td>
|
||||
<td class="text-center"><span class="badge bg-label-warning"
|
||||
data-bs-toggle="tooltip"
|
||||
title="Faktura zaliczkowa. Brakuje końcowej.">Częściowo rozliczone</span>
|
||||
<td class="text-center"><span class="badge bg-label-warning">Zaliczkowane</span>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<div class="btn-group">
|
||||
@@ -349,9 +347,8 @@ include '../../header-travel.php';
|
||||
</td>
|
||||
<td><span class="text-muted">02.05.2026</span></td>
|
||||
<td class="text-end fw-semibold">1 920,00 EUR</td>
|
||||
<td class="text-center"><span class="badge bg-label-warning"
|
||||
data-bs-toggle="tooltip" title="Rozliczono 60% kwoty zlecenia">Częściowo
|
||||
rozliczone</span></td>
|
||||
<td class="text-center"><span class="badge bg-label-warning">Zaliczkowane</span>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-sm btn-outline-secondary" data-bs-toggle="modal"
|
||||
@@ -518,21 +515,27 @@ include '../../header-travel.php';
|
||||
<table class="table table-hover">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th style="width: 48px;"><input class="form-check-input" type="checkbox" id="selectAllInvoices"></th>
|
||||
<th>Numer Faktury</th>
|
||||
<th>Dostawca (Triada)</th>
|
||||
<th>Data wyst.</th>
|
||||
<th class="text-end">Kwota Brutto</th>
|
||||
<th class="text-center">Status powiązania</th>
|
||||
<th>Źródło dokumentu</th>
|
||||
<th class="text-end">Akcje</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="table-border-bottom-0">
|
||||
|
||||
<tr>
|
||||
<td><input class="form-check-input invoice-checkbox" type="checkbox"></td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center">
|
||||
<i class="bx bxs-file-pdf text-danger fs-4 me-2"></i>
|
||||
<span class="fw-semibold text-dark">FV/2026/05/1234</span>
|
||||
<div class="d-flex flex-column">
|
||||
<span class="fw-semibold text-dark">FV/2026/05/1234</span>
|
||||
<small class="text-muted">Faktura VAT</small>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
@@ -546,18 +549,31 @@ include '../../header-travel.php';
|
||||
<td class="text-center">
|
||||
<span class="badge bg-label-danger">Nieprzypisana</span>
|
||||
</td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<span class="avatar avatar-xs">
|
||||
<span class="avatar-initial rounded-circle bg-label-secondary"><i class="bx bx-user fs-6"></i></span>
|
||||
</span>
|
||||
<span class="small">Anna Kowalska</span>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<button class="btn btn-sm btn-icon btn-text-secondary" data-bs-toggle="tooltip"
|
||||
title="Podgląd dokumentu"><i class="bx bx-show"></i></button>
|
||||
<button class="btn btn-sm btn-primary ms-1" data-bs-toggle="modal" data-bs-target="#modalLinkExistingInvoice">Połącz ze zleceniem</button>
|
||||
<button class="btn btn-sm btn-primary ms-1" data-bs-toggle="modal"
|
||||
data-bs-target="#modalLinkExistingInvoice">Połącz ze zleceniem</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><input class="form-check-input invoice-checkbox" type="checkbox"></td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center">
|
||||
<i class="bx bx-receipt text-success fs-4 me-2"></i>
|
||||
<span class="fw-semibold text-dark">F-2026-999</span>
|
||||
<div class="d-flex flex-column">
|
||||
<span class="fw-semibold text-dark">F-2026-999</span>
|
||||
<small class="text-muted">Faktura VAT z KSeF</small>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
@@ -572,6 +588,14 @@ include '../../header-travel.php';
|
||||
<span class="badge bg-label-info" data-bs-toggle="tooltip"
|
||||
title="Przypisano do 3 różnych zleceń/wycieczek">Rozksięgowana (1:N)</span>
|
||||
</td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<span class="avatar avatar-xs">
|
||||
<span class="avatar-initial rounded-circle bg-label-info"><i class="bx bx-cloud-download fs-6"></i></span>
|
||||
</span>
|
||||
<span class="small">KSeF</span>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<button class="btn btn-sm btn-icon btn-text-secondary" data-bs-toggle="tooltip"
|
||||
title="Szczegóły rozksięgowania"><i class="bx bx-list-ul"></i></button>
|
||||
@@ -581,11 +605,15 @@ include '../../header-travel.php';
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><input class="form-check-input invoice-checkbox" type="checkbox"></td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center">
|
||||
<i class="bx bx-image text-warning fs-4 me-2" data-bs-toggle="tooltip"
|
||||
title="Skan z aplikacji pilota"></i>
|
||||
<span class="fw-semibold text-dark">Paragon/FV 12</span>
|
||||
<div class="d-flex flex-column">
|
||||
<span class="fw-semibold text-dark">Paragon/FV 12</span>
|
||||
<small class="text-muted">Faktura zaliczkowa</small>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
@@ -599,12 +627,177 @@ include '../../header-travel.php';
|
||||
<td class="text-center">
|
||||
<span class="badge bg-label-success">Przypisana (1:1)</span>
|
||||
</td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<span class="avatar avatar-xs">
|
||||
<span class="avatar-initial rounded-circle bg-label-warning"><i class="bx bx-walk fs-6"></i></span>
|
||||
</span>
|
||||
<div class="d-flex flex-column">
|
||||
<span class="small">Pilot</span>
|
||||
<small class="text-muted">Jan Kowalski</small>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<button class="btn btn-sm btn-icon btn-text-secondary" data-bs-toggle="tooltip"
|
||||
title="Podgląd skanu"><i class="bx bx-show"></i></button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><input class="form-check-input invoice-checkbox" type="checkbox"></td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center">
|
||||
<i class="bx bxs-file-pdf text-danger fs-4 me-2"></i>
|
||||
<div class="d-flex flex-column">
|
||||
<span class="fw-semibold text-dark">PRF/2026/05/088</span>
|
||||
<small class="text-muted">Proforma</small>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="d-flex flex-column">
|
||||
<span>Hotel Colosseum Roma</span>
|
||||
<small class="text-muted">NIP: 5566778899</small>
|
||||
</div>
|
||||
</td>
|
||||
<td><span class="text-muted">02.05.2026</span></td>
|
||||
<td class="text-end fw-bold">12 500,00 PLN</td>
|
||||
<td class="text-center">
|
||||
<span class="badge bg-label-danger">Nieprzypisana</span>
|
||||
</td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<span class="avatar avatar-xs">
|
||||
<span class="avatar-initial rounded-circle bg-label-secondary"><i class="bx bx-user fs-6"></i></span>
|
||||
</span>
|
||||
<span class="small">Anna Kowalska</span>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<button class="btn btn-sm btn-icon btn-text-secondary" data-bs-toggle="tooltip"
|
||||
title="Podgląd dokumentu"><i class="bx bx-show"></i></button>
|
||||
<button class="btn btn-sm btn-primary ms-1" data-bs-toggle="modal"
|
||||
data-bs-target="#modalLinkExistingInvoice">Połącz ze zleceniem</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><input class="form-check-input invoice-checkbox" type="checkbox"></td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center">
|
||||
<i class="bx bx-receipt text-primary fs-4 me-2"></i>
|
||||
<div class="d-flex flex-column">
|
||||
<span class="fw-semibold text-dark">FVZ/2026/04/311</span>
|
||||
<small class="text-muted">Faktura zaliczkowa</small>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="d-flex flex-column">
|
||||
<span>Air Corsica S.A.</span>
|
||||
<small class="text-muted">NIP: 3344556677</small>
|
||||
</div>
|
||||
</td>
|
||||
<td><span class="text-muted">22.04.2026</span></td>
|
||||
<td class="text-end fw-bold">8 760,00 PLN</td>
|
||||
<td class="text-center">
|
||||
<span class="badge bg-label-success">Przypisana (1:1)</span>
|
||||
</td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<span class="avatar avatar-xs">
|
||||
<span class="avatar-initial rounded-circle bg-label-info"><i class="bx bx-cloud-download fs-6"></i></span>
|
||||
</span>
|
||||
<span class="small">KSeF</span>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<button class="btn btn-sm btn-icon btn-text-secondary" data-bs-toggle="tooltip"
|
||||
title="Podgląd dokumentu"><i class="bx bx-show"></i></button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><input class="form-check-input invoice-checkbox" type="checkbox"></td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center">
|
||||
<i class="bx bxs-file-pdf text-info fs-4 me-2"></i>
|
||||
<div class="d-flex flex-column">
|
||||
<span class="fw-semibold text-dark">KSEF/2026/05/0042</span>
|
||||
<small class="text-muted">Faktura VAT z KSeF</small>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="d-flex flex-column">
|
||||
<span>TAP Air Portugal</span>
|
||||
<small class="text-muted">NIP: 9988776655</small>
|
||||
</div>
|
||||
</td>
|
||||
<td><span class="text-muted">18.05.2026</span></td>
|
||||
<td class="text-end fw-bold">5 400,00 PLN</td>
|
||||
<td class="text-center">
|
||||
<span class="badge bg-label-warning">Zaliczkowana</span>
|
||||
</td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<span class="avatar avatar-xs">
|
||||
<span class="avatar-initial rounded-circle bg-label-warning"><i class="bx bx-walk fs-6"></i></span>
|
||||
</span>
|
||||
<div class="d-flex flex-column">
|
||||
<span class="small">Pilot</span>
|
||||
<small class="text-muted">Tomasz S.</small>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<button class="btn btn-sm btn-icon btn-text-secondary" data-bs-toggle="tooltip"
|
||||
title="Podgląd dokumentu"><i class="bx bx-show"></i></button>
|
||||
<button class="btn btn-sm btn-primary ms-1" data-bs-toggle="modal"
|
||||
data-bs-target="#modalLinkExistingInvoice">Połącz ze zleceniem</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><input class="form-check-input invoice-checkbox" type="checkbox"></td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center">
|
||||
<i class="bx bx-receipt text-secondary fs-4 me-2"></i>
|
||||
<div class="d-flex flex-column">
|
||||
<span class="fw-semibold text-dark">PRF/2026/05/102</span>
|
||||
<small class="text-muted">Proforma</small>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="d-flex flex-column">
|
||||
<span>Venezia Apartments S.r.l.</span>
|
||||
<small class="text-muted">NIP: 1122334455</small>
|
||||
</div>
|
||||
</td>
|
||||
<td><span class="text-muted">08.05.2026</span></td>
|
||||
<td class="text-end fw-bold">3 680,00 EUR</td>
|
||||
<td class="text-center">
|
||||
<span class="badge bg-label-info" data-bs-toggle="tooltip"
|
||||
title="Przypisano do 2 zleceń">Rozksięgowana (1:N)</span>
|
||||
</td>
|
||||
<td>
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<span class="avatar avatar-xs">
|
||||
<span class="avatar-initial rounded-circle bg-label-secondary"><i class="bx bx-user fs-6"></i></span>
|
||||
</span>
|
||||
<span class="small">Anna Kowalska</span>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<button class="btn btn-sm btn-icon btn-text-secondary" data-bs-toggle="tooltip"
|
||||
title="Szczegóły rozksięgowania"><i class="bx bx-list-ul"></i></button>
|
||||
<button class="btn btn-sm btn-icon btn-text-secondary"><i
|
||||
class="bx bx-show"></i></button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -1350,37 +1543,51 @@ include '../../header-travel.php';
|
||||
<h6 class="mb-3">Wybierz sposób rozliczenia dokumentu</h6>
|
||||
<div class="row g-3 mb-4">
|
||||
<div class="col-md-3">
|
||||
<label class="card border border-2 shadow-none cursor-pointer h-100 option-card-existing border-primary" for="assignSingleExisting">
|
||||
<label
|
||||
class="card border border-2 shadow-none cursor-pointer h-100 option-card-existing border-primary"
|
||||
for="assignSingleExisting">
|
||||
<div class="card-body text-center p-3">
|
||||
<input type="radio" name="assignTypeExisting" id="assignSingleExisting" value="single" class="form-check-input mb-3" checked onchange="toggleAssignTypeExisting('single')">
|
||||
<h6 class="mb-1"><i class="bx bx-link-alt fs-4 d-block mb-2 text-primary"></i>Pojedyncze (1:1)</h6>
|
||||
<input type="radio" name="assignTypeExisting" id="assignSingleExisting" value="single"
|
||||
class="form-check-input mb-3" checked onchange="toggleAssignTypeExisting('single')">
|
||||
<h6 class="mb-1"><i class="bx bx-link-alt fs-4 d-block mb-2 text-primary"></i>Pojedyncze
|
||||
(1:1)</h6>
|
||||
<small class="text-muted">Faktura na jedno zlecenie.</small>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<label class="card border shadow-none cursor-pointer h-100 option-card-existing bg-lighter" for="assignSplitExisting">
|
||||
<label class="card border shadow-none cursor-pointer h-100 option-card-existing bg-lighter"
|
||||
for="assignSplitExisting">
|
||||
<div class="card-body text-center p-3">
|
||||
<input type="radio" name="assignTypeExisting" id="assignSplitExisting" value="split" class="form-check-input mb-3" onchange="toggleAssignTypeExisting('split')">
|
||||
<h6 class="mb-1"><i class="bx bx-git-branch fs-4 d-block mb-2 text-primary"></i>Rozksięgowanie (1:N)</h6>
|
||||
<input type="radio" name="assignTypeExisting" id="assignSplitExisting" value="split"
|
||||
class="form-check-input mb-3" onchange="toggleAssignTypeExisting('split')">
|
||||
<h6 class="mb-1"><i
|
||||
class="bx bx-git-branch fs-4 d-block mb-2 text-primary"></i>Rozksięgowanie (1:N)
|
||||
</h6>
|
||||
<small class="text-muted">Faktura na kilka zleceń.</small>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<label class="card border shadow-none cursor-pointer h-100 option-card-existing bg-lighter" for="assignPartialExisting">
|
||||
<label class="card border shadow-none cursor-pointer h-100 option-card-existing bg-lighter"
|
||||
for="assignPartialExisting">
|
||||
<div class="card-body text-center p-3">
|
||||
<input type="radio" name="assignTypeExisting" id="assignPartialExisting" value="partial" class="form-check-input mb-3" onchange="toggleAssignTypeExisting('partial')">
|
||||
<h6 class="mb-1"><i class="bx bx-layer-plus fs-4 d-block mb-2 text-primary"></i>Cząstkowe (N:1)</h6>
|
||||
<input type="radio" name="assignTypeExisting" id="assignPartialExisting" value="partial"
|
||||
class="form-check-input mb-3" onchange="toggleAssignTypeExisting('partial')">
|
||||
<h6 class="mb-1"><i
|
||||
class="bx bx-layer-plus fs-4 d-block mb-2 text-primary"></i>Cząstkowe (N:1)</h6>
|
||||
<small class="text-muted">Zaliczka do zlecenia.</small>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<label class="card border shadow-none cursor-pointer h-100 option-card-existing bg-lighter" for="assignGeneralExisting">
|
||||
<label class="card border shadow-none cursor-pointer h-100 option-card-existing bg-lighter"
|
||||
for="assignGeneralExisting">
|
||||
<div class="card-body text-center p-3">
|
||||
<input type="radio" name="assignTypeExisting" id="assignGeneralExisting" value="general" class="form-check-input mb-3" onchange="toggleAssignTypeExisting('general')">
|
||||
<h6 class="mb-1"><i class="bx bx-buildings fs-4 d-block mb-2 text-primary"></i>Koszty ogólne</h6>
|
||||
<input type="radio" name="assignTypeExisting" id="assignGeneralExisting" value="general"
|
||||
class="form-check-input mb-3" onchange="toggleAssignTypeExisting('general')">
|
||||
<h6 class="mb-1"><i class="bx bx-buildings fs-4 d-block mb-2 text-primary"></i>Koszty
|
||||
ogólne</h6>
|
||||
<small class="text-muted">Bez przypisania do zlecenia.</small>
|
||||
</div>
|
||||
</label>
|
||||
@@ -1389,7 +1596,8 @@ include '../../header-travel.php';
|
||||
|
||||
<!-- Podsumowanie faktury -->
|
||||
<div class="card shadow-none border mb-3">
|
||||
<div class="card-header py-2 px-3 d-flex align-items-center justify-content-between" style="background: linear-gradient(135deg, #f0f4ff 0%, #e8f0fe 100%); border-bottom: 1px solid #d0deff;">
|
||||
<div class="card-header py-2 px-3 d-flex align-items-center justify-content-between"
|
||||
style="background: linear-gradient(135deg, #f0f4ff 0%, #e8f0fe 100%); border-bottom: 1px solid #d0deff;">
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<i class="bx bx-receipt text-primary fs-5"></i>
|
||||
<span class="fw-semibold text-dark small">Szczegóły wybranej faktury</span>
|
||||
@@ -1437,29 +1645,38 @@ include '../../header-travel.php';
|
||||
<td><input class="form-check-input" type="radio" name="orderSelectExisting"></td>
|
||||
<td>
|
||||
<div class="d-flex flex-column">
|
||||
<span class="fw-semibold text-primary d-flex align-items-center gap-2">ZL/2026/05/089
|
||||
<span class="badge bg-label-success order-suggestion-badge">Sugerowane zlecenie</span>
|
||||
<span
|
||||
class="fw-semibold text-primary d-flex align-items-center gap-2">ZL/2026/05/089
|
||||
<span class="badge bg-label-success order-suggestion-badge">Sugerowane
|
||||
zlecenie</span>
|
||||
</span>
|
||||
<small class="text-muted">#WYC-098 (Tatry)</small>
|
||||
</div>
|
||||
</td>
|
||||
<td>05.05.2026</td>
|
||||
<td class="text-end fw-semibold">4 200,00 PLN</td>
|
||||
<td class="split-col-existing d-none text-end"><input type="number" class="form-control form-control-sm text-end split-amount-input-existing" placeholder="0.00" min="0" step="0.01"></td>
|
||||
<td class="split-col-existing d-none text-end"><input type="number"
|
||||
class="form-control form-control-sm text-end split-amount-input-existing"
|
||||
placeholder="0.00" min="0" step="0.01"></td>
|
||||
</tr>
|
||||
<tr class="assign-order-row-existing" data-order-amount="2100.00">
|
||||
<td><input class="form-check-input" type="radio" name="orderSelectExisting"></td>
|
||||
<td>
|
||||
<div class="d-flex flex-column">
|
||||
<span class="fw-semibold text-primary d-flex align-items-center gap-2">ZL/2026/05/156
|
||||
<span class="badge bg-label-success order-suggestion-badge d-none">Sugerowane zlecenie</span>
|
||||
<span
|
||||
class="fw-semibold text-primary d-flex align-items-center gap-2">ZL/2026/05/156
|
||||
<span
|
||||
class="badge bg-label-success order-suggestion-badge d-none">Sugerowane
|
||||
zlecenie</span>
|
||||
</span>
|
||||
<small class="text-muted">#WYC-103 (Kraków)</small>
|
||||
</div>
|
||||
</td>
|
||||
<td>08.05.2026</td>
|
||||
<td class="text-end fw-semibold">2 100,00 PLN</td>
|
||||
<td class="split-col-existing d-none text-end"><input type="number" class="form-control form-control-sm text-end split-amount-input-existing" placeholder="0.00" min="0" step="0.01"></td>
|
||||
<td class="split-col-existing d-none text-end"><input type="number"
|
||||
class="form-control form-control-sm text-end split-amount-input-existing"
|
||||
placeholder="0.00" min="0" step="0.01"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
@@ -1471,14 +1688,15 @@ include '../../header-travel.php';
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="alert alert-danger d-none mt-3 mb-0" id="splitValidationAlertExisting" role="alert">
|
||||
Suma przypisanych pozycji musi być równa kwocie faktury.
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer border-top pt-3">
|
||||
<button type="button" class="btn btn-label-secondary" data-bs-dismiss="modal">Anuluj</button>
|
||||
<button type="button" class="btn btn-success" id="btnSaveAssignExisting"><i class="bx bx-check me-1"></i> Zapisz powiązanie</button>
|
||||
<button type="button" class="btn btn-success" id="btnSaveAssignExisting"><i
|
||||
class="bx bx-check me-1"></i> Zapisz powiązanie</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1780,10 +1998,10 @@ include '../../header-travel.php';
|
||||
splitCols.forEach(col => col.classList.add('d-none'));
|
||||
document.querySelectorAll('input[name="orderSelectExisting"]').forEach(el => el.type = 'radio');
|
||||
}
|
||||
|
||||
|
||||
updateSplitAmountSummaryExisting();
|
||||
}
|
||||
|
||||
|
||||
function updateSplitAmountSummaryExisting() {
|
||||
const isSplit = document.getElementById('assignSplitExisting')?.checked;
|
||||
const totalRow = document.getElementById('splitTotalRowExisting');
|
||||
@@ -1818,7 +2036,7 @@ include '../../header-travel.php';
|
||||
if (saveBtn) saveBtn.disabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
document.querySelectorAll('input[name="orderSelectExisting"], .split-amount-input-existing').forEach(el => {
|
||||
el.addEventListener('change', updateSplitAmountSummaryExisting);
|
||||
el.addEventListener('input', updateSplitAmountSummaryExisting);
|
||||
@@ -1938,6 +2156,24 @@ include '../../header-travel.php';
|
||||
document.getElementById('statusDropdownMenu').classList.remove('show');
|
||||
}
|
||||
});
|
||||
|
||||
// Zaznacz / odznacz wszystkie faktury
|
||||
const selectAll = document.getElementById('selectAllInvoices');
|
||||
if (selectAll) {
|
||||
selectAll.addEventListener('change', function () {
|
||||
document.querySelectorAll('.invoice-checkbox').forEach(cb => {
|
||||
cb.checked = this.checked;
|
||||
});
|
||||
});
|
||||
document.querySelectorAll('.invoice-checkbox').forEach(cb => {
|
||||
cb.addEventListener('change', function () {
|
||||
const all = document.querySelectorAll('.invoice-checkbox');
|
||||
const checked = document.querySelectorAll('.invoice-checkbox:checked');
|
||||
selectAll.indeterminate = checked.length > 0 && checked.length < all.length;
|
||||
selectAll.checked = checked.length === all.length;
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<?php include '../../footer.php'; ?>
|
||||
|
||||
Reference in New Issue
Block a user