diff --git a/docker/Dockerfile b/docker/Dockerfile index 2d60168..e6df779 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -5,4 +5,4 @@ COPY out /usr/share/nginx/html EXPOSE 3001 CMD ["nginx", "-g", "daemon off;"] # docker build -t task-manager-nginx . -# docker run -d -p 3001:3001 --restart unless-stopped --name task-manager-nginx task-manager-nginx +# docker run -d -p 3001:3001 --restart unless-stopped -v ./out:/usr/share/nginx/html --name task-manager-nginx task-manager-nginx diff --git a/docker/Dockerfile-server b/docker/Dockerfile-server index c703262..49386d8 100644 --- a/docker/Dockerfile-server +++ b/docker/Dockerfile-server @@ -4,5 +4,5 @@ COPY task-manager-server.jar /app/task-manager-server.jar EXPOSE 8090 CMD ["java", "-jar", "task-manager-server.jar","--spring.profiles.active=docker"] # 指定文件名 当前路径 -# docker build -t task-manager-server -f Dockerfile-server . -# docker run -d -p 8090:8090 --restart unless-stopped -v ./hosts:/etc/hosts --name task-manager-server task-manager-server +# docker build -t task-manager-server-db -f Dockerfile-server . +# docker run -d -p 8090:8090 --network task-manager --restart unless-stopped -v ./hosts:/etc/hosts --name task-manager-server-db task-manager-server-db diff --git a/docker/task-manager-server.jar b/docker/task-manager-server.jar index 62f9d90..066bf1a 100644 Binary files a/docker/task-manager-server.jar and b/docker/task-manager-server.jar differ diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx new file mode 100644 index 0000000..32d863d --- /dev/null +++ b/src/app/login/page.tsx @@ -0,0 +1,284 @@ +'use client' +import { + AlipayOutlined, + LockOutlined, + MobileOutlined, + TaobaoOutlined, + UserOutlined, + WeiboOutlined, +} from '@ant-design/icons'; +import { + LoginFormPage, + ProConfigProvider, + ProFormCaptcha, + ProFormCheckbox, + ProFormText, +} from '@ant-design/pro-components'; +import { Button, Divider, Space, Tabs, message, theme } from 'antd'; +import type { CSSProperties } from 'react'; +import { useState } from 'react'; + +type LoginType = 'phone' | 'account'; + +const iconStyles: CSSProperties = { + color: 'rgba(0, 0, 0, 0.2)', + fontSize: '18px', + verticalAlign: 'middle', + cursor: 'pointer', +}; + +const Page = () => { + const [loginType, setLoginType] = useState('phone'); + const { token } = theme.useToken(); + return ( +
+ + // 去看看 + // + // ), + }} + actions={ +
+ + + 其他登录方式 + + + +
+ +
+
+ +
+
+ +
+
+
+ } + > + setLoginType(activeKey as LoginType)} + > + + + + {loginType === 'account' && ( + <> + + ), + }} + placeholder={'用户名: admin or user'} + rules={[ + { + required: true, + message: '请输入用户名!', + }, + ]} + /> + + ), + }} + placeholder={'密码: ant.design'} + rules={[ + { + required: true, + message: '请输入密码!', + }, + ]} + /> + + )} + {loginType === 'phone' && ( + <> + + ), + }} + name="mobile" + placeholder={'手机号'} + rules={[ + { + required: true, + message: '请输入手机号!', + }, + { + pattern: /^1\d{10}$/, + message: '手机号格式错误!', + }, + ]} + /> + + ), + }} + captchaProps={{ + size: 'large', + }} + placeholder={'请输入验证码'} + captchaTextRender={(timing, count) => { + if (timing) { + return `${count} ${'获取验证码'}`; + } + return '获取验证码'; + }} + name="captcha" + rules={[ + { + required: true, + message: '请输入验证码!', + }, + ]} + onGetCaptcha={async () => { + message.success('获取验证码成功!验证码为:1234'); + }} + /> + + )} +
+ + 自动登录 + + + 忘记密码 + +
+
+
+ ); +}; + +export default () => { + return ( + + + + ); +}; \ No newline at end of file diff --git a/src/app/task/four/layout.tsx b/src/app/task/four/layout.tsx index f5ab29d..25c00dd 100644 --- a/src/app/task/four/layout.tsx +++ b/src/app/task/four/layout.tsx @@ -26,6 +26,7 @@ export default function Layout({children}: { children: React.ReactNode }) { dataType.state=taskStateList.find(taskState=>taskState.code===dataType.state+'')?.name }) setResultDataTypeList(result.data.content) + console.log("setResultDataTypeList(result.data.content)",result.data.content) setLoadingState(false) } }) @@ -51,7 +52,11 @@ export default function Layout({children}: { children: React.ReactNode }) { console.log('data',data); console.log('pid!=null',pid!=null); if (pid!=null) { - leftUp.push({name:"pid",value:pid,operateType:"="},{name:'TREE',value:"false",operateType: "TREE"}); + leftUp.push({name:"pid",value:pid,operateType:"="}, + {name:'TREE-FILTER',value:"true",operateType: "TREE-FILTER"}, + {name:'ALL-CHILD',value:"true",operateType: "ALL-CHILD"}, + + ); }else { if (data.taskState.length>0){ leftUp.push({name:"state",value:data.taskState,operateType:"IN"}); diff --git a/src/lib/task/project/data.tsx b/src/lib/task/project/data.tsx index 4be7e0d..59b68da 100644 --- a/src/lib/task/project/data.tsx +++ b/src/lib/task/project/data.tsx @@ -9,6 +9,7 @@ export async function getTaskTreeResult(requestParam:string): Promise>> = await axios.get( 'http://taskmanagerserver.com:8090/search/task_message_tree?search='+encodeURIComponent(requestParam)); // 从响应中提取数据并返回 + console.log("response.data",response.data) return response.data; } catch (error) { // 处理错误 diff --git a/src/ui/task/calendar/CalShow.tsx b/src/ui/task/calendar/CalShow.tsx index 8e97d2c..ecc1965 100644 --- a/src/ui/task/calendar/CalShow.tsx +++ b/src/ui/task/calendar/CalShow.tsx @@ -40,8 +40,8 @@ const CalShow: React.FC = () => { start: dayjs(date).startOf('week').toDate(), end: dayjs(date).endOf('week').toDate() }); + const [state, setState] = useState(useContext(LocalContext).taskState); - let state: string = useContext(LocalContext).taskState const handleViewChange = (newView: View) => { setView(newView); }; @@ -54,14 +54,11 @@ const CalShow: React.FC = () => { setDate(newDate); const searchList: SearchObject[] = [] if (pid != null) { - searchList.push({name: "pid", value: pid, operateType: "="}, { - name: 'TREE', - value: "false", - operateType: "TREE" - }); + searchList.push({name: "pid", value: pid, operateType: "="}, + {name: 'ALL-CHILD', value: "true", operateType: "ALL-CHILD"}, + {name: 'TREE-FILTER', value: "true", operateType: "TREE-FILTER"}, + ); } - searchList.push({name: "expectedStartTime", value: range.start, operateType: ">="}) - searchList.push({name: 'expectedStartTime', value: range.end, operateType: "<="}) loadData(searchList); }; @@ -69,14 +66,14 @@ const CalShow: React.FC = () => { console.log("CalShow:useEffect:range",range) const searchListE = [] if (pid != null) { - searchListE.push({name: "pid", value: pid, operateType: "="}, { - name: 'TREE', - value: "false", - operateType: "TREE" - }); + searchListE.push( + {name: "pid", value: pid, operateType: "="}, + {name: 'ALL-CHILD', value: "true", operateType: "ALL-CHILD"}, + {name: 'TREE-FILTER', value: "true", operateType: "TREE-FILTER"}, + ); } - searchListE.push({name: 'expectedStartTime', value: range.start, operateType: ">="}) - searchListE.push({name: 'expectedStartTime', value: range.end, operateType: "<="}) + // searchListE.push({name: 'expectedStartTime', value: range.start, operateType: ">="}) + // searchListE.push({name: 'expectedStartTime', value: range.end, operateType: "<="}) loadData(searchListE); /** * What Is This? @@ -101,11 +98,17 @@ const CalShow: React.FC = () => { if (state.length > 0) { searchList.push({name: 'state', value: state, operateType: "IN"}) } - searchList.push({name: 'expectedEndTime', value: dayjs(date).endOf('month'), operateType: "NOT NULL"}) + // searchList.push({name: 'expectedEndTime', value: dayjs(date).endOf('month'), operateType: "NOT NULL"}) let request = JSON.stringify({ pageSize: 9999, pageNumber: 1, - data: searchList + data: searchList, + startTime:range.start, + // startTime:dayjs(range.start).format('YYYY-MM-DD HH:mm:ss'), + endTime:range.end, + // endTime:dayjs(range.end).format('YYYY-MM-DD HH:mm:ss'), + startColumn:"expected_start_time", + endColumn:"expected_end_time" }) getTaskTreeResult(request).then(responseD => { if (responseD.status.success) { @@ -186,8 +189,9 @@ const CalShow: React.FC = () => { if (existing !== undefined&&filtered !== undefined) { result= [...filtered, {...existing, state:7}]; } - console.log('result',result) - return result; + let strings = state.split(","); + console.log('result',result,strings) + return result.filter((ev: TaskEvent) => strings.indexOf(ev.state.toString())>=0); }) },250) }