import type { TableColumn } from '@/components/NormalTable/table_interface'

export interface IListQuery {
  sampleNo: string // 样品编号
  sampleName: string // 样品名称
  orderNo: string // 委托书编号
  customerId?: string // 委托方代码
  customerNo?: string // 委托方代码
  startTime: string // 预计送达开始时间
  endTime: string // 预计送达结束时间
  isUrgent: string // 是否加急
  sampleBelong: string // 样品属性
  sampleStatus: string // 样品状态
  offset: number
  limit: number
}

export interface IinterchangeList {
  id: string
  sampleNo: string // 样品编号
  sampleName: string // 样品名称
  sampleModel: string // 型号
  evaluationName: string // 出厂编号
  orderNo: string // 委托书编号
  customerId: string // 委托方代码
  customerName: string // 委托方名称
  deliverer: string // 送检人
  isUrgent: number | string // 是否加急
  sampleBelong: string // 样品属性
  planDeliverTime: string // 预计送达时间
  deliverTime: string // 实际送达时间
  requireOverTime: string // 要求检完时间
  alreadyCertifications: string | number // 已出具证书总数
  requireCertifications: string | number // 应出具证书总数
  currentDeliver: string // 当前检定环节
  orderId: string | number // 委托书id
  sampleId: string | number// 样品id
}
// 检定记录检定证书查询条件
export interface IRecord {
  sampleId: string // 样品id
  customerId: string // 客户id
  offset: number
  limit: number
}

// 检定记录
export interface SimpleMeasureRecord {
  orderNo: string // 委托单编号
  orderTime: string // 委托单日期
  customerCode: string // 委托人代码
  customerName: string // 委托人名称
  deliverer: string // 送检人
  deliverTime: string // 送检日期
}

// 检定证书
export interface SimpleCertification {
  certificationCode: string // 证书编号
  certificationName: string // 证书形成
  certificationType: string // 证书类型
  effectiveDate: string // 证书出具日期
  expirationDate: string // 证书有效期
}

export interface Menu {
  name: string
  columns: TableColumn[]
  pagination: boolean
  list: 'measureRecords' | 'certificationRecords'
  searchFunc: Function
}

export interface ISampleDetail {
  id?: string
  sampleNo: string // 样品编号
  sampleName: string // 样品名称
  sampleModel: string // 样品型号
  manufacturingNo: string // 出厂编号
  customerNo: string // 委托方代码
  customerName: string // 委托方名称
  phone: string // 委托方电话
  postalCode: string // 委托方邮编
  companyAddress: string // 委托方地址
  mesureCategory: string // 检校类别
  manufacturer: string // 生产厂家
  manufacturerCountry: string // 厂家国别
  manufacturingDate: string // 出厂年月
  ABC: string // ABC
  deliverer?: string // 送检人
  delivererTel?: string // 送检人联系方式
  planDeliverTime?: string // 预计送达时间
  requireOverTime?: string // 要求检完时间
  mesureContent: string // 检定项目
  mesurePeriod: string // 检定周期
  remark: string // 备注
  minioFileName: string // 说明书
  labelBind: string // 标签绑定
  mesureType: string // 检定方式
  measureDate?: string // 检定日期
  effectiveDate?: string // 有效日期
  measureResultCode?: string // 检定结果代码
  measureResult?: string // 检定结果
}

// 字典
export interface dictType {
  id: string
  name: string
  value: string | number
  label?: string // 基本信息添加的信息名称
}
