This commit is contained in:
Your Name
2026-04-11 18:06:02 +08:00
parent 4909ec6daa
commit abcecf66e7
325 changed files with 4199 additions and 633 deletions
+93
View File
@@ -0,0 +1,93 @@
# 完单申请功能实现总结
## 功能概述
在补齐支付单时,用户可以选择是否申请完成订单。如果勾选了完单申请,审核人员在进行支付审核时可以看到该申请信息。
## 数据库修改
### 新增字段(zyt_tcm_prescription_order表)
```sql
-- 执行 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. 操作日志会记录完单申请的操作
## 测试要点
- [ ] 手动创建支付单时勾选完单申请
- [ ] 关联已有支付单时勾选完单申请
- [ ] 审核对话框正确显示完单申请信息
- [ ] 申请人姓名和时间正确显示
- [ ] 操作日志正确记录
- [ ] 不勾选完单申请时,审核对话框不显示提示