zhou zhou
12 小时以前 1b0b16862c1941c5a4e6e8c538e1a27c55d4ab81
#路径流程页
3个文件已修改
83 ■■■■■ 已修改文件
rsf-admin/src/page/components/TaskPathTemplateMergeSelect.jsx 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/taskPathTemplateMerge/TaskPathTemplateMergeCreate.jsx 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/system/controller/TaskPathTemplateMergeController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/components/TaskPathTemplateMergeSelect.jsx
@@ -1,75 +1,62 @@
import EditIcon from '@mui/icons-material/Edit';
import { useState, useEffect } from 'react';
import {
    useTranslate, useNotify, required
    Button, useListContext, SelectInput,
    required, SelectArrayInput,
    useTranslate, useNotify,
    SelectArrayInputClasses
} from 'react-admin';
import { useController } from 'react-hook-form';
import request from '@/utils/request';
import { Select, MenuItem, FormControl, InputLabel } from '@mui/material';
const TaskPathTemplateMergeSelect = (props) => {
    const { dictTypeCode, label, name, validate, ...params } = props;
    const {
        name,
        multiple = false,
        perPage = 100,  // 默认每页显示100条数据
        page = 1,       // 默认第一页
        ...parmas
    } = props;
    const translate = useTranslate();
    const notify = useNotify();
    const [list, setList] = useState([]);
    // 使用 useController 与 react-hook-form 集成
    const { field, fieldState } = useController({
        name: name,
        rules: validate ? {
            validate: (value) => {
                for (const rule of validate) {
                    const result = rule(value);
                    if (result) return result;
                }
                return true;
            }
        } : undefined
    });
    const [loading, setLoading] = useState(false);
    useEffect(() => {
        http();
    }, [dictTypeCode]);
    }, []);
    const http = async () => {
        setLoading(true);
        try {
        const res = await request.post('/taskPathTemplateMerge/createSelectList');
        if (res?.data?.code === 200) {
            setList(res.data.data.map((item) => {
                return {
                    id: item.id,
                    name: item.name
                };
                    }
            }));
        } else {
            notify(res.data.msg);
        }
        } catch (error) {
            notify('加载数据失败', 'error');
            console.error('加载数据失败:', error);
        } finally {
            setLoading(false);
        }
    };
    const handleChange = (event) => {
        const selectedValue = event.target.value;
        field.onChange(selectedValue);
    };
    const validValue = list.some(item => item.id === field.value) ? field.value : '';
    const InputComponent = multiple ? SelectArrayInput : SelectInput;
    return (
        <FormControl required fullWidth error={!!fieldState.error}>
            <InputLabel id={`${name}-label`}>{label}</InputLabel>
            <Select
                labelId={`${name}-label`}
                value={validValue}
                variant="filled"
                onChange={handleChange}
                size='small'
            >
                {list.map((item) => (
                    <MenuItem
                        key={item.id}
                        value={item.id}>
                        {item.name}
                    </MenuItem>
                ))}
            </Select>
        </FormControl>
        <InputComponent
            source={name}
            choices={list}
            isLoading={loading}
            {...parmas}
        />
    );
};
rsf-admin/src/page/taskPathTemplateMerge/TaskPathTemplateMergeCreate.jsx
@@ -107,7 +107,8 @@
                                    <TaskPathTemplateMergeSelect
                                        label={translate("table.field.taskPathTemplateMerge.sourceType")}
                                        name="sourceType"
                                        name="sourceTypeR"
                                        multiple={true}
                                        validate={[required()]}
                                    />
                                </Grid>
@@ -115,7 +116,8 @@
                                    <TaskPathTemplateMergeSelect
                                        label={translate("table.field.taskPathTemplateMerge.targetType")}
                                        name="targetType"
                                        name="targetTypeR"
                                        multiple={true}
                                        validate={[required()]}
                                    />
                                </Grid>
rsf-server/src/main/java/com/vincent/rsf/server/system/controller/TaskPathTemplateMergeController.java
@@ -66,7 +66,7 @@
        for (String sourceType : sourceTypeR) {
            for (String targetType : targetTypeR) {
                TaskPathTemplateMerge taskPathTemplateMerge = new TaskPathTemplateMerge();
                taskPathTemplateMerge.setConditionDesc(taskPathTemplateMerge.getConditionDesc());
                taskPathTemplateMerge.setConditionExpression(taskPathTemplateMerges.getConditionExpression());
                taskPathTemplateMerge.setSourceType(sourceType);
                taskPathTemplateMerge.setTargetType(targetType);
                taskPathTemplateMerge.setCreateBy(getLoginUserId());