Compare commits
177 Commits
b7ca602739
...
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 | |||
| dde52d00d6 | |||
| 7a11011330 | |||
| 2b9695b9f2 | |||
| 37e4278d53 | |||
| 4561bd68d1 | |||
| caef156a05 | |||
| 88e4ec4a28 | |||
| 6dd13c49ff | |||
| c17cf4ae8b | |||
| 36c52953bd | |||
| d4077674f7 | |||
| 9462e968d3 | |||
| 222fd7f727 | |||
| 32933ad2b9 | |||
| a863974dff | |||
| 2e4cf30a14 | |||
| 10a9439f28 | |||
| ac7145c8c1 | |||
| d659a777f4 | |||
| 507ea95304 | |||
| ba4ca85fd1 | |||
| 3cb59f127c | |||
| dc39d63d51 | |||
| ff274416dd | |||
| 72170f373a | |||
| 3d471965d4 | |||
| 545c404fdf | |||
| 9b6cd189ea | |||
| 736f5b9c4e | |||
| ad0f82e717 | |||
| 4fa4c3996f | |||
| 9052a3b7dd | |||
| 7217f8b92f | |||
| 31aaee0dcd | |||
| c6ab0f714e | |||
| 382acf8277 | |||
| 0c56e49551 | |||
| 00c2de9e5c | |||
| d2188f2742 | |||
| 6d8b69c2b7 | |||
| 218549a354 | |||
| 5f080f0be6 | |||
| b5a10581a0 | |||
| 77e7773cc6 | |||
| 401157b54e | |||
| 9f670e9ab0 | |||
| 16d4c7cc31 | |||
| 0c85c7a6f1 | |||
| d1b5fcebb3 | |||
| e37930d631 | |||
| 61a9720a89 | |||
| 6dc3b5d19f | |||
| 353ee07560 | |||
| e10bec9289 | |||
| a35ca0cd16 | |||
| 9f913a3871 | |||
| 2e97b21bda | |||
| 35eb4948d8 |
5
.gitignore
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
package/vendor
|
||||
package/composer.lock
|
||||
.idea
|
||||
|
||||
node_modules/
|
||||
7
.htaccess
Normal file
@@ -0,0 +1,7 @@
|
||||
RewriteEngine on
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteCond %{REQUEST_URI} !^/index.php
|
||||
# prevent rewrite non-existent files
|
||||
RewriteCond %{REQUEST_URI} !\.(jpg|png|gif|css|js|php|tiff|jpeg|ico)$
|
||||
RewriteRule ^(.*)$ /index.php [QSA,L]
|
||||
32
README.md
@@ -2,17 +2,24 @@
|
||||
|
||||
<p>Link thiết kế: <a href="https://www.figma.com/file/5Km584w3tlnwxOltV5KAjh/281123_HURA8?node-id=328%3A1204&mode=dev" target="_blank"> <strong>Giao diện Admin</strong> </a></p>
|
||||
|
||||
<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>
|
||||
|
||||
<ul>
|
||||
<li>Tải phần mềm XAMPP tại https://www.apachefriends.org/download.html để chạy PHP</li>
|
||||
<li>Chỉnh file hosts trong máy tính: 127.0.0.1 local.hura8_admin</li>
|
||||
<li>Cài đặt httpd-vhosts.conf của XAMPP</li>
|
||||
</ul>
|
||||
|
||||
<li>Tải phần mềm XAMPP tại <a href="https://www.apachefriends.org/download.html" target="_blank">https://www.apachefriends.org/download.html</a> để chạy PHP</li>
|
||||
<li>Chỉnh file hosts trong máy tính C:\Windows\System32\drivers\etc\hosts:
|
||||
<pre><code>
|
||||
127.0.0.1 local.hura8_admin
|
||||
</code></pre>
|
||||
</li>
|
||||
<li>
|
||||
Cài đặt ../xampp/apache/conf/extra/httpd-vhosts.conf của apache trong XAMPP
|
||||
<pre><code>
|
||||
<VirtualHost *:80>
|
||||
DocumentRoot "/thuc-muc-check-out/admin_hura_8"
|
||||
ServerName local.hura8_admin
|
||||
@@ -20,7 +27,20 @@
|
||||
Require all granted
|
||||
</Directory>
|
||||
</VirtualHost>
|
||||
</code></pre>
|
||||
</code></pre>
|
||||
</li>
|
||||
<li>
|
||||
Cài đặt ../xampp/apache/conf/httpd.conf của apache trong XAMPP
|
||||
<pre><code>
|
||||
# AllowOverride controls what directives may be placed in .htaccess files.
|
||||
# It can be "All", "None", or any combination of the keywords:
|
||||
# AllowOverride FileInfo AuthConfig Limit
|
||||
AllowOverride All
|
||||
</code></pre>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<h2>Cấu trúc thư mục</h2>
|
||||
|
||||
|
||||
13
_shared.php
@@ -1,8 +1,17 @@
|
||||
<?php
|
||||
|
||||
define("ROOT_DIR", __DIR__ );
|
||||
const ROOT_DIR = __DIR__;
|
||||
const CONFIG_DIR = ROOT_DIR . '/inc/config';
|
||||
|
||||
include __DIR__."/inc/common.php";
|
||||
const IMAGE_FILE_SEPARATOR = "-";
|
||||
define("CURRENT_TIME", time());
|
||||
const STATIC_DOMAIN = "http://hura8.hurasoft.com";
|
||||
const ENABLE_DB_DEBUG = true;
|
||||
const LANGUAGE = 'vi';
|
||||
const IS_DEFAULT_LANGUAGE = true;
|
||||
|
||||
include ROOT_DIR."/inc/common.php";
|
||||
include ROOT_DIR."/inc/fun.db.php";
|
||||
|
||||
// start autoload
|
||||
init_autoload();
|
||||
|
||||
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: 22 KiB After Width: | Height: | Size: 26 KiB |
BIN
assets/images/icons/26.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
assets/images/icons/27.png
Normal file
|
After Width: | Height: | Size: 712 B |
BIN
assets/images/icons/28.png
Normal file
|
After Width: | Height: | Size: 622 B |
BIN
assets/images/icons/29.png
Normal file
|
After Width: | Height: | Size: 893 B |
BIN
assets/images/icons/30.png
Normal file
|
After Width: | Height: | Size: 847 B |
BIN
assets/images/icons/31.png
Normal file
|
After Width: | Height: | Size: 405 B |
BIN
assets/images/icons/32.png
Normal file
|
After Width: | Height: | Size: 541 B |
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 |
BIN
assets/images/logo_small.png
Normal file
|
After Width: | Height: | Size: 416 B |
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,584 +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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
.admin-global-container {
|
||||
max-width: 1720px;
|
||||
margin: auto;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.admin-menu-container {
|
||||
position: relative;
|
||||
overflow: auto;
|
||||
background: #004e99;
|
||||
color: #fff;
|
||||
width: 16%;
|
||||
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 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 .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::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 .icons {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-right: 13px;
|
||||
}
|
||||
.admin-menu-container .icon-home {
|
||||
background-position: -9px -7px;
|
||||
}
|
||||
.admin-menu-container .icon-sell {
|
||||
background-position: -45px -7px;
|
||||
}
|
||||
.admin-menu-container .icon-product {
|
||||
background-position: -81px -8px;
|
||||
}
|
||||
.admin-menu-container .icon-user {
|
||||
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 {
|
||||
color: #fff;
|
||||
z-index: 1;
|
||||
}
|
||||
.admin-menu .item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
transition: 0.3s all;
|
||||
position: relative;
|
||||
}
|
||||
.admin-menu .item:hover {
|
||||
background: #81b5e4;
|
||||
}
|
||||
.admin-menu .item:hover .icons {
|
||||
filter: brightness(100);
|
||||
}
|
||||
.admin-menu .item:hover .sub-menu {
|
||||
left: calc(100% + 8px);
|
||||
opacity: 1;
|
||||
visibility: inherit;
|
||||
}
|
||||
.admin-menu .item.bottom:hover .sub-menu {
|
||||
top: auto;
|
||||
bottom: 0;
|
||||
}
|
||||
.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::before {
|
||||
content: "";
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background: #79b0e2;
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
left: -18px;
|
||||
}
|
||||
.admin-menu .sub-menu a:last-child {
|
||||
margin: 0;
|
||||
}
|
||||
.admin-menu .menu-list {
|
||||
padding-left: 16px;
|
||||
margin-top: 10px;
|
||||
position: relative;
|
||||
}
|
||||
.admin-menu .menu-list::before {
|
||||
content: "";
|
||||
width: 1.5px;
|
||||
background: #79b0e2;
|
||||
position: absolute;
|
||||
left: 1px;
|
||||
top: 7px;
|
||||
bottom: 7px;
|
||||
}
|
||||
.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-close {
|
||||
position: absolute;
|
||||
right: -30px;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
display: none;
|
||||
background-color: rgb(0 78 153/var(--tw-bg-opacity));
|
||||
}
|
||||
.admin-menu .icon-close i {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
margin-top: 6px;
|
||||
line-height: 20px;
|
||||
}
|
||||
.admin-menu:hover .icon-close {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.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: 20px;
|
||||
height: 20px;
|
||||
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 4px #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;
|
||||
}/*# sourceMappingURL=pc_style.css.map */
|
||||
@@ -1 +0,0 @@
|
||||
{"version":3,"sources":["pc_style.scss","pc_style.css"],"names":[],"mappings":"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","file":"pc_style.css"}
|
||||
@@ -1,595 +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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
.admin-global-container {
|
||||
max-width: 1720px;
|
||||
margin: auto;
|
||||
display: flex;
|
||||
}
|
||||
.admin-menu-container {
|
||||
position: relative;
|
||||
overflow: auto;
|
||||
background: #004e99;
|
||||
color: #fff;
|
||||
width: 16%;
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
.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;
|
||||
}
|
||||
&::before {
|
||||
content: "";
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background: #79b0e2;
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
left: -28px;
|
||||
}
|
||||
&:last-child {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.icons {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-right: 13px;
|
||||
}
|
||||
.icon-home {
|
||||
background-position: -9px -7px;
|
||||
}
|
||||
.icon-sell {
|
||||
background-position: -45px -7px;
|
||||
}
|
||||
.icon-product {
|
||||
background-position: -81px -8px;
|
||||
}
|
||||
.icon-user {
|
||||
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;
|
||||
}
|
||||
}
|
||||
.admin-menu {
|
||||
color: #fff;
|
||||
z-index: 1;
|
||||
.item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
transition: 0.3s all;
|
||||
position: relative;
|
||||
&:hover {
|
||||
background: #81b5e4;
|
||||
.icons {
|
||||
filter: brightness(100);
|
||||
}
|
||||
.sub-menu {
|
||||
left: calc(100% + 8px);
|
||||
opacity: 1;
|
||||
visibility: inherit;
|
||||
}
|
||||
}
|
||||
&.bottom {
|
||||
&:hover {
|
||||
.sub-menu {
|
||||
top: auto;
|
||||
bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.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;
|
||||
}
|
||||
&::before {
|
||||
content: "";
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
border-radius: 50%;
|
||||
background: #79b0e2;
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
left: -18px;
|
||||
}
|
||||
&:last-child {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.menu-list {
|
||||
padding-left: 16px;
|
||||
margin-top: 10px;
|
||||
position: relative;
|
||||
&::before {
|
||||
content: "";
|
||||
width: 1.5px;
|
||||
background: #79b0e2;
|
||||
position: absolute;
|
||||
left: 1px;
|
||||
top: 7px;
|
||||
bottom: 7px;
|
||||
}
|
||||
}
|
||||
.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-close {
|
||||
position: absolute;
|
||||
right: -30px;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
display: none;
|
||||
background-color: rgb(0 78 153 / var(--tw-bg-opacity));
|
||||
i {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
margin-top: 6px;
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
&:hover {
|
||||
.icon-close {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
.admin-content-container {
|
||||
.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: 20px;
|
||||
height: 20px;
|
||||
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 4px #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;
|
||||
}
|
||||
}
|
||||
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
|
||||
@@ -9,7 +9,7 @@ function _get_menu_list() {
|
||||
'product',
|
||||
'customer',
|
||||
'marketing',
|
||||
'investor_relation',
|
||||
//'investor_relation',
|
||||
'article',
|
||||
'job',
|
||||
'pcbuilder',
|
||||
@@ -21,8 +21,38 @@ function _get_menu_list() {
|
||||
|
||||
$menu_list = [];
|
||||
foreach ($main_items as $item) {
|
||||
$menu_list[$item] = include_once __DIR__."/menu_item/".$item.".php";
|
||||
$item_menu = include_once __DIR__."/menu_item/".$item.".php";
|
||||
|
||||
// skip not enabled
|
||||
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;
|
||||
}
|
||||
|
||||
$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,7 +13,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'article/home',
|
||||
'name' => 'Tin bài',
|
||||
'url' => '/admin/?opt=article',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/article',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -21,7 +23,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'media/home',
|
||||
'name' => 'Thư viện file Media',
|
||||
'url' => '/admin/?opt=media',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/media',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -30,7 +33,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'page/home',
|
||||
'name' => 'Nội dung cố định',
|
||||
'url' => '/admin/?opt=page',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/page',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -39,7 +43,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'album/home',
|
||||
'name' => 'Thư viện ảnh',
|
||||
'url' => '/admin/?opt=album',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/album',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -48,7 +53,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'video/home',
|
||||
'name' => 'Video',
|
||||
'url' => '/admin/?opt=video',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/video',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
@@ -12,7 +12,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'ask/home',
|
||||
'name' => 'Danh sách câu hỏi',
|
||||
'url' => '/admin/?opt=ask',
|
||||
'url' => '/admin/ask',
|
||||
),
|
||||
|
||||
1 => array(
|
||||
@@ -21,7 +21,7 @@ return array(
|
||||
'view' => 'answer-list',
|
||||
'id' => 'ask/answer-list',
|
||||
'name' => 'Danh sách trả lời',
|
||||
'url' => '/admin/?opt=ask&view=answer-list',
|
||||
'url' => '/admin/ask/answer-list',
|
||||
),
|
||||
|
||||
2 => array(
|
||||
@@ -30,7 +30,7 @@ return array(
|
||||
'view' => 'category',
|
||||
'id' => 'ask/ask',
|
||||
'name' => 'Danh mục hỏi đáp',
|
||||
'url' => '/admin/?opt=ask&view=category',
|
||||
'url' => '/admin/ask/category',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
return array(
|
||||
'enable' => true ,
|
||||
|
||||
"name" => "Khách hàng",
|
||||
"icon_class" => 'user',
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
array(
|
||||
@@ -12,7 +12,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'customer/home',
|
||||
'name' => 'Danh sách khách hàng',
|
||||
'url' => '/admin/?opt=customer',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/customer',
|
||||
),
|
||||
|
||||
/*array(
|
||||
@@ -21,7 +22,8 @@ return array(
|
||||
'view' => 'customer-group',
|
||||
'id' => 'customer/customer-group',
|
||||
'name' => 'Nhóm khách hàng',
|
||||
'url' => '/admin/?opt=customer&view=customer-group',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/customer/customer-group',
|
||||
),*/
|
||||
|
||||
array(
|
||||
@@ -30,7 +32,8 @@ return array(
|
||||
'view' => 'customer-contact',
|
||||
'id' => 'customer/customer-contact',
|
||||
'name' => 'Khách hàng liên hệ',
|
||||
'url' => '/admin/?opt=customer&view=customer-contact',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/customer/customer-contact',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -39,7 +42,8 @@ return array(
|
||||
'view' => 'comment',
|
||||
'id' => 'customer/comment',
|
||||
'name' => 'Tổng hợp trao đổi',
|
||||
'url' => '/admin/?opt=customer&view=comment',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/customer/comment',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -48,7 +52,8 @@ return array(
|
||||
'view' => 'review',
|
||||
'id' => 'customer/review',
|
||||
'name' => 'Tổng hợp Đánh giá',
|
||||
'url' => '/admin/?opt=customer&view=review',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/customer/review',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -57,7 +62,8 @@ return array(
|
||||
'view' => 'customer-review',
|
||||
'id' => 'customer/customer-review',
|
||||
'name' => 'Khách hàng góp ý',
|
||||
'url' => '/admin/?opt=customer&view=customer-review',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/customer/customer-review',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -66,10 +72,9 @@ return array(
|
||||
'view' => 'customer-newsletter',
|
||||
'id' => 'customer/customer-newsletter',
|
||||
'name' => 'Khách hàng nhận bản tin',
|
||||
'url' => '/admin/?opt=customer&view=customer-newsletter',
|
||||
"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,7 +12,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'distributor/home',
|
||||
'name' => 'Danh sách',
|
||||
'url' => '/admin/?opt=distributor',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/distributor',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
@@ -11,7 +11,7 @@ return array(
|
||||
'view' => 'annual_report',
|
||||
'name' => 'Báo cáo thường niên',
|
||||
'id' => 'investor_relation/annual_report',
|
||||
'url' => '/admin/?opt=investor_relation&view=annual_report',
|
||||
'url' => '/admin/investor_relation/annual_report',
|
||||
),
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -19,7 +19,7 @@ return array(
|
||||
'view' => 'charter',
|
||||
'name' => 'Điều lệ hoạt động',
|
||||
'id' => 'investor_relation/charter',
|
||||
'url' => '/admin/?opt=investor_relation&view=charter',
|
||||
'url' => '/admin/investor_relation/charter',
|
||||
),
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -27,7 +27,7 @@ return array(
|
||||
'view' => 'governance',
|
||||
'name' => 'Quy chế quản trị',
|
||||
'id' => 'investor_relation/governance',
|
||||
'url' => '/admin/?opt=investor_relation&view=governance',
|
||||
'url' => '/admin/investor_relation/governance',
|
||||
),
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -35,7 +35,7 @@ return array(
|
||||
'view' => 'financial_reports',
|
||||
'name' => 'Báo cáo tài chính',
|
||||
'id' => 'investor_relation/financial_reports',
|
||||
'url' => '/admin/?opt=investor_relation&view=financial_reports',
|
||||
'url' => '/admin/investor_relation/financial_reports',
|
||||
),
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -43,7 +43,7 @@ return array(
|
||||
'view' => 'info_disclosure',
|
||||
'name' => 'Công bố thông tin',
|
||||
'id' => 'investor_relation/info_disclosure',
|
||||
'url' => '/admin/?opt=investor_relation&view=info_disclosure',
|
||||
'url' => '/admin/investor_relation/info_disclosure',
|
||||
),
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -51,7 +51,7 @@ return array(
|
||||
'view' => 'management_report',
|
||||
'name' => 'Báo cáo quản trị',
|
||||
'id' => 'investor_relation/management_report',
|
||||
'url' => '/admin/?opt=investor_relation&view=management_report',
|
||||
'url' => '/admin/investor_relation/management_report',
|
||||
),
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -59,7 +59,7 @@ return array(
|
||||
'view' => 'shareholder_meeting',
|
||||
'name' => 'Đại hội cổ đông',
|
||||
'id' => 'investor_relation/shareholder_meeting',
|
||||
'url' => '/admin/?opt=investor_relation&view=shareholder_meeting',
|
||||
'url' => '/admin/investor_relation/shareholder_meeting',
|
||||
),
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -67,7 +67,7 @@ return array(
|
||||
'view' => 'whitepaper',
|
||||
'name' => 'Báo cáo bạch',
|
||||
'id' => 'investor_relation/whitepaper',
|
||||
'url' => '/admin/?opt=investor_relation&view=whitepaper',
|
||||
'url' => '/admin/investor_relation/whitepaper',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
return array(
|
||||
'enable' => true ,
|
||||
"name" => "Tuyển dụng",
|
||||
"icon_class" => 'megaphone',
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'job',
|
||||
'view' => 'home',
|
||||
'id' => 'job/home',
|
||||
'name' => 'Vị trí tuyển',
|
||||
'url' => '/admin/?opt=job',
|
||||
'url' => '/admin/job',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -21,7 +21,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'job/home',
|
||||
'name' => 'Quản lý hồ sơ',
|
||||
'url' => '/admin/?opt=job&view=applicants',
|
||||
'url' => '/admin/job/applicants',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
@@ -2,26 +2,28 @@
|
||||
|
||||
return array(
|
||||
'enable' => true ,
|
||||
|
||||
"name" => "Marketing",
|
||||
"icon_class" => 'newspaper',
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'marketing',
|
||||
'view' => 'promotion',
|
||||
'id' => 'marketing/promotion',
|
||||
'name' => 'Khuyến mại theo sản phẩm',
|
||||
'url' => '/admin/?opt=marketing&view=promotion',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/marketing/promotion',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'marketing',
|
||||
'view' => 'coupon',
|
||||
'id' => 'marketing/coupon',
|
||||
'name' => 'Phiếu giảm giá - Voucher',
|
||||
'url' => '/admin/?opt=marketing&view=coupon',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/marketing/coupon',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -30,7 +32,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'banner/home',
|
||||
'name' => 'Danh sách banner',
|
||||
'url' => '/admin/?opt=banner',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/banner',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -39,7 +42,8 @@ return array(
|
||||
'view' => 'store-design',
|
||||
'id' => 'system/store-design',
|
||||
'name' => 'Banner pop-up',
|
||||
'url' => '/admin/?opt=system&view=store-design§ion=popup',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/store-design?section=popup',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -48,61 +52,68 @@ return array(
|
||||
'view' => 'poster-upload',
|
||||
'id' => 'marketing/poster-upload',
|
||||
'name' => 'Poster',
|
||||
'url' => '/admin/?opt=marketing&view=poster-upload',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/marketing/poster-upload',
|
||||
),
|
||||
|
||||
array(
|
||||
/* array(
|
||||
'enable' => true ,
|
||||
'module' => 'system',
|
||||
'view' => 'store-design',
|
||||
'id' => 'system/store-design',
|
||||
'name' => 'Hình nền website',
|
||||
'url' => '/admin/?opt=system&view=store-design§ion=background',
|
||||
),
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/store-design?section=background',
|
||||
),*/
|
||||
|
||||
array(
|
||||
'enable' => false,
|
||||
/* array(
|
||||
'enable' => true,
|
||||
'module' => 'email',
|
||||
'view' => 'home',
|
||||
'id' => 'email/home',
|
||||
'name' => 'Email',
|
||||
'url' => '/admin/?opt=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',
|
||||
'url' => '/admin/?opt=url&view=meta-list',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/url/meta-list',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => false,
|
||||
'enable' => true,
|
||||
'module' => 'url',
|
||||
'view' => 'url-seo',
|
||||
'id' => 'url/url-seo',
|
||||
'name' => 'Link SEO',
|
||||
'url' => '/admin/?opt=url&view=url-seo',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/url/url-seo',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'marketing',
|
||||
'view' => 'feed',
|
||||
'id' => 'marketing/feed',
|
||||
'name' => 'Facebook/Google Feed',
|
||||
'url' => '/admin/?opt=marketing&view=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á',
|
||||
'url' => '/admin/?opt=marketing&view=product-offer',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/marketing/product-offer',
|
||||
),
|
||||
|
||||
/*array(
|
||||
@@ -111,52 +122,57 @@ return array(
|
||||
'view' => 'lead-program',
|
||||
'id' => 'marketing/lead-program',
|
||||
'name' => 'Thu thập khách hàng',
|
||||
'url' => '/admin/?opt=marketing&view=lead-program',
|
||||
'url' => '/admin/marketing/lead-program',
|
||||
),*/
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'marketing',
|
||||
'view' => 'program',
|
||||
'id' => 'marketing/program',
|
||||
'name' => 'Chương trình khuyến mại',
|
||||
'url' => '/admin/?opt=marketing&view=program',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/marketing/program',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'deal',
|
||||
'view' => 'home',
|
||||
'id' => 'deal/home',
|
||||
'name' => 'Deal/giờ vàng',
|
||||
'url' => '/admin/?opt=deal',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/deal',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'marketing',
|
||||
'view' => 'combo-deal',
|
||||
'id' => 'marketing/combo-deal',
|
||||
'name' => 'Bán Combo',
|
||||
'url' => '/admin/?opt=marketing&view=combo-deal',
|
||||
"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',
|
||||
'url' => '/admin/?opt=marketing&view=conditional-promotion',
|
||||
"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',
|
||||
'url' => '/admin/?opt=marketing&view=live-support-per-category',
|
||||
"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,7 +12,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'order/home',
|
||||
'name' => 'Danh sách đơn hàng',
|
||||
'url' => '/admin/?opt=order', // &list=new
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/order', // &list=new
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -20,7 +22,8 @@ return array(
|
||||
'view' => 'bargain',
|
||||
'id' => 'order/bargain',
|
||||
'name' => 'Mặc cả giá',
|
||||
'url' => '/admin/?opt=order&view=bargain',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/order/bargain',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -29,17 +32,18 @@ return array(
|
||||
'view' => 'wait-order',
|
||||
'id' => 'order/wait-order',
|
||||
'name' => 'Chờ mua sản phẩm',
|
||||
'url' => '/admin/?opt=order&view=wait-order',
|
||||
"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ụ',
|
||||
'url' => '/admin/?opt=order&view=paygate',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/order/paygate',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -48,7 +52,8 @@ return array(
|
||||
'view' => 'price-quote',
|
||||
'id' => 'order/price-quote',
|
||||
'name' => 'Lập báo giá',
|
||||
'url' => '/admin/?opt=order&view=price-quote',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/order/price-quote',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
@@ -2,35 +2,35 @@
|
||||
|
||||
return array(
|
||||
'enable' => true ,
|
||||
|
||||
"name" => "Trả góp",
|
||||
"icon_class" => "handshake",
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
0 => array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'payinstall',
|
||||
'view' => 'order',
|
||||
'id' => 'payinstall/order',
|
||||
'name' => 'Danh sách đơn hàng',
|
||||
'url' => '/admin/?opt=payinstall&view=order',
|
||||
'url' => '/admin/payinstall/order',
|
||||
),
|
||||
|
||||
1 => array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'payinstall',
|
||||
'view' => 'home',
|
||||
'id' => 'payinstall/home',
|
||||
'name' => 'Cài đặt trả góp',
|
||||
'url' => '/admin/?opt=payinstall',
|
||||
'url' => '/admin/payinstall',
|
||||
),
|
||||
|
||||
2 => array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'payinstall',
|
||||
'view' => 'category',
|
||||
'id' => 'payinstall/category',
|
||||
'name' => 'Danh mục sản phẩm',
|
||||
'url' => '/admin/?opt=payinstall&view=category',
|
||||
'url' => '/admin/payinstall/category',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
@@ -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(
|
||||
@@ -12,7 +12,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'pcbuilder/home',
|
||||
'name' => 'Linh kiện xây dựng',
|
||||
'url' => '/admin/?opt=pcbuilder',
|
||||
'url' => '/admin/pcbuilder',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -21,7 +21,7 @@ return array(
|
||||
'view' => 'preconfig',
|
||||
'id' => 'pcbuilder/preconfig',
|
||||
'name' => 'Bộ máy tính mẫu',
|
||||
'url' => '/admin/?opt=pcbuilder&view=preconfig',
|
||||
'url' => '/admin/pcbuilder/preconfig',
|
||||
),
|
||||
),
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
|
||||
return array(
|
||||
'enable' => true ,
|
||||
|
||||
"name" => "Sản phẩm",
|
||||
"icon_class" => 'package',
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
array(
|
||||
@@ -14,35 +14,36 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'product/home',
|
||||
'name' => 'Sản phẩm',
|
||||
'url' => '/admin/?opt=product',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product',
|
||||
),
|
||||
|
||||
array(
|
||||
/* array(
|
||||
'enable' => false ,
|
||||
'module' => 'product',
|
||||
'view' => 'user-rating',
|
||||
'id' => 'product/user-rating',
|
||||
'name' => 'Đánh giá ',
|
||||
'url' => '/admin/?opt=product&view=user-rating',
|
||||
),
|
||||
'url' => '/admin/product/user-rating',
|
||||
),*/
|
||||
|
||||
array(
|
||||
/*array(
|
||||
'enable' => false ,
|
||||
'module' => 'product',
|
||||
'view' => 'product-customer-image',
|
||||
'id' => 'product/product-customer-image',
|
||||
'name' => 'Ảnh người dùng gửi',
|
||||
'url' => '/admin/?opt=product&view=product-customer-image',
|
||||
),
|
||||
'url' => '/admin/product/product-customer-image',
|
||||
),*/
|
||||
|
||||
array(
|
||||
/*array(
|
||||
'enable' => true ,
|
||||
'module' => 'product',
|
||||
'view' => 'product-list-update',
|
||||
'id' => 'product/product-list-update',
|
||||
'name' => 'Bảng giá cập nhật',
|
||||
'url' => '/admin/?opt=product&view=product-list-update',
|
||||
),
|
||||
'url' => '/admin/product/product-list-update',
|
||||
),*/
|
||||
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -50,7 +51,8 @@ return array(
|
||||
'view' => 'category',
|
||||
'id' => 'product/category',
|
||||
'name' => 'Danh mục',
|
||||
'url' => '/admin/?opt=product&view=category',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/category',
|
||||
),
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -58,7 +60,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'brand/home',
|
||||
'name' => 'Thương hiệu',
|
||||
'url' => '/admin/?opt=brand',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/brand',
|
||||
),
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -66,7 +69,8 @@ return array(
|
||||
'view' => 'attribute',
|
||||
'id' => 'product/attribute',
|
||||
'name' => 'Thuộc tính ',
|
||||
'url' => '/admin/?opt=product&view=attribute',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/attribute',
|
||||
),
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -74,7 +78,8 @@ return array(
|
||||
'view' => 'collection',
|
||||
'id' => 'product/collection',
|
||||
'name' => 'Bộ sưu tập',
|
||||
'url' => '/admin/?opt=product&view=collection',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/collection',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -83,79 +88,68 @@ return array(
|
||||
'view' => 'product-wait-list',
|
||||
'id' => 'product/product-wait-list',
|
||||
'name' => 'Chờ mua sản phẩm',
|
||||
'url' => '/admin/?opt=product&view=product-wait-list',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/product-wait-list',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'addon',
|
||||
'view' => 'home',
|
||||
'id' => 'addon/home',
|
||||
'name' => 'SP/Dịch vụ mua kèm',
|
||||
'url' => '/admin/?opt=addon',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/addon',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'config_group',
|
||||
'view' => 'home',
|
||||
'id' => 'config_group/home',
|
||||
'name' => 'Nhóm cấu hình',
|
||||
'url' => '/admin/?opt=config_group',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/config_group',
|
||||
),
|
||||
|
||||
array(
|
||||
/*array(
|
||||
'enable' => false ,
|
||||
'module' => 'supplier',
|
||||
'view' => 'home',
|
||||
'id' => 'supplier/home',
|
||||
'name' => 'Nhà cung cấp',
|
||||
'url' => '/admin/?opt=supplier',
|
||||
),
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/supplier',
|
||||
),*/
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'module' => 'product',
|
||||
'view' => 'product-erp-not-web',
|
||||
'id' => 'product/product-erp-not-web',
|
||||
'name' => 'SP ERP chưa có trên web',
|
||||
'url' => '/admin/?opt=product&view=product-erp-not-web',
|
||||
),
|
||||
|
||||
array(
|
||||
/* array(
|
||||
'enable' => false ,
|
||||
'module' => 'product',
|
||||
'view' => 'set-promotion-price',
|
||||
'id' => 'product/set-promotion-price',
|
||||
'name' => 'Cài đặt giá khuyến mại',
|
||||
'url' => '/admin/?opt=product&view=set-promotion-price',
|
||||
),
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/set-promotion-price',
|
||||
),*/
|
||||
|
||||
array(
|
||||
/*array(
|
||||
'enable' => false ,
|
||||
'module' => 'product',
|
||||
'view' => 'product-per-customer-group',
|
||||
'id' => 'product/product-per-customer-group',
|
||||
'name' => 'Giá theo nhóm khách hàng',
|
||||
'url' => '/admin/?opt=product&view=product-per-customer-group',
|
||||
),
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/product-per-customer-group',
|
||||
),*/
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'module' => 'product',
|
||||
'view' => 'list-competitor',
|
||||
'id' => 'product/list-competitor',
|
||||
'name' => 'So sánh giá đối thủ',
|
||||
'url' => '/admin/?opt=product&view=list-competitor',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => false ,
|
||||
'enable' => true ,
|
||||
'module' => 'product',
|
||||
'view' => 'set',
|
||||
'id' => 'product/set',
|
||||
'name' => 'Set sản phẩm',
|
||||
'url' => '/admin/?opt=product&view=set',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/product/set',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -164,8 +158,18 @@ return array(
|
||||
'view' => 'spec-group',
|
||||
'id' => 'product/spec-group',
|
||||
'name' => 'Nhóm thông số kỹ thuật',
|
||||
'url' => '/admin/?opt=product&view=spec-group',
|
||||
"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,78 +4,87 @@ return array(
|
||||
'enable' => true ,
|
||||
|
||||
"name" => "Thống kê",
|
||||
"icon_class" => 'pie-chart',
|
||||
"url" => "",
|
||||
"menu" => array(
|
||||
0 => array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'report',
|
||||
'view' => 'visitor',
|
||||
'id' => 'report/visitor',
|
||||
'name' => 'Thống kê truy cập',
|
||||
'url' => '/admin/?opt=report&view=visitor',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report/visitor',
|
||||
),
|
||||
|
||||
1 => array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'report',
|
||||
'view' => 'customer',
|
||||
'id' => 'report/customer',
|
||||
'name' => 'Thống kê khách hàng',
|
||||
'url' => '/admin/?opt=report&view=customer',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report/customer',
|
||||
),
|
||||
|
||||
2 => array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'report',
|
||||
'view' => 'order',
|
||||
'id' => 'report/order',
|
||||
'name' => 'Thống kê đơn hàng',
|
||||
'url' => '/admin/?opt=report&view=order',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report/order',
|
||||
),
|
||||
|
||||
3 => array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'report',
|
||||
'view' => 'product-buy',
|
||||
'id' => 'report/product-buy',
|
||||
'name' => 'Sản phẩm mua nhiều',
|
||||
'url' => '/admin/?opt=report&view=product-buy',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report/product-buy',
|
||||
),
|
||||
|
||||
4 => array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'report',
|
||||
'view' => 'product-visit',
|
||||
'id' => 'report/product-visit',
|
||||
'name' => 'Sản phẩm xem nhiều',
|
||||
'url' => '/admin/?opt=report&view=product-visit',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report/product-visit',
|
||||
),
|
||||
|
||||
5 => array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'report',
|
||||
'view' => 'referer',
|
||||
'id' => 'report/referer',
|
||||
'name' => 'Web giới thiệu',
|
||||
'url' => '/admin/?opt=report&view=referer',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report/referer',
|
||||
),
|
||||
|
||||
6 => array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'report',
|
||||
'view' => 'search',
|
||||
'id' => 'report/search',
|
||||
'name' => 'Từ khóa tìm kiếm',
|
||||
'url' => '/admin/?opt=report&view=search',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report/search',
|
||||
),
|
||||
|
||||
/*7 => array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'report',
|
||||
'view' => 'error-page',
|
||||
'id' => '',
|
||||
'name' => 'Lỗi website',
|
||||
'url' => '/admin/?opt=report&view=error-page',
|
||||
),*/
|
||||
"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,7 +12,8 @@ return array(
|
||||
'view' => 'settings',
|
||||
'id' => 'system/settings',
|
||||
'name' => 'Cài đặt chung',
|
||||
'url' => '/admin/?opt=system&view=settings',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/settings',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -20,7 +22,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'template/home',
|
||||
'name' => 'Sửa file template',
|
||||
'url' => '/admin/?opt=template',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/template',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -29,7 +32,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => '',
|
||||
'name' => 'Quản trị viên',
|
||||
'url' => '/admin/?opt=admin',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/admin',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -38,25 +42,28 @@ return array(
|
||||
'view' => 'store-address',
|
||||
'id' => '',
|
||||
'name' => 'Địa chỉ cửa hàng',
|
||||
'url' => '/admin/?opt=system&view=store-address',
|
||||
"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',
|
||||
'url' => '/admin/?opt=system&view=domain',
|
||||
),*/
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/domain',
|
||||
),
|
||||
|
||||
/*array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'system',
|
||||
'view' => 'ban-ip',
|
||||
'id' => '',
|
||||
'name' => 'Chặn IP truy cập website',
|
||||
'url' => '/admin/?opt=system&view=ban-ip',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/ban-ip',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -65,10 +72,11 @@ return array(
|
||||
'view' => 'change-info',
|
||||
'id' => '',
|
||||
'name' => 'Thông tin website',
|
||||
'url' => '/admin/?opt=system&view=change-info',
|
||||
),*/
|
||||
"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',
|
||||
'url' => '/admin/?opt=system&view=province-list',
|
||||
),*/
|
||||
"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',
|
||||
'url' => '/admin/?opt=system&view=order-status',
|
||||
),*/
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/order-status',
|
||||
),
|
||||
|
||||
/*array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'online_support',
|
||||
'view' => 'home',
|
||||
'id' => '',
|
||||
'name' => 'Hỗ trợ bán hàng',
|
||||
'url' => '/admin/?opt=online_support',
|
||||
),*/
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/online_support',
|
||||
),
|
||||
|
||||
/*array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'system',
|
||||
'view' => 'country',
|
||||
'id' => '',
|
||||
'name' => 'Quốc gia',
|
||||
'url' => '/admin/?opt=system&view=country',
|
||||
),*/
|
||||
"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',
|
||||
'url' => '/admin/?opt=report_out',
|
||||
),*/
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/report_out',
|
||||
),
|
||||
|
||||
/*array(
|
||||
array(
|
||||
'enable' => true ,
|
||||
'module' => 'shipping2',
|
||||
'view' => 'home',
|
||||
'id' => '',
|
||||
'name' => 'Cài đặt phí vận chuyển',
|
||||
'url' => '/admin/?opt=shipping2',
|
||||
),*/
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/shipping2',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -130,7 +144,8 @@ return array(
|
||||
'view' => 'redirect',
|
||||
'id' => 'url/redirect',
|
||||
'name' => 'Url Redirect',
|
||||
'url' => '/admin/?opt=url&view=redirect',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/url/redirect',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -139,17 +154,10 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'tool/home',
|
||||
'name' => 'Công cụ',
|
||||
'url' => '/admin/?opt=tool',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/tool',
|
||||
),
|
||||
|
||||
/*array(
|
||||
'enable' => true ,
|
||||
'module' => 'civi',
|
||||
'view' => 'home',
|
||||
'id' => '',
|
||||
'name' => 'Civi Affiliate',
|
||||
'url' => '/admin/?opt=civi',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -157,7 +165,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'menu/home',
|
||||
'name' => 'Quản trị menu',
|
||||
'url' => '/admin/?opt=menu',
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/menu',
|
||||
),
|
||||
|
||||
array(
|
||||
@@ -166,8 +175,9 @@ return array(
|
||||
'view' => 'keyword-suggest',
|
||||
'id' => 'system/keyword-suggest',
|
||||
'name' => 'Từ khóa gợi ý',
|
||||
'url' => '/admin/?opt=system&view=keyword-suggest',
|
||||
),*/
|
||||
"icon_class" => '',
|
||||
'url' => '/admin/system/keyword-suggest',
|
||||
),
|
||||
|
||||
array(
|
||||
'enable' => true ,
|
||||
@@ -175,7 +185,8 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'tag/home',
|
||||
'name' => 'Quản trị Tag',
|
||||
'url' => '/admin/?opt=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(
|
||||
@@ -12,7 +13,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => '',
|
||||
'name' => 'Khách hàng đăng ký',
|
||||
'url' => '/admin/?opt=warranty&view=customer-register',
|
||||
'url' => '/admin/warranty/customer-register',
|
||||
),*/
|
||||
|
||||
array(
|
||||
@@ -21,7 +22,7 @@ return array(
|
||||
'view' => 'home',
|
||||
'id' => 'warranty/home',
|
||||
'name' => 'Danh sách bảo hành',
|
||||
'url' => '/admin/?opt=warranty',
|
||||
'url' => '/admin/warranty',
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
1
data/order/detail_new.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
55
data/order/home.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
|
||||
use Hura8\Components\Order\AdminController\AOrderController;
|
||||
use Hura8\Components\Order\Controller\OrderStatus;
|
||||
use Hura8\System\Paging;
|
||||
|
||||
$numPerPage = 30;
|
||||
|
||||
$conditions = array(
|
||||
'orderCode' => getRequest('orderCode', ''),
|
||||
'q' => getRequest('q', ''),
|
||||
//'coupon' => getRequest('coupon', ''),
|
||||
'cus_id' => getRequest('cus_id', ''),
|
||||
'province' => getRequest('province', ''),
|
||||
//'district' => getRequest('district', ''),
|
||||
'folder' => getRequest('folder', ''),
|
||||
'view_status' => getRequest('view_status', ''),
|
||||
'update_by' => getRequest('update_by', ''),
|
||||
//'shipping_status' => getRequest('shipping_status', ''),
|
||||
'assign_to' => getRequest('assign_to', ''),
|
||||
'from_date' => getRequest('from_date', ''),
|
||||
'to_date' => getRequest('to_date', ''),
|
||||
//'from_hour' => getRequest('from_hour', ''),
|
||||
//'to_hour' => getRequest('to_hour', ''),
|
||||
'payment' => getRequest('payment', ''),
|
||||
'fullfillment' => getRequest('fullfillment', ''),
|
||||
'status' => getRequest('status', ''),
|
||||
//'excluded_ids' => getRequest('', ''),
|
||||
//'included_ids' => getRequest('', ''),
|
||||
'list' => getRequest('list', ''),
|
||||
'numPerPage' => $numPerPage,
|
||||
'page' => getPageId(),
|
||||
);
|
||||
|
||||
$objAOrderController = new AOrderController();
|
||||
$totalResults = $objAOrderController->getTotal($conditions);
|
||||
$item_list = $objAOrderController->getList($conditions);
|
||||
|
||||
//debug_var($item_list);
|
||||
|
||||
list($page_collection, $tb_page, $total_pages) = Paging::paging_template($totalResults, $numPerPage);
|
||||
|
||||
return [
|
||||
"total" => $totalResults,
|
||||
"item_list" => $item_list,
|
||||
"pagination" => [
|
||||
'collection' => $page_collection,
|
||||
'html' => $tb_page,
|
||||
'total_pages' => $total_pages,
|
||||
],
|
||||
"order_status_list" => OrderStatus::ORDER_STATUS ,
|
||||
"payment_status_list" => OrderStatus::PAYMENT_STATUS,
|
||||
"fullfillment_status_list" => OrderStatus::FULFILLMENT_STATUS ,
|
||||
];
|
||||
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_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
|
||||
108
data/product/category.php
Normal file
@@ -0,0 +1,108 @@
|
||||
<?php
|
||||
|
||||
use Hura8\Components\Product\AdminController\AProductCategoryController;
|
||||
|
||||
$objAProductCategoryController = new AProductCategoryController();
|
||||
|
||||
$category_collection = $objAProductCategoryController->getAllParent();
|
||||
|
||||
return [
|
||||
'category_list' => get_category_list(0, getRequest("id"), $level=1, $prefix="", $category_collection )
|
||||
];
|
||||
|
||||
|
||||
function get_category_list($parentId=0, $currentCat="",$level=1, $prefix="", $category_collection = array()){
|
||||
|
||||
$categoryTree = "";
|
||||
$extra_space = "";
|
||||
for($i = 1; $i < $level; $i++){
|
||||
$extra_space .= " ";
|
||||
}
|
||||
|
||||
$stt = 0;
|
||||
if(isset($category_collection[$parentId])) {
|
||||
|
||||
foreach($category_collection[$parentId] as $index => $cat_info){
|
||||
$cat_id = $cat_info['id'];
|
||||
|
||||
$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')\" 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;
|
||||
|
||||
$hide_this = ($parentId > 0) ? "style='display: none;'" : '';
|
||||
|
||||
$show_category_name = $cat_info["title"];
|
||||
|
||||
if(!IS_DEFAULT_LANGUAGE && isset($cat_info["not_translated"]) && $cat_info["not_translated"]) {
|
||||
$show_category_name = "<span style='color: red'>[Chưa dịch]</span> ".$cat_info["title"];
|
||||
}
|
||||
|
||||
if($cat_info['is_parent']) {
|
||||
$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>
|
||||
<a class='link-active' name='cat_".$cat_id."'></a>
|
||||
". $extra_space . $prefix . $stt.". ". $show_category_name . $imgUrl."
|
||||
</td>
|
||||
|
||||
<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 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'>Tổng</a> (".$cat_info['attribute_count'].")
|
||||
</td>
|
||||
<td>
|
||||
<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."\"><i data-lucide='pencil' class='size-3'></i></a>
|
||||
</td>
|
||||
";
|
||||
}
|
||||
|
||||
$categoryTree .= "
|
||||
</tr>
|
||||
";
|
||||
|
||||
if($cat_info["is_parent"]) $categoryTree .= get_category_list($cat_id, $currentCat, $level + 1, $prefix . $stt.".", $category_collection);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return $categoryTree;
|
||||
}
|
||||
|
||||
18
data/product/category_form.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
|
||||
use Hura8\Components\Product\AdminController\AProductCategoryController;
|
||||
|
||||
$objAProductCategoryController = new AProductCategoryController();
|
||||
|
||||
|
||||
$id = (int) getRequest("id");
|
||||
$item_info = ($id > 0) ? $objAProductCategoryController->getFullInfo($id) : null;
|
||||
if(!$item_info) $item_info = $objAProductCategoryController->getEmptyInfo([]);
|
||||
|
||||
|
||||
return [
|
||||
'item_info' => $item_info,
|
||||
'categoryDropBox' => $objAProductCategoryController->getDropBox( $item_info['parent_id'], 0, 1),
|
||||
'update_status' => getRequest("us"),
|
||||
];
|
||||
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
|
||||