From 35a85b085df4c76c38c76dfda74aa4527cea0b5b Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期五, 28 二月 2025 15:57:06 +0800
Subject: [PATCH] gx

---
 package-lock.json |  422 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 397 insertions(+), 25 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 1a944f7..60d4c02 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,11 +1,11 @@
 {
-	"name": "vue-next-admin",
+	"name": "vue-nutritional-management",
 	"version": "2.4.33",
 	"lockfileVersion": 2,
 	"requires": true,
 	"packages": {
 		"": {
-			"name": "vue-next-admin",
+			"name": "vue-nutritional-management",
 			"version": "2.4.33",
 			"license": "MIT",
 			"dependencies": {
@@ -15,12 +15,16 @@
 				"axios": "^1.6.8",
 				"countup.js": "^2.8.0",
 				"cropperjs": "^1.6.1",
+				"dayjs": "^1.11.13",
 				"echarts": "^5.5.0",
 				"echarts-gl": "^2.0.9",
 				"echarts-wordcloud": "^2.1.0",
 				"element-plus": "^2.6.1",
+				"html2canvas": "^1.4.1",
+				"html2pdf.js": "^0.10.2",
 				"js-cookie": "^3.0.5",
 				"js-table2excel": "^1.1.2",
+				"jspdf": "^2.5.2",
 				"jsplumb": "^2.15.6",
 				"mitt": "^3.0.1",
 				"nprogress": "^0.2.0",
@@ -36,7 +40,8 @@
 				"vue-demi": "^0.14.7",
 				"vue-grid-layout": "^3.0.0-beta1",
 				"vue-i18n": "^9.10.2",
-				"vue-router": "^4.3.0"
+				"vue-router": "^4.3.0",
+				"vue3-print-nb": "^0.1.4"
 			},
 			"devDependencies": {
 				"@types/node": "^20.11.28",
@@ -83,11 +88,11 @@
 			}
 		},
 		"node_modules/@babel/runtime": {
-			"version": "7.21.0",
-			"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
-			"integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
+			"version": "7.26.0",
+			"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.26.0.tgz",
+			"integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==",
 			"dependencies": {
-				"regenerator-runtime": "^0.13.11"
+				"regenerator-runtime": "^0.14.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -103,7 +108,7 @@
 		},
 		"node_modules/@element-plus/icons-vue": {
 			"version": "2.3.1",
-			"resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
+			"resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
 			"integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
 			"peerDependencies": {
 				"vue": "^3.2.0"
@@ -1074,6 +1079,12 @@
 			"integrity": "sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==",
 			"dev": true
 		},
+		"node_modules/@types/raf": {
+			"version": "3.4.3",
+			"resolved": "https://registry.npmmirror.com/@types/raf/-/raf-3.4.3.tgz",
+			"integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==",
+			"optional": true
+		},
 		"node_modules/@types/semver": {
 			"version": "7.5.8",
 			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
@@ -1762,6 +1773,17 @@
 			"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
 			"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
 		},
+		"node_modules/atob": {
+			"version": "2.1.2",
+			"resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz",
+			"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+			"bin": {
+				"atob": "bin/atob.js"
+			},
+			"engines": {
+				"node": ">= 4.5.0"
+			}
+		},
 		"node_modules/axios": {
 			"version": "1.6.8",
 			"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
@@ -1777,6 +1799,14 @@
 			"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
 			"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
 			"dev": true
+		},
+		"node_modules/base64-arraybuffer": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmmirror.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
+			"integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==",
+			"engines": {
+				"node": ">= 0.6.0"
+			}
 		},
 		"node_modules/batch-processor": {
 			"version": "1.0.0",
@@ -1820,6 +1850,17 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/btoa": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmmirror.com/btoa/-/btoa-1.2.1.tgz",
+			"integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==",
+			"bin": {
+				"btoa": "bin/btoa.js"
+			},
+			"engines": {
+				"node": ">= 0.4.0"
+			}
+		},
 		"node_modules/call-bind": {
 			"version": "1.0.7",
 			"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
@@ -1846,6 +1887,31 @@
 			"engines": {
 				"node": ">=6"
 			}
+		},
+		"node_modules/canvg": {
+			"version": "3.0.10",
+			"resolved": "https://registry.npmmirror.com/canvg/-/canvg-3.0.10.tgz",
+			"integrity": "sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==",
+			"optional": true,
+			"dependencies": {
+				"@babel/runtime": "^7.12.5",
+				"@types/raf": "^3.4.0",
+				"core-js": "^3.8.3",
+				"raf": "^3.4.1",
+				"regenerator-runtime": "^0.13.7",
+				"rgbcolor": "^1.0.1",
+				"stackblur-canvas": "^2.0.0",
+				"svg-pathdata": "^6.0.3"
+			},
+			"engines": {
+				"node": ">=10.0.0"
+			}
+		},
+		"node_modules/canvg/node_modules/regenerator-runtime": {
+			"version": "0.13.11",
+			"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
+			"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==",
+			"optional": true
 		},
 		"node_modules/chalk": {
 			"version": "4.1.2",
@@ -1957,6 +2023,17 @@
 			"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
 			"dev": true
 		},
+		"node_modules/core-js": {
+			"version": "3.39.0",
+			"resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.39.0.tgz",
+			"integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==",
+			"hasInstallScript": true,
+			"optional": true,
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/core-js"
+			}
+		},
 		"node_modules/countup.js": {
 			"version": "2.8.0",
 			"resolved": "https://registry.npmjs.org/countup.js/-/countup.js-2.8.0.tgz",
@@ -1979,6 +2056,14 @@
 			},
 			"engines": {
 				"node": ">= 8"
+			}
+		},
+		"node_modules/css-line-break": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmmirror.com/css-line-break/-/css-line-break-2.1.0.tgz",
+			"integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
+			"dependencies": {
+				"utrie": "^1.0.2"
 			}
 		},
 		"node_modules/cssesc": {
@@ -2008,9 +2093,9 @@
 			}
 		},
 		"node_modules/dayjs": {
-			"version": "1.11.7",
-			"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
-			"integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ=="
+			"version": "1.11.13",
+			"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz",
+			"integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
 		},
 		"node_modules/debug": {
 			"version": "4.3.4",
@@ -2095,6 +2180,12 @@
 			"dependencies": {
 				"ssr-window": "^3.0.0-alpha.1"
 			}
+		},
+		"node_modules/dompurify": {
+			"version": "2.5.7",
+			"resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-2.5.7.tgz",
+			"integrity": "sha512-2q4bEI+coQM8f5ez7kt2xclg1XsecaV9ASJk/54vwlfRRNQfDqJz2pzQ8t0Ix/ToBpXlVjrRIx7pFC/o8itG2Q==",
+			"optional": true
 		},
 		"node_modules/echarts": {
 			"version": "5.5.0",
@@ -2211,6 +2302,11 @@
 				"es5-ext": "^0.10.35",
 				"es6-symbol": "^3.1.1"
 			}
+		},
+		"node_modules/es6-promise": {
+			"version": "4.2.8",
+			"resolved": "https://registry.npmmirror.com/es6-promise/-/es6-promise-4.2.8.tgz",
+			"integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
 		},
 		"node_modules/es6-symbol": {
 			"version": "3.1.3",
@@ -2520,6 +2616,11 @@
 			"dependencies": {
 				"reusify": "^1.0.4"
 			}
+		},
+		"node_modules/fflate": {
+			"version": "0.8.2",
+			"resolved": "https://registry.npmmirror.com/fflate/-/fflate-0.8.2.tgz",
+			"integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A=="
 		},
 		"node_modules/file-entry-cache": {
 			"version": "6.0.1",
@@ -2832,6 +2933,28 @@
 				"url": "https://github.com/sponsors/wooorm"
 			}
 		},
+		"node_modules/html2canvas": {
+			"version": "1.4.1",
+			"resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz",
+			"integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
+			"dependencies": {
+				"css-line-break": "^2.1.0",
+				"text-segmentation": "^1.0.3"
+			},
+			"engines": {
+				"node": ">=8.0.0"
+			}
+		},
+		"node_modules/html2pdf.js": {
+			"version": "0.10.2",
+			"resolved": "https://registry.npmmirror.com/html2pdf.js/-/html2pdf.js-0.10.2.tgz",
+			"integrity": "sha512-WyHVeMb18Bp7vYTmBv1GVsThH//K7SRfHdSdhHPkl4JvyQarNQXnailkYn0QUbRRmnN5rdbbmSIGEsPZtzPy2Q==",
+			"dependencies": {
+				"es6-promise": "^4.2.5",
+				"html2canvas": "^1.0.0",
+				"jspdf": "^2.3.1"
+			}
+		},
 		"node_modules/i18next": {
 			"version": "20.6.1",
 			"resolved": "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz",
@@ -3036,6 +3159,23 @@
 			},
 			"optionalDependencies": {
 				"graceful-fs": "^4.1.6"
+			}
+		},
+		"node_modules/jspdf": {
+			"version": "2.5.2",
+			"resolved": "https://registry.npmmirror.com/jspdf/-/jspdf-2.5.2.tgz",
+			"integrity": "sha512-myeX9c+p7znDWPk0eTrujCzNjT+CXdXyk7YmJq5nD5V7uLLKmSXnlQ/Jn/kuo3X09Op70Apm0rQSnFWyGK8uEQ==",
+			"dependencies": {
+				"@babel/runtime": "^7.23.2",
+				"atob": "^2.1.2",
+				"btoa": "^1.2.1",
+				"fflate": "^0.8.1"
+			},
+			"optionalDependencies": {
+				"canvg": "^3.0.6",
+				"core-js": "^3.6.0",
+				"dompurify": "^2.5.4",
+				"html2canvas": "^1.0.0-rc.5"
 			}
 		},
 		"node_modules/jsplumb": {
@@ -3406,6 +3546,12 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/performance-now": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
+			"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
+			"optional": true
+		},
 		"node_modules/picocolors": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
@@ -3587,6 +3733,15 @@
 				}
 			]
 		},
+		"node_modules/raf": {
+			"version": "3.4.1",
+			"resolved": "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz",
+			"integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
+			"optional": true,
+			"dependencies": {
+				"performance-now": "^2.1.0"
+			}
+		},
 		"node_modules/readdirp": {
 			"version": "3.6.0",
 			"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -3600,9 +3755,9 @@
 			}
 		},
 		"node_modules/regenerator-runtime": {
-			"version": "0.13.11",
-			"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
-			"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
+			"version": "0.14.1",
+			"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+			"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
 		},
 		"node_modules/resolve-from": {
 			"version": "4.0.0",
@@ -3621,6 +3776,15 @@
 			"engines": {
 				"iojs": ">=1.0.0",
 				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/rgbcolor": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmmirror.com/rgbcolor/-/rgbcolor-1.0.1.tgz",
+			"integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==",
+			"optional": true,
+			"engines": {
+				"node": ">= 0.8.15"
 			}
 		},
 		"node_modules/rimraf": {
@@ -3874,6 +4038,15 @@
 			"resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz",
 			"integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA=="
 		},
+		"node_modules/stackblur-canvas": {
+			"version": "2.7.0",
+			"resolved": "https://registry.npmmirror.com/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz",
+			"integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==",
+			"optional": true,
+			"engines": {
+				"node": ">=0.1.14"
+			}
+		},
 		"node_modules/strip-ansi": {
 			"version": "6.0.1",
 			"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
@@ -3908,6 +4081,23 @@
 			},
 			"engines": {
 				"node": ">=8"
+			}
+		},
+		"node_modules/svg-pathdata": {
+			"version": "6.0.3",
+			"resolved": "https://registry.npmmirror.com/svg-pathdata/-/svg-pathdata-6.0.3.tgz",
+			"integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==",
+			"optional": true,
+			"engines": {
+				"node": ">=12.0.0"
+			}
+		},
+		"node_modules/text-segmentation": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz",
+			"integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
+			"dependencies": {
+				"utrie": "^1.0.2"
 			}
 		},
 		"node_modules/text-table": {
@@ -4026,6 +4216,14 @@
 			"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
 			"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
 			"dev": true
+		},
+		"node_modules/utrie": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmmirror.com/utrie/-/utrie-1.0.2.tgz",
+			"integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
+			"dependencies": {
+				"base64-arraybuffer": "^1.0.2"
+			}
 		},
 		"node_modules/vite": {
 			"version": "5.1.6",
@@ -4271,6 +4469,14 @@
 				"vue": "^3.2.0"
 			}
 		},
+		"node_modules/vue3-print-nb": {
+			"version": "0.1.4",
+			"resolved": "https://registry.npmmirror.com/vue3-print-nb/-/vue3-print-nb-0.1.4.tgz",
+			"integrity": "sha512-LExI7viEzplR6ZKQ2b+V4U0cwGYbVD4fut/XHvk3UPGlT5CcvIGs6VlwGp107aKgk6P8Pgx4rco3Rehv2lti3A==",
+			"dependencies": {
+				"vue": "^3.0.5"
+			}
+		},
 		"node_modules/which": {
 			"version": "2.0.2",
 			"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -4346,11 +4552,11 @@
 			"integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg=="
 		},
 		"@babel/runtime": {
-			"version": "7.21.0",
-			"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
-			"integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
+			"version": "7.26.0",
+			"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.26.0.tgz",
+			"integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==",
 			"requires": {
-				"regenerator-runtime": "^0.13.11"
+				"regenerator-runtime": "^0.14.0"
 			}
 		},
 		"@ctrl/tinycolor": {
@@ -4360,7 +4566,7 @@
 		},
 		"@element-plus/icons-vue": {
 			"version": "2.3.1",
-			"resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
+			"resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
 			"integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
 			"requires": {}
 		},
@@ -4936,6 +5142,12 @@
 			"integrity": "sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==",
 			"dev": true
 		},
+		"@types/raf": {
+			"version": "3.4.3",
+			"resolved": "https://registry.npmmirror.com/@types/raf/-/raf-3.4.3.tgz",
+			"integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==",
+			"optional": true
+		},
 		"@types/semver": {
 			"version": "7.5.8",
 			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
@@ -5419,6 +5631,11 @@
 			"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
 			"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
 		},
+		"atob": {
+			"version": "2.1.2",
+			"resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz",
+			"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
+		},
 		"axios": {
 			"version": "1.6.8",
 			"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
@@ -5434,6 +5651,11 @@
 			"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
 			"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
 			"dev": true
+		},
+		"base64-arraybuffer": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmmirror.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
+			"integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="
 		},
 		"batch-processor": {
 			"version": "1.0.0",
@@ -5471,6 +5693,11 @@
 				"fill-range": "^7.0.1"
 			}
 		},
+		"btoa": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmmirror.com/btoa/-/btoa-1.2.1.tgz",
+			"integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g=="
+		},
 		"call-bind": {
 			"version": "1.0.7",
 			"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
@@ -5488,6 +5715,30 @@
 			"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
 			"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
 			"dev": true
+		},
+		"canvg": {
+			"version": "3.0.10",
+			"resolved": "https://registry.npmmirror.com/canvg/-/canvg-3.0.10.tgz",
+			"integrity": "sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==",
+			"optional": true,
+			"requires": {
+				"@babel/runtime": "^7.12.5",
+				"@types/raf": "^3.4.0",
+				"core-js": "^3.8.3",
+				"raf": "^3.4.1",
+				"regenerator-runtime": "^0.13.7",
+				"rgbcolor": "^1.0.1",
+				"stackblur-canvas": "^2.0.0",
+				"svg-pathdata": "^6.0.3"
+			},
+			"dependencies": {
+				"regenerator-runtime": {
+					"version": "0.13.11",
+					"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
+					"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==",
+					"optional": true
+				}
+			}
 		},
 		"chalk": {
 			"version": "4.1.2",
@@ -5575,6 +5826,12 @@
 			"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
 			"dev": true
 		},
+		"core-js": {
+			"version": "3.39.0",
+			"resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.39.0.tgz",
+			"integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==",
+			"optional": true
+		},
 		"countup.js": {
 			"version": "2.8.0",
 			"resolved": "https://registry.npmjs.org/countup.js/-/countup.js-2.8.0.tgz",
@@ -5594,6 +5851,14 @@
 				"path-key": "^3.1.0",
 				"shebang-command": "^2.0.0",
 				"which": "^2.0.1"
+			}
+		},
+		"css-line-break": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmmirror.com/css-line-break/-/css-line-break-2.1.0.tgz",
+			"integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
+			"requires": {
+				"utrie": "^1.0.2"
 			}
 		},
 		"cssesc": {
@@ -5617,9 +5882,9 @@
 			}
 		},
 		"dayjs": {
-			"version": "1.11.7",
-			"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
-			"integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ=="
+			"version": "1.11.13",
+			"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz",
+			"integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
 		},
 		"debug": {
 			"version": "4.3.4",
@@ -5681,6 +5946,12 @@
 			"requires": {
 				"ssr-window": "^3.0.0-alpha.1"
 			}
+		},
+		"dompurify": {
+			"version": "2.5.7",
+			"resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-2.5.7.tgz",
+			"integrity": "sha512-2q4bEI+coQM8f5ez7kt2xclg1XsecaV9ASJk/54vwlfRRNQfDqJz2pzQ8t0Ix/ToBpXlVjrRIx7pFC/o8itG2Q==",
+			"optional": true
 		},
 		"echarts": {
 			"version": "5.5.0",
@@ -5773,6 +6044,11 @@
 				"es5-ext": "^0.10.35",
 				"es6-symbol": "^3.1.1"
 			}
+		},
+		"es6-promise": {
+			"version": "4.2.8",
+			"resolved": "https://registry.npmmirror.com/es6-promise/-/es6-promise-4.2.8.tgz",
+			"integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
 		},
 		"es6-symbol": {
 			"version": "3.1.3",
@@ -6023,6 +6299,11 @@
 				"reusify": "^1.0.4"
 			}
 		},
+		"fflate": {
+			"version": "0.8.2",
+			"resolved": "https://registry.npmmirror.com/fflate/-/fflate-0.8.2.tgz",
+			"integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A=="
+		},
 		"file-entry-cache": {
 			"version": "6.0.1",
 			"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -6234,6 +6515,25 @@
 			"resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz",
 			"integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A=="
 		},
+		"html2canvas": {
+			"version": "1.4.1",
+			"resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz",
+			"integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
+			"requires": {
+				"css-line-break": "^2.1.0",
+				"text-segmentation": "^1.0.3"
+			}
+		},
+		"html2pdf.js": {
+			"version": "0.10.2",
+			"resolved": "https://registry.npmmirror.com/html2pdf.js/-/html2pdf.js-0.10.2.tgz",
+			"integrity": "sha512-WyHVeMb18Bp7vYTmBv1GVsThH//K7SRfHdSdhHPkl4JvyQarNQXnailkYn0QUbRRmnN5rdbbmSIGEsPZtzPy2Q==",
+			"requires": {
+				"es6-promise": "^4.2.5",
+				"html2canvas": "^1.0.0",
+				"jspdf": "^2.3.1"
+			}
+		},
 		"i18next": {
 			"version": "20.6.1",
 			"resolved": "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz",
@@ -6396,6 +6696,21 @@
 			"requires": {
 				"graceful-fs": "^4.1.6",
 				"universalify": "^2.0.0"
+			}
+		},
+		"jspdf": {
+			"version": "2.5.2",
+			"resolved": "https://registry.npmmirror.com/jspdf/-/jspdf-2.5.2.tgz",
+			"integrity": "sha512-myeX9c+p7znDWPk0eTrujCzNjT+CXdXyk7YmJq5nD5V7uLLKmSXnlQ/Jn/kuo3X09Op70Apm0rQSnFWyGK8uEQ==",
+			"requires": {
+				"@babel/runtime": "^7.23.2",
+				"atob": "^2.1.2",
+				"btoa": "^1.2.1",
+				"canvg": "^3.0.6",
+				"core-js": "^3.6.0",
+				"dompurify": "^2.5.4",
+				"fflate": "^0.8.1",
+				"html2canvas": "^1.0.0-rc.5"
 			}
 		},
 		"jsplumb": {
@@ -6684,6 +6999,12 @@
 			"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
 			"dev": true
 		},
+		"performance-now": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
+			"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
+			"optional": true
+		},
 		"picocolors": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
@@ -6781,6 +7102,15 @@
 			"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
 			"dev": true
 		},
+		"raf": {
+			"version": "3.4.1",
+			"resolved": "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz",
+			"integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
+			"optional": true,
+			"requires": {
+				"performance-now": "^2.1.0"
+			}
+		},
 		"readdirp": {
 			"version": "3.6.0",
 			"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -6791,9 +7121,9 @@
 			}
 		},
 		"regenerator-runtime": {
-			"version": "0.13.11",
-			"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
-			"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
+			"version": "0.14.1",
+			"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+			"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
 		},
 		"resolve-from": {
 			"version": "4.0.0",
@@ -6806,6 +7136,12 @@
 			"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
 			"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
 			"dev": true
+		},
+		"rgbcolor": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmmirror.com/rgbcolor/-/rgbcolor-1.0.1.tgz",
+			"integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==",
+			"optional": true
 		},
 		"rimraf": {
 			"version": "3.0.2",
@@ -6980,6 +7316,12 @@
 			"resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz",
 			"integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA=="
 		},
+		"stackblur-canvas": {
+			"version": "2.7.0",
+			"resolved": "https://registry.npmmirror.com/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz",
+			"integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==",
+			"optional": true
+		},
 		"strip-ansi": {
 			"version": "6.0.1",
 			"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
@@ -7002,6 +7344,20 @@
 			"dev": true,
 			"requires": {
 				"has-flag": "^4.0.0"
+			}
+		},
+		"svg-pathdata": {
+			"version": "6.0.3",
+			"resolved": "https://registry.npmmirror.com/svg-pathdata/-/svg-pathdata-6.0.3.tgz",
+			"integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==",
+			"optional": true
+		},
+		"text-segmentation": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz",
+			"integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
+			"requires": {
+				"utrie": "^1.0.2"
 			}
 		},
 		"text-table": {
@@ -7093,6 +7449,14 @@
 			"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
 			"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
 			"dev": true
+		},
+		"utrie": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmmirror.com/utrie/-/utrie-1.0.2.tgz",
+			"integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
+			"requires": {
+				"base64-arraybuffer": "^1.0.2"
+			}
 		},
 		"vite": {
 			"version": "5.1.6",
@@ -7236,6 +7600,14 @@
 				"@vue/devtools-api": "^6.5.1"
 			}
 		},
+		"vue3-print-nb": {
+			"version": "0.1.4",
+			"resolved": "https://registry.npmmirror.com/vue3-print-nb/-/vue3-print-nb-0.1.4.tgz",
+			"integrity": "sha512-LExI7viEzplR6ZKQ2b+V4U0cwGYbVD4fut/XHvk3UPGlT5CcvIGs6VlwGp107aKgk6P8Pgx4rco3Rehv2lti3A==",
+			"requires": {
+				"vue": "^3.0.5"
+			}
+		},
 		"which": {
 			"version": "2.0.2",
 			"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",

--
Gitblit v1.8.0