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