You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle APEX餐厅应用:实现关联菜品表的点餐按钮及账单添加功能

Oracle APEX餐厅应用需求实现方案

这个需求完全可以在Oracle APEX中实现,以下是具体操作步骤:

1. 准备数据库表

确保已创建两个核心业务表:

  • items:存储菜品基础信息,需包含item_id(主键)、item_name(菜品名称)、price(单价)字段
  • bill_preview:存储临时账单数据,建议包含bill_preview_id(主键,可选自增)、item_id、item_name、price、quantity(默认值1)、session_id(用于隔离不同用户的账单数据)字段

2. 创建菜品按钮展示区域

在APEX页面中添加按钮区域,采用卡片/按钮组布局展示菜品:

  • 每个菜品对应一个按钮,按钮标题绑定items表字段,动态显示为item_name || ' ¥' || price(根据实际货币符号调整)
  • 为每个按钮设置动态动作,触发条件为「点击」

3. 配置按钮的点击逻辑

点击按钮时依次执行以下动作:

3.1 插入数据到临时账单表

添加「执行PL/SQL代码」动作,代码示例:

INSERT INTO bill_preview (item_id, item_name, price, quantity, session_id)
VALUES (:P_ITEM_ID, :P_ITEM_NAME, :P_ITEM_PRICE, 1, V('APP_SESSION'));
  • :P_ITEM_ID、:P_ITEM_NAME、:P_ITEM_PRICE为按钮绑定的items表字段值,需在按钮属性中设置为动态取值
  • V('APP_SESSION')获取当前用户的APEX会话ID,避免不同用户的账单数据混淆

3.2 刷新账单预览区域

添加「刷新区域」动作,选择账单预览表所在的页面区域,实现点击后实时更新账单内容

4. 构建账单预览表

在页面中添加交互式报表或经典报表,数据源选择bill_preview表,并添加筛选条件session_id = V('APP_SESSION'),仅展示当前用户的账单数据:

  • 可添加「删除」按钮,允许用户移除误选菜品
  • 配置汇总行,用SUM(price * quantity)计算账单总价

5. 配置账单打印功能

给账单预览区域添加打印按钮:

  • 选择APEX自带的「打印」动作,设置输出格式为PDF
  • 可自定义打印模板,添加餐厅标识、账单标题等内容

内容的提问来源于stack exchange,提问作者Vihen Theekshadha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 23:19:55