chenyc
2025-10-14 a6f64303f88508d1c4d6ce53ff46be6b745cfb93
package-lock.json
@@ -20,9 +20,12 @@
            "echarts-gl": "^2.0.9",
            "echarts-wordcloud": "^2.1.0",
            "element-plus": "^2.6.1",
            "file-saver": "^2.0.5",
            "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",
@@ -33,13 +36,15 @@
            "screenfull": "^6.0.2",
            "sortablejs": "^1.15.2",
            "splitpanes": "^3.1.5",
            "vant": "^4.9.21",
            "vue": "^3.4.21",
            "vue-clipboard3": "^2.0.0",
            "vue-demi": "^0.14.7",
            "vue-grid-layout": "^3.0.0-beta1",
            "vue-i18n": "^9.10.2",
            "vue-router": "^4.3.0",
            "vue3-print-nb": "^0.1.4"
            "vue3-print-nb": "^0.1.4",
            "xlsx": "^0.18.5"
         },
         "devDependencies": {
            "@types/node": "^20.11.28",
@@ -1370,6 +1375,21 @@
            "@uppy/core": "^2.3.3"
         }
      },
      "node_modules/@vant/popperjs": {
         "version": "1.3.0",
         "resolved": "https://registry.npmmirror.com/@vant/popperjs/-/popperjs-1.3.0.tgz",
         "integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw==",
         "license": "MIT"
      },
      "node_modules/@vant/use": {
         "version": "1.6.0",
         "resolved": "https://registry.npmmirror.com/@vant/use/-/use-1.6.0.tgz",
         "integrity": "sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==",
         "license": "MIT",
         "peerDependencies": {
            "vue": "^3.0.0"
         }
      },
      "node_modules/@vitejs/plugin-vue": {
         "version": "5.0.4",
         "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz",
@@ -1693,6 +1713,15 @@
            "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
         }
      },
      "node_modules/adler-32": {
         "version": "1.3.1",
         "resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz",
         "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==",
         "license": "Apache-2.0",
         "engines": {
            "node": ">=0.8"
         }
      },
      "node_modules/ajv": {
         "version": "6.12.6",
         "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -1911,6 +1940,19 @@
         "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==",
         "optional": true
      },
      "node_modules/cfb": {
         "version": "1.2.2",
         "resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz",
         "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==",
         "license": "Apache-2.0",
         "dependencies": {
            "adler-32": "~1.3.0",
            "crc-32": "~1.2.0"
         },
         "engines": {
            "node": ">=0.8"
         }
      },
      "node_modules/chalk": {
         "version": "4.1.2",
         "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -1981,6 +2023,15 @@
            "tiny-emitter": "^2.0.0"
         }
      },
      "node_modules/codepage": {
         "version": "1.15.0",
         "resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz",
         "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==",
         "license": "Apache-2.0",
         "engines": {
            "node": ">=0.8"
         }
      },
      "node_modules/color-convert": {
         "version": "2.0.1",
         "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -2036,6 +2087,18 @@
         "version": "2.8.0",
         "resolved": "https://registry.npmjs.org/countup.js/-/countup.js-2.8.0.tgz",
         "integrity": "sha512-f7xEhX0awl4NOElHulrl4XRfKoNH3rB+qfNSZZyjSZhaAoUk6elvhH+MNxMmlmuUJ2/QNTWPSA7U4mNtIAKljQ=="
      },
      "node_modules/crc-32": {
         "version": "1.2.2",
         "resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz",
         "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
         "license": "Apache-2.0",
         "bin": {
            "crc32": "bin/crc32.njs"
         },
         "engines": {
            "node": ">=0.8"
         }
      },
      "node_modules/cropperjs": {
         "version": "1.6.1",
@@ -2632,6 +2695,12 @@
            "node": "^10.12.0 || >=12.0.0"
         }
      },
      "node_modules/file-saver": {
         "version": "2.0.5",
         "resolved": "https://registry.npmmirror.com/file-saver/-/file-saver-2.0.5.tgz",
         "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==",
         "license": "MIT"
      },
      "node_modules/fill-range": {
         "version": "7.0.1",
         "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -2709,6 +2778,15 @@
         },
         "engines": {
            "node": ">= 6"
         }
      },
      "node_modules/frac": {
         "version": "1.1.2",
         "resolved": "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz",
         "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==",
         "license": "Apache-2.0",
         "engines": {
            "node": ">=0.8"
         }
      },
      "node_modules/fs-extra": {
@@ -4031,6 +4109,18 @@
            "url": "https://github.com/sponsors/antoniandre"
         }
      },
      "node_modules/ssf": {
         "version": "0.11.2",
         "resolved": "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz",
         "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
         "license": "Apache-2.0",
         "dependencies": {
            "frac": "~1.1.2"
         },
         "engines": {
            "node": ">=0.8"
         }
      },
      "node_modules/ssr-window": {
         "version": "3.0.0",
         "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz",
@@ -4222,6 +4312,26 @@
         "dependencies": {
            "base64-arraybuffer": "^1.0.2"
         }
      },
      "node_modules/vant": {
         "version": "4.9.21",
         "resolved": "https://registry.npmmirror.com/vant/-/vant-4.9.21.tgz",
         "integrity": "sha512-hXUoZMrLLjykimFRLDlGNd+K2iYSRh9YwLMKnsVdVZ+9inUKxpqnjhOqlZwocbnYkvJlS+febf9u9aJpDol4Pw==",
         "license": "MIT",
         "dependencies": {
            "@vant/popperjs": "^1.3.0",
            "@vant/use": "^1.6.0",
            "@vue/shared": "^3.5.17"
         },
         "peerDependencies": {
            "vue": "^3.0.0"
         }
      },
      "node_modules/vant/node_modules/@vue/shared": {
         "version": "3.5.21",
         "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.21.tgz",
         "integrity": "sha512-+2k1EQpnYuVuu3N7atWyG3/xoFWIVJZq4Mz8XNOdScFI0etES75fbny/oU4lKWk/577P1zmg0ioYvpGEDZ3DLw==",
         "license": "MIT"
      },
      "node_modules/vite": {
         "version": "5.1.6",
@@ -4495,11 +4605,50 @@
         "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-1.1.2.tgz",
         "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng=="
      },
      "node_modules/wmf": {
         "version": "1.0.2",
         "resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz",
         "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==",
         "license": "Apache-2.0",
         "engines": {
            "node": ">=0.8"
         }
      },
      "node_modules/word": {
         "version": "0.3.0",
         "resolved": "https://registry.npmmirror.com/word/-/word-0.3.0.tgz",
         "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==",
         "license": "Apache-2.0",
         "engines": {
            "node": ">=0.8"
         }
      },
      "node_modules/wrappy": {
         "version": "1.0.2",
         "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
         "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
         "dev": true
      },
      "node_modules/xlsx": {
         "version": "0.18.5",
         "resolved": "https://registry.npmmirror.com/xlsx/-/xlsx-0.18.5.tgz",
         "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==",
         "license": "Apache-2.0",
         "dependencies": {
            "adler-32": "~1.3.0",
            "cfb": "~1.2.1",
            "codepage": "~1.15.0",
            "crc-32": "~1.2.1",
            "ssf": "~0.11.2",
            "wmf": "~1.0.1",
            "word": "~0.3.0"
         },
         "bin": {
            "xlsx": "bin/xlsx.njs"
         },
         "engines": {
            "node": ">=0.8"
         }
      },
      "node_modules/xml-name-validator": {
         "version": "4.0.0",
@@ -5337,6 +5486,17 @@
            "nanoid": "^3.1.25"
         }
      },
      "@vant/popperjs": {
         "version": "1.3.0",
         "resolved": "https://registry.npmmirror.com/@vant/popperjs/-/popperjs-1.3.0.tgz",
         "integrity": "sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw=="
      },
      "@vant/use": {
         "version": "1.6.0",
         "resolved": "https://registry.npmmirror.com/@vant/use/-/use-1.6.0.tgz",
         "integrity": "sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==",
         "requires": {}
      },
      "@vitejs/plugin-vue": {
         "version": "5.0.4",
         "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz",
@@ -5570,6 +5730,11 @@
         "dev": true,
         "requires": {}
      },
      "adler-32": {
         "version": "1.3.1",
         "resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz",
         "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A=="
      },
      "ajv": {
         "version": "6.12.6",
         "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -5738,6 +5903,15 @@
            }
         }
      },
      "cfb": {
         "version": "1.2.2",
         "resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz",
         "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==",
         "requires": {
            "adler-32": "~1.3.0",
            "crc-32": "~1.2.0"
         }
      },
      "chalk": {
         "version": "4.1.2",
         "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -5790,6 +5964,11 @@
            "tiny-emitter": "^2.0.0"
         }
      },
      "codepage": {
         "version": "1.15.0",
         "resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz",
         "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA=="
      },
      "color-convert": {
         "version": "2.0.1",
         "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -5834,6 +6013,11 @@
         "version": "2.8.0",
         "resolved": "https://registry.npmjs.org/countup.js/-/countup.js-2.8.0.tgz",
         "integrity": "sha512-f7xEhX0awl4NOElHulrl4XRfKoNH3rB+qfNSZZyjSZhaAoUk6elvhH+MNxMmlmuUJ2/QNTWPSA7U4mNtIAKljQ=="
      },
      "crc-32": {
         "version": "1.2.2",
         "resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz",
         "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ=="
      },
      "cropperjs": {
         "version": "1.6.1",
@@ -6311,6 +6495,11 @@
            "flat-cache": "^3.0.4"
         }
      },
      "file-saver": {
         "version": "2.0.5",
         "resolved": "https://registry.npmmirror.com/file-saver/-/file-saver-2.0.5.tgz",
         "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA=="
      },
      "fill-range": {
         "version": "7.0.1",
         "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -6360,6 +6549,11 @@
            "combined-stream": "^1.0.8",
            "mime-types": "^2.1.12"
         }
      },
      "frac": {
         "version": "1.1.2",
         "resolved": "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz",
         "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA=="
      },
      "fs-extra": {
         "version": "10.1.0",
@@ -7309,6 +7503,14 @@
         "resolved": "https://registry.npmjs.org/splitpanes/-/splitpanes-3.1.5.tgz",
         "integrity": "sha512-r3Mq2ITFQ5a2VXLOy4/Sb2Ptp7OfEO8YIbhVJqJXoFc9hc5nTXXkCvtVDjIGbvC0vdE7tse+xTM9BMjsszP6bw=="
      },
      "ssf": {
         "version": "0.11.2",
         "resolved": "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz",
         "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
         "requires": {
            "frac": "~1.1.2"
         }
      },
      "ssr-window": {
         "version": "3.0.0",
         "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz",
@@ -7454,6 +7656,23 @@
         "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
         "requires": {
            "base64-arraybuffer": "^1.0.2"
         }
      },
      "vant": {
         "version": "4.9.21",
         "resolved": "https://registry.npmmirror.com/vant/-/vant-4.9.21.tgz",
         "integrity": "sha512-hXUoZMrLLjykimFRLDlGNd+K2iYSRh9YwLMKnsVdVZ+9inUKxpqnjhOqlZwocbnYkvJlS+febf9u9aJpDol4Pw==",
         "requires": {
            "@vant/popperjs": "^1.3.0",
            "@vant/use": "^1.6.0",
            "@vue/shared": "^3.5.17"
         },
         "dependencies": {
            "@vue/shared": {
               "version": "3.5.21",
               "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.21.tgz",
               "integrity": "sha512-+2k1EQpnYuVuu3N7atWyG3/xoFWIVJZq4Mz8XNOdScFI0etES75fbny/oU4lKWk/577P1zmg0ioYvpGEDZ3DLw=="
            }
         }
      },
      "vite": {
@@ -7620,12 +7839,36 @@
         "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-1.1.2.tgz",
         "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng=="
      },
      "wmf": {
         "version": "1.0.2",
         "resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz",
         "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw=="
      },
      "word": {
         "version": "0.3.0",
         "resolved": "https://registry.npmmirror.com/word/-/word-0.3.0.tgz",
         "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA=="
      },
      "wrappy": {
         "version": "1.0.2",
         "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
         "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
         "dev": true
      },
      "xlsx": {
         "version": "0.18.5",
         "resolved": "https://registry.npmmirror.com/xlsx/-/xlsx-0.18.5.tgz",
         "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==",
         "requires": {
            "adler-32": "~1.3.0",
            "cfb": "~1.2.1",
            "codepage": "~1.15.0",
            "crc-32": "~1.2.1",
            "ssf": "~0.11.2",
            "wmf": "~1.0.1",
            "word": "~0.3.0"
         }
      },
      "xml-name-validator": {
         "version": "4.0.0",
         "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",