feat:开始与结束时间合并展示
This commit is contained in:
parent
bad15eb312
commit
42e399fc91
|
@ -1,9 +1,9 @@
|
|||
# 前缀为NEXT_PUBLIC_才可以被浏览器使用
|
||||
# NEXT_PUBLIC_TODO_REQUEST_URL=http://localhost:8092
|
||||
# NEXT_PUBLIC_SECURITY_REQUEST_URL=http://localhost:8091
|
||||
NEXT_PUBLIC_TODO_REQUEST_URL=http://localhost:8092
|
||||
NEXT_PUBLIC_SECURITY_REQUEST_URL=http://localhost:8091
|
||||
|
||||
# NEXT_PUBLIC_TODO_REQUEST_URL=http://localhost:80/todo-server
|
||||
# NEXT_PUBLIC_SECURITY_REQUEST_URL=http://localhost:80/security-server
|
||||
|
||||
NEXT_PUBLIC_TODO_REQUEST_URL=http://www.huaruyu.com/todo-server
|
||||
NEXT_PUBLIC_SECURITY_REQUEST_URL=http://www.huaruyu.com/security-server
|
||||
# NEXT_PUBLIC_TODO_REQUEST_URL=https://www.huaruyu.com/todo-server
|
||||
# NEXT_PUBLIC_SECURITY_REQUEST_URL=https://www.huaruyu.com/security-server
|
|
@ -1,2 +1,2 @@
|
|||
NEXT_PUBLIC_TODO_REQUEST_URL=http://www.huaruyu.com/todo-server
|
||||
NEXT_PUBLIC_SECURITY_REQUEST_URL=http://www.huaruyu.com/security-server
|
||||
NEXT_PUBLIC_TODO_REQUEST_URL=https://www.huaruyu.com/todo-server
|
||||
NEXT_PUBLIC_SECURITY_REQUEST_URL=https://www.huaruyu.com/security-server
|
|
@ -16,7 +16,7 @@
|
|||
"axios": "^1.6.8",
|
||||
"dayjs": "^1.11.13",
|
||||
"js-cookie": "^3.0.5",
|
||||
"next": "14.1.3",
|
||||
"next": "14.2.29",
|
||||
"postcss": "8.4.31",
|
||||
"react": "^18",
|
||||
"react-big-calendar": "^1.12.2",
|
||||
|
@ -33,7 +33,7 @@
|
|||
"@types/react-dom": "^18",
|
||||
"@vercel/style-guide": "^5.0.1",
|
||||
"eslint": "^8",
|
||||
"eslint-config-next": "14.1.3",
|
||||
"eslint-config-next": "14.2.29",
|
||||
"prettier": "3.0.3",
|
||||
"prettier-plugin-tailwindcss": "0.5.4",
|
||||
"react-beautiful-dnd": "^13.1.1",
|
||||
|
@ -1151,23 +1151,23 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/env": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/env/-/env-14.1.3.tgz",
|
||||
"integrity": "sha512-VhgXTvrgeBRxNPjyfBsDIMvgsKDxjlpw4IAUsHCX8Gjl1vtHUYRT3+xfQ/wwvLPDd/6kqfLqk9Pt4+7gysuCKQ=="
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/env/-/env-14.2.29.tgz",
|
||||
"integrity": "sha512-UzgLR2eBfhKIQt0aJ7PWH7XRPYw7SXz0Fpzdl5THjUnvxy4kfBk9OU4RNPNiETewEEtaBcExNFNn1QWH8wQTjg=="
|
||||
},
|
||||
"node_modules/@next/eslint-plugin-next": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/eslint-plugin-next/-/eslint-plugin-next-14.1.3.tgz",
|
||||
"integrity": "sha512-VCnZI2cy77Yaj3L7Uhs3+44ikMM1VD/fBMwvTBb3hIaTIuqa+DmG4dhUDq+MASu3yx97KhgsVJbsas0XuiKyww==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.29.tgz",
|
||||
"integrity": "sha512-qpxSYiPNJTr9RzqjGi5yom8AIC8Kgdtw4oNIXAB/gDYMDctmfMEv452FRUhT06cWPgcmSsbZiEPYhbFiQtCWTg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"glob": "10.3.10"
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-darwin-arm64": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.3.tgz",
|
||||
"integrity": "sha512-LALu0yIBPRiG9ANrD5ncB3pjpO0Gli9ZLhxdOu6ZUNf3x1r3ea1rd9Q+4xxUkGrUXLqKVK9/lDkpYIJaCJ6AHQ==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.29.tgz",
|
||||
"integrity": "sha512-wWtrAaxCVMejxPHFb1SK/PVV1WDIrXGs9ki0C/kUM8ubKHQm+3hU9MouUywCw8Wbhj3pewfHT2wjunLEr/TaLA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -1180,9 +1180,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-darwin-x64": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.1.3.tgz",
|
||||
"integrity": "sha512-E/9WQeXxkqw2dfcn5UcjApFgUq73jqNKaE5bysDm58hEUdUGedVrnRhblhJM7HbCZNhtVl0j+6TXsK0PuzXTCg==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.29.tgz",
|
||||
"integrity": "sha512-7Z/jk+6EVBj4pNLw/JQrvZVrAh9Bv8q81zCFSfvTMZ51WySyEHWVpwCEaJY910LyBftv2F37kuDPQm0w9CEXyg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -1195,9 +1195,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-arm64-gnu": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.1.3.tgz",
|
||||
"integrity": "sha512-USArX9B+3rZSXYLFvgy0NVWQgqh6LHWDmMt38O4lmiJNQcwazeI6xRvSsliDLKt+78KChVacNiwvOMbl6g6BBw==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.29.tgz",
|
||||
"integrity": "sha512-o6hrz5xRBwi+G7JFTHc+RUsXo2lVXEfwh4/qsuWBMQq6aut+0w98WEnoNwAwt7hkEqegzvazf81dNiwo7KjITw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -1210,9 +1210,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-arm64-musl": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.1.3.tgz",
|
||||
"integrity": "sha512-esk1RkRBLSIEp1qaQXv1+s6ZdYzuVCnDAZySpa62iFTMGTisCyNQmqyCTL9P+cLJ4N9FKCI3ojtSfsyPHJDQNw==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.29.tgz",
|
||||
"integrity": "sha512-9i+JEHBOVgqxQ92HHRFlSW1EQXqa/89IVjtHgOqsShCcB/ZBjTtkWGi+SGCJaYyWkr/lzu51NTMCfKuBf7ULNw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -1225,9 +1225,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-x64-gnu": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.1.3.tgz",
|
||||
"integrity": "sha512-8uOgRlYEYiKo0L8YGeS+3TudHVDWDjPVDUcST+z+dUzgBbTEwSSIaSgF/vkcC1T/iwl4QX9iuUyUdQEl0Kxalg==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.29.tgz",
|
||||
"integrity": "sha512-B7JtMbkUwHijrGBOhgSQu2ncbCYq9E7PZ7MX58kxheiEOwdkM+jGx0cBb+rN5AeqF96JypEppK6i/bEL9T13lA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -1240,9 +1240,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-x64-musl": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.1.3.tgz",
|
||||
"integrity": "sha512-DX2zqz05ziElLoxskgHasaJBREC5Y9TJcbR2LYqu4r7naff25B4iXkfXWfcp69uD75/0URmmoSgT8JclJtrBoQ==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.29.tgz",
|
||||
"integrity": "sha512-yCcZo1OrO3aQ38B5zctqKU1Z3klOohIxug6qdiKO3Q3qNye/1n6XIs01YJ+Uf+TdpZQ0fNrOQI2HrTLF3Zprnw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -1255,9 +1255,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-win32-arm64-msvc": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.1.3.tgz",
|
||||
"integrity": "sha512-HjssFsCdsD4GHstXSQxsi2l70F/5FsRTRQp8xNgmQs15SxUfUJRvSI9qKny/jLkY3gLgiCR3+6A7wzzK0DBlfA==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.29.tgz",
|
||||
"integrity": "sha512-WnrfeOEtTVidI9Z6jDLy+gxrpDcEJtZva54LYC0bSKQqmyuHzl0ego+v0F/v2aXq0am67BRqo/ybmmt45Tzo4A==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -1270,9 +1270,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-win32-ia32-msvc": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.1.3.tgz",
|
||||
"integrity": "sha512-DRuxD5axfDM1/Ue4VahwSxl1O5rn61hX8/sF0HY8y0iCbpqdxw3rB3QasdHn/LJ6Wb2y5DoWzXcz3L1Cr+Thrw==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.29.tgz",
|
||||
"integrity": "sha512-vkcriFROT4wsTdSeIzbxaZjTNTFKjSYmLd8q/GVH3Dn8JmYjUKOuKXHK8n+lovW/kdcpIvydO5GtN+It2CvKWA==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
|
@ -1285,9 +1285,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@next/swc-win32-x64-msvc": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.1.3.tgz",
|
||||
"integrity": "sha512-uC2DaDoWH7h1P/aJ4Fok3Xiw6P0Lo4ez7NbowW2VGNXw/Xv6tOuLUcxhBYZxsSUJtpeknCi8/fvnSpyCFp4Rcg==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.29.tgz",
|
||||
"integrity": "sha512-iPPwUEKnVs7pwR0EBLJlwxLD7TTHWS/AoVZx1l9ZQzfQciqaFEr5AlYzA2uB6Fyby1IF18t4PL0nTpB+k4Tzlw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -1518,11 +1518,17 @@
|
|||
"integrity": "sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@swc/counter": {
|
||||
"version": "0.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@swc/counter/-/counter-0.1.3.tgz",
|
||||
"integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ=="
|
||||
},
|
||||
"node_modules/@swc/helpers": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmmirror.com/@swc/helpers/-/helpers-0.5.2.tgz",
|
||||
"integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==",
|
||||
"version": "0.5.5",
|
||||
"resolved": "https://registry.npmmirror.com/@swc/helpers/-/helpers-0.5.5.tgz",
|
||||
"integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==",
|
||||
"dependencies": {
|
||||
"@swc/counter": "^0.1.3",
|
||||
"tslib": "^2.4.0"
|
||||
}
|
||||
},
|
||||
|
@ -2986,14 +2992,15 @@
|
|||
}
|
||||
},
|
||||
"node_modules/eslint-config-next": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/eslint-config-next/-/eslint-config-next-14.1.3.tgz",
|
||||
"integrity": "sha512-sUCpWlGuHpEhI0pIT0UtdSLJk5Z8E2DYinPTwsBiWaSYQomchdl0i60pjynY48+oXvtyWMQ7oE+G3m49yrfacg==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/eslint-config-next/-/eslint-config-next-14.2.29.tgz",
|
||||
"integrity": "sha512-KBbGfrcs4y+YxNb9y9IqEcZhQBbtIHyw5ICiCzL+x/0AzYCUwMHJ6IwGDswkQj/SDlzgexDAE258GSpQ8TH3MQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@next/eslint-plugin-next": "14.1.3",
|
||||
"@next/eslint-plugin-next": "14.2.29",
|
||||
"@rushstack/eslint-patch": "^1.3.3",
|
||||
"@typescript-eslint/parser": "^5.4.2 || ^6.0.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0",
|
||||
"@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0",
|
||||
"eslint-import-resolver-node": "^0.3.6",
|
||||
"eslint-import-resolver-typescript": "^3.5.2",
|
||||
"eslint-plugin-import": "^2.28.1",
|
||||
|
@ -4937,12 +4944,12 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/next": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/next/-/next-14.1.3.tgz",
|
||||
"integrity": "sha512-oexgMV2MapI0UIWiXKkixF8J8ORxpy64OuJ/J9oVUmIthXOUCcuVEZX+dtpgq7wIfIqtBwQsKEDXejcjTsan9g==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/next/-/next-14.2.29.tgz",
|
||||
"integrity": "sha512-s98mCOMOWLGGpGOfgKSnleXLuegvvH415qtRZXpSp00HeEgdmrxmwL9cgKU+h4XrhB16zEI5d/7BnkS3ATInsA==",
|
||||
"dependencies": {
|
||||
"@next/env": "14.1.3",
|
||||
"@swc/helpers": "0.5.2",
|
||||
"@next/env": "14.2.29",
|
||||
"@swc/helpers": "0.5.5",
|
||||
"busboy": "1.6.0",
|
||||
"caniuse-lite": "^1.0.30001579",
|
||||
"graceful-fs": "^4.2.11",
|
||||
|
@ -4956,18 +4963,19 @@
|
|||
"node": ">=18.17.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@next/swc-darwin-arm64": "14.1.3",
|
||||
"@next/swc-darwin-x64": "14.1.3",
|
||||
"@next/swc-linux-arm64-gnu": "14.1.3",
|
||||
"@next/swc-linux-arm64-musl": "14.1.3",
|
||||
"@next/swc-linux-x64-gnu": "14.1.3",
|
||||
"@next/swc-linux-x64-musl": "14.1.3",
|
||||
"@next/swc-win32-arm64-msvc": "14.1.3",
|
||||
"@next/swc-win32-ia32-msvc": "14.1.3",
|
||||
"@next/swc-win32-x64-msvc": "14.1.3"
|
||||
"@next/swc-darwin-arm64": "14.2.29",
|
||||
"@next/swc-darwin-x64": "14.2.29",
|
||||
"@next/swc-linux-arm64-gnu": "14.2.29",
|
||||
"@next/swc-linux-arm64-musl": "14.2.29",
|
||||
"@next/swc-linux-x64-gnu": "14.2.29",
|
||||
"@next/swc-linux-x64-musl": "14.2.29",
|
||||
"@next/swc-win32-arm64-msvc": "14.2.29",
|
||||
"@next/swc-win32-ia32-msvc": "14.2.29",
|
||||
"@next/swc-win32-x64-msvc": "14.2.29"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@opentelemetry/api": "^1.1.0",
|
||||
"@playwright/test": "^1.41.2",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"sass": "^1.3.0"
|
||||
|
@ -4976,6 +4984,9 @@
|
|||
"@opentelemetry/api": {
|
||||
"optional": true
|
||||
},
|
||||
"@playwright/test": {
|
||||
"optional": true
|
||||
},
|
||||
"sass": {
|
||||
"optional": true
|
||||
}
|
||||
|
@ -8561,71 +8572,71 @@
|
|||
}
|
||||
},
|
||||
"@next/env": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/env/-/env-14.1.3.tgz",
|
||||
"integrity": "sha512-VhgXTvrgeBRxNPjyfBsDIMvgsKDxjlpw4IAUsHCX8Gjl1vtHUYRT3+xfQ/wwvLPDd/6kqfLqk9Pt4+7gysuCKQ=="
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/env/-/env-14.2.29.tgz",
|
||||
"integrity": "sha512-UzgLR2eBfhKIQt0aJ7PWH7XRPYw7SXz0Fpzdl5THjUnvxy4kfBk9OU4RNPNiETewEEtaBcExNFNn1QWH8wQTjg=="
|
||||
},
|
||||
"@next/eslint-plugin-next": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/eslint-plugin-next/-/eslint-plugin-next-14.1.3.tgz",
|
||||
"integrity": "sha512-VCnZI2cy77Yaj3L7Uhs3+44ikMM1VD/fBMwvTBb3hIaTIuqa+DmG4dhUDq+MASu3yx97KhgsVJbsas0XuiKyww==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/eslint-plugin-next/-/eslint-plugin-next-14.2.29.tgz",
|
||||
"integrity": "sha512-qpxSYiPNJTr9RzqjGi5yom8AIC8Kgdtw4oNIXAB/gDYMDctmfMEv452FRUhT06cWPgcmSsbZiEPYhbFiQtCWTg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glob": "10.3.10"
|
||||
}
|
||||
},
|
||||
"@next/swc-darwin-arm64": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.3.tgz",
|
||||
"integrity": "sha512-LALu0yIBPRiG9ANrD5ncB3pjpO0Gli9ZLhxdOu6ZUNf3x1r3ea1rd9Q+4xxUkGrUXLqKVK9/lDkpYIJaCJ6AHQ==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.29.tgz",
|
||||
"integrity": "sha512-wWtrAaxCVMejxPHFb1SK/PVV1WDIrXGs9ki0C/kUM8ubKHQm+3hU9MouUywCw8Wbhj3pewfHT2wjunLEr/TaLA==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-darwin-x64": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.1.3.tgz",
|
||||
"integrity": "sha512-E/9WQeXxkqw2dfcn5UcjApFgUq73jqNKaE5bysDm58hEUdUGedVrnRhblhJM7HbCZNhtVl0j+6TXsK0PuzXTCg==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.29.tgz",
|
||||
"integrity": "sha512-7Z/jk+6EVBj4pNLw/JQrvZVrAh9Bv8q81zCFSfvTMZ51WySyEHWVpwCEaJY910LyBftv2F37kuDPQm0w9CEXyg==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-linux-arm64-gnu": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.1.3.tgz",
|
||||
"integrity": "sha512-USArX9B+3rZSXYLFvgy0NVWQgqh6LHWDmMt38O4lmiJNQcwazeI6xRvSsliDLKt+78KChVacNiwvOMbl6g6BBw==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.29.tgz",
|
||||
"integrity": "sha512-o6hrz5xRBwi+G7JFTHc+RUsXo2lVXEfwh4/qsuWBMQq6aut+0w98WEnoNwAwt7hkEqegzvazf81dNiwo7KjITw==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-linux-arm64-musl": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.1.3.tgz",
|
||||
"integrity": "sha512-esk1RkRBLSIEp1qaQXv1+s6ZdYzuVCnDAZySpa62iFTMGTisCyNQmqyCTL9P+cLJ4N9FKCI3ojtSfsyPHJDQNw==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.29.tgz",
|
||||
"integrity": "sha512-9i+JEHBOVgqxQ92HHRFlSW1EQXqa/89IVjtHgOqsShCcB/ZBjTtkWGi+SGCJaYyWkr/lzu51NTMCfKuBf7ULNw==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-linux-x64-gnu": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.1.3.tgz",
|
||||
"integrity": "sha512-8uOgRlYEYiKo0L8YGeS+3TudHVDWDjPVDUcST+z+dUzgBbTEwSSIaSgF/vkcC1T/iwl4QX9iuUyUdQEl0Kxalg==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.29.tgz",
|
||||
"integrity": "sha512-B7JtMbkUwHijrGBOhgSQu2ncbCYq9E7PZ7MX58kxheiEOwdkM+jGx0cBb+rN5AeqF96JypEppK6i/bEL9T13lA==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-linux-x64-musl": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.1.3.tgz",
|
||||
"integrity": "sha512-DX2zqz05ziElLoxskgHasaJBREC5Y9TJcbR2LYqu4r7naff25B4iXkfXWfcp69uD75/0URmmoSgT8JclJtrBoQ==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.29.tgz",
|
||||
"integrity": "sha512-yCcZo1OrO3aQ38B5zctqKU1Z3klOohIxug6qdiKO3Q3qNye/1n6XIs01YJ+Uf+TdpZQ0fNrOQI2HrTLF3Zprnw==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-win32-arm64-msvc": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.1.3.tgz",
|
||||
"integrity": "sha512-HjssFsCdsD4GHstXSQxsi2l70F/5FsRTRQp8xNgmQs15SxUfUJRvSI9qKny/jLkY3gLgiCR3+6A7wzzK0DBlfA==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.29.tgz",
|
||||
"integrity": "sha512-WnrfeOEtTVidI9Z6jDLy+gxrpDcEJtZva54LYC0bSKQqmyuHzl0ego+v0F/v2aXq0am67BRqo/ybmmt45Tzo4A==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-win32-ia32-msvc": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.1.3.tgz",
|
||||
"integrity": "sha512-DRuxD5axfDM1/Ue4VahwSxl1O5rn61hX8/sF0HY8y0iCbpqdxw3rB3QasdHn/LJ6Wb2y5DoWzXcz3L1Cr+Thrw==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.29.tgz",
|
||||
"integrity": "sha512-vkcriFROT4wsTdSeIzbxaZjTNTFKjSYmLd8q/GVH3Dn8JmYjUKOuKXHK8n+lovW/kdcpIvydO5GtN+It2CvKWA==",
|
||||
"optional": true
|
||||
},
|
||||
"@next/swc-win32-x64-msvc": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.1.3.tgz",
|
||||
"integrity": "sha512-uC2DaDoWH7h1P/aJ4Fok3Xiw6P0Lo4ez7NbowW2VGNXw/Xv6tOuLUcxhBYZxsSUJtpeknCi8/fvnSpyCFp4Rcg==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.29.tgz",
|
||||
"integrity": "sha512-iPPwUEKnVs7pwR0EBLJlwxLD7TTHWS/AoVZx1l9ZQzfQciqaFEr5AlYzA2uB6Fyby1IF18t4PL0nTpB+k4Tzlw==",
|
||||
"optional": true
|
||||
},
|
||||
"@nicolo-ribaudo/eslint-scope-5-internals": {
|
||||
|
@ -8782,11 +8793,17 @@
|
|||
"integrity": "sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==",
|
||||
"dev": true
|
||||
},
|
||||
"@swc/counter": {
|
||||
"version": "0.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@swc/counter/-/counter-0.1.3.tgz",
|
||||
"integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ=="
|
||||
},
|
||||
"@swc/helpers": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmmirror.com/@swc/helpers/-/helpers-0.5.2.tgz",
|
||||
"integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==",
|
||||
"version": "0.5.5",
|
||||
"resolved": "https://registry.npmmirror.com/@swc/helpers/-/helpers-0.5.5.tgz",
|
||||
"integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==",
|
||||
"requires": {
|
||||
"@swc/counter": "^0.1.3",
|
||||
"tslib": "^2.4.0"
|
||||
}
|
||||
},
|
||||
|
@ -9981,14 +9998,15 @@
|
|||
}
|
||||
},
|
||||
"eslint-config-next": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/eslint-config-next/-/eslint-config-next-14.1.3.tgz",
|
||||
"integrity": "sha512-sUCpWlGuHpEhI0pIT0UtdSLJk5Z8E2DYinPTwsBiWaSYQomchdl0i60pjynY48+oXvtyWMQ7oE+G3m49yrfacg==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/eslint-config-next/-/eslint-config-next-14.2.29.tgz",
|
||||
"integrity": "sha512-KBbGfrcs4y+YxNb9y9IqEcZhQBbtIHyw5ICiCzL+x/0AzYCUwMHJ6IwGDswkQj/SDlzgexDAE258GSpQ8TH3MQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@next/eslint-plugin-next": "14.1.3",
|
||||
"@next/eslint-plugin-next": "14.2.29",
|
||||
"@rushstack/eslint-patch": "^1.3.3",
|
||||
"@typescript-eslint/parser": "^5.4.2 || ^6.0.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0",
|
||||
"@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0",
|
||||
"eslint-import-resolver-node": "^0.3.6",
|
||||
"eslint-import-resolver-typescript": "^3.5.2",
|
||||
"eslint-plugin-import": "^2.28.1",
|
||||
|
@ -11486,21 +11504,21 @@
|
|||
"dev": true
|
||||
},
|
||||
"next": {
|
||||
"version": "14.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/next/-/next-14.1.3.tgz",
|
||||
"integrity": "sha512-oexgMV2MapI0UIWiXKkixF8J8ORxpy64OuJ/J9oVUmIthXOUCcuVEZX+dtpgq7wIfIqtBwQsKEDXejcjTsan9g==",
|
||||
"version": "14.2.29",
|
||||
"resolved": "https://registry.npmmirror.com/next/-/next-14.2.29.tgz",
|
||||
"integrity": "sha512-s98mCOMOWLGGpGOfgKSnleXLuegvvH415qtRZXpSp00HeEgdmrxmwL9cgKU+h4XrhB16zEI5d/7BnkS3ATInsA==",
|
||||
"requires": {
|
||||
"@next/env": "14.1.3",
|
||||
"@next/swc-darwin-arm64": "14.1.3",
|
||||
"@next/swc-darwin-x64": "14.1.3",
|
||||
"@next/swc-linux-arm64-gnu": "14.1.3",
|
||||
"@next/swc-linux-arm64-musl": "14.1.3",
|
||||
"@next/swc-linux-x64-gnu": "14.1.3",
|
||||
"@next/swc-linux-x64-musl": "14.1.3",
|
||||
"@next/swc-win32-arm64-msvc": "14.1.3",
|
||||
"@next/swc-win32-ia32-msvc": "14.1.3",
|
||||
"@next/swc-win32-x64-msvc": "14.1.3",
|
||||
"@swc/helpers": "0.5.2",
|
||||
"@next/env": "14.2.29",
|
||||
"@next/swc-darwin-arm64": "14.2.29",
|
||||
"@next/swc-darwin-x64": "14.2.29",
|
||||
"@next/swc-linux-arm64-gnu": "14.2.29",
|
||||
"@next/swc-linux-arm64-musl": "14.2.29",
|
||||
"@next/swc-linux-x64-gnu": "14.2.29",
|
||||
"@next/swc-linux-x64-musl": "14.2.29",
|
||||
"@next/swc-win32-arm64-msvc": "14.2.29",
|
||||
"@next/swc-win32-ia32-msvc": "14.2.29",
|
||||
"@next/swc-win32-x64-msvc": "14.2.29",
|
||||
"@swc/helpers": "0.5.5",
|
||||
"busboy": "1.6.0",
|
||||
"caniuse-lite": "^1.0.30001579",
|
||||
"graceful-fs": "^4.2.11",
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
"axios": "^1.6.8",
|
||||
"dayjs": "^1.11.13",
|
||||
"js-cookie": "^3.0.5",
|
||||
"next": "14.1.3",
|
||||
"next": "14.2.29",
|
||||
"postcss": "8.4.31",
|
||||
"react": "^18",
|
||||
"react-big-calendar": "^1.12.2",
|
||||
|
@ -34,7 +34,7 @@
|
|||
"@types/react-dom": "^18",
|
||||
"@vercel/style-guide": "^5.0.1",
|
||||
"eslint": "^8",
|
||||
"eslint-config-next": "14.1.3",
|
||||
"eslint-config-next": "14.2.29",
|
||||
"prettier": "3.0.3",
|
||||
"prettier-plugin-tailwindcss": "0.5.4",
|
||||
"react-beautiful-dnd": "^13.1.1",
|
||||
|
|
|
@ -6,14 +6,6 @@
|
|||
padding: 6rem;
|
||||
min-height: 100vh;
|
||||
}
|
||||
.icon {
|
||||
/* em 当前元素的 font-size 值,如果元素没有显式设置 font-size,则继承父元素的 font-size。 控制与字体大小相关的属性*/
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
vertical-align: -0.15em;
|
||||
fill: currentColor;
|
||||
overflow: hidden;
|
||||
}
|
||||
.description {
|
||||
display: inherit;
|
||||
justify-content: inherit;
|
||||
|
|
|
@ -32,6 +32,9 @@ export type TaskMessage ={
|
|||
description: string;
|
||||
state: string;
|
||||
priority: string;
|
||||
fId?:string;
|
||||
fName?:string;
|
||||
taskType?:string;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
import {unstable_noStore as noStore} from 'next/cache';
|
||||
import {AxiosResponse} from "axios";
|
||||
import {httpReq} from "@/utils/axiosReq";
|
||||
import {DataType, DictType, ResponseVO, ResultPage} from "@/lib/definitions";
|
||||
import {DataType, DictType, Request, ResponseVO, ResultPage} from "@/lib/definitions";
|
||||
import {TaskWebSelectVO} from "@/lib/task/project/definitions";
|
||||
|
||||
export async function getTaskTreeResult(requestParam: string): Promise<ResponseVO<ResultPage<DataType>>> {
|
||||
noStore();
|
||||
|
@ -13,6 +14,16 @@ export async function getTaskTreeResult(requestParam: string): Promise<ResponseV
|
|||
return response.data;
|
||||
}
|
||||
|
||||
export async function getTaskTreeResultAPI(requestParam: Request<TaskWebSelectVO>): Promise<ResponseVO<ResultPage<DataType>>> {
|
||||
noStore();
|
||||
// 使用 Axios 发送 POST 请求获取数据
|
||||
const response: AxiosResponse<ResponseVO<ResultPage<DataType>>> = await httpReq.post(
|
||||
process.env.NEXT_PUBLIC_TODO_REQUEST_URL + '/V2/task/select',requestParam);
|
||||
// 从响应中提取数据并返回
|
||||
console.log("response.data", response.data)
|
||||
return response.data;
|
||||
}
|
||||
|
||||
export async function commonUpdate(requestParam: any): Promise<ResponseVO<string>> {
|
||||
noStore();
|
||||
// 使用 Axios 发送 PUT 请求获取数据
|
||||
|
@ -65,6 +76,18 @@ export async function deleteTask(id: string): Promise<ResponseVO<string>> {
|
|||
return response.data;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除任务
|
||||
* @param id
|
||||
*/
|
||||
export async function deleteTaskAPI(id: string): Promise<ResponseVO<string>> {
|
||||
noStore();
|
||||
// 使用 Axios 发送 DELETE 删除数据
|
||||
const response: AxiosResponse<ResponseVO<string>> = await httpReq.delete(process.env.NEXT_PUBLIC_TODO_REQUEST_URL + '/V2/task/' + id);
|
||||
// 从响应中提取数据并返回
|
||||
return response.data;
|
||||
}
|
||||
|
||||
//0,重要紧急红色,1,重要不紧急黄色,2,不重要紧急灰色,3不重要,不紧急绿色
|
||||
export const taskPriorityList: DictType[] = [
|
||||
{
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
import {Dayjs} from "dayjs";
|
||||
|
||||
export type TaskWebSelectVO ={
|
||||
name?:string,
|
||||
description?:string,
|
||||
treeList:boolean,
|
||||
treeFilter?:boolean,
|
||||
pid?:string,
|
||||
state?:string[],
|
||||
priority?:string[],
|
||||
expectedStartTimeStart?:Dayjs,
|
||||
expectedStartTimeEnd?:Dayjs
|
||||
}
|
|
@ -16,6 +16,18 @@ input[type='number']::-webkit-outer-spin-button {
|
|||
-webkit-appearance: none;
|
||||
margin: 0;
|
||||
}
|
||||
{
|
||||
html {
|
||||
font-size: 16px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.icon {
|
||||
/* em 当前元素的 font-size 值,如果元素没有显式设置 font-size,则继承父元素的 font-size。 控制与字体大小相关的属性*/
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
vertical-align: -0.15em;
|
||||
fill: currentColor;
|
||||
overflow: hidden;
|
||||
padding-right: 0.5em;
|
||||
}
|
|
@ -8,4 +8,7 @@
|
|||
.css-1k007xr .ant-pro-card .ant-pro-card-border .ant-pro-card-bordered .ant-pro-table-search .ant-pro-table-search-query-filter{
|
||||
margin-block-end:0;
|
||||
border-bottom: none;
|
||||
}
|
||||
.ant-form-item .ant-form-item-label{
|
||||
overflow: visible;
|
||||
}
|
|
@ -9,7 +9,7 @@ import {Button, DatePicker, Dropdown, Space, Switch, Tag, Tooltip} from 'antd';
|
|||
import React, {Fragment, useContext, useEffect, useRef} from 'react';
|
||||
import {DataType} from "@/lib/definitions";
|
||||
import {
|
||||
getTaskTreeResult,
|
||||
getTaskTreeResult, getTaskTreeResultAPI,
|
||||
OPERATION_BUTTON_TYPE,
|
||||
taskPriorityList,
|
||||
taskStateList,
|
||||
|
@ -19,20 +19,24 @@ import OperationButton from "@/ui/task/OperationButton";
|
|||
import dayjs from "dayjs";
|
||||
import '@/ui/task/project/TreeTablePro.modules.css'
|
||||
import {useSearchParams} from "next/navigation";
|
||||
|
||||
|
||||
import {TaskWebSelectVO} from "@/lib/task/project/definitions";
|
||||
|
||||
const TreeTablePro: React.FC = () => {
|
||||
// 刷新表格
|
||||
const actionRef = useRef<ActionType>();
|
||||
const formRef = useRef<ProFormInstance>();
|
||||
// 列表和树切换
|
||||
const [switchChecked, setSwitchChecked] = React.useState(true);
|
||||
// 树子集是否参与过滤
|
||||
const [filterChecked, setFilterChecked] = React.useState(true);
|
||||
const [current,setCurrent] = React.useState(1);
|
||||
const [pageSize,setPageSize] = React.useState(10);
|
||||
// 页码信息
|
||||
const [current, setCurrent] = React.useState(1);
|
||||
const [pageSize, setPageSize] = React.useState(10);
|
||||
// 获取路径参数pid
|
||||
const pathPid = useSearchParams().get('pid');
|
||||
const pid = pathPid?pathPid:'0';
|
||||
const { RangePicker } = DatePicker;
|
||||
console.log("TreeTablePro",useSearchParams().get('pid'))
|
||||
const pid = pathPid ? pathPid : '0';
|
||||
// 时间范围选择
|
||||
const {RangePicker} = DatePicker;
|
||||
// 列字段定义
|
||||
const columns: ProColumns<DataType>[] = [
|
||||
{
|
||||
key: 'name',
|
||||
|
@ -50,13 +54,13 @@ const TreeTablePro: React.FC = () => {
|
|||
},
|
||||
],
|
||||
},
|
||||
render:(_, record)=>{
|
||||
render: (_, record) => {
|
||||
return <Fragment>
|
||||
<svg className="icon" aria-hidden="true">
|
||||
{record.fId && <svg className="icon" aria-hidden="true">
|
||||
<use xlinkHref="#icon-tuandui"></use>
|
||||
</svg>
|
||||
{record.name}
|
||||
</Fragment>
|
||||
</svg>}
|
||||
<text>{record.name}</text>
|
||||
</Fragment>
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -68,17 +72,15 @@ const TreeTablePro: React.FC = () => {
|
|||
key: 'priority',
|
||||
title: '任务优先级',
|
||||
dataIndex: 'priority',
|
||||
order:2,
|
||||
order: 2,
|
||||
valueType: 'select',
|
||||
// 字段对应的组件的属性
|
||||
fieldProps: {
|
||||
mode:"tags",
|
||||
mode: "tags",
|
||||
options: taskPriorityList.map(item => {
|
||||
return {label: item.name, value: item.code}
|
||||
})
|
||||
},
|
||||
// renderFormItem: (_, { defaultRender }) => {
|
||||
// return defaultRender(_);
|
||||
// },
|
||||
render: (_, record) => (
|
||||
<Space>
|
||||
{
|
||||
|
@ -88,7 +90,8 @@ const TreeTablePro: React.FC = () => {
|
|||
// </Tag>
|
||||
<div>
|
||||
{/*< HeartFilled/>*/}
|
||||
<CheckSquareFilled style={{color:taskPriorityList.find(item => item.code === record.priority?.toString())?.color}}/>
|
||||
<CheckSquareFilled
|
||||
style={{color: taskPriorityList.find(item => item.code === record.priority?.toString())?.color}}/>
|
||||
{taskPriorityList.find(item => item.code === record.priority?.toString())?.name}
|
||||
</div>
|
||||
}
|
||||
|
@ -99,112 +102,166 @@ const TreeTablePro: React.FC = () => {
|
|||
title: '任务状态',
|
||||
dataIndex: 'state',
|
||||
valueType: 'select',
|
||||
order:3,
|
||||
initialValue:['8','9'],
|
||||
order: 3,
|
||||
initialValue: ['8', '9'],
|
||||
fieldProps: {
|
||||
defaultValue:['8','9'],
|
||||
mode:"tags",
|
||||
defaultValue: ['8', '9'],
|
||||
mode: "tags",
|
||||
options: taskStateList.map(item => {
|
||||
return {label: item.name, value: item.code}
|
||||
}),
|
||||
},
|
||||
}, {
|
||||
key: 'expectedStartTime',
|
||||
title: '期望开始时间',
|
||||
title: '期望时间',
|
||||
dataIndex: 'expectedStartTime',
|
||||
valueType: 'date',
|
||||
order:1,
|
||||
renderFormItem:()=><RangePicker allowEmpty={[true,true]}/>
|
||||
}, {
|
||||
key:'expectedEndTime',
|
||||
title: '期望结束时间',
|
||||
dataIndex: 'expectedEndTime',
|
||||
valueType: 'date',
|
||||
order: 1,
|
||||
render: (_, record) => {
|
||||
return <Fragment>
|
||||
<div>
|
||||
<div>
|
||||
<text>开始:</text>
|
||||
{record.expectedStartTime ? dayjs(record.expectedStartTime).format("YYYY-MM-DD HH:mm") : "-"}
|
||||
</div>
|
||||
<div>
|
||||
<text>结束:</text>
|
||||
{record.expectedEndTime ? dayjs(record.expectedEndTime).format("YYYY-MM-DD HH:mm") : "-"}
|
||||
</div>
|
||||
</div>
|
||||
</Fragment>
|
||||
},
|
||||
renderFormItem: () => <RangePicker allowEmpty={[true, true]}/>
|
||||
}, {
|
||||
key: 'actualStartTime',
|
||||
title: '实际开始时间',
|
||||
title: '实际时间',
|
||||
dataIndex: 'actualStartTime',
|
||||
valueType: 'date',
|
||||
}, {
|
||||
key: 'actualEndTime',
|
||||
title: '期望结束时间',
|
||||
dataIndex: 'actualEndTime',
|
||||
valueType: 'date',
|
||||
render: (_, record) => {
|
||||
return <Fragment>
|
||||
<div>
|
||||
<div>
|
||||
<text>开始:</text>
|
||||
{record.actualStartTime ? dayjs(record.actualStartTime).format("YYYY-MM-DD HH:mm") : "-"}
|
||||
</div>
|
||||
<div>
|
||||
<text>结束:</text>
|
||||
{record.actualEndTime ? dayjs(record.actualEndTime).format("YYYY-MM-DD HH:mm") : "-"}
|
||||
</div>
|
||||
</div>
|
||||
</Fragment>
|
||||
},
|
||||
}, {
|
||||
key: 'option',
|
||||
title: '操作',
|
||||
valueType: 'option',
|
||||
render: (_, record) => <OperationButton itemId={record.id} pid={record.pid} pPid={record.pPid} refreshDate={()=>{
|
||||
actionRef.current?.reload( false);
|
||||
}}/>,
|
||||
render: (_, record) => <OperationButton itemId={record.id} pid={record.pid} pPid={record.pPid}
|
||||
refreshDate={() => {
|
||||
actionRef.current?.reload(false);
|
||||
}}/>,
|
||||
}
|
||||
];
|
||||
let toolBarRenderList = [
|
||||
<DetailModelForm open={false} haveButton={true} key={1} operationId={OPERATION_BUTTON_TYPE.ADD} description='添加主线任务' reloadData={()=>{
|
||||
actionRef.current?.reload( false);
|
||||
<DetailModelForm open={false} haveButton={true} key={1} operationId={OPERATION_BUTTON_TYPE.ADD}
|
||||
description='添加主线任务' reloadData={() => {
|
||||
actionRef.current?.reload(false);
|
||||
}}/>,
|
||||
<Switch key={2} checkedChildren="树" unCheckedChildren="列表" checked={switchChecked}
|
||||
onChange={(checked, event) => {setSwitchChecked(checked);actionRef.current?.reset?.();}} />,
|
||||
onChange={(checked, event) => {
|
||||
setSwitchChecked(checked);
|
||||
actionRef.current?.reset?.();
|
||||
}}/>,
|
||||
];
|
||||
if (switchChecked){
|
||||
toolBarRenderList.push(<><span>树子集是否参与过滤</span> <Tooltip title="开启树子集过滤后儿子不满足条件,孙子满足条件,儿子和孙子都不会显示。"><QuestionCircleOutlined /></Tooltip>
|
||||
if (switchChecked) {
|
||||
toolBarRenderList.push(<><span>树子集是否参与过滤</span> <Tooltip
|
||||
title="开启树子集过滤后儿子不满足条件,孙子满足条件,儿子和孙子都不会显示。"><QuestionCircleOutlined/></Tooltip>
|
||||
<Switch checkedChildren="是" unCheckedChildren="否" checked={filterChecked}
|
||||
onChange={(checked, event) => {setFilterChecked(checked);
|
||||
actionRef.current?.reload( false);
|
||||
}} /></>)
|
||||
onChange={(checked, event) => {
|
||||
setFilterChecked(checked);
|
||||
actionRef.current?.reload(false);
|
||||
}}/></>)
|
||||
}
|
||||
|
||||
useEffect(()=>{
|
||||
actionRef.current?.reload( false)
|
||||
},[useSearchParams()])
|
||||
useEffect(() => {
|
||||
actionRef.current?.reload(false)
|
||||
}, [useSearchParams()])
|
||||
return (
|
||||
<ProTable<DataType>
|
||||
columns={columns}
|
||||
actionRef={actionRef}
|
||||
cardBordered
|
||||
request={async (params, sort, filter) => {
|
||||
console.log('request',params,params.keyword,sort, filter);
|
||||
const searchList=[]
|
||||
if (switchChecked) {
|
||||
searchList.push({name:'tree',value:'TRUE',operateType:"TREE"})
|
||||
}
|
||||
searchList.push({name:"pid",value:pid,operateType:"="})
|
||||
if (filterChecked) {
|
||||
searchList.push({name:'tree',value:'TRUE',operateType:"TREE-FILTER"})
|
||||
}
|
||||
if (params.state instanceof Array&¶ms.state.length>0){
|
||||
searchList.push({name:'state',value:params.state.join(','),operateType:"IN"})
|
||||
}
|
||||
if (params.priority instanceof Array&¶ms.state.length>0){
|
||||
searchList.push({name:'priority',value:params.priority.join(','),operateType:"IN"})
|
||||
}
|
||||
if (params.expectedStartTime instanceof Array&¶ms.expectedStartTime.length>0){
|
||||
if (params.expectedStartTime[0]){
|
||||
searchList.push({name:'expectedStartTime',value:dayjs(params.expectedStartTime[0]),operateType:">="})
|
||||
// console.log('request',params,params.keyword,sort, filter);
|
||||
// const searchList=[]
|
||||
// if (switchChecked) {
|
||||
// searchList.push({name:'tree',value:'TRUE',operateType:"TREE"})
|
||||
// }
|
||||
// searchList.push({name:"pid",value:pid,operateType:"="})
|
||||
// if (filterChecked) {
|
||||
// searchList.push({name:'tree',value:'TRUE',operateType:"TREE-FILTER"})
|
||||
// }
|
||||
// if (params.state instanceof Array&¶ms.state.length>0){
|
||||
// searchList.push({name:'state',value:params.state.join(','),operateType:"IN"})
|
||||
// }
|
||||
// if (params.priority instanceof Array&¶ms.state.length>0){
|
||||
// searchList.push({name:'priority',value:params.priority.join(','),operateType:"IN"})
|
||||
// }
|
||||
// if (params.expectedStartTime instanceof Array&¶ms.expectedStartTime.length>0){
|
||||
// if (params.expectedStartTime[0]){
|
||||
// searchList.push({name:'expectedStartTime',value:dayjs(params.expectedStartTime[0]),operateType:">="})
|
||||
// }
|
||||
// if (params.expectedStartTime[1]){
|
||||
// searchList.push({name:'expectedStartTime',value:dayjs(params.expectedStartTime[1]),operateType:"<="})
|
||||
// }
|
||||
// }
|
||||
// if (params.name){
|
||||
// searchList.push({name:'name',value:params.name,operateType:"LIKE"})
|
||||
// }
|
||||
// if (params.description){
|
||||
// searchList.push({name:'description',value:params.description,operateType:"LIKE"})
|
||||
// }
|
||||
// if (params.code){
|
||||
// searchList.push({name:'code',value:params.code,operateType:"="})
|
||||
// }
|
||||
// let request = JSON.stringify({
|
||||
// pageSize:params.pageSize,
|
||||
// pageNumber:params.current,
|
||||
// data: searchList
|
||||
// })
|
||||
// // const response = await getTaskTreeResult(request)
|
||||
const search: TaskWebSelectVO =
|
||||
{
|
||||
treeList: switchChecked,
|
||||
treeFilter: filterChecked,
|
||||
pid: pid,
|
||||
name: params.name,
|
||||
description: params.description,
|
||||
}
|
||||
if (params.expectedStartTime[1]){
|
||||
searchList.push({name:'expectedStartTime',value:dayjs(params.expectedStartTime[1]),operateType:"<="})
|
||||
if (params.state) {
|
||||
search.state = params.state.join(',');
|
||||
}
|
||||
if (params.priority) {
|
||||
search.priority = params.priority.join(',');
|
||||
}
|
||||
if (params.expectedStartTime instanceof Array && params.expectedStartTime.length > 0) {
|
||||
if (params.expectedStartTime[0]) {
|
||||
search.expectedStartTimeStart = dayjs(params.expectedStartTime[0])
|
||||
}
|
||||
if (params.expectedStartTime[1]) {
|
||||
search.expectedStartTimeEnd = dayjs(params.expectedStartTime[1])
|
||||
}
|
||||
}
|
||||
if (params.name){
|
||||
searchList.push({name:'name',value:params.name,operateType:"LIKE"})
|
||||
}
|
||||
if (params.description){
|
||||
searchList.push({name:'description',value:params.description,operateType:"LIKE"})
|
||||
}
|
||||
if (params.code){
|
||||
searchList.push({name:'code',value:params.code,operateType:"="})
|
||||
}
|
||||
let request = JSON.stringify({
|
||||
pageSize:params.pageSize,
|
||||
pageNumber:params.current,
|
||||
data: searchList
|
||||
|
||||
const response1 = await getTaskTreeResultAPI({
|
||||
pageSize: params.pageSize ? params.pageSize : pageSize,
|
||||
pageNumber: params.current ? params.pageNumber : current,
|
||||
data: search
|
||||
})
|
||||
const response = await getTaskTreeResult(request)
|
||||
|
||||
return {
|
||||
data: response.data.content,
|
||||
success: response.status.success,
|
||||
total :response.data.totalElements,
|
||||
data: response1.data.content,
|
||||
success: response1.status.success,
|
||||
total: response1.data.totalElements,
|
||||
}
|
||||
}}
|
||||
editable={{
|
||||
|
@ -225,8 +282,8 @@ const TreeTablePro: React.FC = () => {
|
|||
pagination={{
|
||||
current: current,
|
||||
pageSize: pageSize,
|
||||
onChange: (current,pageSize) => {
|
||||
console.log('onChange',current,pageSize)
|
||||
onChange: (current, pageSize) => {
|
||||
console.log('onChange', current, pageSize)
|
||||
setCurrent(current)
|
||||
setPageSize(pageSize)
|
||||
}
|
||||
|
@ -234,7 +291,7 @@ const TreeTablePro: React.FC = () => {
|
|||
dateFormatter="string"
|
||||
scroll={{y: 580}}
|
||||
// headerTitle="任务管理"
|
||||
toolBarRender={()=>toolBarRenderList}>
|
||||
toolBarRender={() => toolBarRenderList}>
|
||||
</ProTable>
|
||||
);
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue