This commit is contained in:
hero920103 committed 2026-11-14 07:54:01 +08:00
1 parent 4ab63e77ed
commit eb9b7beff5
16 files changed
+1031 -91

No files matched your search

@@ -142,6 +142,25 @@ func (c *BackendApprovalRuntimeController) InstanceTodo() {
} else {
qs = qs.Filter("status", models.ApprovalTaskPending)
}
// 审批任务自带 biz_type,直接在任务查询上过滤,total 与分页才准确。
// erp = 只查进销存单据;non_erp = 只查其它审批,两个审批列表互不混入。
if bizType := strings.TrimSpace(c.GetString("biz_type")); bizType != "" {
switch bizType {
case "erp", "erp_":
qs = qs.Filter("biz_type__startswith", "erp_")
case "non_erp":
// 用已知单据类型精确排除,避免依赖 Exclude 对前缀操作符的支持
erpBizTypes := make([]string, 0, len(erpDocTypes))
for docType := range erpDocTypes {
erpBizTypes = append(erpBizTypes, models.ErpDocApprovalBizType(docType))
}
if len(erpBizTypes) > 0 {
qs = qs.Exclude("biz_type__in", erpBizTypes)
}
default:
qs = qs.Filter("biz_type", bizType)
}
}
total, _ := qs.Count()
var tasks []models.ApprovalTask
@@ -163,6 +182,7 @@ func (c *BackendApprovalRuntimeController) InstanceTodo() {
continue
}
taskView := oaApprovalTaskView(t, true, oaApprovalNodeTypes(inst)[t.NodeKey])
taskView["instance_id"] = t.InstanceID
taskView["instance"] = oaApprovalInstanceView(inst)
list = append(list, taskView)
}