Skip to main content

Complete Mobile And Terminal Menu Map

หน้านี้เป็น menu map ครบทุกเมนูที่ปรากฏใน Mobile Home และ POS Terminal Home รวมถึงจุดต่างของ Terminal ที่มี POS หน้าร้าน

Source of truth

  • Mobile menu: apps/mobile/src/screens/homeScreen/index.tsx
  • Mobile navigation: apps/mobile/src/navigation/RootNavigator.tsx
  • Terminal menu: apps/pos-terminal/src/screens/HomeScreen/config.ts
  • Terminal POS route: apps/pos-terminal/src/navigation/RootNavigator.tsx
  • Terminal POS screen: apps/pos-terminal/src/screens/StorefrontPosStack

Complete menu table

GroupMenuMobile targetTerminal key / targetNotes
การขายใบสั่งขายOrderList mode defaultsalesOrderดู/สร้าง/แก้ไขใบสั่งขาย
การขายตรวจสอบใบสั่งขายOrderList mode shipping-reviewsalesOrderReviewตรวจรายการก่อนส่งต่อ flow จัดส่ง/ออกเอกสาร
การขายใบจองราคาBookingPriceListbookingPriceสร้างใบจองราคาและแปลงเป็นใบสั่งขายได้
การขายใบแจ้งหนี้InvoiceListinvoiceดูใบแจ้งหนี้, ชำระเงิน, พิมพ์, ส่ง B1 ตามสิทธิ์/สถานะ
การขายใบจัดส่งสินค้าสายส่งShippingListshippingRouteต้องเป็นสาขาหลัก (isMain = true)
การขายใบจัดส่งสินค้าหน้าร้านStorefrontListshippingStorefrontเอกสารจัดสินค้าหน้าร้าน ไม่ใช่ POS หน้าร้านเต็มจอ
การขายใบเบิกยืมดูปลาBorrowListborrowFishรองรับ flow เบิกยืมและ conversion ตามสถานะ
การขายPOS หน้าร้านไม่มีStorefrontPos routeเฉพาะ Terminal เปิดจากปุ่มใน menu pane
คลังสินค้ารับสินค้าเข้าตรงGoodsReceiptListgoodsReceiptnon-main branch เปิดได้แม้ไม่ผ่าน deptCode stock set
คลังสินค้าโอนสินค้าไปสาขาTransferOutListtransferOutใช้สำหรับโอนสินค้าออกไปสาขาอื่น
คลังสินค้ารับสินค้าจากสาขาTransferInListtransferInรับสินค้าจากเอกสารโอนเข้า
คลังสินค้าย้ายสินค้าตู้แช่TransferWarehouseListtransferWarehouseชื่อในเอกสารเดิมบางจุดอาจเรียกย้ายสินค้าระหว่างคลัง
ข้อมูลสินค้าProductListproductดูสินค้า, ราคา, inventory context
ข้อมูลลูกค้าCustomerList mode defaultcustomerดูข้อมูลลูกค้า, tier/point, ที่อยู่, สร้างเอกสารจากลูกค้า
ข้อมูลขนส่งTransportListtransportต้องเป็นสาขาหลัก (isMain = true)
ข้อมูลการจัดการลูกค้าCustomerManagementListcustomerManagementจัดการ draft/คำขอลูกค้า
ข้อมูลจัดการที่อยู่ลูกค้าCustomerManagementAddressListcustomerAddressManagementจัดการคำขอ/ข้อมูลที่อยู่
ข้อมูลเปิด/ปิด สถานะลูกค้าCustomerList mode requestcustomerActivationใช้ permission set เฉพาะ MENU_CAN_ACTIVE_CUSTOMER
ข้อมูลลดหนี้ / คืนสินค้าCreditNoteListcreditNoteMobile อนุญาตด้วย deptCode หรือ user code override; Terminal มี userPermission เช่นกัน
ข้อมูลผู้ใช้ทั้งหมดEmployeeListemployeeTerminal admin เปิดได้ตาม rule ของ canAccessMenu
ข้อมูลยานพาหนะVehicleListvehicleใช้ permission set เดียวกับ employee menu
อื่นๆฝากเงินDepositListdepositมี shortcut สร้างรายการใหม่เมื่อมีสิทธิ์
อื่นๆบิลน้ำมันExpenseBillListexpenseBillต้องเป็นสาขาหลัก (isMain = true)

Permission flow

Main-branch-only menus

เมนูที่ยังบังคับ branch.isMain = true:

  • ใบจัดส่งสินค้าสายส่ง
  • ขนส่ง
  • บิลน้ำมัน

เมนู stock เหล่านี้เปิดให้ non-main branch ได้:

  • รับสินค้าเข้าตรง
  • โอนสินค้าไปสาขา
  • รับสินค้าจากสาขา
  • ย้ายสินค้าตู้แช่

Mobile shortcuts

Mobile มี shortcut บน card บางเมนู:

MenuShortcut target
ใบสั่งขายCustomerList mode default แล้วสร้าง order จากลูกค้า
ใบจองราคาCustomerList mode booking
ใบเบิกยืมดูปลาCustomerList mode borrow
ใบจัดส่งสินค้าสายส่งShippingDetail create mode
ขนส่งTransportDetail new transport
ฝากเงินDepositDetail new deposit

Terminal interaction model

Terminal ไม่ใช้ navigation stack แยกทุกเมนูเหมือน Mobile Home แต่ใช้ selected menu state:

Terminal จึงให้ผู้ใช้ทำงานแบบ list + detail ต่อเนื่องในจอเดียว ส่วน Mobile ใช้ stack navigation จาก list ไป detail

POS หน้าร้าน เฉพาะ Terminal

POS หน้าร้าน ไม่ใช่รายการใน terminalMenus แต่เป็นปุ่มเปิด route StorefrontPos

ใช้เมื่อเครื่อง Terminal ทำหน้าที่เป็น POS หน้าร้านเต็มรูปแบบ แยกจากเมนู ใบจัดส่งสินค้าหน้าร้าน ซึ่งเป็น workflow เอกสารจัดส่ง/จัดสินค้า

Update checklist เมื่อเพิ่มเมนู

  1. เพิ่ม Mobile MENU_SECTIONS, visibility set, navigation target, shortcut ถ้ามี
  2. เพิ่ม Terminal terminalMenus, permission set, detail/list handler ถ้ามี
  3. เพิ่ม route/screen ถ้าเป็น flow ใหม่
  4. อัปเดตหน้านี้และ home-menu-and-permissions
  5. อัปเดต changelog