feat:初次打包成功。

This commit is contained in:
shixiaohua 2024-05-06 13:57:58 +08:00
parent d513ebee9e
commit e23407712f
6 changed files with 69 additions and 120 deletions

View File

@ -1,4 +1,6 @@
/** @type {import('next').NextConfig} */
const nextConfig = {};
const nextConfig = {
output: 'export',
};
export default nextConfig;

View File

@ -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>
);
}

View File

@ -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>
);
}

View File

@ -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'}}>

View File

@ -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>
);
}

View File

@ -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){