import { FieldOption } from '@/common/types'; import Api from './Api'; interface IFiled { issueTypeId: string; pageCode: string; schemeCode: string; } interface UIssueFiled { fieldType: string; value: any; } interface BathUpdateCustom extends UIssueFiled { fieldId: number; } interface BathUpdateField { customFields: Array; issueIds: Array; predefinedFields: Array; } export interface FieldOptionCreate { code: string; value: string; enabled: boolean; sequence: number; } declare class FieldApi extends Api { get prefix(): string; get prefixOrgOrPro(): string; get outPrefix(): string; get isOutside(): boolean; /** 自定义选项接口前缀 */ get prefixCustomOption(): string; outside(outside: boolean): FieldApi; /** * 快速创建字段默认值 * @param issueId * @param dto */ quickCreateDefault(issueId: number, dto: IFiled): any; /** * 加载字段配置 * @returns {V|*} */ getFields(dto: IFiled, projectId?: string): any; /** * 加载字段配置(包含值) * @returns {V|*} */ getFieldAndValue(issueId: string, dto: IFiled, projectId?: string): any; /** * 获取项目下自定义的字段 */ getCustomFields(issueTypeList?: 'agileIssueType' | 'programIssueType'): any; /** * 新增Issue字段值 * @param dto 自定义字段列表 * @returns {V|*} */ createFieldValue(issueId: number, schemeCode: string, dto?: Array, projectId?: string): any; /** * 更新Issue字段值 * @param issueId * @param fieldId * @param schemeCode * @param dto 更新的值 */ updateFieldValue(issueId: number, fieldId: number, fieldCode: string, schemeCode: string, dto: UIssueFiled): any; /** * 批量更新工作项字段 * @param data * @param schemeCode * @param applyType */ batchUpdateIssue(data: BathUpdateField, schemeCode?: string, applyType?: string): any; /** * 项目层,获取自定义字段表头 */ getFoundationHeader(issueTypeList?: 'agileIssueType' | 'programIssueType'): any; /** * 项目层,获取自定义字段表头 */ getTableFields(issueTypeList?: 'agileIssueType' | 'programIssueType'): any; /** *获取概要默认值 * @param issueTypeId */ getSummaryDefaultValue(issueTypeId: string): Promise; getFieldOptions(fieldId: string, searchValue: string | undefined, page: number | undefined, size: number, selected?: string | string[], onlyEnabled?: boolean): any; updateFieldOption(fieldId: string, optionId: string, data: FieldOption): any; createFieldOption(fieldId: string, data: FieldOptionCreate): any; deleteFieldOption(fieldId: string, optionId: string): any; getCascadeOptions(fieldId: string, selected: string[], fieldCascadeRuleIds: string[], searchParam: string, page: number, size: number, extendParams?: string[]): any; } declare const fieldApi: FieldApi; export default FieldApi; export { fieldApi };