diff --git a/cdTMP/package-lock.json b/cdTMP/package-lock.json index 88153b2..3356342 100644 --- a/cdTMP/package-lock.json +++ b/cdTMP/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@arco-design/color": "^0.4.0", "@arco-design/web-vue": "^2.57.0", - "@tanstack/vue-query": "^5.69.0", + "@tanstack/vue-query": "^5.71.1", "@tinymce/tinymce-vue": "^6.1.0", "@vueuse/core": "^13.0.0", "axios": "^1.8.4", @@ -28,15 +28,15 @@ "vue": "^3.5.13", "vue-clipboard3": "^2.0.0", "vue-color-kit": "^1.0.6", - "vue-data-ui": "^2.6.24", + "vue-data-ui": "^2.6.27", "vue-router": "^4.5.0", "vuedraggable": "^2.24.3" }, "devDependencies": { - "@tailwindcss/postcss": "^4.0.15", - "@tailwindcss/vite": "^4.0.15", + "@tailwindcss/postcss": "^4.1.0", + "@tailwindcss/vite": "^4.1.0", "@types/lodash-es": "^4.17.12", - "@types/node": "^22.13.13", + "@types/node": "^22.13.17", "@types/nprogress": "^0.2.3", "@types/qs": "^6.9.18", "@vitejs/plugin-vue": "^5.2.3", @@ -50,9 +50,9 @@ "postcss": "^8.5.3", "prettier": "^3.5.3", "rollup-plugin-visualizer": "^5.14.0", - "tailwindcss": "^4.0.15", + "tailwindcss": "^4.1.0", "typescript": "^5.8.2", - "vite": "^6.2.3", + "vite": "^6.2.4", "vue-eslint-parser": "^10.1.1" } }, @@ -1440,44 +1440,45 @@ ] }, "node_modules/@tailwindcss/node": { - "version": "4.0.15", - "resolved": "https://registry.npmmirror.com/@tailwindcss/node/-/node-4.0.15.tgz", - "integrity": "sha512-IODaJjNmiasfZX3IoS+4Em3iu0fD2HS0/tgrnkYfW4hyUor01Smnr5eY3jc4rRgaTDrJlDmBTHbFO0ETTDaxWA==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@tailwindcss/node/-/node-4.1.0.tgz", + "integrity": "sha512-mfgxGxFaxbsUbaGwKIAQXUSm7Qoojw53FftpoKwo4ANwr9wnDaByz4vi1gMti/xfJvmQ5lzA1DvPiX5yCHtBkQ==", "dev": true, "license": "MIT", "dependencies": { "enhanced-resolve": "^5.18.1", "jiti": "^2.4.2", - "tailwindcss": "4.0.15" + "lightningcss": "1.29.2", + "tailwindcss": "4.1.0" } }, "node_modules/@tailwindcss/oxide": { - "version": "4.0.15", - "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide/-/oxide-4.0.15.tgz", - "integrity": "sha512-e0uHrKfPu7JJGMfjwVNyt5M0u+OP8kUmhACwIRlM+JNBuReDVQ63yAD1NWe5DwJtdaHjugNBil76j+ks3zlk6g==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide/-/oxide-4.1.0.tgz", + "integrity": "sha512-A33oyZKpPFH08d7xkl13Dc8OTsbPhsuls0z9gUCxIHvn8c1BsUACddQxL6HwaeJR1fSYyXZUw8bdWcD8bVawpQ==", "dev": true, "license": "MIT", "engines": { "node": ">= 10" }, "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.0.15", - "@tailwindcss/oxide-darwin-arm64": "4.0.15", - "@tailwindcss/oxide-darwin-x64": "4.0.15", - "@tailwindcss/oxide-freebsd-x64": "4.0.15", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.0.15", - "@tailwindcss/oxide-linux-arm64-gnu": "4.0.15", - "@tailwindcss/oxide-linux-arm64-musl": "4.0.15", - "@tailwindcss/oxide-linux-x64-gnu": "4.0.15", - "@tailwindcss/oxide-linux-x64-musl": "4.0.15", - "@tailwindcss/oxide-win32-arm64-msvc": "4.0.15", - "@tailwindcss/oxide-win32-x64-msvc": "4.0.15" + "@tailwindcss/oxide-android-arm64": "4.1.0", + "@tailwindcss/oxide-darwin-arm64": "4.1.0", + "@tailwindcss/oxide-darwin-x64": "4.1.0", + "@tailwindcss/oxide-freebsd-x64": "4.1.0", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.0", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.0", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.0", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.0", + "@tailwindcss/oxide-linux-x64-musl": "4.1.0", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.0", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.0" } }, "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.0.15", - "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.0.15.tgz", - "integrity": "sha512-EBuyfSKkom7N+CB3A+7c0m4+qzKuiN0WCvzPvj5ZoRu4NlQadg/mthc1tl5k9b5ffRGsbDvP4k21azU4VwVk3Q==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.0.tgz", + "integrity": "sha512-UredFljuHey2Kh5qyYfQVBr0Xfq70ZE5Df6i5IubNYQGs2JXXT4VL0SIUjwzHx5W9T6t7dT7banunlV6lthGPQ==", "cpu": [ "arm64" ], @@ -1492,9 +1493,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.0.15", - "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.0.15.tgz", - "integrity": "sha512-ObVAnEpLepMhV9VoO0JSit66jiN5C4YCqW3TflsE9boo2Z7FIjV80RFbgeL2opBhtxbaNEDa6D0/hq/EP03kgQ==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.0.tgz", + "integrity": "sha512-QHQ/46lRVwH9zEBNiRk8AJ3Af4pMq6DuZAI//q323qrPOXjsRdrhLsH9LUO3mqBfHr5EZNUxN3Am5vpO89sntw==", "cpu": [ "arm64" ], @@ -1509,9 +1510,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.0.15", - "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.0.15.tgz", - "integrity": "sha512-IElwoFhUinOr9MyKmGTPNi1Rwdh68JReFgYWibPWTGuevkHkLWKEflZc2jtI5lWZ5U9JjUnUfnY43I4fEXrc4g==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.0.tgz", + "integrity": "sha512-lEMgYHCvQQ6x2KOZ4FwnPprwfnc+UnjzwXRqEYIhB/NlYvXQD1QMf7oKEDRqy94DiZaYox9ZRfG2YJOBgM0UkA==", "cpu": [ "x64" ], @@ -1526,9 +1527,9 @@ } }, "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.0.15", - "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.0.15.tgz", - "integrity": "sha512-6BLLqyx7SIYRBOnTZ8wgfXANLJV5TQd3PevRJZp0vn42eO58A2LykRKdvL1qyPfdpmEVtF+uVOEZ4QTMqDRAWA==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.0.tgz", + "integrity": "sha512-9fdImTc+2lA5yHqJ61oeTXfCtzylNOzJVFhyWwVQAJESJJbVCPnj6f+b+Zf/AYAdKQfS6FCThbPEahkQrDCgLQ==", "cpu": [ "x64" ], @@ -1543,9 +1544,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.0.15", - "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.0.15.tgz", - "integrity": "sha512-Zy63EVqO9241Pfg6G0IlRIWyY5vNcWrL5dd2WAKVJZRQVeolXEf1KfjkyeAAlErDj72cnyXObEZjMoPEKHpdNw==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.0.tgz", + "integrity": "sha512-HB0bTkUOuTLLSdadyRhKE9yps4/ZBjrojbHTPMSvvf/8yBLZRPpWb+A6IgW5R+2A2AL4KhVPgLwWfoXsErxJFg==", "cpu": [ "arm" ], @@ -1560,9 +1561,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.0.15", - "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.0.15.tgz", - "integrity": "sha512-2NemGQeaTbtIp1Z2wyerbVEJZTkAWhMDOhhR5z/zJ75yMNf8yLnE+sAlyf6yGDNr+1RqvWrRhhCFt7i0CIxe4Q==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.0.tgz", + "integrity": "sha512-+QtYCwvKLjC46h6RikKkpELJWrpiMMtgyK0aaqhwPLEx1icGgIhwz8dqrkAiqbFRE0KiRrE2aenhYoEkplyRmA==", "cpu": [ "arm64" ], @@ -1577,9 +1578,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.0.15", - "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.0.15.tgz", - "integrity": "sha512-342GVnhH/6PkVgKtEzvNVuQ4D+Q7B7qplvuH20Cfz9qEtydG6IQczTZ5IT4JPlh931MG1NUCVxg+CIorr1WJyw==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.0.tgz", + "integrity": "sha512-nApadFKM9GauzuPZPlt6TKfELavMHqJ0gVd+GYkYBTwr2t9KhgCAb2sKiFDDIhs1a7gOjsU7P1lEauv3iKFp+Q==", "cpu": [ "arm64" ], @@ -1594,9 +1595,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.0.15", - "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.0.15.tgz", - "integrity": "sha512-g76GxlKH124RuGqacCEFc2nbzRl7bBrlC8qDQMiUABkiifDRHOIUjgKbLNG4RuR9hQAD/MKsqZ7A8L08zsoBrw==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.0.tgz", + "integrity": "sha512-cp0Rf9Wit2kZHhrV8HIoDFD8dxU2+ZTCFCFbDj3a07pGyyPwLCJm5H5VipKXgYrBaLmlYu73ERidW0S5sdEXEg==", "cpu": [ "x64" ], @@ -1611,9 +1612,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.0.15", - "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.0.15.tgz", - "integrity": "sha512-Gg/Y1XrKEvKpq6WeNt2h8rMIKOBj/W3mNa5NMvkQgMC7iO0+UNLrYmt6zgZufht66HozNpn+tJMbbkZ5a3LczA==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.0.tgz", + "integrity": "sha512-4/wf42XWBJGXsOS6BhgPhdQbg/qyfdZ1nZvTL9sJoxYN+Ah+cfY5Dd7R0smzI8hmgCRt3TD1lYb72ChTyIA59w==", "cpu": [ "x64" ], @@ -1628,9 +1629,9 @@ } }, "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.0.15", - "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.0.15.tgz", - "integrity": "sha512-7QtSSJwYZ7ZK1phVgcNZpuf7c7gaCj8Wb0xjliligT5qCGCp79OV2n3SJummVZdw4fbTNKUOYMO7m1GinppZyA==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.0.tgz", + "integrity": "sha512-caXJJ0G6NwGbcoxEYdH3MZYN84C3PldaMdAEPMU6bjJXURQlKdSlQ/Ecis7/nSgBkMkicZyhqWmb36Tw/BFSIw==", "cpu": [ "arm64" ], @@ -1645,9 +1646,9 @@ } }, "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.0.15", - "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.0.15.tgz", - "integrity": "sha512-JQ5H+5MLhOjpgNp6KomouE0ZuKmk3hO5h7/ClMNAQ8gZI2zkli3IH8ZqLbd2DVfXDbdxN2xvooIEeIlkIoSCqw==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.0.tgz", + "integrity": "sha512-ZHXRXRxB7HBmkUE8U13nmkGGYfR1I2vsuhiYjeDDUFIYpk1BL6caU8hvzkSlL/X5CAQNdIUUJRGom5I0ZyfJOA==", "cpu": [ "x64" ], @@ -1662,31 +1663,29 @@ } }, "node_modules/@tailwindcss/postcss": { - "version": "4.0.15", - "resolved": "https://registry.npmmirror.com/@tailwindcss/postcss/-/postcss-4.0.15.tgz", - "integrity": "sha512-qyrpoDKIO7wzkRbKCvGLo7gXRjT9/Njf7ZJiJhG4njrfZkvOhjwnaHpYbpxYeDysEg+9pB1R4jcd+vQ7ZUDsmQ==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@tailwindcss/postcss/-/postcss-4.1.0.tgz", + "integrity": "sha512-b2NWFAFfLXY7960jLY5QkKbuYKrQUULx60XU3BCzyaUQpU/7lLf3n2CiHibZPdBq5CIXrUp10wdxhV0EI0Js2g==", "dev": true, "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.0.15", - "@tailwindcss/oxide": "4.0.15", - "lightningcss": "1.29.2", + "@tailwindcss/node": "4.1.0", + "@tailwindcss/oxide": "4.1.0", "postcss": "^8.4.41", - "tailwindcss": "4.0.15" + "tailwindcss": "4.1.0" } }, "node_modules/@tailwindcss/vite": { - "version": "4.0.15", - "resolved": "https://registry.npmmirror.com/@tailwindcss/vite/-/vite-4.0.15.tgz", - "integrity": "sha512-JRexava80NijI8cTcLXNM3nQL5A0ptTHI8oJLLe8z1MpNB6p5J4WCdJJP8RoyHu8/eB1JzEdbpH86eGfbuaezQ==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/@tailwindcss/vite/-/vite-4.1.0.tgz", + "integrity": "sha512-IszG0h/o8jOGheY0f7v41a9qyDymZ5eU8qm4koTypMKagBhaQA06Keip13wch6sz7rG3cvIG7A3/ytdfRh2BUw==", "dev": true, "license": "MIT", "dependencies": { - "@tailwindcss/node": "4.0.15", - "@tailwindcss/oxide": "4.0.15", - "lightningcss": "1.29.2", - "tailwindcss": "4.0.15" + "@tailwindcss/node": "4.1.0", + "@tailwindcss/oxide": "4.1.0", + "tailwindcss": "4.1.0" }, "peerDependencies": { "vite": "^5.2.0 || ^6" @@ -1709,9 +1708,9 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.69.0", - "resolved": "https://registry.npmmirror.com/@tanstack/query-core/-/query-core-5.69.0.tgz", - "integrity": "sha512-Kn410jq6vs1P8Nm+ZsRj9H+U3C0kjuEkYLxbiCyn3MDEiYor1j2DGVULqAz62SLZtUZ/e9Xt6xMXiJ3NJ65WyQ==", + "version": "5.71.1", + "resolved": "https://registry.npmmirror.com/@tanstack/query-core/-/query-core-5.71.1.tgz", + "integrity": "sha512-4+ZswCHOfJX+ikhXNoocamTUmJcHtB+Ljjz/oJkC7/eKB5IrzEwR4vEwZUENiPi+wISucJHR5TUbuuJ26w3kdQ==", "license": "MIT", "funding": { "type": "github", @@ -1719,13 +1718,13 @@ } }, "node_modules/@tanstack/vue-query": { - "version": "5.69.0", - "resolved": "https://registry.npmmirror.com/@tanstack/vue-query/-/vue-query-5.69.0.tgz", - "integrity": "sha512-JZecDd0b+hZChqV5O1wXBfKoxlEj3aGvRj7upuqWei+oGrT+ERuOU4uQn7/DDVA5TouIt88G3oMFBjE2wKO/6A==", + "version": "5.71.1", + "resolved": "https://registry.npmmirror.com/@tanstack/vue-query/-/vue-query-5.71.1.tgz", + "integrity": "sha512-vP8GLlI9ojjg3owElCk+IFdNtdvG5w+wsh/MLY2JlyY5JaoFQb4zP1aerMHPIKV5d8pX4USz4lMq3ele9QPb3g==", "license": "MIT", "dependencies": { "@tanstack/match-sorter-utils": "^8.19.4", - "@tanstack/query-core": "5.69.0", + "@tanstack/query-core": "5.71.1", "@vue/devtools-api": "^6.6.3", "vue-demi": "^0.14.10" }, @@ -1840,9 +1839,9 @@ } }, "node_modules/@types/node": { - "version": "22.13.13", - "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.13.13.tgz", - "integrity": "sha512-ClsL5nMwKaBRwPcCvH8E7+nU4GxHVx1axNvMZTFHMEfNI7oahimt26P5zjVCRrjiIWj6YFXfE1v3dEp94wLcGQ==", + "version": "22.13.17", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.13.17.tgz", + "integrity": "sha512-nAJuQXoyPj04uLgu+obZcSmsfOenUg6DxPKogeUy6yNCFwWaj5sBF8/G/pNo8EtBJjAfSVgfIlugR/BCOleO+g==", "dev": true, "license": "MIT", "dependencies": { @@ -5287,9 +5286,9 @@ } }, "node_modules/tailwindcss": { - "version": "4.0.15", - "resolved": "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-4.0.15.tgz", - "integrity": "sha512-6ZMg+hHdMJpjpeCCFasX7K+U615U9D+7k5/cDK/iRwl6GptF24+I/AbKgOnXhVKePzrEyIXutLv36n4cRsq3Sg==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-4.1.0.tgz", + "integrity": "sha512-vBYstoFnvUZCDxaauNGQQEvJNQgCd1vSMDRYuZZMH1xRRcTboOk1rJrW5yFkEabU9X6Yx1C4LQ+QvPOvQj4Daw==", "dev": true, "license": "MIT" }, @@ -5464,9 +5463,9 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/vite": { - "version": "6.2.3", - "resolved": "https://registry.npmmirror.com/vite/-/vite-6.2.3.tgz", - "integrity": "sha512-IzwM54g4y9JA/xAeBPNaDXiBF8Jsgl3VBQ2YQ/wOY6fyW3xMdSoltIV3Bo59DErdqdE6RxUfv8W69DvUorE4Eg==", + "version": "6.2.4", + "resolved": "https://registry.npmmirror.com/vite/-/vite-6.2.4.tgz", + "integrity": "sha512-veHMSew8CcRzhL5o8ONjy8gkfmFJAd5Ac16oxBUjlwgX3Gq2Wqr+qNC3TjPIpy7TPV/KporLga5GT9HqdrCizw==", "dev": true, "license": "MIT", "dependencies": { @@ -5574,9 +5573,9 @@ } }, "node_modules/vue-data-ui": { - "version": "2.6.24", - "resolved": "https://registry.npmmirror.com/vue-data-ui/-/vue-data-ui-2.6.24.tgz", - "integrity": "sha512-KL7EWsY3Zcuz13BNWfRMv1ancpeu12mTga2Fm+5SJYuz1BuNxUZEvTXgGKifvqZ5+GZ/H6YHZHwEB/mHedUcyQ==", + "version": "2.6.27", + "resolved": "https://registry.npmmirror.com/vue-data-ui/-/vue-data-ui-2.6.27.tgz", + "integrity": "sha512-GCg2cmyABpyttECRFcYXdzygdFk7S1k1MfuEkBgvsLvD2rJVkQKZbqK9jjvrYtzDSZ5bBAhIjyvTKJoKbt02bw==", "license": "MIT", "peerDependencies": { "vue": ">=3.3.0" diff --git a/cdTMP/package.json b/cdTMP/package.json index 4d9d224..97891b3 100644 --- a/cdTMP/package.json +++ b/cdTMP/package.json @@ -13,7 +13,7 @@ "dependencies": { "@arco-design/color": "^0.4.0", "@arco-design/web-vue": "^2.57.0", - "@tanstack/vue-query": "^5.69.0", + "@tanstack/vue-query": "^5.71.1", "@tinymce/tinymce-vue": "^6.1.0", "@vueuse/core": "^13.0.0", "axios": "^1.8.4", @@ -31,15 +31,15 @@ "vue": "^3.5.13", "vue-clipboard3": "^2.0.0", "vue-color-kit": "^1.0.6", - "vue-data-ui": "^2.6.24", + "vue-data-ui": "^2.6.27", "vue-router": "^4.5.0", "vuedraggable": "^2.24.3" }, "devDependencies": { - "@tailwindcss/postcss": "^4.0.15", - "@tailwindcss/vite": "^4.0.15", + "@tailwindcss/postcss": "^4.1.0", + "@tailwindcss/vite": "^4.1.0", "@types/lodash-es": "^4.17.12", - "@types/node": "^22.13.13", + "@types/node": "^22.13.17", "@types/nprogress": "^0.2.3", "@types/qs": "^6.9.18", "@vitejs/plugin-vue": "^5.2.3", @@ -53,9 +53,9 @@ "postcss": "^8.5.3", "prettier": "^3.5.3", "rollup-plugin-visualizer": "^5.14.0", - "tailwindcss": "^4.0.15", + "tailwindcss": "^4.1.0", "typescript": "^5.8.2", - "vite": "^6.2.3", + "vite": "^6.2.4", "vue-eslint-parser": "^10.1.1" } } diff --git a/cdTMP/src/api/system/dict.js b/cdTMP/src/api/system/dict.js index af6cc13..719c401 100644 --- a/cdTMP/src/api/system/dict.js +++ b/cdTMP/src/api/system/dict.js @@ -68,7 +68,7 @@ export default { }) }, /** - * 添加字典Item数据 + * 添加dictItem数据 * @returns */ saveDictItem(data = {}) { @@ -99,5 +99,27 @@ export default { method: "delete", data }) + }, + /** + * 快速新增字典项(非字典) + * @returns 成功或失败 + */ + createDictItemFast(data = {}) { + return request({ + url: "system/dataDict/fastSave", + method: "post", + data + }) + }, + /** + * 快速新增依据标准字典项(非字典) + * @returns 成功或失败 + */ + createDictItemStdFast(data = {}) { + return request({ + url: "system/dataDict/saveStdItem", + method: "post", + data + }) } } diff --git a/cdTMP/src/components/ma-crud/components/search.vue b/cdTMP/src/components/ma-crud/components/search.vue index ae4ac08..8642119 100644 --- a/cdTMP/src/components/ma-crud/components/search.vue +++ b/cdTMP/src/components/ma-crud/components/search.vue @@ -1,7 +1,3 @@ - -
+
diff --git a/cdTMP/src/components/ma-crud/components/setting.vue b/cdTMP/src/components/ma-crud/components/setting.vue index 6737f63..a314715 100644 --- a/cdTMP/src/components/ma-crud/components/setting.vue +++ b/cdTMP/src/components/ma-crud/components/setting.vue @@ -25,9 +25,9 @@ 排序:本页是指当前页排序;服务器是指后台排序,若自定义服务器排序可用 - @sorterChange 事件来实现 + >排序:本页是指当前页排序,服务器是指后台排序,后台排序暂无 + + -
+
+ + + + + @@ -141,6 +218,138 @@ import MaFormItem from "./form-item.vue" import { get, isUndefined, set, xor, isObject, isBoolean } from "lodash-es" import { runEvent } from "../js/event.js" import { handlerCascader, loadDict } from "../js/networkRequest.js" +import { Message, Notification } from "@arco-design/web-vue" + +// 改动2:快速新增联系单位信息[耦合内容] - start +import { columnsOptions as contactColumnOption } from "@/views/datamanage/projContact/crudColumns" +import { columnsOptions as abbrColumnOption } from "@/views/datamanage/abbreviation/columnsOptions" +import useDictItemCrud from "@/views/datamanage/dictmanage/DataList/useCrudRef.ts" +import tool from "@/utils/tool" +import contactApi from "@/api/system/contact" +import abbrApi from "@/api/system/abbreviation" +import dictApi from "@/api/system/dict" +//// 1. 处理快速新增单位 +const contactFormOptions = ref( + tool.renameKeyInArray( + contactColumnOption.filter((it) => it.dataIndex !== "id"), + "commonRules", + "rules" + ) +) +const contactFormData = ref({}) +const handleContactFormSubmit = async (data, done) => { + done(true) + try { + const res = await contactApi.save(data) + // 更新当前select的选项 + const newInfo = { + label: res.data.name, + value: res.data.name, + disabled: false, + indeterminate: false + } + dictList.value["entrust_unit"].push(newInfo) + dictList.value["test_unit"].push(newInfo) + dictList.value["dev_unit"].push(newInfo) + // 清空当前数据 + contactFormData.value = {} + Notification.success("添加成功,请回到输入框进行选择") + } catch (err) { + Notification.error("请求错误,请重试或在数据管理页面添加") + } finally { + done(false) + } +} +//// 2. 处理快速新增缩略语 +const abbrFormOptions = ref( + tool.renameKeyInArray( + abbrColumnOption.filter((it) => it.dataIndex !== "id"), + "commonRules", + "rules" + ) +) +const abbrFormData = ref({}) +const handleAbbrFormSubmit = async (data, done) => { + done(true) + try { + const res = await abbrApi.save(data) + // 更新当前select的选项 + const newInfo = { + label: res.data.title, + value: res.data.title, + disabled: false, + indeterminate: false + } + dictList.value["abbreviation"].push(newInfo) + // 清空当前数据 + abbrFormData.value = {} + Notification.success("添加成功,请回到输入框进行选择") + } catch (err) { + Notification.error("请求错误,请重试或在数据管理页面添加") + } finally { + done(false) + } +} +//// 3. 处理快速依据标准 +const { columns: dictColumnOptions } = useDictItemCrud() +const initStdFormData = { + status: "1", + code: "standard", + sort: 1 +} +const stdFormData = ref(initStdFormData) +const stdFormOptions = computed(() => { + const options = tool.renameKeyInArray( + dictColumnOptions.value.filter( + (it) => it.dataIndex !== "id" && it.dataIndex !== "update_datetime" && it.dataIndex !== "key" + ), + "commonRules", + "rules" + ) + return options.map((it) => { + if (it.dataIndex === "doc_name") { + return { + ...it, + rules: [{ required: true, message: "文档名称必填" }] + } + } + if (it.dataIndex === "publish_date") { + return { + ...it, + rules: [{ required: true, message: "发布日期必填" }] + } + } + if (it.dataIndex === "source") { + return { + ...it, + rules: [{ required: true, message: "来源机构必填" }] + } + } + return it + }) +}) +const handleStdFormSubmit = async (data, done) => { + done(true) + try { + const res = await dictApi.createDictItemStdFast(data) + // 更新当前select的选项 + const newInfo = { + label: res.data.doc_name, + value: res.data.key, + disabled: false, + indeterminate: false + } + dictList.value["standard"].push(newInfo) + // 清空当前数据 + stdFormData.value = initStdFormData + Notification.success("添加成功,请回到输入框进行选择") + } catch (err) { + Notification.error("请求错误,请重试或在数据管理页面添加") + } finally { + done(false) + } +} +// 改动2结束 - end const props = defineProps({ component: Object, @@ -159,8 +368,9 @@ const dictList = inject("dictList") const formLoading = inject("formLoading") const columns = inject("columns") const getColumnService = inject("getColumnService") -const rv = async (ev, value = "") => +const rv = async (ev, value = "") => { await runEvent(props.component, ev, { formModel, getColumnService, columns }, value) +} const index = props.customField ?? props.component.dataIndex const dictIndex = index.match(/^(\w+\.)\d+\./) @@ -172,6 +382,38 @@ const loading = ref(false) const optionMap = ref({}) const keyword = ref("") +// 改动1:新增按钮处理 +const createItem = ref("") // 新增string +const createLoading = ref(false) // 新增loading状态 +const handleCreteSubmit = async (onCreate) => { + // 判断是否为空 + if (!createItem.value.trim()) { + Message.error("请填写新增内容") + return + } + createLoading.value = true + try { + const code = await onCreate(createItem.value) + // 处理回显内容-更新当前select的选项 + const optionList = dictList.value[code] + const new_dict_item = { + label: createItem.value, + value: (optionList.length + 1).toString(), + disabled: false, + indeterminate: false + } + optionList.push(new_dict_item) + } catch (err) { + // 弹出错误 + Message.error("新增出错") + } finally { + createItem.value = "" + createLoading.value = false + Notification.success("新增成功,请重新选择新增内容") + } +} +// 改动1结束 + watch( () => get(formModel.value, index), (vl) => (value.value = vl) @@ -271,6 +513,7 @@ const handlePage = async (page) => { loading.value = false } +// 搜索当前字典内容 const handlerFallback = (key) => { return optionMap.value[key] || key } diff --git a/cdTMP/src/components/ma-form/formItem/form-textarea.vue b/cdTMP/src/components/ma-form/formItem/form-textarea.vue index 88a88f0..eeb1f95 100644 --- a/cdTMP/src/components/ma-form/formItem/form-textarea.vue +++ b/cdTMP/src/components/ma-form/formItem/form-textarea.vue @@ -11,7 +11,7 @@ :allow-clear="props.component.allowClear ?? true" :disabled="props.component.disabled" :readonly="props.component.readonly" - :auto-size="props.component.autoSize" + :auto-size="props.component.autoSize || true" :error="props.component.error" :placeholder="props.component.placeholder ?? `请输入${props.component.title}`" :max-length="props.component.maxLength" diff --git a/cdTMP/src/main.ts b/cdTMP/src/main.ts index 29c4801..6e9404f 100644 --- a/cdTMP/src/main.ts +++ b/cdTMP/src/main.ts @@ -24,6 +24,7 @@ app.use(ArcoVueIcon) app.use(router) app.use(pinia) app.use(globalComponents) + // 使用服务端请求数据管理库 import { VueQueryPlugin } from "@tanstack/vue-query" app.use(VueQueryPlugin) diff --git a/cdTMP/src/style/warp.less b/cdTMP/src/style/warp.less index 8e49c92..2adc52f 100644 --- a/cdTMP/src/style/warp.less +++ b/cdTMP/src/style/warp.less @@ -13,3 +13,22 @@ body { --border-radius-medium: 0px; --border-radius-large: 0px; } + +// 覆盖arco表单行间距为3px,原来为20px +.arco-form-item { + display: flex; + align-items: flex-start; + justify-content: flex-start; + width: 100%; + margin-bottom: 5px; +} + +// 覆盖card组件actions的margin-top,原来为20px +.arco-card-actions{ + margin-top: 0px !important; +} + +// 覆盖card组件,padding原来为16px +.arco-card-body{ + padding: 8px !important; +} \ No newline at end of file diff --git a/cdTMP/src/views/dashboard/usercenter/index.vue b/cdTMP/src/views/dashboard/usercenter/index.vue index 06e25cf..f36e3f0 100644 --- a/cdTMP/src/views/dashboard/usercenter/index.vue +++ b/cdTMP/src/views/dashboard/usercenter/index.vue @@ -105,4 +105,7 @@ defineOptions({ .top-box { font-size: 2rem; } +:deep(.arco-form-item) { + margin-bottom: 20px; /* 覆盖默认样式 */ +} diff --git a/cdTMP/src/views/dashboard/usermanage/index.vue b/cdTMP/src/views/dashboard/usermanage/index.vue index 9aa6705..25d8d01 100644 --- a/cdTMP/src/views/dashboard/usermanage/index.vue +++ b/cdTMP/src/views/dashboard/usermanage/index.vue @@ -51,7 +51,6 @@ const crudOptions = reactive({ // 是否显示操作列 operationColumn: true, operationWidth: 200, - showTools: false, // 设置列表数据API api: userApi.getPageList, // 设置新增接口-show为true则显示按钮 diff --git a/cdTMP/src/views/datamanage/abbreviation/columnsOptions.ts b/cdTMP/src/views/datamanage/abbreviation/columnsOptions.ts new file mode 100644 index 0000000..980fd6d --- /dev/null +++ b/cdTMP/src/views/datamanage/abbreviation/columnsOptions.ts @@ -0,0 +1,19 @@ +export const columnsOptions = [ + { title: "ID", dataIndex: "id", addDisplay: false, editDisplay: false, width: 50, hide: true }, + { + title: "缩略语", + align: "center", + width: 200, + dataIndex: "title", + search: true, + commonRules: [{ required: true, message: "缩略语必填" }] + }, + { + title: "全称", + align: "center", + dataIndex: "des", + search: true, + ellipsis: true, + commonRules: [{ required: true, message: "全称和描述必填" }] + } +] diff --git a/cdTMP/src/views/datamanage/abbreviation/index.vue b/cdTMP/src/views/datamanage/abbreviation/index.vue index cfd8b5a..d9fafff 100644 --- a/cdTMP/src/views/datamanage/abbreviation/index.vue +++ b/cdTMP/src/views/datamanage/abbreviation/index.vue @@ -10,6 +10,7 @@ diff --git a/cdTMP/src/views/login.vue b/cdTMP/src/views/login.vue index a7a7e15..aa3d300 100644 --- a/cdTMP/src/views/login.vue +++ b/cdTMP/src/views/login.vue @@ -8,7 +8,10 @@ {{ $title }}
- ---- 为测评服务,打造测评高地 + ---- 为测评服务,打造测评高地
@@ -228,4 +231,8 @@ const handleSubmit = async ({ values, errors }) => { background: #f3ce2b; } } + +:deep(.arco-form-item) { + margin-bottom: 20px; /* 覆盖默认样式 */ +} diff --git a/cdTMP/src/views/monitor/loginLog/index.vue b/cdTMP/src/views/monitor/loginLog/index.vue index 3f6fa00..4fa584b 100644 --- a/cdTMP/src/views/monitor/loginLog/index.vue +++ b/cdTMP/src/views/monitor/loginLog/index.vue @@ -53,7 +53,6 @@ const crudOptions = ref({ api: logApi.getLoginLogs, edit: { api: editClick, text: "查看操作日志信息", show: false }, showIndex: false, - showTools: false, pageLayout: "fixed", tablePagination: false, operationColumn: true, diff --git a/cdTMP/src/views/monitor/operationLog/index.vue b/cdTMP/src/views/monitor/operationLog/index.vue index 57681cf..85a1478 100644 --- a/cdTMP/src/views/monitor/operationLog/index.vue +++ b/cdTMP/src/views/monitor/operationLog/index.vue @@ -29,7 +29,6 @@ const crudOptions = reactive({ api: operationApi.getOperationsLogs, showIndex: false, pageLayout: "fixed", - showTools: false, tablePagination: false, bordered: { wrapper: true, cell: true }, afterDelete(response) { diff --git a/cdTMP/src/views/monitor/operations/index.vue b/cdTMP/src/views/monitor/operations/index.vue index de961da..df15c54 100644 --- a/cdTMP/src/views/monitor/operations/index.vue +++ b/cdTMP/src/views/monitor/operations/index.vue @@ -53,7 +53,6 @@ const crudOptions = ref({ api: logApi.getOperations, edit: { api: editClick, text: "查看操作日志信息", show: false }, showIndex: false, - showTools: false, pageLayout: "fixed", tablePagination: false, operationColumn: true, diff --git a/cdTMP/src/views/project/case/components/ProblemChoose.vue b/cdTMP/src/views/project/case/components/ProblemChoose.vue index 515ecbb..fee4d51 100644 --- a/cdTMP/src/views/project/case/components/ProblemChoose.vue +++ b/cdTMP/src/views/project/case/components/ProblemChoose.vue @@ -137,7 +137,6 @@ const crudOptions = ref({ projectId: route.query.id, key: route.query.key }, - showTools: false, // 不显示工具栏 operationColumn: true, operationColumnAlign: "center", // 操作列居中 isDbClickEdit: false, // 双击不编辑当前列 diff --git a/cdTMP/src/views/project/case/index.vue b/cdTMP/src/views/project/case/index.vue index 3aa1219..5b39561 100644 --- a/cdTMP/src/views/project/case/index.vue +++ b/cdTMP/src/views/project/case/index.vue @@ -124,7 +124,6 @@ const crudOptions = ref({ return tableData }, showIndex: false, - showTools: false, operationColumnAlign: "center", rowSelection: { showCheckedAll: true }, searchColNumber: 3, diff --git a/cdTMP/src/views/project/design-demand/hooks/useCrudOpMore.ts b/cdTMP/src/views/project/design-demand/hooks/useCrudOpMore.ts index 166492c..5b5d237 100644 --- a/cdTMP/src/views/project/design-demand/hooks/useCrudOpMore.ts +++ b/cdTMP/src/views/project/design-demand/hooks/useCrudOpMore.ts @@ -48,7 +48,6 @@ export default function (crudRef: Ref>) { add: { show: true, api: testDemandApi.save, text: "新增测试项" }, edit: { show: true, api: testDemandApi.update, text: "修改测试项" }, delete: { show: true, api: testDemandApi.delete }, - showTools: false, beforeOpenAdd: function () { // 1.新增则将form的content数据变为undifined以便判断 beforeFormContent = undefined diff --git a/cdTMP/src/views/project/dut/hooks/useCrudOptions.ts b/cdTMP/src/views/project/dut/hooks/useCrudOptions.ts index 97bb75a..77dad91 100644 --- a/cdTMP/src/views/project/dut/hooks/useCrudOptions.ts +++ b/cdTMP/src/views/project/dut/hooks/useCrudOptions.ts @@ -68,7 +68,6 @@ export default function (crudRef: Ref>) { formOption: { width: 1200 }, - showTools: false }) return crudOptions } diff --git a/cdTMP/src/views/project/round/hooks/useCrudOptions.ts b/cdTMP/src/views/project/round/hooks/useCrudOptions.ts index c7a271d..4c59e93 100644 --- a/cdTMP/src/views/project/round/hooks/useCrudOptions.ts +++ b/cdTMP/src/views/project/round/hooks/useCrudOptions.ts @@ -54,7 +54,6 @@ export default function (crudRef: Ref>) { }, operationWidth: 500, showIndex: false, - showTools: false, rowSelection: { showCheckedAll: true }, searchColNumber: 3, tablePagination: false, diff --git a/cdTMP/src/views/project/testDemand/hooks/useCrudOpMore.ts b/cdTMP/src/views/project/testDemand/hooks/useCrudOpMore.ts index 91d036f..f64196d 100644 --- a/cdTMP/src/views/project/testDemand/hooks/useCrudOpMore.ts +++ b/cdTMP/src/views/project/testDemand/hooks/useCrudOpMore.ts @@ -106,7 +106,6 @@ export default function (crudRef: Ref>) { testDemand: testDemandNumber }, showIndex: false, - showTools: false, rowSelection: { showCheckedAll: true }, searchColNumber: 3, tablePagination: false, diff --git a/cdTMP/src/views/testmanage/projFragment/hooks/crudOption.ts b/cdTMP/src/views/testmanage/projFragment/hooks/crudOption.ts index 2e087a2..ea62404 100644 --- a/cdTMP/src/views/testmanage/projFragment/hooks/crudOption.ts +++ b/cdTMP/src/views/testmanage/projFragment/hooks/crudOption.ts @@ -98,7 +98,6 @@ const useCrudOption = () => { afterDelete(response: any) { crudRef.value.tableRef.selectAll(false) }, - showTools: false, operationColumn: true, operationColumnWidth: 180, operationColumnAlign: "center", diff --git a/cdTMP/src/views/testmanage/projmanage/hooks/useCrudInit.ts b/cdTMP/src/views/testmanage/projmanage/hooks/useCrudInit.ts index 8a1d1b0..07ab0a0 100644 --- a/cdTMP/src/views/testmanage/projmanage/hooks/useCrudInit.ts +++ b/cdTMP/src/views/testmanage/projmanage/hooks/useCrudInit.ts @@ -2,6 +2,7 @@ import { ref } from "vue" import { validateBlank, validateWindowFileNameInput } from "@/utils/extensions/arcoValidator" import textInfo from "@/config/textInfo" import projectApi from "@/api/testmanage/project" +import dictApi from "@/api/system/dict" const useCrudInit = function () { const crudRef = ref() @@ -16,7 +17,6 @@ const useCrudInit = function () { operationColumn: true, operationWidth: 500, showIndex: false, - showTools: false, operationColumnWidth: 280, // 操作列宽度 operationColumnAlign: "center", // 操作列对齐方式 afterDelete(response: any) { @@ -225,6 +225,14 @@ const useCrudInit = function () { hide: true, search: false, formType: "select", + allowCreate: true, + createInfo: { + title: "运行环境" + }, + onCreate: async (value: any) => { + await dictApi.createDictItemFast({ code: "runtime", title: value }) + return "runtime" + }, dict: { name: "runtime", props: { label: "title", value: "key" } } }, { @@ -233,6 +241,8 @@ const useCrudInit = function () { hide: true, search: true, formType: "select", + // 多选最大标签数量 + maxTagCount: 7, multiple: true, dict: { url: "system/user/list", props: { label: "name", value: "name" }, translation: true }, commonRules: [{ required: true, message: "成员至少选择一个" }] @@ -261,12 +271,24 @@ const useCrudInit = function () { search: false, formType: "select", allowCreate: true, + createInfo: { + title: "开发环境" + }, + onCreate: async (value: any) => { + await dictApi.createDictItemFast({ code: "devplant", title: value }) + return "devplant" + }, dict: { name: "devplant", props: { label: "title", value: "key" } } }, { title: "缩略语", dataIndex: "abbreviation", hide: true, + // 快速新增缩略语内容 + allowAbbrNew: true, + abbrNewInfo: { + title: "新增缩略语" + }, search: false, formType: "select", multiple: true, @@ -339,6 +361,7 @@ const useCrudInit = function () { title: "编程语言", dataIndex: "language", addDefaultValue: ["1"], + maxTagCount: 4, commonRules: [{ required: true, message: "请至少选择一个" }], hide: true, formType: "select", @@ -349,16 +372,27 @@ const useCrudInit = function () { title: "依据标准", dataIndex: "standard", addDefaultValue: ["1", "2", "3", "4", "9"], + maxTagCount: 20, commonRules: [{ required: true, message: "请至少选择一个" }], hide: true, multiple: true, formType: "select", - dict: { name: "standard", props: { label: "title", value: "key" } } + dict: { name: "standard", props: { label: "title", value: "key" } }, + // 新增select选项 + allowStd: true, + stdInfo: { + title: "新增标准" + } }, { title: "单位", dataIndex: "entrust_unit", hide: true, + // 快速新增单位内容 + allowNew: true, + newInfo: { + title: "新增单位信息" + }, commonRules: [{ required: true, message: "单位必选" }], formType: "select", dict: { url: "system/contact/index", props: { label: "name", value: "name" }, translation: true } @@ -393,6 +427,11 @@ const useCrudInit = function () { { title: "单位", dataIndex: "dev_unit", + // 快速新增单位内容 + allowNew: true, + newInfo: { + title: "新增单位信息" + }, hide: true, commonRules: [{ required: true, message: "单位必选" }], formType: "select", @@ -429,6 +468,11 @@ const useCrudInit = function () { title: "单位", dataIndex: "test_unit", hide: true, + // 快速新增单位内容 + allowNew: true, + newInfo: { + title: "新增单位信息" + }, addDefaultValue: textInfo.testUnitAddDefaultText, commonRules: [{ required: true, message: "单位必选" }], formType: "select", diff --git a/cdTMP/src/views/testmanage/projmanage/index.vue b/cdTMP/src/views/testmanage/projmanage/index.vue index 060fe8b..7ac91a7 100644 --- a/cdTMP/src/views/testmanage/projmanage/index.vue +++ b/cdTMP/src/views/testmanage/projmanage/index.vue @@ -109,7 +109,7 @@
-