import { IFormItemProps, FormInstance, DformInput, DformSelect, DformDatePicker, DformCheckBox, DformTextArea, DformRadio, DformPicker, DformCustom, DformSwitch, RangeDatePicker, DformFile, DformImagePicker, DformText, AddressPicker, } from '@alitajs/dform'; import { Toast } from 'antd-mobile-v2'; import React from 'react'; const initBCMCDFormState = ({ form, isEdit = true, onChange, onBlur, optionObjs = {}, extra, onClick, onChangeLevel, changeFormObj = {}, properties = [], }: { form: FormInstance; isEdit?: boolean; onChange: (value: any, key: string) => void; onBlur: (value: any, key: string) => void; onClick: (key: string) => void; onChangeLevel: (value: any, key: string) => void; optionObjs?: any; extra?: any; changeFormObj?: any; properties?: any[]; }) => { const eleArr = [] as any[]; properties.forEach((row: any, index: number) => { const { componentType, elementCode, editable, rules = {}, initialValue, label, disabled, visible, dataSource = [], showFlag = 1, //是否展示 readOnlyFlag = 0, } = row; const { requiredRule = {}, patternRule } = rules; const { required = false } = requiredRule; const mDisabled = !!readOnlyFlag; const req = mDisabled ? false : required; let pushItem = { fieldProps: elementCode, title: label, required: req, onChange: (value: any) => onChange(value, elementCode), defaultValue: initialValue ? initialValue : undefined, disabled: mDisabled, // positionType: label.length > 10 ? 'vertical' : 'horizontal', labelNumber: 7, hidden: !showFlag, rules: [ { required: required, message: `【${label}】:` + (requiredRule?.message || ''), }, ], } as any; if (patternRule) { pushItem.rules.push({ pattern: new RegExp(patternRule.pattern.replace(/(\/)/g, '')), message: `【${label}】:` + (patternRule?.message || ''), }); } let DFormComponent: any = null; switch (componentType) { case 'ComboAny': case 'ComboModal': DFormComponent = DformText; Object.assign(pushItem, { placeholder: !mDisabled ? '请选择' : '', onClick: () => { onClick(pushItem.fieldProps); }, extra: isEdit && extra.arrRight, }); break; case 'Input': case 'NumberPicker': DFormComponent = !mDisabled ? DformInput : DformText; Object.assign(pushItem, { placeholder: !mDisabled ? '请输入' : '', editable: !mDisabled, }); break; case 'Select': DFormComponent = DformPicker; Object.assign(pushItem, { onClick: () => { if (dataSource.length > 0) return; Toast.fail('暂无数据'); }, placeholder: !mDisabled ? '请选择' : '', data: dataSource, }); break; case 'TreeSelect': DFormComponent = AddressPicker; Object.assign(pushItem, { placeholder: !mDisabled ? '请选择' : '', data: dataSource, placeholderList: ['请选择', '请选择'], onChangeLevel: (values: (string | number)[]) => onChangeLevel(values, elementCode), noData: !mDisabled && extra.addressPickerNoData, }); break; case 'TextArea': DFormComponent = DformTextArea; Object.assign(pushItem, { placeholder: !mDisabled ? '请输入' : '', positionType: 'vertical', coverStyle: { background: 'rgba(237, 240, 245, 0.5)', }, rows: 3, editable: !mDisabled, }); break; case 'RadioGroup': DFormComponent = DformRadio; Object.assign(pushItem, { data: dataSource, }); break; case 'DatePicker': DFormComponent = DformDatePicker; Object.assign(pushItem, { placeholder: !mDisabled ? '请输入' : '', modeType: 'date', }); break; default: break; } if (changeFormObj[elementCode]) { Object.assign(pushItem, changeFormObj[elementCode]); } if (DFormComponent) eleArr.push( , ); }); return eleArr; }; // 商机流程处理环节处理 const initLinkInfoFormState = ({ form, isEdit = false, onChange, onBlur, optionObjs = {}, extra, onClick, formsValues = {}, content = {}, }: { form: FormInstance; isEdit?: boolean; onChange: (value: any, key: string) => void; onBlur: (value: any, key: string) => void; onClick: (key: string) => void; optionObjs?: any; extra?: any; formsValues: any; content?: any; //额外参数 }) => { const { backTacheOptions = [] } = optionObjs; const { backTache } = formsValues; const { isNewOpp = false } = content; const formItemProps = { labelNumber: 7 }; const eleArr = [ onChange(value, 'auditPass')} hidden={isNewOpp} {...formItemProps} />, onChange(value, 'backTache')} hidden={isNewOpp} {...formItemProps} />, { isEdit && onClick('userName'); }} extra={isEdit && extra.arrRight} hidden={backTache === 'FLOW_END'} {...formItemProps} />, onChange(value, 'dealContent')} editable={isEdit} {...formItemProps} />, onChange(value, 'isRemind')} {...formItemProps} />,