生成工单的操作流程
1.文件结构
- DeliveryAction.class.php : 配送员控制器类
- work_disp 显示工单界面,如果没有工单,显示生成工单界面
- work_empty 生成工单的算法,此控制器调用生成工单的算法,不管成功与否,都会返回到work_disp
WorkApi.class.php :DeliveryAction中用到的API
- getWorkList() 生成工单的接口
- getWorkList() 生成工单的接口
Tpl/Delivery 存放相关的视图
- work.html : 工单主界面
- work_empty.html: 领取工单界面
- show_code.html: 生成微信支付二维码页面
- scan_work_box_html:领箱扫码界面
- order_item_new.html: 单个订单的详细信息页面
- create_empty_box.html: 选择箱子个数页面
- create_empty_box2.html: 新订单完成页面
2.页面跳转及传值
2.1 主页(m=Delivery&a=work_disp)
- 传入值:user_id (从Holder中获取的)
- 传出值:
- 当work_order表中有为完成的工单时,跳转到
work.html
,传值为$work
和$orders
- 当work_order表中没有未完成的工单时,调用getWorkList()生成工单数据插入到work_order表中,显示
work.html
,传入值与上面相同
- 当work_order表中有为完成的工单时,跳转到
2.2 领箱扫码(m=Delivery&a=scan_work_box_disp)
- 传入值:
- total_full_box_send:送出去的满箱
- total_empty_box_send:送出去的空箱
- work_sn :工单号
- 按钮
- 继续扫:调用JS方法scanCode(),调用微信扫码接口获得扫码结果,将结果提交到
m=Delivery&a=scan_code
- 清空:调用JS方法initScanCode()提交到
m=Delivery&a=clear_scaned_box
- 完
- 继续扫:调用JS方法scanCode(),调用微信扫码接口获得扫码结果,将结果提交到