This commit is contained in:
lnn19986213 2024-04-12 09:26:48 +08:00
parent d852d9ac94
commit 174acd571d
40 changed files with 5124 additions and 0 deletions

24
.gitignore vendored Normal file
View File

@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

4
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,4 @@
{
"recommendations": [
"Vue.volar""]
}

13
index.html Normal file
View File

@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>公共服务一体化驾驶舱</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>

685
package-lock.json generated Normal file
View File

@ -0,0 +1,685 @@
{
"name": "web",
"version": "0.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "web",
"version": "0.0.0",
"dependencies": {
"echarts": "^5.4.2",
"sass": "^1.60.0",
"vue": "^3.2.47",
"vue-router": "^4.1.6"
},
"devDependencies": {
"@vitejs/plugin-vue": "^4.1.0",
"vite": "^4.2.0"
}
},
"node_modules/@babel/parser": {
"version": "7.21.3",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz",
"integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==",
"license": "MIT",
"bin": {
"parser": "bin/babel-parser.js"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@esbuild/win32-x64": {
"version": "0.17.14",
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.14.tgz",
"integrity": "sha512-gPQmsi2DKTaEgG14hc3CHXHp62k8g6qr0Pas+I4lUxRMugGSATh/Bi8Dgusoz9IQ0IfdrvLpco6kujEIBoaogA==",
"cpu": [
"x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">=12"
}
},
"node_modules/@vitejs/plugin-vue": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.1.0.tgz",
"integrity": "sha512-++9JOAFdcXI3lyer9UKUV4rfoQ3T1RN8yDqoCLar86s0xQct5yblxAE+yWgRnU5/0FOlVCpTZpYSBV/bGWrSrQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": "^14.18.0 || >=16.0.0"
},
"peerDependencies": {
"vite": "^4.0.0",
"vue": "^3.2.25"
}
},
"node_modules/@vue/compiler-core": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz",
"integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/shared": "3.2.47",
"estree-walker": "^2.0.2",
"source-map": "^0.6.1"
}
},
"node_modules/@vue/compiler-dom": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz",
"integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==",
"license": "MIT",
"dependencies": {
"@vue/compiler-core": "3.2.47",
"@vue/shared": "3.2.47"
}
},
"node_modules/@vue/compiler-sfc": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz",
"integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.47",
"@vue/compiler-dom": "3.2.47",
"@vue/compiler-ssr": "3.2.47",
"@vue/reactivity-transform": "3.2.47",
"@vue/shared": "3.2.47",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7",
"postcss": "^8.1.10",
"source-map": "^0.6.1"
}
},
"node_modules/@vue/compiler-ssr": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz",
"integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==",
"license": "MIT",
"dependencies": {
"@vue/compiler-dom": "3.2.47",
"@vue/shared": "3.2.47"
}
},
"node_modules/@vue/devtools-api": {
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz",
"integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==",
"license": "MIT"
},
"node_modules/@vue/reactivity": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz",
"integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==",
"license": "MIT",
"dependencies": {
"@vue/shared": "3.2.47"
}
},
"node_modules/@vue/reactivity-transform": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz",
"integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.47",
"@vue/shared": "3.2.47",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7"
}
},
"node_modules/@vue/runtime-core": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz",
"integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==",
"license": "MIT",
"dependencies": {
"@vue/reactivity": "3.2.47",
"@vue/shared": "3.2.47"
}
},
"node_modules/@vue/runtime-dom": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz",
"integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==",
"license": "MIT",
"dependencies": {
"@vue/runtime-core": "3.2.47",
"@vue/shared": "3.2.47",
"csstype": "^2.6.8"
}
},
"node_modules/@vue/server-renderer": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz",
"integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==",
"license": "MIT",
"dependencies": {
"@vue/compiler-ssr": "3.2.47",
"@vue/shared": "3.2.47"
},
"peerDependencies": {
"vue": "3.2.47"
}
},
"node_modules/@vue/shared": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz",
"integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==",
"license": "MIT"
},
"node_modules/anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"engines": {
"node": ">=8"
}
},
"node_modules/braces": {
"version": "3.0.2",
"resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dependencies": {
"fill-range": "^7.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz",
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
"glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0",
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.6.0"
},
"engines": {
"node": ">= 8.10.0"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
}
},
"node_modules/csstype": {
"version": "2.6.21",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==",
"license": "MIT"
},
"node_modules/echarts": {
"version": "5.4.2",
"resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.2.tgz",
"integrity": "sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==",
"dependencies": {
"tslib": "2.3.0",
"zrender": "5.4.3"
}
},
"node_modules/esbuild": {
"version": "0.17.14",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.14.tgz",
"integrity": "sha512-vOO5XhmVj/1XQR9NQ1UPq6qvMYL7QFJU57J5fKBKBKxp17uDt5PgxFDb4A2nEiXhr1qQs4x0F5+66hVVw4ruNw==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
"bin": {
"esbuild": "bin/esbuild"
},
"engines": {
"node": ">=12"
},
"optionalDependencies": {
"@esbuild/android-arm": "0.17.14",
"@esbuild/android-arm64": "0.17.14",
"@esbuild/android-x64": "0.17.14",
"@esbuild/darwin-arm64": "0.17.14",
"@esbuild/darwin-x64": "0.17.14",
"@esbuild/freebsd-arm64": "0.17.14",
"@esbuild/freebsd-x64": "0.17.14",
"@esbuild/linux-arm": "0.17.14",
"@esbuild/linux-arm64": "0.17.14",
"@esbuild/linux-ia32": "0.17.14",
"@esbuild/linux-loong64": "0.17.14",
"@esbuild/linux-mips64el": "0.17.14",
"@esbuild/linux-ppc64": "0.17.14",
"@esbuild/linux-riscv64": "0.17.14",
"@esbuild/linux-s390x": "0.17.14",
"@esbuild/linux-x64": "0.17.14",
"@esbuild/netbsd-x64": "0.17.14",
"@esbuild/openbsd-x64": "0.17.14",
"@esbuild/sunos-x64": "0.17.14",
"@esbuild/win32-arm64": "0.17.14",
"@esbuild/win32-ia32": "0.17.14",
"@esbuild/win32-x64": "0.17.14"
}
},
"node_modules/estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"license": "MIT"
},
"node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dependencies": {
"to-regex-range": "^5.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"hasInstallScript": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true,
"license": "MIT"
},
"node_modules/glob-parent": {
"version": "5.1.2",
"resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dependencies": {
"is-glob": "^4.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"license": "MIT",
"dependencies": {
"function-bind": "^1.1.1"
},
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/immutable": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.0.tgz",
"integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg=="
},
"node_modules/is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dependencies": {
"binary-extensions": "^2.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/is-core-module": {
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
"integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
"dev": true,
"license": "MIT",
"dependencies": {
"has": "^1.0.3"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dependencies": {
"is-extglob": "^2.1.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"engines": {
"node": ">=0.12.0"
}
},
"node_modules/magic-string": {
"version": "0.25.9",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
"integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
"license": "MIT",
"dependencies": {
"sourcemap-codec": "^1.4.8"
}
},
"node_modules/nanoid": {
"version": "3.3.6",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"license": "MIT",
"bin": {
"nanoid": "bin/nanoid.cjs"
},
"engines": {
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"dev": true,
"license": "MIT"
},
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"license": "ISC"
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"engines": {
"node": ">=8.6"
}
},
"node_modules/postcss": {
"version": "8.4.21",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
"integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
}
],
"license": "MIT",
"dependencies": {
"nanoid": "^3.3.4",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
"node_modules/readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dependencies": {
"picomatch": "^2.2.1"
},
"engines": {
"node": ">=8.10.0"
}
},
"node_modules/resolve": {
"version": "1.22.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
"integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
"dev": true,
"license": "MIT",
"dependencies": {
"is-core-module": "^2.9.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
"bin": {
"resolve": "bin/resolve"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/rollup": {
"version": "3.20.2",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz",
"integrity": "sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==",
"dev": true,
"license": "MIT",
"bin": {
"rollup": "dist/bin/rollup"
},
"engines": {
"node": ">=14.18.0",
"npm": ">=8.0.0"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
}
},
"node_modules/sass": {
"version": "1.62.0",
"resolved": "https://registry.npmmirror.com/sass/-/sass-1.62.0.tgz",
"integrity": "sha512-Q4USplo4pLYgCi+XlipZCWUQz5pkg/ruSSgJ0WRDSb/+3z9tXUOkQ7QPYn4XrhZKYAK4HlpaQecRwKLJX6+DBg==",
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",
"source-map-js": ">=0.6.2 <2.0.0"
},
"bin": {
"sass": "sass.js"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/sourcemap-codec": {
"version": "1.4.8",
"resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
"license": "MIT"
},
"node_modules/supports-preserve-symlinks-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dependencies": {
"is-number": "^7.0.0"
},
"engines": {
"node": ">=8.0"
}
},
"node_modules/tslib": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
},
"node_modules/vite": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/vite/-/vite-4.2.1.tgz",
"integrity": "sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==",
"dev": true,
"license": "MIT",
"dependencies": {
"esbuild": "^0.17.5",
"postcss": "^8.4.21",
"resolve": "^1.22.1",
"rollup": "^3.18.0"
},
"bin": {
"vite": "bin/vite.js"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
},
"peerDependencies": {
"@types/node": ">= 14",
"less": "*",
"sass": "*",
"stylus": "*",
"sugarss": "*",
"terser": "^5.4.0"
},
"peerDependenciesMeta": {
"@types/node": {
"optional": true
},
"less": {
"optional": true
},
"sass": {
"optional": true
},
"stylus": {
"optional": true
},
"sugarss": {
"optional": true
},
"terser": {
"optional": true
}
}
},
"node_modules/vue": {
"version": "3.2.47",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz",
"integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==",
"license": "MIT",
"dependencies": {
"@vue/compiler-dom": "3.2.47",
"@vue/compiler-sfc": "3.2.47",
"@vue/runtime-dom": "3.2.47",
"@vue/server-renderer": "3.2.47",
"@vue/shared": "3.2.47"
}
},
"node_modules/vue-router": {
"version": "4.1.6",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz",
"integrity": "sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==",
"license": "MIT",
"dependencies": {
"@vue/devtools-api": "^6.4.5"
},
"funding": {
"url": "https://github.com/sponsors/posva"
},
"peerDependencies": {
"vue": "^3.2.0"
}
},
"node_modules/zrender": {
"version": "5.4.3",
"resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.3.tgz",
"integrity": "sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==",
"dependencies": {
"tslib": "2.3.0"
}
}
}
}

21
package.json Normal file
View File

@ -0,0 +1,21 @@
{
"name": "web",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"dependencies": {
"echarts": "^5.4.2",
"sass": "^1.60.0",
"vue": "^3.2.47",
"vue-router": "^4.1.6"
},
"devDependencies": {
"@vitejs/plugin-vue": "^4.1.0",
"vite": "^4.2.0"
}
}

1
public/vite.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

3
src/App.vue Normal file
View File

@ -0,0 +1,3 @@
<template>
<router-view />
</template>

BIN
src/assets/header.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

BIN
src/assets/img_01.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
src/assets/img_02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

BIN
src/assets/img_03.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
src/assets/img_04.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
src/assets/img_05.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
src/assets/img_06.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 MiB

BIN
src/assets/img_07.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
src/assets/img_08.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

BIN
src/assets/img_09.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

BIN
src/assets/img_10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

BIN
src/assets/img_11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
src/assets/img_12.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

1
src/assets/vue.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="37.07" height="36" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 198"><path fill="#41B883" d="M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0h47.36Z"></path><path fill="#41B883" d="m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0H0Z"></path><path fill="#35495E" d="M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0H50.56Z"></path></svg>

After

Width:  |  Height:  |  Size: 496 B

View File

@ -0,0 +1,40 @@
<script setup>
import { ref } from 'vue'
defineProps({
msg: String,
})
const count = ref(0)
</script>
<template>
<h1>{{ msg }}</h1>
<div class="card">
<button type="button" @click="count++">count is {{ count }}</button>
<p>
Edit
<code>components/HelloWorld.vue</code> to test HMR
</p>
</div>
<p>
Check out
<a href="https://vuejs.org/guide/quick-start.html#local" target="_blank"
>create-vue</a
>, the official Vue + Vite starter
</p>
<p>
Install
<a href="https://github.com/vuejs/language-tools" target="_blank">Volar</a>
in your IDE for a better DX
</p>
<p class="read-the-docs">Click on the Vite and Vue logos to learn more</p>
</template>
<style scoped>
.read-the-docs {
color: #888;
}
</style>

173
src/components/header.vue Normal file
View File

@ -0,0 +1,173 @@
<template>
<div class="header">
<img class="title" src="../assets/img_07.png" alt="" />
<div class="time">
<div id="clock">加载中...</div>
<div id="date-display"></div>
</div>
<div class="header-menu">
<ul class="header-menu-item header-menu-left">
<li v-for="item in data.urlLeft.slice(0, 3)" :key="item.name">
<span class="header-menu-on" @click="to(item.url)">{{ item.name }}</span>
</li>
</ul>
<ul class="header-menu-item header-menu-right">
<li v-for="item in data.urlLeft.slice(3, 6)" :key="item.name">
<span class="header-menu-on" @click="to(item.url)">{{ item.name }}</span>
</li>
</ul>
</div>
</div>
</template>
<script setup>
import { ref, reactive, toRefs, onMounted, inject, nextTick, watch } from "vue";
import { useRouter, useRoute } from "vue-router";
const updateClock = () => {
//
const now = new Date();
const year = now.getFullYear();
const month = (now.getMonth() + 1).toString().padStart(2, "0"); // 01
const day = now.getDate().toString().padStart(2, "0");
//
const hours = now.getHours().toString().padStart(2, "0");
//
const minutes = now.getMinutes().toString().padStart(2, "0");
//
const seconds = now.getSeconds().toString().padStart(2, "0");
//
const timeString = `${hours}:${minutes}:${seconds}`;
const formattedDate = year + "-" + month + "-" + day;
//
document.getElementById("clock").textContent = timeString;
// div
document.getElementById("date-display").innerText = formattedDate;
};
const to =(url)=>{
router.push({
path: `${url}`,
});
}
const router = useRouter();
const routers = useRoute();
let menuIf = ref(true);
const data = reactive({
urlLeft: [
{
name: "主页",
url:'/home/index',
},
{
name: "养老",
url:'/home/yl',
},
{
name: "卫生",
url:'/home/hygiene',
},
{
name: "教育",
url:'/home/education',
},
{
name: "就业救助",
url:'/home/work',
},
{
name: "智能分析",
url:'/home/analyze',
},
],
nowTab: "0",
});
onMounted(() => {
// updateClock
updateClock();
// updateClock
setInterval(updateClock, 1000);
});
</script>
<style lang='scss' scoped>
.header {
// background-image: url(../assets/header.png);
// background-size: 100% 100%;
display: flex;
height: 80px;
width: 100%;
background-color: beige;
position: relative;
.title {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 146px;
height: 55px;
}
.time {
width: 200px;
height: 100%;
display: flex;
padding-left: 20px;
flex-direction: column;
// align-items: center;
justify-content: center;
}
&-menu {
// position: absolute;
// left:20%;
// height: 80px;
// &-item {
// height: 80px;
// width: 540px;
// position: absolute;
// top: 0%;
// display: flex;
// flex-direction: row;
// align-items: center;
// li {
// display: inline-block;
// margin: 0px;
// margin-top: 25px;
// height: 80px;
// line-height: 80px;
// text-align: center;
// }
// }
// left:65%;
height: 80px;
top: 0;
display: flex;
cursor: pointer;
&-item {
height: 80px;
width: 600px;
display: flex;
position: absolute;
justify-content: space-around;
li {
display: inline-block;
margin: 0px;
height: 80px;
line-height: 80px;
text-align: center;
font-size: 30px;
}
}
&-left {
left: 10%;
}
&-right {
left: 60%;
}
}
}
</style>

8
src/main.js Normal file
View File

@ -0,0 +1,8 @@
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
// 引入路由
import router from "./router";
createApp(App).use(router).mount('#app')

51
src/router/index.js Normal file
View File

@ -0,0 +1,51 @@
import { createRouter, createWebHashHistory } from 'vue-router'
const routerHistory = createWebHashHistory();
const router = createRouter({
history: routerHistory,
routes: [
{
path: '/',
redirect: '/home/index'
},
{
path: '/home',
component: () => import('../view/home.vue'),
children: [
{
name:'首页',
path: '/home/index',
component: () => import('../view/sy.vue'),
},
{
name:'养老',
path: '/home/yl',
component: () => import('../view/yl.vue'),
},
{
name:'卫生',
path: '/home/hygiene',
component: () => import('../view/hygiene.vue'),
},
{
name:'教育',
path: '/home/education',
component: () => import('../view/education.vue'),
},
{
name:'就业补助',
path: '/home/work',
component: () => import('../view/work.vue'),
},
{
name:'智能分析',
path: '/home/analyze',
component: () => import('../view/analyze.vue'),
},
]
},
]
})
export default router

4
src/style.css Normal file
View File

@ -0,0 +1,4 @@
*{
padding: 0;
margin: 0;
}

462
src/view/analyze.vue Normal file
View File

@ -0,0 +1,462 @@
<template>
<div class="module">
<div class="module_left">
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">助乡兴趣点</span>
</div>
<ePie></ePie>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">基本信息</span>
</div>
<div class="basicInformation">
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>学历</span>
</div>
<p>浙江大学研究生</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>性格</span>
</div>
<p>沉稳</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>分类</span>
</div>
<p>乡贤代表</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>所属行业</span>
</div>
<p>计算机<br />应用专家</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>家属情况</span>
</div>
<p>父母去世姨妈 在象</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>对乡情感</span>
</div>
<p>积极参与</p>
</div>
</div>
</div>
</div>
</div>
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">活动数据分析</span>
</div>
<eGraph></eGraph>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">走访日志</span>
</div>
<div class="visitLog">
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>故居走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>节日走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>新年走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
</div>
</div>
</div>
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">个人经历</span>
</div>
<div class="history">
<p>2002年至2009年担任浙江大学计算机学院和软件学院院长</p>
<p>1984年获得浙江大学计算机应用专业硕士学位之后留校任教</p>
<p>1990年获得浙江大学计算机应用专业博士学位</p>
<p>1994年至1996年担任浙江大学计算机系副系主任</p>
<p>1997年至2002年担任浙江大学计算机系系主任</p>
<p>2002年至2009年担任浙江大学计算机学院和软件学院院长</p>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">职位</span>
</div>
<eBubble></eBubble>
</div>
</div>
<div></div>
</div>
<!-- <div class="module_right">
<div class="flex1">
<div class="yd_title">
<span class="text">关注标签</span>
</div>
<div class="concernLabel">
<span>计算机</span>
<span>大数据</span>
<span>互联网</span>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">助乡属性</span>
</div>
<div class="property">
<div class="property_box">
<h5>助乡方式</h5>
<p>科技助乡</p>
</div>
<div class="property_box">
<h5>助乡意向</h5>
<p>积极</p>
</div>
</div>
<div class="activity">
<h5>助乡活动</h5>
<div class="activity_content">
<div class="activity_box">
<p>
2021.2象山县委统战部和象山电视台工作人员前往杭州浙江大学拍摄天南地北象山人
</p>
</div>
<div class="activity_box">
<p>
2020.8.29陈纯院士参加在象山举办的浙江省海外高层次人才联谊会并作院士报告
</p>
</div>
</div>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">信息监测</span>
</div>
<div class="monitor">
<div class="monitor_box">
<img src="../assets/img_10.png" alt="" />
<div class="monitor_box_text">
<h4>智汇青春 有梦当燃这场全国大赛决赛在西子湖畔收官</h4>
<p>2023-03-18</p>
</div>
</div>
<div class="monitor_box">
<img src="../assets/img_09.png" alt="" />
<div class="monitor_box_text">
<h4>智汇青春 有梦当燃这场全国大赛决赛在西子湖畔收官</h4>
<p>2023-03-18</p>
</div>
</div>
</div>
</div>
</div> -->
</div>
</template>
<script setup>
import eBubble from "./echarts/bubble.vue";
import ePie from "./echarts/pie.vue";
import ePie2 from "./echarts/pie2.vue";
import eGraph from "./echarts/graph.vue";
</script>
<style lang="scss" scoped>
.displayFlex {
display: flex;
flex-direction: column;
width: 100%;
}
.flex1 {
flex: 1;
padding: 0 38px;
box-sizing: border-box;
}
.module {
display: flex;
.module_left {
display: flex;
}
// .module_right {
// flex: 0 0 25%;
// }
}
.yd_title {
background-image: url(@/assets/img_04.png);
background-repeat: no-repeat;
background-size: 100% 100%;
box-sizing: border-box;
width: 100%;
height: 36px;
position: relative;
.text {
font-size: 16px;
font-family: SourceHanSansCN;
font-weight: bold;
color: #ffffff;
position: absolute;
left: 33px;
top: 3px;
}
}
.basicInformation {
display: flex;
flex-direction: row;
flex-wrap: wrap;
padding-top: 22px;
.basicInformation_item {
flex: 0 0 50%;
padding: 0 2px;
margin-bottom: 10px;
margin-top: 10px;
box-sizing: border-box;
display: flex;
align-items: center;
.icon {
width: 79px;
height: 47px;
}
.right {
margin-left: 4px;
.label {
background-image: url(@/assets/img_11.png);
background-size: 100%;
background-repeat: no-repeat;
background-position: bottom;
margin-bottom: 4px;
span {
font-size: 12px;
font-weight: 400;
color: #eff0f1;
line-height: 19px;
margin-left: 2px;
}
}
p {
font-size: 16px;
font-weight: bold;
color: #6acbff;
line-height: 24px;
}
}
}
}
.visitLog {
.visitLog_item {
display: flex;
align-items: center;
background-image: url(@/assets/img_12.png);
background-size: 100% 100%;
margin-top: 16px;
padding: 15px 8px;
box-sizing: border-box;
img {
display: inline-block;
margin-right: 10px;
}
.visitLog_item_box {
flex: auto;
h4 {
font-size: 18px;
font-family: MicrosoftYaHei;
font-weight: bold;
color: #0096ff;
margin-bottom: 2px;
}
p {
font-size: 12px;
font-family: SourceHanSansCN;
font-weight: 400;
color: #ffffff;
margin-top: 6px;
}
}
.check {
font-size: 12px;
font-family: SourceHanSansCN;
font-weight: 400;
color: #0096ff;
line-height: 20px;
}
}
}
.history {
padding-top: 12px;
p {
margin-top: 12px;
font-size: 12px;
font-weight: 400;
color: #ffffff;
line-height: 28px;
border-bottom: 13px solid rgba(57, 59, 109, 1);
}
}
.concernLabel {
display: flex;
align-items: center;
justify-content: center;
margin: 12px 0 20px;
span {
text-align: center;
background: rgba(0, 89, 130, 0.73);
border-radius: 10px;
width: 118px;
height: 49px;
line-height: 49px;
font-size: 18px;
font-weight: 400;
color: #ffffff;
margin: 0 10px;
}
}
.property {
display: flex;
padding: 14px 0 10px;
.property_box {
background-image: url(@/assets/img_05.png);
background-size: 100% 100%;
background-repeat: no-repeat;
width: 179px;
height: 91px;
margin: 0 12px;
text-align: center;
h5 {
font-size: 14px;
font-weight: 400;
color: #ffffff;
margin: 9px 0 16px;
}
p {
font-size: 21px;
font-weight: bold;
color: #48ece7;
}
}
}
.activity {
h5 {
font-size: 14px;
font-weight: bold;
color: rgba(0, 164, 250, 0.8);
line-height: 47px;
border-bottom: 2px solid rgba(0, 164, 250, 1);
margin-bottom: 17px;
}
.activity_content {
margin: 0 -6px 12px;
display: flex;
.activity_box {
width: 50%;
display: inline-block;
margin: 0 6px;
box-sizing: border-box;
background-color: rgba(15, 28, 54, 1);
padding: 12px 12px 19px;
p {
font-size: 14px;
font-weight: 400;
color: #ffffff;
line-height: 27px;
height: 100%;
}
}
}
}
.monitor {
.monitor_box {
display: flex;
padding: 8px 0;
border-bottom: 2px solid rgba(255, 255, 255, 0.67);
img {
width: 115px;
height: 84px;
margin-right: 21px;
}
.monitor_box_text {
display: flex;
flex-direction: column;
justify-content: space-between;
h4 {
font-size: 14px;
font-weight: 400;
color: #ffffff;
line-height: 20px;
}
p {
font-size: 14px;
font-weight: 400;
color: #818181;
line-height: 23px;
}
}
}
}
</style>

150
src/view/echarts/bubble.vue Normal file
View File

@ -0,0 +1,150 @@
<template>
<div ref="chart" style="width:100%;height:300px;"></div>
</template>
<script setup >
import {onMounted, reactive, ref} from "vue";
// echarts
import * as echarts from 'echarts'
const chart =ref(); // DOM
var plantCap = [{
name: '中国工程院 \n\n 院士'
}, {
name: '计算机应用 \n\n 专家'
}, {
name: '浙江大学计算机 \n\n 科学与技术学院 \n\n 教授'
}, {
name: '国家数码喷印工程 \n\n 技术研究中心 \n\n 首席科学家'
}, {
name: '浙江大学信息 \n\n 学部主任'
}, {
name: '博士生导师'
}];
var datalist = [{
offset: [10, 73],
symbolSize: 90,
opacity: .95,
color: '#C58F5A'
}, {
offset: [40, 63],
symbolSize: 90,
opacity: .88,
color: '#076097'
}, {
offset: [80, 73],
symbolSize: 130,
opacity: .84,
color: '#BF74CF'
}, {
offset: [20, 23],
symbolSize: 140,
opacity: .84,
color: '#2D90ED'
}, {
offset: [60, 23],
symbolSize: 95,
opacity: .84,
color: '#079773'
}, {
offset: [90, 33],
symbolSize: 80,
opacity: .84,
color: '#C89D4A'
}];
var datas = [];
for (var i = 0; i < plantCap.length; i++) {
var item = plantCap[i];
var itemToStyle = datalist[i];
datas.push({
name: item.name,
value: itemToStyle.offset,
symbolSize: itemToStyle.symbolSize,
label: {
normal: {
textStyle: {
fontSize: 12
}
}
},
itemStyle: {
normal: {
color: itemToStyle.color,
opacity: itemToStyle.opacity
}
},
})
}
let option = {
grid: {
show: false,
top: 10,
bottom: 10
},
xAxis: [{
gridIndex: 0,
type: 'value',
show: false,
min: 0,
max: 100,
nameLocation: 'middle',
nameGap: 5
}],
yAxis: [{
gridIndex: 0,
min: 0,
show: false,
max: 100,
nameLocation: 'middle',
nameGap: 30
}],
series: [{
type: 'scatter',
symbol: 'circle',
symbolSize: 120,
label: {
normal: {
show: true,
formatter: '{b}',
color: '#fff',
textStyle: {
fontSize: '20'
}
},
},
itemStyle: {
normal: {
color: '#00acea'
}
},
data: datas
}]
};
// 使
onMounted(() => {
// domecharts
// var myChart = echarts.init(document.getElementById('main'));
// Vue3
var myChart = echarts.init(chart.value)
// init(); // vue3.2this
// 使
myChart.setOption(option);
// :
window.addEventListener('resize',()=>{
myChart.resize()
})
})
</script>
<style scoped>
</style>

133
src/view/echarts/graph.vue Normal file
View File

@ -0,0 +1,133 @@
<template>
<div ref="chart" style="width: 100%; height: 280px"></div>
</template>
<script setup>
import { onMounted, reactive, ref } from "vue";
// echarts
import * as echarts from "echarts";
const chart = ref(); // DOM
let option = {
legend: {
//
orient: "horizontal", // 'horizontal' 'vertical'
x: "right", // 'center''left''right''number' px
y: "top", // 'top''bottom''center''number' px
data: ["返乡次数", "参与活动", "走访次数", "参事次数"],
textStyle: {
color: "#fff",
},
},
grid: {
// px
top: "20%",
left: "0",
right: "0",
bottom: "0",
containLabel: true,
},
xAxis: {
name: "月份",
type: "category",
data: ["2016", "2017", "2018", "2019", "2020", "2021", "2022"],
axisLine: {
lineStyle: {
color: "#27C2BC",
},
},
axisLabel: {
textStyle: {
color: "#ffffff",
fontSize: 12,
},
},
},
yAxis: {
name: "",
type: "value",
min: 0, // Y
splitNumber: 7, // Y
splitLine: {
lineStyle: {
color: "#2c6883",
},
},
},
series: [
{
name: "参与活动",
data: [20, 15, 30, 18, 16, 18, 40],
type: "line",
symbol: "circle", //
smooth: 0.5, // 线
},
{
name: "返乡次数",
data: [30, 25, 38, 22, 24, 21, 18],
type: "line",
symbolSize: 8, //线
itemStyle: {
normal: {
label: {
show: true, // 线
},
lineStyle: {
width: 3, // 线
type: "dotted", // 线'dotted' 线'solid'
},
},
},
},
{
name: "走访次数",
data: [16, 15, 17, 16, 20, 18, 16],
type: "line",
symbol: "circle", //
smooth: 0.5, // 线
},
{
name: "参事次数",
data: [8, 6, 12, 6, 17, 16, 14],
type: "line",
symbolSize: 8, //线
itemStyle: {
normal: {
label: {
show: true, // 线
},
lineStyle: {
width: 3, // 线
type: "dotted", // 线'dotted' 线'solid'
},
},
},
},
],
color: ["#dfdd04", "#494c21", "#44d4de", "#1a5166"], // 线
};
// 使
onMounted(() => {
// domecharts
// var myChart = echarts.init(document.getElementById('main'));
// Vue3
var myChart = echarts.init(chart.value);
// init(); // vue3.2this
// 使
myChart.setOption(option);
// :
window.addEventListener("resize", () => {
myChart.resize();
});
});
</script>
<style scoped></style>

159
src/view/echarts/pie.vue Normal file

File diff suppressed because one or more lines are too long

160
src/view/echarts/pie2.vue Normal file

File diff suppressed because one or more lines are too long

462
src/view/education.vue Normal file
View File

@ -0,0 +1,462 @@
<template>
<div class="module">
<div class="module_left">
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">助乡兴趣点</span>
</div>
<ePie></ePie>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">基本信息</span>
</div>
<div class="basicInformation">
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>学历</span>
</div>
<p>浙江大学研究生</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>性格</span>
</div>
<p>沉稳</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>分类</span>
</div>
<p>乡贤代表</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>所属行业</span>
</div>
<p>计算机<br />应用专家</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>家属情况</span>
</div>
<p>父母去世姨妈 在象</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>对乡情感</span>
</div>
<p>积极参与</p>
</div>
</div>
</div>
</div>
</div>
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">活动数据分析</span>
</div>
<eGraph></eGraph>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">走访日志</span>
</div>
<div class="visitLog">
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>故居走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>节日走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>新年走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
</div>
</div>
</div>
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">个人经历</span>
</div>
<div class="history">
<p>2002年至2009年担任浙江大学计算机学院和软件学院院长</p>
<p>1984年获得浙江大学计算机应用专业硕士学位之后留校任教</p>
<p>1990年获得浙江大学计算机应用专业博士学位</p>
<p>1994年至1996年担任浙江大学计算机系副系主任</p>
<p>1997年至2002年担任浙江大学计算机系系主任</p>
<p>2002年至2009年担任浙江大学计算机学院和软件学院院长</p>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">职位</span>
</div>
<eBubble></eBubble>
</div>
</div>
<div></div>
</div>
<!-- <div class="module_right">
<div class="flex1">
<div class="yd_title">
<span class="text">关注标签</span>
</div>
<div class="concernLabel">
<span>计算机</span>
<span>大数据</span>
<span>互联网</span>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">助乡属性</span>
</div>
<div class="property">
<div class="property_box">
<h5>助乡方式</h5>
<p>科技助乡</p>
</div>
<div class="property_box">
<h5>助乡意向</h5>
<p>积极</p>
</div>
</div>
<div class="activity">
<h5>助乡活动</h5>
<div class="activity_content">
<div class="activity_box">
<p>
2021.2象山县委统战部和象山电视台工作人员前往杭州浙江大学拍摄天南地北象山人
</p>
</div>
<div class="activity_box">
<p>
2020.8.29陈纯院士参加在象山举办的浙江省海外高层次人才联谊会并作院士报告
</p>
</div>
</div>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">信息监测</span>
</div>
<div class="monitor">
<div class="monitor_box">
<img src="../assets/img_10.png" alt="" />
<div class="monitor_box_text">
<h4>智汇青春 有梦当燃这场全国大赛决赛在西子湖畔收官</h4>
<p>2023-03-18</p>
</div>
</div>
<div class="monitor_box">
<img src="../assets/img_09.png" alt="" />
<div class="monitor_box_text">
<h4>智汇青春 有梦当燃这场全国大赛决赛在西子湖畔收官</h4>
<p>2023-03-18</p>
</div>
</div>
</div>
</div>
</div> -->
</div>
</template>
<script setup>
import eBubble from "./echarts/bubble.vue";
import ePie from "./echarts/pie.vue";
import ePie2 from "./echarts/pie2.vue";
import eGraph from "./echarts/graph.vue";
</script>
<style lang="scss" scoped>
.displayFlex {
display: flex;
flex-direction: column;
width: 100%;
}
.flex1 {
flex: 1;
padding: 0 38px;
box-sizing: border-box;
}
.module {
display: flex;
.module_left {
display: flex;
}
// .module_right {
// flex: 0 0 25%;
// }
}
.yd_title {
background-image: url(@/assets/img_04.png);
background-repeat: no-repeat;
background-size: 100% 100%;
box-sizing: border-box;
width: 100%;
height: 36px;
position: relative;
.text {
font-size: 16px;
font-family: SourceHanSansCN;
font-weight: bold;
color: #ffffff;
position: absolute;
left: 33px;
top: 3px;
}
}
.basicInformation {
display: flex;
flex-direction: row;
flex-wrap: wrap;
padding-top: 22px;
.basicInformation_item {
flex: 0 0 50%;
padding: 0 2px;
margin-bottom: 10px;
margin-top: 10px;
box-sizing: border-box;
display: flex;
align-items: center;
.icon {
width: 79px;
height: 47px;
}
.right {
margin-left: 4px;
.label {
background-image: url(@/assets/img_11.png);
background-size: 100%;
background-repeat: no-repeat;
background-position: bottom;
margin-bottom: 4px;
span {
font-size: 12px;
font-weight: 400;
color: #eff0f1;
line-height: 19px;
margin-left: 2px;
}
}
p {
font-size: 16px;
font-weight: bold;
color: #6acbff;
line-height: 24px;
}
}
}
}
.visitLog {
.visitLog_item {
display: flex;
align-items: center;
background-image: url(@/assets/img_12.png);
background-size: 100% 100%;
margin-top: 16px;
padding: 15px 8px;
box-sizing: border-box;
img {
display: inline-block;
margin-right: 10px;
}
.visitLog_item_box {
flex: auto;
h4 {
font-size: 18px;
font-family: MicrosoftYaHei;
font-weight: bold;
color: #0096ff;
margin-bottom: 2px;
}
p {
font-size: 12px;
font-family: SourceHanSansCN;
font-weight: 400;
color: #ffffff;
margin-top: 6px;
}
}
.check {
font-size: 12px;
font-family: SourceHanSansCN;
font-weight: 400;
color: #0096ff;
line-height: 20px;
}
}
}
.history {
padding-top: 12px;
p {
margin-top: 12px;
font-size: 12px;
font-weight: 400;
color: #ffffff;
line-height: 28px;
border-bottom: 13px solid rgba(57, 59, 109, 1);
}
}
.concernLabel {
display: flex;
align-items: center;
justify-content: center;
margin: 12px 0 20px;
span {
text-align: center;
background: rgba(0, 89, 130, 0.73);
border-radius: 10px;
width: 118px;
height: 49px;
line-height: 49px;
font-size: 18px;
font-weight: 400;
color: #ffffff;
margin: 0 10px;
}
}
.property {
display: flex;
padding: 14px 0 10px;
.property_box {
background-image: url(@/assets/img_05.png);
background-size: 100% 100%;
background-repeat: no-repeat;
width: 179px;
height: 91px;
margin: 0 12px;
text-align: center;
h5 {
font-size: 14px;
font-weight: 400;
color: #ffffff;
margin: 9px 0 16px;
}
p {
font-size: 21px;
font-weight: bold;
color: #48ece7;
}
}
}
.activity {
h5 {
font-size: 14px;
font-weight: bold;
color: rgba(0, 164, 250, 0.8);
line-height: 47px;
border-bottom: 2px solid rgba(0, 164, 250, 1);
margin-bottom: 17px;
}
.activity_content {
margin: 0 -6px 12px;
display: flex;
.activity_box {
width: 50%;
display: inline-block;
margin: 0 6px;
box-sizing: border-box;
background-color: rgba(15, 28, 54, 1);
padding: 12px 12px 19px;
p {
font-size: 14px;
font-weight: 400;
color: #ffffff;
line-height: 27px;
height: 100%;
}
}
}
}
.monitor {
.monitor_box {
display: flex;
padding: 8px 0;
border-bottom: 2px solid rgba(255, 255, 255, 0.67);
img {
width: 115px;
height: 84px;
margin-right: 21px;
}
.monitor_box_text {
display: flex;
flex-direction: column;
justify-content: space-between;
h4 {
font-size: 14px;
font-weight: 400;
color: #ffffff;
line-height: 20px;
}
p {
font-size: 14px;
font-weight: 400;
color: #818181;
line-height: 23px;
}
}
}
}
</style>

112
src/view/home copy.vue Normal file
View File

@ -0,0 +1,112 @@
<template>
<!-- ECharts 准备一个定义了宽高的 DOM -->
<!--vue3中 id= 变更 ref=-->
<div ref="chart" style="width:100%;height:200px;"></div>
</template>
<script setup >
import {onMounted, reactive, ref} from "vue";
// echarts
import * as echarts from 'echarts'
// const props = defineProps({ //
//
const {chartType,chartData}= defineProps({ //
chartType:{
type: String
},
chartData: {
type: Array
}
})
const chart =ref(); // DOM
//
const option = reactive({
//
title: { //
// left: 'center', //
text: 'ECharts 入门示例',
left: 'center',
textStyle: {
color: '#f60',
fontSize: 20,
}
},
color: '#f00', //
tooltip: {}, //
legend: { //
data: ['销量'],
top: '5%',
left: 'right',
textStyle: { //
color: '#f68',
}
},
xAxis: { // x
data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子'],
axisLine: { //
lineStyle: { //
color:'#000' //
}
},
axisLabel:{
interval: 0,
formatter: value => value.split('').join('\n') //lang='ts'
}
},
yAxis: { // y
axisLine: { //
lineStyle: { //
color:'#000' //
}
},
axisLabel:{
// formatter: '{value} '
formatter: function(value,index){ // lang='ts'
return value %2 == 0 ? value + '件' : value //
}
}
},
series: [ // data
{
name: '销量',
// type: 'bar', //
// type: props.chartType, //
type:chartType, //
// data: [5, 20, 36, 10, 10, 20], //
// data: props.chartData,
data: chartData,
label: {
show: true,
position: 'top'
},
}
]
})
// 使
onMounted(() => {
// domecharts
// var myChart = echarts.init(document.getElementById('main'));
// Vue3
var myChart = echarts.init(chart.value)
// init(); // vue3.2this
// 使
myChart.setOption(option);
// :
window.addEventListener('resize',()=>{
myChart.resize()
})
})
</script>
<style scoped>
</style>

60
src/view/home.vue Normal file
View File

@ -0,0 +1,60 @@
<template>
<div>
<div class="content">
<div class="ydool_body">
<!-- <div id="header">
<img class="title" src="../assets/img_07.png" alt="" />
</div> -->
<Header />
<router-view/>
</div>
</div>
</div>
</template>
<script setup>
import Header from "../components/header.vue";
import eBubble from "./echarts/bubble.vue";
import ePie from "./echarts/pie.vue";
import ePie2 from "./echarts/pie2.vue";
import eGraph from "./echarts/graph.vue";
import { ref, onMounted, onBeforeMount } from "vue";
//
window.addEventListener("resize", () =>
setTimeout(function () {
//zoom
location.reload();
}, 10)
);
const ismobile = ref();
// let zoom = document.body.clientWidth / 1920;
// document.getElementsByTagName("body")[0].style.setProperty("--zoom", zoom);
onBeforeMount(() => {
let zoom = document.body.clientWidth / 1920;
document.getElementsByTagName("body")[0].style.setProperty("--zoom", zoom);
ismobile.value = false;
});
</script>
<style scoped lang="scss">
.content {
background-color: rgba(2, 4, 27, 1);
height: 100vh;
width: 100vw;
background-repeat: no-repeat;
background-position-y: bottom;
background-size: 100%;
overflow: hidden;
}
:root {
--zoom: 1;
}
.ydool_body {
zoom: var(--zoom);
}
</style>

462
src/view/hygiene.vue Normal file
View File

@ -0,0 +1,462 @@
<template>
<div class="module">
<div class="module_left">
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">助乡兴趣点</span>
</div>
<ePie></ePie>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">基本信息</span>
</div>
<div class="basicInformation">
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>学历</span>
</div>
<p>浙江大学研究生</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>性格</span>
</div>
<p>沉稳</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>分类</span>
</div>
<p>乡贤代表</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>所属行业</span>
</div>
<p>计算机<br />应用专家</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>家属情况</span>
</div>
<p>父母去世姨妈 在象</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>对乡情感</span>
</div>
<p>积极参与</p>
</div>
</div>
</div>
</div>
</div>
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">活动数据分析</span>
</div>
<eGraph></eGraph>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">走访日志</span>
</div>
<div class="visitLog">
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>故居走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>节日走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>新年走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
</div>
</div>
</div>
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">个人经历</span>
</div>
<div class="history">
<p>2002年至2009年担任浙江大学计算机学院和软件学院院长</p>
<p>1984年获得浙江大学计算机应用专业硕士学位之后留校任教</p>
<p>1990年获得浙江大学计算机应用专业博士学位</p>
<p>1994年至1996年担任浙江大学计算机系副系主任</p>
<p>1997年至2002年担任浙江大学计算机系系主任</p>
<p>2002年至2009年担任浙江大学计算机学院和软件学院院长</p>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">职位</span>
</div>
<eBubble></eBubble>
</div>
</div>
<div></div>
</div>
<!-- <div class="module_right">
<div class="flex1">
<div class="yd_title">
<span class="text">关注标签</span>
</div>
<div class="concernLabel">
<span>计算机</span>
<span>大数据</span>
<span>互联网</span>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">助乡属性</span>
</div>
<div class="property">
<div class="property_box">
<h5>助乡方式</h5>
<p>科技助乡</p>
</div>
<div class="property_box">
<h5>助乡意向</h5>
<p>积极</p>
</div>
</div>
<div class="activity">
<h5>助乡活动</h5>
<div class="activity_content">
<div class="activity_box">
<p>
2021.2象山县委统战部和象山电视台工作人员前往杭州浙江大学拍摄天南地北象山人
</p>
</div>
<div class="activity_box">
<p>
2020.8.29陈纯院士参加在象山举办的浙江省海外高层次人才联谊会并作院士报告
</p>
</div>
</div>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">信息监测</span>
</div>
<div class="monitor">
<div class="monitor_box">
<img src="../assets/img_10.png" alt="" />
<div class="monitor_box_text">
<h4>智汇青春 有梦当燃这场全国大赛决赛在西子湖畔收官</h4>
<p>2023-03-18</p>
</div>
</div>
<div class="monitor_box">
<img src="../assets/img_09.png" alt="" />
<div class="monitor_box_text">
<h4>智汇青春 有梦当燃这场全国大赛决赛在西子湖畔收官</h4>
<p>2023-03-18</p>
</div>
</div>
</div>
</div>
</div> -->
</div>
</template>
<script setup>
import eBubble from "./echarts/bubble.vue";
import ePie from "./echarts/pie.vue";
import ePie2 from "./echarts/pie2.vue";
import eGraph from "./echarts/graph.vue";
</script>
<style lang="scss" scoped>
.displayFlex {
display: flex;
flex-direction: column;
width: 100%;
}
.flex1 {
flex: 1;
padding: 0 38px;
box-sizing: border-box;
}
.module {
display: flex;
.module_left {
display: flex;
}
// .module_right {
// flex: 0 0 25%;
// }
}
.yd_title {
background-image: url(@/assets/img_04.png);
background-repeat: no-repeat;
background-size: 100% 100%;
box-sizing: border-box;
width: 100%;
height: 36px;
position: relative;
.text {
font-size: 16px;
font-family: SourceHanSansCN;
font-weight: bold;
color: #ffffff;
position: absolute;
left: 33px;
top: 3px;
}
}
.basicInformation {
display: flex;
flex-direction: row;
flex-wrap: wrap;
padding-top: 22px;
.basicInformation_item {
flex: 0 0 50%;
padding: 0 2px;
margin-bottom: 10px;
margin-top: 10px;
box-sizing: border-box;
display: flex;
align-items: center;
.icon {
width: 79px;
height: 47px;
}
.right {
margin-left: 4px;
.label {
background-image: url(@/assets/img_11.png);
background-size: 100%;
background-repeat: no-repeat;
background-position: bottom;
margin-bottom: 4px;
span {
font-size: 12px;
font-weight: 400;
color: #eff0f1;
line-height: 19px;
margin-left: 2px;
}
}
p {
font-size: 16px;
font-weight: bold;
color: #6acbff;
line-height: 24px;
}
}
}
}
.visitLog {
.visitLog_item {
display: flex;
align-items: center;
background-image: url(@/assets/img_12.png);
background-size: 100% 100%;
margin-top: 16px;
padding: 15px 8px;
box-sizing: border-box;
img {
display: inline-block;
margin-right: 10px;
}
.visitLog_item_box {
flex: auto;
h4 {
font-size: 18px;
font-family: MicrosoftYaHei;
font-weight: bold;
color: #0096ff;
margin-bottom: 2px;
}
p {
font-size: 12px;
font-family: SourceHanSansCN;
font-weight: 400;
color: #ffffff;
margin-top: 6px;
}
}
.check {
font-size: 12px;
font-family: SourceHanSansCN;
font-weight: 400;
color: #0096ff;
line-height: 20px;
}
}
}
.history {
padding-top: 12px;
p {
margin-top: 12px;
font-size: 12px;
font-weight: 400;
color: #ffffff;
line-height: 28px;
border-bottom: 13px solid rgba(57, 59, 109, 1);
}
}
.concernLabel {
display: flex;
align-items: center;
justify-content: center;
margin: 12px 0 20px;
span {
text-align: center;
background: rgba(0, 89, 130, 0.73);
border-radius: 10px;
width: 118px;
height: 49px;
line-height: 49px;
font-size: 18px;
font-weight: 400;
color: #ffffff;
margin: 0 10px;
}
}
.property {
display: flex;
padding: 14px 0 10px;
.property_box {
background-image: url(@/assets/img_05.png);
background-size: 100% 100%;
background-repeat: no-repeat;
width: 179px;
height: 91px;
margin: 0 12px;
text-align: center;
h5 {
font-size: 14px;
font-weight: 400;
color: #ffffff;
margin: 9px 0 16px;
}
p {
font-size: 21px;
font-weight: bold;
color: #48ece7;
}
}
}
.activity {
h5 {
font-size: 14px;
font-weight: bold;
color: rgba(0, 164, 250, 0.8);
line-height: 47px;
border-bottom: 2px solid rgba(0, 164, 250, 1);
margin-bottom: 17px;
}
.activity_content {
margin: 0 -6px 12px;
display: flex;
.activity_box {
width: 50%;
display: inline-block;
margin: 0 6px;
box-sizing: border-box;
background-color: rgba(15, 28, 54, 1);
padding: 12px 12px 19px;
p {
font-size: 14px;
font-weight: 400;
color: #ffffff;
line-height: 27px;
height: 100%;
}
}
}
}
.monitor {
.monitor_box {
display: flex;
padding: 8px 0;
border-bottom: 2px solid rgba(255, 255, 255, 0.67);
img {
width: 115px;
height: 84px;
margin-right: 21px;
}
.monitor_box_text {
display: flex;
flex-direction: column;
justify-content: space-between;
h4 {
font-size: 14px;
font-weight: 400;
color: #ffffff;
line-height: 20px;
}
p {
font-size: 14px;
font-weight: 400;
color: #818181;
line-height: 23px;
}
}
}
}
</style>

462
src/view/sy.vue Normal file
View File

@ -0,0 +1,462 @@
<template>
<div class="module">
<div class="module_left">
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">助乡兴趣点</span>
</div>
<ePie></ePie>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">基本信息</span>
</div>
<div class="basicInformation">
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>学历</span>
</div>
<p>浙江大学研究生</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>性格</span>
</div>
<p>沉稳</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>分类</span>
</div>
<p>乡贤代表</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>所属行业</span>
</div>
<p>计算机<br />应用专家</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>家属情况</span>
</div>
<p>父母去世姨妈 在象</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>对乡情感</span>
</div>
<p>积极参与</p>
</div>
</div>
</div>
</div>
</div>
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">活动数据分析</span>
</div>
<eGraph></eGraph>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">走访日志</span>
</div>
<div class="visitLog">
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>故居走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>节日走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>新年走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
</div>
</div>
</div>
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">个人经历</span>
</div>
<div class="history">
<p>2002年至2009年担任浙江大学计算机学院和软件学院院长</p>
<p>1984年获得浙江大学计算机应用专业硕士学位之后留校任教</p>
<p>1990年获得浙江大学计算机应用专业博士学位</p>
<p>1994年至1996年担任浙江大学计算机系副系主任</p>
<p>1997年至2002年担任浙江大学计算机系系主任</p>
<p>2002年至2009年担任浙江大学计算机学院和软件学院院长</p>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">职位</span>
</div>
<eBubble></eBubble>
</div>
</div>
<div></div>
</div>
<!-- <div class="module_right">
<div class="flex1">
<div class="yd_title">
<span class="text">关注标签</span>
</div>
<div class="concernLabel">
<span>计算机</span>
<span>大数据</span>
<span>互联网</span>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">助乡属性</span>
</div>
<div class="property">
<div class="property_box">
<h5>助乡方式</h5>
<p>科技助乡</p>
</div>
<div class="property_box">
<h5>助乡意向</h5>
<p>积极</p>
</div>
</div>
<div class="activity">
<h5>助乡活动</h5>
<div class="activity_content">
<div class="activity_box">
<p>
2021.2象山县委统战部和象山电视台工作人员前往杭州浙江大学拍摄天南地北象山人
</p>
</div>
<div class="activity_box">
<p>
2020.8.29陈纯院士参加在象山举办的浙江省海外高层次人才联谊会并作院士报告
</p>
</div>
</div>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">信息监测</span>
</div>
<div class="monitor">
<div class="monitor_box">
<img src="../assets/img_10.png" alt="" />
<div class="monitor_box_text">
<h4>智汇青春 有梦当燃这场全国大赛决赛在西子湖畔收官</h4>
<p>2023-03-18</p>
</div>
</div>
<div class="monitor_box">
<img src="../assets/img_09.png" alt="" />
<div class="monitor_box_text">
<h4>智汇青春 有梦当燃这场全国大赛决赛在西子湖畔收官</h4>
<p>2023-03-18</p>
</div>
</div>
</div>
</div>
</div> -->
</div>
</template>
<script setup>
import eBubble from "./echarts/bubble.vue";
import ePie from "./echarts/pie.vue";
import ePie2 from "./echarts/pie2.vue";
import eGraph from "./echarts/graph.vue";
</script>
<style lang="scss" scoped>
.displayFlex {
display: flex;
flex-direction: column;
width: 100%;
}
.flex1 {
flex: 1;
padding: 0 38px;
box-sizing: border-box;
}
.module {
display: flex;
.module_left {
display: flex;
}
// .module_right {
// flex: 0 0 25%;
// }
}
.yd_title {
background-image: url(@/assets/img_04.png);
background-repeat: no-repeat;
background-size: 100% 100%;
box-sizing: border-box;
width: 100%;
height: 36px;
position: relative;
.text {
font-size: 16px;
font-family: SourceHanSansCN;
font-weight: bold;
color: #ffffff;
position: absolute;
left: 33px;
top: 3px;
}
}
.basicInformation {
display: flex;
flex-direction: row;
flex-wrap: wrap;
padding-top: 22px;
.basicInformation_item {
flex: 0 0 50%;
padding: 0 2px;
margin-bottom: 10px;
margin-top: 10px;
box-sizing: border-box;
display: flex;
align-items: center;
.icon {
width: 79px;
height: 47px;
}
.right {
margin-left: 4px;
.label {
background-image: url(@/assets/img_11.png);
background-size: 100%;
background-repeat: no-repeat;
background-position: bottom;
margin-bottom: 4px;
span {
font-size: 12px;
font-weight: 400;
color: #eff0f1;
line-height: 19px;
margin-left: 2px;
}
}
p {
font-size: 16px;
font-weight: bold;
color: #6acbff;
line-height: 24px;
}
}
}
}
.visitLog {
.visitLog_item {
display: flex;
align-items: center;
background-image: url(@/assets/img_12.png);
background-size: 100% 100%;
margin-top: 16px;
padding: 15px 8px;
box-sizing: border-box;
img {
display: inline-block;
margin-right: 10px;
}
.visitLog_item_box {
flex: auto;
h4 {
font-size: 18px;
font-family: MicrosoftYaHei;
font-weight: bold;
color: #0096ff;
margin-bottom: 2px;
}
p {
font-size: 12px;
font-family: SourceHanSansCN;
font-weight: 400;
color: #ffffff;
margin-top: 6px;
}
}
.check {
font-size: 12px;
font-family: SourceHanSansCN;
font-weight: 400;
color: #0096ff;
line-height: 20px;
}
}
}
.history {
padding-top: 12px;
p {
margin-top: 12px;
font-size: 12px;
font-weight: 400;
color: #ffffff;
line-height: 28px;
border-bottom: 13px solid rgba(57, 59, 109, 1);
}
}
.concernLabel {
display: flex;
align-items: center;
justify-content: center;
margin: 12px 0 20px;
span {
text-align: center;
background: rgba(0, 89, 130, 0.73);
border-radius: 10px;
width: 118px;
height: 49px;
line-height: 49px;
font-size: 18px;
font-weight: 400;
color: #ffffff;
margin: 0 10px;
}
}
.property {
display: flex;
padding: 14px 0 10px;
.property_box {
background-image: url(@/assets/img_05.png);
background-size: 100% 100%;
background-repeat: no-repeat;
width: 179px;
height: 91px;
margin: 0 12px;
text-align: center;
h5 {
font-size: 14px;
font-weight: 400;
color: #ffffff;
margin: 9px 0 16px;
}
p {
font-size: 21px;
font-weight: bold;
color: #48ece7;
}
}
}
.activity {
h5 {
font-size: 14px;
font-weight: bold;
color: rgba(0, 164, 250, 0.8);
line-height: 47px;
border-bottom: 2px solid rgba(0, 164, 250, 1);
margin-bottom: 17px;
}
.activity_content {
margin: 0 -6px 12px;
display: flex;
.activity_box {
width: 50%;
display: inline-block;
margin: 0 6px;
box-sizing: border-box;
background-color: rgba(15, 28, 54, 1);
padding: 12px 12px 19px;
p {
font-size: 14px;
font-weight: 400;
color: #ffffff;
line-height: 27px;
height: 100%;
}
}
}
}
.monitor {
.monitor_box {
display: flex;
padding: 8px 0;
border-bottom: 2px solid rgba(255, 255, 255, 0.67);
img {
width: 115px;
height: 84px;
margin-right: 21px;
}
.monitor_box_text {
display: flex;
flex-direction: column;
justify-content: space-between;
h4 {
font-size: 14px;
font-weight: 400;
color: #ffffff;
line-height: 20px;
}
p {
font-size: 14px;
font-weight: 400;
color: #818181;
line-height: 23px;
}
}
}
}
</style>

462
src/view/work.vue Normal file
View File

@ -0,0 +1,462 @@
<template>
<div class="module">
<div class="module_left">
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">助乡兴趣点</span>
</div>
<ePie></ePie>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">基本信息</span>
</div>
<div class="basicInformation">
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>学历</span>
</div>
<p>浙江大学研究生</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>性格</span>
</div>
<p>沉稳</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>分类</span>
</div>
<p>乡贤代表</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>所属行业</span>
</div>
<p>计算机<br />应用专家</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>家属情况</span>
</div>
<p>父母去世姨妈 在象</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>对乡情感</span>
</div>
<p>积极参与</p>
</div>
</div>
</div>
</div>
</div>
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">活动数据分析</span>
</div>
<eGraph></eGraph>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">走访日志</span>
</div>
<div class="visitLog">
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>故居走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>节日走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>新年走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
</div>
</div>
</div>
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">个人经历</span>
</div>
<div class="history">
<p>2002年至2009年担任浙江大学计算机学院和软件学院院长</p>
<p>1984年获得浙江大学计算机应用专业硕士学位之后留校任教</p>
<p>1990年获得浙江大学计算机应用专业博士学位</p>
<p>1994年至1996年担任浙江大学计算机系副系主任</p>
<p>1997年至2002年担任浙江大学计算机系系主任</p>
<p>2002年至2009年担任浙江大学计算机学院和软件学院院长</p>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">职位</span>
</div>
<eBubble></eBubble>
</div>
</div>
<div></div>
</div>
<!-- <div class="module_right">
<div class="flex1">
<div class="yd_title">
<span class="text">关注标签</span>
</div>
<div class="concernLabel">
<span>计算机</span>
<span>大数据</span>
<span>互联网</span>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">助乡属性</span>
</div>
<div class="property">
<div class="property_box">
<h5>助乡方式</h5>
<p>科技助乡</p>
</div>
<div class="property_box">
<h5>助乡意向</h5>
<p>积极</p>
</div>
</div>
<div class="activity">
<h5>助乡活动</h5>
<div class="activity_content">
<div class="activity_box">
<p>
2021.2象山县委统战部和象山电视台工作人员前往杭州浙江大学拍摄天南地北象山人
</p>
</div>
<div class="activity_box">
<p>
2020.8.29陈纯院士参加在象山举办的浙江省海外高层次人才联谊会并作院士报告
</p>
</div>
</div>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">信息监测</span>
</div>
<div class="monitor">
<div class="monitor_box">
<img src="../assets/img_10.png" alt="" />
<div class="monitor_box_text">
<h4>智汇青春 有梦当燃这场全国大赛决赛在西子湖畔收官</h4>
<p>2023-03-18</p>
</div>
</div>
<div class="monitor_box">
<img src="../assets/img_09.png" alt="" />
<div class="monitor_box_text">
<h4>智汇青春 有梦当燃这场全国大赛决赛在西子湖畔收官</h4>
<p>2023-03-18</p>
</div>
</div>
</div>
</div>
</div> -->
</div>
</template>
<script setup>
import eBubble from "./echarts/bubble.vue";
import ePie from "./echarts/pie.vue";
import ePie2 from "./echarts/pie2.vue";
import eGraph from "./echarts/graph.vue";
</script>
<style lang="scss" scoped>
.displayFlex {
display: flex;
flex-direction: column;
width: 100%;
}
.flex1 {
flex: 1;
padding: 0 38px;
box-sizing: border-box;
}
.module {
display: flex;
.module_left {
display: flex;
}
// .module_right {
// flex: 0 0 25%;
// }
}
.yd_title {
background-image: url(@/assets/img_04.png);
background-repeat: no-repeat;
background-size: 100% 100%;
box-sizing: border-box;
width: 100%;
height: 36px;
position: relative;
.text {
font-size: 16px;
font-family: SourceHanSansCN;
font-weight: bold;
color: #ffffff;
position: absolute;
left: 33px;
top: 3px;
}
}
.basicInformation {
display: flex;
flex-direction: row;
flex-wrap: wrap;
padding-top: 22px;
.basicInformation_item {
flex: 0 0 50%;
padding: 0 2px;
margin-bottom: 10px;
margin-top: 10px;
box-sizing: border-box;
display: flex;
align-items: center;
.icon {
width: 79px;
height: 47px;
}
.right {
margin-left: 4px;
.label {
background-image: url(@/assets/img_11.png);
background-size: 100%;
background-repeat: no-repeat;
background-position: bottom;
margin-bottom: 4px;
span {
font-size: 12px;
font-weight: 400;
color: #eff0f1;
line-height: 19px;
margin-left: 2px;
}
}
p {
font-size: 16px;
font-weight: bold;
color: #6acbff;
line-height: 24px;
}
}
}
}
.visitLog {
.visitLog_item {
display: flex;
align-items: center;
background-image: url(@/assets/img_12.png);
background-size: 100% 100%;
margin-top: 16px;
padding: 15px 8px;
box-sizing: border-box;
img {
display: inline-block;
margin-right: 10px;
}
.visitLog_item_box {
flex: auto;
h4 {
font-size: 18px;
font-family: MicrosoftYaHei;
font-weight: bold;
color: #0096ff;
margin-bottom: 2px;
}
p {
font-size: 12px;
font-family: SourceHanSansCN;
font-weight: 400;
color: #ffffff;
margin-top: 6px;
}
}
.check {
font-size: 12px;
font-family: SourceHanSansCN;
font-weight: 400;
color: #0096ff;
line-height: 20px;
}
}
}
.history {
padding-top: 12px;
p {
margin-top: 12px;
font-size: 12px;
font-weight: 400;
color: #ffffff;
line-height: 28px;
border-bottom: 13px solid rgba(57, 59, 109, 1);
}
}
.concernLabel {
display: flex;
align-items: center;
justify-content: center;
margin: 12px 0 20px;
span {
text-align: center;
background: rgba(0, 89, 130, 0.73);
border-radius: 10px;
width: 118px;
height: 49px;
line-height: 49px;
font-size: 18px;
font-weight: 400;
color: #ffffff;
margin: 0 10px;
}
}
.property {
display: flex;
padding: 14px 0 10px;
.property_box {
background-image: url(@/assets/img_05.png);
background-size: 100% 100%;
background-repeat: no-repeat;
width: 179px;
height: 91px;
margin: 0 12px;
text-align: center;
h5 {
font-size: 14px;
font-weight: 400;
color: #ffffff;
margin: 9px 0 16px;
}
p {
font-size: 21px;
font-weight: bold;
color: #48ece7;
}
}
}
.activity {
h5 {
font-size: 14px;
font-weight: bold;
color: rgba(0, 164, 250, 0.8);
line-height: 47px;
border-bottom: 2px solid rgba(0, 164, 250, 1);
margin-bottom: 17px;
}
.activity_content {
margin: 0 -6px 12px;
display: flex;
.activity_box {
width: 50%;
display: inline-block;
margin: 0 6px;
box-sizing: border-box;
background-color: rgba(15, 28, 54, 1);
padding: 12px 12px 19px;
p {
font-size: 14px;
font-weight: 400;
color: #ffffff;
line-height: 27px;
height: 100%;
}
}
}
}
.monitor {
.monitor_box {
display: flex;
padding: 8px 0;
border-bottom: 2px solid rgba(255, 255, 255, 0.67);
img {
width: 115px;
height: 84px;
margin-right: 21px;
}
.monitor_box_text {
display: flex;
flex-direction: column;
justify-content: space-between;
h4 {
font-size: 14px;
font-weight: 400;
color: #ffffff;
line-height: 20px;
}
p {
font-size: 14px;
font-weight: 400;
color: #818181;
line-height: 23px;
}
}
}
}
</style>

462
src/view/yl.vue Normal file
View File

@ -0,0 +1,462 @@
<template>
<div class="module">
<div class="module_left">
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">助乡兴趣点</span>
</div>
<ePie></ePie>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">基本信息</span>
</div>
<div class="basicInformation">
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>学历</span>
</div>
<p>浙江大学研究生</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>性格</span>
</div>
<p>沉稳</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>分类</span>
</div>
<p>乡贤代表</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>所属行业</span>
</div>
<p>计算机<br />应用专家</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>家属情况</span>
</div>
<p>父母去世姨妈 在象</p>
</div>
</div>
<div class="basicInformation_item">
<img class="icon" src="../assets/img_01.png" alt="" />
<div class="right">
<div class="label">
<span>对乡情感</span>
</div>
<p>积极参与</p>
</div>
</div>
</div>
</div>
</div>
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">活动数据分析</span>
</div>
<eGraph></eGraph>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">走访日志</span>
</div>
<div class="visitLog">
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>故居走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>节日走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
<div class="visitLog_item">
<img
src="../assets/img_02.png"
width="48px"
height="51px"
alt=""
/>
<div class="visitLog_item_box">
<h4>新年走访</h4>
<p>走访人员陈思思</p>
<p>走访时间2023-03-19 09:00:03</p>
</div>
<span class="check">点击查看</span>
</div>
</div>
</div>
</div>
<div class="displayFlex">
<div class="flex1">
<div class="yd_title">
<span class="text">个人经历</span>
</div>
<div class="history">
<p>2002年至2009年担任浙江大学计算机学院和软件学院院长</p>
<p>1984年获得浙江大学计算机应用专业硕士学位之后留校任教</p>
<p>1990年获得浙江大学计算机应用专业博士学位</p>
<p>1994年至1996年担任浙江大学计算机系副系主任</p>
<p>1997年至2002年担任浙江大学计算机系系主任</p>
<p>2002年至2009年担任浙江大学计算机学院和软件学院院长</p>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">职位</span>
</div>
<eBubble></eBubble>
</div>
</div>
<div></div>
</div>
<!-- <div class="module_right">
<div class="flex1">
<div class="yd_title">
<span class="text">关注标签</span>
</div>
<div class="concernLabel">
<span>计算机</span>
<span>大数据</span>
<span>互联网</span>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">助乡属性</span>
</div>
<div class="property">
<div class="property_box">
<h5>助乡方式</h5>
<p>科技助乡</p>
</div>
<div class="property_box">
<h5>助乡意向</h5>
<p>积极</p>
</div>
</div>
<div class="activity">
<h5>助乡活动</h5>
<div class="activity_content">
<div class="activity_box">
<p>
2021.2象山县委统战部和象山电视台工作人员前往杭州浙江大学拍摄天南地北象山人
</p>
</div>
<div class="activity_box">
<p>
2020.8.29陈纯院士参加在象山举办的浙江省海外高层次人才联谊会并作院士报告
</p>
</div>
</div>
</div>
</div>
<div class="flex1">
<div class="yd_title">
<span class="text">信息监测</span>
</div>
<div class="monitor">
<div class="monitor_box">
<img src="../assets/img_10.png" alt="" />
<div class="monitor_box_text">
<h4>智汇青春 有梦当燃这场全国大赛决赛在西子湖畔收官</h4>
<p>2023-03-18</p>
</div>
</div>
<div class="monitor_box">
<img src="../assets/img_09.png" alt="" />
<div class="monitor_box_text">
<h4>智汇青春 有梦当燃这场全国大赛决赛在西子湖畔收官</h4>
<p>2023-03-18</p>
</div>
</div>
</div>
</div>
</div> -->
</div>
</template>
<script setup>
import eBubble from "./echarts/bubble.vue";
import ePie from "./echarts/pie.vue";
import ePie2 from "./echarts/pie2.vue";
import eGraph from "./echarts/graph.vue";
</script>
<style lang="scss" scoped>
.displayFlex {
display: flex;
flex-direction: column;
width: 100%;
}
.flex1 {
flex: 1;
padding: 0 38px;
box-sizing: border-box;
}
.module {
display: flex;
.module_left {
display: flex;
}
// .module_right {
// flex: 0 0 25%;
// }
}
.yd_title {
background-image: url(@/assets/img_04.png);
background-repeat: no-repeat;
background-size: 100% 100%;
box-sizing: border-box;
width: 100%;
height: 36px;
position: relative;
.text {
font-size: 16px;
font-family: SourceHanSansCN;
font-weight: bold;
color: #ffffff;
position: absolute;
left: 33px;
top: 3px;
}
}
.basicInformation {
display: flex;
flex-direction: row;
flex-wrap: wrap;
padding-top: 22px;
.basicInformation_item {
flex: 0 0 50%;
padding: 0 2px;
margin-bottom: 10px;
margin-top: 10px;
box-sizing: border-box;
display: flex;
align-items: center;
.icon {
width: 79px;
height: 47px;
}
.right {
margin-left: 4px;
.label {
background-image: url(@/assets/img_11.png);
background-size: 100%;
background-repeat: no-repeat;
background-position: bottom;
margin-bottom: 4px;
span {
font-size: 12px;
font-weight: 400;
color: #eff0f1;
line-height: 19px;
margin-left: 2px;
}
}
p {
font-size: 16px;
font-weight: bold;
color: #6acbff;
line-height: 24px;
}
}
}
}
.visitLog {
.visitLog_item {
display: flex;
align-items: center;
background-image: url(@/assets/img_12.png);
background-size: 100% 100%;
margin-top: 16px;
padding: 15px 8px;
box-sizing: border-box;
img {
display: inline-block;
margin-right: 10px;
}
.visitLog_item_box {
flex: auto;
h4 {
font-size: 18px;
font-family: MicrosoftYaHei;
font-weight: bold;
color: #0096ff;
margin-bottom: 2px;
}
p {
font-size: 12px;
font-family: SourceHanSansCN;
font-weight: 400;
color: #ffffff;
margin-top: 6px;
}
}
.check {
font-size: 12px;
font-family: SourceHanSansCN;
font-weight: 400;
color: #0096ff;
line-height: 20px;
}
}
}
.history {
padding-top: 12px;
p {
margin-top: 12px;
font-size: 12px;
font-weight: 400;
color: #ffffff;
line-height: 28px;
border-bottom: 13px solid rgba(57, 59, 109, 1);
}
}
.concernLabel {
display: flex;
align-items: center;
justify-content: center;
margin: 12px 0 20px;
span {
text-align: center;
background: rgba(0, 89, 130, 0.73);
border-radius: 10px;
width: 118px;
height: 49px;
line-height: 49px;
font-size: 18px;
font-weight: 400;
color: #ffffff;
margin: 0 10px;
}
}
.property {
display: flex;
padding: 14px 0 10px;
.property_box {
background-image: url(@/assets/img_05.png);
background-size: 100% 100%;
background-repeat: no-repeat;
width: 179px;
height: 91px;
margin: 0 12px;
text-align: center;
h5 {
font-size: 14px;
font-weight: 400;
color: #ffffff;
margin: 9px 0 16px;
}
p {
font-size: 21px;
font-weight: bold;
color: #48ece7;
}
}
}
.activity {
h5 {
font-size: 14px;
font-weight: bold;
color: rgba(0, 164, 250, 0.8);
line-height: 47px;
border-bottom: 2px solid rgba(0, 164, 250, 1);
margin-bottom: 17px;
}
.activity_content {
margin: 0 -6px 12px;
display: flex;
.activity_box {
width: 50%;
display: inline-block;
margin: 0 6px;
box-sizing: border-box;
background-color: rgba(15, 28, 54, 1);
padding: 12px 12px 19px;
p {
font-size: 14px;
font-weight: 400;
color: #ffffff;
line-height: 27px;
height: 100%;
}
}
}
}
.monitor {
.monitor_box {
display: flex;
padding: 8px 0;
border-bottom: 2px solid rgba(255, 255, 255, 0.67);
img {
width: 115px;
height: 84px;
margin-right: 21px;
}
.monitor_box_text {
display: flex;
flex-direction: column;
justify-content: space-between;
h4 {
font-size: 14px;
font-weight: 400;
color: #ffffff;
line-height: 20px;
}
p {
font-size: 14px;
font-weight: 400;
color: #818181;
line-height: 23px;
}
}
}
}
</style>

42
vite.config.js Normal file
View File

@ -0,0 +1,42 @@
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import { resolve } from "path";
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue()],
server: {
host: "0.0.0.0", //解决vite use--host to expose
port: 8080,
open: true,
base: "./ ", //生产环境路径
// hmr: true,
// proxy: {
// // 第一个代理
// "/app": {
// // 匹配到啥来进行方向代理
// target: "https://mall.btdit.cn/", //周源
// changeOrigin: true, //是否支持跨域
// //rewrite: (path) => path.replace(/^\/api/, '') // 如果不需要api 直接把路径上的api 替换成空,这个
// },
// },
},
define: {
"process.env": {
BASE_URL: "/",
},
},
resolve: {
alias: [
{
find: "@",
replacement: resolve(__dirname, "src"),
},
],
},
build: {
chunkSizeWarningLimit: 1500,
assetsDir: 'assets2', // 指定生成静态文件目录
},
});

508
yarn.lock Normal file
View File

@ -0,0 +1,508 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@babel/parser@^7.16.4":
version "7.21.3"
resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz"
integrity sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==
"@esbuild/android-arm64@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.17.14.tgz#4624cea3c8941c91f9e9c1228f550d23f1cef037"
integrity sha512-eLOpPO1RvtsP71afiFTvS7tVFShJBCT0txiv/xjFBo5a7R7Gjw7X0IgIaFoLKhqXYAXhahoXm7qAmRXhY4guJg==
"@esbuild/android-arm@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.17.14.tgz#74fae60fcab34c3f0e15cb56473a6091ba2b53a6"
integrity sha512-0CnlwnjDU8cks0yJLXfkaU/uoLyRf9VZJs4p1PskBr2AlAHeEsFEwJEo0of/Z3g+ilw5mpyDwThlxzNEIxOE4g==
"@esbuild/android-x64@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.17.14.tgz#f002fbc08d5e939d8314bd23bcfb1e95d029491f"
integrity sha512-nrfQYWBfLGfSGLvRVlt6xi63B5IbfHm3tZCdu/82zuFPQ7zez4XjmRtF/wIRYbJQ/DsZrxJdEvYFE67avYXyng==
"@esbuild/darwin-arm64@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.14.tgz#b8dcd79a1dd19564950b4ca51d62999011e2e168"
integrity sha512-eoSjEuDsU1ROwgBH/c+fZzuSyJUVXQTOIN9xuLs9dE/9HbV/A5IqdXHU1p2OfIMwBwOYJ9SFVGGldxeRCUJFyw==
"@esbuild/darwin-x64@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.17.14.tgz#4b49f195d9473625efc3c773fc757018f2c0d979"
integrity sha512-zN0U8RWfrDttdFNkHqFYZtOH8hdi22z0pFm0aIJPsNC4QQZv7je8DWCX5iA4Zx6tRhS0CCc0XC2m7wKsbWEo5g==
"@esbuild/freebsd-arm64@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.14.tgz#480923fd38f644c6342c55e916cc7c231a85eeb7"
integrity sha512-z0VcD4ibeZWVQCW1O7szaLxGsx54gcCnajEJMdYoYjLiq4g1jrP2lMq6pk71dbS5+7op/L2Aod+erw+EUr28/A==
"@esbuild/freebsd-x64@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.14.tgz#a6b6b01954ad8562461cb8a5e40e8a860af69cbe"
integrity sha512-hd9mPcxfTgJlolrPlcXkQk9BMwNBvNBsVaUe5eNUqXut6weDQH8whcNaKNF2RO8NbpT6GY8rHOK2A9y++s+ehw==
"@esbuild/linux-arm64@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.17.14.tgz#1fe2f39f78183b59f75a4ad9c48d079916d92418"
integrity sha512-FhAMNYOq3Iblcj9i+K0l1Fp/MHt+zBeRu/Qkf0LtrcFu3T45jcwB6A1iMsemQ42vR3GBhjNZJZTaCe3VFPbn9g==
"@esbuild/linux-arm@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.17.14.tgz#18d594a49b64e4a3a05022c005cb384a58056a2a"
integrity sha512-BNTl+wSJ1omsH8s3TkQmIIIQHwvwJrU9u1ggb9XU2KTVM4TmthRIVyxSp2qxROJHhZuW/r8fht46/QE8hU8Qvg==
"@esbuild/linux-ia32@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.17.14.tgz#f7f0182a9cfc0159e0922ed66c805c9c6ef1b654"
integrity sha512-91OK/lQ5y2v7AsmnFT+0EyxdPTNhov3y2CWMdizyMfxSxRqHazXdzgBKtlmkU2KYIc+9ZK3Vwp2KyXogEATYxQ==
"@esbuild/linux-loong64@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.17.14.tgz#5f5305fdffe2d71dd9a97aa77d0c99c99409066f"
integrity sha512-vp15H+5NR6hubNgMluqqKza85HcGJgq7t6rMH7O3Y6ApiOWPkvW2AJfNojUQimfTp6OUrACUXfR4hmpcENXoMQ==
"@esbuild/linux-mips64el@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.14.tgz#a602e85c51b2f71d2aedfe7f4143b2f92f97f3f5"
integrity sha512-90TOdFV7N+fgi6c2+GO9ochEkmm9kBAKnuD5e08GQMgMINOdOFHuYLPQ91RYVrnWwQ5683sJKuLi9l4SsbJ7Hg==
"@esbuild/linux-ppc64@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.14.tgz#32d918d782105cbd9345dbfba14ee018b9c7afdf"
integrity sha512-NnBGeoqKkTugpBOBZZoktQQ1Yqb7aHKmHxsw43NddPB2YWLAlpb7THZIzsRsTr0Xw3nqiPxbA1H31ZMOG+VVPQ==
"@esbuild/linux-riscv64@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.14.tgz#38612e7b6c037dff7022c33f49ca17f85c5dec58"
integrity sha512-0qdlKScLXA8MGVy21JUKvMzCYWovctuP8KKqhtE5A6IVPq4onxXhSuhwDd2g5sRCzNDlDjitc5sX31BzDoL5Fw==
"@esbuild/linux-s390x@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.17.14.tgz#4397dff354f899e72fd035d72af59a700c465ccb"
integrity sha512-Hdm2Jo1yaaOro4v3+6/zJk6ygCqIZuSDJHdHaf8nVH/tfOuoEX5Riv03Ka15LmQBYJObUTNS1UdyoMk0WUn9Ww==
"@esbuild/linux-x64@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.17.14.tgz#6c5cb99891b6c3e0c08369da3ef465e8038ad9c2"
integrity sha512-8KHF17OstlK4DuzeF/KmSgzrTWQrkWj5boluiiq7kvJCiQVzUrmSkaBvcLB2UgHpKENO2i6BthPkmUhNDaJsVw==
"@esbuild/netbsd-x64@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.14.tgz#5fa5255a64e9bf3947c1b3bef5e458b50b211994"
integrity sha512-nVwpqvb3yyXztxIT2+VsxJhB5GCgzPdk1n0HHSnchRAcxqKO6ghXwHhJnr0j/B+5FSyEqSxF4q03rbA2fKXtUQ==
"@esbuild/openbsd-x64@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.14.tgz#74d14c79dcb6faf446878cc64284aa4e02f5ca6f"
integrity sha512-1RZ7uQQ9zcy/GSAJL1xPdN7NDdOOtNEGiJalg/MOzeakZeTrgH/DoCkbq7TaPDiPhWqnDF+4bnydxRqQD7il6g==
"@esbuild/sunos-x64@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.17.14.tgz#5c7d1c7203781d86c2a9b2ff77bd2f8036d24cfa"
integrity sha512-nqMjDsFwv7vp7msrwWRysnM38Sd44PKmW8EzV01YzDBTcTWUpczQg6mGao9VLicXSgW/iookNK6AxeogNVNDZA==
"@esbuild/win32-arm64@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.17.14.tgz#dc36ed84f1390e73b6019ccf0566c80045e5ca3d"
integrity sha512-xrD0mccTKRBBIotrITV7WVQAwNJ5+1va6L0H9zN92v2yEdjfAN7864cUaZwJS7JPEs53bDTzKFbfqVlG2HhyKQ==
"@esbuild/win32-ia32@0.17.14":
version "0.17.14"
resolved "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.17.14.tgz#0802a107afa9193c13e35de15a94fe347c588767"
integrity sha512-nXpkz9bbJrLLyUTYtRotSS3t5b+FOuljg8LgLdINWFs3FfqZMtbnBCZFUmBzQPyxqU87F8Av+3Nco/M3hEcu1w==
"@esbuild/win32-x64@0.17.14":
version "0.17.14"
resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.14.tgz"
integrity sha512-gPQmsi2DKTaEgG14hc3CHXHp62k8g6qr0Pas+I4lUxRMugGSATh/Bi8Dgusoz9IQ0IfdrvLpco6kujEIBoaogA==
"@vitejs/plugin-vue@^4.1.0":
version "4.1.0"
resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.1.0.tgz"
integrity sha512-++9JOAFdcXI3lyer9UKUV4rfoQ3T1RN8yDqoCLar86s0xQct5yblxAE+yWgRnU5/0FOlVCpTZpYSBV/bGWrSrQ==
"@vue/compiler-core@3.2.47":
version "3.2.47"
resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz"
integrity sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/shared" "3.2.47"
estree-walker "^2.0.2"
source-map "^0.6.1"
"@vue/compiler-dom@3.2.47":
version "3.2.47"
resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz"
integrity sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==
dependencies:
"@vue/compiler-core" "3.2.47"
"@vue/shared" "3.2.47"
"@vue/compiler-sfc@3.2.47":
version "3.2.47"
resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz"
integrity sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/compiler-core" "3.2.47"
"@vue/compiler-dom" "3.2.47"
"@vue/compiler-ssr" "3.2.47"
"@vue/reactivity-transform" "3.2.47"
"@vue/shared" "3.2.47"
estree-walker "^2.0.2"
magic-string "^0.25.7"
postcss "^8.1.10"
source-map "^0.6.1"
"@vue/compiler-ssr@3.2.47":
version "3.2.47"
resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz"
integrity sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==
dependencies:
"@vue/compiler-dom" "3.2.47"
"@vue/shared" "3.2.47"
"@vue/devtools-api@^6.4.5":
version "6.5.0"
resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz"
integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==
"@vue/reactivity-transform@3.2.47":
version "3.2.47"
resolved "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz"
integrity sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==
dependencies:
"@babel/parser" "^7.16.4"
"@vue/compiler-core" "3.2.47"
"@vue/shared" "3.2.47"
estree-walker "^2.0.2"
magic-string "^0.25.7"
"@vue/reactivity@3.2.47":
version "3.2.47"
resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz"
integrity sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==
dependencies:
"@vue/shared" "3.2.47"
"@vue/runtime-core@3.2.47":
version "3.2.47"
resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz"
integrity sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==
dependencies:
"@vue/reactivity" "3.2.47"
"@vue/shared" "3.2.47"
"@vue/runtime-dom@3.2.47":
version "3.2.47"
resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz"
integrity sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==
dependencies:
"@vue/runtime-core" "3.2.47"
"@vue/shared" "3.2.47"
csstype "^2.6.8"
"@vue/server-renderer@3.2.47":
version "3.2.47"
resolved "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz"
integrity sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==
dependencies:
"@vue/compiler-ssr" "3.2.47"
"@vue/shared" "3.2.47"
"@vue/shared@3.2.47":
version "3.2.47"
resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz"
integrity sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==
anymatch@~3.1.2:
version "3.1.3"
resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz"
integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
dependencies:
normalize-path "^3.0.0"
picomatch "^2.0.4"
binary-extensions@^2.0.0:
version "2.2.0"
resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz"
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
braces@~3.0.2:
version "3.0.2"
resolved "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz"
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
dependencies:
fill-range "^7.0.1"
"chokidar@>=3.0.0 <4.0.0":
version "3.5.3"
resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz"
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
dependencies:
anymatch "~3.1.2"
braces "~3.0.2"
glob-parent "~5.1.2"
is-binary-path "~2.1.0"
is-glob "~4.0.1"
normalize-path "~3.0.0"
readdirp "~3.6.0"
optionalDependencies:
fsevents "~2.3.2"
csstype@^2.6.8:
version "2.6.21"
resolved "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz"
integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==
echarts@^5.4.2:
version "5.4.2"
resolved "https://registry.npmjs.org/echarts/-/echarts-5.4.2.tgz"
integrity sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==
dependencies:
tslib "2.3.0"
zrender "5.4.3"
esbuild@^0.17.5:
version "0.17.14"
resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.17.14.tgz"
integrity sha512-vOO5XhmVj/1XQR9NQ1UPq6qvMYL7QFJU57J5fKBKBKxp17uDt5PgxFDb4A2nEiXhr1qQs4x0F5+66hVVw4ruNw==
optionalDependencies:
"@esbuild/android-arm" "0.17.14"
"@esbuild/android-arm64" "0.17.14"
"@esbuild/android-x64" "0.17.14"
"@esbuild/darwin-arm64" "0.17.14"
"@esbuild/darwin-x64" "0.17.14"
"@esbuild/freebsd-arm64" "0.17.14"
"@esbuild/freebsd-x64" "0.17.14"
"@esbuild/linux-arm" "0.17.14"
"@esbuild/linux-arm64" "0.17.14"
"@esbuild/linux-ia32" "0.17.14"
"@esbuild/linux-loong64" "0.17.14"
"@esbuild/linux-mips64el" "0.17.14"
"@esbuild/linux-ppc64" "0.17.14"
"@esbuild/linux-riscv64" "0.17.14"
"@esbuild/linux-s390x" "0.17.14"
"@esbuild/linux-x64" "0.17.14"
"@esbuild/netbsd-x64" "0.17.14"
"@esbuild/openbsd-x64" "0.17.14"
"@esbuild/sunos-x64" "0.17.14"
"@esbuild/win32-arm64" "0.17.14"
"@esbuild/win32-ia32" "0.17.14"
"@esbuild/win32-x64" "0.17.14"
estree-walker@^2.0.2:
version "2.0.2"
resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz"
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
fill-range@^7.0.1:
version "7.0.1"
resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz"
integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
dependencies:
to-regex-range "^5.0.1"
fsevents@~2.3.2:
version "2.3.3"
resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
dependencies:
is-glob "^4.0.1"
has@^1.0.3:
version "1.0.3"
resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz"
integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
dependencies:
function-bind "^1.1.1"
immutable@^4.0.0:
version "4.3.0"
resolved "https://registry.npmmirror.com/immutable/-/immutable-4.3.0.tgz"
integrity sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==
is-binary-path@~2.1.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz"
integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
dependencies:
binary-extensions "^2.0.0"
is-core-module@^2.9.0:
version "2.11.0"
resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz"
integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
dependencies:
has "^1.0.3"
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz"
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
is-glob@^4.0.1, is-glob@~4.0.1:
version "4.0.3"
resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz"
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
dependencies:
is-extglob "^2.1.1"
is-number@^7.0.0:
version "7.0.0"
resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
magic-string@^0.25.7:
version "0.25.9"
resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz"
integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==
dependencies:
sourcemap-codec "^1.4.8"
nanoid@^3.3.4:
version "3.3.6"
resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz"
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
path-parse@^1.0.7:
version "1.0.7"
resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
picocolors@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
picomatch@^2.0.4, picomatch@^2.2.1:
version "2.3.1"
resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
postcss@^8.1.10, postcss@^8.4.21:
version "8.4.21"
resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz"
integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==
dependencies:
nanoid "^3.3.4"
picocolors "^1.0.0"
source-map-js "^1.0.2"
readdirp@~3.6.0:
version "3.6.0"
resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz"
integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
dependencies:
picomatch "^2.2.1"
resolve@^1.22.1:
version "1.22.1"
resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz"
integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
dependencies:
is-core-module "^2.9.0"
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
rollup@^3.18.0:
version "3.20.2"
resolved "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz"
integrity sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==
optionalDependencies:
fsevents "~2.3.2"
sass@^1.60.0:
version "1.62.0"
resolved "https://registry.npmmirror.com/sass/-/sass-1.62.0.tgz"
integrity sha512-Q4USplo4pLYgCi+XlipZCWUQz5pkg/ruSSgJ0WRDSb/+3z9tXUOkQ7QPYn4XrhZKYAK4HlpaQecRwKLJX6+DBg==
dependencies:
chokidar ">=3.0.0 <4.0.0"
immutable "^4.0.0"
source-map-js ">=0.6.2 <2.0.0"
"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz"
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
source-map@^0.6.1:
version "0.6.1"
resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
sourcemap-codec@^1.4.8:
version "1.4.8"
resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz"
integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
supports-preserve-symlinks-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
to-regex-range@^5.0.1:
version "5.0.1"
resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz"
integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
dependencies:
is-number "^7.0.0"
tslib@2.3.0:
version "2.3.0"
resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz"
integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
vite@^4.2.0:
version "4.2.1"
resolved "https://registry.npmjs.org/vite/-/vite-4.2.1.tgz"
integrity sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==
dependencies:
esbuild "^0.17.5"
postcss "^8.4.21"
resolve "^1.22.1"
rollup "^3.18.0"
optionalDependencies:
fsevents "~2.3.2"
vue-router@^4.1.6:
version "4.1.6"
resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz"
integrity sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==
dependencies:
"@vue/devtools-api" "^6.4.5"
vue@^3.2.47:
version "3.2.47"
resolved "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz"
integrity sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==
dependencies:
"@vue/compiler-dom" "3.2.47"
"@vue/compiler-sfc" "3.2.47"
"@vue/runtime-dom" "3.2.47"
"@vue/server-renderer" "3.2.47"
"@vue/shared" "3.2.47"
zrender@5.4.3:
version "5.4.3"
resolved "https://registry.npmjs.org/zrender/-/zrender-5.4.3.tgz"
integrity sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==
dependencies:
tslib "2.3.0"