From 1b0b16862c1941c5a4e6e8c538e1a27c55d4ab81 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期三, 04 二月 2026 13:04:06 +0800
Subject: [PATCH] #路径流程页
---
rsf-admin/src/page/taskPathTemplateMerge/TaskPathTemplateMergeCreate.jsx | 6 ++-
rsf-admin/src/page/components/TaskPathTemplateMergeSelect.jsx | 95 ++++++++++++++++++++---------------------------
rsf-server/src/main/java/com/vincent/rsf/server/system/controller/TaskPathTemplateMergeController.java | 2
3 files changed, 46 insertions(+), 57 deletions(-)
diff --git a/rsf-admin/src/page/components/TaskPathTemplateMergeSelect.jsx b/rsf-admin/src/page/components/TaskPathTemplateMergeSelect.jsx
index 05a05b5..c6609bc 100644
--- a/rsf-admin/src/page/components/TaskPathTemplateMergeSelect.jsx
+++ b/rsf-admin/src/page/components/TaskPathTemplateMergeSelect.jsx
@@ -1,76 +1,63 @@
+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 () => {
- 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);
+ 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}
+ />
);
};
-export default TaskPathTemplateMergeSelect;
\ No newline at end of file
+export default TaskPathTemplateMergeSelect;
\ No newline at end of file
diff --git a/rsf-admin/src/page/taskPathTemplateMerge/TaskPathTemplateMergeCreate.jsx b/rsf-admin/src/page/taskPathTemplateMerge/TaskPathTemplateMergeCreate.jsx
index 1a19ea2..e62987d 100644
--- a/rsf-admin/src/page/taskPathTemplateMerge/TaskPathTemplateMergeCreate.jsx
+++ b/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>
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/TaskPathTemplateMergeController.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/TaskPathTemplateMergeController.java
index 769ca22..624cc6d 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/TaskPathTemplateMergeController.java
+++ b/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());
--
Gitblit v1.9.1