import {SsdSkuDetailVOList} from "@/api/product/types";
import type { UploadRawFile } from 'element-plus'

export interface MiniOrderFormVo{
    id: string | number;
    orderAmount:  string | number;
    signingDate: string
}

export interface OrderFormVO {
  previousId: string | number;

  nextId: string | number;
  /**
   * 订单表主键
   */
  id: string;

  /**
   * 订单标题
   */
  title: string;

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

  customerName: string;

  /**
   * 关联商机id
   */
  businessId: string | number;

  businessName?:string

  /**
   * 关联报价id
   */
  quotationId: string | number;

  /**
   * 订单总金额
   */
  orderAmount: number;

  /**
   * 关联币种id
   */
  currencyId: string | number;
  currencyName: string;

  /**
   * 订单类型value（对应字典订单类型value）
   */
  orderTypeDictValue: string;

  orderTypeName: string;

  /**
   * 签单日期
   */
  signingDate: string;

  /**
   * 预计生成日期
   */
  expectedProductionDate: string;

  /**
   * 预计发货日期
   */
  expectedDeliveryDate: string;

  /**
   * 客户签约人
   */
  customerSignatory: string;

  /**
   * 我方签约人
   */
  ourSignatory: string;

  /**
   * 备注信息
   */
  remark: string;

  /**
   * 提醒用户id，逗号隔开
   */
  remindUserIds: string | (string | number)[];

  /**
   * 是否删除：0未删除，1已删除
   */
  isDelete: number;

  /**
   * 是否启用:1:启用,0:不启用
   */
  enabled: number;

  /**
   * 拥有者
   */
  ownerBy: number;

  ownerByName: string;

  /**
   * 显示顺序
   */
  sort: number;

  /**
   * 下次跟进时间
   */
  nextFollowUpTime: string;

  deptName: string;

  createTime: string;

  collaboratorName: string;

  createByName: string;

  lastFollowUpTime: string;

  updateTime: string;

  formerOwnerByName: string;

  formerDeptName: string;

  resourceList: UploadRawFile[];

  quotation: any

}

export interface OrderFormForm {
  /**
   * 订单表主键
   */
  id?: string | number;

  /**
   * 订单标题
   */
  title?: string;

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

  customerName?: string;

  /**
   * 关联商机id
   */
  businessId?: string | number;

  /**
   * 关联报价id
   */
  quotationId?: string | number;

  /**
   * 订单总金额
   */
  orderAmount?: number;

  /**
   * 关联币种id
   */
  currencyId?: string | number;

  /**
   * 订单类型value（对应字典订单类型value）
   */
  orderTypeDictValue?: string;

  /**
   * 签单日期
   */
  signingDate?: string;

  /**
   * 预计生成日期
   */
  expectedProductionDate?: string;

  /**
   * 预计发货日期
   */
  expectedDeliveryDate?: string;

  /**
   * 客户签约人
   */
  customerSignatory?: string;

  /**
   * 我方签约人
   */
  ourSignatory?: string;

  /**
   * 备注信息
   */
  remark?: string;

  /**
   * 提醒用户id，逗号隔开
   */
  remindUserIds?: string | number;

  /**
   * 是否删除：0未删除，1已删除
   */
  isDelete?: number;

  /**
   * 是否启用:1:启用,0:不启用
   */
  enabled?: number;

  /**
   * 拥有者
   */
  ownerBy?: number | string;

  ownerByName?: string;

  /**
   * 显示顺序
   */
  sort?: number;

  resourceIdList?: string[];

  // 任务信息
  task: {
    taskBeginTime?: string,
    taskContent?: string,
    remindModels?: string[],
    remindType?: string,
    ownerBy?: string,
    isCreateTask?: boolean
  },

  quotationAddDTO?: SsdSkuDetailVOList
}

export interface OrderFormQuery  {
  customerName?: string;

  blurry?: string;
  /**
   * 订单标题
   */
  title?: string;

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

  /**
   * 关联商机id
   */
  businessId?: string | number;

  /**
   * 关联报价id
   */
  quotationId?: string | number;

  /**
   * 订单总金额
   */
  orderAmount?: number;

  /**
   * 关联币种id
   */
  currencyId?: string | number;

  /**
   * 订单类型value（对应字典订单类型value）
   */
  orderTypeDictValue?: string;

  /**
   * 签单日期
   */
  signingDate?: string;

  /**
   * 预计生成日期
   */
  expectedProductionDate?: string;

  /**
   * 预计发货日期
   */
  expectedDeliveryDate?: string;

  /**
   * 客户签约人
   */
  customerSignatory?: string;

  /**
   * 我方签约人
   */
  ourSignatory?: string;

  /**
   * 提醒用户id，逗号隔开
   */
  remindUserIds?: string | number;

  /**
   * 是否删除：0未删除，1已删除
   */
  isDelete?: number;

  /**
   * 是否启用:1:启用,0:不启用
   */
  enabled?: number;

  /**
   * 拥有者
   */
  ownerBy?: number;

  /**
   * 显示顺序
   */
  sort?: number;

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

  queryRangeType?: string | number
  country?: string;
  ownerByIds?: string | number[];
}



