3.3 KiB
3.3 KiB
完单申请功能实现总结
功能概述
在补齐支付单时,用户可以选择是否申请完成订单。如果勾选了完单申请,审核人员在进行支付审核时可以看到该申请信息。
数据库修改
新增字段(zyt_tcm_prescription_order表)
-- 执行 add_completion_request_field.sql
ALTER TABLE `zyt_tcm_prescription_order`
ADD COLUMN `completion_request` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '完单申请:0=未申请,1=已申请' AFTER `payment_slip_audit_remark`,
ADD COLUMN `completion_request_time` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '完单申请时间' AFTER `completion_request`,
ADD COLUMN `completion_request_by` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '完单申请人ID' AFTER `completion_request_time`,
ADD COLUMN `completion_request_by_name` varchar(64) NOT NULL DEFAULT '' COMMENT '完单申请人姓名' AFTER `completion_request_by`;
前端修改
1. 补齐支付单对话框(order_list.vue)
- 添加"完单申请"单选项(不申请/申请完成订单)
- 添加提示文字说明
- 表单数据中添加
completion_request字段(默认值0)
2. 提交逻辑
- 手动创建支付单时,将
completion_request字段传递给后端 - 关联已有支付单时,同样传递
completion_request字段
3. 审核对话框
- 如果订单有完单申请(
completion_request=1),显示警告提示框 - 显示申请人姓名和申请时间
- 审核人员可以清楚看到该订单已申请完成
后端修改
1. 新增支付单接口(addPayOrder)
文件: server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php
- 接收
completion_request参数 - 如果值为1,记录完单申请信息:
completion_request = 1completion_request_time = 当前时间戳completion_request_by = 操作人IDcompletion_request_by_name = 操作人姓名
- 操作日志中记录"并申请完成订单"
2. 关联支付单接口(linkPayOrder)
文件: server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php
- 接收
completion_request参数 - 如果值为1,记录完单申请信息(同上)
- 操作日志中记录"并申请完成订单"
使用流程
-
补齐支付单
- 用户在"已发货"状态下点击"新增支付单"
- 选择手动创建或关联已有支付单
- 勾选"申请完成订单"选项
- 提交后,订单记录完单申请信息
-
支付审核
- 审核人员点击"支付审核"
- 如果该订单有完单申请,对话框顶部显示黄色警告框
- 显示申请人和申请时间
- 审核人员可以根据完单申请决定是否通过
-
完成订单
- 支付审核通过后,订单状态变为"已发货"
- 满足完成条件(已发货+支付审核通过)时,可以点击"完成订单"
注意事项
- 完单申请只是一个提示信息,不会自动完成订单
- 审核人员仍需手动点击"完成订单"按钮
- 完单申请信息在订单详情中可见
- 操作日志会记录完单申请的操作
测试要点
- 手动创建支付单时勾选完单申请
- 关联已有支付单时勾选完单申请
- 审核对话框正确显示完单申请信息
- 申请人姓名和时间正确显示
- 操作日志正确记录
- 不勾选完单申请时,审核对话框不显示提示