更改目录结构
This commit is contained in:
parent
d463a556cd
commit
80e917666e
@ -4,7 +4,7 @@ import {useNavigate, useLocation} from 'react-router-dom';
|
|||||||
import {Sidebar, SidebarHeader, SidebarContent} from '@/components/ui/sidebar';
|
import {Sidebar, SidebarHeader, SidebarContent} from '@/components/ui/sidebar';
|
||||||
import {MenuItem, MenuGroup} from '@/components/ui/sidebar-menu';
|
import {MenuItem, MenuGroup} from '@/components/ui/sidebar-menu';
|
||||||
import type {RootState} from '@/store';
|
import type {RootState} from '@/store';
|
||||||
import {MenuTypeEnum} from '@/pages/System/Menu/types';
|
import {MenuTypeEnum} from '@/pages/System/Menu/List/types';
|
||||||
import {getIconComponent} from '@/config/icons';
|
import {getIconComponent} from '@/config/icons';
|
||||||
|
|
||||||
interface AppMenuProps {
|
interface AppMenuProps {
|
||||||
@ -44,7 +44,7 @@ export function AppMenu({openKeys, onOpenChange}: AppMenuProps) {
|
|||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{menu.children?.map(child => (
|
{menu.children?.filter(child => !child.hidden).map(child => (
|
||||||
<MenuItem
|
<MenuItem
|
||||||
key={child.path || String(child.id)}
|
key={child.path || String(child.id)}
|
||||||
icon={getIconComponent(child.icon)}
|
icon={getIconComponent(child.icon)}
|
||||||
|
|||||||
@ -10,7 +10,7 @@ import {
|
|||||||
} from '@ant-design/icons';
|
} from '@ant-design/icons';
|
||||||
import { logout, setMenus } from '../store/userSlice';
|
import { logout, setMenus } from '../store/userSlice';
|
||||||
import type { MenuProps } from 'antd';
|
import type { MenuProps } from 'antd';
|
||||||
import { getCurrentUserMenus } from '@/pages/System/Menu/service';
|
import { getCurrentUserMenus } from '@/pages/System/Menu/List/service';
|
||||||
import { getWeather } from '../services/weather';
|
import { getWeather } from '../services/weather';
|
||||||
import type { RootState } from '../store';
|
import type { RootState } from '../store';
|
||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
|
|||||||
@ -2,9 +2,9 @@ import React, {useEffect, useState} from 'react';
|
|||||||
import type {Application, RepositoryProject} from '../types';
|
import type {Application, RepositoryProject} from '../types';
|
||||||
import {DevelopmentLanguageTypeEnum} from '../types';
|
import {DevelopmentLanguageTypeEnum} from '../types';
|
||||||
import {createApplication, updateApplication, getRepositoryProjectsBySystem} from '../service';
|
import {createApplication, updateApplication, getRepositoryProjectsBySystem} from '../service';
|
||||||
import type {ExternalSystemResponse} from '@/pages/Deploy/External/types';
|
import type {ExternalSystemResponse} from '@/pages/Deploy/External/List/types';
|
||||||
import {SystemType} from '@/pages/Deploy/External/types';
|
import {SystemType} from '@/pages/Deploy/External/List/types';
|
||||||
import {getExternalSystems} from '@/pages/Deploy/External/service';
|
import {getExternalSystems} from '@/pages/Deploy/External/List/service';
|
||||||
import {getEnabledCategories} from '../../Category/service';
|
import {getEnabledCategories} from '../../Category/service';
|
||||||
import type {ApplicationCategoryResponse} from '../../Category/types';
|
import type {ApplicationCategoryResponse} from '../../Category/types';
|
||||||
import {
|
import {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import type {BaseQuery} from '@/types/base';
|
import type {BaseQuery} from '@/types/base';
|
||||||
import {ExternalSystemResponse} from "@/pages/Deploy/External/types";
|
import {ExternalSystemResponse} from "@/pages/Deploy/External/List/types";
|
||||||
import {BaseResponse} from "@/types/base";
|
import {BaseResponse} from "@/types/base";
|
||||||
import type {ApplicationCategoryResponse} from "../Category/types";
|
import type {ApplicationCategoryResponse} from "../Category/types";
|
||||||
|
|
||||||
|
|||||||
@ -32,8 +32,8 @@ import {PlusCircle, X, Maximize2} from 'lucide-react';
|
|||||||
import {useForm, useFieldArray} from "react-hook-form";
|
import {useForm, useFieldArray} from "react-hook-form";
|
||||||
import {getApplicationList} from '../../../Application/List/service';
|
import {getApplicationList} from '../../../Application/List/service';
|
||||||
import {getExternalSystemList, getJenkinsViewList, getJenkinsJobList, createDeploymentConfig, updateDeploymentConfig} from '../service';
|
import {getExternalSystemList, getJenkinsViewList, getJenkinsJobList, createDeploymentConfig, updateDeploymentConfig} from '../service';
|
||||||
import {getPublishedDefinitions} from '@/pages/Workflow/Definition/service';
|
import {getPublishedDefinitions} from '@/pages/Workflow/Definition/List/service';
|
||||||
import type {ExternalSystem} from '@/pages/Deploy/External/types';
|
import type {ExternalSystem} from '@/pages/Deploy/External/List/types';
|
||||||
import { Editor } from "@/components/Editor";
|
import { Editor } from "@/components/Editor";
|
||||||
import { message } from 'antd';
|
import { message } from 'antd';
|
||||||
|
|
||||||
|
|||||||
@ -9,8 +9,8 @@ import {BetaSchemaForm} from '@ant-design/pro-components';
|
|||||||
import {convertJsonSchemaToColumns} from '@/utils/jsonSchemaUtils';
|
import {convertJsonSchemaToColumns} from '@/utils/jsonSchemaUtils';
|
||||||
import {Editor} from '@/components/Editor';
|
import {Editor} from '@/components/Editor';
|
||||||
import type {JsonNode} from '@/types/common';
|
import type {JsonNode} from '@/types/common';
|
||||||
import {getPublishedDefinitions} from '@/pages/Workflow/Definition/service';
|
import {getPublishedDefinitions} from '@/pages/Workflow/Definition/List/service';
|
||||||
import type {WorkflowDefinition} from '@/pages/Workflow/Definition/types';
|
import type {WorkflowDefinition} from '@/pages/Workflow/Definition/List/types';
|
||||||
import './styles.less';
|
import './styles.less';
|
||||||
|
|
||||||
const {Option} = Select;
|
const {Option} = Select;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import request from '@/utils/request';
|
import request from '@/utils/request';
|
||||||
import type {DeploymentConfig, CreateDeploymentConfigRequest, UpdateDeploymentConfigRequest, DeploymentConfigQueryParams, DeployConfigTemplate} from './types';
|
import type {DeploymentConfig, CreateDeploymentConfigRequest, UpdateDeploymentConfigRequest, DeploymentConfigQueryParams, DeployConfigTemplate} from './types';
|
||||||
import type {Page} from '@/types/base';
|
import type {Page} from '@/types/base';
|
||||||
import type {ExternalSystem} from '@/pages/Deploy/External/types';
|
import type {ExternalSystem} from '@/pages/Deploy/External/List/types';
|
||||||
|
|
||||||
interface JenkinsView {
|
interface JenkinsView {
|
||||||
id: number;
|
id: number;
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import {Environment} from '../../Environment/List/types';
|
|||||||
import {Application} from '../../Application/List/types';
|
import {Application} from '../../Application/List/types';
|
||||||
import {DevelopmentLanguageTypeEnum} from '../../Application/List/types';
|
import {DevelopmentLanguageTypeEnum} from '../../Application/List/types';
|
||||||
import type {JsonNode} from '@/types/common';
|
import type {JsonNode} from '@/types/common';
|
||||||
import type {WorkflowDefinition} from '@/pages/Workflow/Definition/types';
|
import type {WorkflowDefinition} from '@/pages/Workflow/Definition/List/types';
|
||||||
|
|
||||||
// 构建方式枚举
|
// 构建方式枚举
|
||||||
export enum BuildTypeEnum {
|
export enum BuildTypeEnum {
|
||||||
|
|||||||
@ -63,7 +63,7 @@ import {
|
|||||||
syncRepositoryBranches,
|
syncRepositoryBranches,
|
||||||
} from './service';
|
} from './service';
|
||||||
|
|
||||||
import type { ExternalSystemResponse } from '@/pages/Deploy/External/types';
|
import type { ExternalSystemResponse } from '@/pages/Deploy/External/List/types';
|
||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
import relativeTime from 'dayjs/plugin/relativeTime';
|
import relativeTime from 'dayjs/plugin/relativeTime';
|
||||||
import 'dayjs/locale/zh-cn';
|
import 'dayjs/locale/zh-cn';
|
||||||
|
|||||||
@ -5,8 +5,8 @@ import type {
|
|||||||
RepositoryProjectResponse,
|
RepositoryProjectResponse,
|
||||||
RepositoryBranchResponse,
|
RepositoryBranchResponse,
|
||||||
} from './types';
|
} from './types';
|
||||||
import { getExternalSystems } from '@/pages/Deploy/External/service';
|
import { getExternalSystems } from '@/pages/Deploy/External/List/service';
|
||||||
import { SystemType } from '@/pages/Deploy/External/types';
|
import { SystemType } from '@/pages/Deploy/External/List/types';
|
||||||
import type { Page } from '@/types/base';
|
import type { Page } from '@/types/base';
|
||||||
|
|
||||||
// API 基础路径
|
// API 基础路径
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import request from '@/utils/request';
|
import request from '@/utils/request';
|
||||||
import type { JenkinsViewDTO, JenkinsJobDTO, JenkinsBuildDTO } from './types';
|
import type { JenkinsViewDTO, JenkinsJobDTO, JenkinsBuildDTO } from './types';
|
||||||
import { getExternalSystems } from '@/pages/Deploy/External/service';
|
import { getExternalSystems } from '@/pages/Deploy/External/List/service';
|
||||||
import { SystemType } from '@/pages/Deploy/External/types';
|
import { SystemType } from '@/pages/Deploy/External/List/types';
|
||||||
import type { Page } from '@/types/base';
|
import type { Page } from '@/types/base';
|
||||||
|
|
||||||
// 获取 Jenkins 实例列表
|
// 获取 Jenkins 实例列表
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import type { BaseResponse } from '@/types/base';
|
import type { BaseResponse } from '@/types/base';
|
||||||
import type { ExternalSystemResponse } from '@/pages/Deploy/External/types';
|
import type { ExternalSystemResponse } from '@/pages/Deploy/External/List/types';
|
||||||
|
|
||||||
// 使用外部系统响应作为 Jenkins 实例
|
// 使用外部系统响应作为 Jenkins 实例
|
||||||
export type JenkinsInstance = ExternalSystemResponse;
|
export type JenkinsInstance = ExternalSystemResponse;
|
||||||
|
|||||||
@ -63,7 +63,7 @@ import type {
|
|||||||
TeamMemberQuery
|
TeamMemberQuery
|
||||||
} from '../../Member/types';
|
} from '../../Member/types';
|
||||||
import type { Page } from '@/types/base';
|
import type { Page } from '@/types/base';
|
||||||
import type { UserResponse } from '@/pages/System/User/types';
|
import type { UserResponse } from '@/pages/System/User/List/types';
|
||||||
|
|
||||||
interface MemberManageDialogProps {
|
interface MemberManageDialogProps {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
|
|||||||
@ -38,7 +38,7 @@ import type {
|
|||||||
Environment,
|
Environment,
|
||||||
Application,
|
Application,
|
||||||
} from '../types';
|
} from '../types';
|
||||||
import type { UserResponse } from '@/pages/System/User/types';
|
import type { UserResponse } from '@/pages/System/User/List/types';
|
||||||
import {
|
import {
|
||||||
getTeamConfig,
|
getTeamConfig,
|
||||||
createTeamConfig,
|
createTeamConfig,
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import React, { useEffect, useState } from 'react';
|
import React, { useEffect, useState } from 'react';
|
||||||
import type { TeamResponse } from '../types';
|
import type { TeamResponse } from '../types';
|
||||||
import { createTeam, updateTeam } from '../service';
|
import { createTeam, updateTeam } from '../service';
|
||||||
import { getUserList } from '@/pages/System/User/service';
|
import { getUserList } from '@/pages/System/User/List/service';
|
||||||
import type { UserResponse } from '@/pages/System/User/types';
|
import type { UserResponse } from '@/pages/System/User/List/types';
|
||||||
import {
|
import {
|
||||||
Dialog,
|
Dialog,
|
||||||
DialogContent,
|
DialogContent,
|
||||||
|
|||||||
@ -5,8 +5,8 @@ import type { TeamResponse, TeamQuery } from './types';
|
|||||||
import TeamModal from './components/TeamModal';
|
import TeamModal from './components/TeamModal';
|
||||||
import DeleteDialog from './components/DeleteDialog';
|
import DeleteDialog from './components/DeleteDialog';
|
||||||
import MemberManageDialog from './components/MemberManageDialog';
|
import MemberManageDialog from './components/MemberManageDialog';
|
||||||
import { getUserList } from '@/pages/System/User/service';
|
import { getUserList } from '@/pages/System/User/List/service';
|
||||||
import type { UserResponse } from '@/pages/System/User/types';
|
import type { UserResponse } from '@/pages/System/User/List/types';
|
||||||
import { getEnvironmentList, getApplicationList } from './service';
|
import { getEnvironmentList, getApplicationList } from './service';
|
||||||
import type { Environment, Application } from './types';
|
import type { Environment, Application } from './types';
|
||||||
import TeamConfigSheet from './components/TeamConfigSheet';
|
import TeamConfigSheet from './components/TeamConfigSheet';
|
||||||
|
|||||||
@ -158,4 +158,3 @@ const FormDataDetail: React.FC = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export default FormDataDetail;
|
export default FormDataDetail;
|
||||||
|
|
||||||
@ -12,9 +12,9 @@ import {
|
|||||||
Activity, Clock, CheckCircle2, FileCheck, Database
|
Activity, Clock, CheckCircle2, FileCheck, Database
|
||||||
} from 'lucide-react';
|
} from 'lucide-react';
|
||||||
import { getFormDataList, deleteFormData, exportFormData } from './service';
|
import { getFormDataList, deleteFormData, exportFormData } from './service';
|
||||||
import { getEnabledCategories } from '../Category/service';
|
import { getEnabledCategories } from '../../Category/service';
|
||||||
import type { FormDataResponse, FormDataStatus, FormDataBusinessType } from './types';
|
import type { FormDataResponse, FormDataStatus, FormDataBusinessType } from './types';
|
||||||
import type { FormCategoryResponse } from '../Category/types';
|
import type { FormCategoryResponse } from '../../Category/types';
|
||||||
import type { Page } from '@/types/base';
|
import type { Page } from '@/types/base';
|
||||||
import { DEFAULT_PAGE_SIZE, DEFAULT_CURRENT } from '@/utils/page';
|
import { DEFAULT_PAGE_SIZE, DEFAULT_CURRENT } from '@/utils/page';
|
||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
@ -6,8 +6,8 @@ import { useToast } from '@/components/ui/use-toast';
|
|||||||
import { FormDesigner } from '@/components/FormDesigner';
|
import { FormDesigner } from '@/components/FormDesigner';
|
||||||
import type { FormSchema } from '@/components/FormDesigner';
|
import type { FormSchema } from '@/components/FormDesigner';
|
||||||
import { ArrowLeft, Workflow } from 'lucide-react';
|
import { ArrowLeft, Workflow } from 'lucide-react';
|
||||||
import { getDefinitionById, updateDefinition } from './service';
|
import { getDefinitionById, updateDefinition } from '../List/service';
|
||||||
import type { FormDefinitionRequest } from './types';
|
import type { FormDefinitionRequest } from '../List/types';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表单设计器页面
|
* 表单设计器页面
|
||||||
@ -57,12 +57,12 @@ import {
|
|||||||
createCategory,
|
createCategory,
|
||||||
updateCategory,
|
updateCategory,
|
||||||
deleteCategory
|
deleteCategory
|
||||||
} from '../../Category/service';
|
} from '../../../Category/service';
|
||||||
import type {
|
import type {
|
||||||
FormCategoryResponse,
|
FormCategoryResponse,
|
||||||
FormCategoryRequest,
|
FormCategoryRequest,
|
||||||
FormCategoryQuery
|
FormCategoryQuery
|
||||||
} from '../../Category/types';
|
} from '../../../Category/types';
|
||||||
import type { Page } from '@/types/base';
|
import type { Page } from '@/types/base';
|
||||||
|
|
||||||
interface CategoryManageDialogProps {
|
interface CategoryManageDialogProps {
|
||||||
@ -11,9 +11,9 @@ import { Separator } from '@/components/ui/separator';
|
|||||||
import { FileText, Tag, Folder, AlignLeft, Copy, Loader2 } from 'lucide-react';
|
import { FileText, Tag, Folder, AlignLeft, Copy, Loader2 } from 'lucide-react';
|
||||||
import { useToast } from '@/components/ui/use-toast';
|
import { useToast } from '@/components/ui/use-toast';
|
||||||
import { createDefinition, updateDefinition } from '../service';
|
import { createDefinition, updateDefinition } from '../service';
|
||||||
import { getEnabledCategories } from '../../Category/service';
|
import { getEnabledCategories } from '../../../Category/service';
|
||||||
import type { FormDefinitionRequest, FormDefinitionResponse } from '../types';
|
import type { FormDefinitionRequest, FormDefinitionResponse } from '../types';
|
||||||
import type { FormCategoryResponse } from '../../Category/types';
|
import type { FormCategoryResponse } from '../../../Category/types';
|
||||||
|
|
||||||
interface FormBasicInfoModalProps {
|
interface FormBasicInfoModalProps {
|
||||||
mode: 'create' | 'edit';
|
mode: 'create' | 'edit';
|
||||||
@ -24,9 +24,9 @@ import {
|
|||||||
} from '@/components/ui/dropdown-menu';
|
} from '@/components/ui/dropdown-menu';
|
||||||
import { Separator } from '@/components/ui/separator';
|
import { Separator } from '@/components/ui/separator';
|
||||||
import { getDefinitions, publishDefinition, disableDefinition, deleteDefinition } from './service';
|
import { getDefinitions, publishDefinition, disableDefinition, deleteDefinition } from './service';
|
||||||
import { getEnabledCategories } from '../Category/service';
|
import { getEnabledCategories } from '../../Category/service';
|
||||||
import type { FormDefinitionResponse, FormDefinitionStatus } from './types';
|
import type { FormDefinitionResponse, FormDefinitionStatus } from './types';
|
||||||
import type { FormCategoryResponse } from '../Category/types';
|
import type { FormCategoryResponse } from '../../Category/types';
|
||||||
import type { Page } from '@/types/base';
|
import type { Page } from '@/types/base';
|
||||||
import { DEFAULT_PAGE_SIZE, DEFAULT_CURRENT } from '@/utils/page';
|
import { DEFAULT_PAGE_SIZE, DEFAULT_CURRENT } from '@/utils/page';
|
||||||
import FormBasicInfoModal from './components/FormBasicInfoModal';
|
import FormBasicInfoModal from './components/FormBasicInfoModal';
|
||||||
@ -7,7 +7,7 @@ import * as z from 'zod';
|
|||||||
import { login } from './service';
|
import { login } from './service';
|
||||||
import { getEnabledTenants } from '@/pages/System/Tenant/service';
|
import { getEnabledTenants } from '@/pages/System/Tenant/service';
|
||||||
import { setToken, setUserInfo, setMenus } from '../../store/userSlice';
|
import { setToken, setUserInfo, setMenus } from '../../store/userSlice';
|
||||||
import { getCurrentUserMenus } from '@/pages/System/Menu/service';
|
import { getCurrentUserMenus } from '@/pages/System/Menu/List/service';
|
||||||
import type { TenantResponse } from '@/pages/System/Tenant/types';
|
import type { TenantResponse } from '@/pages/System/Tenant/types';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
import { Input } from '@/components/ui/input';
|
import { Input } from '@/components/ui/input';
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import http from '@/utils/request';
|
import http from '@/utils/request';
|
||||||
import type { Response } from '@/utils/request';
|
import type { Response } from '@/utils/request';
|
||||||
import type { LoginRequest, LoginResponse } from './types';
|
import type { LoginRequest, LoginResponse } from './types';
|
||||||
import type { MenuResponse } from '@/pages/System/Menu/types';
|
import type { MenuResponse } from '@/pages/System/Menu/List/types';
|
||||||
import type { TenantResponse } from '@/pages/System/Tenant/types';
|
import type { TenantResponse } from '@/pages/System/Tenant/types';
|
||||||
|
|
||||||
// 登录
|
// 登录
|
||||||
|
|||||||
@ -15,7 +15,7 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@
|
|||||||
import { useToast } from '@/components/ui/use-toast';
|
import { useToast } from '@/components/ui/use-toast';
|
||||||
import request from '@/utils/request';
|
import request from '@/utils/request';
|
||||||
import type { DepartmentResponse, DepartmentRequest } from '../types';
|
import type { DepartmentResponse, DepartmentRequest } from '../types';
|
||||||
import type { UserResponse } from '../../User/types';
|
import type { UserResponse } from '../../../User/List/types';
|
||||||
|
|
||||||
interface EditDialogProps {
|
interface EditDialogProps {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
@ -10,7 +10,7 @@ import {
|
|||||||
} from 'lucide-react';
|
} from 'lucide-react';
|
||||||
import { getDepartmentTree, getUsers } from './service';
|
import { getDepartmentTree, getUsers } from './service';
|
||||||
import type { DepartmentResponse } from './types';
|
import type { DepartmentResponse } from './types';
|
||||||
import type { UserResponse } from '../User/types';
|
import type { UserResponse } from '../../User/List/types';
|
||||||
import request from '@/utils/request';
|
import request from '@/utils/request';
|
||||||
import EditDialog from './components/EditDialog';
|
import EditDialog from './components/EditDialog';
|
||||||
import DeleteDialog from './components/DeleteDialog';
|
import DeleteDialog from './components/DeleteDialog';
|
||||||
@ -1,7 +1,7 @@
|
|||||||
import request from '@/utils/request';
|
import request from '@/utils/request';
|
||||||
import type { Page } from '@/types/base/page';
|
import type { Page } from '@/types/base/page';
|
||||||
import type { DepartmentResponse, DepartmentRequest, DepartmentQuery } from './types';
|
import type { DepartmentResponse, DepartmentRequest, DepartmentQuery } from './types';
|
||||||
import {UserResponse} from "@/pages/System/User/types";
|
import {UserResponse} from "@/pages/System/User/List/types";
|
||||||
|
|
||||||
const BASE_URL = '/api/v1/department';
|
const BASE_URL = '/api/v1/department';
|
||||||
|
|
||||||
@ -14,7 +14,7 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@
|
|||||||
import { useToast } from '@/components/ui/use-toast';
|
import { useToast } from '@/components/ui/use-toast';
|
||||||
import { createUser, updateUser } from '../service';
|
import { createUser, updateUser } from '../service';
|
||||||
import type { UserResponse, UserRequest } from '../types';
|
import type { UserResponse, UserRequest } from '../types';
|
||||||
import type { DepartmentResponse } from '../../Department/types';
|
import type { DepartmentResponse } from '../../../Department/List/types';
|
||||||
|
|
||||||
interface EditModalProps {
|
interface EditModalProps {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
@ -12,9 +12,9 @@ import {
|
|||||||
} from 'lucide-react';
|
} from 'lucide-react';
|
||||||
import { useToast } from '@/components/ui/use-toast';
|
import { useToast } from '@/components/ui/use-toast';
|
||||||
import { getUsers, deleteUser, resetPassword, assignRoles, getAllRoles } from './service';
|
import { getUsers, deleteUser, resetPassword, assignRoles, getAllRoles } from './service';
|
||||||
import { getDepartmentTree } from '../Department/service';
|
import { getDepartmentTree } from '../../Department/List/service';
|
||||||
import type { UserResponse, UserQuery, Role } from './types';
|
import type { UserResponse, UserQuery, Role } from './types';
|
||||||
import type { DepartmentResponse } from '../Department/types';
|
import type { DepartmentResponse } from '../../Department/List/types';
|
||||||
import type { Page } from '@/types/base';
|
import type { Page } from '@/types/base';
|
||||||
import { DEFAULT_PAGE_SIZE, DEFAULT_CURRENT } from '@/utils/page';
|
import { DEFAULT_PAGE_SIZE, DEFAULT_CURRENT } from '@/utils/page';
|
||||||
import EditModal from './components/EditModal';
|
import EditModal from './components/EditModal';
|
||||||
@ -15,8 +15,8 @@ import { Loader2 } from 'lucide-react';
|
|||||||
import { useToast } from '@/components/ui/use-toast';
|
import { useToast } from '@/components/ui/use-toast';
|
||||||
import type { WorkflowDefinition, WorkflowCategoryResponse, WorkflowDefinitionRequest } from '../types';
|
import type { WorkflowDefinition, WorkflowCategoryResponse, WorkflowDefinitionRequest } from '../types';
|
||||||
import { saveDefinition, updateDefinition, getWorkflowCategoryList } from '../service';
|
import { saveDefinition, updateDefinition, getWorkflowCategoryList } from '../service';
|
||||||
import { getDefinitions as getFormDefinitions } from '@/pages/Form/Definition/service';
|
import { getDefinitions as getFormDefinitions } from '@/pages/Form/Definition/List/service';
|
||||||
import type { FormDefinitionResponse } from '@/pages/Form/Definition/types';
|
import type { FormDefinitionResponse } from '@/pages/Form/Definition/List/types';
|
||||||
|
|
||||||
interface EditModalProps {
|
interface EditModalProps {
|
||||||
visible: boolean;
|
visible: boolean;
|
||||||
@ -7,7 +7,7 @@ import React, { useRef, useState } from 'react';
|
|||||||
import { Modal, Button } from 'antd';
|
import { Modal, Button } from 'antd';
|
||||||
import { FormRenderer, type FormRendererRef } from '@/components/FormDesigner';
|
import { FormRenderer, type FormRendererRef } from '@/components/FormDesigner';
|
||||||
import { useToast } from '@/components/ui/use-toast';
|
import { useToast } from '@/components/ui/use-toast';
|
||||||
import type { FormDefinitionResponse } from '@/pages/Form/Definition/types';
|
import type { FormDefinitionResponse } from '@/pages/Form/Definition/List/types';
|
||||||
import type { WorkflowDefinition } from '../types';
|
import type { WorkflowDefinition } from '../types';
|
||||||
|
|
||||||
interface StartWorkflowModalProps {
|
interface StartWorkflowModalProps {
|
||||||
@ -21,8 +21,8 @@ import DeleteDialog from './components/DeleteDialog';
|
|||||||
import DeployDialog from './components/DeployDialog';
|
import DeployDialog from './components/DeployDialog';
|
||||||
import CategoryManageDialog from './components/CategoryManageDialog';
|
import CategoryManageDialog from './components/CategoryManageDialog';
|
||||||
import StartWorkflowModal from './components/StartWorkflowModal';
|
import StartWorkflowModal from './components/StartWorkflowModal';
|
||||||
import { getDefinitionById as getFormDefinitionById } from '@/pages/Form/Definition/service';
|
import { getDefinitionById as getFormDefinitionById } from '@/pages/Form/Definition/List/service';
|
||||||
import type { FormDefinitionResponse } from '@/pages/Form/Definition/types';
|
import type { FormDefinitionResponse } from '@/pages/Form/Definition/List/types';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工作流定义列表页
|
* 工作流定义列表页
|
||||||
@ -6,7 +6,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { Modal } from 'antd';
|
import { Modal } from 'antd';
|
||||||
import { FormPreview } from '@/components/FormDesigner';
|
import { FormPreview } from '@/components/FormDesigner';
|
||||||
import type { FormDefinitionResponse } from '@/pages/Form/Definition/types';
|
import type { FormDefinitionResponse } from '@/pages/Form/Definition/List/types';
|
||||||
|
|
||||||
interface FormPreviewModalProps {
|
interface FormPreviewModalProps {
|
||||||
open: boolean;
|
open: boolean;
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import { useCallback, useState } from 'react';
|
import { useCallback, useState } from 'react';
|
||||||
import { message } from 'antd';
|
import { message } from 'antd';
|
||||||
import * as definitionService from '../../Definition/service';
|
import * as definitionService from '../../Definition/List/service';
|
||||||
import type { FlowNode, FlowEdge } from '../types';
|
import type { FlowNode, FlowEdge } from '../types';
|
||||||
import type { WorkflowDefinition } from '../../Definition/types';
|
import type { WorkflowDefinition } from '../../Definition/List/types';
|
||||||
import { NODE_DEFINITIONS, NodeType, getNodeCategory } from '../nodes';
|
import { NODE_DEFINITIONS, NodeType, getNodeCategory } from '../nodes';
|
||||||
|
|
||||||
interface LoadedWorkflowData {
|
interface LoadedWorkflowData {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { useCallback, useState } from 'react';
|
import { useCallback, useState } from 'react';
|
||||||
import { message } from 'antd';
|
import { message } from 'antd';
|
||||||
import * as definitionService from '../../Definition/service';
|
import * as definitionService from '../../Definition/List/service';
|
||||||
import type { FlowNode, FlowEdge } from '../types';
|
import type { FlowNode, FlowEdge } from '../types';
|
||||||
import { NodeType, isConfigurableNode } from '../nodes/types';
|
import { NodeType, isConfigurableNode } from '../nodes/types';
|
||||||
|
|
||||||
|
|||||||
@ -16,8 +16,8 @@ import { useWorkflowSave } from './hooks/useWorkflowSave';
|
|||||||
import { useWorkflowLoad } from './hooks/useWorkflowLoad';
|
import { useWorkflowLoad } from './hooks/useWorkflowLoad';
|
||||||
import { useHistory } from './hooks/useHistory';
|
import { useHistory } from './hooks/useHistory';
|
||||||
import { generateNodeId, generateEdgeId } from './utils/idGenerator';
|
import { generateNodeId, generateEdgeId } from './utils/idGenerator';
|
||||||
import { getDefinitionById as getFormDefinitionById } from '@/pages/Form/Definition/service';
|
import { getDefinitionById as getFormDefinitionById } from '@/pages/Form/Definition/List/service';
|
||||||
import type { FormDefinitionResponse } from '@/pages/Form/Definition/types';
|
import type { FormDefinitionResponse } from '@/pages/Form/Definition/List/types';
|
||||||
|
|
||||||
// 样式
|
// 样式
|
||||||
import '@xyflow/react/dist/style.css';
|
import '@xyflow/react/dist/style.css';
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|||||||
import { X } from "lucide-react";
|
import { X } from "lucide-react";
|
||||||
import { cn } from "@/lib/utils";
|
import { cn } from "@/lib/utils";
|
||||||
import { WorkflowHistoricalInstance } from '../types';
|
import { WorkflowHistoricalInstance } from '../types';
|
||||||
import { NodeType } from '../../Design/nodes/types';
|
import { NodeType } from '../../../Design/nodes/types';
|
||||||
import FlowGraphTab from './tabs/FlowGraphTab';
|
import FlowGraphTab from './tabs/FlowGraphTab';
|
||||||
import TimelineTab from './tabs/TimelineTab';
|
import TimelineTab from './tabs/TimelineTab';
|
||||||
import DetailInfoTab from './tabs/DetailInfoTab';
|
import DetailInfoTab from './tabs/DetailInfoTab';
|
||||||
@ -5,7 +5,7 @@ import { Badge } from '@/components/ui/badge';
|
|||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
import '@xyflow/react/dist/style.css';
|
import '@xyflow/react/dist/style.css';
|
||||||
import { WorkflowHistoricalInstance, WorkflowInstanceStage } from '../../types';
|
import { WorkflowHistoricalInstance, WorkflowInstanceStage } from '../../types';
|
||||||
import { NodeType } from '../../../Design/nodes/types';
|
import { NodeType } from '../../../../Design/nodes/types';
|
||||||
|
|
||||||
interface FlowGraphTabProps {
|
interface FlowGraphTabProps {
|
||||||
instanceData: WorkflowHistoricalInstance;
|
instanceData: WorkflowHistoricalInstance;
|
||||||
@ -4,7 +4,7 @@ import { Spin } from 'antd';
|
|||||||
import Login from '../pages/Login';
|
import Login from '../pages/Login';
|
||||||
import BasicLayout from '../layouts/BasicLayout';
|
import BasicLayout from '../layouts/BasicLayout';
|
||||||
import { getRouteComponent } from './routeMap';
|
import { getRouteComponent } from './routeMap';
|
||||||
import type { MenuResponse } from '@/pages/System/Menu/types';
|
import type { MenuResponse } from '@/pages/System/Menu/List/types';
|
||||||
import store from '../store';
|
import store from '../store';
|
||||||
|
|
||||||
// 加载组件
|
// 加载组件
|
||||||
@ -23,8 +23,8 @@ const generateRoutes = (menus: MenuResponse[]): RouteObject[] => {
|
|||||||
const routes: RouteObject[] = [];
|
const routes: RouteObject[] = [];
|
||||||
|
|
||||||
menus.forEach((menu) => {
|
menus.forEach((menu) => {
|
||||||
// 跳过隐藏的菜单
|
// ⚠️ 注意:不要跳过 hidden 的菜单,因为隐藏菜单也需要生成路由
|
||||||
if (menu.hidden) return;
|
// 隐藏菜单只是不在侧边栏显示,但路由必须存在才能通过 navigate() 访问
|
||||||
|
|
||||||
// 如果有 component 且有 path,创建路由
|
// 如果有 component 且有 path,创建路由
|
||||||
if (menu.component && menu.path) {
|
if (menu.component && menu.path) {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import {createSlice, PayloadAction} from '@reduxjs/toolkit';
|
import {createSlice, PayloadAction} from '@reduxjs/toolkit';
|
||||||
import type {MenuResponse} from '@/pages/System/Menu/types';
|
import type {MenuResponse} from '@/pages/System/Menu/List/types';
|
||||||
|
|
||||||
interface UserInfo {
|
interface UserInfo {
|
||||||
id: number;
|
id: number;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user