chore(deps): bump element-plus from 1.0.2-beta.44 to 2.1.0

Bumps [element-plus](https://github.com/element-plus/element-plus) from 1.0.2-beta.44 to 2.1.0.
- [Release notes](https://github.com/element-plus/element-plus/releases)
- [Changelog](https://github.com/element-plus/element-plus/blob/dev/CHANGELOG.en-US.md)
- [Commits](https://github.com/element-plus/element-plus/compare/1.0.2-beta.44...2.1.0)

---
updated-dependencies:
- dependency-name: element-plus
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
diff --git a/package-lock.json b/package-lock.json
index 3ffdac8..109a170 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,7 +10,8 @@
             "dependencies": {
                 "color": "^3.1.3",
                 "echarts": "^5.3.0",
-                "element-plus": "^1.0.2-beta.44",
+                "element-plus": "^2.1.0",
+                "format-duration": "^1.4.0",
                 "handsontable": "^6.2.2",
                 "jquery": "^3.6.0",
                 "lodash": "^4.17.21",
@@ -78,6 +79,14 @@
                 "to-fast-properties": "^2.0.0"
             }
         },
+        "node_modules/@ctrl/tinycolor": {
+            "version": "3.6.0",
+            "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.0.tgz",
+            "integrity": "sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ==",
+            "engines": {
+                "node": ">=10"
+            }
+        },
         "node_modules/@emmetio/abbreviation": {
             "version": "2.2.2",
             "resolved": "https://registry.npm.taobao.org/@emmetio/abbreviation/download/@emmetio/abbreviation-2.2.2.tgz",
@@ -229,9 +238,13 @@
             }
         },
         "node_modules/@popperjs/core": {
-            "version": "2.9.2",
-            "resolved": "https://registry.npm.taobao.org/@popperjs/core/download/@popperjs/core-2.9.2.tgz?cache=0&sync_timestamp=1617290324040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40popperjs%2Fcore%2Fdownload%2F%40popperjs%2Fcore-2.9.2.tgz",
-            "integrity": "sha1-rep7aVPLs0ZRdmsFSEaOdDxqI1M="
+            "version": "2.11.7",
+            "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.7.tgz",
+            "integrity": "sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==",
+            "funding": {
+                "type": "opencollective",
+                "url": "https://opencollective.com/popperjs"
+            }
         },
         "node_modules/@sindresorhus/is": {
             "version": "0.14.0",
@@ -550,9 +563,19 @@
             }
         },
         "node_modules/@types/lodash": {
-            "version": "4.14.169",
-            "resolved": "https://registry.nlark.com/@types/lodash/download/@types/lodash-4.14.169.tgz",
-            "integrity": "sha1-g8IXaI8HpNnvjyij69HTGPb/TLs="
+            "version": "4.14.192",
+            "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.192.tgz",
+            "integrity": "sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==",
+            "peer": true
+        },
+        "node_modules/@types/lodash-es": {
+            "version": "4.17.7",
+            "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.7.tgz",
+            "integrity": "sha512-z0ptr6UI10VlU6l5MYhGwS4mC8DZyYer2mCoyysZtSF7p26zOX8UpbrV0YpNYLGS8K4PUFIyEr62IMFFjveSiQ==",
+            "peer": true,
+            "dependencies": {
+                "@types/lodash": "*"
+            }
         },
         "node_modules/@types/minimatch": {
             "version": "3.0.4",
@@ -802,6 +825,11 @@
                 "node": ">=0.4.0"
             }
         },
+        "node_modules/add-zero": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/add-zero/-/add-zero-1.0.0.tgz",
+            "integrity": "sha512-WpPiUgy7h9Kd7NY0aTuhfx7vjub3XYbZCq1W2e/LMvUsEmYK/hz8xgFDmd0GnKpk44HXFwIFu1hEOivc+MzJ0Q=="
+        },
         "node_modules/ansi-align": {
             "version": "3.0.0",
             "resolved": "https://registry.npm.taobao.org/ansi-align/download/ansi-align-3.0.0.tgz",
@@ -935,9 +963,9 @@
             "dev": true
         },
         "node_modules/async-validator": {
-            "version": "3.5.2",
-            "resolved": "https://registry.nlark.com/async-validator/download/async-validator-3.5.2.tgz",
-            "integrity": "sha1-aOhmqWgk6LJpT/eoMcGiXETV5QA="
+            "version": "4.2.5",
+            "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz",
+            "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg=="
         },
         "node_modules/at-least-node": {
             "version": "1.0.0",
@@ -1672,9 +1700,9 @@
             }
         },
         "node_modules/dayjs": {
-            "version": "1.10.4",
-            "resolved": "https://registry.nlark.com/dayjs/download/dayjs-1.10.4.tgz",
-            "integrity": "sha1-jlRKm4aD9heD9XCYCoqA6vVKseI="
+            "version": "1.11.7",
+            "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
+            "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ=="
         },
         "node_modules/debug": {
             "version": "3.2.7",
@@ -1870,24 +1898,105 @@
             "dev": true
         },
         "node_modules/element-plus": {
-            "version": "1.0.2-beta.44",
-            "resolved": "https://registry.nlark.com/element-plus/download/element-plus-1.0.2-beta.44.tgz",
-            "integrity": "sha1-ev8SLmGBCIIjAnrbZaSoMh4e9Ok=",
-            "workspaces": [
-                "packages/*"
-            ],
+            "version": "2.1.0",
+            "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.1.0.tgz",
+            "integrity": "sha512-PQM3LMv5qKf0sS/k+PXuBcmKl1Eb3b7fxKPyFHZ6eodZcNykbEMcpLZefQkvmDr6calVnuQ7TUnTm7Tm9LJXvg==",
             "dependencies": {
-                "@popperjs/core": "^2.4.4",
-                "@types/lodash": "^4.14.161",
-                "async-validator": "^3.4.0",
-                "dayjs": "1.x",
-                "lodash": "^4.17.20",
-                "mitt": "^2.1.0",
-                "normalize-wheel": "^1.0.1",
-                "resize-observer-polyfill": "^1.5.1"
+                "@ctrl/tinycolor": "^3.4.0",
+                "@element-plus/icons-vue": "^1.0.1",
+                "@popperjs/core": "^2.11.2",
+                "@vueuse/core": "^7.7.1",
+                "async-validator": "^4.0.7",
+                "dayjs": "^1.10.8",
+                "escape-html": "^1.0.3",
+                "lodash": "^4.17.21",
+                "lodash-es": "^4.17.21",
+                "lodash-unified": "^1.0.2",
+                "memoize-one": "^6.0.0",
+                "normalize-wheel-es": "^1.1.1"
             },
             "peerDependencies": {
-                "vue": "^3.0.9"
+                "vue": "^3.2.0"
+            }
+        },
+        "node_modules/element-plus/node_modules/@element-plus/icons-vue": {
+            "version": "1.1.4",
+            "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-1.1.4.tgz",
+            "integrity": "sha512-Iz/nHqdp1sFPmdzRwHkEQQA3lKvoObk8azgABZ81QUOpW9s/lUyQVUSh0tNtEPZXQlKwlSh7SPgoVxzrE0uuVQ==",
+            "peerDependencies": {
+                "vue": "^3.2.0"
+            }
+        },
+        "node_modules/element-plus/node_modules/@vueuse/core": {
+            "version": "7.7.1",
+            "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-7.7.1.tgz",
+            "integrity": "sha512-PRRgbATMpoeUmkCEBtUeJgOwtew8s+4UsEd+Pm7MhkjL2ihCNrSqxNVtM6NFE4uP2sWnkGcZpCjPuNSxowJ1Ow==",
+            "dependencies": {
+                "@vueuse/shared": "7.7.1",
+                "vue-demi": "*"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/antfu"
+            },
+            "peerDependencies": {
+                "@vue/composition-api": "^1.1.0",
+                "vue": "^2.6.0 || ^3.2.0"
+            },
+            "peerDependenciesMeta": {
+                "@vue/composition-api": {
+                    "optional": true
+                },
+                "vue": {
+                    "optional": true
+                }
+            }
+        },
+        "node_modules/element-plus/node_modules/@vueuse/core/node_modules/@vueuse/shared": {
+            "version": "7.7.1",
+            "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-7.7.1.tgz",
+            "integrity": "sha512-rN2qd22AUl7VdBxihagWyhUNHCyVk9IpvBTTfHoLH9G7rGE552X1f+zeCfehuno0zXif13jPw+icW/wn2a0rnQ==",
+            "dependencies": {
+                "vue-demi": "*"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/antfu"
+            },
+            "peerDependencies": {
+                "@vue/composition-api": "^1.1.0",
+                "vue": "^2.6.0 || ^3.2.0"
+            },
+            "peerDependenciesMeta": {
+                "@vue/composition-api": {
+                    "optional": true
+                },
+                "vue": {
+                    "optional": true
+                }
+            }
+        },
+        "node_modules/element-plus/node_modules/@vueuse/core/node_modules/vue-demi": {
+            "version": "0.13.11",
+            "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz",
+            "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
+            "hasInstallScript": true,
+            "bin": {
+                "vue-demi-fix": "bin/vue-demi-fix.js",
+                "vue-demi-switch": "bin/vue-demi-switch.js"
+            },
+            "engines": {
+                "node": ">=12"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/antfu"
+            },
+            "peerDependencies": {
+                "@vue/composition-api": "^1.0.0-rc.1",
+                "vue": "^3.0.0-0 || ^2.6.0"
+            },
+            "peerDependenciesMeta": {
+                "@vue/composition-api": {
+                    "optional": true
+                }
             }
         },
         "node_modules/emmet": {
@@ -1958,6 +2067,11 @@
                 "node": ">=6"
             }
         },
+        "node_modules/escape-html": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+            "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+        },
         "node_modules/escape-string-regexp": {
             "version": "1.0.5",
             "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz",
@@ -2086,6 +2200,15 @@
                 "node": ">=0.4.x"
             }
         },
+        "node_modules/format-duration": {
+            "version": "1.4.0",
+            "resolved": "https://registry.npmjs.org/format-duration/-/format-duration-1.4.0.tgz",
+            "integrity": "sha512-Mcg3hOAiKxo6JRBgfrQ+sbVvr3D9/4wE7eDQXx3WV2d/yKmrcHXHJS4OhrqVeg+iiFE2Op+pHhdOkQUl8yIclw==",
+            "dependencies": {
+                "add-zero": "^1.0.0",
+                "parse-ms": "^1.0.1"
+            }
+        },
         "node_modules/fs-extra": {
             "version": "8.1.0",
             "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-8.1.0.tgz",
@@ -2981,6 +3104,21 @@
             "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz?cache=0&sync_timestamp=1613835860585&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.21.tgz",
             "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw="
         },
+        "node_modules/lodash-es": {
+            "version": "4.17.21",
+            "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+            "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
+        },
+        "node_modules/lodash-unified": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz",
+            "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==",
+            "peerDependencies": {
+                "@types/lodash-es": "*",
+                "lodash": "*",
+                "lodash-es": "*"
+            }
+        },
         "node_modules/lodash.camelcase": {
             "version": "4.3.0",
             "resolved": "https://registry.npm.taobao.org/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz",
@@ -3066,6 +3204,11 @@
                 "node": ">=4"
             }
         },
+        "node_modules/memoize-one": {
+            "version": "6.0.0",
+            "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz",
+            "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="
+        },
         "node_modules/meow": {
             "version": "5.0.0",
             "resolved": "https://registry.nlark.com/meow/download/meow-5.0.0.tgz",
@@ -3169,11 +3312,6 @@
                 "node": ">= 4"
             }
         },
-        "node_modules/mitt": {
-            "version": "2.1.0",
-            "resolved": "https://registry.nlark.com/mitt/download/mitt-2.1.0.tgz",
-            "integrity": "sha1-90BXfCMXbGIFsSGylzUU6t4bIjA="
-        },
         "node_modules/modern-normalize": {
             "version": "1.1.0",
             "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz",
@@ -3280,10 +3418,10 @@
                 "node": ">=8"
             }
         },
-        "node_modules/normalize-wheel": {
-            "version": "1.0.1",
-            "resolved": "https://registry.nlark.com/normalize-wheel/download/normalize-wheel-1.0.1.tgz",
-            "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
+        "node_modules/normalize-wheel-es": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
+            "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
         },
         "node_modules/npm-prefix": {
             "version": "1.2.0",
@@ -3535,6 +3673,14 @@
                 "node": ">=4"
             }
         },
+        "node_modules/parse-ms": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz",
+            "integrity": "sha512-LpH1Cf5EYuVjkBvCDBYvkUPh+iv2bk3FHflxHkpCYT0/FZ1d3N3uJaLiHr4yGuMcFUhv6eAivitTvWZI4B/chg==",
+            "engines": {
+                "node": ">=0.10.0"
+            }
+        },
         "node_modules/path-exists": {
             "version": "3.0.0",
             "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
@@ -4397,11 +4543,6 @@
             "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
             "dev": true
         },
-        "node_modules/resize-observer-polyfill": {
-            "version": "1.5.1",
-            "resolved": "https://registry.nlark.com/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz",
-            "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ="
-        },
         "node_modules/resolve": {
             "version": "1.20.0",
             "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz",
@@ -6165,6 +6306,11 @@
                 "to-fast-properties": "^2.0.0"
             }
         },
+        "@ctrl/tinycolor": {
+            "version": "3.6.0",
+            "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.0.tgz",
+            "integrity": "sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ=="
+        },
         "@emmetio/abbreviation": {
             "version": "2.2.2",
             "resolved": "https://registry.npm.taobao.org/@emmetio/abbreviation/download/@emmetio/abbreviation-2.2.2.tgz",
@@ -6286,9 +6432,9 @@
             }
         },
         "@popperjs/core": {
-            "version": "2.9.2",
-            "resolved": "https://registry.npm.taobao.org/@popperjs/core/download/@popperjs/core-2.9.2.tgz?cache=0&sync_timestamp=1617290324040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40popperjs%2Fcore%2Fdownload%2F%40popperjs%2Fcore-2.9.2.tgz",
-            "integrity": "sha1-rep7aVPLs0ZRdmsFSEaOdDxqI1M="
+            "version": "2.11.7",
+            "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.7.tgz",
+            "integrity": "sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw=="
         },
         "@sindresorhus/is": {
             "version": "0.14.0",
@@ -6579,9 +6725,19 @@
             }
         },
         "@types/lodash": {
-            "version": "4.14.169",
-            "resolved": "https://registry.nlark.com/@types/lodash/download/@types/lodash-4.14.169.tgz",
-            "integrity": "sha1-g8IXaI8HpNnvjyij69HTGPb/TLs="
+            "version": "4.14.192",
+            "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.192.tgz",
+            "integrity": "sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==",
+            "peer": true
+        },
+        "@types/lodash-es": {
+            "version": "4.17.7",
+            "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.7.tgz",
+            "integrity": "sha512-z0ptr6UI10VlU6l5MYhGwS4mC8DZyYer2mCoyysZtSF7p26zOX8UpbrV0YpNYLGS8K4PUFIyEr62IMFFjveSiQ==",
+            "peer": true,
+            "requires": {
+                "@types/lodash": "*"
+            }
         },
         "@types/minimatch": {
             "version": "3.0.4",
@@ -6812,6 +6968,11 @@
             "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
             "dev": true
         },
+        "add-zero": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/add-zero/-/add-zero-1.0.0.tgz",
+            "integrity": "sha512-WpPiUgy7h9Kd7NY0aTuhfx7vjub3XYbZCq1W2e/LMvUsEmYK/hz8xgFDmd0GnKpk44HXFwIFu1hEOivc+MzJ0Q=="
+        },
         "ansi-align": {
             "version": "3.0.0",
             "resolved": "https://registry.npm.taobao.org/ansi-align/download/ansi-align-3.0.0.tgz",
@@ -6920,9 +7081,9 @@
             "dev": true
         },
         "async-validator": {
-            "version": "3.5.2",
-            "resolved": "https://registry.nlark.com/async-validator/download/async-validator-3.5.2.tgz",
-            "integrity": "sha1-aOhmqWgk6LJpT/eoMcGiXETV5QA="
+            "version": "4.2.5",
+            "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz",
+            "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg=="
         },
         "at-least-node": {
             "version": "1.0.0",
@@ -7534,9 +7695,9 @@
             }
         },
         "dayjs": {
-            "version": "1.10.4",
-            "resolved": "https://registry.nlark.com/dayjs/download/dayjs-1.10.4.tgz",
-            "integrity": "sha1-jlRKm4aD9heD9XCYCoqA6vVKseI="
+            "version": "1.11.7",
+            "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
+            "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ=="
         },
         "debug": {
             "version": "3.2.7",
@@ -7704,18 +7865,55 @@
             "dev": true
         },
         "element-plus": {
-            "version": "1.0.2-beta.44",
-            "resolved": "https://registry.nlark.com/element-plus/download/element-plus-1.0.2-beta.44.tgz",
-            "integrity": "sha1-ev8SLmGBCIIjAnrbZaSoMh4e9Ok=",
+            "version": "2.1.0",
+            "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.1.0.tgz",
+            "integrity": "sha512-PQM3LMv5qKf0sS/k+PXuBcmKl1Eb3b7fxKPyFHZ6eodZcNykbEMcpLZefQkvmDr6calVnuQ7TUnTm7Tm9LJXvg==",
             "requires": {
-                "@popperjs/core": "^2.4.4",
-                "@types/lodash": "^4.14.161",
-                "async-validator": "^3.4.0",
-                "dayjs": "1.x",
-                "lodash": "^4.17.20",
-                "mitt": "^2.1.0",
-                "normalize-wheel": "^1.0.1",
-                "resize-observer-polyfill": "^1.5.1"
+                "@ctrl/tinycolor": "^3.4.0",
+                "@element-plus/icons-vue": "^1.0.1",
+                "@popperjs/core": "^2.11.2",
+                "@vueuse/core": "^7.7.1",
+                "async-validator": "^4.0.7",
+                "dayjs": "^1.10.8",
+                "escape-html": "^1.0.3",
+                "lodash": "^4.17.21",
+                "lodash-es": "^4.17.21",
+                "lodash-unified": "^1.0.2",
+                "memoize-one": "^6.0.0",
+                "normalize-wheel-es": "^1.1.1"
+            },
+            "dependencies": {
+                "@element-plus/icons-vue": {
+                    "version": "1.1.4",
+                    "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-1.1.4.tgz",
+                    "integrity": "sha512-Iz/nHqdp1sFPmdzRwHkEQQA3lKvoObk8azgABZ81QUOpW9s/lUyQVUSh0tNtEPZXQlKwlSh7SPgoVxzrE0uuVQ==",
+                    "requires": {}
+                },
+                "@vueuse/core": {
+                    "version": "7.7.1",
+                    "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-7.7.1.tgz",
+                    "integrity": "sha512-PRRgbATMpoeUmkCEBtUeJgOwtew8s+4UsEd+Pm7MhkjL2ihCNrSqxNVtM6NFE4uP2sWnkGcZpCjPuNSxowJ1Ow==",
+                    "requires": {
+                        "@vueuse/shared": "7.7.1",
+                        "vue-demi": "*"
+                    },
+                    "dependencies": {
+                        "@vueuse/shared": {
+                            "version": "7.7.1",
+                            "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-7.7.1.tgz",
+                            "integrity": "sha512-rN2qd22AUl7VdBxihagWyhUNHCyVk9IpvBTTfHoLH9G7rGE552X1f+zeCfehuno0zXif13jPw+icW/wn2a0rnQ==",
+                            "requires": {
+                                "vue-demi": "*"
+                            }
+                        },
+                        "vue-demi": {
+                            "version": "0.13.11",
+                            "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz",
+                            "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
+                            "requires": {}
+                        }
+                    }
+                }
             }
         },
         "emmet": {
@@ -7776,6 +7974,11 @@
             "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
             "dev": true
         },
+        "escape-html": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+            "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+        },
         "escape-string-regexp": {
             "version": "1.0.5",
             "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz",
@@ -7876,6 +8079,15 @@
             "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=",
             "dev": true
         },
+        "format-duration": {
+            "version": "1.4.0",
+            "resolved": "https://registry.npmjs.org/format-duration/-/format-duration-1.4.0.tgz",
+            "integrity": "sha512-Mcg3hOAiKxo6JRBgfrQ+sbVvr3D9/4wE7eDQXx3WV2d/yKmrcHXHJS4OhrqVeg+iiFE2Op+pHhdOkQUl8yIclw==",
+            "requires": {
+                "add-zero": "^1.0.0",
+                "parse-ms": "^1.0.1"
+            }
+        },
         "fs-extra": {
             "version": "8.1.0",
             "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-8.1.0.tgz",
@@ -8625,6 +8837,17 @@
             "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz?cache=0&sync_timestamp=1613835860585&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.21.tgz",
             "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw="
         },
+        "lodash-es": {
+            "version": "4.17.21",
+            "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+            "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
+        },
+        "lodash-unified": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz",
+            "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==",
+            "requires": {}
+        },
         "lodash.camelcase": {
             "version": "4.3.0",
             "resolved": "https://registry.npm.taobao.org/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz",
@@ -8698,6 +8921,11 @@
             "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
             "dev": true
         },
+        "memoize-one": {
+            "version": "6.0.0",
+            "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz",
+            "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="
+        },
         "meow": {
             "version": "5.0.0",
             "resolved": "https://registry.nlark.com/meow/download/meow-5.0.0.tgz",
@@ -8777,11 +9005,6 @@
                 "is-plain-obj": "^1.1.0"
             }
         },
-        "mitt": {
-            "version": "2.1.0",
-            "resolved": "https://registry.nlark.com/mitt/download/mitt-2.1.0.tgz",
-            "integrity": "sha1-90BXfCMXbGIFsSGylzUU6t4bIjA="
-        },
         "modern-normalize": {
             "version": "1.1.0",
             "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz",
@@ -8861,10 +9084,10 @@
             "integrity": "sha1-RTNUCH5sqWlXvY9br3U/WYIUISk=",
             "dev": true
         },
-        "normalize-wheel": {
-            "version": "1.0.1",
-            "resolved": "https://registry.nlark.com/normalize-wheel/download/normalize-wheel-1.0.1.tgz",
-            "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
+        "normalize-wheel-es": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
+            "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
         },
         "npm-prefix": {
             "version": "1.2.0",
@@ -9065,6 +9288,11 @@
                 "json-parse-better-errors": "^1.0.1"
             }
         },
+        "parse-ms": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz",
+            "integrity": "sha512-LpH1Cf5EYuVjkBvCDBYvkUPh+iv2bk3FHflxHkpCYT0/FZ1d3N3uJaLiHr4yGuMcFUhv6eAivitTvWZI4B/chg=="
+        },
         "path-exists": {
             "version": "3.0.0",
             "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
@@ -9786,11 +10014,6 @@
             "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
             "dev": true
         },
-        "resize-observer-polyfill": {
-            "version": "1.5.1",
-            "resolved": "https://registry.nlark.com/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz",
-            "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ="
-        },
         "resolve": {
             "version": "1.20.0",
             "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz",
diff --git a/package.json b/package.json
index ac91a6d..5cf0faa 100644
--- a/package.json
+++ b/package.json
@@ -33,7 +33,7 @@
     "dependencies": {
         "color": "^3.1.3",
         "echarts": "^5.3.0",
-        "element-plus": "^1.0.2-beta.44",
+        "element-plus": "^2.1.0",
         "format-duration": "^1.4.0",
         "handsontable": "^6.2.2",
         "jquery": "^3.6.0",