// 门店档案信息类型
export interface ShopArchive {
  id: string;
  shopId: string;
  shopName: string;
  shopAddress?: string;
  venueType?: string;
  cooperationMode?: string;
  partyBSalesman?: string;
  partyBSalesmanPhone?: string;
  partyACompany?: string;
  partyAManager?: string;
  partyAManagerPhone?: string;
  businessStatus?: string;
  remark?: string;
  contractNo?: string;
  contractSignDate?: string;
  contractStartDate?: string;
  contractEndDate?: string;
  contractStatus?: string;
  rentStartDate?: string;
  monthlyRent?: number;
  rentFreeDays?: number;
  rentPayDeadlineDay?: number;
  depositAmount?: number;
  depositStatus?: string;
  depositPaidAmount?: number;
  depositRefundCondition?: string;
  billingMode?: string;
  electricityPrice?: number;
  electricityShareRule?: string;
  commissionBaseType?: string;
  commissionBase?: number;
  commissionRate?: number;
  commissionMinGuarantee?: number;
  commissionPeriodMonths?: number;
  paymentCycle?: string;
  terminationDate?: string;
  terminationRemark?: string;
  paymentMethod?: string;
  payeeAccountName?: string;
  payeeBankName?: string;
  payeeBankAccount?: string;
  taxpayerId?: string;
  invoiceType?: string;
  invoiceTaxRate?: number;
  creatorId?: string;
  creatorName?: string;
  createTime?: string;
  editorId?: string;
  editorName?: string;
  updateTime?: string;
  fixedAssets?: FixedAsset[];
  attachments?: ContractAttachment[];
  shopCode?: string;
  contractStatusLabel?: string;
  businessStatusLabel?: string;
}

// 固定资产类型
export interface FixedAsset {
  id: string;
  shopArchiveId: string;
  shopId: string;
  assetType?: string;
  assetName?: string;
  assetCode?: string;
  assetStatus?: string;
  remark?: string;
  creatorId?: string;
  creatorName?: string;
  createTime?: string;
  editorId?: string;
  editorName?: string;
  updateTime?: string;
  assetTypeLabel?: string;
  assetStatusLabel?: string;
}

// 合同附件类型
export interface ContractAttachment {
  id: string;
  shopArchiveId: string;
  shopId: string;
  attachmentType?: string;
  fileName?: string;
  fileUrl?: string;
  fileSize?: number;
  fileExtension?: string;
  sortOrder?: number;
  creatorId?: string;
  creatorName?: string;
  createTime?: string;
  attachmentTypeLabel?: string;
}

// 搜索表单类型
export interface ShopArchiveQuery {
  shopId?: string;
  shopName?: string;
  contractNo?: string;
  contractStatus?: string;
  businessStatus?: string;
  billingMode?: string;
  venueType?: string;
}

// 表单类型（创建/更新）
export interface ShopArchiveForm {
  shopId?: string;
  shopName: string;
  shopAddress?: string;
  venueType?: string;
  cooperationMode?: string;
  partyBSalesman?: string;
  partyBSalesmanPhone?: string;
  partyACompany?: string;
  partyAManager?: string;
  partyAManagerPhone?: string;
  businessStatus?: string;
  remark?: string;
  contractNo?: string;
  contractSignDate?: string;
  contractStartDate?: string;
  contractEndDate?: string;
  contractStatus?: string;
  rentStartDate?: string;
  monthlyRent?: number;
  rentFreeDays?: number;
  rentPayDeadlineDay?: number;
  depositAmount?: number;
  depositStatus?: string;
  depositPaidAmount?: number;
  depositRefundCondition?: string;
  billingMode?: string;
  electricityPrice?: number;
  electricityShareRule?: string;
  commissionBaseType?: string;
  commissionBase?: number;
  commissionRate?: number;
  commissionMinGuarantee?: number;
  commissionPeriodMonths?: number;
  paymentCycle?: string;
  terminationDate?: string;
  terminationRemark?: string;
  paymentMethod?: string;
  payeeAccountName?: string;
  payeeBankName?: string;
  payeeBankAccount?: string;
  taxpayerId?: string;
  invoiceType?: string;
  invoiceTaxRate?: number;
  fixedAssets?: FixedAsset[];
  attachments?: ContractAttachment[];
}

// 枚举选项类型
export interface EnumOption {
  code: string;
  description: string;
}
