|
@@ -23,9 +23,10 @@ interface FunctionCallProps {
|
|
|
export default (props: FunctionCallProps) => {
|
|
export default (props: FunctionCallProps) => {
|
|
|
const [editableKeys, setEditableRowKeys] = useState<React.Key[]>([]);
|
|
const [editableKeys, setEditableRowKeys] = useState<React.Key[]>([]);
|
|
|
const formRef = useRef<ProFormInstance<any>>();
|
|
const formRef = useRef<ProFormInstance<any>>();
|
|
|
|
|
+ const [data, setData] = useState<any>([]);
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
|
- // console.log(props.value, props.functionData);
|
|
|
|
|
|
|
+ // console.log('----props', props.value);
|
|
|
if (props.functionData && props.functionData.length) {
|
|
if (props.functionData && props.functionData.length) {
|
|
|
setEditableRowKeys(props.functionData.map((d) => d.id));
|
|
setEditableRowKeys(props.functionData.map((d) => d.id));
|
|
|
if (props.value) {
|
|
if (props.value) {
|
|
@@ -35,17 +36,22 @@ export default (props: FunctionCallProps) => {
|
|
|
return {
|
|
return {
|
|
|
...item,
|
|
...item,
|
|
|
value: oldValue.value,
|
|
value: oldValue.value,
|
|
|
|
|
+ source: oldValue?.source,
|
|
|
|
|
+ upperKey: oldValue?.upperKey,
|
|
|
};
|
|
};
|
|
|
}
|
|
}
|
|
|
return item;
|
|
return item;
|
|
|
});
|
|
});
|
|
|
|
|
+ // console.log('----tableData',tableData)
|
|
|
formRef.current?.setFieldsValue({
|
|
formRef.current?.setFieldsValue({
|
|
|
table: tableData,
|
|
table: tableData,
|
|
|
});
|
|
});
|
|
|
|
|
+ setData(tableData);
|
|
|
} else {
|
|
} else {
|
|
|
formRef.current?.setFieldsValue({
|
|
formRef.current?.setFieldsValue({
|
|
|
table: props.functionData,
|
|
table: props.functionData,
|
|
|
});
|
|
});
|
|
|
|
|
+ setData(props.functionData);
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
formRef.current?.setFieldsValue({
|
|
formRef.current?.setFieldsValue({
|
|
@@ -56,7 +62,6 @@ export default (props: FunctionCallProps) => {
|
|
|
|
|
|
|
|
const getItemNode = (record: any) => {
|
|
const getItemNode = (record: any) => {
|
|
|
const type = record.type;
|
|
const type = record.type;
|
|
|
- // console.log('------', record)
|
|
|
|
|
return (
|
|
return (
|
|
|
<TypeModel
|
|
<TypeModel
|
|
|
value={record.value}
|
|
value={record.value}
|
|
@@ -66,25 +71,24 @@ export default (props: FunctionCallProps) => {
|
|
|
branchGroup={props.branchGroup}
|
|
branchGroup={props.branchGroup}
|
|
|
thenName={props.thenName}
|
|
thenName={props.thenName}
|
|
|
format={record?.format}
|
|
format={record?.format}
|
|
|
|
|
+ source={record?.source}
|
|
|
onChange={(value, source) => {
|
|
onChange={(value, source) => {
|
|
|
record.source = source;
|
|
record.source = source;
|
|
|
record.value = value;
|
|
record.value = value;
|
|
|
record.upperKey = value;
|
|
record.upperKey = value;
|
|
|
- // props.onChange(value)
|
|
|
|
|
- // const arr = data.filter((item:any)=>item.id!==record.id)
|
|
|
|
|
- // console.log('-----typeModel', arr, record,[record],data)
|
|
|
|
|
- // formRef.current?.setFieldsValue({
|
|
|
|
|
- // table: [
|
|
|
|
|
- // ...arr,
|
|
|
|
|
- // record
|
|
|
|
|
- // ],
|
|
|
|
|
- // });
|
|
|
|
|
|
|
+
|
|
|
|
|
+ const arr = data.filter((item: any) => item.id !== record.id);
|
|
|
|
|
+ if (value && source) {
|
|
|
|
|
+ formRef.current?.setFieldsValue({
|
|
|
|
|
+ table: [...arr, record],
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
}}
|
|
}}
|
|
|
/>
|
|
/>
|
|
|
);
|
|
);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
- const columns: ProColumns<FunctionTableDataType>[] = [
|
|
|
|
|
|
|
+ const columns: ProColumns<any>[] = [
|
|
|
{
|
|
{
|
|
|
dataIndex: 'name',
|
|
dataIndex: 'name',
|
|
|
title: '参数名称',
|
|
title: '参数名称',
|
|
@@ -113,17 +117,38 @@ export default (props: FunctionCallProps) => {
|
|
|
formRef={formRef}
|
|
formRef={formRef}
|
|
|
name={props.name || 'proForm'}
|
|
name={props.name || 'proForm'}
|
|
|
submitter={false}
|
|
submitter={false}
|
|
|
- onValuesChange={() => {
|
|
|
|
|
- const values = formRef.current?.getFieldsValue();
|
|
|
|
|
- // console.log(values.table, 'values');
|
|
|
|
|
|
|
+ onValuesChange={async () => {
|
|
|
|
|
+ const values = await formRef.current?.validateFields();
|
|
|
|
|
+ console.log('------values', values.table);
|
|
|
|
|
+ const arr = values.table.map((item: any) => {
|
|
|
|
|
+ if (item.source === 'fixed') {
|
|
|
|
|
+ return {
|
|
|
|
|
+ name: item.id,
|
|
|
|
|
+ value: item.value,
|
|
|
|
|
+ source: item.source,
|
|
|
|
|
+ };
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return {
|
|
|
|
|
+ name: item.id,
|
|
|
|
|
+ upperKey: item.value,
|
|
|
|
|
+ source: item.source,
|
|
|
|
|
+ };
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ console.log('------arr', arr);
|
|
|
if (props.onChange) {
|
|
if (props.onChange) {
|
|
|
props.onChange(
|
|
props.onChange(
|
|
|
values.table.map((item: any) => ({
|
|
values.table.map((item: any) => ({
|
|
|
name: item.id,
|
|
name: item.id,
|
|
|
value: item.value,
|
|
value: item.value,
|
|
|
|
|
+ upperKey: item.value,
|
|
|
|
|
+ source: item.source,
|
|
|
})),
|
|
})),
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
|
|
+ // if (props.onChange) {
|
|
|
|
|
+ // props.onChange(arr);
|
|
|
|
|
+ // }
|
|
|
}}
|
|
}}
|
|
|
>
|
|
>
|
|
|
<EditableProTable
|
|
<EditableProTable
|