declare namespace API { type APIResponse = { code: number; success: boolean; message: string; data: T; } //登录 interface LoginSupplier { account: string; password: string; identifying: string; encryptValue: string; } // 省市区 interface RegionOption { label: string; value: string; id: string; name?: string; dicName?: string; children?: RegionOption[]; } // 用户相关接口类型定义 export interface UserListRequest { basePageRequest: { pageNumber: number; pageSize: number; }; keyword?: string; [property: string]: any; } export interface UserItem { userId: string; userName: string; userDept: string; userDeptId: string; [property: string]: any; } // 评价任务人员选择器相关接口 export interface PersonnelItem { id: string; name: string; userDept: string; userDeptId: string; position?: string; selected?: boolean; isSelected?: boolean; } export interface Department { id: string; name: string; } export type RegisterRequest = { coscoSupplierBank: CoscoSupplierBank[]; coscoSupplierBase: CoscoSupplierBase; coscoSupplierInvoice: CoscoSupplierInvoice; coscoSupplierQualifications: CoscoSupplierQualification[]; coscoSupplierSurvey: CoscoSupplierSurvey; coscoSupplierSurveyAttachments: CoscoSupplierSurveyAttachment[]; coscoSupplierSurveyQuestionReply: CoscoSupplierSurveyQuestionReply[]; [property: string]: any; } export type CoscoSupplierBank = { account?: string; accountName?: string; bank?: string; city?: string; currency?: string; interbankNumber?: string; nation?: string; province?: string; [property: string]: any; } export type CoscoSupplierBase = { capital: number; contactsEmail: string; contactsName: string; contactsPhone: string; contactsType: string; enterpriseType: string; idCard: string; legalPerson: string; licenceAccessory: string; licenceDate: string; name: string; nameEn: string; parentCompanyInvestor: string; range: string; regAddress: string; socialCreditCode: string; supplierType: string; telephone: string; workAddress: string; [property: string]: any; } export type CoscoSupplierInvoice = { account: string; address: string; bank: string; head: string; phone: string; qualificationCertificate: string; taxpayerCode: string; taxpayerType: string; [property: string]: any; } export type CoscoSupplierQualification = { accessory?: string; authority?: string; certificateType?: string; code?: string; dateTime?: string; name?: string; termOfValidity?: string; typeLevel?: string; [property: string]: any; } export type CoscoSupplierSurvey = { dateTime: string; email: string; name: string; phone: string; position: string; supplierName: string; [property: string]: any; } export type CoscoSupplierSurveyAttachment = { attachmentsType: string; fileName: string; filePath: string; fileSize: string; fileType: string; fileUrl: string; [property: string]: any; } export type CoscoSupplierSurveyQuestionReply = { replyValue?: string; surveyQuestionId?: string; [property: string]: any; } // 调查问卷返回类型 type SurveyQuestionResponse = { id: string; question: string; orderBy: string; coscoSurveyQuestionOptionList: { id: string; opentionValue: string; optionName: string; }[]; }[] // 通用响应类型 type Response = { success: boolean; data: T; message?: string; code?: number; }; // 分页响应类型 type PageResponse = { records: T[]; total: number; size: number; current: number; pages: number; }; // 基础分页请求 interface BasePageRequest { pageNo: number; pageSize: number; [property: string]: any; } // 分页请求参数 interface PageRequest { basePageRequest: BasePageRequest; [property: string]: any; } // 文件上传响应 export interface UploadResponse { id: string; fileName: string; fileSize: number; fileType: string; fileUrl: string; } // // 供应商评价任务状态枚举 export enum TaskStatus { DRAFT = '0', // 草稿 PUBLISHED = '1', // 已发布 PROCESSING = '2', // 进行中 COMPLETED = '3', // 已完成 CANCELED = '4', // 已取消 } // 供应商评价任务类型枚举 export enum TaskType { REGULAR = '1', // 常规评价 SPECIAL = '2', // 专项评价 } // 评价打分详情数据 interface IndicatorDetailData { category: string; name: string; taskIndicatorVo: { baseIndicator: string; indicatorDesc: string; score: string; subIndicator: { id: string; remark: string | null; scoreNum: string | null; starIndicator: string; stId: string; subIndicator: string; subScore: string; }[]; }[]; } }