declare type CommonOpt = {
    label: string
    value: string | number
}

declare type ApiResCommon = {
    createTime: string
    updateTime: string
}
declare type UserItem = {
    id: string
    /** 头像 */
    avatar: string
    /** 机构id */
    deptId: number
    /** 机构 */
    dept: string
    /** 岗位id */
    postId: number
    /** 邮箱 */
    email: number
    /** 名称 */
    nickname: number
    /** 电话 */
    phone: number
    /** 用户名 */
    username: number
    /** 管辖工厂id */
    plantId: number
    /** 管辖工厂 */
    plantName: number
    /** 城市id */
    cityId: number
    /** 城市 */
    cityName: number
    /** 区域id */
    districtId: number
    /** 区域 */
    districtName: number
    /** 省份id */
    provinceId: number
    /** 省份 */
    provinceName: number
    /** 角色 */
    role: string
    /** 技术等级 */
    technicalGrade: number
    /** 小程序用户id */
    userId: number
}
// 模块替换
declare type EquipmentModel = {
    id: string
    /** 品牌*/
    brand: string
    /** 设备id */
    equipmentId: string
    /** 安装人 */
    installationName: string
    /** 安装时间 */
    installationTime: number
    /** 模块代码 */
    modelNo: number
    /** 更新次数 */
    replaceFrequency: string
}

// 配件子项
declare type MaterialItem = {
    /** 配件编码 */
    sparePartsCode: string
    /** 配件名称 */
    sparePartsName: string
    /** 所属仓库 */
    warehouseId: number
    /** 型号规格 */
    specificationsModel: string
    /** 数量 */
    quantity: number
    /** 单价 */
    unitPrice: number
    id: string | number
    /** 单位 */
    unit: string
    sparePartsId?: number
    selected?: boolean
    totalPrice?: number
    count?: number // 出库数量
} & ApiResCommon
// 问题
declare type ProblemItem = {
    name: string
    sort: string
    description: string
    accountStatus: number
    id: string
    status: number
} & ApiResCommon
// 设备
declare type Equipment = {
    id: string
    /** 市*/
    city: string
    /** 省 */
    province: string
    /** 区 */
    district: string
    /** 名称 */
    name: string
    /** 编号 */
    number: string
    /** 型号 */
    model: string
    /** 厂家 */
    manufacturers: string
    /** 规格 */
    specification: string
    /** 地址 */
    detailedAddress: string
    /** 状态 */
    deviceStatus: number
    /** 客户 */
    client: string
    /** 省 */
    provinceId: string
    /** 市 */
    cityId: string
    /** 区 */
    districtId: string
    /** 巡检周期方式 */
    inspectionCycle: string
    /** 天数 */
    dailyAudit: string
    /** 经度 */
    longitude: string
    /** 纬度 */
    latitude: string
}
// 配件领用
declare type SparePartStockAudit = {
    id: string
    /** 审核意见 */
    purchaseIdea: string
    /** 收货人 */
    consignee: string
    /** 单据编号 */
    receiptNumber: number
    /** 收货人电话 */
    phone: number
    /** 收货地址 */
    shippingAddress: string
    /** 配送方式 */
    deliveryMethod: string
    /** 发货人 */
    consigner: number
    /** 发货人电话 */
    consignerPhone: number
    /** 发货地址 */
    shipAddress: string
    /** 申请状态 */
    purchaseStatus: number
    /** 备注 */
    remark: string
    /** 工单类型 */
    orderType: string
}
// 模块返修
declare type MaintenanceRepair = {
    id: string
    /** 回寄地址 */
    addressDetail: string
    /** 品牌 */
    brand: string
    /** 创建时间 */
    createTime: string
    /** 物流公司 */
    expressName: string
    /** 物流单号 */
    expressNo: string
    /** 故障描述 */
    faultDescription: string
    /** 是否回寄 */
    isReturn: number
    /** 配送方式 */
    logisticsMode: number
    /** 检修单id */
    maintenanceOrderId: number
    /** 模块整体图片 */
    moduleImg: string
    /** 模块代码 */
    moduleNo: string
    /** 优先级 */
    priority: number
    /** 收件人 */
    receiver: string
    /** 收件人电话 */
    receiverPhone: string
    /** 备注 */
    remark: number
}

declare type ConsigneeAddress = {
    address: string
    city: string
    province: string
    district: string
}

// 检修单
declare type OverhaulItem = {
    id: string
    /** 工单编号*/
    orderNo: string
    /** 工单来源 */
    orderSource: string
    /** 客户 */
    clientName: string
    /** 客户id */
    clientId: number
    /** 接单人id */
    receiverId: number
    /** 接单人 */
    receiverName: string
    /** 接单时间 */
    receiverTime: string
    /** 工单去向 */
    repairWorkOrderFlow: number
    /** 设备id */
    equipmentId: number
    /** 设备名称 */
    equipmentName: string
    /** 设备地址 */
    detailedAddress: string
    /** 设备编号 */
    equipmentNo: string
    /** 派单方式 */
    receiverType: string
    /** 抢单最大公里数 */
    orderDistance: string
    /** 工单状态 */
    orderStatus: number
    /** 报修人 */
    creatorName: string
    /** 设备类 */
    equipment: Equipment
    /** 备注 */
    remark: string
    /** 退单原因 */
    cancelCause: string
    /** 退单时间 */
    cancelOrderTime: string
    /** 实际金额 */
    actualAmount: string
    /** 完工图片 */
    completeImg: string
    /** 检修结论描述 */
    familiarFaultDescription: string
    /** 常见检修结论 */
    familiarFaultName: string
    /** 故障描述 */
    faultDescription: string
    /** 故障点图片 */
    faultImg: string
    /** 常见故障 */
    faultName: string
    /** 工单完成时间 */
    orderAccomplishTime: string
    /** 拒绝维修理由 */
    refuseMaintenanceCause: string
    /** 退单原因 */
    returnCause: string
    /** 总金额 */
    totalAmount: string
    /** 仓库类型 */
    warehouseType: number
    /** 模块替换类 */
    equipmentModel: EquipmentModel
    /** 是否维修 */
    isMaintain: number
    /** 是否收货 */
    isConfirmReceipt: number
    /** 配件列表 */
    sparePartList: MaterialItem[]
    /** 配件领用类 */
    sparePartStockAudit: SparePartStockAudit
    /** 模块返修类 */
    maintenanceRepair: MaintenanceRepair
    /** 报价时间 */
    quotationTime: string
    // 配件领用状态
    receiveStatus: number
} & ApiResCommon

// 维修单
declare type RepairItem = {
    id: string
    /** 工单编号*/
    orderNo: string
    /** 工单来源 */
    orderSource: string
    /** 客户 */
    clientName: string
    /** 客户id */
    clientId: number
    /** 接单人id */
    receiverId: number
    /** 接单人 */
    receiverName: string
    /** 接单时间 */
    receiverTime: string
    /** 工单状态 */
    orderStatus: number
    /** 报修人 */
    creatorName: string
    /** 备注 */
    remark: string
    /** 模块代码 */
    moduleCode: string
    /** 模块型号 */
    moduleNumber: string
    /** 功率 */
    modulePower: number
    /** 品牌 */
    brand: string
    /** 完工图片 */
    completeImg: string
    /** 报价时间 */
    quotationTime: string
    /** 维修结论描述 */
    familiarFaultDescription: string
    /** 常见维修结论 */
    familiarFaultName: string
    /** 故障描述 */
    faultDescription: string
    /** 故障点图片 */
    faultPointImg: string
    /** 常见故障 */
    faultName: string
    /** 工单完成时间 */
    orderAccomplishTime: string
    /** 拒绝维修理由 */
    refuseMaintenanceCause: string
    /** 退单原因 */
    returnCause: string
    /** 总金额 */
    totalAmount: string
    /** 仓库类型 */
    warehouseType: number
    /** 模块替换类 */
    equipmentModel: EquipmentModel
    /** 是否维修 */
    isMaintain: number
    /** 是否收货 */
    isConfirmReceipt: number
    /** 配件列表 */
    sparePartList: MaterialItem[]
    /** 配件领用类 */
    sparePartStockAudit: SparePartStockAudit
    /** 模块维修类 */
    maintenanceRepair: MaintenanceRepair
    /** 是否报废 */
    scrapOrNot: number
    /** 维修前图片 */
    preMaintenanceImg: string
    /** 模块整体图片 */
    siteImg: string
    /** 维修中图片 */
    inMaintenanceImg: string
    /** 维修后图片 */
    afterRepairImg: string
    /** 客户报废备注 */
    clientScrapRemark: string
    /** 报废收货地址 */
    consigneeAddress: ConsigneeAddress
    /** 报废收货方式 */
    deliveryMethod: number
    /** 报废地址 */
    clientScrapAddress: string
    /** 报废确认 */
    scrapConfirmation: number
    /** 物流公司 */
    expressName: string
    /** 快递单号 */
    expressNo: string
    /** 当前步骤 */
    repairStep: number
    /** 下个步骤 */
    repairNextStep: number
    /** 是否改派 */
    isReassignment: number
    /** 是否同意改派 */
    reassignmentAgreeOrNot: number
    orderPartCodeList: any[]
    repairOrderStepDataList: any[]
    // 配件领用状态
    receiveStatus: number
    /** 审核申请类别 */
    reviewRequest: number
    /** 审核状态 */
    auditStatus: number
    repaireOrderAuditStatus: number
    auditOpinion: string
    /** 退单原因 */
    cancelCause: string
    /** 填写维修信息 */
    repairOrderAuditListVo: any
    /** 退仓申请信息 */
    cancellationRequestListVo: any
    /** 是否在退仓中 */
    returning: number
    /** 维修结果 */
    maintenanceResult: number
    auditResult: number
    /**损坏原因 */
    sourceOfDamageName: string
    /** 运维建议 */
    operationsSuggestName: string
    /** 故障现象 */
    faultPhenomenonName: string
    /** 故障原因 */
    faultCauseName: string
    /** 是否在补料中 */
    feedingOrNot: number
    /** 质检意见 */
    qualityTestingOpinion: string
    /** 质检结果 */
    qualityTestingResult: number
    scrapDate: any
} & ApiResCommon

// 巡检单
declare type InspectionItem = {
    id: string
    /** 工单编号*/
    orderNo: string
    /** 工单来源 */
    orderSource: string
    /** 客户 */
    clientName: string
    /** 客户id */
    clientId: number
    /** 接单人id */
    receiverId: number
    /** 接单人 */
    receiverName: string
    /** 工单去向 */
    repairWorkOrderFlow: number
    /** 设备id */
    equipmentId: number
    /** 设备名称 */
    equipmentName: string
    /** 设备地址 */
    detailedAddress: string
    /** 设备编号 */
    equipmentNo: string
    /** 派单方式 */
    receiverType: string
    /** 抢单最大公里数 */
    orderDistance: string
    /** 工单状态 */
    orderStatus: number
    /** 故障类型 */
    familiarFaultName: string
    /** 备注 */
    remark: string
    /** 退单原因 */
    cancelCause: string
    /** 退单时间 */
    cancelOrderTime: string
    /** 巡检结果备注 */
    inspectionResultRemark: string
    /** 完工图片 */
    inspectionPhoto: string
    /** 故障描述 */
    faultDescription: string
    /** 常见故障 */
    faultName: string
    /** 工单完成时间 */
    orderAccomplishTime: string
    /** 巡检结果 */
    inspectionResult: number
} & ApiResCommon

// 客户
declare type ClientItem = {
    /** 名称 */
    clientName: string
    id: string
    /** 客户编号 */
    clientNo: string
    /** 负责人 */
    director: string
    /** 负责人电话 */
    phone: string
    /** 省ID */
    provinceId: string
    /** 市ID */
    cityId: string
    /** 区ID */
    districtId: string
    /** 详细地址 */
    address: string
    /** 业务员 */
    salesman: string
    /** 备注 */
    remark: string
    /** 桩点维修类型 */
    clientType: string
    /** 模块维修类型 */
    maintainType: string
    /** 配件采购价格因子 */
    purchaseDivisor: string
    /** 桩点维修价格因子 */
    pointMaintainDivisor: string
    /** 配件维修价格因子 */
    partMaintainDivisor: string
} & ApiResCommon

// 客户联系人
declare type ClientContactItem = {
    /** 名称 */
    name: string
    clientId: string
    /** 性别 */
    sex: number
    /** 电话 */
    phone: string
    /** 省ID */
    provinceId: string
    /** 市ID */
    cityId: string
    /** 区ID */
    districtId: string
    /** 详细地址 */
    address: string
    /** 状态 */
    status: number
    id: string
} & ApiResCommon

declare type AddModuleItem = {
    moduleCode: string
    moduleNumber: string
    powerName: string
    modulePower: string
}
/** 配件清单 */
declare type PartsListItem = {
    repairMotherboard: string
    materialPositionNumber: string
    count: string
    sparePartsName: string
    sparePartsId: string
    specificationsModel: string
    sparePartsCode: string
}

declare type DictItem = {
    name: string
    value: string | number
}
