1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/* 扩展字段内容
* @Author: Li Hanlin
* @Date: 2022-11-29 14:03:07
* @Last Modified by: Li Hanlin
* @Last Modified time: 2022-12-16 16:42:47
*/
import { doFetch } from '@/utils/doFetch';
import { useRequest } from 'ahooks';
import { useState, useEffect } from 'react';
import InitForm from '../InitForm';
const App = ({
setDrawer,
onFinish,
drawer,
formRef,
columns,
urlParams,
formId,
defaultFormValue,
onValuesChange,
}) => {
const [value, setValue] = useState('');
const [fieldscolumns, setfieldscolumns] = useState(columns);
const selectValueType = (type, options) => {
switch (type) {
case 1:
return {
valueType: 'input',
};
case 2:
return {
valueType: 'select',
options,
};
case 3:
return {
valueType: 'radio',
options,
};
case 4:
return {
valueType: 'select',
fieldProps: {
placeholder: '请选择',
mode: 'multiple',
},
options,
};
default:
break;
}
};
useEffect(() => {
const fn = async () => {
let res = await doFetch({
url: '/base/paFormField/queryList',
params: {
formId: formId,
},
});
if (res?.data?.dataList) {
let column = [
{
title: '扩展字段',
valueType: 'split',
},
];
res?.data?.dataList?.forEach?.((el) => {
column.push({
...selectValueType(el.fieldChar, el.valueList),
title: el.fieldName,
dataIndex: el.fieldName,
key: el.id,
});
});
setfieldscolumns(fieldscolumns.concat(column));
}
};
fn();
}, []);
const selectextendField = (type) => {
switch (Number(type)) {
case 1:
return 'userCharList';
case 2:
return 'equipmentCharList';
case 3:
return 'equipmentSupplierCharList';
default:
break;
}
};
return (
<>
<InitForm
formRef={formRef}
defaultFormValue={defaultFormValue}
extendField={selectextendField(formId)}
detailpath={urlParams?.detail || null}
params={{ id: drawer?.item?.id || null }}
fields={fieldscolumns}
onFinish={onFinish}
onValuesChange={onValuesChange}
/>
</>
);
};
export default App;