up
This commit is contained in:
@@ -30,9 +30,6 @@ const AdminFunction = (() => {
|
|||||||
$("#js-status-hottype-" + e).html("");
|
$("#js-status-hottype-" + e).html("");
|
||||||
}, 1e3);
|
}, 1e3);
|
||||||
}
|
}
|
||||||
function a(e) {
|
|
||||||
$(e).select2();
|
|
||||||
}
|
|
||||||
function i(e) {
|
function i(e) {
|
||||||
$("#overlay").addClass("active"), $(".status-notificatiom").addClass("active"), !0 === e ? $(".status-notificatiom .content").html('<i class="fa fa-check"></i> <b>Cập nhật thành công</b>\n <p>Đơn hàng #000-368 đã được cập nhật thành công</p>') : $(".status-notificatiom .content").html('<i class="fa-solid fa-triangle-exclamation"></i> <b>Lỗi cập nhật</b><p>Có một số vấn đề với hoạt động của bạn.</p>');
|
$("#overlay").addClass("active"), $(".status-notificatiom").addClass("active"), !0 === e ? $(".status-notificatiom .content").html('<i class="fa fa-check"></i> <b>Cập nhật thành công</b>\n <p>Đơn hàng #000-368 đã được cập nhật thành công</p>') : $(".status-notificatiom .content").html('<i class="fa-solid fa-triangle-exclamation"></i> <b>Lỗi cập nhật</b><p>Có một số vấn đề với hoạt động của bạn.</p>');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
@charset "UTF-8";
|
@charset "UTF-8";
|
||||||
|
@import "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css";
|
||||||
*,
|
*,
|
||||||
::after,
|
::after,
|
||||||
::before {
|
::before {
|
||||||
@@ -128,34 +129,22 @@ a {
|
|||||||
width: 16%;
|
width: 16%;
|
||||||
padding: 20px 0;
|
padding: 20px 0;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
|
}
|
||||||
|
.admin-menu-container.active {
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
.admin-menu-container a {
|
.admin-menu-container a {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
.admin-menu-container .menu-logo {
|
.admin-menu-container .menu-logo {
|
||||||
display: table;
|
display: table;
|
||||||
margin-bottom: 50px;
|
margin-bottom: 25px;
|
||||||
margin-left: 16px;
|
margin-left: 16px;
|
||||||
}
|
}
|
||||||
.admin-menu-container .menu-logo img {
|
.admin-menu-container .menu-logo img {
|
||||||
height: 22px;
|
height: 22px;
|
||||||
}
|
}
|
||||||
.admin-menu-container details[open] svg {
|
|
||||||
transform: rotate(90deg);
|
|
||||||
}
|
|
||||||
.admin-menu-container details[open] summary {
|
|
||||||
background: #81b5e4;
|
|
||||||
}
|
|
||||||
.admin-menu-container details[open] summary a {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
.admin-menu-container details[open] .icons {
|
|
||||||
filter: brightness(100);
|
|
||||||
}
|
|
||||||
.admin-menu-container details[open] .fa-angle-right {
|
|
||||||
transform: rotate(90deg);
|
|
||||||
}
|
|
||||||
.admin-menu-container svg {
|
.admin-menu-container svg {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 16px;
|
right: 16px;
|
||||||
@@ -173,7 +162,7 @@ a {
|
|||||||
.admin-menu-container .item:hover .icons {
|
.admin-menu-container .item:hover .icons {
|
||||||
filter: brightness(100);
|
filter: brightness(100);
|
||||||
}
|
}
|
||||||
.admin-menu-container .item:hover .sub-hover {
|
.admin-menu-container .item:hover .hover-menu {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
.admin-menu-container .item .icons {
|
.admin-menu-container .item .icons {
|
||||||
@@ -184,8 +173,17 @@ a {
|
|||||||
.admin-menu-container .title-main {
|
.admin-menu-container .title-main {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
.admin-menu-container .box-item:hover .hover-menu {
|
||||||
|
visibility: visible;
|
||||||
|
opacity: 1;
|
||||||
|
left: calc(100% + 10px);
|
||||||
|
}
|
||||||
|
.admin-menu-container .box-item:hover .hover-menu::before {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
.admin-menu-container .sub-menu {
|
.admin-menu-container .sub-menu {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
display: none;
|
||||||
}
|
}
|
||||||
.admin-menu-container .sub-menu a {
|
.admin-menu-container .sub-menu a {
|
||||||
display: block;
|
display: block;
|
||||||
@@ -204,6 +202,73 @@ a {
|
|||||||
.admin-menu-container .sub-menu a:last-child {
|
.admin-menu-container .sub-menu a:last-child {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
.admin-menu-container .hover-menu {
|
||||||
|
padding: 10px 22px 10px 15px;
|
||||||
|
border-radius: 6px;
|
||||||
|
background: #004e99;
|
||||||
|
box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
|
||||||
|
white-space: nowrap;
|
||||||
|
z-index: -1;
|
||||||
|
transition: 0.2s all;
|
||||||
|
position: absolute;
|
||||||
|
left: calc(100% + 30px);
|
||||||
|
top: 0;
|
||||||
|
opacity: 0;
|
||||||
|
visibility: hidden;
|
||||||
|
min-width: 200px;
|
||||||
|
z-index: 999;
|
||||||
|
max-height: 400px;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
.admin-menu-container .hover-menu.bottom {
|
||||||
|
bottom: -30px;
|
||||||
|
top: unset;
|
||||||
|
}
|
||||||
|
.admin-menu-container .hover-menu::before {
|
||||||
|
position: absolute;
|
||||||
|
left: -15px;
|
||||||
|
top: 0;
|
||||||
|
width: 30px;
|
||||||
|
height: 100%;
|
||||||
|
content: "";
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.admin-menu-container .hover-menu a {
|
||||||
|
display: block;
|
||||||
|
line-height: 18px;
|
||||||
|
position: relative;
|
||||||
|
padding-bottom: 12px;
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
.admin-menu-container .hover-menu a::before {
|
||||||
|
content: "";
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #79b0e2;
|
||||||
|
position: absolute;
|
||||||
|
top: 4px;
|
||||||
|
left: 0;
|
||||||
|
z-index: 9;
|
||||||
|
}
|
||||||
|
.admin-menu-container .hover-menu a::after {
|
||||||
|
content: "";
|
||||||
|
width: 1px;
|
||||||
|
height: 100%;
|
||||||
|
background: #fff;
|
||||||
|
position: absolute;
|
||||||
|
top: 4px;
|
||||||
|
left: 4px;
|
||||||
|
}
|
||||||
|
.admin-menu-container .hover-menu a:last-child {
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
.admin-menu-container .hover-menu a:last-child::after {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.admin-menu-container .hover-menu a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
.admin-menu-container .icon-home {
|
.admin-menu-container .icon-home {
|
||||||
background-position: -9px -7px;
|
background-position: -9px -7px;
|
||||||
}
|
}
|
||||||
@@ -263,10 +328,6 @@ a {
|
|||||||
.admin-content-container {
|
.admin-content-container {
|
||||||
width: calc(100% - 50px);
|
width: calc(100% - 50px);
|
||||||
}
|
}
|
||||||
.admin-content-container.show-large-menu {
|
|
||||||
width: 82%;
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
.admin-content-container .note-list {
|
.admin-content-container .note-list {
|
||||||
min-width: 144px;
|
min-width: 144px;
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -1,3 +1,5 @@
|
|||||||
|
@import "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css";
|
||||||
|
|
||||||
*,
|
*,
|
||||||
::after,
|
::after,
|
||||||
::before {
|
::before {
|
||||||
@@ -111,37 +113,21 @@ a {
|
|||||||
width: 16%;
|
width: 16%;
|
||||||
padding: 20px 0;
|
padding: 20px 0;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
overflow-y: auto;
|
&.active {
|
||||||
|
overflow-y: auto;
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
a {
|
a {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
.menu-logo {
|
.menu-logo {
|
||||||
display: table;
|
display: table;
|
||||||
margin-bottom: 50px;
|
margin-bottom: 25px;
|
||||||
margin-left: 16px;
|
margin-left: 16px;
|
||||||
img {
|
img {
|
||||||
height: 22px;
|
height: 22px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
details {
|
|
||||||
&[open] {
|
|
||||||
svg {
|
|
||||||
transform: rotate(90deg);
|
|
||||||
}
|
|
||||||
summary {
|
|
||||||
background: #81b5e4;
|
|
||||||
a {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.icons {
|
|
||||||
filter: brightness(100);
|
|
||||||
}
|
|
||||||
.fa-angle-right {
|
|
||||||
transform: rotate(90deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@@ -160,7 +146,7 @@ a {
|
|||||||
.icons {
|
.icons {
|
||||||
filter: brightness(100);
|
filter: brightness(100);
|
||||||
}
|
}
|
||||||
.sub-hover {
|
.hover-menu {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -174,8 +160,21 @@ a {
|
|||||||
.title-main {
|
.title-main {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
.box-item {
|
||||||
|
&:hover {
|
||||||
|
.hover-menu {
|
||||||
|
visibility: visible;
|
||||||
|
opacity: 1;
|
||||||
|
left: calc(100% + 10px);
|
||||||
|
&::before {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
.sub-menu {
|
.sub-menu {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
display: none;
|
||||||
a {
|
a {
|
||||||
display: block;
|
display: block;
|
||||||
padding: 10px 10px 10px 45px;
|
padding: 10px 10px 10px 45px;
|
||||||
@@ -194,6 +193,74 @@ a {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.hover-menu {
|
||||||
|
padding: 10px 22px 10px 15px;
|
||||||
|
border-radius: 6px;
|
||||||
|
background: #004e99;
|
||||||
|
box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
|
||||||
|
white-space: nowrap;
|
||||||
|
z-index: -1;
|
||||||
|
transition: 0.2s all;
|
||||||
|
position: absolute;
|
||||||
|
left: calc(100% + 30px);
|
||||||
|
top: 0;
|
||||||
|
opacity: 0;
|
||||||
|
visibility: hidden;
|
||||||
|
min-width: 200px;
|
||||||
|
z-index: 999;
|
||||||
|
max-height: 400px;
|
||||||
|
overflow: auto;
|
||||||
|
&.bottom {
|
||||||
|
bottom: -30px;
|
||||||
|
top: unset;
|
||||||
|
}
|
||||||
|
&::before {
|
||||||
|
position: absolute;
|
||||||
|
left: -15px;
|
||||||
|
top: 0;
|
||||||
|
width: 30px;
|
||||||
|
height: 100%;
|
||||||
|
content: "";
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
display: block;
|
||||||
|
line-height: 18px;
|
||||||
|
position: relative;
|
||||||
|
padding-bottom: 12px;
|
||||||
|
padding-left: 20px;
|
||||||
|
&::before {
|
||||||
|
content: "";
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #79b0e2;
|
||||||
|
position: absolute;
|
||||||
|
top: 4px;
|
||||||
|
left: 0;
|
||||||
|
z-index: 9;
|
||||||
|
}
|
||||||
|
&::after {
|
||||||
|
content: "";
|
||||||
|
width: 1px;
|
||||||
|
height: 100%;
|
||||||
|
background: #fff;
|
||||||
|
position: absolute;
|
||||||
|
top: 4px;
|
||||||
|
left: 4px;
|
||||||
|
}
|
||||||
|
&:last-child {
|
||||||
|
padding-bottom: 0;
|
||||||
|
&::after {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.icon-home {
|
.icon-home {
|
||||||
background-position: -9px -7px;
|
background-position: -9px -7px;
|
||||||
}
|
}
|
||||||
@@ -253,10 +320,6 @@ a {
|
|||||||
|
|
||||||
.admin-content-container {
|
.admin-content-container {
|
||||||
width: calc(100% - 50px);
|
width: calc(100% - 50px);
|
||||||
&.show-large-menu {
|
|
||||||
width: 82%;
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
.note-list {
|
.note-list {
|
||||||
min-width: 144px;
|
min-width: 144px;
|
||||||
a {
|
a {
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
const AdminFunctions = (() => {
|
var AdminFunctions = (function () {
|
||||||
function toggleMenuVisibility(hideLargeMenu) {
|
function toggleMenuVisibility(hideLargeMenu) {
|
||||||
const contentContainer = $('#js-admin-content-container');
|
var contentContainer = $('#js-admin-content-container');
|
||||||
const largeMenu = $('#js-menu-big');
|
var largeMenu = $('#js-menu-big');
|
||||||
const smallMenu = $('#js-menu-small');
|
var smallMenu = $('#js-menu-small');
|
||||||
const searchForm = $('#js-form-search');
|
var searchForm = $('#js-form-search');
|
||||||
contentContainer.toggleClass('show-large-menu', !hideLargeMenu);
|
contentContainer.toggleClass('show-large-menu', !hideLargeMenu);
|
||||||
largeMenu.toggleClass('hidden', hideLargeMenu);
|
largeMenu.toggleClass('hidden', hideLargeMenu);
|
||||||
smallMenu.toggleClass('hidden', !hideLargeMenu);
|
smallMenu.toggleClass('hidden', !hideLargeMenu);
|
||||||
@@ -13,15 +13,19 @@ const AdminFunctions = (() => {
|
|||||||
localStorage.removeItem(hideLargeMenu ? 'menu_small' : 'menu_big');
|
localStorage.removeItem(hideLargeMenu ? 'menu_small' : 'menu_big');
|
||||||
}
|
}
|
||||||
function debounce(func, wait, immediate) {
|
function debounce(func, wait, immediate) {
|
||||||
let timeout = null;
|
var timeout = null;
|
||||||
return function (...args) {
|
return function () {
|
||||||
const context = this;
|
var args = [];
|
||||||
const later = function () {
|
for (var _i = 0; _i < arguments.length; _i++) {
|
||||||
|
args[_i] = arguments[_i];
|
||||||
|
}
|
||||||
|
var context = this;
|
||||||
|
var later = function () {
|
||||||
timeout = null;
|
timeout = null;
|
||||||
if (!immediate)
|
if (!immediate)
|
||||||
func.apply(context, args);
|
func.apply(context, args);
|
||||||
};
|
};
|
||||||
const callNow = immediate && !timeout;
|
var callNow = immediate && !timeout;
|
||||||
if (timeout !== null) {
|
if (timeout !== null) {
|
||||||
clearTimeout(timeout);
|
clearTimeout(timeout);
|
||||||
}
|
}
|
||||||
@@ -31,9 +35,9 @@ const AdminFunctions = (() => {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
function addProductToCategory(productId) {
|
function addProductToCategory(productId) {
|
||||||
const statusElement = $('#status_' + productId);
|
var statusElement = $('#status_' + productId);
|
||||||
statusElement.html('<span class="loading loading-bars loading-sm"></span><span class="ml-[3px]">Processing...</span>');
|
statusElement.html('<span class="loading loading-bars loading-sm"></span><span class="ml-[3px]">Processing...</span>');
|
||||||
setTimeout(() => {
|
setTimeout(function () {
|
||||||
statusElement.html('');
|
statusElement.html('');
|
||||||
}, 1000);
|
}, 1000);
|
||||||
}
|
}
|
||||||
@@ -46,20 +50,16 @@ const AdminFunctions = (() => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
function markProductAsHot(productId) {
|
function markProductAsHot(productId) {
|
||||||
const statusElement = $('#js-status-hottype-' + productId);
|
var statusElement = $('#js-status-hottype-' + productId);
|
||||||
statusElement.html('<span class="loading loading-bars loading-sm"></span><span class="ml-[3px]">Processing...</span>');
|
statusElement.html('<span class="loading loading-bars loading-sm"></span><span class="ml-[3px]">Processing...</span>');
|
||||||
setTimeout(() => {
|
setTimeout(function () {
|
||||||
statusElement.html('');
|
statusElement.html('');
|
||||||
}, 1000);
|
}, 1000);
|
||||||
}
|
}
|
||||||
function initializeSearchDropdown(selector) {
|
|
||||||
$(selector).select2();
|
|
||||||
}
|
|
||||||
return {
|
return {
|
||||||
toggleMenuVisibility,
|
toggleMenuVisibility: toggleMenuVisibility,
|
||||||
addProductToCategory,
|
addProductToCategory: addProductToCategory,
|
||||||
searchSuggestions,
|
searchSuggestions: searchSuggestions,
|
||||||
initializeSearchDropdown,
|
markProductAsHot: markProductAsHot
|
||||||
markProductAsHot
|
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ interface AdminFunctions {
|
|||||||
toggleMenuVisibility(hideLargeMenu: boolean): void;
|
toggleMenuVisibility(hideLargeMenu: boolean): void;
|
||||||
addProductToCategory(productId: string): void;
|
addProductToCategory(productId: string): void;
|
||||||
searchSuggestions(inputSelector: string): void;
|
searchSuggestions(inputSelector: string): void;
|
||||||
initializeSearchDropdown(selector: string): void;
|
|
||||||
markProductAsHot(productId: string): void;
|
markProductAsHot(productId: string): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,15 +67,10 @@ const AdminFunctions: AdminFunctions = (() => {
|
|||||||
}, 1000);
|
}, 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
function initializeSearchDropdown(selector: string): void {
|
|
||||||
$(selector).select2();
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
toggleMenuVisibility,
|
toggleMenuVisibility,
|
||||||
addProductToCategory,
|
addProductToCategory,
|
||||||
searchSuggestions,
|
searchSuggestions,
|
||||||
initializeSearchDropdown,
|
|
||||||
markProductAsHot
|
markProductAsHot
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
<script>
|
<script>
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
// Popup
|
|
||||||
Fancybox.bind("[data-fancybox]", {});
|
|
||||||
|
|
||||||
// Sự kiện click để hiển thị menu
|
// Sự kiện click để hiển thị menu
|
||||||
$('#js-show-menu').click(function () {
|
$('#js-show-menu').click(function () {
|
||||||
@@ -19,10 +17,6 @@
|
|||||||
|
|
||||||
AdminFunctions.searchSuggestions('#js-input-search')
|
AdminFunctions.searchSuggestions('#js-input-search')
|
||||||
|
|
||||||
AdminFunctions.initializeSearchDropdown('#js-assign-admin');
|
|
||||||
|
|
||||||
AdminFunctions.initializeSearchDropdown('#js-order-status-select');
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
function formatCurrency(a) {
|
function formatCurrency(a) {
|
||||||
@@ -31,4 +25,11 @@
|
|||||||
b = b.substring(0, len - 3);
|
b = b.substring(0, len - 3);
|
||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function toggleSubMenu(id) {
|
||||||
|
const submenu = $('#' + id);
|
||||||
|
submenu.toggle();
|
||||||
|
$('#js-menu-big').toggleClass('active');
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -37,5 +37,4 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
$("#brandSelect").select2();
|
|
||||||
</script>
|
</script>
|
||||||
@@ -51,8 +51,9 @@
|
|||||||
<td> Địa chỉ nhận hàng </td>
|
<td> Địa chỉ nhận hàng </td>
|
||||||
<td>
|
<td>
|
||||||
<span> Kiến Hưng, Quận Hà Đông, Hà Nội </span>
|
<span> Kiến Hưng, Quận Hà Đông, Hà Nội </span>
|
||||||
<a href="#js-update-shipping-address" data-fancybox title="Cập nhật địa chỉ nhận hàng"
|
<a onclick="js_update_shipping_address.showModal()" href="javascript:void(0)"
|
||||||
class="icons icon-edit inline-block" style="background-position: -111px -86px;"></a>
|
title="Cập nhật địa chỉ nhận hàng" class="icons icon-edit inline-block"
|
||||||
|
style="background-position: -111px -86px;"></a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
@@ -329,80 +330,85 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- // Cập nhật địa chỉ nhận hàng -->
|
<!-- // Cập nhật địa chỉ nhận hàng -->
|
||||||
<div id="js-update-shipping-address" class="p-[20px_16px] rounded-[15px] w-[100%] max-w-[600px]" style="display: none;">
|
<dialog id="js_update_shipping_address" class="modal">
|
||||||
<p class="leading-[20px] text-[16px] font-bold mb-[20px]"> Cập nhật địa chỉ nhận hàng </p>
|
<div class="p-[20px_16px] rounded-[15px] w-[100%] max-w-[600px] bg-white modal-box">
|
||||||
|
<p class="leading-[20px] text-[16px] font-bold mb-[20px]"> Cập nhật địa chỉ nhận hàng </p>
|
||||||
|
|
||||||
<table class="w-[100%]">
|
<table class="w-[100%]">
|
||||||
<tr>
|
<tr>
|
||||||
<td width="100">Họ tên</td>
|
<td width="100">Họ tên</td>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" id="js-shipping-address-person_name" value="Nguyen Duc Quan"
|
<input type="text" id="js-shipping-address-person_name" value="Nguyen Duc Quan"
|
||||||
class="shadow-[0px_2px_4px_0px_rgba(0,0,0,0.12)] p-[0_10px] w-[100%] h-[32px] mb-[10px] border border-[#D8D8D8] rounded-[4px] block">
|
class="shadow-[0px_2px_4px_0px_rgba(0,0,0,0.12)] p-[0_10px] w-[100%] h-[32px] mb-[10px] border border-[#D8D8D8] rounded-[4px] block">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Mobile</td>
|
<td>Mobile</td>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" id="js-shipping-address-mobile" value="0832256395"
|
<input type="text" id="js-shipping-address-mobile" value="0832256395"
|
||||||
class="shadow-[0px_2px_4px_0px_rgba(0,0,0,0.12)] p-[0_10px] w-[100%] h-[32px] mb-[10px] border border-[#D8D8D8] rounded-[4px] block">
|
class="shadow-[0px_2px_4px_0px_rgba(0,0,0,0.12)] p-[0_10px] w-[100%] h-[32px] mb-[10px] border border-[#D8D8D8] rounded-[4px] block">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Tỉnh/thành</td>
|
<td>Tỉnh/thành</td>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" id="js-shipping-address-province_name" value="TP HCM"
|
<input type="text" id="js-shipping-address-province_name" value="TP HCM"
|
||||||
class="shadow-[0px_2px_4px_0px_rgba(0,0,0,0.12)] p-[0_10px] w-[100%] h-[32px] mb-[10px] border border-[#D8D8D8] rounded-[4px] block">
|
class="shadow-[0px_2px_4px_0px_rgba(0,0,0,0.12)] p-[0_10px] w-[100%] h-[32px] mb-[10px] border border-[#D8D8D8] rounded-[4px] block">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Quận huyện</td>
|
<td>Quận huyện</td>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" id="js-shipping-address-district_name" value="Quận Gò Vấp"
|
<input type="text" id="js-shipping-address-district_name" value="Quận Gò Vấp"
|
||||||
class="shadow-[0px_2px_4px_0px_rgba(0,0,0,0.12)] p-[0_10px] w-[100%] h-[32px] mb-[10px] border border-[#D8D8D8] rounded-[4px] block">
|
class="shadow-[0px_2px_4px_0px_rgba(0,0,0,0.12)] p-[0_10px] w-[100%] h-[32px] mb-[10px] border border-[#D8D8D8] rounded-[4px] block">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Phường/xã</td>
|
<td>Phường/xã</td>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" id="js-shipping-address-ward_name" value=""
|
<input type="text" id="js-shipping-address-ward_name" value=""
|
||||||
class="shadow-[0px_2px_4px_0px_rgba(0,0,0,0.12)] p-[0_10px] w-[100%] h-[32px] mb-[10px] border border-[#D8D8D8] rounded-[4px] block">
|
class="shadow-[0px_2px_4px_0px_rgba(0,0,0,0.12)] p-[0_10px] w-[100%] h-[32px] mb-[10px] border border-[#D8D8D8] rounded-[4px] block">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Địa chỉ</td>
|
<td>Địa chỉ</td>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" id="js-shipping-address-address" size="50" value="Kiến Hưng - Hà Đông - Hà Nội"
|
<input type="text" id="js-shipping-address-address" size="50" value="Kiến Hưng - Hà Đông - Hà Nội"
|
||||||
class="shadow-[0px_2px_4px_0px_rgba(0,0,0,0.12)] p-[0_10px] w-[100%] h-[32px] mb-[10px] border border-[#D8D8D8] rounded-[4px] block">
|
class="shadow-[0px_2px_4px_0px_rgba(0,0,0,0.12)] p-[0_10px] w-[100%] h-[32px] mb-[10px] border border-[#D8D8D8] rounded-[4px] block">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<!--<tr><td>Phân loại</td><td><input type=text id="js-shipping-address-type" size=30 value="" /></td></tr>-->
|
<!--<tr><td>Phân loại</td><td><input type=text id="js-shipping-address-type" size=30 value="" /></td></tr>-->
|
||||||
<tr>
|
<tr>
|
||||||
<td>Ghi chú</td>
|
<td>Ghi chú</td>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" id="js-shipping-address-note" value="test"
|
<input type="text" id="js-shipping-address-note" value="test"
|
||||||
class="shadow-[0px_2px_4px_0px_rgba(0,0,0,0.12)] p-[0_10px] w-[100%] h-[32px] mb-[10px] border border-[#D8D8D8] rounded-[4px] block">
|
class="shadow-[0px_2px_4px_0px_rgba(0,0,0,0.12)] p-[0_10px] w-[100%] h-[32px] mb-[10px] border border-[#D8D8D8] rounded-[4px] block">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td>
|
<td>
|
||||||
<input type="button" value="Cập nhật" onclick="OrderManagement.updateShippingAddress()"
|
<input type="button" value="Cập nhật" onclick="OrderManagement.updateShippingAddress()"
|
||||||
class="text-[#fff] bg-[#0041E8] rounded-[4px] h-[32px] p-[0_8px] cursor-pointer">
|
class="text-[#fff] bg-[#0041E8] rounded-[4px] h-[32px] p-[0_8px] cursor-pointer">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
<form method="dialog" class="modal-backdrop">
|
||||||
|
<button>close</button>
|
||||||
|
</form>
|
||||||
|
</dialog>
|
||||||
|
|
||||||
|
|
||||||
<!-- // Cập nhật địa chỉ thanh toán -->
|
<!-- // Cập nhật địa chỉ thanh toán -->
|
||||||
<div id="js-update-payment" class="p-[20px_16px] rounded-[15px] w-[100%] max-w-[600px]" style="display: none;">
|
<dialog id="js_update_payment" class="p-[20px_16px] rounded-[15px] w-[100%] max-w-[600px]" style="display: none;">
|
||||||
<p class="leading-[20px] text-[16px] font-bold mb-[15px]"> Cập nhật địa chỉ thanh toán </p>
|
<p class="leading-[20px] text-[16px] font-bold mb-[15px]"> Cập nhật địa chỉ thanh toán </p>
|
||||||
|
|
||||||
<label class="inline-flex cursor-pointer">
|
<label class="inline-flex cursor-pointer">
|
||||||
@@ -482,7 +488,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</dialog>
|
||||||
|
|
||||||
|
|
||||||
<!-- // Cập nhật phí ship cho đơn hàng -->
|
<!-- // Cập nhật phí ship cho đơn hàng -->
|
||||||
|
|||||||
@@ -114,3 +114,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<input type="checkbox" checked="checked"
|
||||||
|
class="checkbox border-orange-400 [--chkbg:theme(colors.indigo.600)] [--chkfg:orange] checked:border-indigo-800" />
|
||||||
|
<input type="checkbox" checked="checked" class="checkbox [--chkbg:oklch(var(--a))] [--chkfg:oklch(var(--p))]" />
|
||||||
@@ -11,13 +11,9 @@
|
|||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap"
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap"
|
||||||
rel="stylesheet">
|
rel="stylesheet">
|
||||||
<!-- <link href="https://cdn.jsdelivr.net/npm/daisyui@4.6.0/dist/full.min.css" rel="stylesheet" type="text/css" /> -->
|
|
||||||
<link rel="stylesheet" media="screen" href="{{ 'full.min.css' | asset_url }}?v12.11" />
|
<link rel="stylesheet" media="screen" href="{{ 'full.min.css' | asset_url }}?v12.11" />
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" />
|
|
||||||
<link rel="stylesheet" media="screen" href="{{ 'fancybox.css' | asset_url }}" />
|
|
||||||
<link rel="stylesheet" media="screen" href="{{ 'select2.css' | asset_url }}?v2.1" />
|
|
||||||
<link rel="stylesheet" media="screen" href="{{ 'pc_style.css' | asset_url }}?v2024.19" />
|
<link rel="stylesheet" media="screen" href="{{ 'pc_style.css' | asset_url }}?v2024.19" />
|
||||||
|
<script src="{{ 'tailwindcss.js' | asset_url }}"></script>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
@@ -29,12 +25,12 @@
|
|||||||
<div class="admin-global-container">
|
<div class="admin-global-container">
|
||||||
|
|
||||||
<!-- Menu full -->
|
<!-- Menu full -->
|
||||||
<div class="admin-menu-container box-menu sticky top-0 bottom-0 h-[100vh]" id="js-menu-big">
|
<div class="admin-menu-container box-menu fixed top-0 left-0 h-[100vh] z-[999]" id="js-menu-big">
|
||||||
<a href="" class="menu-logo">
|
<a href="" class="menu-logo">
|
||||||
<img src="{{ 'logo.png' | asset_url }}" />
|
<img src="{{ 'logo.png' | asset_url }}" />
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<div class="menu-list m-[50px_5px]">
|
<div class="menu-list m-[25px_5px]">
|
||||||
<a href="/"
|
<a href="/"
|
||||||
class="item flex items-center cursor-pointer p-[0_12px] rounded-[4px] relative delay-300 transition-all bg-[#004e99] mb-[4px] leading-[36px] {% if global.module == 'home' %} active {% endif %}">
|
class="item flex items-center cursor-pointer p-[0_12px] rounded-[4px] relative delay-300 transition-all bg-[#004e99] mb-[4px] leading-[36px] {% if global.module == 'home' %} active {% endif %}">
|
||||||
<i class="icons icon-home"></i>
|
<i class="icons icon-home"></i>
|
||||||
@@ -45,9 +41,9 @@
|
|||||||
{% assign _type = _category[0] %}
|
{% assign _type = _category[0] %}
|
||||||
{% assign _menuArray = _category[1].menu %}
|
{% assign _menuArray = _category[1].menu %}
|
||||||
{% if _category[1].enable == 1 %}
|
{% if _category[1].enable == 1 %}
|
||||||
<details class="relative w-[100%]" {% if _type==global.module %} open {% endif %}>
|
<div class="relative w-[100%] box-item" {% if _type==global.module %} open {% endif %}>
|
||||||
<summary class="item flex items-center justify-between cursor-pointer p-[0_12px] rounded-[4px] relative delay-300 transition-all bg-[#004e99] mb-[4px] leading-[36px]
|
<div class="item flex items-center justify-between cursor-pointer p-[0_12px] rounded-[4px] relative delay-300 transition-all bg-[#004e99] mb-[4px] leading-[36px]
|
||||||
{% if _type == global.module %} active {% endif %}">
|
{% if _type == global.module %} active {% endif %}" onclick="toggleSubMenu('{{ _type }}')">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
{% if _type == 'order' %} <i class="icons w-[20px] h-[20px] mr-[13px] icon-order"></i>
|
{% if _type == 'order' %} <i class="icons w-[20px] h-[20px] mr-[13px] icon-order"></i>
|
||||||
{% elsif _type == 'product' %} <i
|
{% elsif _type == 'product' %} <i
|
||||||
@@ -74,47 +70,38 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<i class="fa-solid fa-chevron-right"></i>
|
<i class="fa-solid fa-chevron-right"></i>
|
||||||
</summary>
|
</div>
|
||||||
|
|
||||||
<div class="sub-menu">
|
<div class="sub-menu" id="{{ _type }}">
|
||||||
{% for _item in _menuArray %}
|
{% for _item in _menuArray %}
|
||||||
<a href="{{ _item.url }}"
|
<a href="{{ _item.url }}"
|
||||||
class="p-[8px_16px] flex items-center {% if _item.view == global.view and _item.module == global.module %}current {% endif %}">
|
class="p-[8px_16px] flex items-center {% if _item.view == global.view and _item.module == global.module %}current {% endif %}">
|
||||||
{{_item.name }} </a>
|
{{_item.name }} </a>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</details>
|
|
||||||
|
<div class="hover-menu {% if _type == 'system' or _type == 'report' %}bottom{% endif %}">
|
||||||
|
{% for _item in _menuArray %}
|
||||||
|
<a href="{{ _item.url }}"
|
||||||
|
class="flex items-center {% if _item.view == global.view and _item.module == global.module %}current {% endif %}">
|
||||||
|
{{_item.name }} </a>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
<a href=""
|
||||||
|
class="item flex items-center cursor-pointer p-[0_12px] rounded-[4px] relative delay-300 transition-all bg-[#004e99] mb-[4px] leading-[36px]">
|
||||||
<div class="menu-list">
|
<i class="icons w-[20px] h-[20px] mr-[13px] icon-account"></i>
|
||||||
<p style="color: #81B5E4;margin: 0 0 10px;font-weight: 700;padding: 0 16px;">TÀI KHOẢN</p>
|
<span class="title">Quản lý tài khoản </span>
|
||||||
|
</a>
|
||||||
<a href=""
|
<a href=""
|
||||||
class="item flex items-center cursor-pointer p-[0_12px] rounded-[4px] relative delay-300 transition-all bg-[#004e99] mb-[4px] leading-[36px]">
|
class="item flex items-center cursor-pointer p-[0_12px] rounded-[4px] relative delay-300 transition-all bg-[#004e99] mb-[4px] leading-[36px]">
|
||||||
<i class="icons w-[20px] h-[20px] mr-[13px] icon-settings"></i>
|
<i class="icons w-[20px] h-[20px] mr-[13px] icon-settings"></i>
|
||||||
<span class="title"> Cài đặt </span>
|
<span class="title"> Cài đặt </span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a href=""
|
|
||||||
class="item flex items-center cursor-pointer p-[0_12px] rounded-[4px] relative delay-300 transition-all bg-[#004e99] mb-[4px] leading-[36px]">
|
|
||||||
<i class="icons w-[20px] h-[20px] mr-[13px] icon-support"></i>
|
|
||||||
<span class="title"> Hỗ trợ </span>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
<a href=""
|
|
||||||
class="item flex items-center cursor-pointer p-[0_12px] rounded-[4px] relative delay-300 transition-all bg-[#004e99] mb-[4px] leading-[36px]">
|
|
||||||
<i class="icons w-[20px] h-[20px] mr-[13px] icon-account"></i>
|
|
||||||
<span class="title"> Quản lý tài khoản </span>
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a href=""
|
|
||||||
class="item flex items-center cursor-pointer p-[0_12px] rounded-[4px] relative delay-300 transition-all bg-[#004e99] mb-[4px] leading-[36px]">
|
|
||||||
<i class="icons w-[20px] h-[20px] mr-[13px] icon-logout"></i>
|
|
||||||
<span class="title"> Thoát quản trị </span>
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Menu collapse -->
|
<!-- Menu collapse -->
|
||||||
@@ -226,7 +213,7 @@
|
|||||||
|
|
||||||
</div> -->
|
</div> -->
|
||||||
|
|
||||||
<div class="admin-content-container ml-[50px]" id="js-admin-content-container">
|
<div class="admin-content-container ml-[245px]" id="js-admin-content-container">
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<div class="admin-header-container flex items-center justify-between bg-white px-4 py-3">
|
<div class="admin-header-container flex items-center justify-between bg-white px-4 py-3">
|
||||||
<form class="max-w-[420px] relative w-[100%] menu-hide" id="js-form-search">
|
<form class="max-w-[420px] relative w-[100%] menu-hide" id="js-form-search">
|
||||||
@@ -316,9 +303,6 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="{{ 'jquery.js' | asset_url }}"></script>
|
<script src="{{ 'jquery.js' | asset_url }}"></script>
|
||||||
<script src="{{ 'tailwindcss.js' | asset_url }}"></script>
|
|
||||||
<script src="{{ 'fancybox.js' | asset_url }}"></script>
|
|
||||||
<script src="{{ 'select2.js' | asset_url }}"></script>
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/flowbite/2.3.0/datepicker.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/flowbite/2.3.0/datepicker.min.js"></script>
|
||||||
<script src="/assets/typescript/main.js?v=1.111"></script>
|
<script src="/assets/typescript/main.js?v=1.111"></script>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user