import { Ref, ComputedRef, CSSProperties, DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue'; import { RowProps, ColProps, ElTooltipProps, TableColumnCtx, FormItemProps } from 'element-plus'; import { PlusColumn, FieldValues, FieldValueType, Mutable, RecordType, OptionsRow, RenderTypes, TableValueType, FormItemValueType, OptionsType, PropsItemType, FieldProps } from 'haotai-ui/es/types'; import { PlusFormProps } from 'haotai-ui'; export interface PlusFormContentProps { modelValue?: FieldValues; hasLabel?: boolean; columns?: PlusColumn[]; rowProps?: Partial>; colProps?: Partial>; /** * @desc 动画时长 * @version v0.1.15 */ collapseDuration?: number; /** * @desc 是否开启折叠动画 * @version v0.1.15 */ collapseTransition?: boolean; /** * @version v0.1.18 */ clearable?: boolean; /** * @desc 是否开启多层级数据双向绑定 * @version ht-v0.0.17 */ multiLevelModel?: boolean; } export interface PlusFormContentEmits { (e: 'update:modelValue', values: FieldValues): void; (e: 'change', values: FieldValues, column: PlusColumn): void; (e: 'keyupEnter', values: FieldValues, column: PlusColumn): void; } declare function __VLS_template(): Partial[]; fieldInstance?: any; valueIsReady?: Ref; prop: PlusColumn["prop"]; modelValue: string | number | boolean | RecordType | Date | string[] | boolean[] | number[] | Date[] | [Date, Date] | [number, number] | [string, string] | string[][] | number[][] | null; hasLabel: boolean | Ref | ComputedRef; tooltip: string | Partial< ElTooltipProps> | ComputedRef | ComputedRef>; fieldSlots: { [slotName: string]: (data?: any) => RenderTypes; }; valueType: TableValueType | FormItemValueType; renderField: ((value: FieldValueType, onChange: (value: FieldValueType) => void, props: PlusColumn) => RenderTypes) | undefined; renderLabel: ((label: string, props: PlusColumn) => RenderTypes) | undefined; fieldChildrenSlot: ((option?: OptionsRow) => RenderTypes) | undefined; optionsMap: { label?: string; value?: string; } | undefined; clearable: boolean; index: number; }) => any>> & Partial[]; fieldInstance?: any; valueIsReady?: Ref; prop: PlusColumn["prop"]; modelValue: string | number | boolean | RecordType | Date | string[] | boolean[] | number[] | Date[] | [Date, Date] | [number, number] | [string, string] | string[][] | number[][] | null; hasLabel: boolean | Ref | ComputedRef; tooltip: string | Partial< ElTooltipProps> | ComputedRef | ComputedRef>; fieldSlots: { [slotName: string]: (data?: any) => RenderTypes; }; valueType: TableValueType | FormItemValueType; renderField: ((value: FieldValueType, onChange: (value: FieldValueType) => void, props: PlusColumn) => RenderTypes) | undefined; renderLabel: ((label: string, props: PlusColumn) => RenderTypes) | undefined; fieldChildrenSlot: ((option?: OptionsRow) => RenderTypes) | undefined; optionsMap: { label?: string; value?: string; } | undefined; clearable: boolean; index: number; }) => any>> & Partial; prop: string; width?: string | number; minWidth?: string | number; editable?: boolean; valueType?: TableValueType | FormItemValueType; hideInDescriptions?: boolean | Ref | ComputedRef; hideInForm?: boolean | Ref | ComputedRef; hideInTable?: boolean | Ref | ComputedRef; hideInSearch?: boolean | Ref | ComputedRef; descriptionsItemProps?: RecordType; options?: OptionsType; optionsMap?: { label?: string; value?: string; }; customGetStatus?: (data: { options: OptionsRow[]; value: string | number; row: RecordType; }) => OptionsRow; tooltip?: string | Partial< ElTooltipProps> | ComputedRef | ComputedRef>; render?: (value: any, data: { row: RecordType; column: PlusColumn; index: number; }) => RenderTypes; renderHTML?: (value: any, data: { row: RecordType; column: PlusColumn; index: number; }) => string; renderHeader?: (label: string, props: PlusColumn) => RenderTypes; renderDescriptionsItem?: (data: { value: string; column: PlusColumn; row: RecordType; }) => RenderTypes; renderDescriptionsLabel?: (data: { label: string; column: PlusColumn; row: RecordType; }) => RenderTypes; order?: number | ComputedRef; children?: PlusColumn[]; headerFilter?: boolean; disabledHeaderFilter?: boolean; tableColumnProps?: Partial, "label " | "prop" | "width" | "minWidth"> & { [key: string]: any; }>; preview?: boolean; linkText?: string; formatter?: (value: any, data: { row: RecordType; column: PlusColumn; index: number; }) => string | number; formProps?: Partial< PlusFormProps> | ComputedRef> | ((value: FieldValueType, data: { row: Record; index: number; }) => Partial< PlusFormProps>); formItemProps?: PropsItemType & { [key: string]: any; style?: CSSProperties; }>; fieldProps?: PropsItemType; renderField?: (value: FieldValueType, onChange: (value: FieldValueType) => void, props: PlusColumn) => RenderTypes; colProps?: Partial & { [key: string]: any; style?: CSSProperties; }>; hasLabel?: boolean | Ref | ComputedRef; renderLabel?: (label: string, props: PlusColumn) => RenderTypes; renderExtra?: (column: PlusColumn) => RenderTypes; fieldSlots?: { [slotName: string]: (data?: any) => RenderTypes; }; fieldChildrenSlot?: (option?: OptionsRow) => RenderTypes; }) => any>> & { "tooltip-icon"?(_: {}): any; "search-footer"?(_: {}): any; }; declare const __VLS_component: DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps, { modelValue: () => {}; hasLabel: boolean; rowProps: () => {}; colProps: () => {}; columns: () => never[]; collapseDuration: undefined; collapseTransition: undefined; multiLevelModel: boolean; clearable: boolean; }>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { "update:modelValue": (values: FieldValues) => void; change: (values: FieldValues, column: PlusColumn) => void; keyupEnter: (values: FieldValues, column: PlusColumn) => void; }, string, PublicProps, Readonly< ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps, { modelValue: () => {}; hasLabel: boolean; rowProps: () => {}; colProps: () => {}; columns: () => never[]; collapseDuration: undefined; collapseTransition: undefined; multiLevelModel: boolean; clearable: boolean; }>>> & { onChange?: ((values: FieldValues, column: PlusColumn) => any) | undefined; "onUpdate:modelValue"?: ((values: FieldValues) => any) | undefined; onKeyupEnter?: ((values: FieldValues, column: PlusColumn) => any) | undefined; }, { columns: PlusColumn[]; modelValue: FieldValues; rowProps: Partial>; colProps: Partial>; hasLabel: boolean; collapseDuration: number; collapseTransition: boolean; multiLevelModel: boolean; clearable: boolean; }, {}>; declare const _default: __VLS_WithTemplateSlots>; export default _default; type __VLS_NonUndefinedable = T extends undefined ? never : T; type __VLS_TypePropsToRuntimeProps = { [K in keyof T]-?: {} extends Pick ? { type: PropType<__VLS_NonUndefinedable>; } : { type: PropType; required: true; }; }; type __VLS_WithDefaults = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify : P[K]; }; type __VLS_Prettify = { [K in keyof T]: T[K]; } & {}; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };