28 lines
1.1 KiB
TypeScript
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} 条未完成工单`
|
|
}
|