From 42e399fc9159fbc1cd1ee5dd37863e56d975051f Mon Sep 17 00:00:00 2001 From: 1708-huayu <57060237+1708-huayu@users.noreply.github.com> Date: Tue, 17 Jun 2025 19:01:54 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=BC=80=E5=A7=8B=E4=B8=8E=E7=BB=93?= =?UTF-8?q?=E6=9D=9F=E6=97=B6=E9=97=B4=E5=90=88=E5=B9=B6=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 8 +- .env.production | 4 +- package-lock.json | 242 ++++++++++--------- package.json | 4 +- src/app/page.module.css | 8 - src/lib/definitions.ts | 3 + src/lib/task/project/data.tsx | 25 +- src/lib/task/project/definitions.tsx | 13 + src/ui/globals.css | 14 +- src/ui/task/project/TreeTablePro.modules.css | 3 + src/ui/task/project/TreeTablePro.tsx | 241 +++++++++++------- 11 files changed, 343 insertions(+), 222 deletions(-) create mode 100644 src/lib/task/project/definitions.tsx diff --git a/.env.development b/.env.development index c2f8fba..8189baf 100644 --- a/.env.development +++ b/.env.development @@ -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 \ No newline at end of file +# NEXT_PUBLIC_TODO_REQUEST_URL=https://www.huaruyu.com/todo-server +# NEXT_PUBLIC_SECURITY_REQUEST_URL=https://www.huaruyu.com/security-server \ No newline at end of file diff --git a/.env.production b/.env.production index 537f3c8..12eb674 100644 --- a/.env.production +++ b/.env.production @@ -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 \ No newline at end of file +NEXT_PUBLIC_TODO_REQUEST_URL=https://www.huaruyu.com/todo-server +NEXT_PUBLIC_SECURITY_REQUEST_URL=https://www.huaruyu.com/security-server \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index e86b2cd..59be224 100644 --- a/package-lock.json +++ b/package-lock.json @@ -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", diff --git a/package.json b/package.json index f8cd724..54133b5 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/src/app/page.module.css b/src/app/page.module.css index 23ef2a4..1fa1b81 100644 --- a/src/app/page.module.css +++ b/src/app/page.module.css @@ -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; diff --git a/src/lib/definitions.ts b/src/lib/definitions.ts index eca7aee..82a9ed8 100644 --- a/src/lib/definitions.ts +++ b/src/lib/definitions.ts @@ -32,6 +32,9 @@ export type TaskMessage ={ description: string; state: string; priority: string; + fId?:string; + fName?:string; + taskType?:string; } diff --git a/src/lib/task/project/data.tsx b/src/lib/task/project/data.tsx index c93ed91..139b0ff 100644 --- a/src/lib/task/project/data.tsx +++ b/src/lib/task/project/data.tsx @@ -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>> { noStore(); @@ -13,6 +14,16 @@ export async function getTaskTreeResult(requestParam: string): Promise): Promise>> { + noStore(); + // 使用 Axios 发送 POST 请求获取数据 + const response: AxiosResponse>> = 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> { noStore(); // 使用 Axios 发送 PUT 请求获取数据 @@ -65,6 +76,18 @@ export async function deleteTask(id: string): Promise> { return response.data; } +/** + * 删除任务 + * @param id + */ +export async function deleteTaskAPI(id: string): Promise> { + noStore(); + // 使用 Axios 发送 DELETE 删除数据 + const response: AxiosResponse> = await httpReq.delete(process.env.NEXT_PUBLIC_TODO_REQUEST_URL + '/V2/task/' + id); + // 从响应中提取数据并返回 + return response.data; +} + //0,重要紧急红色,1,重要不紧急黄色,2,不重要紧急灰色,3不重要,不紧急绿色 export const taskPriorityList: DictType[] = [ { diff --git a/src/lib/task/project/definitions.tsx b/src/lib/task/project/definitions.tsx new file mode 100644 index 0000000..4bf6175 --- /dev/null +++ b/src/lib/task/project/definitions.tsx @@ -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 +} \ No newline at end of file diff --git a/src/ui/globals.css b/src/ui/globals.css index 8f10e6e..38aba85 100644 --- a/src/ui/globals.css +++ b/src/ui/globals.css @@ -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; } \ No newline at end of file diff --git a/src/ui/task/project/TreeTablePro.modules.css b/src/ui/task/project/TreeTablePro.modules.css index 7325215..998767c 100644 --- a/src/ui/task/project/TreeTablePro.modules.css +++ b/src/ui/task/project/TreeTablePro.modules.css @@ -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; } \ No newline at end of file diff --git a/src/ui/task/project/TreeTablePro.tsx b/src/ui/task/project/TreeTablePro.tsx index 398f51f..c6a59e3 100644 --- a/src/ui/task/project/TreeTablePro.tsx +++ b/src/ui/task/project/TreeTablePro.tsx @@ -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(); - const formRef = useRef(); + // 列表和树切换 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[] = [ { key: 'name', @@ -50,13 +54,13 @@ const TreeTablePro: React.FC = () => { }, ], }, - render:(_, record)=>{ + render: (_, record) => { return - + } + {record.name} + } }, { @@ -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) => ( { @@ -88,7 +90,8 @@ const TreeTablePro: React.FC = () => { //
{/*< HeartFilled/>*/} - item.code === record.priority?.toString())?.color}}/> + item.code === record.priority?.toString())?.color}}/> {taskPriorityList.find(item => item.code === record.priority?.toString())?.name}
} @@ -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:()=> - }, { - key:'expectedEndTime', - title: '期望结束时间', - dataIndex: 'expectedEndTime', - valueType: 'date', + order: 1, + render: (_, record) => { + return +
+
+ 开始: + {record.expectedStartTime ? dayjs(record.expectedStartTime).format("YYYY-MM-DD HH:mm") : "-"} +
+
+ 结束: + {record.expectedEndTime ? dayjs(record.expectedEndTime).format("YYYY-MM-DD HH:mm") : "-"} +
+
+
+ }, + renderFormItem: () => }, { key: 'actualStartTime', - title: '实际开始时间', + title: '实际时间', dataIndex: 'actualStartTime', valueType: 'date', - }, { - key: 'actualEndTime', - title: '期望结束时间', - dataIndex: 'actualEndTime', - valueType: 'date', + render: (_, record) => { + return +
+
+ 开始: + {record.actualStartTime ? dayjs(record.actualStartTime).format("YYYY-MM-DD HH:mm") : "-"} +
+
+ 结束: + {record.actualEndTime ? dayjs(record.actualEndTime).format("YYYY-MM-DD HH:mm") : "-"} +
+
+
+ }, }, { key: 'option', title: '操作', valueType: 'option', - render: (_, record) => { - actionRef.current?.reload( false); - }}/>, + render: (_, record) => { + actionRef.current?.reload(false); + }}/>, } ]; let toolBarRenderList = [ - { - actionRef.current?.reload( false); + { + actionRef.current?.reload(false); }}/>, {setSwitchChecked(checked);actionRef.current?.reset?.();}} />, + onChange={(checked, event) => { + setSwitchChecked(checked); + actionRef.current?.reset?.(); + }}/>, ]; - if (switchChecked){ - toolBarRenderList.push(<>树子集是否参与过滤 + if (switchChecked) { + toolBarRenderList.push(<>树子集是否参与过滤 {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 ( 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}> ); };