export interface MaintainInfoVO {
  /**
   * ID
   */
  id: string | number;

  /**
   * 关联客户ID
   */
  customerId: string | number;

  /**
   * 维保单号
   */
  maintainNo: string;

  /**
   * 客户编号
   */
  customerNo: string;

  /**
   * 申请人姓名
   */
  applicantName: string;

  /**
   * 申请人电话
   */
  applicantPhone: string;

  /**
   * 服务时长
   */
  serviceTime: string;

  /**
   * 每月维保次数
   */
  monthMainten: number;

  /**
   * 剩余维保次数
   */
  remainingMainten: number;

  /**
   * 维保总次数限制
   */
  maintenLimit: number;

  /**
   * 服务内容
   */
  serviceContent: string;

  /**
   * 其他服务内容
   */
  otherService: string;

  /**
   * 服务开始时间
   */
  serviceStartTime: string;

  /**
   * 服务结束时间
   */
  serviceEndTime: string;

  /**
   * 维保状态
   */
  maintainStatus: string;

  /**
   * 服务工程师
   */
  serviceEngineerId: string | number;

  /**
   * 服务工程师姓名
   */
  serviceEngineer: string;

  /**
   * 工程师联系电话
   */
  engineerPhone: string;

  /**
   * 技术顾问
   */
  technicalAdviserId: string | number;

  /**
   * 技术顾问姓名
   */
  technicalAdviser: string;

  /**
   * 技术顾问联系电话
   */
  technicalAdviserPhone: string;

  /**
   * 维保附件路径或文件名
   */
  maintainFile: string;

  /**
   * 维保类型
   */
  maintainType: string;

  /**
   * 状态（0正常 1停用）
   */
  status: string;

  /**
   * 备注
   */
  remark: string;
}

export interface MaintainInfoForm extends BaseEntity {
  /**
   * ID
   */
  id?: string | number;

  /**
   * 关联客户ID
   */
  customerId?: string | number;

  /**
   * 维保单号
   */
  maintainNo?: string;

  /**
   * 客户编号
   */
  customerNo?: string;

  /**
   * 申请人姓名
   */
  applicantName?: string;

  /**
   * 申请人电话
   */
  applicantPhone?: string;

  /**
   * 服务时长
   */
  serviceTime?: string;

  /**
   * 每月维保次数
   */
  monthMainten?: number;

  /**
   * 剩余维保次数
   */
  remainingMainten?: number;

  /**
   * 维保总次数限制
   */
  maintenLimit?: number;

  /**
   * 服务内容
   */
  serviceContent?: string;

  /**
   * 其他服务内容
   */
  otherService?: string;

  /**
   * 服务开始时间
   */
  serviceStartTime?: string;

  /**
   * 服务结束时间
   */
  serviceEndTime?: string;

  /**
   * 维保状态
   */
  maintainStatus?: string;

  /**
   * 服务工程师
   */
  serviceEngineerId?: string | number;

  /**
   * 服务工程师姓名
   */
  serviceEngineer?: string;

  /**
   * 工程师联系电话
   */
  engineerPhone?: string;

  /**
   * 技术顾问
   */
  technicalAdviserId?: string | number;

  /**
   * 技术顾问姓名
   */
  technicalAdviser?: string;

  /**
   * 技术顾问联系电话
   */
  technicalAdviserPhone?: string;

  /**
   * 维保附件路径或文件名
   */
  maintainFile?: string;

  /**
   * 维保类型
   */
  maintainType?: string;

  /**
   * 状态（0正常 1停用）
   */
  status?: string;

  /**
   * 备注
   */
  remark?: string;
}

export interface MaintainInfoQuery extends PageQuery {
  /**
   * 关联客户ID
   */
  customerId?: string | number;

  /**
   * 维保单号
   */
  maintainNo?: string;

  /**
   * 客户编号
   */
  customerNo?: string;

  /**
   * 申请人姓名
   */
  applicantName?: string;

  /**
   * 申请人电话
   */
  applicantPhone?: string;

  /**
   * 服务时长
   */
  serviceTime?: string;

  /**
   * 每月维保次数
   */
  monthMainten?: number;

  /**
   * 剩余维保次数
   */
  remainingMainten?: number;

  /**
   * 维保总次数限制
   */
  maintenLimit?: number;

  /**
   * 服务内容
   */
  serviceContent?: string;

  /**
   * 其他服务内容
   */
  otherService?: string;

  /**
   * 服务开始时间
   */
  serviceStartTime?: string;

  /**
   * 服务结束时间
   */
  serviceEndTime?: string;

  /**
   * 维保状态
   */
  maintainStatus?: string;

  /**
   * 服务工程师
   */
  serviceEngineerId?: string | number;

  /**
   * 服务工程师姓名
   */
  serviceEngineer?: string;

  /**
   * 工程师联系电话
   */
  engineerPhone?: string;

  /**
   * 技术顾问
   */
  technicalAdviserId?: string | number;

  /**
   * 技术顾问姓名
   */
  technicalAdviser?: string;

  /**
   * 技术顾问联系电话
   */
  technicalAdviserPhone?: string;

  /**
   * 维保附件路径或文件名
   */
  maintainFile?: string;

  /**
   * 维保类型
   */
  maintainType?: string;

  /**
   * 状态（0正常 1停用）
   */
  status?: string;

  /**
   * 平台标识
   */
  platformCode?: string;

  /**
   * 日期范围参数
   */
  params?: any;
}

/**
 * 分配技术顾问表单
 */
export interface AllotTechnicalAdviserForm {
  /**
   * 维保记录ID
   */
  id: string | number;

  /**
   * 技术顾问ID
   */
  technicalAdviserId: string | number;

  /**
   * 技术顾问姓名
   */
  technicalAdviser: string;

  /**
   * 技术顾问联系电话
   */
  technicalAdviserPhone: string;
}
