From f5123ee0185a5bf1b3cc8dc382c4b872dfff5edf Mon Sep 17 00:00:00 2001 From: Viet An Date: Tue, 5 May 2026 15:15:50 +0700 Subject: [PATCH] changes --- app/components/TopMenu.vue | 247 ++------------------ app/components/exports/ExportsAssembled.vue | 3 + app/components/exports/ExportsDamaged.vue | 3 + app/components/exports/ExportsInternal.vue | 3 + app/components/imports/Returns.vue | 3 + app/components/maintab/Configuration.vue | 18 -- app/components/receipts/CreateReceipts.vue | 3 + app/components/receipts/Return.vue | 3 + app/pages/index.vue | 3 +- app/plugins/02-connection.js | 5 +- app/plugins/03-api-loader.js | 1 + app/plugins/04-components.js | 14 +- app/stores/index.js | 5 +- 13 files changed, 54 insertions(+), 257 deletions(-) create mode 100644 app/components/exports/ExportsAssembled.vue create mode 100644 app/components/exports/ExportsDamaged.vue create mode 100644 app/components/exports/ExportsInternal.vue create mode 100644 app/components/imports/Returns.vue create mode 100644 app/components/receipts/CreateReceipts.vue create mode 100644 app/components/receipts/Return.vue diff --git a/app/components/TopMenu.vue b/app/components/TopMenu.vue index 5f1b060..bd590a2 100644 --- a/app/components/TopMenu.vue +++ b/app/components/TopMenu.vue @@ -126,243 +126,24 @@ import { watch } from "vue"; const router = useRouter(); const route = useRoute(); const emit = defineEmits(["changetab", "langChanged"]); -const { $find, $filter, $findIndex, $store } = useNuxtApp(); +const { $find, $filter, $store } = useNuxtApp(); const lang = ref($store.lang); -// var menu = $filter($store.common, { category: "topmenu" }); -const menu = [ - { - id: 1, - category: "topmenu", - classify: "left", - code: "dashboard", - vi: "Dashboard", - link: null, - detail: { - base: "Dashboard", - component: "DashboardMaster", - }, - index: 0, - }, - { - id: 2, - category: "topmenu", - classify: "left", - code: "orders", - vi: "Đơn hàng", - link: null, - detail: { - base: "Orders", - component: "OrdersMaster", - }, - index: 0, - }, - { - id: 1, - category: "topmenu", - classify: "left", - code: "inventory", - vi: "Tồn kho", - link: null, - detail: { - base: "Inventory", - component: "InventoryMaster", - }, - index: 0, - }, - { - id: 1, - category: "topmenu", - classify: "left", - code: "rights", - vi: "Phân quyền", - link: null, - detail: { - base: "Rights", - component: "RightsMaster", - }, - index: 0, - }, - { - id: 1, - category: "topmenu", - classify: "left", - code: "POS", - vi: "POS", - link: null, - detail: { - base: "POS", - component: "POSMaster", - }, - index: 0, - }, - { - id: 1, - category: "topmenu", - classify: "left", - code: "receipts", - vi: "Hoá đơn", - link: null, - detail: { - base: "Receipts", - component: "ReceiptsMaster", - }, - index: 0, - }, - { - id: 1, - category: "topmenu", - classify: "left", - code: "imports", - vi: "Nhập hàng", - link: null, - detail: { - base: "Imports", - component: "ImportsMaster", - }, - index: 0, - }, - { - id: 1, - category: "topmenu", - classify: "left", - code: "exports", - vi: "Xuất hàng", - link: null, - detail: { - base: "Exports", - component: "ExportsMaster", - }, - index: 0, - }, - { - id: 1, - category: "topmenu", - classify: "left", - code: "inventory-transfer", - vi: "Chuyển kho", - link: null, - detail: { - base: "InventoryTransfer", - component: "InventoryTransferMaster", - }, - index: 0, - }, - { - id: 1, - category: "topmenu", - classify: "left", - code: "inventory-count", - vi: "Kiểm kho", - link: null, - detail: { - base: "InventoryCount", - component: "InventoryCountMaster", - }, - index: 0, - }, - { - id: 1, - category: "topmenu", - classify: "left", - code: "cash-book", - vi: "Sổ quỹ", - link: null, - detail: { - base: "CashBook", - component: "CashBookMaster", - }, - index: 0, - }, - { - id: 1, - category: "topmenu", - classify: "left", - code: "report", - vi: "Báo cáo", - link: null, - submenu: [ - { - id: 1, - category: "submenu", - classify: "report", - code: "ncc", - vi: "NCC", - link: null, - detail: { - base: "NCC", - component: "NCCMaster", - }, - index: 0, - }, - { - id: 1, - category: "submenu", - classify: "report", - code: "customers", - vi: "Khách hàng", - link: null, - detail: { - base: "Customers", - component: "CustomersMaster", - }, - index: 0, - }, - { - id: 1, - category: "submenu", - classify: "report", - code: "goods", - vi: "Hàng hoá", - link: null, - detail: { - base: "Goods", - component: "GoodsMaster", - }, - index: 0, - }, - { - id: 1, - category: "submenu", - classify: "report", - code: "report-cash-book", - vi: "Sổ quỹ", - link: null, - detail: { - base: "ReportCashBook", - component: "ReportCashBookMaster", - }, - index: 0, - }, - { - id: 1, - category: "submenu", - classify: "report", - code: "finance", - vi: "Tài chính", - link: null, - detail: { - base: "Finance", - component: "FinanceMaster", - }, - index: 0, - }, - ], - index: 0, - }, -]; +const menu = $filter($store.common, { category: "topmenu" }); // if($store.rights.length>0) { // menu = menu.filter(v=>$findIndex($store.rights, {setting: v.id})>=0) // } if (menu.length === 0) { $snackbar($store.lang === "vi" ? "Bạn không có quyền truy cập" : "You do not have permission to access."); } -// menu.map(v=>{ -// let arr = $filter($store.common, {category: 'submenu', classify: v.code}) -// if($store.rights.length>0) { -// arr = arr.filter(x=>$findIndex($store.rights, {setting: x.id})>=0) -// } -// v.submenu = arr.length>0? arr : null -// }) + +menu.forEach((topmenu) => { + let submenus = $filter($store.common, { category: "submenu", classify: topmenu.code }); + if ($store.rights.length > 0) { + submenus = submenus.filter((x) => $findIndex($store.rights, { setting: x.id }) >= 0); + } + topmenu.submenu = submenus.length > 0 ? submenus : null; +}); + var leftmenu = $filter(menu, { category: "topmenu", classify: "left" }); var currentTab = ref(leftmenu.length > 0 ? leftmenu[0] : undefined); var subTab = ref(); @@ -401,7 +182,7 @@ function openProfile() { component: "user/Profile", width: "1100px", height: "360px", - title: $store.lang === "vi" ? "Thông tin cá nhân" : '"User profile"', + title: $store.lang === "vi" ? "Thông tin cá nhân" : "User profile", }; $store.commit("showmodal", modal); } @@ -433,6 +214,10 @@ watch( );