Files
zkxw/web-admin/src/utils/qc-work-order-unfinished-badge.ts
T
2026-07-01 16:37:33 +08:00

28 lines
1.1 KiB
TypeScript

import type { QcWorkOrder } from '@/api/qc-work-order'
/** 与 Tab 角标、后端 _unfinished_work_order_filter 一致:待配置 + 已配置 */
export function isUnfinishedQcWorkOrder(row: Pick<QcWorkOrder, 'workOrderStatus'>): boolean {
const status = (row.workOrderStatus || '').trim()
return status === 'dpz' || status === 'ypz'
}
/** 单张工单卡片:未完成则计 1,否则 0 */
export function resolveQcWorkOrderUnfinishedBadgeCount(row: QcWorkOrder): number {
return isUnfinishedQcWorkOrder(row) ? 1 : 0
}
/** 分组标题栏:组内未完成工单条数(同一样本多条质检等场景) */
export function sumQcWorkOrderGroupUnfinishedBadgeCount(workOrders: QcWorkOrder[]): number {
if (!workOrders.length) return 0
return workOrders.filter(isUnfinishedQcWorkOrder).length
}
export function formatQcWorkOrderUnfinishedBadgeCount(count: number): string {
return count > 99 ? '99+' : String(count)
}
export function qcWorkOrderUnfinishedBadgeTitle(count: number): string {
if (count <= 0) return ''
return count === 1 ? '1 条未完成工单' : `${count} 条未完成工单`
}