Commit e976f071 by DESKTOP-E0VCCBD\zedan

update

parent 4ace00cf
<app-page-header [title]="'Invoice List'" [activeTitle]="'Invoice'" [title1]="'Invoice List'"></app-page-header> <app-page-header [title]="'อนุมัติ-จัดการการเบิกอุปกรณ์'" [activeTitle]="'Invoice'" [title1]="'อนุมัติ-จัดการการเบิกอุปกรณ์'"></app-page-header>
<div class="grid grid-cols-12 gap-6">
<div class="xl:col-span-3 col-span-12">
<div class="box">
<div class="box-body !p-0">
<div class="p-4 grid border-b border-dashed dark:border-defaultborder/10">
<a href="javascript:void(0);" class="hs-dropdown-toggle py-2 px-3 ti-btn bg-primary text-white !font-medium w-full !mb-0" data-hs-overlay="#todo-compose"><i class="ri-add-circle-line !text-[1rem]"></i>Create New Task
</a>
<div id="todo-compose" class="hs-overlay hidden ti-modal">
<div class="hs-overlay-open:mt-7 ti-modal-box mt-0 ease-out">
<div class="ti-modal-content">
<div class="ti-modal-header">
<h6 class="modal-title text-[1rem] font-semibold" id="mail-ComposeLabel">Create Task</h6>
<button type="button" class="hs-dropdown-toggle !text-[1rem] !font-semibold !text-defaulttextcolor" data-hs-overlay="#todo-compose">
<span class="sr-only">Close</span>
<i class="ri-close-line"></i>
</button>
</div>
<div class="ti-modal-body !overflow-visible px-4">
<div class="grid grid-cols-12 gap-2">
<div class="xl:col-span-12 col-span-12">
<label for="task-name" class="ti-form-label">Task Name</label>
<input type="text" class="form-control w-full" id="task-name" placeholder="Task Name">
</div>
<div class="xl:col-span-12 col-span-12">
<label class="ti-form-label">Assigned To</label>
<ng-select class="!rounded-s-none" name="choices-multiple-remove-button"
id="choices-multiple-remove-button" [multiple]="true">
<ng-option value="Choice 1" selected>Angelina May</ng-option>
<ng-option value="Choice 2">Kiara advain</ng-option>
<ng-option value="Choice 3">Hercules Jhon</ng-option>
<ng-option value="Choice 4">Mayor Kim</ng-option>
</ng-select>
</div>
<div class="xl:col-span-6 col-span-12">
<label class="ti-form-label">Assigned Date</label>
<div class="inline-flex w-full">
<div class="input-group-text text-[#8c9097] dark:text-white/50 !rounded-e-none border border-defaultborder"> <i class="ri-calendar-line"></i> </div>
<input type="text" class="form-control w-full !rounded-s-none" id="addignedDate" placeholder="Choose date and time" mwlFlatpickr
[enableTime]="true"
[convertModelValue]="true"
[dateFormat]="'Y-m-d H:i'">
</div>
</div>
<div class="xl:col-span-6 col-span-12">
<label class="ti-form-label">Target Date</label>
<div class="inline-flex w-full">
<div class="input-group-text text-[#8c9097] dark:text-white/50 !rounded-e-none border border-defaultborder"> <i class="ri-calendar-line"></i> </div>
<input type="text" class="form-control w-full !rounded-s-none" id="targetDate" placeholder="Choose date and time" mwlFlatpickr
[enableTime]="true"
[convertModelValue]="true"
[dateFormat]="'Y-m-d H:i'">
</div>
</div>
<div class="xl:col-span-12 col-span-12">
<label class="ti-form-label">Priority</label>
<ng-select class="ti-form-select todo-choice" data-trigger name="choices-single-default" placeholder="Select">
<ng-option value="">Select</ng-option>
<ng-option value="Critical">Critical</ng-option>
<ng-option value="High">High</ng-option>
<ng-option value="Medium">Medium</ng-option>
<ng-option value="Low">Low</ng-option>
</ng-select>
</div>
</div>
</div>
<div class="ti-modal-footer">
<button type="button"
class="hs-dropdown-toggle ti-btn ti-btn-light align-middle"
data-hs-overlay="#todo-compose">
Cancel
</button>
<button type="button" class="ti-btn bg-primary text-white !font-medium">Create</button>
</div>
</div>
</div>
</div>
</div>
<div class="p-4 border-b border-dashed dark:border-defaultborder/10">
<div class="input-group">
<input type="text" class="form-control w-full !rounded-md !bg-light border-0 !rounded-e-none" placeholder="Search Task Here" aria-describedby="button-addon2">
<button type="button" aria-label="button" class="ti-btn ti-btn-light !rounded-s-none !mb-0" id="button-addon2"><i class="ri-search-line text-[#8c9097] dark:text-white/50"></i></button>
</div>
</div>
<div class="p-4 task-navigation border-b border-dashed dark:border-defaultborder/10">
<ul class="list-none task-main-nav mb-0">
<li class="!px-0 !pt-0">
<span class="text-[.6875rem] text-[#8c9097] dark:text-white/50 opacity-[0.7] font-semibold">TASKS</span>
</li>
<li class="active">
<a href="javascript:void(0);">
<div class="flex items-center">
<span class="me-2 leading-none">
<i class="ri-task-line align-middle text-[.875rem]"></i>
</span>
<span class="flex-grow whitespace-nowrap">
All Tasks
</span>
<span class="badge bg-success/10 text-success rounded-full">167</span>
</div>
</a>
</li>
<li>
<a href="javascript:void(0);">
<div class="flex items-center">
<span class="me-2 leading-none">
<i class="ri-star-line align-middle text-[.875rem]"></i>
</span>
<span class="flex-grow whitespace-nowrap">
Starred
</span>
</div>
</a>
</li>
<li>
<a href="javascript:void(0);">
<div class="flex items-center">
<span class="me-2 leading-none">
<i class="ri-delete-bin-5-line align-middle text-[.875rem]"></i>
</span>
<span class="flex-grow whitespace-nowrap">
Trash
</span>
</div>
</a>
</li>
<li class="!px-0 !pt-2">
<span class="text-[.6875rem] text-[#8c9097] dark:text-white/50 op-7 font-semibold">CATEGORIES</span>
</li>
<li>
<a href="javascript:void(0);">
<div class="flex items-center">
<span class="me-2 leading-none">
<i class="ri-price-tag-line align-middle text-[.875rem] font-semibold text-primary"></i>
</span>
<span class="flex-grow whitespace-nowrap">
Personal
</span>
</div>
</a>
</li>
<li>
<a href="javascript:void(0);">
<div class="flex items-center">
<span class="me-2 leading-none">
<i class="ri-price-tag-line align-middle text-[.875rem] font-semibold text-secondary"></i>
</span>
<span class="flex-grow whitespace-nowrap">
Work
</span>
</div>
</a>
</li>
<li>
<a href="javascript:void(0);">
<div class="flex items-center">
<span class="me-2 leading-none">
<i class="ri-price-tag-line align-middle text-[.875rem] font-semibold text-warning"></i>
</span>
<span class="flex-grow whitespace-nowrap">
Health &amp; Fitness
</span>
</div>
</a>
</li>
<li>
<a href="javascript:void(0);">
<div class="flex items-center">
<span class="me-2 leading-none">
<i class="ri-price-tag-line align-middle text-[.875rem] font-semibold text-success"></i>
</span>
<span class="flex-grow whitespace-nowrap">
Daily Goals
</span>
</div>
</a>
</li>
<li>
<a href="javascript:void(0);">
<div class="flex items-center">
<span class="me-2 leading-none">
<i class="ri-price-tag-line align-middle text-[.875rem] font-semibold text-danger"></i>
</span>
<span class="flex-grow whitespace-nowrap">
Financial Management
</span>
</div>
</a>
</li>
</ul>
</div>
<div class="p-4 !flex items-center justify-center">
<img src="./assets/images/media/media-66.png" alt="">
</div>
</div>
</div>
</div>
<div class="xl:col-span-9 col-span-12"> <div class="xl:col-span-9 col-span-12">
<div class="grid grid-cols-12 gap-x-6"> <div class="grid grid-cols-12 gap-x-6">
<div class="xl:col-span-12 col-span-12"> <div class="xl:col-span-12 col-span-12">
<div class="box"> <div class="box">
<div class="box-body !p-0"> <div class="box-body !p-0">
<div class="md:flex px-4 py-6 items-center justify-between"> <div class="md:flex px-4 py-6 items-center justify-between">
<div> <div class="mt-2 md:mt-0">
<h6 class="font-semibold mb-0 text-[1rem]">Tasks</h6> <a href="javascript:void(0);" class="hs-dropdown-toggle py-2 px-3 ti-btn bg-primary text-white !font-medium w-full !mb-0" data-hs-overlay="#todo-compose"><i class="ri-add-circle-line !text-[1rem]"></i>Create New Task
</div> </a>
</div>
<div class="mt-2 md:mt-0"> <div class="mt-2 md:mt-0">
<nav class="-mb-0.5 sm:flex sm:space-x-6 rtl:space-x-reverse flex-wrap"> <nav class="-mb-0.5 sm:flex sm:space-x-6 rtl:space-x-reverse flex-wrap">
<a class="w-full flex sm:w-auto active hs-tab-active:font-semibold hs-tab-active:text-primary hs-tab-active:bg-primary/10 rounded-md py-2 px-3 text-sm" href="javascript:void(0);" id="alltasks-item" data-hs-tab="#all-tasks" aria-controls="all-tasks"> <!-- <a class="w-full flex sm:w-auto active hs-tab-active:font-semibold hs-tab-active:text-primary hs-tab-active:bg-primary/10 rounded-md py-2 px-3 text-sm" href="javascript:void(0);" id="alltasks-item" data-hs-tab="#all-tasks" aria-controls="all-tasks">
All Tasks All Tasks
</a> </a> -->
<a class="w-full flex sm:w-auto hs-tab-active:font-semibold hs-tab-active:text-primary hs-tab-active:bg-primary/10 rounded-md py-2 px-3 text-sm" href="javascript:void(0);" id="pending-item" data-hs-tab="#pending" aria-controls="pending"> <a class="w-full flex sm:w-auto hs-tab-active:font-semibold hs-tab-active:text-primary hs-tab-active:bg-primary/10 rounded-md py-2 px-3 text-sm" href="javascript:void(0);" id="pending-item" data-hs-tab="#pending" aria-controls="pending">
Pending รออนุมัติการเบิก
</a> </a>
<a class="w-full flex sm:w-auto hs-tab-active:font-semibold hs-tab-active:text-primary hs-tab-active:bg-primary/10 rounded-md py-2 px-3 text-sm" href="javascript:void(0);" id="in-progress-item" data-hs-tab="#in-progress" aria-controls="in-progress"> <a class="w-full flex sm:w-auto hs-tab-active:font-semibold hs-tab-active:text-primary hs-tab-active:bg-primary/10 rounded-md py-2 px-3 text-sm" href="javascript:void(0);" id="in-progress-item" data-hs-tab="#in-progress" aria-controls="in-progress">
In Progress รออนุมัติการคืน
</a> </a>
<a class="w-full flex sm:w-auto hs-tab-active:font-semibold hs-tab-active:text-primary hs-tab-active:bg-primary/10 rounded-md py-2 px-3 text-sm" href="javascript:void(0);" id="completed-item" data-hs-tab="#completed" aria-controls="completed"> <a class="w-full flex sm:w-auto hs-tab-active:font-semibold hs-tab-active:text-primary hs-tab-active:bg-primary/10 rounded-md py-2 px-3 text-sm" href="javascript:void(0);" id="completed-item" data-hs-tab="#completed" aria-controls="completed">
Completed เสร็จสิ้น
</a> </a>
</nav> </nav>
</div> </div>
<div class="mt-2 md:mt-0"> <div class="mt-2 md:mt-0">
<div class="hs-dropdown ti-dropdown"> <div class="input-group">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-light !mb-0" aria-expanded="false"> <input type="text" class="form-control w-full !rounded-md !bg-light border-0 !rounded-e-none" placeholder="Search Task Here" aria-describedby="button-addon2">
<i class="ti ti-dots-vertical"></i> <button type="button" aria-label="button" class="ti-btn ti-btn-light !rounded-s-none !mb-0" id="button-addon2"><i class="ri-search-line text-[#8c9097] dark:text-white/50"></i></button>
</button> </div>
<ul class="hs-dropdown-menu ti-dropdown-menu hidden">
<li><a class="ti-dropdown-item !py-2 !px-[0.9375rem] !text-[0.8125rem] !font-medium block" href="javascript:void(0);">Select All</a></li>
<li><a class="ti-dropdown-item !py-2 !px-[0.9375rem] !text-[0.8125rem] !font-medium block" href="javascript:void(0);">Share All</a></li>
<li><a class="ti-dropdown-item !py-2 !px-[0.9375rem] !text-[0.8125rem] !font-medium block" href="javascript:void(0);">Delete All</a></li>
</ul>
</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -247,289 +47,22 @@ ...@@ -247,289 +47,22 @@
<div class="box-body"> <div class="box-body">
<div class="flex justify-between flex-wrap gap-2"> <div class="flex justify-between flex-wrap gap-2">
<div> <div>
<p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] opacity-[0.5] me-1 text-[#8c9097] dark:text-white/50"></i></a>New Project Blueprint</p> <p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="text-[1rem] opacity-[0.5] me-1 text-[#8c9097] dark:text-white/50"></i></a>New Project Blueprint</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">13,Nov 2022</span></p> <p class="mb-4">ผู้ยื่นขออนุมัติ : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">นาย สิง ขวดใหญ่</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">20,Nov 2022</span></p> <p class="mb-4">วันที่ยื่น : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">20,Nov 2022</span></p>
<p class="mb-0">Assigned To : <p class="mb-4">ผู้อนุมัติ :<span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">นาย สิง ขวดเล็ก</span></p>
<span class="avatar-list-stacked ms-1"> <p class="mb-4">สถานะ : <span class="bg-primary/10 text-primary ">รออนุมัติการเบิก</span></p>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/2.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/8.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/2.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/10.jpg" alt="img">
</span>
</span>
</p>
</div> </div>
<div> <div>
<div class="btn-list"> <div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button> <button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div> </div>
<span class="badge bg-warning/10 text-warning block">High</span>
</div>
</div>
</div>
</div>
<div class="box task-inprogress-card">
<div class="box-body">
<div class="flex justify-between flex-wrap gap-2">
<div>
<p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] me-1 text-warning"></i></a>Designing New Authentication Pages</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">26,Nov 2022</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">12,Dec 2022</span></p>
<p class="mb-0">Assigned To :
<span class="avatar-list-stacked ms-1">
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/6.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/15.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-success/10 text-success block">Low</span>
</div>
</div>
</div>
</div>
<div class="box task-completed-card">
<div class="box-body">
<div class="flex justify-between flex-wrap gap-2">
<div>
<p class="font-semibold mb-4 flex items-center">
<a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] opacity-[0.5] me-1 text-[#8c9097] dark:text-white/50"></i></a>Developing New Events in Plugin</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">5,Dec 2022</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">10,Dec 2022</span></p>
<p class="mb-0">Assigned To :
<span class="avatar-list-stacked ms-1">
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/5.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/8.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/11.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-primary/10 text-primary block">Medium</span>
</div>
</div>
</div>
</div>
</div>
<div class="xl:col-span-4 col-span-12 task-card">
<div class="box task-inprogress-card">
<div class="box-body">
<div class="flex justify-between flex-wrap gap-2">
<div>
<p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] me-1 text-warning"></i></a>Design New Landing Pages </p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">21,Nov 2022</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">28,Nov 2022</span></p>
<p class="mb-0">Assigned To :
<span class="avatar-list-stacked ms-1">
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/1.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/5.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/12.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-primary/10 text-primary block">Medium</span>
</div>
</div>
</div>
</div>
<div class="box task-completed-card">
<div class="box-body">
<div class="flex justify-between flex-wrap gap-2">
<div>
<p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] opacity-[0.5] me-1 text-[#8c9097] dark:text-white/50"></i></a>New Plugin Development</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">28,Oct 2022</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">28,Nov 2022</span></p>
<p class="mb-0">Assigned To :
<span class="avatar-list-stacked ms-1">
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/3.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/8.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/9.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-success/10 text-success block">Low</span>
</div>
</div>
</div>
</div>
<div class="box task-completed-card">
<div class="box-body">
<div class="flex justify-between flex-wrap gap-2">
<div>
<p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] opacity-[0.5] me-1 text-[#8c9097] dark:text-white/50"></i></a>Documentation For New Template</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">25,Nov 2022</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">10,Dec 2022</span></p>
<p class="mb-0">Assigned To :
<span class="avatar-list-stacked ms-1">
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/8.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/10.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/11.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-danger/10 text-danger block">Critical</span>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="xl:col-span-4 col-span-12 task-card"> </div>
<div class="box task-pending-card">
<div class="box-body">
<div class="flex justify-between flex-wrap gap-2">
<div>
<p class="font-semibold mb-4 flex items-center">
<a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] me-1 text-warning"></i></a>Updating Old Ui</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">30,Nov 2022</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">05,Dec 2022</span></p>
<p class="mb-0">Assigned To :
<span class="avatar-list-stacked ms-1">
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/14.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/13.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/21.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/16.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-warning/10 text-warning block">High</span>
</div>
</div>
</div>
</div>
<div class="box task-completed-card">
<div class="box-body">
<div class="flex justify-between flex-wrap gap-2">
<div>
<p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] opacity-[0.5] me-1 text-[#8c9097] dark:text-white/50"></i></a>Designing Of New Ecommerce Pages</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">1,Dec 2022</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">15,Dec 2022</span></p>
<p class="mb-0">Assigned To :
<span class="avatar-list-stacked ms-1">
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/1.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/3.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/6.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-success/10 text-success block">Low</span>
</div>
</div>
</div>
</div>
<div class="box task-inprogress-card">
<div class="box-body">
<div class="flex justify-between flex-wrap gap-2">
<div>
<p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] me-1 text-warning"></i></a>Improving Ui Of Updated Templates</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">4,Dec 2022</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">20,Dec 2022</span></p>
<p class="mb-0">Assigned To :
<span class="avatar-list-stacked ms-1">
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/9.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/13.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-primary/10 text-primary block">Medium</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div> </div>
<div class="tab-pane !p-0 hidden" id="pending" aria-labelledby="pending-item" <div class="tab-pane !p-0 hidden" id="pending" aria-labelledby="pending-item"
role="tabpanel"> role="tabpanel">
...@@ -538,171 +71,64 @@ ...@@ -538,171 +71,64 @@
<div class="box task-pending-card"> <div class="box task-pending-card">
<div class="box-body"> <div class="box-body">
<div class="flex justify-between flex-wrap gap-2"> <div class="flex justify-between flex-wrap gap-2">
<div> <div>
<p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] opacity-[0.5] me-1 text-[#8c9097] dark:text-white/50"></i></a>New Project Blueprint</p> <p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="text-[1rem] opacity-[0.5] me-1 text-[#8c9097] dark:text-white/50"></i></a>New Project Blueprint</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">13,Nov 2022</span></p> <p class="mb-4">ผู้ยื่นขออนุมัติ : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">นาย สิง ขวดใหญ่</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">20,Nov 2022</span></p> <p class="mb-4">วันที่ยื่น : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">20,Nov 2022</span></p>
<p class="mb-0">Assigned To : <p class="mb-4">ผู้อนุมัติ :<span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">นาย สิง ขวดเล็ก</span></p>
<span class="avatar-list-stacked ms-1"> <p class="mb-4">สถานะ : <span class="bg-primary/10 text-primary">รออนุมัติการเบิก</span></p>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/2.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/8.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/2.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/10.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-warning/10 text-warning block">High</span>
</div>
</div> </div>
</div> <div>
</div> <div class="btn-list">
</div> <button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
<div class="xl:col-span-4 col-span-12">
<div class="box task-pending-card">
<div class="box-body">
<div class="flex justify-between flex-wrap gap-2">
<div>
<p class="font-semibold mb-4 flex items-center">
<a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] me-1 text-warning"></i></a>Updating Old Ui</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">30,Nov 2022</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">05,Dec 2022</span></p>
<p class="mb-0">Assigned To :
<span class="avatar-list-stacked ms-1">
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/14.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/13.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/21.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/16.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-warning/10 text-warning block">High</span>
</div> </div>
</div> </div>
</div> </div>
</div>
</div> </div>
</div> </div>
<div class="xl:col-span-4 col-span-12">
<div class="box task-pending-card">
<div class="box-body">
<div class="flex justify-between flex-wrap gap-2">
<div>
<p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="text-[1rem] opacity-[0.5] me-1 text-[#8c9097] dark:text-white/50"></i></a>New Project Blueprint</p>
<p class="mb-4">ผู้ยื่นขออนุมัติ : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">นาย สิง ขวดใหญ่1</span></p>
<p class="mb-4">วันที่ยื่น : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">20,Nov 2022</span></p>
<p class="mb-4">ผู้อนุมัติ :<span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">นาย สิง ขวดเล็ก2</span></p>
<p class="mb-4">สถานะ : <span class="bg-primary/10 text-primary">รออนุมัติการเบิก</span></p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
</div>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
<div class="tab-pane !p-0 hidden" id="in-progress" aria-labelledby="inprocess-item" <div class="tab-pane !p-0 hidden" id="in-progress" aria-labelledby="inprocess-item"
role="tabpanel"> role="tabpanel">
<div class="grid grid-cols-12 gap-x-6"> <div class="grid grid-cols-12 gap-x-6">
<div class="xl:col-span-4 col-span-12"> <div class="xl:col-span-4 col-span-12">
<div class="box task-inprogress-card"> <div class="box task-pending-card">
<div class="box-body"> <div class="box-body">
<div class="flex justify-between flex-wrap gap-2"> <div class="flex justify-between flex-wrap gap-2">
<div> <div>
<p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] me-1 text-warning"></i></a>Design New Landing Pages </p> <p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="text-[1rem] opacity-[0.5] me-1 text-[#8c9097] dark:text-white/50"></i></a>New Project Blueprint</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">21,Nov 2022</span></p> <p class="mb-4">ผู้ยื่นขออนุมัติ : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">นาย สิง ขวดใหญ่</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">28,Nov 2022</span></p> <p class="mb-4">วันที่ยื่น : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">20,Nov 2022</span></p>
<p class="mb-0">Assigned To : <p class="mb-4">ผู้อนุมัติ :<span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">นาย สิง ขวดเล็ก</span></p>
<span class="avatar-list-stacked ms-1"> <p class="mb-4">สถานะ : <span class="bg-warning/10 text-warning">รออนุมัติการคืน</span></p>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/1.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/5.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/12.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-primary/10 text-primary block">Medium</span>
</div>
</div>
</div> </div>
</div> <div>
</div> <div class="btn-list">
<div class="xl:col-span-4 col-span-12"> <button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
<div class="box task-inprogress-card">
<div class="box-body">
<div class="flex justify-between flex-wrap gap-2">
<div>
<p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] me-1 text-warning"></i></a>Designing New Authentication Pages</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">26,Nov 2022</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">12,Dec 2022</span></p>
<p class="mb-0">Assigned To :
<span class="avatar-list-stacked ms-1">
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/6.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/15.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-success/10 text-success block">Low</span>
</div>
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="xl:col-span-4 col-span-12">
<div class="box task-inprogress-card">
<div class="box-body">
<div class="flex justify-between flex-wrap gap-2">
<div>
<p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] me-1 text-warning"></i></a>Improving Ui Of Updated Templates</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">4,Dec 2022</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">20,Dec 2022</span></p>
<p class="mb-0">Assigned To :
<span class="avatar-list-stacked ms-1">
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/9.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/13.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-primary/10 text-primary block">Medium</span>
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -710,140 +136,27 @@ ...@@ -710,140 +136,27 @@
<div class="tab-pane !p-0 hidden" id="completed" aria-labelledby="completed-item" <div class="tab-pane !p-0 hidden" id="completed" aria-labelledby="completed-item"
role="tabpanel"> role="tabpanel">
<div class="grid grid-cols-12 gap-x-6"> <div class="grid grid-cols-12 gap-x-6">
<div class="xl:col-span-4 col-span-12"> <div class="xl:col-span-4 col-span-12">
<div class="box task-completed-card"> <div class="box task-pending-card">
<div class="box-body"> <div class="box-body">
<div class="flex justify-between flex-wrap gap-2"> <div class="flex justify-between flex-wrap gap-2">
<div> <div>
<p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] opacity-[0.5] me-1 text-[#8c9097] dark:text-white/50"></i></a>New Plugin Development</p> <p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="text-[1rem] opacity-[0.5] me-1 text-[#8c9097] dark:text-white/50"></i></a>New Project Blueprint</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">28,Oct 2022</span></p> <p class="mb-4">ผู้ยื่นขออนุมัติ : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">นาย สิง ขวดใหญ่</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">28,Nov 2022</span></p> <p class="mb-4">วันที่ยื่น : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">20,Nov 2022</span></p>
<p class="mb-0">Assigned To : <p class="mb-4">ผู้อนุมัติ :<span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">นาย สิง ขวดเล็ก</span></p>
<span class="avatar-list-stacked ms-1"> <p class="mb-4">สถานะ : <span class="bg-success/10 text-success">อนุมัติเสร็จสิ้น</span></p>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/3.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/8.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/9.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-success/10 text-success block">Low</span>
</div>
</div>
</div>
</div>
</div>
<div class="xl:col-span-4 col-span-12">
<div class="box task-completed-card">
<div class="box-body">
<div class="flex justify-between flex-wrap gap-2">
<div>
<p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] opacity-[0.5] me-1 text-[#8c9097] dark:text-white/50"></i></a>Documentation For New Template</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">25,Nov 2022</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">10,Dec 2022</span></p>
<p class="mb-0">Assigned To :
<span class="avatar-list-stacked ms-1">
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/8.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/10.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/11.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-danger/10 text-danger block">Critical</span>
</div>
</div>
</div> </div>
</div> <div>
</div> <div class="btn-list">
<div class="xl:col-span-4 col-span-12"> <button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
<div class="box task-completed-card">
<div class="box-body">
<div class="flex justify-between flex-wrap gap-2">
<div>
<p class="font-semibold mb-4 flex items-center">
<a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] opacity-[0.5] me-1 text-[#8c9097] dark:text-white/50"></i></a>Developing New Events in Plugin</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">5,Dec 2022</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">10,Dec 2022</span></p>
<p class="mb-0">Assigned To :
<span class="avatar-list-stacked ms-1">
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/5.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/8.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/11.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-primary/10 text-primary block">Medium</span>
</div>
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="xl:col-span-4 col-span-12">
<div class="box task-completed-card">
<div class="box-body">
<div class="flex justify-between flex-wrap gap-2">
<div>
<p class="font-semibold mb-4 flex items-center"><a aria-label="anchor" href="javascript:void(0);"><i class="ri-star-s-fill text-[1rem] opacity-[0.5] me-1 text-[#8c9097] dark:text-white/50"></i></a>Designing Of New Ecommerce Pages</p>
<p class="mb-4">Assigned On : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">1,Dec 2022</span></p>
<p class="mb-4">Target Date : <span class="text-[0.75rem] mb-1 text-[#8c9097] dark:text-white/50">15,Dec 2022</span></p>
<p class="mb-0">Assigned To :
<span class="avatar-list-stacked ms-1">
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/1.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/3.jpg" alt="img">
</span>
<span class="avatar avatar-sm avatar-rounded">
<img src="./assets/images/faces/6.jpg" alt="img">
</span>
</span>
</p>
</div>
<div>
<div class="btn-list">
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-primary me-[0.375rem]"><i class="ri-edit-line"></i></button>
<button type="button" aria-label="button" class="ti-btn ti-btn-sm ti-btn-danger me-0"><i class="ri-delete-bin-line"></i></button>
</div>
<span class="badge bg-success/10 text-success block">Low</span>
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -857,5 +170,4 @@ ...@@ -857,5 +170,4 @@
</ul> </ul>
</nav> </nav>
</div> </div>
</div>
<!--End::row-1 --> <!--End::row-1 -->
...@@ -13,7 +13,6 @@ import { CommonModule } from "@angular/common"; ...@@ -13,7 +13,6 @@ import { CommonModule } from "@angular/common";
import { FileItem, FileUploader, ParsedResponseHeaders } from "ng2-file-upload"; import { FileItem, FileUploader, ParsedResponseHeaders } from "ng2-file-upload";
import { environment } from "../../../../environments/environment"; import { environment } from "../../../../environments/environment";
import { TokenService } from "../../../shared/services/token.service"; import { TokenService } from "../../../shared/services/token.service";
import { ProjectMemberModel } from "../../models/project-members";
@Component({ @Component({
selector: 'app-admin-project-emp-manage', selector: 'app-admin-project-emp-manage',
standalone: true, standalone: true,
...@@ -28,280 +27,275 @@ import { ProjectMemberModel } from "../../models/project-members"; ...@@ -28,280 +27,275 @@ import { ProjectMemberModel } from "../../models/project-members";
styleUrl: './admin-project-emp-manage.component.scss' styleUrl: './admin-project-emp-manage.component.scss'
}) })
export class AdminProjectEmpManageComponent { export class AdminProjectEmpManageComponent {
@ViewChild('closeModal') public childModal?: ElementRef;
@ViewChild('closeModal') public childModal?: ElementRef; @ViewChild('modalDetail') public modalDetail?: ElementRef;
@ViewChild('modalDetail') public modalDetail?: ElementRef; action = "new";
action = "new"; allSelected = false;
allSelected = false; someSelected = false;
someSelected = false; confirmPassword = ""
confirmPassword = "" itemsList: UserProfileModel[] = []
itemsList: ProjectMemberModel[] = [] filterList: UserProfileModel[] = []
filterList: ProjectMemberModel[] = [] selectModel: UserProfileModel = new UserProfileModel()
selectModel: ProjectMemberModel = new ProjectMemberModel() selectedItems = new Map<string, boolean>();
selectedItems = new Map<string, boolean>(); roleList: UserRoleModel[] = []
roleList: UserRoleModel[] = [] empList: UserProfileModel[] = []
empList: ProjectMemberModel[] = [] descName = 'engName'
descName = 'engName' pageIndex = 0;
pageIndex = 0; uploaderProfile: FileUploader | undefined;
uploaderProfile: FileUploader | undefined; uploadErrorMsg: string = "";
uploadErrorMsg: string = ""; get searchTerm(): string {
get searchTerm(): string { return this._searchTerm;
return this._searchTerm; }
} set searchTerm(val: string) {
set searchTerm(val: string) { this.pageIndex = 0;
this.pageIndex = 0; this.allSelected = false
this.allSelected = false this._searchTerm = val;
this._searchTerm = val; if (val != '') {
if (val != '') { this.filterList = this.filter(val);
this.filterList = this.filter(val); } else {
} else { this.updatePagedItems()
this.updatePagedItems()
}
} }
}
_searchTerm = ""; _searchTerm = "";
constructor(private UserService: UserService, public translate: TranslateService, private tokenService: TokenService) { constructor(private userService: UserService, public translate: TranslateService, private tokenService: TokenService) {
this.uploadConfig() this.uploadConfig()
} }
uploadConfig() { uploadConfig() {
this.uploaderProfile = new FileUploader({ this.uploaderProfile = new FileUploader({
url: environment.baseUrl + "/api/upload-image", url: environment.baseUrl + "/api/upload-image",
isHTML5: true, isHTML5: true,
authToken: this.tokenService.getToken()!, authToken: this.tokenService.getToken()!,
}); });
this.uploaderProfile.onAfterAddingFile = (fileItem: FileItem) => { this.uploaderProfile.onAfterAddingFile = (fileItem: FileItem) => {
fileItem.withCredentials = false; fileItem.withCredentials = false;
this.uploadErrorMsg = ""; this.uploadErrorMsg = "";
while (this.uploaderProfile!.queue.length > 1) { while (this.uploaderProfile!.queue.length > 1) {
this.uploaderProfile!.queue[0].remove(); this.uploaderProfile!.queue[0].remove();
} }
if (fileItem.file.size > 5000000) { if (fileItem.file.size > 5000000) {
this.uploadErrorMsg = "maximum file size 5mb."; this.uploadErrorMsg = "maximum file size 5mb.";
swal("Opp!!", "ไม่สามารถอัพโหลดได้", "info"); swal("Opp!!", "ไม่สามารถอัพโหลดได้", "info");
fileItem.isCancel = true; fileItem.isCancel = true;
return; return;
} }
if (fileItem.file.type!.indexOf("image") === -1) { if (fileItem.file.type!.indexOf("image") === -1) {
this.uploadErrorMsg = "please upload image only."; this.uploadErrorMsg = "please upload image only.";
swal("Opp!!", "ไม่สามารถอัพโหลดได้", "info"); swal("Opp!!", "ไม่สามารถอัพโหลดได้", "info");
fileItem.isCancel = true; fileItem.isCancel = true;
return; return;
} }
fileItem.upload(); fileItem.upload();
}; };
this.uploaderProfile.onCompleteItem = ( this.uploaderProfile.onCompleteItem = (
item: FileItem, item: FileItem,
response: string, response: string,
status: number, status: number,
headers: ParsedResponseHeaders headers: ParsedResponseHeaders
) => { ) => {
if (item.isSuccess) { if (item.isSuccess) {
const res = JSON.parse(response); const res = JSON.parse(response);
console.log("res", res); console.log("res", res);
this.selectModel.picture = res.filename this.selectModel.picture = res.filename
swal(res.message, "บันทึกสำเร็จ", "success"); swal(res.message, "บันทึกสำเร็จ", "success");
} else {
this.uploadErrorMsg = "cannot upload file.";
swal("Opp!!", "ไม่สามารถอัพโหลดได้", "info");
}
};
}
} else {
this.uploadErrorMsg = "cannot upload file.";
swal("Opp!!", "ไม่สามารถอัพโหลดได้", "info");
}
};
}
ngOnInit(): void {
this.userService.getLists().subscribe(result => {
this.itemsList = result
this.updatePagedItems()
})
}
filter(v: string) { ngOnInit(): void {
return this.itemsList?.filter( this.userService.getLists().subscribe(result => {
(x) => this.itemsList = result
x.memberId?.toLowerCase().indexOf(v.toLowerCase()) !== -1 || this.updatePagedItems()
x.username?.toLowerCase().indexOf(v.toLowerCase()) !== -1 || })
x.email?.toLowerCase().indexOf(v.toLowerCase()) !== -1 || }
x.phoneNumber?.toLowerCase().indexOf(v.toLowerCase()) !== -1 ||
x.getRole()?.toLowerCase().indexOf(v.toLowerCase()) !== -1 ||
x.getStatus()?.toLowerCase().indexOf(v.toLowerCase()) !== -1 ||
x.getFullname()?.toLowerCase().indexOf(v.toLowerCase()) !== -1
);
}
delete(item: UserProfileModel) { filter(v: string) {
swal({ return this.itemsList?.filter(
title: "Are you sure?", (x) =>
text: "You won't be able to revert this!", x.memberId?.toLowerCase().indexOf(v.toLowerCase()) !== -1 ||
icon: "warning", x.username?.toLowerCase().indexOf(v.toLowerCase()) !== -1 ||
x.email?.toLowerCase().indexOf(v.toLowerCase()) !== -1 ||
dangerMode: true, x.phoneNumber?.toLowerCase().indexOf(v.toLowerCase()) !== -1 ||
buttons: ["Cancel", "Yes,Delete it!"], x.getRole()?.toLowerCase().indexOf(v.toLowerCase()) !== -1 ||
}) x.getStatus()?.toLowerCase().indexOf(v.toLowerCase()) !== -1 ||
.then((willDelete: any) => { x.getFullname()?.toLowerCase().indexOf(v.toLowerCase()) !== -1
if (willDelete) { );
this.userService.delete(item).subscribe(result => { }
swal("Save Success!!", "บันทึกข้อมูลสำเร็จ", "success");
this.ngOnInit()
})
}
}); delete(item: UserProfileModel) {
} swal({
title: "Are you sure?",
text: "You won't be able to revert this!",
icon: "warning",
dangerMode: true,
buttons: ["Cancel", "Yes,Delete it!"],
})
.then((willDelete: any) => {
if (willDelete) {
this.userService.delete(item).subscribe(result => {
swal("Save Success!!", "บันทึกข้อมูลสำเร็จ", "success");
this.ngOnInit()
})
}
new() { });
this.action = 'add' }
this.selectModel = new UserProfileModel()
}
view(item: UserProfileModel) { new() {
this.action = 'edit' this.action = 'add'
this.confirmPassword = '' this.selectModel = new UserProfileModel()
this.selectModel = new UserProfileModel(item) }
console.log(this.selectModel)
} view(item: UserProfileModel) {
this.action = 'edit'
this.confirmPassword = ''
this.selectModel = new UserProfileModel(item)
console.log(this.selectModel)
save() { }
swal({
title: "Are you sure?",
text: "คุณต้องการบันทึกหรือไม่",
icon: "warning",
dangerMode: false,
buttons: ["Cancel", "Confirm"],
})
.then((willDelete: any) => {
if (willDelete) {
if (this.action == 'add') {
this.userService.save(this.selectModel).subscribe(result => {
console.log(result)
swal("Save Success!!", "บันทึกข้อมูลสมาชิก", "success");
this.ngOnInit()
this.childModal?.nativeElement.click()
})
} else if (this.action == 'edit') {
this.userService.update(this.selectModel).subscribe(result => {
console.log(result)
swal("Update Success!!", "บันทึกข้อมูลสมาชิก", "success");
this.ngOnInit()
this.childModal?.nativeElement.click()
})
}
save() {
swal({
title: "Are you sure?",
text: "คุณต้องการบันทึกหรือไม่",
icon: "warning",
dangerMode: false,
buttons: ["Cancel", "Confirm"],
})
.then((willDelete: any) => {
if (willDelete) {
if (this.action == 'add') {
this.userService.save(this.selectModel).subscribe(result => {
console.log(result)
swal("Save Success!!", "บันทึกข้อมูลสมาชิก", "success");
this.ngOnInit()
this.childModal?.nativeElement.click()
})
} else if (this.action == 'edit') {
this.userService.update(this.selectModel).subscribe(result => {
console.log(result)
swal("Update Success!!", "บันทึกข้อมูลสมาชิก", "success");
this.ngOnInit()
this.childModal?.nativeElement.click()
})
} }
}); }
});
}
updatePagedItems() { }
const startIndex = this.pageIndex * 10;
const endIndex = startIndex + 10;
this.filterList = this.itemsList.slice(startIndex, endIndex);
}
toggleAll(event: any) { updatePagedItems() {
this.allSelected = event.target.checked; const startIndex = this.pageIndex * 10;
this.selectedItems.clear(); const endIndex = startIndex + 10;
this.itemsList.forEach(item => { this.filterList = this.itemsList.slice(startIndex, endIndex);
this.selectedItems.set(item.memberId, this.allSelected); }
});
this.someSelected = this.itemsList.some(item => this.selectedItems.get(item.memberId));
}
onCheckboxChange(memberId: string) { toggleAll(event: any) {
const isSelected = this.selectedItems.get(memberId) || false; this.allSelected = event.target.checked;
this.selectedItems.set(memberId, !isSelected); this.selectedItems.clear();
this.allSelected = this.itemsList.every(item => this.selectedItems.get(item.memberId)); this.itemsList.forEach(item => {
this.someSelected = this.itemsList.some(item => this.selectedItems.get(item.memberId)); this.selectedItems.set(item.memberId, this.allSelected);
} });
this.someSelected = this.itemsList.some(item => this.selectedItems.get(item.memberId));
}
deleteSelect() { onCheckboxChange(memberId: string) {
let employeeInfo = ''; const isSelected = this.selectedItems.get(memberId) || false;
this.selectedItems.forEach((isSelected, memberId) => { this.selectedItems.set(memberId, !isSelected);
if (isSelected) { this.allSelected = this.itemsList.every(item => this.selectedItems.get(item.memberId));
const user = this.itemsList.find(user => user.memberId === memberId); this.someSelected = this.itemsList.some(item => this.selectedItems.get(item.memberId));
if (user) { }
employeeInfo += `${this.translate.instant('Fullname')}: ${user.getFullname()}\n`;
}
}
});
swal({ deleteSelect() {
title: "Are you sure?", let employeeInfo = '';
text: employeeInfo, this.selectedItems.forEach((isSelected, memberId) => {
icon: "warning", if (isSelected) {
dangerMode: true, const user = this.itemsList.find(user => user.memberId === memberId);
buttons: ["Cancel", "Yes, Delete it!"], if (user) {
}) employeeInfo += `${this.translate.instant('Fullname')}: ${user.getFullname()}\n`;
.then((willDelete: any) => { }
if (willDelete) { }
this.selectedItems.forEach((isSelected, memberId) => { });
if (isSelected) {
const user = this.itemsList.find(user => user.memberId === memberId); swal({
if (user) { title: "Are you sure?",
this.userService.delete(user).subscribe(result => { text: employeeInfo,
swal("Save Success!!", "บันทึกข้อมูลสำเร็จ", "success"); icon: "warning",
this.ngOnInit(); dangerMode: true,
}); buttons: ["Cancel", "Yes, Delete it!"],
} })
.then((willDelete: any) => {
if (willDelete) {
this.selectedItems.forEach((isSelected, memberId) => {
if (isSelected) {
const user = this.itemsList.find(user => user.memberId === memberId);
if (user) {
this.userService.delete(user).subscribe(result => {
swal("Save Success!!", "บันทึกข้อมูลสำเร็จ", "success");
this.ngOnInit();
});
} }
}); }
} });
});
}
adjustSelect(status: number) {
let title = "Are you sure?"
let employeeInfo = ''; // ตัวแปรสำหรับเก็บข้อมูลพนักงาน
this.selectedItems.forEach((isSelected, memberId) => {
if (isSelected) {
const user = this.itemsList.find(user => user.memberId === memberId);
if (user) {
employeeInfo += `${this.translate.instant('Fullname')}: ${user.getFullname()}\n`;
}
} }
}); });
swal({ }
title: title,
text: employeeInfo,
icon: "warning",
dangerMode: false,
buttons: ["Cancel", "Confirm"],
})
.then((willDelete: any) => {
if (willDelete) {
this.selectedItems.forEach((isSelected, memberId) => {
if (isSelected) {
const user = this.itemsList.find(user => user.memberId === memberId);
if (user) {
user.status = status
this.userService.update(user).subscribe(result => {
swal("Save Success!!", "บันทึกข้อมูลสำเร็จ", "success");
this.ngOnInit();
});
}
}
});
}
});
}
filterEmp(empId: string) { adjustSelect(status: number) {
this.selectModel = this.empList.filter(e => e.memberId == empId)[0] let title = "Are you sure?"
} let employeeInfo = ''; // ตัวแปรสำหรับเก็บข้อมูลพนักงาน
this.selectedItems.forEach((isSelected, memberId) => {
if (isSelected) {
const user = this.itemsList.find(user => user.memberId === memberId);
if (user) {
employeeInfo += `${this.translate.instant('Fullname')}: ${user.getFullname()}\n`;
}
}
});
swal({
title: title,
text: employeeInfo,
icon: "warning",
dangerMode: false,
buttons: ["Cancel", "Confirm"],
})
.then((willDelete: any) => {
if (willDelete) {
this.selectedItems.forEach((isSelected, memberId) => {
if (isSelected) {
const user = this.itemsList.find(user => user.memberId === memberId);
if (user) {
user.status = status
this.userService.update(user).subscribe(result => {
swal("Save Success!!", "บันทึกข้อมูลสำเร็จ", "success");
this.ngOnInit();
});
}
}
});
}
});
} }
filterEmp(empId: string) {
this.selectModel = this.empList.filter(e => e.memberId == empId)[0]
}
} }
...@@ -73,7 +73,7 @@ export const companyRoutes: Routes = [ ...@@ -73,7 +73,7 @@ export const companyRoutes: Routes = [
{ {
path: 'company/admin-borrow', path: 'company/admin-borrow',
loadComponent: () => loadComponent: () =>
import('./admin-borrow-manage/admin-borrow-manage.component').then((m) => m.AdminBorrowManageComponent), import('../common/borrow-management/borrow-management.component').then((m) => m.BorrowManagementComponent),
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment