import type { BaseDTO } from '../base'

/**
 * 工单表对象
 */
export interface TbWorkcaseDTO extends BaseDTO {
    /** 工单ID */
    workcaseId?: string
    /** 聊天室ID */
    roomId?: string
    /** 来客ID */
    userId?: string
    /** 来客姓名 */
    username: string
    /** 来客电话 */
    phone: string
    /** 故障类型 */
    type: string
    /** 设备名称 */
    device?: string
    /** 设备代码 */
    deviceCode?: string
    /** 设备名称牌 */
    deviceNamePlate?: string
    /** 设备名称牌图片 */
    deviceNamePlateImg: string
    /** 地址 */
    address?: string
    /** 故障描述 */
    description?: string
    /** 工单图片列表 */
    imgs?: string[]
    /** 紧急程度 normal-普通 emergency-紧急 */
    emergency?: 'normal' | 'emergency'
    /** 状态 pending-待处理 processing-处理中 done-已完成 */
    status?: 'pending' | 'processing' | 'done'
    /** 处理人ID */
    processor?: string
    processorName?: string
}

/**
 * 工单过程表DTO
 */
export interface TbWorkcaseProcessDTO extends BaseDTO {
    /** 工单ID */
    workcaseId?: string
    /** 过程ID */
    processId?: string
    /** 动作 info：记录，assign：指派，redeploy：转派，repeal：撤销，finish：完成 */
    action?: 'info' | 'assign' | 'redeploy' | 'repeal' | 'finish'
    /** 消息 */
    message?: string
    /** 携带文件列表 */
    files?: string[]
    /** 处理人（指派、转派专属） */
    processor?: string
}

/**
 * 工单设备涉及的文件DTO
 */
export interface TbWorkcaseDeviceDTO extends BaseDTO {
    /** 工单ID */
    workcaseId?: string
    /** 设备名称 */
    device?: string
    /** 设备代码 */
    deviceCode?: string
    /** 文件ID */
    fileId?: string
    /** 文件名 */
    fileName?: string
    /** 文件根ID */
    fileRootId?: string
}
