feat:修改目录结构
This commit is contained in:
parent
0690b15ce3
commit
4dc2f1ad6c
|
@ -1,13 +1,15 @@
|
||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
|
import "@/ui/globals.css";
|
||||||
import "@/app/ui/globals.css";
|
|
||||||
// import { inter } from '@/app/ui/fonts';
|
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Create Next App",
|
title: "任务管理",
|
||||||
description: "Generated by create next app",
|
description: "任务管理小助手",
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
* Root Layout (Required)
|
||||||
|
* @param children
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
children,
|
children,
|
||||||
}: Readonly<{
|
}: Readonly<{
|
||||||
|
@ -15,7 +17,6 @@ export default function RootLayout({
|
||||||
}>) {
|
}>) {
|
||||||
return (
|
return (
|
||||||
<html>
|
<html>
|
||||||
<title>任务管理</title>
|
|
||||||
<body style={{margin: 0}}>{children}</body>
|
<body style={{margin: 0}}>{children}</body>
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
export const dynamic = 'force-dynamic' // defaults to auto
|
||||||
|
|
||||||
|
export async function GET(request: Request) {
|
||||||
|
return new Response('Hello, Next.js!', {
|
||||||
|
status: 200,
|
||||||
|
headers: {
|
||||||
|
'Access-Control-Allow-Origin': '*',
|
||||||
|
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
|
||||||
|
'Access-Control-Allow-Headers': 'Content-Type, Authorization',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
|
@ -1,11 +1,14 @@
|
||||||
|
/**
|
||||||
|
* A layout is UI that is shared between multiple routes. On navigation, layouts preserve state, remain interactive, and do not re-render.
|
||||||
|
*/
|
||||||
'use client'
|
'use client'
|
||||||
import TreeTable from "@/app/ui/task/four/TreeTable";
|
import TreeTable from "@/ui/task/four/TreeTable";
|
||||||
import '@/app/ui/task/four/index.modules.css'
|
import '@/ui/task/four/index.modules.css'
|
||||||
import {useContext, useEffect, useState} from "react";
|
import {useContext, useEffect, useState} from "react";
|
||||||
import LocalContext from "@/app/ui/LocalContent";
|
import LocalContext from "@/ui/LocalContent";
|
||||||
import {useSearchParams} from "next/dist/client/components/navigation";
|
import {useSearchParams} from "next/dist/client/components/navigation";
|
||||||
import {getTaskTreeResult, taskStateList} from "@/app/lib/task/project/data";
|
import {getTaskTreeResult, taskStateList} from "@/lib/task/project/data";
|
||||||
import {DataType, ResponseVO, ResultPage} from "@/app/lib/definitions";
|
import {DataType, ResponseVO, ResultPage} from "@/lib/definitions";
|
||||||
|
|
||||||
export default function Layout({children}: { children: React.ReactNode }) {
|
export default function Layout({children}: { children: React.ReactNode }) {
|
||||||
const [resultDataTypeList, setResultDataTypeList] = useState<DataType[]>([]);
|
const [resultDataTypeList, setResultDataTypeList] = useState<DataType[]>([]);
|
||||||
|
|
|
@ -1,3 +1,11 @@
|
||||||
|
/**
|
||||||
|
* The .js, .jsx, or .tsx file extensions can be used for Pages.
|
||||||
|
* A page is always the leaf of the route subtree.
|
||||||
|
* A page.js file is required to make a route segment publicly accessible.
|
||||||
|
* Pages are Server Components by default, but can be set to a Client Component.
|
||||||
|
* Pages can fetch data. View the Data Fetching section for more information.
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
export default function Page() {
|
export default function Page() {
|
||||||
return <p>Dashboard Page</p>;
|
return <p>Dashboard Page</p>;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use client'
|
'use client'
|
||||||
import React, {Fragment} from "react";
|
import React, {Fragment} from "react";
|
||||||
import {TitleOperation} from "@/app/ui/task/TitleOperation";
|
import {TitleOperation} from "@/ui/task/TitleOperation";
|
||||||
import LocalContext from "@/app/ui/LocalContent";
|
import LocalContext from "@/ui/LocalContent";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import {ConfigProvider} from "antd";
|
import {ConfigProvider} from "antd";
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import TreeTablePro from "@/app/ui/task/project/TreeTablePro";
|
import TreeTablePro from "@/ui/task/project/TreeTablePro";
|
||||||
|
|
||||||
const Page: React.FC = () => {
|
const Page: React.FC = () => {
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import {unstable_noStore as noStore} from 'next/cache';
|
import {unstable_noStore as noStore} from 'next/cache';
|
||||||
import axios, {AxiosResponse} from "axios";
|
import axios, {AxiosResponse} from "axios";
|
||||||
import {DataType, DictType, ResponseVO, ResultPage} from "@/app/lib/definitions";
|
import {DataType, DictType, ResponseVO, ResultPage} from "@/lib/definitions";
|
||||||
|
import {message} from "antd";
|
||||||
export async function getTaskTreeResult(requestParam:string): Promise<ResponseVO<ResultPage<DataType>>> {
|
export async function getTaskTreeResult(requestParam:string): Promise<ResponseVO<ResultPage<DataType>>> {
|
||||||
noStore();
|
noStore();
|
||||||
try {
|
try {
|
|
@ -1,5 +1,4 @@
|
||||||
import { GlobeAltIcon } from '@heroicons/react/24/outline';
|
import { GlobeAltIcon } from '@heroicons/react/24/outline';
|
||||||
// import { lusitana } from '@/app/ui/fonts';
|
|
||||||
|
|
||||||
export default function AcmeLogo() {
|
export default function AcmeLogo() {
|
||||||
return (
|
return (
|
|
@ -1,6 +1,6 @@
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
import NavLinks from '@/app/ui/dashboard/nav-links';
|
import NavLinks from '@/ui/dashboard/nav-links';
|
||||||
import AcmeLogo from '@/app/ui/acme-logo';
|
import AcmeLogo from '@/ui/acme-logo';
|
||||||
import { PowerIcon } from '@heroicons/react/24/outline';
|
import { PowerIcon } from '@heroicons/react/24/outline';
|
||||||
|
|
||||||
export default function SideNav() {
|
export default function SideNav() {
|
||||||
|
@ -26,4 +26,4 @@ export default function SideNav() {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
|
@ -3,8 +3,8 @@ import {
|
||||||
ProFormText,
|
ProFormText,
|
||||||
QueryFilter,
|
QueryFilter,
|
||||||
} from '@ant-design/pro-components';
|
} from '@ant-design/pro-components';
|
||||||
import '@/app/ui/task/CustomSearchForm.module.css'
|
import '@/ui/task/CustomSearchForm.module.css'
|
||||||
import {taskStateList} from "@/app/lib/task/project/data";
|
import {taskStateList} from "@/lib/task/project/data";
|
||||||
const CustomSearchForm= () => {
|
const CustomSearchForm= () => {
|
||||||
return (
|
return (
|
||||||
<QueryFilter defaultCollapsed split style={{paddingTop:0}}>
|
<QueryFilter defaultCollapsed split style={{paddingTop:0}}>
|
|
@ -1,8 +1,8 @@
|
||||||
import React, {Fragment} from "react";
|
import React, {Fragment} from "react";
|
||||||
import {Button, Dropdown, MenuProps, message, Modal, Popconfirm, Space} from "antd";
|
import {Button, Dropdown, MenuProps, message, Modal, Popconfirm, Space} from "antd";
|
||||||
import {DownOutlined, QuestionCircleOutlined} from "@ant-design/icons";
|
import {DownOutlined, QuestionCircleOutlined} from "@ant-design/icons";
|
||||||
import {DetailForm} from "@/app/ui/task/four/DetailForm";
|
import {DetailForm} from "@/ui/task/four/DetailForm";
|
||||||
import {commonUpdate, deleteTask, OPERATION_BUTTON_TYPE} from "@/app/lib/task/project/data";
|
import {commonUpdate, deleteTask, OPERATION_BUTTON_TYPE} from "@/lib/task/project/data";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
|
|
||||||
export interface OperationButtonProps {
|
export interface OperationButtonProps {
|
|
@ -1,11 +1,11 @@
|
||||||
import React, {useContext} from "react";
|
import React, {useContext} from "react";
|
||||||
import {Button, DatePicker, Select, Space} from "antd";
|
import {Button, DatePicker, Select, Space} from "antd";
|
||||||
import {usePathname, useRouter} from "next/navigation";
|
import {usePathname, useRouter} from "next/navigation";
|
||||||
import {DetailModelForm} from "@/app/ui/task/project/DetailModelForm";
|
import {DetailModelForm} from "@/ui/task/project/DetailModelForm";
|
||||||
import {OPERATION_BUTTON_TYPE, taskStateList} from "@/app/lib/task/project/data";
|
import {OPERATION_BUTTON_TYPE, taskStateList} from "@/lib/task/project/data";
|
||||||
import '@/app/ui/task/TitleOperation.modules.css'
|
import '@/ui/task/TitleOperation.modules.css'
|
||||||
import LocalContext from "@/app/ui/LocalContent";
|
import LocalContext from "@/ui/LocalContent";
|
||||||
import {RequestDateType} from "@/app/ui/task/RequestDateType";
|
import {RequestDateType} from "@/ui/task/RequestDateType";
|
||||||
import dayjs, {Dayjs} from "dayjs";
|
import dayjs, {Dayjs} from "dayjs";
|
||||||
|
|
||||||
interface TitleOperationProps {
|
interface TitleOperationProps {
|
|
@ -1,6 +1,6 @@
|
||||||
'use client'
|
'use client'
|
||||||
import React, {useEffect, useState} from 'react';
|
import React, {useEffect, useState} from 'react';
|
||||||
import '@/app/ui/task/four/detailForm.modules.css'
|
import '@/ui/task/four/detailForm.modules.css'
|
||||||
import {
|
import {
|
||||||
Button,
|
Button,
|
||||||
DatePicker,
|
DatePicker,
|
||||||
|
@ -19,8 +19,8 @@ import {
|
||||||
taskPriorityList,
|
taskPriorityList,
|
||||||
taskStateList,
|
taskStateList,
|
||||||
updateTask
|
updateTask
|
||||||
} from "@/app/lib/task/project/data";
|
} from "@/lib/task/project/data";
|
||||||
import {DataType} from "@/app/lib/definitions";
|
import {DataType} from "@/lib/definitions";
|
||||||
|
|
||||||
export interface DetailFormProps {
|
export interface DetailFormProps {
|
||||||
itemId: number,
|
itemId: number,
|
|
@ -2,13 +2,13 @@
|
||||||
import React, {useContext, useEffect, useState} from 'react';
|
import React, {useContext, useEffect, useState} from 'react';
|
||||||
import {ConfigProvider, Table} from 'antd';
|
import {ConfigProvider, Table} from 'antd';
|
||||||
import type {TableColumnsType, TableProps} from 'antd';
|
import type {TableColumnsType, TableProps} from 'antd';
|
||||||
import {getTaskTreeResult, taskPriorityList, taskStateList, taskTreeResult} from "@/app/lib/task/project/data";
|
import {getTaskTreeResult, taskPriorityList, taskStateList, taskTreeResult} from "@/lib/task/project/data";
|
||||||
import {DataType, ResponseVO, ResultPage} from "@/app/lib/definitions";
|
import {DataType, ResponseVO, ResultPage} from "@/lib/definitions";
|
||||||
import OperationButton from "@/app/ui/task/OperationButton";
|
import OperationButton from "@/ui/task/OperationButton";
|
||||||
import "@/app/ui/task/four/detailForm.modules.css"
|
import "@/ui/task/four/detailForm.modules.css"
|
||||||
import LocalContext from "@/app/ui/LocalContent";
|
import LocalContext from "@/ui/LocalContent";
|
||||||
import {useSearchParams} from "next/dist/client/components/navigation";
|
import {useSearchParams} from "next/dist/client/components/navigation";
|
||||||
import {RequestDateType} from "@/app/ui/task/RequestDateType";
|
import {RequestDateType} from "@/ui/task/RequestDateType";
|
||||||
|
|
||||||
type TableRowSelection<T> = TableProps<T>['rowSelection'];
|
type TableRowSelection<T> = TableProps<T>['rowSelection'];
|
||||||
|
|
|
@ -14,8 +14,8 @@ import {
|
||||||
OPERATION_BUTTON_TYPE,
|
OPERATION_BUTTON_TYPE,
|
||||||
taskPriorityList,
|
taskPriorityList,
|
||||||
taskStateList
|
taskStateList
|
||||||
} from "@/app/lib/task/project/data";
|
} from "@/lib/task/project/data";
|
||||||
import {DataType} from "@/app/lib/definitions";
|
import {DataType} from "@/lib/definitions";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
|
||||||
export type DetailModelFormProps={
|
export type DetailModelFormProps={
|
|
@ -7,15 +7,15 @@ import type {ActionType, FormInstance, ProColumns, ProFormInstance} from '@ant-d
|
||||||
import {ProTable, TableDropdown} from '@ant-design/pro-components';
|
import {ProTable, TableDropdown} from '@ant-design/pro-components';
|
||||||
import {Button, DatePicker, Dropdown, Space, Switch, Tag, Tooltip} from 'antd';
|
import {Button, DatePicker, Dropdown, Space, Switch, Tag, Tooltip} from 'antd';
|
||||||
import React, {useContext, useEffect, useRef} from 'react';
|
import React, {useContext, useEffect, useRef} from 'react';
|
||||||
import {DataType} from "@/app/lib/definitions";
|
import {DataType} from "@/lib/definitions";
|
||||||
import {
|
import {
|
||||||
getTaskTreeResult,
|
getTaskTreeResult,
|
||||||
OPERATION_BUTTON_TYPE,
|
OPERATION_BUTTON_TYPE,
|
||||||
taskPriorityList,
|
taskPriorityList,
|
||||||
taskStateList,
|
taskStateList,
|
||||||
} from "@/app/lib/task/project/data";
|
} from "@/lib/task/project/data";
|
||||||
import {DetailModelForm} from "@/app/ui/task/project/DetailModelForm";
|
import {DetailModelForm} from "@/ui/task/project/DetailModelForm";
|
||||||
import OperationButton from "@/app/ui/task/OperationButton";
|
import OperationButton from "@/ui/task/OperationButton";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
|
||||||
const TreeTablePro: React.FC = () => {
|
const TreeTablePro: React.FC = () => {
|
||||||
|
@ -217,6 +217,7 @@ const TreeTablePro: React.FC = () => {
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
dateFormatter="string"
|
dateFormatter="string"
|
||||||
|
scroll={{y: 600}}
|
||||||
// headerTitle="任务管理"
|
// headerTitle="任务管理"
|
||||||
toolBarRender={()=>toolBarRenderList}>
|
toolBarRender={()=>toolBarRenderList}>
|
||||||
</ProTable>
|
</ProTable>
|
Loading…
Reference in New Issue