fix(consignment): 拼单份额验收收官补寄卖结算钩子 + 手动匹配弹窗三处复核遗留
- acceptWorkOrderShareAndSettle 最后一个份额把母单转 accepted 的分支, 此前不释放发布押金也不结算供货货款(两钩子只在统一验收里): 现在同口径补上;供货货款传 assignedWorkerId=0(拼单母单无单一接单人, 份额打手已各自按 share_reward 结算,不会重复付款) - 手动匹配弹窗:race_condition/unavailable/spec_mismatch/partial_requires_confirm 四个错误码清空已选并自动重拉列表,数据过期不再死循环撞错 - 手动匹配弹窗库存侧:keyword+pageSize100 透传后端(原来 keyword 是死参数、 只拉 50 条),300ms 防抖后端搜索;无供货打手时禁用指派选项并在提交前 再拦一道(原来必 400 死路);选中订单回显 workerId/workerName - 凭证核销反馈抽共享 utils/voucher-consume,WorkOrdersPanel 与弹窗共用, 口径不再漂移(弹窗顺带获得"已提前核销 N 张"提示) - docs/寄卖系统优化方案.md 记录批次 V 后端 477(+4)/ 前端 50(+1)测试全绿,typecheck / lint / format / check:sql 通过
This commit is contained in:
@@ -79,8 +79,8 @@ import {
|
||||
checkWorkOrderConsignmentMatches,
|
||||
fulfillWorkOrderWithConsignment,
|
||||
revokeWorkOrderConsignmentFulfillment,
|
||||
type WorkOrderVoucherConsumeResult,
|
||||
} from '@/services/admin/consignment'
|
||||
import { notifyVoucherConsume } from '@/utils/voucher-consume'
|
||||
import type { ConsignmentFulfillmentInfo, WorkOrderInventoryMatchCheck } from '@/types/consignment'
|
||||
import type { UploadedFile, WorkOrder, WorkOrderShare } from '@/types/worker-platform'
|
||||
import { isManuallyMatchableOrderStatus } from '@/utils/consignment-manual-match'
|
||||
@@ -764,24 +764,7 @@ export default function WorkOrdersPanel() {
|
||||
confirmPublishWorkOrder(row)
|
||||
}
|
||||
|
||||
/**
|
||||
* 电子凭证核销结果必须如实反馈:核销失败时后端已经改完状态,但凭证没消耗,
|
||||
* 之前这里无条件弹"成功",运营会以为凭证已核销而漏掉人工处理。
|
||||
*/
|
||||
function notifyVoucherConsume(voucherConsume?: WorkOrderVoucherConsumeResult) {
|
||||
if (!voucherConsume || voucherConsume.ok) {
|
||||
if (voucherConsume?.alreadyConsumedCount) {
|
||||
message.info(`电子凭证已提前核销 ${voucherConsume.alreadyConsumedCount} 张,本次未重复核销`)
|
||||
}
|
||||
return
|
||||
}
|
||||
message.warning({
|
||||
content: `状态已变更,但电子凭证核销失败:${
|
||||
voucherConsume.errorMessage || '未知错误'
|
||||
}。请在快手后台人工核销后再发货`,
|
||||
duration: 8,
|
||||
})
|
||||
}
|
||||
// 电子凭证核销结果的如实反馈抽到了 utils/voucher-consume(与手动匹配弹窗共用,口径不再漂移)
|
||||
|
||||
/** 非精确匹配(订单规格信息不全 / 高配充低配)必须人工确认,后端也会二次拦截 */
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user