import type { Recordable } from '@eciol/types'; import type { CSSProperties, VNode } from 'vue'; export interface DescItem { labelMinWidth?: number; contentMinWidth?: number; labelStyle?: CSSProperties; field: string; label: string | VNode | JSX.Element; // Merge column span?: number; show?: (...arg: any) => boolean; // render render?: ( val: any, data: Recordable, ) => VNode | undefined | JSX.Element | Element | string | number; format?: string; } export interface ApproveProps { // 审批流程的key modelKey: string; /** * 发起变更的接口api */ realChangeApi: (formData: Recordable) => Promise; /** * 调用更新业务表接口api */ updateProcessInstanceIdApi: (formData: Recordable) => Promise; } export interface ApproveInstance { setApproveProps(descProps: Partial): void; submit: (_formData?: Recordable) => void; } export type Register = (approveInstance: ApproveInstance) => void; /** * @description: */ export type UseApproveReturnType = [Register, ApproveInstance];