UNPKG

@fruits-chain/sop

Version:
289 lines (283 loc) 10.3 kB
import * as rc_field_form_es_interface from 'rc-field-form/es/interface'; import Upload from '@fruits-chain/react-native-upload'; import { FC, ReactNode, ComponentProps } from 'react'; type Maybe<T> = T | null; /** All built-in and custom scalars, mapped to their actual values */ type Scalars = { ID: string; String: string; Boolean: boolean; Int: number; Float: number; BigDecimal: number; Date: number; DateTime: number; Instant: any; Long: number; Object: any; Short: any; }; type CommodityCategoryEntity = { __typename?: 'CommodityCategoryEntity'; /** 商品品类名称 */ categoryName?: Maybe<Scalars['String']>; /** 商品品类id */ id?: Maybe<Scalars['Int']>; }; declare const enum EnabledEnum { /** 禁用 */ Disable = "DISABLE", /** 启用 */ Enable = "ENABLE", Unknown = "UNKNOWN", Unrecognized = "UNRECOGNIZED", Unspecified = "UNSPECIFIED" } declare const enum InputTextRule { /** 仅数字 */ OnlyNumber = "ONLY_NUMBER", /** 仅文本 */ OnlyText = "ONLY_TEXT", /** 仅用于返回值。表示此版本中未知的值 */ Unknown = "UNKNOWN", /** 未知 */ Unrecognized = "UNRECOGNIZED", /** 未指定 */ Unspecified = "UNSPECIFIED" } declare const enum SopCheckItemEnum { /** 多选 */ CheckboxType = "CHECKBOX_TYPE", /** 时间 */ DateType = "DATE_TYPE", /** 文件(图片或者视频) */ FileType = "FILE_TYPE", /** 单选 */ RadioType = "RADIO_TYPE", /** 文本 */ TextType = "TEXT_TYPE", /** 仅用于返回值。表示此版本中未知的值 */ Unknown = "UNKNOWN", /** 未知 */ Unrecognized = "UNRECOGNIZED", /** 未指定 */ Unspecified = "UNSPECIFIED" } type SopCheckItemResultPayload = { __typename?: 'SopCheckItemResultPayload'; /** 状态 */ enabled?: Maybe<EnabledEnum>; /** 状态名称 */ enabledName?: Maybe<Scalars['String']>; /** 输入框校验规则 */ inputTextRule?: Maybe<InputTextRule>; /** 是否上传图片/视频 */ isRemark?: Maybe<Scalars['Boolean']>; /** 检查项名称 */ name?: Maybe<Scalars['String']>; /** 多语言 */ nameLocale?: Maybe<Scalars['Object']>; /** 多选选项 */ options?: Maybe<Array<Maybe<SopOptionPayload>>>; /** 是否上传图片/视频 */ remarkRequired?: Maybe<Scalars['Boolean']>; /** 备注 */ remarks?: Maybe<Scalars['String']>; /** 是否必填 */ required?: Maybe<Scalars['Boolean']>; /** 快照id */ snapshotId?: Maybe<Scalars['ID']>; /** 检查项id */ sopDetailId?: Maybe<Scalars['ID']>; /** sop id */ sopId?: Maybe<Scalars['ID']>; /** sop 答案 */ sopResult?: Maybe<SopOrResultPayload>; /** 排序 */ sort?: Maybe<Scalars['Int']>; /** 检查项类型 */ type?: Maybe<SopCheckItemEnum>; /** 检查项类型 */ typeName?: Maybe<Scalars['String']>; }; type SopDetailResultPayload = { __typename?: 'SopDetailResultPayload'; /** 品类 */ category?: Maybe<CommodityCategoryEntity>; /** 状态 */ enabled?: Maybe<EnabledEnum>; /** 状态名称 */ enabledName?: Maybe<Scalars['String']>; /** 质检项 */ sopCheckItems?: Maybe<Array<Maybe<SopCheckItemResultPayload>>>; /** sop id */ sopId?: Maybe<Scalars['ID']>; /** 模板描述 */ templateDesc?: Maybe<Scalars['String']>; /** 模板名称 */ templateName?: Maybe<Scalars['String']>; /** 是否通用 */ universal?: Maybe<Scalars['Boolean']>; }; type SopOptionPayload = { __typename?: 'SopOptionPayload'; /** 是否需要备注 */ isRemark?: Maybe<Scalars['Boolean']>; /** 选项名称 */ name?: Maybe<Scalars['String']>; /** 选项名称(多语言) */ nameLocale?: Maybe<Scalars['Object']>; /** 是否必填备注 */ remarkRequired?: Maybe<Scalars['Boolean']>; /** 备注 */ remarks?: Maybe<Scalars['String']>; /** 顺序 */ sort?: Maybe<Scalars['Int']>; /** 选项值 */ value?: Maybe<Scalars['String']>; }; type SopOrResultPayload = { __typename?: 'SopOrResultPayload'; /** 业务id */ businessId?: Maybe<Scalars['ID']>; /** 是否暂存 */ cacheEnabled?: Maybe<Scalars['Boolean']>; /** 答案 */ checkResult?: Maybe<Scalars['Object']>; /** 答案类型 */ checkResultType?: Maybe<SopCheckItemEnum>; /** 创建时间 */ createTime?: Maybe<Scalars['Long']>; /** 文件链接 */ fileLink?: Maybe<Scalars['Object']>; /** 备注 */ remark?: Maybe<Scalars['String']>; /** 质检项id */ sopDetailId?: Maybe<Scalars['ID']>; /** sop id */ sopId?: Maybe<Scalars['ID']>; /** result id */ sopResultId?: Maybe<Scalars['ID']>; /** 用户id */ userId?: Maybe<Scalars['Int']>; }; type UploadProps = ComponentProps<typeof Upload>; interface IProps$1 { /** 表单唯一标识(全局唯一) */ uuid: string; /** * 文件是否启用后台上传 * @default true */ backUpload?: boolean; /** 表单数据是否加载中(加载中的表单不允许提交) */ loading?: boolean; /** form(通过useSopForm获取) */ form: SopFormInstance; /** sop模板数据(带有答案,由中台接口直出) */ data: SopDetailResultPayload[]; /** 每个模板title,用于渲染模板名 */ title: string | ((templateData: SopDetailResultPayload) => string); /** 模板内容外部的包裹层,用于自定义容器UI */ wrapper?: (templateData: SopDetailResultPayload, templateJSX: ReactNode) => ReactNode; /** */ uploadProps?: Partial<UploadProps>; } type SopFormInstance = ReturnType<typeof useSopForm>; interface SopFormValues { sopList: SopDetailResultPayload[]; } declare const useSopForm: () => { strictValidation: boolean; validateFieldsWithoutToast?: rc_field_form_es_interface.ValidateFields<SopFormValues>; getFieldValue: (name: rc_field_form_es_interface.NamePath) => any; getFieldsValue: (() => SopFormValues) & ((nameList: true | rc_field_form_es_interface.NamePath[], filterFunc?: (meta: rc_field_form_es_interface.Meta) => boolean) => any); getFieldError: (name: rc_field_form_es_interface.NamePath) => string[]; getFieldsError: (nameList?: rc_field_form_es_interface.NamePath[]) => rc_field_form_es_interface.FieldError[]; getFieldWarning: (name: rc_field_form_es_interface.NamePath) => string[]; isFieldsTouched: ((nameList?: rc_field_form_es_interface.NamePath[], allFieldsTouched?: boolean) => boolean) & ((allFieldsTouched?: boolean) => boolean); isFieldTouched: (name: rc_field_form_es_interface.NamePath) => boolean; isFieldValidating: (name: rc_field_form_es_interface.NamePath) => boolean; isFieldsValidating: (nameList: rc_field_form_es_interface.NamePath[]) => boolean; resetFields: (fields?: rc_field_form_es_interface.NamePath[]) => void; setFields: (fields: rc_field_form_es_interface.FieldData[]) => void; setFieldValue: (name: rc_field_form_es_interface.NamePath, value: any) => void; setFieldsValue: (values: { sopList?: { __typename?: "SopDetailResultPayload"; category?: { __typename?: "CommodityCategoryEntity"; categoryName?: string; id?: number; }; enabled?: EnabledEnum; enabledName?: string; sopCheckItems?: { __typename?: "SopCheckItemResultPayload"; enabled?: EnabledEnum; enabledName?: string; inputTextRule?: InputTextRule; isRemark?: boolean; name?: string; nameLocale?: any; options?: { __typename?: "SopOptionPayload"; isRemark?: boolean; name?: string; nameLocale?: any; remarkRequired?: boolean; remarks?: string; sort?: number; value?: string; }[]; remarkRequired?: boolean; remarks?: string; required?: boolean; snapshotId?: string; sopDetailId?: string; sopId?: string; sopResult?: { __typename?: "SopOrResultPayload"; businessId?: string; cacheEnabled?: boolean; checkResult?: any; checkResultType?: SopCheckItemEnum; createTime?: number; fileLink?: any; remark?: string; sopDetailId?: string; sopId?: string; sopResultId?: string; userId?: number; }; sort?: number; type?: SopCheckItemEnum; typeName?: string; }[]; sopId?: string; templateDesc?: string; templateName?: string; universal?: boolean; }[]; }) => void; validateFields: rc_field_form_es_interface.ValidateFields<SopFormValues>; submit: () => void; }; /** SOP业务表单组件 */ declare const SopForm: FC<IProps$1>; declare const fieldKeyMap: Record<SopCheckItemEnum, FieldKey>; declare const fieldDefaultValueMap: Record<SopCheckItemEnum, unknown>; type FieldKey = 'TEXT_TYPE' | 'RADIO_TYPE' | 'FILE_TYPE' | 'DATE_TYPE' | 'CHECKBOX_TYPE' | ''; interface IProps { /** 数据是否加载中 */ loading?: boolean; /** sop模板数据(带有答案,由中台接口直出) */ data: SopDetailResultPayload[]; /** 每个模板title,用于渲染模板名 */ title: string | ((templateData: SopDetailResultPayload) => string); /** 模板内容外部的包裹层,用于自定义容器UI */ wrapper?: (templateData: SopDetailResultPayload, templateJSX: ReactNode) => ReactNode; } /** SOP业务预览组件 */ declare const SopPreview: FC<IProps>; export { SopForm, SopFormInstance, SopFormValues, SopPreview, fieldDefaultValueMap, fieldKeyMap, useSopForm };