Compare commits
119 Commits
dde52d00d6
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| b4b7a452fc | |||
| e703314c7f | |||
| d51528e407 | |||
| 6f7a292259 | |||
| 04f6e919f0 | |||
| 123853df5c | |||
| d2b916b985 | |||
| c51cf9dc87 | |||
| 01a0a60ef6 | |||
| 70ca13999e | |||
| ebfaf799eb | |||
| 7df4c3405f | |||
| 1afcb2364e | |||
| 699db96d26 | |||
| 9363b3bb4f | |||
| 043b3ac069 | |||
| 0068d20a12 | |||
| ac2717b077 | |||
| 603d024af3 | |||
| 1dbf988073 | |||
| 60823b0aab | |||
| 942aeafb60 | |||
| 75a641ab40 | |||
| 3f57e61be2 | |||
| 546d4b6f95 | |||
| d0ee976b0c | |||
| e6c4947c75 | |||
| 6233a30284 | |||
| 2ad52e7ce8 | |||
| 587cdd5420 | |||
| a289d69a6b | |||
| 91941d7c14 | |||
| af6f1eff2e | |||
| 8c42d57fcd | |||
| 6876ab2bd3 | |||
| 4a4c3177a9 | |||
| b6d1297a20 | |||
| 4a6b814426 | |||
| 4d67725ea8 | |||
| caa5828511 | |||
| 1dda5db73b | |||
| 971a23ae2a | |||
| 060e3643ea | |||
| 1c2c38a8bb | |||
| e8e9f7c382 | |||
| 5529e9ff1f | |||
| 30ebfb6644 | |||
| 3137a8226b | |||
| a399a7bedd | |||
| fe6ba5b1a0 | |||
| d20a20684d | |||
| dd8de9838f | |||
| 1b461f0e86 | |||
| ef51a9d6f4 | |||
| 34275ed7b7 | |||
| 0c8e3258c4 | |||
| 3a257c411e | |||
| 7857cc0422 | |||
| dbeda7da6d | |||
| 66344ad5c6 | |||
| ae9d94330f | |||
| 84731fc375 | |||
| e60866c99f | |||
| 1315df5ebb | |||
| c3c4efd679 | |||
| 961e92b965 | |||
| cc0f195bee | |||
| 9bdd0e435a | |||
| 7299751c83 | |||
| e41fa9b5b1 | |||
| dccf38d6d3 | |||
| 48c9cba704 | |||
| 6ee294d14b | |||
| 4e9930841c | |||
| fb29ea215a | |||
| eee07fab6b | |||
| f567aed4da | |||
| 90e1a88461 | |||
| cea5665f51 | |||
| f0628c310c | |||
| 9737f4ed81 | |||
| f66da1b416 | |||
| ce9710c758 | |||
| fe7ddf826e | |||
| 6415cca99f | |||
| 7b96c6d976 | |||
| 615e36647a | |||
| d71cbe3065 | |||
| d9094447c8 | |||
| edee2ad3d8 | |||
| da868053ca | |||
| d33bec681f | |||
| 5cf4155fcc | |||
| 10b1b7da6e | |||
| 8679b320e1 | |||
| 14ef2c1610 | |||
| 91d317607a | |||
| d5bd7d2948 | |||
| 21d3b53747 | |||
| 78d3c1e64f | |||
| f8088b3a71 | |||
| 6f393f6e64 | |||
| 6166366250 | |||
| 4773342421 | |||
| 1a5515ed95 | |||
| 22ceb73fb1 | |||
| eafb7bfb5f | |||
| 15f5520474 | |||
| 546ac5d1e2 | |||
| 200a04e66a | |||
| a7bdbd38fe | |||
| 672bd0067e | |||
| 92331cc02b | |||
| cf98ec94a0 | |||
| 5dcb6686c2 | |||
| 7feffb1783 | |||
| 6f9cfba530 | |||
| 2c6a60a2d7 | |||
| 70d0602388 |
1
.gitignore
vendored
@@ -2,3 +2,4 @@ package/vendor
|
||||
package/composer.lock
|
||||
.idea
|
||||
|
||||
node_modules/
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
<p>Repo: <a href="https://repo.hurasoft.com/tieptk/admin_hura_8" target="_blank">https://repo.hurasoft.com/tieptk/admin_hura_8</a></p>
|
||||
|
||||
<p>Theo dõi tiến độ: <a href="https://docs.google.com/spreadsheets/d/1Po3ANsG00pm_Y3dnrwuV81cidTCCqepYmR3yPDlIq6c/edit#gid=0" target="_blank">https://docs.google.com/spreadsheets/d/1Po3ANsG00pm_Y3dnrwuV81cidTCCqepYmR3yPDlIq6c/edit#gid=0</a></p>
|
||||
|
||||
<h2>Cài đặt hệ thống</h2>
|
||||
|
||||
<p>Test và làm việc chính tại web: <a href="http://local.hura8_admin/"> http://local.hura8_admin/</a> </p>
|
||||
|
||||
BIN
assets/images/avatars/1.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
assets/images/avatars/10.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
assets/images/avatars/2.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
assets/images/avatars/3.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
assets/images/avatars/4.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
assets/images/avatars/5.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
assets/images/avatars/6.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
assets/images/avatars/7.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
assets/images/avatars/8.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
assets/images/avatars/9.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
assets/images/brand-1.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 26 KiB |
BIN
assets/images/logo_hura8.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
@@ -1,44 +0,0 @@
|
||||
|
||||
const RowExpand = (function (){
|
||||
|
||||
const $status_expand_all = $("#js-row-expand-all");
|
||||
|
||||
let track_open_rows = [];
|
||||
|
||||
function open_child_row(child_class_name){
|
||||
const $children = $(`.${child_class_name}`);
|
||||
|
||||
if(!track_open_rows.includes(child_class_name)) {
|
||||
$children.css('display', 'table-row');
|
||||
track_open_rows.push(child_class_name);
|
||||
}else{
|
||||
$children.css('display', 'none');
|
||||
track_open_rows = [...Util.removeItemFromArray(track_open_rows, child_class_name)];
|
||||
}
|
||||
}
|
||||
|
||||
function open_all_row(){
|
||||
if(!track_open_rows.includes('expand_all')) {
|
||||
$(".row").css('display', 'table-row');
|
||||
track_open_rows.push('expand_all');
|
||||
|
||||
$status_expand_all.html("[-]");
|
||||
|
||||
}else{
|
||||
// collapse all
|
||||
$(".row").css('display', 'none');
|
||||
// open only first parent
|
||||
$(".parent_0").css('display', 'table-row');
|
||||
|
||||
track_open_rows = [];
|
||||
|
||||
$status_expand_all.html("[+]");
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
open_child: open_child_row,
|
||||
open_all: open_all_row
|
||||
}
|
||||
|
||||
})();
|
||||
7308
assets/script/hura-lib.css
Normal file
252
assets/script/hura.global.css
Normal file
@@ -0,0 +1,252 @@
|
||||
/* ===========================
|
||||
FONT IMPORT (Dùng chung)
|
||||
=========================== */
|
||||
@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@100;200;300;400;500;600;700;800;900;1000&display=swap";
|
||||
@import "https://fonts.googleapis.com/css2?family=Wix+Madefor+Text:wght@400;500;600;700;800;1000&display=swap";
|
||||
@import "https://fonts.googleapis.com/css2?family=Inclusive+Sans:wght@400;500;600;700;800;900;1000&display=swap";
|
||||
@import "https://fonts.googleapis.com/css2?family=AR+One+Sans:wght@400;500;600;700;800;1000&display=swap";
|
||||
|
||||
@layer properties {
|
||||
:root {
|
||||
--font-sans: "Inclusive Sans", sans-serif;
|
||||
--text-base: 16px;
|
||||
--bg-body: #fafbfd;
|
||||
--color-hura: #0041e8;
|
||||
--color-header: #002bb5;
|
||||
--text-base--line-height: 1.5;
|
||||
--color-black: #000;
|
||||
--color-white: #fff;
|
||||
--spacing: 0.25rem;
|
||||
--layout-topbar-background: #fff;
|
||||
--menu-active: #e9f2ff;
|
||||
--menu-text: #177bff;
|
||||
--menu-sub-bg: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
@layer base {
|
||||
html,
|
||||
body {
|
||||
font-family: var(--font-sans);
|
||||
font-size: var(--text-base);
|
||||
line-height: var(--text-base--line-height);
|
||||
}
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
|
||||
@layer components {
|
||||
#layout-topbar {
|
||||
background: var(--layout-topbar-background);
|
||||
top: calc(var(--spacing) * 0);
|
||||
z-index: 10;
|
||||
transition-property: top, margin, border-radius;
|
||||
transition-timing-function: var(
|
||||
--tw-ease,
|
||||
var(--default-transition-timing-function)
|
||||
);
|
||||
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
||||
--tw-duration: 0.3s;
|
||||
transition-duration: 0.3s;
|
||||
position: sticky;
|
||||
border-bottom-style: solid;
|
||||
border-bottom-width: 1px;
|
||||
border-color: var(--color-base-300);
|
||||
}
|
||||
#layout-content {
|
||||
padding: calc(var(--spacing) * 6);
|
||||
transition-property: all;
|
||||
transition-timing-function: var(
|
||||
--tw-ease,
|
||||
var(--default-transition-timing-function)
|
||||
);
|
||||
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
||||
flex-grow: 1;
|
||||
background: var(--bg-body);
|
||||
}
|
||||
.bg-menu {
|
||||
background-color: var(--color-header);
|
||||
}
|
||||
/* menu */
|
||||
.menu {
|
||||
& {
|
||||
--menu-active-bg: #e9f2ff;
|
||||
}
|
||||
}
|
||||
.menu-horizontal {
|
||||
display: inline-flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
.menu-horizontal li {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* ACTIVE STATE (LEVEL 1) */
|
||||
.menu-horizontal li.active {
|
||||
background: var(--menu-active);
|
||||
}
|
||||
|
||||
.menu-horizontal li.active .grow,
|
||||
.menu-horizontal li.active svg {
|
||||
color: var(--menu-text);
|
||||
}
|
||||
|
||||
/* ACTIVE STATE (LEVEL 2) */
|
||||
.menu-horizontal li.active ul li.active {
|
||||
background: var(--color-hura);
|
||||
}
|
||||
|
||||
.menu-horizontal li.active ul li.active a {
|
||||
color: #fff;
|
||||
}
|
||||
/* HOVER LEVEL 1 */
|
||||
|
||||
.menu-horizontal li:hover {
|
||||
background: var(--menu-active);
|
||||
}
|
||||
|
||||
.menu-horizontal li:hover .grow,
|
||||
.menu-horizontal li:hover svg {
|
||||
color: var(--color-hura);
|
||||
}
|
||||
|
||||
/* Dải hover giữ submenu không bị mất */
|
||||
.menu-horizontal li::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: -18px;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.menu-horizontal li:hover::before {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* ==========================
|
||||
SUBMENU (UL)
|
||||
========================== */
|
||||
.menu-horizontal li .submenu {
|
||||
position: absolute !important;
|
||||
top: 125%;
|
||||
left: 0;
|
||||
background: var(--menu-sub-bg);
|
||||
margin-left: 0 !important;
|
||||
padding: 0.5rem;
|
||||
z-index: 999;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
||||
max-height: 500px;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
display: none;
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
/* DaisyUI details submenu spacing */
|
||||
.menu-horizontal > li:not(.menu-title) > details > ul {
|
||||
margin-top: 1rem;
|
||||
padding-inline-end: 0.5rem;
|
||||
}
|
||||
|
||||
/* SHOW SUBMENU ON HOVER */
|
||||
.menu-horizontal li:hover .submenu,
|
||||
.menu-horizontal li:hover > details > ul {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Remove extra before from DaisyUI */
|
||||
.menu-horizontal > li > details > ul:before {
|
||||
content: none;
|
||||
}
|
||||
/* ==========================
|
||||
SUBMENU HOVER ITEMS
|
||||
========================== */
|
||||
.menu-horizontal li ul li:hover {
|
||||
background: var(--color-hura);
|
||||
}
|
||||
|
||||
.menu-horizontal li ul li:hover a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.menu-horizontal li ul li:hover::before {
|
||||
display: none;
|
||||
}
|
||||
/* Font weight chung */
|
||||
.menu-horizontal .grow {
|
||||
font-weight: 500;
|
||||
}
|
||||
.menu-icon-color {
|
||||
color: #838383;
|
||||
}
|
||||
.card-body {
|
||||
padding: calc(var(--spacing) * 4);
|
||||
}
|
||||
.choices {
|
||||
margin-top: calc(var(--spacing) * 2);
|
||||
--tw-shadow:
|
||||
0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),
|
||||
0 1px 2px -1px var(--tw-shadow-color, #0000001a);
|
||||
box-shadow:
|
||||
var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
|
||||
var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
||||
border-radius: var(--radius-sm);
|
||||
}
|
||||
.choices__inner {
|
||||
background: #fff !important;
|
||||
min-height: 38px !important;
|
||||
padding: 5px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@layer hura {
|
||||
.hura-btn-active {
|
||||
--btn-bg: var(--color-hura);
|
||||
--btn-fg: #ffffff;
|
||||
--btn-border: var(--color-hura);
|
||||
color: var(--color-white);
|
||||
}
|
||||
.hura-btn-active:hover {
|
||||
--btn-bg: #002bb5;
|
||||
--btn-border: #002bb5;
|
||||
}
|
||||
.hura-btn-outline {
|
||||
background: #f5f7ff;
|
||||
color: var(--color-hura);
|
||||
border: 1px solid var(--color-hura);
|
||||
}
|
||||
.hura-btn-outline:hover {
|
||||
background: var(--color-hura);
|
||||
color: #fff;
|
||||
}
|
||||
.hura-checkbox:checked,
|
||||
.hura-checkbox[aria-checked="true"] {
|
||||
background: var(--color-hura);
|
||||
color: #fff;
|
||||
}
|
||||
.hura-radio:checked,
|
||||
.hura-radio[aria-checked="true"] {
|
||||
border-color: var(--color-hura);
|
||||
}
|
||||
.hura-radio:checked::before,
|
||||
.hura-radio[aria-checked="true"]::before {
|
||||
background-color: var(--color-hura);
|
||||
}
|
||||
.hura-text-blue {
|
||||
color: var(--color-hura);
|
||||
}
|
||||
.hura-bg-blue {
|
||||
background: var(--color-hura);
|
||||
}
|
||||
.hura-shadow-blue {
|
||||
box-shadow:
|
||||
0 10px 15px -3px rgb(var(--color-hura) / 0.35),
|
||||
0 4px 6px -4px rgb(var(--color-hura) / 0.25);
|
||||
}
|
||||
}
|
||||
2
assets/script/jquery.js
vendored
Normal file
@@ -1,924 +0,0 @@
|
||||
@charset "UTF-8";
|
||||
*,
|
||||
::after,
|
||||
::before {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
button,
|
||||
input,
|
||||
select {
|
||||
outline: none !important;
|
||||
color: #000;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
button,
|
||||
input {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
margin: 0;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
input::-webkit-outer-spin-button,
|
||||
input::-webkit-inner-spin-button {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
input[type=number] {
|
||||
-moz-appearance: textfield;
|
||||
}
|
||||
|
||||
input[type=date]::-webkit-calendar-picker-indicator {
|
||||
background: transparent;
|
||||
bottom: 0;
|
||||
color: transparent;
|
||||
cursor: pointer;
|
||||
height: auto;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
body {
|
||||
color: #000;
|
||||
font-family: "Inter", sans-serif;
|
||||
background: #fafafb;
|
||||
position: relative;
|
||||
font-size: 14px;
|
||||
word-break: break-word;
|
||||
counter-reset: section;
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: #f5f5f5;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: grey;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #ccc;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
.clearfix::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.inherit {
|
||||
font-size: inherit;
|
||||
font-weight: inherit;
|
||||
line-height: inherit;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.line-clamp-2 {
|
||||
text-overflow: ellipsis;
|
||||
-webkit-line-clamp: 2;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.line-clamp-3 {
|
||||
text-overflow: ellipsis;
|
||||
-webkit-line-clamp: 3;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.line-clamp-4 {
|
||||
text-overflow: ellipsis;
|
||||
-webkit-line-clamp: 4;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.line-clamp-5 {
|
||||
text-overflow: ellipsis;
|
||||
-webkit-line-clamp: 5;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.icons {
|
||||
background: url(../images/global-sprite.png) no-repeat;
|
||||
background-size: 400px 400px;
|
||||
background-position: 0 40px;
|
||||
}
|
||||
|
||||
.admin-global-container {
|
||||
max-width: 1720px;
|
||||
margin: auto;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.admin-menu-container {
|
||||
position: relative;
|
||||
overflow: auto;
|
||||
background: #004e99;
|
||||
color: #fff;
|
||||
width: 18%;
|
||||
padding: 20px 0;
|
||||
line-height: 20px;
|
||||
}
|
||||
.admin-menu-container a {
|
||||
color: #fff;
|
||||
}
|
||||
.admin-menu-container .menu-logo {
|
||||
display: table;
|
||||
margin-bottom: 50px;
|
||||
margin-left: 16px;
|
||||
}
|
||||
.admin-menu-container .menu-logo img {
|
||||
height: 22px;
|
||||
}
|
||||
.admin-menu-container .menu-list {
|
||||
margin: 50px 0;
|
||||
}
|
||||
.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 summary {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
cursor: pointer;
|
||||
padding-right: 16px;
|
||||
border-radius: 4px;
|
||||
position: relative;
|
||||
transition: 0.3s all;
|
||||
}
|
||||
.admin-menu-container summary a {
|
||||
padding: 8px 16px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.admin-menu-container svg {
|
||||
position: absolute;
|
||||
right: 16px;
|
||||
transition: 0.3s all;
|
||||
}
|
||||
.admin-menu-container .item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 16px;
|
||||
line-height: 36px;
|
||||
transition: 0.3s all;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.admin-menu-container .item:hover {
|
||||
background: #81b5e4;
|
||||
}
|
||||
.admin-menu-container .item:hover .icons {
|
||||
filter: brightness(100);
|
||||
}
|
||||
.admin-menu-container .item .icons {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-right: 13px;
|
||||
}
|
||||
.admin-menu-container .title {
|
||||
width: calc(100% - 33px);
|
||||
}
|
||||
.admin-menu-container .sub-menu {
|
||||
padding: 13px 13px 13px 45px;
|
||||
position: relative;
|
||||
}
|
||||
.admin-menu-container .sub-menu::before {
|
||||
content: "";
|
||||
width: 1px;
|
||||
height: calc(100% - 39px);
|
||||
background: #79b0e2;
|
||||
position: absolute;
|
||||
left: 20px;
|
||||
top: 20px;
|
||||
}
|
||||
.admin-menu-container .sub-menu a {
|
||||
display: block;
|
||||
margin-bottom: 15px;
|
||||
position: relative;
|
||||
}
|
||||
.admin-menu-container .sub-menu a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.admin-menu-container .sub-menu a.current {
|
||||
font-weight: 700;
|
||||
text-decoration: none;
|
||||
}
|
||||
.admin-menu-container .sub-menu a::before {
|
||||
content: "";
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background: #79b0e2;
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
left: -28px;
|
||||
}
|
||||
.admin-menu-container .sub-menu a:last-child {
|
||||
margin: 0;
|
||||
}
|
||||
.admin-menu-container .icon-home {
|
||||
background-position: -9px -7px;
|
||||
}
|
||||
.admin-menu-container .icon-order {
|
||||
background-position: -45px -7px;
|
||||
}
|
||||
.admin-menu-container .icon-product {
|
||||
background-position: -81px -8px;
|
||||
}
|
||||
.admin-menu-container .icon-customer {
|
||||
background-position: -117px -8px;
|
||||
}
|
||||
.admin-menu-container .icon-marketing {
|
||||
background-position: -154px -8px;
|
||||
}
|
||||
.admin-menu-container .icon-content {
|
||||
background-position: -187px -8px;
|
||||
}
|
||||
.admin-menu-container .icon-stats {
|
||||
background-position: -224px -8px;
|
||||
}
|
||||
.admin-menu-container .icon-system {
|
||||
background-position: -262px -8px;
|
||||
}
|
||||
.admin-menu-container .icon-settings {
|
||||
background-position: -297px -8px;
|
||||
}
|
||||
.admin-menu-container .icon-support {
|
||||
background-position: -332px -7px;
|
||||
}
|
||||
.admin-menu-container .icon-account {
|
||||
background-position: -367px -9px;
|
||||
}
|
||||
.admin-menu-container .icon-logout {
|
||||
background-position: -9px -45px;
|
||||
}
|
||||
.admin-menu-container .icon-close {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
}
|
||||
.admin-menu-container .icon-investor_relation {
|
||||
background-position: -9px -126px;
|
||||
}
|
||||
.admin-menu-container .icon-job {
|
||||
background-position: -52px -126px;
|
||||
}
|
||||
.admin-menu-container .icon-pcbuilder {
|
||||
background-position: -99px -126px;
|
||||
}
|
||||
.admin-menu-container .icon-payinstall {
|
||||
background-position: -142px -125px;
|
||||
}
|
||||
.admin-menu-container .icon-distributor {
|
||||
background-position: -187px -126px;
|
||||
}
|
||||
|
||||
.admin-menu {
|
||||
color: #fff;
|
||||
z-index: 1;
|
||||
}
|
||||
.admin-menu .item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
transition: 0.3s all;
|
||||
position: relative;
|
||||
}
|
||||
.admin-menu .item:hover, .admin-menu .item.current {
|
||||
background: #81b5e4;
|
||||
}
|
||||
.admin-menu .item:hover .icons, .admin-menu .item.current .icons {
|
||||
filter: brightness(100);
|
||||
}
|
||||
.admin-menu .item:hover .sub-menu {
|
||||
left: calc(100% + 8px);
|
||||
opacity: 1;
|
||||
visibility: inherit;
|
||||
}
|
||||
.admin-menu .item:hover::before {
|
||||
display: block;
|
||||
}
|
||||
.admin-menu .item.bottom .sub-menu {
|
||||
top: unset;
|
||||
}
|
||||
.admin-menu .item.bottom:hover .sub-menu {
|
||||
top: auto;
|
||||
bottom: 0;
|
||||
}
|
||||
.admin-menu .item::before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
width: 50px;
|
||||
right: -20px;
|
||||
height: 41px;
|
||||
display: none;
|
||||
}
|
||||
.admin-menu .item:nth-child(n+10) .sub-menu {
|
||||
top: unset;
|
||||
}
|
||||
.admin-menu .sub-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;
|
||||
min-width: 150px;
|
||||
z-index: -1;
|
||||
transition: 0.2s all;
|
||||
position: absolute;
|
||||
left: calc(100% + 30px);
|
||||
top: 0;
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
min-width: 200px;
|
||||
}
|
||||
.admin-menu .sub-menu a {
|
||||
display: block;
|
||||
margin-bottom: 12px;
|
||||
line-height: 18px;
|
||||
position: relative;
|
||||
}
|
||||
.admin-menu .sub-menu a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.admin-menu .sub-menu a.current {
|
||||
font-weight: 700;
|
||||
text-decoration: none;
|
||||
}
|
||||
.admin-menu .sub-menu a::before {
|
||||
content: "";
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background: #79b0e2;
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
left: -16px;
|
||||
}
|
||||
.admin-menu .sub-menu a:last-child {
|
||||
margin: 0;
|
||||
}
|
||||
.admin-menu .menu-list {
|
||||
padding-left: 16px;
|
||||
margin-top: 10px;
|
||||
position: relative;
|
||||
max-height: 350px;
|
||||
overflow-y: auto;
|
||||
padding-right: 10px;
|
||||
margin-right: -12px;
|
||||
}
|
||||
.admin-menu .menu-list::before {
|
||||
content: "";
|
||||
width: 1.5px;
|
||||
background: #79b0e2;
|
||||
position: absolute;
|
||||
left: 3px;
|
||||
top: 7px;
|
||||
bottom: 7px;
|
||||
}
|
||||
.admin-menu .menu-list::-webkit-scrollbar-thumb {
|
||||
background: #fff;
|
||||
}
|
||||
.admin-menu .menu-list::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
.admin-menu .icons {
|
||||
width: 50px;
|
||||
height: 40px;
|
||||
}
|
||||
.admin-menu .icon-home {
|
||||
background-position: 7px 3px;
|
||||
}
|
||||
.admin-menu .icon-sell {
|
||||
background-position: -29px 3px;
|
||||
}
|
||||
.admin-menu .icon-product {
|
||||
background-position: -66px 3px;
|
||||
}
|
||||
.admin-menu .icon-user {
|
||||
background-position: -103px 3px;
|
||||
}
|
||||
.admin-menu .icon-marketing {
|
||||
background-position: -139px 3px;
|
||||
}
|
||||
.admin-menu .icon-content {
|
||||
background-position: -172px 3px;
|
||||
}
|
||||
.admin-menu .icon-stats {
|
||||
background-position: -208px 3px;
|
||||
}
|
||||
.admin-menu .icon-system {
|
||||
background-position: -247px 3px;
|
||||
}
|
||||
.admin-menu .icon-settings {
|
||||
background-position: -282px 2px;
|
||||
margin-left: -1px;
|
||||
}
|
||||
.admin-menu .icon-support {
|
||||
background-position: -318px 3px;
|
||||
}
|
||||
.admin-menu .icon-account {
|
||||
background-position: -354px 2px;
|
||||
}
|
||||
.admin-menu .icon-logout {
|
||||
background-position: 6px -34px;
|
||||
}
|
||||
.admin-menu .icon-investor_relation {
|
||||
background-position: 6px -115px;
|
||||
}
|
||||
.admin-menu .icon-job {
|
||||
background-position: -37px -114px;
|
||||
}
|
||||
.admin-menu .icon-pcbuilder {
|
||||
background-position: -83px -114px;
|
||||
}
|
||||
.admin-menu .icon-payinstall {
|
||||
background-position: -128px -114px;
|
||||
}
|
||||
.admin-menu .icon-distributor {
|
||||
background-position: -173px -114px;
|
||||
}
|
||||
.admin-menu .logo {
|
||||
position: relative;
|
||||
}
|
||||
.admin-menu .icon-close {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: -40px;
|
||||
width: 40px;
|
||||
display: block;
|
||||
background-color: rgb(0 78 153/var(--tw-bg-opacity));
|
||||
}
|
||||
.admin-menu .icon-close i {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
line-height: 40px;
|
||||
}
|
||||
|
||||
.admin-content-container {
|
||||
width: calc(100% - 50px);
|
||||
}
|
||||
.admin-content-container.show-large-menu {
|
||||
width: 82%;
|
||||
margin-left: 0;
|
||||
}
|
||||
.admin-content-container .note-list {
|
||||
min-width: 144px;
|
||||
}
|
||||
.admin-content-container .note-list a {
|
||||
display: block;
|
||||
padding: 0 10px;
|
||||
line-height: 35px;
|
||||
transition: 0.2s all;
|
||||
}
|
||||
.admin-content-container .note-list a:hover {
|
||||
background: #f5f7ff;
|
||||
color: #0041e8;
|
||||
font-weight: 600;
|
||||
}
|
||||
.admin-content-container .content-holder {
|
||||
padding: 16px 0 16px 16px;
|
||||
}
|
||||
|
||||
.table-fixed {
|
||||
text-align: center;
|
||||
}
|
||||
.table-fixed td {
|
||||
padding: 13px 8px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
.table-fixed tbody td {
|
||||
padding: 5px 8px;
|
||||
}
|
||||
.table-fixed tbody td:nth-child(2), .table-fixed tbody td:nth-child(3) {
|
||||
text-align: left;
|
||||
}
|
||||
.table-fixed tbody td:nth-child(2) {
|
||||
color: #0041e8;
|
||||
}
|
||||
|
||||
.admin-home-tab {
|
||||
overflow: auto;
|
||||
}
|
||||
.admin-home-tab a {
|
||||
color: #a0a8b5;
|
||||
padding: 9px 7.7px;
|
||||
text-align: center;
|
||||
border-right: 1px solid #dde1eb;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.admin-home-tab a:last-child {
|
||||
border: 0;
|
||||
}
|
||||
.admin-home-tab a:hover, .admin-home-tab a.current {
|
||||
background: #0041e8;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.home-report-holder {
|
||||
display: none;
|
||||
}
|
||||
.home-report-holder table {
|
||||
width: 100%;
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
.home-report-holder thead {
|
||||
background: #f6f6f6;
|
||||
font-weight: 500;
|
||||
}
|
||||
.home-report-holder td {
|
||||
border: 1px solid #ececec;
|
||||
padding: 14px 5px;
|
||||
}
|
||||
.home-report-holder td a {
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.home-report-holder td:nth-child(2) {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.home-todo-list td {
|
||||
padding: 0 4px;
|
||||
color: #000 !important;
|
||||
}
|
||||
.home-todo-list td:nth-child(1), .home-todo-list td:nth-child(3), .home-todo-list td:nth-child(4) {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.product-list th {
|
||||
padding: 10px;
|
||||
border: 1px solid #ececec;
|
||||
background: #f6f6f6;
|
||||
}
|
||||
.product-list td {
|
||||
padding: 8px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
|
||||
.product-sale-info td {
|
||||
padding: 14px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
|
||||
input[type=radio] {
|
||||
position: absolute;
|
||||
}
|
||||
input[type=radio]:before {
|
||||
content: "";
|
||||
background: #fff;
|
||||
border-radius: 100%;
|
||||
border: 1.5px solid #0041e8;
|
||||
display: inline-block;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
position: relative;
|
||||
top: -0.2em;
|
||||
margin-right: 1em;
|
||||
vertical-align: top;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
transition: all 250ms ease;
|
||||
}
|
||||
input[type=radio]:checked:before {
|
||||
background-color: #0041e8;
|
||||
box-shadow: inset 0 0 0 3px #fff;
|
||||
}
|
||||
input[type=radio]:focus:before {
|
||||
outline: none;
|
||||
border-color: #0041e8;
|
||||
}
|
||||
|
||||
.table-seo td {
|
||||
padding: 14px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
|
||||
.product-specifications td {
|
||||
padding: 14px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
|
||||
.table-config th {
|
||||
padding: 10px 5px;
|
||||
background: #f6f6f6;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
.table-config td {
|
||||
padding: 10px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
|
||||
.accessory th {
|
||||
padding: 10px 5px;
|
||||
background: #f6f6f6;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
.accessory td {
|
||||
padding: 10px 6px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
|
||||
.icons {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
display: block;
|
||||
}
|
||||
.icons.icon-search {
|
||||
background-position: -71px -40px;
|
||||
}
|
||||
.icons.header-support {
|
||||
height: 33px;
|
||||
background-position: -116px -42px;
|
||||
}
|
||||
.icons.icon-notification {
|
||||
height: 33px;
|
||||
background-position: -165px -42px;
|
||||
}
|
||||
.icons.icon-cart {
|
||||
background-position: -210px -36px;
|
||||
}
|
||||
.icons.icon-contact {
|
||||
background-position: -246px -36px;
|
||||
}
|
||||
.icons.icon-pay {
|
||||
background-position: -284px -36px;
|
||||
}
|
||||
.icons.icon-installment {
|
||||
background-position: -318px -36px;
|
||||
}
|
||||
.icons.icon-increase {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-position: -6px -85px;
|
||||
}
|
||||
.icons.icon-reduce {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-position: -43px -83px;
|
||||
}
|
||||
.icons.icon-edit {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-position: -114px -89px;
|
||||
}
|
||||
.icons.icon-view {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-position: -187px -88px;
|
||||
}
|
||||
.icons.icon-remove {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-position: -151px -88px;
|
||||
}
|
||||
.icons.icon-hide {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-position: -224px -88px;
|
||||
}
|
||||
|
||||
.admin-header-container .menu-hide {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
/* Bán hàng */
|
||||
.order-page .order-page-title a {
|
||||
margin: 0 2px 0 0;
|
||||
border-radius: 4px 4px 0px 0px;
|
||||
background: #f6f6f6;
|
||||
color: #919699;
|
||||
font-weight: 500;
|
||||
padding: 0 24px;
|
||||
}
|
||||
.order-page .order-page-title a:hover, .order-page .order-page-title a.current, .order-page .order-page-title a.active {
|
||||
background: #0041e8;
|
||||
color: #fff;
|
||||
}
|
||||
.order-page .order-page-table {
|
||||
text-align: center;
|
||||
}
|
||||
.order-page .order-page-table thead td {
|
||||
padding: 8px;
|
||||
}
|
||||
.order-page .order-page-table td {
|
||||
padding: 14px 8px;
|
||||
}
|
||||
.order-page .order-page-table td:nth-child(4), .order-page .order-page-table td:nth-child(10) {
|
||||
text-align: left;
|
||||
}
|
||||
.order-page .order-page-table td * {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.order-page-table {
|
||||
line-height: 20px;
|
||||
}
|
||||
.order-page-table a {
|
||||
color: #0041e8;
|
||||
}
|
||||
.order-page-table a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.order-page-table table {
|
||||
width: 100%;
|
||||
}
|
||||
.order-page-table thead {
|
||||
background: #f6f6f6;
|
||||
font-weight: 600;
|
||||
text-align: center;
|
||||
}
|
||||
.order-page-table thead td {
|
||||
padding: 8px;
|
||||
}
|
||||
.order-page-table tr:hover {
|
||||
background: #F5F7FF;
|
||||
}
|
||||
.order-page-table td {
|
||||
padding: 10px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
.order-page-table select {
|
||||
border-radius: 4px;
|
||||
border: 1px solid #d8d8d8;
|
||||
box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.12);
|
||||
height: 32px;
|
||||
display: block;
|
||||
width: 100%;
|
||||
padding: 0 0 0 5px;
|
||||
}
|
||||
.order-page-table .icons {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border: 1px solid #ececec;
|
||||
background-color: #f9f9f9;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.order-page-table .icon-edit {
|
||||
border: 1px solid #0041e8;
|
||||
background-color: #f5f7ff;
|
||||
background-position: -108px -82px;
|
||||
margin-right: 6px;
|
||||
}
|
||||
.order-page-table .icon-delete {
|
||||
background-position: -145px -82px;
|
||||
}
|
||||
|
||||
.td-top td {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.td-border-0 td {
|
||||
border: 0;
|
||||
padding: 3px 0;
|
||||
}
|
||||
|
||||
.order-detail-page .icon-edit {
|
||||
border: transparent;
|
||||
background-color: transparent;
|
||||
margin: 0;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.is-close-btn {
|
||||
background: #ececec !important;
|
||||
border-radius: 50%;
|
||||
top: 10px !important;
|
||||
right: 10px !important;
|
||||
color: #9e9e9e !important;
|
||||
}
|
||||
|
||||
.paging {
|
||||
margin: 30px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
line-height: 28px;
|
||||
}
|
||||
.paging a {
|
||||
margin: 0 3px;
|
||||
min-width: 28px;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
padding: 0 10px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.paging a:hover, .paging a.current, .paging a.active {
|
||||
background: #0041e8;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.global-breadcrumb-container {
|
||||
padding: 16px;
|
||||
line-height: 20px;
|
||||
}
|
||||
.global-breadcrumb-container a {
|
||||
display: inline-block;
|
||||
}
|
||||
.global-breadcrumb-container a:hover {
|
||||
color: #0041e8;
|
||||
}
|
||||
.global-breadcrumb-container a::after {
|
||||
content: "\f054";
|
||||
font-family: Fontawesome;
|
||||
font-size: 10px;
|
||||
margin: 0 5px;
|
||||
}
|
||||
.global-breadcrumb-container a:last-child {
|
||||
color: #0041e8;
|
||||
}
|
||||
.global-breadcrumb-container a:last-child::after {
|
||||
content: none;
|
||||
}
|
||||
|
||||
.table-brand th {
|
||||
padding: 7px 5px;
|
||||
background: #f6f6f6;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
.table-brand td {
|
||||
padding: 7px 6px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
|
||||
.autocomplete-suggestions .item {
|
||||
padding: 12px 0;
|
||||
border-bottom: 1px solid #ededed;
|
||||
}
|
||||
.autocomplete-suggestions .item .info {
|
||||
width: calc(100% - 108px);
|
||||
margin-right: 48px;
|
||||
}
|
||||
.autocomplete-suggestions .item img {
|
||||
width: 60px;
|
||||
display: block;
|
||||
}
|
||||
.autocomplete-suggestions .item .name {
|
||||
font-weight: 600;
|
||||
line-height: 20px;
|
||||
}
|
||||
.autocomplete-suggestions .item .price {
|
||||
font-weight: 600;
|
||||
color: #fb4e4e;
|
||||
line-height: 20px;
|
||||
display: block;
|
||||
margin-top: 5px;
|
||||
}/*# sourceMappingURL=pc_style.css.map */
|
||||
@@ -1,950 +0,0 @@
|
||||
*,
|
||||
::after,
|
||||
::before {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
button,
|
||||
input,
|
||||
select {
|
||||
outline: none !important;
|
||||
color: #000;
|
||||
border-radius: 0;
|
||||
}
|
||||
button,
|
||||
input {
|
||||
overflow: visible;
|
||||
}
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
margin: 0;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
border-radius: 0;
|
||||
}
|
||||
input::-webkit-outer-spin-button,
|
||||
input::-webkit-inner-spin-button {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
input[type="number"] {
|
||||
-moz-appearance: textfield;
|
||||
}
|
||||
input[type='date']::-webkit-calendar-picker-indicator {
|
||||
background: transparent;
|
||||
bottom: 0;
|
||||
color: transparent;
|
||||
cursor: pointer;
|
||||
height: auto;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: auto;
|
||||
}
|
||||
body {
|
||||
color: #000;
|
||||
font-family: "Inter", sans-serif;
|
||||
background: #fafafb;
|
||||
position: relative;
|
||||
font-size: 14px;
|
||||
word-break: break-word;
|
||||
counter-reset: section;
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
margin: auto;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
table {
|
||||
width: 100%;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
::-webkit-scrollbar-track {
|
||||
background: #f5f5f5;
|
||||
}
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: grey;
|
||||
border-radius: 5px;
|
||||
}
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #ccc;
|
||||
}
|
||||
::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
height: 10px;
|
||||
}
|
||||
.clearfix {
|
||||
&::after {
|
||||
content: "";
|
||||
clear: both;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
.inherit {
|
||||
font-size: inherit;
|
||||
font-weight: inherit;
|
||||
line-height: inherit;
|
||||
margin: 0;
|
||||
}
|
||||
.line-clamp-2 {
|
||||
text-overflow: ellipsis;
|
||||
-webkit-line-clamp: 2;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
}
|
||||
.line-clamp-3 {
|
||||
text-overflow: ellipsis;
|
||||
-webkit-line-clamp: 3;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
}
|
||||
.line-clamp-4 {
|
||||
text-overflow: ellipsis;
|
||||
-webkit-line-clamp: 4;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
}
|
||||
.line-clamp-5 {
|
||||
text-overflow: ellipsis;
|
||||
-webkit-line-clamp: 5;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
}
|
||||
.icons {
|
||||
background: url(../images/global-sprite.png) no-repeat;
|
||||
background-size: 400px 400px;
|
||||
background-position: 0 40px;
|
||||
}
|
||||
.admin-global-container {
|
||||
max-width: 1720px;
|
||||
margin: auto;
|
||||
display: flex;
|
||||
}
|
||||
.admin-menu-container {
|
||||
position: relative;
|
||||
overflow: auto;
|
||||
background: #004e99;
|
||||
color: #fff;
|
||||
width: 18%;
|
||||
padding: 20px 0;
|
||||
line-height: 20px;
|
||||
a {
|
||||
color: #fff;
|
||||
}
|
||||
.menu-logo {
|
||||
display: table;
|
||||
margin-bottom: 50px;
|
||||
margin-left: 16px;
|
||||
img {
|
||||
height: 22px;
|
||||
}
|
||||
}
|
||||
.menu-list {
|
||||
margin: 50px 0;
|
||||
}
|
||||
details {
|
||||
&[open] {
|
||||
svg {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
summary {
|
||||
background: #81b5e4;
|
||||
a {
|
||||
font-weight: 700;
|
||||
}
|
||||
}
|
||||
.icons {
|
||||
filter: brightness(100);
|
||||
}
|
||||
.fa-angle-right {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
summary {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
cursor: pointer;
|
||||
padding-right: 16px;
|
||||
border-radius: 4px;
|
||||
position: relative;
|
||||
transition: 0.3s all;
|
||||
a {
|
||||
padding: 8px 16px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
svg {
|
||||
position: absolute;
|
||||
right: 16px;
|
||||
transition: 0.3s all;
|
||||
}
|
||||
.item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 16px;
|
||||
line-height: 36px;
|
||||
transition: 0.3s all;
|
||||
border-radius: 4px;
|
||||
&:hover {
|
||||
background: #81b5e4;
|
||||
.icons {
|
||||
filter: brightness(100);
|
||||
}
|
||||
}
|
||||
.icons {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-right: 13px;
|
||||
}
|
||||
}
|
||||
.title {
|
||||
width: calc(100% - 33px);
|
||||
}
|
||||
.sub-menu {
|
||||
padding: 13px 13px 13px 45px;
|
||||
position: relative;
|
||||
&::before {
|
||||
content: "";
|
||||
width: 1px;
|
||||
height: calc(100% - 39px);
|
||||
background: #79b0e2;
|
||||
position: absolute;
|
||||
left: 20px;
|
||||
top: 20px;
|
||||
}
|
||||
a {
|
||||
display: block;
|
||||
margin-bottom: 15px;
|
||||
position: relative;
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
&.current {
|
||||
font-weight: 700;
|
||||
text-decoration: none;
|
||||
}
|
||||
&::before {
|
||||
content: "";
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background: #79b0e2;
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
left: -28px;
|
||||
}
|
||||
&:last-child {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.icon-home {
|
||||
background-position: -9px -7px;
|
||||
}
|
||||
.icon-order {
|
||||
background-position: -45px -7px;
|
||||
}
|
||||
.icon-product {
|
||||
background-position: -81px -8px;
|
||||
}
|
||||
.icon-customer {
|
||||
background-position: -117px -8px;
|
||||
}
|
||||
.icon-marketing {
|
||||
background-position: -154px -8px;
|
||||
}
|
||||
.icon-content {
|
||||
background-position: -187px -8px;
|
||||
}
|
||||
.icon-stats {
|
||||
background-position: -224px -8px;
|
||||
}
|
||||
.icon-system {
|
||||
background-position: -262px -8px;
|
||||
}
|
||||
.icon-settings {
|
||||
background-position: -297px -8px;
|
||||
}
|
||||
.icon-support {
|
||||
background-position: -332px -7px;
|
||||
}
|
||||
.icon-account {
|
||||
background-position: -367px -9px;
|
||||
}
|
||||
.icon-logout {
|
||||
background-position: -9px -45px;
|
||||
}
|
||||
.icon-close {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
}
|
||||
.icon-investor_relation {
|
||||
background-position: -9px -126px;
|
||||
}
|
||||
.icon-job {
|
||||
background-position: -52px -126px;
|
||||
}
|
||||
.icon-pcbuilder {
|
||||
background-position: -99px -126px;
|
||||
}
|
||||
.icon-payinstall {
|
||||
background-position: -142px -125px;
|
||||
}
|
||||
.icon-distributor {
|
||||
background-position: -187px -126px;
|
||||
}
|
||||
}
|
||||
.admin-menu {
|
||||
color: #fff;
|
||||
z-index: 1;
|
||||
.item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
transition: 0.3s all;
|
||||
position: relative;
|
||||
&:hover,
|
||||
&.current {
|
||||
background: #81b5e4;
|
||||
.icons {
|
||||
filter: brightness(100);
|
||||
}
|
||||
}
|
||||
&:hover {
|
||||
.sub-menu {
|
||||
left: calc(100% + 8px);
|
||||
opacity: 1;
|
||||
visibility: inherit;
|
||||
}
|
||||
&::before {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
&.bottom {
|
||||
.sub-menu {
|
||||
top: unset;
|
||||
}
|
||||
&:hover {
|
||||
.sub-menu {
|
||||
top: auto;
|
||||
bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
&::before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
width: 50px;
|
||||
right: -20px;
|
||||
height: 41px;
|
||||
display: none;
|
||||
}
|
||||
&:nth-child(n + 10) {
|
||||
.sub-menu {
|
||||
top: unset;
|
||||
}
|
||||
}
|
||||
}
|
||||
.sub-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;
|
||||
min-width: 150px;
|
||||
z-index: -1;
|
||||
transition: 0.2s all;
|
||||
position: absolute;
|
||||
left: calc(100% + 30px);
|
||||
top: 0;
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
min-width: 200px;
|
||||
a {
|
||||
display: block;
|
||||
margin-bottom: 12px;
|
||||
line-height: 18px;
|
||||
position: relative;
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
&.current {
|
||||
font-weight: 700;
|
||||
text-decoration: none;
|
||||
}
|
||||
&::before {
|
||||
content: "";
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background: #79b0e2;
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
left: -16px;
|
||||
}
|
||||
&:last-child {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.menu-list {
|
||||
padding-left: 16px;
|
||||
margin-top: 10px;
|
||||
position: relative;
|
||||
max-height: 350px;
|
||||
overflow-y: auto;
|
||||
padding-right: 10px;
|
||||
margin-right: -12px;
|
||||
&::before {
|
||||
content: "";
|
||||
width: 1.5px;
|
||||
background: #79b0e2;
|
||||
position: absolute;
|
||||
left: 3px;
|
||||
top: 7px;
|
||||
bottom: 7px;
|
||||
}
|
||||
&::-webkit-scrollbar-thumb {
|
||||
background: #fff;
|
||||
}
|
||||
&::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
.icons {
|
||||
width: 50px;
|
||||
height: 40px;
|
||||
}
|
||||
.icon-home {
|
||||
background-position: 7px 3px;
|
||||
}
|
||||
.icon-sell {
|
||||
background-position: -29px 3px;
|
||||
}
|
||||
.icon-product {
|
||||
background-position: -66px 3px;
|
||||
}
|
||||
.icon-user {
|
||||
background-position: -103px 3px;
|
||||
}
|
||||
.icon-marketing {
|
||||
background-position: -139px 3px;
|
||||
}
|
||||
.icon-content {
|
||||
background-position: -172px 3px;
|
||||
}
|
||||
.icon-stats {
|
||||
background-position: -208px 3px;
|
||||
}
|
||||
.icon-system {
|
||||
background-position: -247px 3px;
|
||||
}
|
||||
.icon-settings {
|
||||
background-position: -282px 2px;
|
||||
margin-left: -1px;
|
||||
}
|
||||
.icon-support {
|
||||
background-position: -318px 3px;
|
||||
}
|
||||
.icon-account {
|
||||
background-position: -354px 2px;
|
||||
}
|
||||
.icon-logout {
|
||||
background-position: 6px -34px;
|
||||
}
|
||||
.icon-investor_relation {
|
||||
background-position: 6px -115px;
|
||||
}
|
||||
.icon-job {
|
||||
background-position: -37px -114px;
|
||||
}
|
||||
.icon-pcbuilder {
|
||||
background-position: -83px -114px;
|
||||
}
|
||||
.icon-payinstall {
|
||||
background-position: -128px -114px;
|
||||
}
|
||||
.icon-distributor {
|
||||
background-position: -173px -114px;
|
||||
}
|
||||
.logo {
|
||||
position: relative;
|
||||
}
|
||||
.icon-close {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: -40px;
|
||||
width: 40px;
|
||||
display: block;
|
||||
background-color: rgb(0 78 153 / var(--tw-bg-opacity));
|
||||
i {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
line-height: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.admin-content-container {
|
||||
width: calc(100% - 50px);
|
||||
&.show-large-menu {
|
||||
width: 82%;
|
||||
margin-left: 0;
|
||||
}
|
||||
.note-list {
|
||||
min-width: 144px;
|
||||
a {
|
||||
display: block;
|
||||
padding: 0 10px;
|
||||
line-height: 35px;
|
||||
transition: 0.2s all;
|
||||
&:hover {
|
||||
background: #f5f7ff;
|
||||
color: #0041e8;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
}
|
||||
.content-holder {
|
||||
padding: 16px 0 16px 16px;
|
||||
}
|
||||
}
|
||||
.table-fixed {
|
||||
text-align: center;
|
||||
td {
|
||||
padding: 13px 8px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
tbody {
|
||||
td {
|
||||
padding: 5px 8px;
|
||||
&:nth-child(2),
|
||||
&:nth-child(3) {
|
||||
text-align: left;
|
||||
}
|
||||
&:nth-child(2) {
|
||||
color: #0041e8;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.admin-home-tab {
|
||||
overflow: auto;
|
||||
a {
|
||||
color: #a0a8b5;
|
||||
padding: 9px 7.7px;
|
||||
text-align: center;
|
||||
border-right: 1px solid #dde1eb;
|
||||
white-space: nowrap;
|
||||
&:last-child {
|
||||
border: 0;
|
||||
}
|
||||
&:hover,
|
||||
&.current {
|
||||
background: #0041e8;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
.home-report-holder {
|
||||
display: none;
|
||||
table {
|
||||
width: 100%;
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
thead {
|
||||
background: #f6f6f6;
|
||||
font-weight: 500;
|
||||
}
|
||||
td {
|
||||
border: 1px solid #ececec;
|
||||
padding: 14px 5px;
|
||||
a {
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
&:nth-child(2) {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
.home-todo-list {
|
||||
td {
|
||||
padding: 0 4px;
|
||||
color: #000 !important;
|
||||
&:nth-child(1),
|
||||
&:nth-child(3),
|
||||
&:nth-child(4) {
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
.product-list {
|
||||
th {
|
||||
padding: 10px;
|
||||
border: 1px solid #ececec;
|
||||
background: #f6f6f6;
|
||||
}
|
||||
td {
|
||||
padding: 8px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
}
|
||||
|
||||
.product-sale-info {
|
||||
td {
|
||||
padding: 14px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
}
|
||||
|
||||
input[type="radio"] {
|
||||
position: absolute;
|
||||
&:before {
|
||||
content: "";
|
||||
background: #fff;
|
||||
border-radius: 100%;
|
||||
border: 1.5px solid #0041e8;
|
||||
display: inline-block;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
position: relative;
|
||||
top: -0.2em;
|
||||
margin-right: 1em;
|
||||
vertical-align: top;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
transition: all 250ms ease;
|
||||
}
|
||||
|
||||
&:checked {
|
||||
&:before {
|
||||
background-color: #0041e8;
|
||||
box-shadow: inset 0 0 0 3px #fff;
|
||||
}
|
||||
}
|
||||
&:focus {
|
||||
&:before {
|
||||
outline: none;
|
||||
border-color: #0041e8;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.table-seo {
|
||||
td {
|
||||
padding: 14px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
}
|
||||
|
||||
.product-specifications {
|
||||
td {
|
||||
padding: 14px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
}
|
||||
|
||||
.table-config {
|
||||
th {
|
||||
padding: 10px 5px;
|
||||
background: #f6f6f6;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
td {
|
||||
padding: 10px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
}
|
||||
|
||||
.accessory {
|
||||
th {
|
||||
padding: 10px 5px;
|
||||
background: #f6f6f6;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
td {
|
||||
padding: 10px 6px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
}
|
||||
|
||||
.icons {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
display: block;
|
||||
&.icon-search {
|
||||
background-position: -71px -40px;
|
||||
}
|
||||
&.header-support {
|
||||
height: 33px;
|
||||
background-position: -116px -42px;
|
||||
}
|
||||
&.icon-notification {
|
||||
height: 33px;
|
||||
background-position: -165px -42px;
|
||||
}
|
||||
&.icon-cart {
|
||||
background-position: -210px -36px;
|
||||
}
|
||||
&.icon-contact {
|
||||
background-position: -246px -36px;
|
||||
}
|
||||
&.icon-pay {
|
||||
background-position: -284px -36px;
|
||||
}
|
||||
&.icon-installment {
|
||||
background-position: -318px -36px;
|
||||
}
|
||||
&.icon-increase {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-position: -6px -85px;
|
||||
}
|
||||
&.icon-reduce {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-position: -43px -83px;
|
||||
}
|
||||
&.icon-edit {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-position: -114px -89px;
|
||||
}
|
||||
&.icon-view {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-position: -187px -88px;
|
||||
}
|
||||
&.icon-remove {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-position: -151px -88px;
|
||||
}
|
||||
&.icon-hide {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-position: -224px -88px;
|
||||
}
|
||||
}
|
||||
|
||||
.admin-header-container {
|
||||
.menu-hide {
|
||||
margin-left: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Bán hàng */
|
||||
.order-page {
|
||||
.order-page-title {
|
||||
a {
|
||||
margin: 0 2px 0 0;
|
||||
border-radius: 4px 4px 0px 0px;
|
||||
background: #f6f6f6;
|
||||
color: #919699;
|
||||
font-weight: 500;
|
||||
padding: 0 24px;
|
||||
&:hover,
|
||||
&.current,
|
||||
&.active {
|
||||
background: #0041e8;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
.order-page-table {
|
||||
text-align: center;
|
||||
thead {
|
||||
td {
|
||||
padding: 8px;
|
||||
}
|
||||
}
|
||||
td {
|
||||
padding: 14px 8px;
|
||||
&:nth-child(4),
|
||||
&:nth-child(10) {
|
||||
text-align: left;
|
||||
}
|
||||
* {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.order-page-table {
|
||||
line-height: 20px;
|
||||
a {
|
||||
color: #0041e8;
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
table {
|
||||
width: 100%;
|
||||
}
|
||||
thead {
|
||||
background: #f6f6f6;
|
||||
font-weight: 600;
|
||||
text-align: center;
|
||||
td {
|
||||
padding: 8px;
|
||||
}
|
||||
}
|
||||
tr{
|
||||
&:hover{
|
||||
background: #F5F7FF;
|
||||
}
|
||||
}
|
||||
td {
|
||||
padding: 10px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
select {
|
||||
border-radius: 4px;
|
||||
border: 1px solid #d8d8d8;
|
||||
box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.12);
|
||||
height: 32px;
|
||||
display: block;
|
||||
width: 100%;
|
||||
padding: 0 0 0 5px;
|
||||
}
|
||||
.icons {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border: 1px solid #ececec;
|
||||
background-color: #f9f9f9;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.icon-edit {
|
||||
border: 1px solid #0041e8;
|
||||
background-color: #f5f7ff;
|
||||
background-position: -108px -82px;
|
||||
margin-right: 6px;
|
||||
}
|
||||
.icon-delete {
|
||||
background-position: -145px -82px;
|
||||
}
|
||||
}
|
||||
.td-top{
|
||||
td{
|
||||
vertical-align: top;
|
||||
}
|
||||
}
|
||||
.td-border-0{
|
||||
td{
|
||||
border: 0;
|
||||
padding: 3px 0;
|
||||
}
|
||||
}
|
||||
.order-detail-page{
|
||||
.icon-edit {
|
||||
border: transparent;
|
||||
background-color: transparent;
|
||||
margin: 0;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
}
|
||||
.is-close-btn {
|
||||
background: #ececec !important;
|
||||
border-radius: 50%;
|
||||
top: 10px !important;
|
||||
right: 10px !important;
|
||||
color: #9e9e9e !important;
|
||||
}
|
||||
.paging {
|
||||
margin: 30px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
line-height: 28px;
|
||||
a {
|
||||
margin: 0 3px;
|
||||
min-width: 28px;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
padding: 0 10px;
|
||||
border-radius: 4px;
|
||||
&:hover,
|
||||
&.current,
|
||||
&.active {
|
||||
background: #0041e8;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
.global-breadcrumb-container {
|
||||
padding: 16px;
|
||||
line-height: 20px;
|
||||
a {
|
||||
display: inline-block;
|
||||
&:hover {
|
||||
color: #0041e8;
|
||||
}
|
||||
&::after {
|
||||
content: "\f054";
|
||||
font-family: Fontawesome;
|
||||
font-size: 10px;
|
||||
margin: 0 5px;
|
||||
}
|
||||
&:last-child {
|
||||
color: #0041e8;
|
||||
&::after {
|
||||
content: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.table-brand {
|
||||
th {
|
||||
padding: 7px 5px;
|
||||
background: #f6f6f6;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
td {
|
||||
padding: 7px 6px;
|
||||
border: 1px solid #ececec;
|
||||
}
|
||||
}
|
||||
|
||||
.autocomplete-suggestions {
|
||||
.item {
|
||||
padding: 12px 0;
|
||||
border-bottom: 1px solid #ededed;
|
||||
.info {
|
||||
width: calc(100% - 108px);
|
||||
margin-right: 48px;
|
||||
}
|
||||
img {
|
||||
width: 60px;
|
||||
display: block;
|
||||
}
|
||||
.name {
|
||||
font-weight: 600;
|
||||
line-height: 20px;
|
||||
}
|
||||
.price {
|
||||
font-weight: 600;
|
||||
color: #fb4e4e;
|
||||
line-height: 20px;
|
||||
display: block;
|
||||
margin-top: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
2
assets/script/tailwind-daisyui.css
Normal file
@@ -0,0 +1,2 @@
|
||||
@import "tailwindcss";
|
||||
@plugin "daisyui";
|
||||
32
assets/typescript/main.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
"use strict";
|
||||
|
||||
interface AdminFunctions {
|
||||
addProductToCategory(productId: string): void;
|
||||
markProductAsHot(productId: string): void;
|
||||
}
|
||||
|
||||
const AdminFunctions: AdminFunctions = (() => {
|
||||
|
||||
function addProductToCategory(productId: string): void {
|
||||
const statusElement = $('#status_' + productId);
|
||||
statusElement.html('<span class="loading loading-bars loading-sm"></span><span class="ml-[3px]">Processing...</span>');
|
||||
setTimeout(() => {
|
||||
statusElement.html('');
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
function markProductAsHot(productId: string): void {
|
||||
const statusElement = $('#js-status-hottype-' + productId);
|
||||
statusElement.html('<span class="loading loading-bars loading-sm"></span><span class="ml-[3px]">Processing...</span>');
|
||||
setTimeout(() => {
|
||||
statusElement.html('');
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
return {
|
||||
addProductToCategory,
|
||||
markProductAsHot
|
||||
};
|
||||
})();
|
||||
|
||||
export default AdminFunctions;
|
||||
1
data/admin/admin_log_product.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/admin/department.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/admin/department_add.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/admin/department_entity_permission.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/admin/department_menu_permission.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/admin/login_log.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/customer/comment.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/customer/customer_add.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/customer/customer_contact.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/customer/customer_group.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/customer/customer_group_add.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/customer/customer_group_info.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/customer/customer_newsletter.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/customer/customer_review.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
3
data/customer/home.php
Normal file
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
|
||||
|
||||
1
data/customer/review.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/distributor/form.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/distributor/home.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/job/home.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/media/category.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/media/upload.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
@@ -24,18 +24,35 @@ function _get_menu_list() {
|
||||
$item_menu = include_once __DIR__."/menu_item/".$item.".php";
|
||||
|
||||
// skip not enabled
|
||||
if(!$item_menu['enable']) continue;
|
||||
if(!$item_menu['enable']) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// skip not enabled children
|
||||
$item_menu_children_enabled = array_filter($item_menu['menu'], function ($menu_child) { return $menu_child['enable'];});
|
||||
if(!sizeof($item_menu_children_enabled)) continue;
|
||||
if(!sizeof($item_menu_children_enabled)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// reset menu for $item_menu
|
||||
$item_menu['menu'] = $item_menu_children_enabled;
|
||||
|
||||
$menu_list[$item] = $item_menu;
|
||||
$menu_list[] = [
|
||||
'id' => $item,
|
||||
'name' => $item_menu['name'],
|
||||
'icon_class' => $item_menu['icon_class'] ?? '',
|
||||
'url' => $item_menu['url'],
|
||||
'menu' => array_map(function ($menu_child) {
|
||||
return [
|
||||
//'module' => $menu_child['module'],
|
||||
//'view' => $menu_child['view'],
|
||||
'id' => $menu_child['id'],
|
||||
'name' => $menu_child['name'],
|
||||
'icon_class' => $menu_child['icon_class'] ?? '',
|
||||
'url' => $menu_child['url'],
|
||||
];
|
||||
}, $item_menu_children_enabled),
|
||||
];
|
||||
}
|
||||
|
||||
//debug_var($menu_list);
|
||||
|
||||
return $menu_list;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
return array(
|
||||
'enable' => true ,
|
||||
"name" => "Nội dung",
|
||||
"icon_class" => 'users',
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
|
||||
@@ -12,6 +13,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'article/home',
|
||||
'name' => 'Tin bài',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/article',
|
||||
),
|
||||
|
||||
@@ -21,6 +23,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'media/home',
|
||||
'name' => 'Thư viện file Media',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/media',
|
||||
),
|
||||
|
||||
@@ -30,6 +33,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'page/home',
|
||||
'name' => 'Nội dung cố định',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/page',
|
||||
),
|
||||
|
||||
@@ -39,6 +43,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'album/home',
|
||||
'name' => 'Thư viện ảnh',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/album',
|
||||
),
|
||||
|
||||
@@ -48,6 +53,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'video/home',
|
||||
'name' => 'Video',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/video',
|
||||
),
|
||||
),
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
return array(
|
||||
'enable' => true ,
|
||||
|
||||
"name" => "Khách hàng",
|
||||
"icon_class" => 'user',
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
array(
|
||||
@@ -12,6 +12,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'customer/home',
|
||||
'name' => 'Danh sách khách hàng',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/customer',
|
||||
),
|
||||
|
||||
@@ -21,6 +22,7 @@ return array(
|
||||
'view' => 'customer-group',
|
||||
'id' => 'customer/customer-group',
|
||||
'name' => 'Nhóm khách hàng',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/customer/customer-group',
|
||||
),*/
|
||||
|
||||
@@ -30,6 +32,7 @@ return array(
|
||||
'view' => 'customer-contact',
|
||||
'id' => 'customer/customer-contact',
|
||||
'name' => 'Khách hàng liên hệ',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/customer/customer-contact',
|
||||
),
|
||||
|
||||
@@ -39,6 +42,7 @@ return array(
|
||||
'view' => 'comment',
|
||||
'id' => 'customer/comment',
|
||||
'name' => 'Tổng hợp trao đổi',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/customer/comment',
|
||||
),
|
||||
|
||||
@@ -48,6 +52,7 @@ return array(
|
||||
'view' => 'review',
|
||||
'id' => 'customer/review',
|
||||
'name' => 'Tổng hợp Đánh giá',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/customer/review',
|
||||
),
|
||||
|
||||
@@ -57,6 +62,7 @@ return array(
|
||||
'view' => 'customer-review',
|
||||
'id' => 'customer/customer-review',
|
||||
'name' => 'Khách hàng góp ý',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/customer/customer-review',
|
||||
),
|
||||
|
||||
@@ -66,6 +72,7 @@ return array(
|
||||
'view' => 'customer-newsletter',
|
||||
'id' => 'customer/customer-newsletter',
|
||||
'name' => 'Khách hàng nhận bản tin',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/customer/customer-newsletter',
|
||||
),
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
return array(
|
||||
'enable' => true ,
|
||||
"name" => "Đại lý",
|
||||
"icon_class" => 'shopping-bag',
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
0 => array(
|
||||
@@ -11,6 +12,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'distributor/home',
|
||||
'name' => 'Danh sách',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/distributor',
|
||||
),
|
||||
),
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
return array(
|
||||
'enable' => true ,
|
||||
"name" => "Tuyển dụng",
|
||||
"icon_class" => 'megaphone',
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
array(
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
return array(
|
||||
'enable' => true ,
|
||||
"name" => "Marketing",
|
||||
"icon_class" => 'newspaper',
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
array(
|
||||
@@ -11,6 +12,7 @@ return array(
|
||||
'view' => 'promotion',
|
||||
'id' => 'marketing/promotion',
|
||||
'name' => 'Khuyến mại theo sản phẩm',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/marketing/promotion',
|
||||
),
|
||||
|
||||
@@ -20,6 +22,7 @@ return array(
|
||||
'view' => 'coupon',
|
||||
'id' => 'marketing/coupon',
|
||||
'name' => 'Phiếu giảm giá - Voucher',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/marketing/coupon',
|
||||
),
|
||||
|
||||
@@ -29,6 +32,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'banner/home',
|
||||
'name' => 'Danh sách banner',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/banner',
|
||||
),
|
||||
|
||||
@@ -38,7 +42,8 @@ return array(
|
||||
'view' => 'store-design',
|
||||
'id' => 'system/store-design',
|
||||
'name' => 'Banner pop-up',
|
||||
'url' => '/admin/system/store-design§ion=popup',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/store-design?section=popup',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -47,6 +52,7 @@ return array(
|
||||
'view' => 'poster-upload',
|
||||
'id' => 'marketing/poster-upload',
|
||||
'name' => 'Poster',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/marketing/poster-upload',
|
||||
),
|
||||
|
||||
@@ -56,51 +62,57 @@ return array(
|
||||
'view' => 'store-design',
|
||||
'id' => 'system/store-design',
|
||||
'name' => 'Hình nền website',
|
||||
'url' => '/admin/system/store-design§ion=background',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/store-design?section=background',
|
||||
),*/
|
||||
|
||||
/* array(
|
||||
'enable' => false,
|
||||
'enable' => true,
|
||||
'module' => 'email',
|
||||
'view' => 'home',
|
||||
'id' => 'email/home',
|
||||
'name' => 'Email',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/email',
|
||||
),*/
|
||||
|
||||
array(
|
||||
'enable' => false,
|
||||
'enable' => true,
|
||||
'module' => 'url',
|
||||
'view' => 'meta-list',
|
||||
'id' => 'url/meta-list',
|
||||
'name' => 'Sửa thông tin URL',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/url/meta-list',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => false,
|
||||
'enable' => true,
|
||||
'module' => 'url',
|
||||
'view' => 'url-seo',
|
||||
'id' => 'url/url-seo',
|
||||
'name' => 'Link SEO',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/url/url-seo',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'marketing',
|
||||
'view' => 'feed',
|
||||
'id' => 'marketing/feed',
|
||||
'name' => 'Facebook/Google Feed',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/marketing/feed',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'marketing',
|
||||
'view' => 'product-offer',
|
||||
'id' => 'marketing/product-offer',
|
||||
'name' => 'Cài biểu tượng giảm giá',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/marketing/product-offer',
|
||||
),
|
||||
|
||||
@@ -114,47 +126,52 @@ return array(
|
||||
),*/
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'marketing',
|
||||
'view' => 'program',
|
||||
'id' => 'marketing/program',
|
||||
'name' => 'Chương trình khuyến mại',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/marketing/program',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'deal',
|
||||
'view' => 'home',
|
||||
'id' => 'deal/home',
|
||||
'name' => 'Deal/giờ vàng',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/deal',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'marketing',
|
||||
'view' => 'combo-deal',
|
||||
'id' => 'marketing/combo-deal',
|
||||
'name' => 'Bán Combo',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/marketing/combo-deal',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'marketing',
|
||||
'view' => 'conditional-promotion',
|
||||
'id' => 'marketing/conditional-promotion',
|
||||
'name' => 'Khuyến mại BuildPC',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/marketing/conditional-promotion',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'marketing',
|
||||
'view' => 'live-support-per-category',
|
||||
'id' => 'marketing/live-support-per-category',
|
||||
'name' => 'Hỗ trợ theo từng danh mục',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/marketing/live-support-per-category',
|
||||
),
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
return array(
|
||||
'enable' => true ,
|
||||
"name" => "Bán hàng",
|
||||
"icon_class" => "store",
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
array(
|
||||
@@ -11,15 +12,17 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'order/home',
|
||||
'name' => 'Danh sách đơn hàng',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/order', // &list=new
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'order',
|
||||
'view' => 'bargain',
|
||||
'id' => 'order/bargain',
|
||||
'name' => 'Mặc cả giá',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/order/bargain',
|
||||
),
|
||||
|
||||
@@ -29,16 +32,17 @@ return array(
|
||||
'view' => 'wait-order',
|
||||
'id' => 'order/wait-order',
|
||||
'name' => 'Chờ mua sản phẩm',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/order/wait-order',
|
||||
),
|
||||
|
||||
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'order',
|
||||
'view' => 'paygate',
|
||||
'id' => 'order/paygate',
|
||||
'name' => 'Thanh toán qua cổng dịch vụ',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/order/paygate',
|
||||
),
|
||||
|
||||
@@ -48,6 +52,7 @@ return array(
|
||||
'view' => 'price-quote',
|
||||
'id' => 'order/price-quote',
|
||||
'name' => 'Lập báo giá',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/order/price-quote',
|
||||
),
|
||||
),
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
return array(
|
||||
'enable' => true ,
|
||||
"name" => "Trả góp",
|
||||
"icon_class" => "handshake",
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
array(
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
return array(
|
||||
'enable' => true ,
|
||||
|
||||
"name" => "Xây dựng máy tính",
|
||||
"icon_class" => 'monitor-smartphone',
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
array(
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
return array(
|
||||
'enable' => true ,
|
||||
"name" => "Sản phẩm",
|
||||
"icon_class" => 'package',
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
array(
|
||||
@@ -13,6 +14,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'product/home',
|
||||
'name' => 'Sản phẩm',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product',
|
||||
),
|
||||
|
||||
@@ -49,6 +51,7 @@ return array(
|
||||
'view' => 'category',
|
||||
'id' => 'product/category',
|
||||
'name' => 'Danh mục',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/category',
|
||||
),
|
||||
array(
|
||||
@@ -57,7 +60,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'brand/home',
|
||||
'name' => 'Thương hiệu',
|
||||
'url' => '/admin/brand',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/brand',
|
||||
),
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -65,6 +69,7 @@ return array(
|
||||
'view' => 'attribute',
|
||||
'id' => 'product/attribute',
|
||||
'name' => 'Thuộc tính ',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/attribute',
|
||||
),
|
||||
array(
|
||||
@@ -73,6 +78,7 @@ return array(
|
||||
'view' => 'collection',
|
||||
'id' => 'product/collection',
|
||||
'name' => 'Bộ sưu tập',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/collection',
|
||||
),
|
||||
|
||||
@@ -82,6 +88,7 @@ return array(
|
||||
'view' => 'product-wait-list',
|
||||
'id' => 'product/product-wait-list',
|
||||
'name' => 'Chờ mua sản phẩm',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/product-wait-list',
|
||||
),
|
||||
|
||||
@@ -91,7 +98,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'addon/home',
|
||||
'name' => 'SP/Dịch vụ mua kèm',
|
||||
'url' => '/admin/addon',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/addon',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -100,7 +108,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'config_group/home',
|
||||
'name' => 'Nhóm cấu hình',
|
||||
'url' => '/admin/config_group',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/config_group',
|
||||
),
|
||||
|
||||
/*array(
|
||||
@@ -109,6 +118,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'supplier/home',
|
||||
'name' => 'Nhà cung cấp',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/supplier',
|
||||
),*/
|
||||
|
||||
@@ -118,6 +128,7 @@ return array(
|
||||
'view' => 'set-promotion-price',
|
||||
'id' => 'product/set-promotion-price',
|
||||
'name' => 'Cài đặt giá khuyến mại',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/set-promotion-price',
|
||||
),*/
|
||||
|
||||
@@ -127,6 +138,7 @@ return array(
|
||||
'view' => 'product-per-customer-group',
|
||||
'id' => 'product/product-per-customer-group',
|
||||
'name' => 'Giá theo nhóm khách hàng',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/product-per-customer-group',
|
||||
),*/
|
||||
|
||||
@@ -136,6 +148,7 @@ return array(
|
||||
'view' => 'set',
|
||||
'id' => 'product/set',
|
||||
'name' => 'Set sản phẩm',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/set',
|
||||
),
|
||||
|
||||
@@ -145,7 +158,18 @@ return array(
|
||||
'view' => 'spec-group',
|
||||
'id' => 'product/spec-group',
|
||||
'name' => 'Nhóm thông số kỹ thuật',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/spec-group',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'product',
|
||||
'view' => 'list-competitor',
|
||||
'id' => 'product/list-competitor',
|
||||
'name' => 'So sánh giá đối thủ',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/list-competitor',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
@@ -4,6 +4,7 @@ return array(
|
||||
'enable' => true ,
|
||||
|
||||
"name" => "Thống kê",
|
||||
"icon_class" => 'pie-chart',
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
array(
|
||||
@@ -12,6 +13,7 @@ return array(
|
||||
'view' => 'visitor',
|
||||
'id' => 'report/visitor',
|
||||
'name' => 'Thống kê truy cập',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report/visitor',
|
||||
),
|
||||
|
||||
@@ -21,6 +23,7 @@ return array(
|
||||
'view' => 'customer',
|
||||
'id' => 'report/customer',
|
||||
'name' => 'Thống kê khách hàng',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report/customer',
|
||||
),
|
||||
|
||||
@@ -30,6 +33,7 @@ return array(
|
||||
'view' => 'order',
|
||||
'id' => 'report/order',
|
||||
'name' => 'Thống kê đơn hàng',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report/order',
|
||||
),
|
||||
|
||||
@@ -39,6 +43,7 @@ return array(
|
||||
'view' => 'product-buy',
|
||||
'id' => 'report/product-buy',
|
||||
'name' => 'Sản phẩm mua nhiều',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report/product-buy',
|
||||
),
|
||||
|
||||
@@ -48,6 +53,7 @@ return array(
|
||||
'view' => 'product-visit',
|
||||
'id' => 'report/product-visit',
|
||||
'name' => 'Sản phẩm xem nhiều',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report/product-visit',
|
||||
),
|
||||
|
||||
@@ -57,6 +63,7 @@ return array(
|
||||
'view' => 'referer',
|
||||
'id' => 'report/referer',
|
||||
'name' => 'Web giới thiệu',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report/referer',
|
||||
),
|
||||
|
||||
@@ -66,6 +73,7 @@ return array(
|
||||
'view' => 'search',
|
||||
'id' => 'report/search',
|
||||
'name' => 'Từ khóa tìm kiếm',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report/search',
|
||||
),
|
||||
|
||||
@@ -75,6 +83,7 @@ return array(
|
||||
'view' => 'error-page',
|
||||
'id' => '',
|
||||
'name' => 'Lỗi website',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report/error-page',
|
||||
),
|
||||
),
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
return array(
|
||||
'enable' => true ,
|
||||
"name" => "Hệ thống",
|
||||
"icon_class" => 'settings',
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
array(
|
||||
@@ -11,6 +12,7 @@ return array(
|
||||
'view' => 'settings',
|
||||
'id' => 'system/settings',
|
||||
'name' => 'Cài đặt chung',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/settings',
|
||||
),
|
||||
|
||||
@@ -20,6 +22,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'template/home',
|
||||
'name' => 'Sửa file template',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/template',
|
||||
),
|
||||
|
||||
@@ -29,6 +32,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => '',
|
||||
'name' => 'Quản trị viên',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/admin',
|
||||
),
|
||||
|
||||
@@ -38,24 +42,27 @@ return array(
|
||||
'view' => 'store-address',
|
||||
'id' => '',
|
||||
'name' => 'Địa chỉ cửa hàng',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/store-address',
|
||||
),
|
||||
|
||||
/*4 => array(
|
||||
4 => array(
|
||||
'enable' => true ,
|
||||
'module' => 'system',
|
||||
'view' => 'domain',
|
||||
'id' => 'system/domain',
|
||||
'name' => 'Cài đặt tên miền',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/domain',
|
||||
),*/
|
||||
),
|
||||
|
||||
/*array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'system',
|
||||
'view' => 'ban-ip',
|
||||
'id' => '',
|
||||
'name' => 'Chặn IP truy cập website',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/ban-ip',
|
||||
),
|
||||
|
||||
@@ -65,10 +72,11 @@ return array(
|
||||
'view' => 'change-info',
|
||||
'id' => '',
|
||||
'name' => 'Thông tin website',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/change-info',
|
||||
),*/
|
||||
),
|
||||
|
||||
|
||||
/*
|
||||
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -76,53 +84,59 @@ return array(
|
||||
'view' => 'province-list',
|
||||
'id' => '',
|
||||
'name' => 'Cài đặt tỉnh thành',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/province-list',
|
||||
),*/
|
||||
),
|
||||
|
||||
/*9 => array(
|
||||
9 => array(
|
||||
'enable' => true ,
|
||||
'module' => 'system',
|
||||
'view' => 'home',
|
||||
'id' => '',
|
||||
'name' => 'Tình trạng đơn hàng',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/order-status',
|
||||
),*/
|
||||
),
|
||||
|
||||
/*array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'online_support',
|
||||
'view' => 'home',
|
||||
'id' => '',
|
||||
'name' => 'Hỗ trợ bán hàng',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/online_support',
|
||||
),*/
|
||||
),
|
||||
|
||||
/*array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'system',
|
||||
'view' => 'country',
|
||||
'id' => '',
|
||||
'name' => 'Quốc gia',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/country',
|
||||
),*/
|
||||
),
|
||||
|
||||
/*12 => array(
|
||||
12 => array(
|
||||
'enable' => true ,
|
||||
'module' => 'report_out',
|
||||
'view' => 'home',
|
||||
'id' => '',
|
||||
'name' => 'Cài đặt thông báo ngoài',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report_out',
|
||||
),*/
|
||||
),
|
||||
|
||||
/*array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'shipping2',
|
||||
'view' => 'home',
|
||||
'id' => '',
|
||||
'name' => 'Cài đặt phí vận chuyển',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/shipping2',
|
||||
),*/
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -130,6 +144,7 @@ return array(
|
||||
'view' => 'redirect',
|
||||
'id' => 'url/redirect',
|
||||
'name' => 'Url Redirect',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/url/redirect',
|
||||
),
|
||||
|
||||
@@ -139,17 +154,10 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'tool/home',
|
||||
'name' => 'Công cụ',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/tool',
|
||||
),
|
||||
|
||||
/*array(
|
||||
'enable' => true ,
|
||||
'module' => 'civi',
|
||||
'view' => 'home',
|
||||
'id' => '',
|
||||
'name' => 'Civi Affiliate',
|
||||
'url' => '/admin/civi',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -157,6 +165,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'menu/home',
|
||||
'name' => 'Quản trị menu',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/menu',
|
||||
),
|
||||
|
||||
@@ -166,8 +175,9 @@ return array(
|
||||
'view' => 'keyword-suggest',
|
||||
'id' => 'system/keyword-suggest',
|
||||
'name' => 'Từ khóa gợi ý',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/keyword-suggest',
|
||||
),*/
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -175,6 +185,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'tag/home',
|
||||
'name' => 'Quản trị Tag',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/tag',
|
||||
),
|
||||
),
|
||||
|
||||
@@ -4,6 +4,7 @@ return array(
|
||||
'enable' => true ,
|
||||
|
||||
"name" => "Bảo hành sản phẩm",
|
||||
"icon_class" => '',
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
/*0 => array(
|
||||
|
||||
@@ -37,7 +37,7 @@ $objAOrderController = new AOrderController();
|
||||
$totalResults = $objAOrderController->getTotal($conditions);
|
||||
$item_list = $objAOrderController->getList($conditions);
|
||||
|
||||
debug_var($item_list);
|
||||
//debug_var($item_list);
|
||||
|
||||
list($page_collection, $tb_page, $total_pages) = Paging::paging_template($totalResults, $numPerPage);
|
||||
|
||||
|
||||
1
data/page/category.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/page/category_add.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/page/form.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/page/home.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/payinstall/add_company.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/payinstall/add_period.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/payinstall/add_upfront.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/payinstall/category.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/payinstall/home.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/payinstall/order.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/payinstall/order_detail.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/pcbuilder/config_edit.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/pcbuilder/home.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/pcbuilder/part_relation.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/addon.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/addon_add.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/attribute.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/attribute_add.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/brand.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/brand_add.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
@@ -28,8 +28,8 @@ function get_category_list($parentId=0, $currentCat="",$level=1, $prefix="", $ca
|
||||
$stt ++;
|
||||
$imgUrl = (strlen($cat_info["thumbnail"]) > 2) ? " <img src=\"".$cat_info["thumbnail"]."\" style=\"max-width:30px; max-height:30px;\" />" : "";
|
||||
|
||||
if($cat_info["status"]) $status = "<a href=\"javascript:update_status(".$cat_id.",'off')\">Hạ xuống</a>";
|
||||
else $status = "<a href=\"javascript:update_status(".$cat_id.",'on')\" style=\"background-color:#FFCC00;\">Hiển thị</a>";
|
||||
if($cat_info["status"]) $status = "<a href=\"javascript:update_status(".$cat_id.",'off')\" class='btn btn-soft btn-xs btn-outline btn-square'><i data-lucide='eye-off' class='size-3'></i></a>";
|
||||
else $status = "<a href=\"javascript:update_status(".$cat_id.",'on')\" class='btn btn-soft btn-xs btn-outline btn-square'><i data-lucide='eye' class='size-3'></i></a>";
|
||||
|
||||
$edit_link ="/admin/product/category-form?id=".$cat_id;
|
||||
|
||||
@@ -42,48 +42,54 @@ function get_category_list($parentId=0, $currentCat="",$level=1, $prefix="", $ca
|
||||
}
|
||||
|
||||
if($cat_info['is_parent']) {
|
||||
$show_category_name = "<a href=\"javascript:;\" onclick=\"RowExpand.open_child('parent_".$cat_id."')\">".$show_category_name."</a>";
|
||||
$show_category_name = "<a href=\"javascript:;\" class='link-active' onclick=\"RowExpand.open_child('parent_".$cat_id."')\">".$show_category_name."</a>";
|
||||
}
|
||||
|
||||
$categoryTree .= "
|
||||
<tr id='row_".$cat_id."' class='parent_".$parentId." row' ". $hide_this ."
|
||||
onmouseover=\"this.className='row-hover parent_".$parentId."'\" onmouseout=\"this.className='parent_".$parentId."'\">
|
||||
|
||||
<td>".$cat_id."</td>
|
||||
|
||||
<td>
|
||||
<a name='cat_".$cat_id."'></a>
|
||||
<a class='link-active' name='cat_".$cat_id."'></a>
|
||||
". $extra_space . $prefix . $stt.". ". $show_category_name . $imgUrl."
|
||||
</td>
|
||||
|
||||
<td>".$cat_info['item_count']." - <a href='/admin/product?category=".$cat_id."'>Xem</a></td>
|
||||
|
||||
<td>
|
||||
<a href='".$cat_info['request_path']."' title='Mở tại website' target='_blank'>Web</a>
|
||||
<td>
|
||||
<a href='".$cat_info['request_path']."' class='link-active' title='Mở tại website' target='_blank'>Xem trang</a>
|
||||
</td>
|
||||
|
||||
<td>".$cat_id."</td>
|
||||
<td class='whitespace-nowrap'>413787</td>
|
||||
<td><a class='link-active' href='/admin/product?category=".$cat_id."'>1292</a></td>
|
||||
<td>
|
||||
<input type=text id=order_".$cat_id." value='".$cat_info["ordering"]."' size=2 onchange=\"update_order(".$cat_id.",this.value)\" />
|
||||
<input class='input' type=text id=order_".$cat_id." value='".$cat_info["ordering"]."' size=2 onchange=\"update_order(".$cat_id.",this.value)\" />
|
||||
<span class='status-ordering-".$cat_id."'></span>
|
||||
</td>
|
||||
<td class='whitespace-nowrap'>
|
||||
SP + Danh mục con
|
||||
</td>
|
||||
|
||||
";
|
||||
|
||||
if(IS_DEFAULT_LANGUAGE) {
|
||||
$categoryTree .= "
|
||||
<td>
|
||||
<a href='/admin/product/category-attribute?id=".$cat_id."&popup=1' class='pop-up'>Thuộc tính</a> (".$cat_info['attribute_count'].")
|
||||
<a href='/admin/product/category-attribute?id=".$cat_id."&popup=1' class='pop-up'>Tổng</a> (".$cat_info['attribute_count'].")
|
||||
</td>
|
||||
<td>
|
||||
<span id=status-".$cat_id.">".$status."</span> |
|
||||
<a href=\"".$edit_link."\">Sửa lại</a> |
|
||||
<span class='status-delete-".$cat_id."'><a href=\"javascript:deleteThis(".$cat_id.")\">Xóa</a></span>
|
||||
<div class='list-btn flex items-center gap-3'>
|
||||
<a href=\"".$edit_link."\" class='btn btn-soft btn-xs btn-square btn-outline btn-view'><i data-lucide='pencil' class='size-3'></i></a>
|
||||
<a class='btn btn-soft btn-xs btn-square btn-outline btn-view' href='javascript:set_category_feature(.$cat_id.,'off')'><i data-lucide='crown' class='size-3'></i></a>
|
||||
<span id=status-".$cat_id.">".$status."</span>
|
||||
<span class='status-delete-".$cat_id."'><a href=\"javascript:deleteThis(".$cat_id.")\" class='btn btn-soft btn-xs btn-square btn-error btn-outline '><i data-lucide='trash-2' class='size-3'></i></a></span>
|
||||
</div>
|
||||
</td>
|
||||
";
|
||||
|
||||
}else{
|
||||
$categoryTree .= "
|
||||
<td>
|
||||
<a href=\"".$edit_link."\">Sửa lại</a>
|
||||
<a href=\"".$edit_link."\"><i data-lucide='pencil' class='size-3'></i></a>
|
||||
</td>
|
||||
";
|
||||
}
|
||||
|
||||
1
data/product/collection.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/collection_add.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/config_group.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/config_group_attribute.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/config_group_form.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/config_group_product.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/list_competitor.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/set.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/set_form.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/set_product.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/spec_group.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/spec_group_add.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/product/spec_group_info.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/report/customer.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/report/order.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
1
data/report/product_buy.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||