feat:初次打包成功。
This commit is contained in:
parent
d513ebee9e
commit
e23407712f
|
@ -1,4 +1,6 @@
|
|||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {};
|
||||
const nextConfig = {
|
||||
output: 'export',
|
||||
};
|
||||
|
||||
export default nextConfig;
|
||||
|
|
|
@ -14,8 +14,9 @@ export default function RootLayout({
|
|||
children: React.ReactNode;
|
||||
}>) {
|
||||
return (
|
||||
<html>
|
||||
<body style={{margin:0}}>{children}</body>
|
||||
</html>
|
||||
);
|
||||
<html>
|
||||
<title>任务管理</title>
|
||||
<body style={{margin: 0}}>{children}</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,57 +1,11 @@
|
|||
'use client'
|
||||
import AcmeLogo from '@/app/ui/acme-logo';
|
||||
import { ArrowRightIcon } from '@heroicons/react/24/outline';
|
||||
import Link from 'next/link';
|
||||
import Image from 'next/image';
|
||||
import {useRouter} from "next/navigation";
|
||||
|
||||
|
||||
export default function Home() {
|
||||
const { replace } = useRouter();
|
||||
replace("/task/project")
|
||||
replace("/task/four")
|
||||
return (
|
||||
|
||||
<main className="flex min-h-screen flex-col p-6">
|
||||
{/*<div className="flex h-20 shrink-0 items-end rounded-lg bg-blue-500 p-4 md:h-52">*/}
|
||||
{/* <AcmeLogo/>*/}
|
||||
{/*</div>*/}
|
||||
{/*<div className="mt-4 flex grow flex-col gap-4 md:flex-row">*/}
|
||||
{/* <div className="flex flex-col justify-center gap-6 rounded-lg bg-gray-50 px-6 py-10 md:w-2/5 md:px-20">*/}
|
||||
{/* <p*/}
|
||||
{/* className={`text-xl text-gray-800 md:text-3xl md:leading-normal`}*/}
|
||||
{/* >*/}
|
||||
{/* <strong>Welcome to Acme.</strong> This is the example for the{' '}*/}
|
||||
{/* <a href="https://nextjs.org/learn/" className="text-blue-500">*/}
|
||||
{/* Next.js Learn Course*/}
|
||||
{/* </a>*/}
|
||||
{/* , brought to you by Vercel.*/}
|
||||
{/* </p>*/}
|
||||
{/* <Link*/}
|
||||
{/* href="/login"*/}
|
||||
{/* className="flex items-center gap-5 self-start rounded-lg bg-blue-500 px-6 py-3 text-sm font-medium text-white transition-colors hover:bg-blue-400 md:text-base"*/}
|
||||
{/* >*/}
|
||||
{/* <span>Log in</span>*/}
|
||||
{/* /!*<ArrowRightIcon className="w-5 md:w-6"/>*!/*/}
|
||||
{/* </Link>*/}
|
||||
{/* </div>*/}
|
||||
{/* <div className="flex items-center justify-center p-6 md:w-3/5 md:px-28 md:py-12">*/}
|
||||
{/* /!* Add Hero Images Here *!/*/}
|
||||
{/* <Image*/}
|
||||
{/* src="/hero-desktop.png"*/}
|
||||
{/* width={1000}*/}
|
||||
{/* height={760}*/}
|
||||
{/* alt="Screenshots of the dashboard project showing desktop version"*/}
|
||||
{/* className="hidden md:block"*/}
|
||||
{/* />*/}
|
||||
{/* <Image*/}
|
||||
{/* src="/hero-mobile.png"*/}
|
||||
{/* width={560}*/}
|
||||
{/* height={620}*/}
|
||||
{/* alt="Screenshot of the dashboard project showing mobile version"*/}
|
||||
{/* className="block md:hidden"*/}
|
||||
{/* />*/}
|
||||
{/* </div>*/}
|
||||
{/*</div>*/}
|
||||
</main>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -8,7 +8,22 @@ import {getTaskTreeResult, taskStateList} from "@/app/lib/task/project/data";
|
|||
import {DataType, ResponseVO, ResultPage} from "@/app/lib/definitions";
|
||||
|
||||
export default function Layout({children}: { children: React.ReactNode }) {
|
||||
|
||||
const [resultDataTypeList, setResultDataTypeList] = useState<DataType[]>([]);
|
||||
const refreshDate = (): void => {
|
||||
getTaskTreeResult(JSON.stringify({
|
||||
pageSize:1000,
|
||||
pageNumber:1,
|
||||
data: leftUp
|
||||
})).then((result: ResponseVO<ResultPage<DataType>>) => {
|
||||
if (result.status.success) {
|
||||
// recursionActionChild(result.data.content);
|
||||
result.data.content.forEach(dataType=>{
|
||||
dataType.state=taskStateList.find(taskState=>taskState.code===dataType.state+'')?.name
|
||||
})
|
||||
setResultDataTypeList(result.data.content)
|
||||
}
|
||||
})
|
||||
}
|
||||
useEffect(() => {
|
||||
// @ts-ignore
|
||||
const divWidth = document.getElementById('tenUp').offsetWidth;
|
||||
|
@ -40,23 +55,6 @@ export default function Layout({children}: { children: React.ReactNode }) {
|
|||
leftUp.push(...parse);
|
||||
}
|
||||
}
|
||||
|
||||
const [resultDataTypeList, setResultDataTypeList] = useState<DataType[]>([]);
|
||||
const refreshDate = (): void => {
|
||||
getTaskTreeResult(JSON.stringify({
|
||||
pageSize:1000,
|
||||
pageNumber:1,
|
||||
data: leftUp
|
||||
})).then((result: ResponseVO<ResultPage<DataType>>) => {
|
||||
if (result.status.success) {
|
||||
// recursionActionChild(result.data.content);
|
||||
result.data.content.forEach(dataType=>{
|
||||
dataType.state=taskStateList.find(taskState=>taskState.code===dataType.state+'')?.name
|
||||
})
|
||||
setResultDataTypeList(result.data.content)
|
||||
}
|
||||
})
|
||||
}
|
||||
return (
|
||||
<div>
|
||||
<div className='firstRow' style={{display: 'flex'}}>
|
||||
|
|
|
@ -8,33 +8,39 @@ import {ConfigProvider} from "antd";
|
|||
|
||||
export default function Layout({children}: { children: React.ReactNode }) {
|
||||
const [taskState, setTaskState] = React.useState<string>('8,9')
|
||||
let expectStartTimeList=[];
|
||||
expectStartTimeList.push({'name':"expectedStartTime",'value':dayjs().subtract(7,'day'),'operateType':">="});
|
||||
expectStartTimeList.push({'name':"expectedStartTime",'value':dayjs().add(7,'day'),'operateType':"<"})
|
||||
let expectStartTimeList = [];
|
||||
expectStartTimeList.push({'name': "expectedStartTime", 'value': dayjs().subtract(7, 'day'), 'operateType': ">="});
|
||||
expectStartTimeList.push({'name': "expectedStartTime", 'value': dayjs().add(7, 'day'), 'operateType': "<"})
|
||||
const [expectedStartTime, setExpectedStartTime] = React.useState<string>(JSON.stringify(expectStartTimeList))
|
||||
const [refreshDataFlag, setRefreshDataFlag] = React.useState<boolean>(true)
|
||||
|
||||
function refreshData() {
|
||||
setRefreshDataFlag(!refreshDataFlag)
|
||||
}
|
||||
console.log('taskState,expectedStartTime,refreshDataFlag',taskState,expectedStartTime,refreshDataFlag)
|
||||
|
||||
console.log('taskState,expectedStartTime,refreshDataFlag', taskState, expectedStartTime, refreshDataFlag)
|
||||
return (
|
||||
<div>
|
||||
<ConfigProvider
|
||||
theme={{
|
||||
components: {
|
||||
Table: {
|
||||
rowHoverBg:'#4096ff'
|
||||
/* 这里是你的组件 token */
|
||||
<ConfigProvider
|
||||
theme={{
|
||||
components: {
|
||||
Table: {
|
||||
rowHoverBg: '#4096ff'
|
||||
/* 这里是你的组件 token */
|
||||
},
|
||||
},
|
||||
},
|
||||
}}
|
||||
>
|
||||
<LocalContext.Provider value={{'taskState':taskState,'expectedStartTime':expectedStartTime,'refreshData':refreshDataFlag}}>
|
||||
<TitleOperation setTaskState={setTaskState} setExpectedStartTime={setExpectedStartTime} refreshData={refreshData}/>
|
||||
{children}
|
||||
</LocalContext.Provider>
|
||||
</ConfigProvider>
|
||||
|
||||
}}
|
||||
>
|
||||
<LocalContext.Provider value={{
|
||||
'taskState': taskState,
|
||||
'expectedStartTime': expectedStartTime,
|
||||
'refreshData': refreshDataFlag
|
||||
}}>
|
||||
<TitleOperation setTaskState={setTaskState} setExpectedStartTime={setExpectedStartTime}
|
||||
refreshData={refreshData}/>
|
||||
{children}
|
||||
</LocalContext.Provider>
|
||||
</ConfigProvider>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -18,8 +18,6 @@ import {DetailModelForm} from "@/app/ui/task/project/DetailModelForm";
|
|||
import OperationButton from "@/app/ui/task/OperationButton";
|
||||
import dayjs from "dayjs";
|
||||
|
||||
|
||||
|
||||
const TreeTablePro: React.FC = () => {
|
||||
const actionRef = useRef<ActionType>();
|
||||
const formRef = useRef<ProFormInstance>();
|
||||
|
@ -30,11 +28,13 @@ const TreeTablePro: React.FC = () => {
|
|||
const { RangePicker } = DatePicker;
|
||||
const columns: ProColumns<DataType>[] = [
|
||||
{
|
||||
key:'code',
|
||||
title: '任务编码',
|
||||
dataIndex: 'code',
|
||||
width: '10%',
|
||||
},
|
||||
{
|
||||
key: 'name',
|
||||
title: '任务名称',
|
||||
dataIndex: 'name',
|
||||
width: '15%',
|
||||
|
@ -51,10 +51,12 @@ const TreeTablePro: React.FC = () => {
|
|||
},
|
||||
},
|
||||
{
|
||||
key: 'description',
|
||||
title: '任务描述',
|
||||
dataIndex: 'description',
|
||||
},
|
||||
{
|
||||
key: 'priority',
|
||||
title: '任务优先级',
|
||||
dataIndex: 'priority',
|
||||
order:2,
|
||||
|
@ -83,8 +85,8 @@ const TreeTablePro: React.FC = () => {
|
|||
}
|
||||
</Space>
|
||||
),
|
||||
},
|
||||
{
|
||||
}, {
|
||||
key: 'state',
|
||||
title: '任务状态',
|
||||
dataIndex: 'state',
|
||||
valueType: 'select',
|
||||
|
@ -95,47 +97,33 @@ const TreeTablePro: React.FC = () => {
|
|||
mode:"tags",
|
||||
options: taskStateList.map(item => {
|
||||
return {label: item.name, value: item.code}
|
||||
})
|
||||
}),
|
||||
},
|
||||
// renderFormItem: (_, { defaultRender }) => {
|
||||
// return defaultRender(_);
|
||||
// },
|
||||
// render: (_, record) => (
|
||||
// <Space>
|
||||
// {
|
||||
// <Tag color={taskStateList.find(item => item.code === record.state?.toString())?.color}
|
||||
// key={taskStateList.find(item => item.code === record.state?.toString())?.code}>
|
||||
// {taskStateList.find(item => item.code === record.state?.toString())?.name}
|
||||
// </Tag>
|
||||
// }
|
||||
// </Space>
|
||||
// ),
|
||||
},
|
||||
{
|
||||
}, {
|
||||
key: 'expectedStartTime',
|
||||
title: '期望开始时间',
|
||||
dataIndex: 'expectedStartTime',
|
||||
valueType: 'date',
|
||||
order:1,
|
||||
renderFormItem:()=><RangePicker allowEmpty={[true,true]}/>
|
||||
},
|
||||
{
|
||||
}, {
|
||||
key:'expectedEndTime',
|
||||
title: '期望结束时间',
|
||||
dataIndex: 'expectedEndTime',
|
||||
valueType: 'date',
|
||||
},
|
||||
{
|
||||
}, {
|
||||
key: 'actualStartTime',
|
||||
title: '实际开始时间',
|
||||
dataIndex: 'actualStartTime',
|
||||
valueType: 'date',
|
||||
},
|
||||
{
|
||||
}, {
|
||||
key: 'actualEndTime',
|
||||
title: '期望结束时间',
|
||||
dataIndex: 'actualEndTime',
|
||||
valueType: 'date',
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
}, {
|
||||
key: 'option',
|
||||
title: '操作',
|
||||
valueType: 'option',
|
||||
render: (_, record) => <OperationButton itemId={record.id} pid={record.pid} pPid={record.pPid} refreshDate={()=>{
|
||||
actionRef.current?.reload( false);
|
||||
|
@ -143,10 +131,10 @@ const TreeTablePro: React.FC = () => {
|
|||
}
|
||||
];
|
||||
let toolBarRenderList = [
|
||||
<DetailModelForm operationId={OPERATION_BUTTON_TYPE.ADD} description='添加主线任务' reloadData={()=>{
|
||||
<DetailModelForm key={1} operationId={OPERATION_BUTTON_TYPE.ADD} description='添加主线任务' reloadData={()=>{
|
||||
actionRef.current?.reload( false);
|
||||
}}/>,
|
||||
<Switch checkedChildren="树" unCheckedChildren="列表" checked={switchChecked}
|
||||
<Switch key={2} checkedChildren="树" unCheckedChildren="列表" checked={switchChecked}
|
||||
onChange={(checked, event) => {setSwitchChecked(checked);actionRef.current?.reset?.();}} />,
|
||||
];
|
||||
if (switchChecked){
|
||||
|
|
Loading…
Reference in New Issue