提交 2441ad01 authored 作者: 钟是志's avatar 钟是志

31396 勤工助学学生申请岗位和填报岗位工时需要做手机端

上级 f7af5abe
......@@ -2,101 +2,97 @@ import React, { useState, useEffect, useMemo, useCallback, memo, useRef } from '
import { Steps } from 'antd';
import ZdyTable from '@/webPublic/one_stop_public/Table';
import styles from '../style.less';
const { Step } = Steps;
const Child = memo((props) => {
const { value, json, partFormProps } = props;
const diyProps = useMemo(
() => {
let b = {};
if (value && typeof value === 'object') {
b = {
...value,
};
}
if (json.otherProps && typeof json.otherProps === 'string') {
try {
let a = new Function(json.otherProps)();
if (a) {
return {
...a,
...b,
};
}
return b;
} catch (e) {
console.error('Step组件 otherProps错误');
}
} else {
return b;
}
},
[json.otherProps, value],
);
const Child = memo(props => {
const { value, json, partFormProps } = props;
const diyProps = useMemo(() => {
let b = {};
if (value && typeof value === 'object') {
b = {
...value,
};
}
if (json.otherProps && typeof json.otherProps === 'string') {
try {
let a = new Function(json.otherProps)();
if (a) {
return {
...a,
...b,
};
}
return b;
} catch (e) {
console.error('Step组件 otherProps错误');
}
} else {
return b;
}
}, [json.otherProps, value]);
// console.log(diyProps);
// console.log(diyProps);
const [current, setCurrent] = useState(diyProps?.StepsProps?.current || 0);
const [current, setCurrent] = useState(diyProps?.StepsProps?.current || 0);
const partFormKey = useMemo(
() => {
if (typeof current !== 'undefined') {
let item = diyProps.Step.find((g, index) => {
return index === current;
});
if (item) {
return item.formKey;
}
}
return undefined;
},
[current],
);
const partFormKey = useMemo(() => {
if (typeof current !== 'undefined') {
let item = diyProps.Step.find((g, index) => {
return index === current;
});
if (item) {
return item.formKey;
}
}
return undefined;
}, [current]);
useEffect(
() => {
if (diyProps?.StepsProps?.current !== current) {
setCurrent(diyProps?.StepsProps?.current);
}
},
[diyProps?.StepsProps?.current],
);
useEffect(() => {
if (diyProps?.StepsProps?.current !== current) {
setCurrent(diyProps?.StepsProps?.current);
}
}, [diyProps?.StepsProps?.current]);
return (
<div style={diyProps.outSideDivStyle} className={styles.stepsInfo}>
<Steps {...diyProps.StepsProps} current={current}>
{Array.isArray(diyProps.Step) &&
diyProps.Step.map((g) => {
return <Step {...g} key={g.title} />;
})}
</Steps>
return (
<div style={diyProps.outSideDivStyle} className={styles.stepsInfo}>
<Steps {...diyProps.StepsProps} current={current}>
{Array.isArray(diyProps.Step) &&
diyProps.Step.map(g => {
return <Step {...g} key={g.title} />;
})}
</Steps>
{Array.isArray(diyProps.Step) &&
diyProps.Step.filter((g) => !!g.formKey).map((g, index) => {
return (
<div key={g.formKey} style={{ display: partFormKey === g.formKey ? 'block' : 'none' }}>
<ZdyTable
{...partFormProps}
currentFormTitle={'Steps组件的子表单' + g.formKey}
key={g.formKey}
currentFormKey={g.formKey}
{Array.isArray(diyProps.Step) &&
diyProps.Step.filter(g => !!g.formKey && g.formKey === partFormKey).map((g, index) => {
// 解决禅道 31396 勤工助学学生申请岗位和填报岗位工时需要做手机端
// 钟是志 切换step时 重新渲染formkey
return (
<div key={g.formKey}
style={{ display: partFormKey === g.formKey ? 'block' : 'none' }}
>
<ZdyTable
{...partFormProps}
currentFormTitle={'Steps组件的子表单' + g.formKey}
key={g.formKey}
currentFormKey={g.formKey}
form={props.form}
{...partFormProps?.datas[g.formKey]}
/>
</div>
);
})}
</div>
);
{...partFormProps?.datas[g.formKey]}
/>
</div>
);
})}
</div>
);
});
export default function StepDiy(props){
const { value, json, partFormProps, form } = props;
const js = useMemo(() => {
return json;
export default function StepDiy(props) {
const { value, json, partFormProps, form } = props;
const js = useMemo(() => {
return json;
}, [json]);
if (!js) {
return null;
}
return <Child json={js} value={value} partFormProps={partFormProps} form={form} />;
return null;
}
return <Child json={js} value={value} partFormProps={partFormProps} form={form} />;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论