import { SupplyType } from './base';

export interface IBaseMaterial {
  ID: string;
  isRelated: boolean; // 关联
  projectGljID?: string; // 关联工料机ID
  seq?: string; // 序号
  code?: string;
  name?: string;
  specs?: string;
  unit?: string;
  type?: number;
  marketPrice?: number;
  totalPrice?: number; // 合价
  quantity?: number;
  remark?: string;
  originPlace?: string; // 产地
  vender?: string; // 厂家
}

// 暂估材料
export interface IEvaluateMaterial extends IBaseMaterial {
  locked: boolean; // 锁定，true 锁，false 不锁 默认false
}

// 评标材料
export type IBidEvaluationMaterial = IBaseMaterial;

// 承包人主要材料
export interface IContractorMaterial extends IBaseMaterial {
  riskCoe?: number; // 风险系数
  standardPrice?: number; // 基准单价
  FO?: number; // 基本价格指数
  FI?: number; // 现行价格指数
  supply: SupplyType; // 供货方式
}

// 配置材料的几个属性
export enum ConfigMaterialKey {
  EVALUATE = 'evaluateMaterials',
  BID = 'bidEvaluateMaterials',
  CONTRACTOR = 'contractorMaterials',
}

// 设置材料
export interface IConfigMaterial {
  projectID: string;
  [ConfigMaterialKey.EVALUATE]: IEvaluateMaterial[];
  [ConfigMaterialKey.BID]: IBidEvaluationMaterial[];
  [ConfigMaterialKey.CONTRACTOR]: IContractorMaterial[];
}
