|
@@ -4,7 +4,13 @@ import { Actions, FlowContext } from '../../context'
|
|
|
import type { RadioChangeEvent } from 'antd'
|
|
|
import { ApprovalWay, ConfigureType, ParticipantMode } from '../../enum'
|
|
|
import { QuestionCircleFilled } from '@ant-design/icons'
|
|
|
-import { createForm, onFieldMount, onFieldReact, onFieldValueChange } from '@formily/core'
|
|
|
+import {
|
|
|
+ createForm,
|
|
|
+ onFieldMount,
|
|
|
+ onFieldReact,
|
|
|
+ onFieldValueChange,
|
|
|
+ onFormValuesChange
|
|
|
+} from '@formily/core'
|
|
|
import { createSchemaField, FormProvider } from '@formily/react'
|
|
|
import { FormItem, Select } from '@formily/antd'
|
|
|
import { participantSchema } from '../../utils'
|
|
@@ -13,6 +19,7 @@ import consts from '@/utils/consts'
|
|
|
import { action } from '@formily/reactive'
|
|
|
import { buildUUID } from '@/utils/uuid'
|
|
|
import styles from './index.less'
|
|
|
+import { useDebounceFn } from 'ahooks'
|
|
|
const configureItemTitle = {
|
|
|
[ConfigureType.ADDSIGN]: {
|
|
|
name: '允许加签',
|
|
@@ -99,14 +106,30 @@ const FlowDrawer = () => {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+ const { run: trySaveCardData } = useDebounceFn((targetID, formData) => {
|
|
|
+ console.log(1)
|
|
|
+
|
|
|
+ setState({
|
|
|
+ ...state,
|
|
|
+ accounts: { ...state.accounts, [targetID]: { ...state.accounts[targetID], ...formData } }
|
|
|
+ })
|
|
|
+ })
|
|
|
const renderCard = () => {
|
|
|
const keys = Object.keys(state.accounts)
|
|
|
return keys.map(key => {
|
|
|
const participant = state.accounts?.[key]
|
|
|
if (!participant) return null
|
|
|
- const form = createForm({
|
|
|
- initialValues: { participant },
|
|
|
+ const formInstance = createForm({
|
|
|
+ initialValues: {
|
|
|
+ ID: participant.ID,
|
|
|
+ participantMode: participant.participantMode,
|
|
|
+ institutionID: participant.institutionID,
|
|
|
+ name: participant.name
|
|
|
+ },
|
|
|
effects() {
|
|
|
+ onFormValuesChange(form => {
|
|
|
+ trySaveCardData(key, form.getValuesIn())
|
|
|
+ })
|
|
|
onFieldMount('ID', (field, form) => {
|
|
|
field.setComponentProps({
|
|
|
onSelect: (_, option: { label: string; value: string }) => {
|
|
@@ -182,7 +205,7 @@ const FlowDrawer = () => {
|
|
|
</div>
|
|
|
</div>
|
|
|
<div className="mt-3">
|
|
|
- <FormProvider form={form}>
|
|
|
+ <FormProvider form={formInstance}>
|
|
|
<SchemaField
|
|
|
schema={participantSchema}
|
|
|
scope={{
|