Files
zyt/COMPLETION_REQUEST_FEATURE.md
T
2026-04-11 18:06:02 +08:00

3.3 KiB
Raw Blame History

完单申请功能实现总结

功能概述

在补齐支付单时,用户可以选择是否申请完成订单。如果勾选了完单申请,审核人员在进行支付审核时可以看到该申请信息。

数据库修改

新增字段(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 = 1
    • completion_request_time = 当前时间戳
    • completion_request_by = 操作人ID
    • completion_request_by_name = 操作人姓名
  • 操作日志中记录"并申请完成订单"

2. 关联支付单接口(linkPayOrder

文件: server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php

  • 接收 completion_request 参数
  • 如果值为1,记录完单申请信息(同上)
  • 操作日志中记录"并申请完成订单"

使用流程

  1. 补齐支付单

    • 用户在"已发货"状态下点击"新增支付单"
    • 选择手动创建或关联已有支付单
    • 勾选"申请完成订单"选项
    • 提交后,订单记录完单申请信息
  2. 支付审核

    • 审核人员点击"支付审核"
    • 如果该订单有完单申请,对话框顶部显示黄色警告框
    • 显示申请人和申请时间
    • 审核人员可以根据完单申请决定是否通过
  3. 完成订单

    • 支付审核通过后,订单状态变为"已发货"
    • 满足完成条件(已发货+支付审核通过)时,可以点击"完成订单"

注意事项

  1. 完单申请只是一个提示信息,不会自动完成订单
  2. 审核人员仍需手动点击"完成订单"按钮
  3. 完单申请信息在订单详情中可见
  4. 操作日志会记录完单申请的操作

测试要点

  • 手动创建支付单时勾选完单申请
  • 关联已有支付单时勾选完单申请
  • 审核对话框正确显示完单申请信息
  • 申请人姓名和时间正确显示
  • 操作日志正确记录
  • 不勾选完单申请时,审核对话框不显示提示