build: 升级版本到2.0.7
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "go-view",
|
"name": "go-view",
|
||||||
"version": "2.0.6",
|
"version": "2.0.7",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite --host",
|
"dev": "vite --host",
|
||||||
"build": "vue-tsc --noEmit && vite build",
|
"build": "vue-tsc --noEmit && vite build",
|
||||||
@ -18,6 +18,7 @@
|
|||||||
"color": "^4.2.3",
|
"color": "^4.2.3",
|
||||||
"crypto-js": "^4.1.1",
|
"crypto-js": "^4.1.1",
|
||||||
"echarts-liquidfill": "^3.1.0",
|
"echarts-liquidfill": "^3.1.0",
|
||||||
|
"echarts-stat": "^1.2.0",
|
||||||
"highlight.js": "^11.5.0",
|
"highlight.js": "^11.5.0",
|
||||||
"html2canvas": "^1.4.1",
|
"html2canvas": "^1.4.1",
|
||||||
"keymaster": "^1.6.2",
|
"keymaster": "^1.6.2",
|
||||||
|
540
pnpm-lock.yaml
generated
@ -24,6 +24,7 @@ specifiers:
|
|||||||
default-passive-events: ^2.0.0
|
default-passive-events: ^2.0.0
|
||||||
echarts: ^5.3.2
|
echarts: ^5.3.2
|
||||||
echarts-liquidfill: ^3.1.0
|
echarts-liquidfill: ^3.1.0
|
||||||
|
echarts-stat: ^1.2.0
|
||||||
eslint: ^8.12.0
|
eslint: ^8.12.0
|
||||||
eslint-config-prettier: ^8.5.0
|
eslint-config-prettier: ^8.5.0
|
||||||
eslint-plugin-import: ^2.26.0
|
eslint-plugin-import: ^2.26.0
|
||||||
@ -69,6 +70,7 @@ dependencies:
|
|||||||
color: 4.2.3
|
color: 4.2.3
|
||||||
crypto-js: 4.1.1
|
crypto-js: 4.1.1
|
||||||
echarts-liquidfill: 3.1.0_echarts@5.3.3
|
echarts-liquidfill: 3.1.0_echarts@5.3.3
|
||||||
|
echarts-stat: registry.npmmirror.com/echarts-stat/1.2.0
|
||||||
highlight.js: 11.5.1
|
highlight.js: 11.5.1
|
||||||
html2canvas: 1.4.1
|
html2canvas: 1.4.1
|
||||||
keymaster: 1.6.2
|
keymaster: 1.6.2
|
||||||
@ -1213,7 +1215,6 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@vue/reactivity': 3.2.37
|
'@vue/reactivity': 3.2.37
|
||||||
'@vue/shared': 3.2.37
|
'@vue/shared': 3.2.37
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@vue/runtime-dom/3.2.37:
|
/@vue/runtime-dom/3.2.37:
|
||||||
resolution: {integrity: sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==}
|
resolution: {integrity: sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==}
|
||||||
@ -1221,7 +1222,6 @@ packages:
|
|||||||
'@vue/runtime-core': 3.2.37
|
'@vue/runtime-core': 3.2.37
|
||||||
'@vue/shared': 3.2.37
|
'@vue/shared': 3.2.37
|
||||||
csstype: 2.6.20
|
csstype: 2.6.20
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@vue/server-renderer/3.2.37_vue@3.2.37:
|
/@vue/server-renderer/3.2.37_vue@3.2.37:
|
||||||
resolution: {integrity: sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==}
|
resolution: {integrity: sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==}
|
||||||
@ -1231,7 +1231,6 @@ packages:
|
|||||||
'@vue/compiler-ssr': 3.2.37
|
'@vue/compiler-ssr': 3.2.37
|
||||||
'@vue/shared': 3.2.37
|
'@vue/shared': 3.2.37
|
||||||
vue: 3.2.37
|
vue: 3.2.37
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@vue/shared/3.2.37:
|
/@vue/shared/3.2.37:
|
||||||
resolution: {integrity: sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==}
|
resolution: {integrity: sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==}
|
||||||
@ -1429,11 +1428,11 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/asynckit/0.4.0:
|
/asynckit/0.4.0:
|
||||||
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, registry: http://npm.rongdasoft.com:7001/}
|
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, registry: http://npm.rongdasoft.com:7001/, tarball: http://npm.rongdasoft.com:7001/asynckit/-/asynckit-0.4.0.tgz}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/axios/0.27.2:
|
/axios/0.27.2:
|
||||||
resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==, registry: http://npm.rongdasoft.com:7001/}
|
resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==, registry: http://npm.rongdasoft.com:7001/, tarball: http://npm.rongdasoft.com:7001/axios/-/axios-0.27.2.tgz}
|
||||||
dependencies:
|
dependencies:
|
||||||
follow-redirects: 1.15.1
|
follow-redirects: 1.15.1
|
||||||
form-data: 4.0.0
|
form-data: 4.0.0
|
||||||
@ -1647,7 +1646,7 @@ packages:
|
|||||||
normalize-path: 3.0.0
|
normalize-path: 3.0.0
|
||||||
readdirp: 3.6.0
|
readdirp: 3.6.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents: 2.3.2
|
fsevents: registry.npmmirror.com/fsevents/2.3.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/clean-stack/2.2.0:
|
/clean-stack/2.2.0:
|
||||||
@ -1727,7 +1726,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/combined-stream/1.0.8:
|
/combined-stream/1.0.8:
|
||||||
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, registry: http://npm.rongdasoft.com:7001/}
|
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, registry: http://npm.rongdasoft.com:7001/, tarball: http://npm.rongdasoft.com:7001/combined-stream/-/combined-stream-1.0.8.tgz}
|
||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
dependencies:
|
dependencies:
|
||||||
delayed-stream: 1.0.0
|
delayed-stream: 1.0.0
|
||||||
@ -1810,8 +1809,8 @@ packages:
|
|||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
is-text-path: 1.0.1
|
|
||||||
JSONStream: 1.3.5
|
JSONStream: 1.3.5
|
||||||
|
is-text-path: 1.0.1
|
||||||
lodash: 4.17.21
|
lodash: 4.17.21
|
||||||
meow: 8.1.2
|
meow: 8.1.2
|
||||||
split2: 3.2.2
|
split2: 3.2.2
|
||||||
@ -1890,7 +1889,6 @@ packages:
|
|||||||
|
|
||||||
/csstype/2.6.20:
|
/csstype/2.6.20:
|
||||||
resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==}
|
resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/csstype/3.0.11:
|
/csstype/3.0.11:
|
||||||
resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==}
|
resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==}
|
||||||
@ -2003,7 +2001,7 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/delayed-stream/1.0.0:
|
/delayed-stream/1.0.0:
|
||||||
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, registry: http://npm.rongdasoft.com:7001/}
|
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, registry: http://npm.rongdasoft.com:7001/, tarball: http://npm.rongdasoft.com:7001/delayed-stream/-/delayed-stream-1.0.0.tgz}
|
||||||
engines: {node: '>=0.4.0'}
|
engines: {node: '>=0.4.0'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
@ -2101,7 +2099,6 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
tslib: 2.3.0
|
tslib: 2.3.0
|
||||||
zrender: 5.3.2
|
zrender: 5.3.2
|
||||||
dev: true
|
|
||||||
|
|
||||||
/ee-first/1.1.1:
|
/ee-first/1.1.1:
|
||||||
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
|
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
|
||||||
@ -2186,186 +2183,6 @@ packages:
|
|||||||
is-symbol: 1.0.4
|
is-symbol: 1.0.4
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/esbuild-android-64/0.14.43:
|
|
||||||
resolution: {integrity: sha512-kqFXAS72K6cNrB6RiM7YJ5lNvmWRDSlpi7ZuRZ1hu1S3w0zlwcoCxWAyM23LQUyZSs1PbjHgdbbfYAN8IGh6xg==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [android]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-android-arm64/0.14.43:
|
|
||||||
resolution: {integrity: sha512-bKS2BBFh+7XZY9rpjiHGRNA7LvWYbZWP87pLehggTG7tTaCDvj8qQGOU/OZSjCSKDYbgY7Q+oDw8RlYQ2Jt2BA==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [arm64]
|
|
||||||
os: [android]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-darwin-64/0.14.43:
|
|
||||||
resolution: {integrity: sha512-/3PSilx011ttoieRGkSZ0XV8zjBf2C9enV4ScMMbCT4dpx0mFhMOpFnCHkOK0pWGB8LklykFyHrWk2z6DENVUg==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [darwin]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-darwin-arm64/0.14.43:
|
|
||||||
resolution: {integrity: sha512-1HyFUKs8DMCBOvw1Qxpr5Vv/ThNcVIFb5xgXWK3pyT40WPvgYIiRTwJCvNs4l8i5qWF8/CK5bQxJVDjQvtv0Yw==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [arm64]
|
|
||||||
os: [darwin]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-freebsd-64/0.14.43:
|
|
||||||
resolution: {integrity: sha512-FNWc05TPHYgaXjbPZO5/rJKSBslfG6BeMSs8GhwnqAKP56eEhvmzwnIz1QcC9cRVyO+IKqWNfmHFkCa1WJTULA==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [freebsd]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-freebsd-arm64/0.14.43:
|
|
||||||
resolution: {integrity: sha512-amrYopclz3VohqisOPR6hA3GOWA3LZC1WDLnp21RhNmoERmJ/vLnOpnrG2P/Zao+/erKTCUqmrCIPVtj58DRoA==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [arm64]
|
|
||||||
os: [freebsd]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-linux-32/0.14.43:
|
|
||||||
resolution: {integrity: sha512-KoxoEra+9O3AKVvgDFvDkiuddCds6q71owSQEYwjtqRV7RwbPzKxJa6+uyzUulHcyGVq0g15K0oKG5CFBcvYDw==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [ia32]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-linux-64/0.14.43:
|
|
||||||
resolution: {integrity: sha512-EwINwGMyiJMgBby5/SbMqKcUhS5AYAZ2CpEBzSowsJPNBJEdhkCTtEjk757TN/wxgbu3QklqDM6KghY660QCUw==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-linux-arm/0.14.43:
|
|
||||||
resolution: {integrity: sha512-e6YzQUoDxxtyamuF12eVzzRC7bbEFSZohJ6igQB9tBqnNmIQY3fI6Cns3z2wxtbZ3f2o6idkD2fQnlvs2902Dg==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [arm]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-linux-arm64/0.14.43:
|
|
||||||
resolution: {integrity: sha512-UlSpjMWllAc70zYbHxWuDS3FJytyuR/gHJYBr8BICcTNb/TSOYVBg6U7b3jZ3mILTrgzwJUHwhEwK18FZDouUQ==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [arm64]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-linux-mips64le/0.14.43:
|
|
||||||
resolution: {integrity: sha512-f+v8cInPEL1/SDP//CfSYzcDNgE4CY3xgDV81DWm3KAPWzhvxARrKxB1Pstf5mB56yAslJDxu7ryBUPX207EZA==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [mips64el]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-linux-ppc64le/0.14.43:
|
|
||||||
resolution: {integrity: sha512-5wZYMDGAL/K2pqkdIsW+I4IR41kyfHr/QshJcNpUfK3RjB3VQcPWOaZmc+74rm4ZjVirYrtz+jWw0SgxtxRanA==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [ppc64]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-linux-riscv64/0.14.43:
|
|
||||||
resolution: {integrity: sha512-lYcAOUxp85hC7lSjycJUVSmj4/9oEfSyXjb/ua9bNl8afonaduuqtw7hvKMoKuYnVwOCDw4RSfKpcnIRDWq+Bw==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [riscv64]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-linux-s390x/0.14.43:
|
|
||||||
resolution: {integrity: sha512-27e43ZhHvhFE4nM7HqtUbMRu37I/4eNSUbb8FGZWszV+uLzMIsHDwLoBiJmw7G9N+hrehNPeQ4F5Ujad0DrUKQ==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [s390x]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-netbsd-64/0.14.43:
|
|
||||||
resolution: {integrity: sha512-2mH4QF6hHBn5zzAfxEI/2eBC0mspVsZ6UVo821LpAJKMvLJPBk3XJO5xwg7paDqSqpl7p6IRrAenW999AEfJhQ==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [netbsd]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-openbsd-64/0.14.43:
|
|
||||||
resolution: {integrity: sha512-ZhQpiZjvqCqO8jKdGp9+8k9E/EHSA+zIWOg+grwZasI9RoblqJ1QiZqqi7jfd6ZrrG1UFBNGe4m0NFxCFbMVbg==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [openbsd]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-sunos-64/0.14.43:
|
|
||||||
resolution: {integrity: sha512-DgxSi9DaHReL9gYuul2rrQCAapgnCJkh3LSHPKsY26zytYppG0HgkgVF80zjIlvEsUbGBP/GHQzBtrezj/Zq1Q==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [sunos]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-windows-32/0.14.43:
|
|
||||||
resolution: {integrity: sha512-Ih3+2O5oExiqm0mY6YYE5dR0o8+AspccQ3vIAtRodwFvhuyGLjb0Hbmzun/F3Lw19nuhPMu3sW2fqIJ5xBxByw==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [ia32]
|
|
||||||
os: [win32]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-windows-64/0.14.43:
|
|
||||||
resolution: {integrity: sha512-8NsuNfI8xwFuJbrCuI+aBqNTYkrWErejFO5aYM+yHqyHuL8mmepLS9EPzAzk8rvfaJrhN0+RvKWAcymViHOKEw==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [win32]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-windows-arm64/0.14.43:
|
|
||||||
resolution: {integrity: sha512-7ZlD7bo++kVRblJEoG+cepljkfP8bfuTPz5fIXzptwnPaFwGS6ahvfoYzY7WCf5v/1nX2X02HDraVItTgbHnKw==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [arm64]
|
|
||||||
os: [win32]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild/0.11.3:
|
/esbuild/0.11.3:
|
||||||
resolution: {integrity: sha512-BzVRHcCtFepjS9WcqRjqoIxLqgpK21a8J4Zi4msSGxDxiXVO1IbcqT1KjhdDDnJxKfe7bvzZrvMEX+bVO0Elcw==}
|
resolution: {integrity: sha512-BzVRHcCtFepjS9WcqRjqoIxLqgpK21a8J4Zi4msSGxDxiXVO1IbcqT1KjhdDDnJxKfe7bvzZrvMEX+bVO0Elcw==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@ -2373,31 +2190,31 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/esbuild/0.14.43:
|
/esbuild/0.14.43:
|
||||||
resolution: {integrity: sha512-Uf94+kQmy/5jsFwKWiQB4hfo/RkM9Dh7b79p8yqd1tshULdr25G2szLz631NoH3s2ujnKEKVD16RmOxvCNKRFA==, registry: http://npm.rongdasoft.com:7001/}
|
resolution: {integrity: sha512-Uf94+kQmy/5jsFwKWiQB4hfo/RkM9Dh7b79p8yqd1tshULdr25G2szLz631NoH3s2ujnKEKVD16RmOxvCNKRFA==, registry: http://npm.rongdasoft.com:7001/, tarball: http://npm.rongdasoft.com:7001/esbuild/-/esbuild-0.14.43.tgz}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
esbuild-android-64: 0.14.43
|
esbuild-android-64: registry.npmmirror.com/esbuild-android-64/0.14.43
|
||||||
esbuild-android-arm64: 0.14.43
|
esbuild-android-arm64: registry.npmmirror.com/esbuild-android-arm64/0.14.43
|
||||||
esbuild-darwin-64: 0.14.43
|
esbuild-darwin-64: registry.npmmirror.com/esbuild-darwin-64/0.14.43
|
||||||
esbuild-darwin-arm64: 0.14.43
|
esbuild-darwin-arm64: registry.npmmirror.com/esbuild-darwin-arm64/0.14.43
|
||||||
esbuild-freebsd-64: 0.14.43
|
esbuild-freebsd-64: registry.npmmirror.com/esbuild-freebsd-64/0.14.43
|
||||||
esbuild-freebsd-arm64: 0.14.43
|
esbuild-freebsd-arm64: registry.npmmirror.com/esbuild-freebsd-arm64/0.14.43
|
||||||
esbuild-linux-32: 0.14.43
|
esbuild-linux-32: registry.npmmirror.com/esbuild-linux-32/0.14.43
|
||||||
esbuild-linux-64: 0.14.43
|
esbuild-linux-64: registry.npmmirror.com/esbuild-linux-64/0.14.43
|
||||||
esbuild-linux-arm: 0.14.43
|
esbuild-linux-arm: registry.npmmirror.com/esbuild-linux-arm/0.14.43
|
||||||
esbuild-linux-arm64: 0.14.43
|
esbuild-linux-arm64: registry.npmmirror.com/esbuild-linux-arm64/0.14.43
|
||||||
esbuild-linux-mips64le: 0.14.43
|
esbuild-linux-mips64le: registry.npmmirror.com/esbuild-linux-mips64le/0.14.43
|
||||||
esbuild-linux-ppc64le: 0.14.43
|
esbuild-linux-ppc64le: registry.npmmirror.com/esbuild-linux-ppc64le/0.14.43
|
||||||
esbuild-linux-riscv64: 0.14.43
|
esbuild-linux-riscv64: registry.npmmirror.com/esbuild-linux-riscv64/0.14.43
|
||||||
esbuild-linux-s390x: 0.14.43
|
esbuild-linux-s390x: registry.npmmirror.com/esbuild-linux-s390x/0.14.43
|
||||||
esbuild-netbsd-64: 0.14.43
|
esbuild-netbsd-64: registry.npmmirror.com/esbuild-netbsd-64/0.14.43
|
||||||
esbuild-openbsd-64: 0.14.43
|
esbuild-openbsd-64: registry.npmmirror.com/esbuild-openbsd-64/0.14.43
|
||||||
esbuild-sunos-64: 0.14.43
|
esbuild-sunos-64: registry.npmmirror.com/esbuild-sunos-64/0.14.43
|
||||||
esbuild-windows-32: 0.14.43
|
esbuild-windows-32: registry.npmmirror.com/esbuild-windows-32/0.14.43
|
||||||
esbuild-windows-64: 0.14.43
|
esbuild-windows-64: registry.npmmirror.com/esbuild-windows-64/0.14.43
|
||||||
esbuild-windows-arm64: 0.14.43
|
esbuild-windows-arm64: registry.npmmirror.com/esbuild-windows-arm64/0.14.43
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/escalade/3.1.1:
|
/escalade/3.1.1:
|
||||||
@ -2823,7 +2640,7 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/follow-redirects/1.15.1:
|
/follow-redirects/1.15.1:
|
||||||
resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==, registry: http://npm.rongdasoft.com:7001/}
|
resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==, registry: http://npm.rongdasoft.com:7001/, tarball: http://npm.rongdasoft.com:7001/follow-redirects/-/follow-redirects-1.15.1.tgz}
|
||||||
engines: {node: '>=4.0'}
|
engines: {node: '>=4.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
debug: '*'
|
debug: '*'
|
||||||
@ -2845,7 +2662,7 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/form-data/4.0.0:
|
/form-data/4.0.0:
|
||||||
resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, registry: http://npm.rongdasoft.com:7001/}
|
resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, registry: http://npm.rongdasoft.com:7001/, tarball: http://npm.rongdasoft.com:7001/form-data/-/form-data-4.0.0.tgz}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
dependencies:
|
dependencies:
|
||||||
asynckit: 0.4.0
|
asynckit: 0.4.0
|
||||||
@ -2866,14 +2683,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/fsevents/2.3.2:
|
|
||||||
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
|
|
||||||
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
|
|
||||||
os: [darwin]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/function-bind/1.1.1:
|
/function-bind/1.1.1:
|
||||||
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
|
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
|
||||||
dev: true
|
dev: true
|
||||||
@ -3040,7 +2849,7 @@ packages:
|
|||||||
source-map: 0.6.1
|
source-map: 0.6.1
|
||||||
wordwrap: 1.0.0
|
wordwrap: 1.0.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
uglify-js: 3.16.0
|
uglify-js: registry.npmmirror.com/uglify-js/3.16.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/hard-rejection/2.1.0:
|
/hard-rejection/2.1.0:
|
||||||
@ -3560,7 +3369,7 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
universalify: 2.0.0
|
universalify: 2.0.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
graceful-fs: 4.2.10
|
graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/jsonparse/1.3.1:
|
/jsonparse/1.3.1:
|
||||||
@ -3747,12 +3556,12 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/mime-db/1.52.0:
|
/mime-db/1.52.0:
|
||||||
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, registry: http://npm.rongdasoft.com:7001/}
|
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, registry: http://npm.rongdasoft.com:7001/, tarball: http://npm.rongdasoft.com:7001/mime-db/-/mime-db-1.52.0.tgz}
|
||||||
engines: {node: '>= 0.6'}
|
engines: {node: '>= 0.6'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/mime-types/2.1.35:
|
/mime-types/2.1.35:
|
||||||
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, registry: http://npm.rongdasoft.com:7001/}
|
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, registry: http://npm.rongdasoft.com:7001/, tarball: http://npm.rongdasoft.com:7001/mime-types/-/mime-types-2.1.35.tgz}
|
||||||
engines: {node: '>= 0.6'}
|
engines: {node: '>= 0.6'}
|
||||||
dependencies:
|
dependencies:
|
||||||
mime-db: 1.52.0
|
mime-db: 1.52.0
|
||||||
@ -3802,7 +3611,6 @@ packages:
|
|||||||
|
|
||||||
/monaco-editor/0.33.0:
|
/monaco-editor/0.33.0:
|
||||||
resolution: {integrity: sha512-VcRWPSLIUEgQJQIE0pVT8FcGBIgFoxz7jtqctE+IiCxWugD0DwgyQBcZBhdSrdMC84eumoqMZsGl2GTreOzwqw==}
|
resolution: {integrity: sha512-VcRWPSLIUEgQJQIE0pVT8FcGBIgFoxz7jtqctE+IiCxWugD0DwgyQBcZBhdSrdMC84eumoqMZsGl2GTreOzwqw==}
|
||||||
dev: false
|
|
||||||
|
|
||||||
/ms/2.0.0:
|
/ms/2.0.0:
|
||||||
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
|
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
|
||||||
@ -4187,7 +3995,7 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/path-parse/1.0.7:
|
/path-parse/1.0.7:
|
||||||
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, registry: http://npm.rongdasoft.com:7001/}
|
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, registry: http://npm.rongdasoft.com:7001/, tarball: http://npm.rongdasoft.com:7001/path-parse/-/path-parse-1.0.7.tgz}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/path-root-regex/0.1.2:
|
/path-root-regex/0.1.2:
|
||||||
@ -4518,7 +4326,7 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/resolve/1.22.0:
|
/resolve/1.22.0:
|
||||||
resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==, registry: http://npm.rongdasoft.com:7001/}
|
resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==, registry: http://npm.rongdasoft.com:7001/, tarball: http://npm.rongdasoft.com:7001/resolve/-/resolve-1.22.0.tgz}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
is-core-module: 2.9.0
|
is-core-module: 2.9.0
|
||||||
@ -4555,11 +4363,11 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/rollup/2.75.6:
|
/rollup/2.75.6:
|
||||||
resolution: {integrity: sha512-OEf0TgpC9vU6WGROJIk1JA3LR5vk/yvqlzxqdrE2CzzXnqKXNzbAwlWUXis8RS3ZPe7LAq+YUxsRa0l3r27MLA==, registry: http://npm.rongdasoft.com:7001/}
|
resolution: {integrity: sha512-OEf0TgpC9vU6WGROJIk1JA3LR5vk/yvqlzxqdrE2CzzXnqKXNzbAwlWUXis8RS3ZPe7LAq+YUxsRa0l3r27MLA==, registry: http://npm.rongdasoft.com:7001/, tarball: http://npm.rongdasoft.com:7001/rollup/-/rollup-2.75.6.tgz}
|
||||||
engines: {node: '>=10.0.0'}
|
engines: {node: '>=10.0.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents: 2.3.2
|
fsevents: registry.npmmirror.com/fsevents/2.3.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/run-async/2.4.1:
|
/run-async/2.4.1:
|
||||||
@ -4838,7 +4646,7 @@ packages:
|
|||||||
has-flag: 4.0.0
|
has-flag: 4.0.0
|
||||||
|
|
||||||
/supports-preserve-symlinks-flag/1.0.0:
|
/supports-preserve-symlinks-flag/1.0.0:
|
||||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, registry: http://npm.rongdasoft.com:7001/}
|
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, registry: http://npm.rongdasoft.com:7001/, tarball: http://npm.rongdasoft.com:7001/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@ -4954,7 +4762,6 @@ packages:
|
|||||||
|
|
||||||
/tslib/2.3.0:
|
/tslib/2.3.0:
|
||||||
resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==}
|
resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/tslib/2.4.0:
|
/tslib/2.4.0:
|
||||||
resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
|
resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
|
||||||
@ -5006,7 +4813,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==}
|
resolution: {integrity: sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==}
|
||||||
engines: {node: '>=4.2.0'}
|
engines: {node: '>=4.2.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
|
||||||
|
|
||||||
/typescript/4.7.3:
|
/typescript/4.7.3:
|
||||||
resolution: {integrity: sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==}
|
resolution: {integrity: sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==}
|
||||||
@ -5014,14 +4820,6 @@ packages:
|
|||||||
hasBin: true
|
hasBin: true
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/uglify-js/3.16.0:
|
|
||||||
resolution: {integrity: sha512-FEikl6bR30n0T3amyBh3LoiBdqHRy/f4H80+My34HOesOKyHfOsxAPAxOoqC0JUnC1amnO0IwkYC3sko51caSw==}
|
|
||||||
engines: {node: '>=0.8.0'}
|
|
||||||
hasBin: true
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/unbox-primitive/1.0.2:
|
/unbox-primitive/1.0.2:
|
||||||
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
|
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -5168,7 +4966,7 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite/2.9.9_sass@1.52.3:
|
/vite/2.9.9_sass@1.52.3:
|
||||||
resolution: {integrity: sha512-ffaam+NgHfbEmfw/Vuh6BHKKlI/XIAhxE5QSS7gFLIngxg171mg1P3a4LSRME0z2ZU1ScxoKzphkipcYwSD5Ew==, registry: http://npm.rongdasoft.com:7001/}
|
resolution: {integrity: sha512-ffaam+NgHfbEmfw/Vuh6BHKKlI/XIAhxE5QSS7gFLIngxg171mg1P3a4LSRME0z2ZU1ScxoKzphkipcYwSD5Ew==, registry: http://npm.rongdasoft.com:7001/, tarball: http://npm.rongdasoft.com:7001/vite/-/vite-2.9.9.tgz}
|
||||||
engines: {node: '>=12.2.0'}
|
engines: {node: '>=12.2.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@ -5189,7 +4987,7 @@ packages:
|
|||||||
rollup: 2.75.6
|
rollup: 2.75.6
|
||||||
sass: 1.52.3
|
sass: 1.52.3
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents: 2.3.2
|
fsevents: registry.npmmirror.com/fsevents/2.3.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/void-elements/3.1.0:
|
/void-elements/3.1.0:
|
||||||
@ -5426,7 +5224,6 @@ packages:
|
|||||||
'@vue/runtime-dom': 3.2.37
|
'@vue/runtime-dom': 3.2.37
|
||||||
'@vue/server-renderer': 3.2.37_vue@3.2.37
|
'@vue/server-renderer': 3.2.37_vue@3.2.37
|
||||||
'@vue/shared': 3.2.37
|
'@vue/shared': 3.2.37
|
||||||
dev: false
|
|
||||||
|
|
||||||
/vue3-lazyload/0.2.5-beta_2yymnzrok6eda47acnj2yjm3ae:
|
/vue3-lazyload/0.2.5-beta_2yymnzrok6eda47acnj2yjm3ae:
|
||||||
resolution: {integrity: sha512-GVhJfL9Hcu+AvWsYmUwODivvt+gzpT0ztgAzZaUduoiTaGCv/qzhr0VwAQXfjGF3XFYFyOJsHlAi3/WE0P8XTQ==}
|
resolution: {integrity: sha512-GVhJfL9Hcu+AvWsYmUwODivvt+gzpT0ztgAzZaUduoiTaGCv/qzhr0VwAQXfjGF3XFYFyOJsHlAi3/WE0P8XTQ==}
|
||||||
@ -5592,4 +5389,257 @@ packages:
|
|||||||
resolution: {integrity: sha512-8IiYdfwHj2rx0UeIGZGGU4WEVSDEdeVCaIg/fomejg1Xu6OifAL1GVzIPHg2D+MyUkbNgPWji90t0a8IDk+39w==}
|
resolution: {integrity: sha512-8IiYdfwHj2rx0UeIGZGGU4WEVSDEdeVCaIg/fomejg1Xu6OifAL1GVzIPHg2D+MyUkbNgPWji90t0a8IDk+39w==}
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib: 2.3.0
|
tslib: 2.3.0
|
||||||
|
|
||||||
|
registry.npmmirror.com/echarts-stat/1.2.0:
|
||||||
|
resolution: {integrity: sha512-zLd7Kgs+tuTSeaK0VQEMNmnMivEkhvHIk1gpBtLzpRerfcIQ+Bd5XudOMmtwpaTc1WDZbA7d1V//iiBccR46Qg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/echarts-stat/-/echarts-stat-1.2.0.tgz}
|
||||||
|
name: echarts-stat
|
||||||
|
version: 1.2.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-android-64/0.14.43:
|
||||||
|
resolution: {integrity: sha512-kqFXAS72K6cNrB6RiM7YJ5lNvmWRDSlpi7ZuRZ1hu1S3w0zlwcoCxWAyM23LQUyZSs1PbjHgdbbfYAN8IGh6xg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.14.43.tgz}
|
||||||
|
name: esbuild-android-64
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [android]
|
||||||
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-android-arm64/0.14.43:
|
||||||
|
resolution: {integrity: sha512-bKS2BBFh+7XZY9rpjiHGRNA7LvWYbZWP87pLehggTG7tTaCDvj8qQGOU/OZSjCSKDYbgY7Q+oDw8RlYQ2Jt2BA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.43.tgz}
|
||||||
|
name: esbuild-android-arm64
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [android]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-darwin-64/0.14.43:
|
||||||
|
resolution: {integrity: sha512-/3PSilx011ttoieRGkSZ0XV8zjBf2C9enV4ScMMbCT4dpx0mFhMOpFnCHkOK0pWGB8LklykFyHrWk2z6DENVUg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.43.tgz}
|
||||||
|
name: esbuild-darwin-64
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [darwin]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-darwin-arm64/0.14.43:
|
||||||
|
resolution: {integrity: sha512-1HyFUKs8DMCBOvw1Qxpr5Vv/ThNcVIFb5xgXWK3pyT40WPvgYIiRTwJCvNs4l8i5qWF8/CK5bQxJVDjQvtv0Yw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.43.tgz}
|
||||||
|
name: esbuild-darwin-arm64
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [darwin]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-freebsd-64/0.14.43:
|
||||||
|
resolution: {integrity: sha512-FNWc05TPHYgaXjbPZO5/rJKSBslfG6BeMSs8GhwnqAKP56eEhvmzwnIz1QcC9cRVyO+IKqWNfmHFkCa1WJTULA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.43.tgz}
|
||||||
|
name: esbuild-freebsd-64
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [freebsd]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-freebsd-arm64/0.14.43:
|
||||||
|
resolution: {integrity: sha512-amrYopclz3VohqisOPR6hA3GOWA3LZC1WDLnp21RhNmoERmJ/vLnOpnrG2P/Zao+/erKTCUqmrCIPVtj58DRoA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.43.tgz}
|
||||||
|
name: esbuild-freebsd-arm64
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [freebsd]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-linux-32/0.14.43:
|
||||||
|
resolution: {integrity: sha512-KoxoEra+9O3AKVvgDFvDkiuddCds6q71owSQEYwjtqRV7RwbPzKxJa6+uyzUulHcyGVq0g15K0oKG5CFBcvYDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.43.tgz}
|
||||||
|
name: esbuild-linux-32
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [ia32]
|
||||||
|
os: [linux]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-linux-64/0.14.43:
|
||||||
|
resolution: {integrity: sha512-EwINwGMyiJMgBby5/SbMqKcUhS5AYAZ2CpEBzSowsJPNBJEdhkCTtEjk757TN/wxgbu3QklqDM6KghY660QCUw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.43.tgz}
|
||||||
|
name: esbuild-linux-64
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [linux]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-linux-arm/0.14.43:
|
||||||
|
resolution: {integrity: sha512-e6YzQUoDxxtyamuF12eVzzRC7bbEFSZohJ6igQB9tBqnNmIQY3fI6Cns3z2wxtbZ3f2o6idkD2fQnlvs2902Dg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.43.tgz}
|
||||||
|
name: esbuild-linux-arm
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [arm]
|
||||||
|
os: [linux]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-linux-arm64/0.14.43:
|
||||||
|
resolution: {integrity: sha512-UlSpjMWllAc70zYbHxWuDS3FJytyuR/gHJYBr8BICcTNb/TSOYVBg6U7b3jZ3mILTrgzwJUHwhEwK18FZDouUQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.43.tgz}
|
||||||
|
name: esbuild-linux-arm64
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [linux]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-linux-mips64le/0.14.43:
|
||||||
|
resolution: {integrity: sha512-f+v8cInPEL1/SDP//CfSYzcDNgE4CY3xgDV81DWm3KAPWzhvxARrKxB1Pstf5mB56yAslJDxu7ryBUPX207EZA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.43.tgz}
|
||||||
|
name: esbuild-linux-mips64le
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [mips64el]
|
||||||
|
os: [linux]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-linux-ppc64le/0.14.43:
|
||||||
|
resolution: {integrity: sha512-5wZYMDGAL/K2pqkdIsW+I4IR41kyfHr/QshJcNpUfK3RjB3VQcPWOaZmc+74rm4ZjVirYrtz+jWw0SgxtxRanA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.43.tgz}
|
||||||
|
name: esbuild-linux-ppc64le
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [ppc64]
|
||||||
|
os: [linux]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-linux-riscv64/0.14.43:
|
||||||
|
resolution: {integrity: sha512-lYcAOUxp85hC7lSjycJUVSmj4/9oEfSyXjb/ua9bNl8afonaduuqtw7hvKMoKuYnVwOCDw4RSfKpcnIRDWq+Bw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.43.tgz}
|
||||||
|
name: esbuild-linux-riscv64
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [riscv64]
|
||||||
|
os: [linux]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-linux-s390x/0.14.43:
|
||||||
|
resolution: {integrity: sha512-27e43ZhHvhFE4nM7HqtUbMRu37I/4eNSUbb8FGZWszV+uLzMIsHDwLoBiJmw7G9N+hrehNPeQ4F5Ujad0DrUKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.43.tgz}
|
||||||
|
name: esbuild-linux-s390x
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [s390x]
|
||||||
|
os: [linux]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-netbsd-64/0.14.43:
|
||||||
|
resolution: {integrity: sha512-2mH4QF6hHBn5zzAfxEI/2eBC0mspVsZ6UVo821LpAJKMvLJPBk3XJO5xwg7paDqSqpl7p6IRrAenW999AEfJhQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.43.tgz}
|
||||||
|
name: esbuild-netbsd-64
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [netbsd]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-openbsd-64/0.14.43:
|
||||||
|
resolution: {integrity: sha512-ZhQpiZjvqCqO8jKdGp9+8k9E/EHSA+zIWOg+grwZasI9RoblqJ1QiZqqi7jfd6ZrrG1UFBNGe4m0NFxCFbMVbg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.43.tgz}
|
||||||
|
name: esbuild-openbsd-64
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [openbsd]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-sunos-64/0.14.43:
|
||||||
|
resolution: {integrity: sha512-DgxSi9DaHReL9gYuul2rrQCAapgnCJkh3LSHPKsY26zytYppG0HgkgVF80zjIlvEsUbGBP/GHQzBtrezj/Zq1Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.43.tgz}
|
||||||
|
name: esbuild-sunos-64
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [sunos]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-windows-32/0.14.43:
|
||||||
|
resolution: {integrity: sha512-Ih3+2O5oExiqm0mY6YYE5dR0o8+AspccQ3vIAtRodwFvhuyGLjb0Hbmzun/F3Lw19nuhPMu3sW2fqIJ5xBxByw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.43.tgz}
|
||||||
|
name: esbuild-windows-32
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [ia32]
|
||||||
|
os: [win32]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-windows-64/0.14.43:
|
||||||
|
resolution: {integrity: sha512-8NsuNfI8xwFuJbrCuI+aBqNTYkrWErejFO5aYM+yHqyHuL8mmepLS9EPzAzk8rvfaJrhN0+RvKWAcymViHOKEw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.43.tgz}
|
||||||
|
name: esbuild-windows-64
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [win32]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/esbuild-windows-arm64/0.14.43:
|
||||||
|
resolution: {integrity: sha512-7ZlD7bo++kVRblJEoG+cepljkfP8bfuTPz5fIXzptwnPaFwGS6ahvfoYzY7WCf5v/1nX2X02HDraVItTgbHnKw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.43.tgz}
|
||||||
|
name: esbuild-windows-arm64
|
||||||
|
version: 0.14.43
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [win32]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/fsevents/2.3.2:
|
||||||
|
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz}
|
||||||
|
name: fsevents
|
||||||
|
version: 2.3.2
|
||||||
|
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
|
||||||
|
os: [darwin]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/graceful-fs/4.2.10:
|
||||||
|
resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz}
|
||||||
|
name: graceful-fs
|
||||||
|
version: 4.2.10
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
registry.npmmirror.com/uglify-js/3.16.0:
|
||||||
|
resolution: {integrity: sha512-FEikl6bR30n0T3amyBh3LoiBdqHRy/f4H80+My34HOesOKyHfOsxAPAxOoqC0JUnC1amnO0IwkYC3sko51caSw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/uglify-js/-/uglify-js-3.16.0.tgz}
|
||||||
|
name: uglify-js
|
||||||
|
version: 3.16.0
|
||||||
|
engines: {node: '>=0.8.0'}
|
||||||
|
hasBin: true
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
optional: true
|
||||||
|
199
src/api/mock/heatMapData.json
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
{
|
||||||
|
"xAxis": [
|
||||||
|
"12a",
|
||||||
|
"1a",
|
||||||
|
"2a",
|
||||||
|
"3a",
|
||||||
|
"4a",
|
||||||
|
"5a",
|
||||||
|
"6a",
|
||||||
|
"7a",
|
||||||
|
"8a",
|
||||||
|
"9a",
|
||||||
|
"10a",
|
||||||
|
"11a",
|
||||||
|
"12p",
|
||||||
|
"1p",
|
||||||
|
"2p",
|
||||||
|
"3p",
|
||||||
|
"4p",
|
||||||
|
"5p",
|
||||||
|
"6p",
|
||||||
|
"7p",
|
||||||
|
"8p",
|
||||||
|
"9p",
|
||||||
|
"10p",
|
||||||
|
"11p"
|
||||||
|
],
|
||||||
|
"yAxis": ["Saturday", "Friday", "Thursday", "Wednesday", "Tuesday", "Monday", "Sunday"],
|
||||||
|
"seriesData": [
|
||||||
|
[0, 0, "@integer(0, 10)"],
|
||||||
|
[1, 0, "@integer(0, 10)"],
|
||||||
|
[2, 0, "-"],
|
||||||
|
[3, 0, "-"],
|
||||||
|
[4, 0, "-"],
|
||||||
|
[5, 0, "-"],
|
||||||
|
[6, 0, "-"],
|
||||||
|
[7, 0, "-"],
|
||||||
|
[8, 0, "-"],
|
||||||
|
[9, 0, "-"],
|
||||||
|
[10, 0, "-"],
|
||||||
|
[11, 0, "@integer(0, 10)"],
|
||||||
|
[12, 0, "@integer(0, 10)"],
|
||||||
|
[13, 0, "@integer(0, 10)"],
|
||||||
|
[14, 0, "@integer(0, 10)"],
|
||||||
|
[15, 0, "@integer(0, 10)"],
|
||||||
|
[16, 0, "@integer(0, 10)"],
|
||||||
|
[17, 0, "@integer(0, 10)"],
|
||||||
|
[18, 0, "@integer(0, 10)"],
|
||||||
|
[19, 0, "@integer(0, 10)"],
|
||||||
|
[20, 0, "@integer(0, 10)"],
|
||||||
|
[21, 0, "@integer(0, 10)"],
|
||||||
|
[22, 0, "@integer(0, 10)"],
|
||||||
|
[23, 0, "@integer(0, 10)"],
|
||||||
|
[0, 1, 7],
|
||||||
|
[1, 1, "-"],
|
||||||
|
[2, 1, "-"],
|
||||||
|
[3, 1, "-"],
|
||||||
|
[4, 1, "-"],
|
||||||
|
[5, 1, "-"],
|
||||||
|
[6, 1, "-"],
|
||||||
|
[7, 1, "-"],
|
||||||
|
[8, 1, "-"],
|
||||||
|
[9, 1, "-"],
|
||||||
|
[10, 1, "@integer(0, 10)"],
|
||||||
|
[11, 1, "@integer(0, 10)"],
|
||||||
|
[12, 1, "@integer(0, 10)"],
|
||||||
|
[13, 1, "@integer(0, 10)"],
|
||||||
|
[14, 1, "@integer(0, 10)"],
|
||||||
|
[15, 1, "@integer(0, 10)"],
|
||||||
|
[16, 1, "@integer(0, 10)"],
|
||||||
|
[17, 1, "@integer(0, 10)"],
|
||||||
|
[18, 1, "@integer(0, 10)"],
|
||||||
|
[19, 1, "@integer(0, 10)"],
|
||||||
|
[20, 1, "@integer(0, 10)"],
|
||||||
|
[21, 1, "@integer(0, 10)"],
|
||||||
|
[22, 1, "@integer(0, 10)"],
|
||||||
|
[23, 1, "@integer(0, 10)"],
|
||||||
|
[0, 2, 1],
|
||||||
|
[1, 2, 1],
|
||||||
|
[2, 2, "-"],
|
||||||
|
[3, 2, "-"],
|
||||||
|
[4, 2, "-"],
|
||||||
|
[5, 2, "-"],
|
||||||
|
[6, 2, "-"],
|
||||||
|
[7, 2, "-"],
|
||||||
|
[8, 2, "-"],
|
||||||
|
[9, 2, "-"],
|
||||||
|
[10, 2, "@integer(0, 10)"],
|
||||||
|
[11, 2, "@integer(0, 10)"],
|
||||||
|
[12, 2, "@integer(0, 10)"],
|
||||||
|
[13, 2, "@integer(0, 10)"],
|
||||||
|
[14, 2, "@integer(0, 10)"],
|
||||||
|
[15, 2, "@integer(0, 10)"],
|
||||||
|
[16, 2, "@integer(0, 10)"],
|
||||||
|
[17, 2, "@integer(0, 10)"],
|
||||||
|
[18, 2, "@integer(0, 10)"],
|
||||||
|
[19, 2, "@integer(0, 10)"],
|
||||||
|
[20, 2, "@integer(0, 10)"],
|
||||||
|
[21, 2, "@integer(0, 10)"],
|
||||||
|
[22, 2, "@integer(0, 10)"],
|
||||||
|
[23, 2, "@integer(0, 10)"],
|
||||||
|
[0, 3, 7],
|
||||||
|
[1, 3, 3],
|
||||||
|
[2, 3, "-"],
|
||||||
|
[3, 3, "-"],
|
||||||
|
[4, 3, "-"],
|
||||||
|
[5, 3, "-"],
|
||||||
|
[6, 3, "-"],
|
||||||
|
[7, 3, "-"],
|
||||||
|
[8, 3, 1],
|
||||||
|
[9, 3, "-"],
|
||||||
|
[10, 3, "@integer(0, 10)"],
|
||||||
|
[11, 3, "@integer(0, 10)"],
|
||||||
|
[12, 3, "@integer(0, 10)"],
|
||||||
|
[13, 3, "@integer(0, 10)"],
|
||||||
|
[14, 3, "@integer(0, 10)"],
|
||||||
|
[15, 3, "@integer(0, 10)"],
|
||||||
|
[16, 3, "@integer(0, 10)"],
|
||||||
|
[17, 3, "@integer(0, 10)"],
|
||||||
|
[18, 3, "@integer(0, 10)"],
|
||||||
|
[19, 3, "@integer(0, 10)"],
|
||||||
|
[20, 3, "@integer(0, 10)"],
|
||||||
|
[21, 3, "@integer(0, 10)"],
|
||||||
|
[22, 3, "@integer(0, 10)"],
|
||||||
|
[23, 3, "@integer(0, 10)"],
|
||||||
|
[0, 4, "@integer(0, 10)"],
|
||||||
|
[1, 4, "@integer(0, 10)"],
|
||||||
|
[2, 4, "-"],
|
||||||
|
[3, 4, "-"],
|
||||||
|
[4, 4, "-"],
|
||||||
|
[5, 4, "@integer(0, 10)"],
|
||||||
|
[6, 4, "-"],
|
||||||
|
[7, 4, "-"],
|
||||||
|
[8, 4, "-"],
|
||||||
|
[9, 4, "@integer(0, 10)"],
|
||||||
|
[10, 4, "@integer(0, 10)"],
|
||||||
|
[11, 4, "@integer(0, 10)"],
|
||||||
|
[12, 4, "@integer(0, 10)"],
|
||||||
|
[13, 4, "@integer(0, 10)"],
|
||||||
|
[14, 4, "@integer(0, 10)"],
|
||||||
|
[15, 4, "@integer(0, 10)"],
|
||||||
|
[16, 4, "@integer(0, 10)"],
|
||||||
|
[17, 4, "@integer(0, 10)"],
|
||||||
|
[18, 4, "@integer(0, 10)"],
|
||||||
|
[19, 4, "@integer(0, 10)"],
|
||||||
|
[20, 4, "@integer(0, 10)"],
|
||||||
|
[21, 4, "@integer(0, 10)"],
|
||||||
|
[22, 4, "@integer(0, 10)"],
|
||||||
|
[23, 4, "-"],
|
||||||
|
[0, 5, "@integer(0, 10)"],
|
||||||
|
[1, 5, "@integer(0, 10)"],
|
||||||
|
[2, 5, "-"],
|
||||||
|
[3, 5, "@integer(0, 10)"],
|
||||||
|
[4, 5, "-"],
|
||||||
|
[5, 5, "-"],
|
||||||
|
[6, 5, "-"],
|
||||||
|
[7, 5, "-"],
|
||||||
|
[8, 5, "@integer(0, 10)"],
|
||||||
|
[9, 5, "-"],
|
||||||
|
[10, 5, "@integer(0, 10)"],
|
||||||
|
[11, 5, "@integer(0, 10)"],
|
||||||
|
[12, 5, "@integer(0, 10)"],
|
||||||
|
[13, 5, "@integer(0, 10)"],
|
||||||
|
[14, 5, "@integer(0, 10)"],
|
||||||
|
[15, 5, "@integer(0, 10)"],
|
||||||
|
[16, 5, "@integer(0, 10)"],
|
||||||
|
[17, 5, "@integer(0, 10)"],
|
||||||
|
[18, 5, "-"],
|
||||||
|
[19, 5, "@integer(0, 10)"],
|
||||||
|
[20, 5, "@integer(0, 10)"],
|
||||||
|
[21, 5, "@integer(0, 10)"],
|
||||||
|
[22, 5, "@integer(0, 10)"],
|
||||||
|
[23, 5, "-"],
|
||||||
|
[0, 6, "@integer(0, 10)"],
|
||||||
|
[1, 6, "-"],
|
||||||
|
[2, 6, "-"],
|
||||||
|
[3, 6, "-"],
|
||||||
|
[4, 6, "-"],
|
||||||
|
[5, 6, "-"],
|
||||||
|
[6, 6, "-"],
|
||||||
|
[7, 6, "-"],
|
||||||
|
[8, 6, "-"],
|
||||||
|
[9, 6, "-"],
|
||||||
|
[10, 6, "@integer(0, 10)"],
|
||||||
|
[11, 6, "-"],
|
||||||
|
[12, 6, "@integer(0, 10)"],
|
||||||
|
[13, 6, "@integer(0, 10)"],
|
||||||
|
[14, 6, "@integer(0, 10)"],
|
||||||
|
[15, 6, "@integer(0, 10)"],
|
||||||
|
[16, 6, "-"],
|
||||||
|
[17, 6, "-"],
|
||||||
|
[18, 6, "-"],
|
||||||
|
[19, 6, "-"],
|
||||||
|
[20, 6, "@integer(0, 10)"],
|
||||||
|
[21, 6, "@integer(0, 10)"],
|
||||||
|
[22, 6, "@integer(0, 10)"],
|
||||||
|
[23, 6, "@integer(0, 10)"]
|
||||||
|
]
|
||||||
|
}
|
@ -12,6 +12,8 @@ export const imageUrl = '/mock/image'
|
|||||||
export const rankListUrl = '/mock/rankList'
|
export const rankListUrl = '/mock/rankList'
|
||||||
export const scrollBoardUrl = '/mock/scrollBoard'
|
export const scrollBoardUrl = '/mock/scrollBoard'
|
||||||
export const radarUrl = '/mock/radarData'
|
export const radarUrl = '/mock/radarData'
|
||||||
|
export const heatMapUrl = '/mock/heatMapData'
|
||||||
|
export const scatterBasicUrl = '/mock/scatterBasic'
|
||||||
|
|
||||||
const mockObject: MockMethod[] = [
|
const mockObject: MockMethod[] = [
|
||||||
{
|
{
|
||||||
@ -61,6 +63,16 @@ const mockObject: MockMethod[] = [
|
|||||||
method: RequestHttpEnum.GET,
|
method: RequestHttpEnum.GET,
|
||||||
response: () => test.fetchRadar
|
response: () => test.fetchRadar
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
url: heatMapUrl,
|
||||||
|
method: RequestHttpEnum.GET,
|
||||||
|
response: () => test.fetchHeatmap
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: scatterBasicUrl,
|
||||||
|
method: RequestHttpEnum.GET,
|
||||||
|
response: () => test.fetchScatterBasic
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
export default mockObject
|
export default mockObject
|
||||||
|
56
src/api/mock/scatter.json
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"dimensions": ["data1"],
|
||||||
|
"source": [
|
||||||
|
[10.0, "@integer(0, 100)"],
|
||||||
|
[8.07, "@integer(0, 100)"],
|
||||||
|
[13.0, "@integer(0, 100)"],
|
||||||
|
[9.05, "@integer(0, 100)"],
|
||||||
|
[11.0, "@integer(0, 100)"],
|
||||||
|
[14.0, "@integer(0, 100)"],
|
||||||
|
[13.4, "@integer(0, 100)"],
|
||||||
|
[10.0, "@integer(0, 100)"],
|
||||||
|
[14.0, "@integer(0, 100)"],
|
||||||
|
[12.5, "@integer(0, 100)"],
|
||||||
|
[9.15, "@integer(0, 100)"],
|
||||||
|
[11.5, "@integer(0, 100)"],
|
||||||
|
[3.03, "@integer(0, 100)"],
|
||||||
|
[12.2, "@integer(0, 100)"],
|
||||||
|
[2.02, "@integer(0, 100)"],
|
||||||
|
[1.05, "@integer(0, 100)"],
|
||||||
|
[4.05, "@integer(0, 100)"],
|
||||||
|
[6.03, "@integer(0, 100)"],
|
||||||
|
[12.0, "@integer(0, 100)"],
|
||||||
|
[12.0, "@integer(0, 100)"],
|
||||||
|
[7.08, "@integer(0, 100)"],
|
||||||
|
[5.02, "@integer(0, 100)"]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dimensions": ["data2"],
|
||||||
|
"source": [
|
||||||
|
[10.0, "@integer(0, 70)"],
|
||||||
|
[8.07, "@integer(0, 70)"],
|
||||||
|
[13.0, "@integer(0, 70)"],
|
||||||
|
[9.05, "@integer(0, 70)"],
|
||||||
|
[11.0, "@integer(0, 70)"],
|
||||||
|
[14.0, "@integer(0, 70)"],
|
||||||
|
[13.4, "@integer(0, 70)"],
|
||||||
|
[10.0, "@integer(0, 70)"],
|
||||||
|
[14.0, "@integer(0, 70)"],
|
||||||
|
[12.5, "@integer(0, 70)"],
|
||||||
|
[9.15, "@integer(0, 70)"],
|
||||||
|
[11.5, "@integer(0, 70)"],
|
||||||
|
[3.03, "@integer(0, 70)"],
|
||||||
|
[12.2, "@integer(0, 70)"],
|
||||||
|
[2.02, "@integer(0, 70)"],
|
||||||
|
[1.05, "@integer(0, 70)"],
|
||||||
|
[4.05, "@integer(0, 70)"],
|
||||||
|
[6.03, "@integer(0, 70)"],
|
||||||
|
[12.0, "@integer(0, 70)"],
|
||||||
|
[12.0, "@integer(0, 70)"],
|
||||||
|
[7.08, "@integer(0, 70)"],
|
||||||
|
[5.02, "@integer(0, 70)"]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
@ -1,3 +1,6 @@
|
|||||||
|
import heatmapJson from './heatMapData.json'
|
||||||
|
import scatterJson from './scatter.json'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
// 单图表
|
// 单图表
|
||||||
fetchMockSingleData: {
|
fetchMockSingleData: {
|
||||||
@ -9,27 +12,27 @@ export default {
|
|||||||
source: [
|
source: [
|
||||||
{
|
{
|
||||||
product: '@name',
|
product: '@name',
|
||||||
'dataOne|0-900': 3,
|
'dataOne|0-900': 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
product: '@name',
|
product: '@name',
|
||||||
'dataOne|0-900': 3,
|
'dataOne|0-900': 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
product: '@name',
|
product: '@name',
|
||||||
'dataOne|0-900': 3,
|
'dataOne|0-900': 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
product: '@name',
|
product: '@name',
|
||||||
'dataOne|0-900': 3,
|
'dataOne|0-900': 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
product: '@name',
|
product: '@name',
|
||||||
'dataOne|0-900': 3,
|
'dataOne|0-900': 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
product: '@name',
|
product: '@name',
|
||||||
'dataOne|0-900': 3,
|
'dataOne|0-900': 3
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -181,5 +184,19 @@ export default {
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 热力图
|
||||||
|
fetchHeatmap: {
|
||||||
|
code: 0,
|
||||||
|
status: 200,
|
||||||
|
msg: '请求成功',
|
||||||
|
data: heatmapJson
|
||||||
|
},
|
||||||
|
// 散点图
|
||||||
|
fetchScatterBasic: {
|
||||||
|
code: 0,
|
||||||
|
status: 200,
|
||||||
|
msg: '请求成功',
|
||||||
|
data: scatterJson
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 39 KiB |
BIN
src/assets/images/chart/charts/scatter-multi.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
src/assets/images/chart/charts/scatter.png
Normal file
After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 8.4 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 18 KiB |
@ -115,6 +115,13 @@ const list = reactive<ListType[]>([
|
|||||||
desc: '',
|
desc: '',
|
||||||
value: ''
|
value: ''
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
key: SettingStoreEnums.CHART_TOOLS_STATUS_HIDE,
|
||||||
|
value: settingStore.getChartToolsStatusHide,
|
||||||
|
type: 'switch',
|
||||||
|
name: '隐藏工具栏',
|
||||||
|
desc: '鼠标移入时,会展示切换到展开模式',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
key: SettingStoreEnums.CHART_TOOLS_STATUS,
|
key: SettingStoreEnums.CHART_TOOLS_STATUS,
|
||||||
value: settingStore.getChartToolsStatus,
|
value: settingStore.getChartToolsStatus,
|
||||||
|
@ -1,163 +1,104 @@
|
|||||||
<template>
|
<template>
|
||||||
<collapse-item v-if="title" name="标题">
|
<collapse-item v-if="title" name="标题">
|
||||||
<template #header>
|
<template #header>
|
||||||
<n-switch
|
<n-switch v-model:value="title.show" size="small"></n-switch>
|
||||||
v-show="inChart"
|
|
||||||
v-model:value="title.show"
|
|
||||||
size="small"
|
|
||||||
></n-switch>
|
|
||||||
</template>
|
</template>
|
||||||
<setting-item-box name="标题">
|
<setting-item-box name="标题">
|
||||||
<setting-item name="颜色">
|
<setting-item name="颜色">
|
||||||
<n-color-picker
|
<n-color-picker v-model:value="title.textStyle.color" size="small"></n-color-picker>
|
||||||
v-model:value="title.textStyle.color"
|
|
||||||
size="small"
|
|
||||||
></n-color-picker>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="大小">
|
<setting-item name="大小">
|
||||||
<n-input-number
|
<n-input-number v-model:value="title.textStyle.fontSize" :min="1" size="small"></n-input-number>
|
||||||
v-model:value="title.textStyle.fontSize"
|
|
||||||
:min="1"
|
|
||||||
size="small"
|
|
||||||
></n-input-number>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
</setting-item-box>
|
</setting-item-box>
|
||||||
<setting-item-box name="副标题">
|
<setting-item-box name="副标题">
|
||||||
<setting-item name="颜色">
|
<setting-item name="颜色">
|
||||||
<n-color-picker
|
<n-color-picker size="small" v-model:value="title.subtextStyle.color"></n-color-picker>
|
||||||
size="small"
|
|
||||||
v-model:value="title.subtextStyle.color"
|
|
||||||
></n-color-picker>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="大小">
|
<setting-item name="大小">
|
||||||
<n-input-number
|
<n-input-number v-model:value="title.subtextStyle.fontSize" :min="1" size="small"></n-input-number>
|
||||||
v-model:value="title.subtextStyle.fontSize"
|
|
||||||
:min="1"
|
|
||||||
size="small"
|
|
||||||
></n-input-number>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
</setting-item-box>
|
</setting-item-box>
|
||||||
</collapse-item>
|
</collapse-item>
|
||||||
|
|
||||||
<collapse-item v-if="xAxis" name="X轴">
|
<collapse-item v-if="xAxis" name="X轴">
|
||||||
<template #header>
|
<template #header>
|
||||||
<n-switch
|
<n-switch v-model:value="xAxis.show" size="small"></n-switch>
|
||||||
v-show="inChart"
|
|
||||||
v-model:value="xAxis.show"
|
|
||||||
size="small"
|
|
||||||
></n-switch>
|
|
||||||
</template>
|
</template>
|
||||||
<setting-item-box name="单位">
|
<setting-item-box name="单位">
|
||||||
<setting-item name="名称">
|
<setting-item name="名称">
|
||||||
<n-input v-model:value="xAxis.name" size="small"></n-input>
|
<n-input v-model:value="xAxis.name" size="small"></n-input>
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="颜色">
|
<setting-item name="颜色">
|
||||||
<n-color-picker
|
<n-color-picker size="small" v-model:value="xAxis.nameTextStyle.color"></n-color-picker>
|
||||||
size="small"
|
|
||||||
v-model:value="xAxis.nameTextStyle.color"
|
|
||||||
></n-color-picker>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="大小">
|
<setting-item name="大小">
|
||||||
<n-input-number
|
<n-input-number v-model:value="xAxis.nameTextStyle.fontSize" :min="12" size="small"></n-input-number>
|
||||||
v-model:value="xAxis.nameTextStyle.fontSize"
|
|
||||||
:min="12"
|
|
||||||
size="small"
|
|
||||||
></n-input-number>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="偏移量">
|
<setting-item name="偏移量">
|
||||||
<n-input-number
|
<n-input-number v-model:value="xAxis.nameGap" :min="5" size="small"></n-input-number>
|
||||||
v-model:value="xAxis.nameGap"
|
|
||||||
:min="5"
|
|
||||||
size="small"
|
|
||||||
></n-input-number>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
</setting-item-box>
|
</setting-item-box>
|
||||||
<setting-item-box name="标签">
|
<setting-item-box name="标签">
|
||||||
<setting-item v-show="inChart" name="展示">
|
<setting-item name="展示">
|
||||||
<n-space>
|
<n-space>
|
||||||
<n-switch
|
<n-switch v-model:value="xAxis.axisLabel.show" size="small"></n-switch>
|
||||||
v-model:value="xAxis.axisLabel.show"
|
|
||||||
size="small"
|
|
||||||
></n-switch>
|
|
||||||
</n-space>
|
</n-space>
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="颜色">
|
<setting-item name="颜色">
|
||||||
<n-color-picker
|
<n-color-picker size="small" v-model:value="xAxis.axisLabel.color"></n-color-picker>
|
||||||
size="small"
|
|
||||||
v-model:value="xAxis.axisLabel.color"
|
|
||||||
></n-color-picker>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="大小">
|
<setting-item name="大小">
|
||||||
<n-input-number
|
<n-input-number v-model:value="xAxis.axisLabel.fontSize" :min="8" size="small"></n-input-number>
|
||||||
v-model:value="xAxis.axisLabel.fontSize"
|
|
||||||
:min="8"
|
|
||||||
size="small"
|
|
||||||
></n-input-number>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
</setting-item-box>
|
</setting-item-box>
|
||||||
<setting-item-box name="轴线">
|
<setting-item-box name="轴线">
|
||||||
|
<setting-item name="展示">
|
||||||
|
<n-space>
|
||||||
|
<n-switch v-model:value="xAxis.axisLine.show" size="small"></n-switch>
|
||||||
|
</n-space>
|
||||||
|
</setting-item>
|
||||||
<setting-item name="颜色">
|
<setting-item name="颜色">
|
||||||
<n-color-picker
|
<n-color-picker v-model:value="xAxis.axisLine.lineStyle.color" size="small"></n-color-picker>
|
||||||
v-model:value="xAxis.axisLine.lineStyle.color"
|
|
||||||
size="small"
|
|
||||||
></n-color-picker>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="粗细">
|
<setting-item name="粗细">
|
||||||
<n-input-number
|
<n-input-number v-model:value="xAxis.axisLine.lineStyle.width" :min="1" size="small"></n-input-number>
|
||||||
v-model:value="xAxis.axisLine.lineStyle.width"
|
</setting-item>
|
||||||
:min="1"
|
<setting-item name="位置">
|
||||||
size="small"
|
<n-select v-model:value="xAxis.position" size="small" :options="axisConfig.xposition"></n-select>
|
||||||
></n-input-number>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="对齐零">
|
<setting-item name="对齐零">
|
||||||
<n-space>
|
<n-space>
|
||||||
<n-switch
|
<n-switch v-model:value="xAxis.axisLine.onZero" size="small"></n-switch>
|
||||||
v-model:value="xAxis.axisLine.onZero"
|
|
||||||
size="small"
|
|
||||||
></n-switch>
|
|
||||||
</n-space>
|
</n-space>
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item v-show="inChart" name="反向">
|
<setting-item name="反向">
|
||||||
<n-space>
|
<n-space>
|
||||||
<n-switch v-model:value="xAxis.inverse" size="small"></n-switch>
|
<n-switch v-model:value="xAxis.inverse" size="small"></n-switch>
|
||||||
</n-space>
|
</n-space>
|
||||||
</setting-item>
|
</setting-item>
|
||||||
</setting-item-box>
|
</setting-item-box>
|
||||||
<setting-item-box name="刻度">
|
<setting-item-box name="刻度">
|
||||||
<setting-item v-show="inChart" name="展示">
|
<setting-item name="展示">
|
||||||
<n-space>
|
<n-space>
|
||||||
<n-switch v-model:value="xAxis.axisTick.show" size="small"></n-switch>
|
<n-switch v-model:value="xAxis.axisTick.show" size="small"></n-switch>
|
||||||
</n-space>
|
</n-space>
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="长度">
|
<setting-item name="长度">
|
||||||
<n-input-number
|
<n-input-number v-model:value="xAxis.axisTick.length" :min="1" size="small"></n-input-number>
|
||||||
v-model:value="xAxis.axisTick.length"
|
|
||||||
:min="1"
|
|
||||||
size="small"
|
|
||||||
></n-input-number>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
</setting-item-box>
|
</setting-item-box>
|
||||||
<setting-item-box name="分割线">
|
<setting-item-box name="分割线">
|
||||||
<setting-item v-show="inChart" name="展示">
|
<setting-item name="展示">
|
||||||
<n-space>
|
<n-space>
|
||||||
<n-switch
|
<n-switch v-model:value="xAxis.splitLine.show" size="small"></n-switch>
|
||||||
v-model:value="xAxis.splitLine.show"
|
|
||||||
size="small"
|
|
||||||
></n-switch>
|
|
||||||
</n-space>
|
</n-space>
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="颜色">
|
<setting-item name="颜色">
|
||||||
<n-color-picker
|
<n-color-picker v-model:value="xAxis.splitLine.lineStyle.color" size="small"></n-color-picker>
|
||||||
v-model:value="xAxis.splitLine.lineStyle.color"
|
|
||||||
size="small"
|
|
||||||
></n-color-picker>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="粗细">
|
<setting-item name="粗细">
|
||||||
<n-input-number
|
<n-input-number v-model:value="xAxis.splitLine.lineStyle.width" :min="1" size="small"></n-input-number>
|
||||||
v-model:value="xAxis.splitLine.lineStyle.width"
|
|
||||||
:min="1"
|
|
||||||
size="small"
|
|
||||||
></n-input-number>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="类型">
|
<setting-item name="类型">
|
||||||
<n-select
|
<n-select
|
||||||
@ -166,140 +107,87 @@
|
|||||||
:options="axisConfig.splitLint.lineStyle.type"
|
:options="axisConfig.splitLint.lineStyle.type"
|
||||||
></n-select>
|
></n-select>
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="位置">
|
|
||||||
<n-select
|
|
||||||
v-model:value="xAxis.position"
|
|
||||||
size="small"
|
|
||||||
:options="axisConfig.xposition"
|
|
||||||
></n-select>
|
|
||||||
</setting-item>
|
|
||||||
</setting-item-box>
|
</setting-item-box>
|
||||||
</collapse-item>
|
</collapse-item>
|
||||||
|
|
||||||
<collapse-item v-if="yAxis" name="Y轴">
|
<collapse-item v-if="yAxis" name="Y轴">
|
||||||
<template #header>
|
<template #header>
|
||||||
<n-switch
|
<n-switch v-model:value="yAxis.show" size="small"></n-switch>
|
||||||
v-show="inChart"
|
|
||||||
v-model:value="yAxis.show"
|
|
||||||
size="small"
|
|
||||||
></n-switch>
|
|
||||||
</template>
|
</template>
|
||||||
<setting-item-box name="单位">
|
<setting-item-box name="单位">
|
||||||
<setting-item name="名称">
|
<setting-item name="名称">
|
||||||
<n-input v-model:value="yAxis.name" size="small"></n-input>
|
<n-input v-model:value="yAxis.name" size="small"></n-input>
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="颜色">
|
<setting-item name="颜色">
|
||||||
<n-color-picker
|
<n-color-picker size="small" v-model:value="yAxis.nameTextStyle.color"></n-color-picker>
|
||||||
size="small"
|
|
||||||
v-model:value="yAxis.nameTextStyle.color"
|
|
||||||
></n-color-picker>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="大小">
|
<setting-item name="大小">
|
||||||
<n-input-number
|
<n-input-number v-model:value="yAxis.nameTextStyle.fontSize" :min="8" size="small"></n-input-number>
|
||||||
v-model:value="yAxis.nameTextStyle.fontSize"
|
|
||||||
:min="8"
|
|
||||||
size="small"
|
|
||||||
></n-input-number>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="偏移量">
|
<setting-item name="偏移量">
|
||||||
<n-input-number
|
<n-input-number v-model:value="yAxis.nameGap" :min="5" size="small"></n-input-number>
|
||||||
v-model:value="yAxis.nameGap"
|
|
||||||
:min="5"
|
|
||||||
size="small"
|
|
||||||
></n-input-number>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
</setting-item-box>
|
</setting-item-box>
|
||||||
<setting-item-box name="标签">
|
<setting-item-box name="标签">
|
||||||
<setting-item v-show="inChart" name="展示">
|
<setting-item name="展示">
|
||||||
<n-space>
|
<n-space>
|
||||||
<n-switch
|
<n-switch v-model:value="yAxis.axisLabel.show" size="small"></n-switch>
|
||||||
v-model:value="yAxis.axisLabel.show"
|
|
||||||
size="small"
|
|
||||||
></n-switch>
|
|
||||||
</n-space>
|
</n-space>
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="颜色">
|
<setting-item name="颜色">
|
||||||
<n-color-picker
|
<n-color-picker size="small" v-model:value="yAxis.axisLabel.color"></n-color-picker>
|
||||||
size="small"
|
|
||||||
v-model:value="yAxis.axisLabel.color"
|
|
||||||
></n-color-picker>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="大小">
|
<setting-item name="大小">
|
||||||
<n-input-number
|
<n-input-number v-model:value="yAxis.axisLabel.fontSize" :min="8" size="small"></n-input-number>
|
||||||
v-model:value="yAxis.axisLabel.fontSize"
|
|
||||||
:min="8"
|
|
||||||
size="small"
|
|
||||||
></n-input-number>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
</setting-item-box>
|
</setting-item-box>
|
||||||
<setting-item-box name="轴线">
|
<setting-item-box name="轴线">
|
||||||
<setting-item v-show="inChart" name="展示">
|
<setting-item name="展示">
|
||||||
<n-space>
|
<n-space>
|
||||||
<n-switch v-model:value="yAxis.axisLine.show" size="small"></n-switch>
|
<n-switch v-model:value="yAxis.axisLine.show" size="small"></n-switch>
|
||||||
</n-space>
|
</n-space>
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="颜色">
|
<setting-item name="颜色">
|
||||||
<n-color-picker
|
<n-color-picker v-model:value="yAxis.axisLine.lineStyle.color" size="small"></n-color-picker>
|
||||||
v-model:value="yAxis.axisLine.lineStyle.color"
|
|
||||||
size="small"
|
|
||||||
></n-color-picker>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="粗细">
|
<setting-item name="粗细">
|
||||||
<n-input-number
|
<n-input-number v-model:value="yAxis.axisLine.lineStyle.width" :min="1" size="small"></n-input-number>
|
||||||
v-model:value="yAxis.axisLine.lineStyle.width"
|
</setting-item>
|
||||||
:min="1"
|
<setting-item name="位置">
|
||||||
size="small"
|
<n-select v-model:value="yAxis.position" size="small" :options="axisConfig.yposition"></n-select>
|
||||||
></n-input-number>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="对齐零">
|
<setting-item name="对齐零">
|
||||||
<n-space>
|
<n-space>
|
||||||
<n-switch
|
<n-switch v-model:value="yAxis.axisLine.onZero" size="small"></n-switch>
|
||||||
v-model:value="yAxis.axisLine.onZero"
|
|
||||||
size="small"
|
|
||||||
></n-switch>
|
|
||||||
</n-space>
|
</n-space>
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item v-show="inChart" name="反向">
|
<setting-item name="反向">
|
||||||
<n-space>
|
<n-space>
|
||||||
<n-switch v-model:value="yAxis.inverse" size="small"></n-switch>
|
<n-switch v-model:value="yAxis.inverse" size="small"></n-switch>
|
||||||
</n-space>
|
</n-space>
|
||||||
</setting-item>
|
</setting-item>
|
||||||
</setting-item-box>
|
</setting-item-box>
|
||||||
<setting-item-box name="刻度">
|
<setting-item-box name="刻度">
|
||||||
<setting-item v-show="inChart" name="展示">
|
<setting-item name="展示">
|
||||||
<n-space>
|
<n-space>
|
||||||
<n-switch v-model:value="yAxis.axisTick.show" size="small"></n-switch>
|
<n-switch v-model:value="yAxis.axisTick.show" size="small"></n-switch>
|
||||||
</n-space>
|
</n-space>
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="长度">
|
<setting-item name="长度">
|
||||||
<n-input-number
|
<n-input-number v-model:value="yAxis.axisTick.length" :min="1" size="small"></n-input-number>
|
||||||
v-model:value="yAxis.axisTick.length"
|
|
||||||
:min="1"
|
|
||||||
size="small"
|
|
||||||
></n-input-number>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
</setting-item-box>
|
</setting-item-box>
|
||||||
<setting-item-box name="分割线">
|
<setting-item-box name="分割线">
|
||||||
<setting-item v-show="inChart" name="展示">
|
<setting-item name="展示">
|
||||||
<n-space>
|
<n-space>
|
||||||
<n-switch
|
<n-switch v-model:value="yAxis.splitLine.show" size="small"></n-switch>
|
||||||
v-model:value="yAxis.splitLine.show"
|
|
||||||
size="small"
|
|
||||||
></n-switch>
|
|
||||||
</n-space>
|
</n-space>
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="颜色">
|
<setting-item name="颜色">
|
||||||
<n-color-picker
|
<n-color-picker v-model:value="yAxis.splitLine.lineStyle.color" size="small"></n-color-picker>
|
||||||
v-model:value="yAxis.splitLine.lineStyle.color"
|
|
||||||
size="small"
|
|
||||||
></n-color-picker>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="粗细">
|
<setting-item name="粗细">
|
||||||
<n-input-number
|
<n-input-number v-model:value="yAxis.splitLine.lineStyle.width" :min="1" size="small"></n-input-number>
|
||||||
v-model:value="yAxis.splitLine.lineStyle.width"
|
|
||||||
:min="1"
|
|
||||||
size="small"
|
|
||||||
></n-input-number>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="类型">
|
<setting-item name="类型">
|
||||||
<n-select
|
<n-select
|
||||||
@ -308,44 +196,78 @@
|
|||||||
:options="axisConfig.splitLint.lineStyle.type"
|
:options="axisConfig.splitLint.lineStyle.type"
|
||||||
></n-select>
|
></n-select>
|
||||||
</setting-item>
|
</setting-item>
|
||||||
<setting-item name="位置">
|
|
||||||
<n-select
|
|
||||||
v-model:value="yAxis.position"
|
|
||||||
size="small"
|
|
||||||
:options="axisConfig.yposition"
|
|
||||||
></n-select>
|
|
||||||
</setting-item>
|
|
||||||
</setting-item-box>
|
</setting-item-box>
|
||||||
</collapse-item>
|
</collapse-item>
|
||||||
|
|
||||||
<collapse-item v-if="legend" name="图例">
|
<collapse-item v-if="legend" name="图例">
|
||||||
<template #header>
|
<template #header>
|
||||||
<n-switch
|
<n-switch v-model:value="legend.show" size="small"></n-switch>
|
||||||
v-show="inChart"
|
|
||||||
v-model:value="legend.show"
|
|
||||||
size="small"
|
|
||||||
></n-switch>
|
|
||||||
</template>
|
</template>
|
||||||
<setting-item-box name="图例文字">
|
<setting-item-box name="图例文字">
|
||||||
<setting-item>
|
<setting-item>
|
||||||
<n-color-picker
|
<n-color-picker size="small" v-model:value="legend.textStyle.color"></n-color-picker>
|
||||||
size="small"
|
|
||||||
v-model:value="legend.textStyle.color"
|
|
||||||
></n-color-picker>
|
|
||||||
</setting-item>
|
</setting-item>
|
||||||
</setting-item-box>
|
</setting-item-box>
|
||||||
</collapse-item>
|
</collapse-item>
|
||||||
|
|
||||||
|
<collapse-item v-if="visualMap" name="视觉映射">
|
||||||
|
<template #header>
|
||||||
|
<n-switch v-model:value="visualMap.show" size="small"></n-switch>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<setting-item-box name="范围">
|
||||||
|
<setting-item name="最小值">
|
||||||
|
<n-input-number v-model:value="visualMap.min" size="small"></n-input-number>
|
||||||
|
</setting-item>
|
||||||
|
<setting-item name="最大值">
|
||||||
|
<n-input-number v-model:value="visualMap.max" size="small"></n-input-number>
|
||||||
|
</setting-item>
|
||||||
|
</setting-item-box>
|
||||||
|
|
||||||
|
<setting-item-box name="颜色">
|
||||||
|
<setting-item :name="`层级-${index + 1}`" v-for="(item, index) in visualMap.inRange.color" :key="index">
|
||||||
|
<n-color-picker v-model:value="visualMap.inRange.color[index]" size="small"></n-color-picker>
|
||||||
|
</setting-item>
|
||||||
|
</setting-item-box>
|
||||||
|
|
||||||
|
<setting-item-box name="视觉映射">
|
||||||
|
<setting-item name="放置方向">
|
||||||
|
<n-select v-model:value="visualMap.orient" size="small" :options="axisConfig.visualMap.orient"></n-select>
|
||||||
|
</setting-item>
|
||||||
|
<setting-item name="宽度">
|
||||||
|
<n-input-number v-model:value="visualMap.temWidth" size="small"></n-input-number>
|
||||||
|
</setting-item>
|
||||||
|
<setting-item name="高度">
|
||||||
|
<n-input-number v-model:value="visualMap.itemHeight" size="small"></n-input-number>
|
||||||
|
</setting-item>
|
||||||
|
<setting-item name="反转">
|
||||||
|
<n-space>
|
||||||
|
<n-switch v-model:value="visualMap.inverse" size="small"></n-switch>
|
||||||
|
</n-space>
|
||||||
|
</setting-item>
|
||||||
|
<setting-item name="拖拽组件实时更新">
|
||||||
|
<n-space>
|
||||||
|
<n-switch v-model:value="visualMap.realtime" size="small"></n-switch>
|
||||||
|
</n-space>
|
||||||
|
</setting-item>
|
||||||
|
</setting-item-box>
|
||||||
|
<global-setting-position :targetData="visualMap"></global-setting-position>
|
||||||
|
<!-- <setting-item-box name="位置">
|
||||||
|
<setting-item name="距离底部">
|
||||||
|
<n-input-number v-model:value="visualMap.bottom" size="small"></n-input-number>
|
||||||
|
</setting-item>
|
||||||
|
<setting-item name="距离左侧">
|
||||||
|
<n-input-number v-model:value="visualMap.left" size="small"></n-input-number>
|
||||||
|
</setting-item>
|
||||||
|
</setting-item-box> -->
|
||||||
|
</collapse-item>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { PropType, computed } from 'vue'
|
import { PropType, computed } from 'vue'
|
||||||
import { GlobalThemeJsonType } from '@/settings/chartThemes/index'
|
import { GlobalThemeJsonType } from '@/settings/chartThemes/index'
|
||||||
import { axisConfig } from '@/packages/chartConfiguration/echarts/index'
|
import { axisConfig } from '@/packages/chartConfiguration/echarts/index'
|
||||||
import {
|
import { CollapseItem, SettingItemBox, SettingItem, GlobalSettingPosition } from '@/components/Pages/ChartItemSetting'
|
||||||
CollapseItem,
|
|
||||||
SettingItemBox,
|
|
||||||
SettingItem
|
|
||||||
} from '@/components/Pages/ChartItemSetting'
|
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
optionData: {
|
optionData: {
|
||||||
@ -374,4 +296,8 @@ const yAxis = computed(() => {
|
|||||||
const legend = computed(() => {
|
const legend = computed(() => {
|
||||||
return props.optionData.legend
|
return props.optionData.legend
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const visualMap = computed(() => {
|
||||||
|
return props.optionData.visualMap
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
@ -0,0 +1,29 @@
|
|||||||
|
<template>
|
||||||
|
<setting-item-box name="位置">
|
||||||
|
<setting-item :name="`偏移 X:${targetData.left || 0}px`">
|
||||||
|
<n-input-number v-model:value="targetData.left" size="small" step="10"></n-input-number>
|
||||||
|
</setting-item>
|
||||||
|
<setting-item :name="`偏移 Y:${targetData.top || 0}px`">
|
||||||
|
<n-input-number v-model:value="targetData.top" size="small" step="10"></n-input-number>
|
||||||
|
</setting-item>
|
||||||
|
</setting-item-box>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { PropType, reactive } from 'vue'
|
||||||
|
import { CollapseItem, SettingItemBox, SettingItem } from '@/components/Pages/ChartItemSetting'
|
||||||
|
|
||||||
|
type positionType = {
|
||||||
|
top?: number | string | null
|
||||||
|
left?: number | string | null
|
||||||
|
right?: number | string | null
|
||||||
|
bottom?: number | string | null
|
||||||
|
}
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
targetData: {
|
||||||
|
type: Object as PropType<positionType>,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
@ -5,6 +5,9 @@ import CollapseItem from './CollapseItem.vue'
|
|||||||
|
|
||||||
// 全局配置属性
|
// 全局配置属性
|
||||||
import GlobalSetting from './GlobalSetting.vue'
|
import GlobalSetting from './GlobalSetting.vue'
|
||||||
|
// 全局配置属性-位置
|
||||||
|
import GlobalSettingPosition from './GlobalSettingPosition.vue'
|
||||||
|
|
||||||
// 名称
|
// 名称
|
||||||
import NameSetting from './NameSetting.vue'
|
import NameSetting from './NameSetting.vue'
|
||||||
// 方向
|
// 方向
|
||||||
@ -14,4 +17,4 @@ import SizeSetting from './SizeSetting.vue'
|
|||||||
// 样式
|
// 样式
|
||||||
import StylesSetting from './StylesSetting.vue'
|
import StylesSetting from './StylesSetting.vue'
|
||||||
|
|
||||||
export { CollapseItem, SettingItemBox, SettingItem, GlobalSetting, NameSetting, PositionSetting, SizeSetting, StylesSetting }
|
export { CollapseItem, SettingItemBox, SettingItem, GlobalSetting, GlobalSettingPosition, NameSetting, PositionSetting, SizeSetting, StylesSetting }
|
||||||
|
@ -1,40 +1,56 @@
|
|||||||
export const axisConfig = {
|
export const axisConfig = {
|
||||||
|
// X轴位置
|
||||||
xposition: [
|
xposition: [
|
||||||
{
|
{
|
||||||
label: 'top',
|
label: '顶部',
|
||||||
value: 'top'
|
value: 'top'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'bottom',
|
label: '底部',
|
||||||
value: 'bottom'
|
value: 'bottom'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
// Y轴位置
|
||||||
yposition: [
|
yposition: [
|
||||||
{
|
{
|
||||||
label: 'left',
|
label: '左侧',
|
||||||
value: 'left'
|
value: 'left'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'right',
|
label: '右侧',
|
||||||
value: 'right'
|
value: 'right'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
// 线条
|
||||||
splitLint: {
|
splitLint: {
|
||||||
lineStyle: {
|
lineStyle: {
|
||||||
type: [
|
type: [
|
||||||
{
|
{
|
||||||
label: 'solid',
|
label: '实线',
|
||||||
value: 'solid'
|
value: 'solid'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'dashed',
|
label: '虚线',
|
||||||
value: 'dashed'
|
value: 'dashed'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'dotted',
|
label: '点线',
|
||||||
value: 'dotted'
|
value: 'dotted'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 视觉映射
|
||||||
|
visualMap: {
|
||||||
|
orient: [
|
||||||
|
{
|
||||||
|
label: '竖直',
|
||||||
|
value: 'vertical'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '水平',
|
||||||
|
value: 'horizontal'
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<!-- Echarts 全局设置 -->
|
||||||
|
<global-setting :optionData="optionData"></global-setting>
|
||||||
<CollapseItem
|
<CollapseItem
|
||||||
v-for="(item, index) in seriesList"
|
v-for="(item, index) in seriesList"
|
||||||
:key="index"
|
:key="index"
|
||||||
@ -36,8 +38,6 @@
|
|||||||
</SettingItem>
|
</SettingItem>
|
||||||
</SettingItemBox>
|
</SettingItemBox>
|
||||||
</CollapseItem>
|
</CollapseItem>
|
||||||
<!-- Echarts 全局设置 -->
|
|
||||||
<global-setting :optionData="optionData" :in-chart="true"></global-setting>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<!-- Echarts 全局设置 -->
|
||||||
|
<global-setting :optionData="optionData"></global-setting>
|
||||||
<CollapseItem v-for="(item, index) in seriesList" :key="index" :name="`柱状图-${index+1}`" :expanded="true">
|
<CollapseItem v-for="(item, index) in seriesList" :key="index" :name="`柱状图-${index+1}`" :expanded="true">
|
||||||
<SettingItemBox name="图形">
|
<SettingItemBox name="图形">
|
||||||
<SettingItem name="颜色">
|
<SettingItem name="颜色">
|
||||||
@ -25,8 +27,6 @@
|
|||||||
</SettingItem>
|
</SettingItem>
|
||||||
</SettingItemBox>
|
</SettingItemBox>
|
||||||
</CollapseItem>
|
</CollapseItem>
|
||||||
<!-- Echarts 全局设置 -->
|
|
||||||
<global-setting :optionData="optionData" :in-chart="true"></global-setting>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<!-- Echarts 全局设置 -->
|
||||||
|
<global-setting :optionData="optionData"></global-setting>
|
||||||
<CollapseItem
|
<CollapseItem
|
||||||
v-for="(item, index) in seriesList"
|
v-for="(item, index) in seriesList"
|
||||||
:key="index"
|
:key="index"
|
||||||
@ -24,8 +26,6 @@
|
|||||||
</SettingItem>
|
</SettingItem>
|
||||||
</SettingItemBox>
|
</SettingItemBox>
|
||||||
</CollapseItem>
|
</CollapseItem>
|
||||||
<!-- Echarts 全局设置 -->
|
|
||||||
<global-setting :optionData="optionData" :in-chart="true"></global-setting>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<!-- Echarts 全局设置 -->
|
||||||
|
<global-setting :optionData="optionData"></global-setting>
|
||||||
<CollapseItem
|
<CollapseItem
|
||||||
v-for="(item, index) in seriesList"
|
v-for="(item, index) in seriesList"
|
||||||
:key="index"
|
:key="index"
|
||||||
@ -24,8 +26,6 @@
|
|||||||
</SettingItem>
|
</SettingItem>
|
||||||
</SettingItemBox>
|
</SettingItemBox>
|
||||||
</CollapseItem>
|
</CollapseItem>
|
||||||
<!-- Echarts 全局设置 -->
|
|
||||||
<global-setting :optionData="optionData" :in-chart="true"></global-setting>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
@ -53,9 +53,8 @@ const option = {
|
|||||||
type: 'line',
|
type: 'line',
|
||||||
smooth: false,
|
smooth: false,
|
||||||
lineStyle: {
|
lineStyle: {
|
||||||
normal: {
|
width: 3,
|
||||||
width: 3
|
type: 'solid'
|
||||||
}
|
|
||||||
},
|
},
|
||||||
areaStyle: {
|
areaStyle: {
|
||||||
opacity: 0.8,
|
opacity: 0.8,
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<!-- Echarts 全局设置 -->
|
||||||
|
<global-setting :optionData="optionData"></global-setting>
|
||||||
<CollapseItem
|
<CollapseItem
|
||||||
v-for="(item, index) in seriesList"
|
v-for="(item, index) in seriesList"
|
||||||
:key="index"
|
:key="index"
|
||||||
@ -24,8 +26,6 @@
|
|||||||
</SettingItem>
|
</SettingItem>
|
||||||
</SettingItemBox>
|
</SettingItemBox>
|
||||||
</CollapseItem>
|
</CollapseItem>
|
||||||
<!-- Echarts 全局设置 -->
|
|
||||||
<global-setting :optionData="optionData" :in-chart="true"></global-setting>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import image from '@/assets/images/chart/charts/line_gradient2.png'
|
import image from '@/assets/images/chart/charts/line_gradient.png'
|
||||||
import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d'
|
import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d'
|
||||||
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
|
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
|
||||||
|
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<!-- Echarts 全局设置 -->
|
||||||
|
<global-setting :optionData="optionData"></global-setting>
|
||||||
<CollapseItem
|
<CollapseItem
|
||||||
v-for="(item, index) in seriesList"
|
v-for="(item, index) in seriesList"
|
||||||
:key="index"
|
:key="index"
|
||||||
@ -58,8 +60,6 @@
|
|||||||
</SettingItem>
|
</SettingItem>
|
||||||
</SettingItemBox>
|
</SettingItemBox>
|
||||||
</CollapseItem>
|
</CollapseItem>
|
||||||
<!-- Echarts 全局设置 -->
|
|
||||||
<global-setting :optionData="optionData" :in-chart="true"></global-setting>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
@ -1,65 +1,63 @@
|
|||||||
<template>
|
<template>
|
||||||
<!-- Echarts 全局设置 -->
|
<!-- Echarts 全局设置 -->
|
||||||
<div>
|
<global-setting :optionData="optionData"></global-setting>
|
||||||
<global-setting :optionData="optionData" :in-chart="true"></global-setting>
|
<CollapseItem name="地图" :expanded="true">
|
||||||
<CollapseItem name="地图" :expanded="true">
|
<SettingItemBox name="省份" :alone="true">
|
||||||
<SettingItemBox name="省份" :alone="true">
|
<SettingItem name="背景颜色">
|
||||||
<SettingItem name="背景颜色">
|
<n-color-picker
|
||||||
<n-color-picker
|
size="small"
|
||||||
size="small"
|
:modes="['hex']"
|
||||||
:modes="['hex']"
|
v-model:value="seriesList[1].itemStyle.areaColor"
|
||||||
v-model:value="seriesList[1].itemStyle.areaColor"
|
></n-color-picker>
|
||||||
></n-color-picker>
|
</SettingItem>
|
||||||
</SettingItem>
|
<SettingItem name="聚焦颜色(预览可见)">
|
||||||
<SettingItem name="聚焦颜色(预览可见)">
|
<n-color-picker
|
||||||
<n-color-picker
|
size="small"
|
||||||
size="small"
|
:modes="['hex']"
|
||||||
:modes="['hex']"
|
v-model:value="seriesList[1].itemStyle.emphasis.areaColor"
|
||||||
v-model:value="seriesList[1].itemStyle.emphasis.areaColor"
|
></n-color-picker>
|
||||||
></n-color-picker>
|
</SettingItem>
|
||||||
</SettingItem>
|
<SettingItem name="聚焦阴影(预览可见)">
|
||||||
<SettingItem name="聚焦阴影(预览可见)">
|
<n-color-picker
|
||||||
<n-color-picker
|
size="small"
|
||||||
size="small"
|
:modes="['hex']"
|
||||||
:modes="['hex']"
|
v-model:value="seriesList[1].itemStyle.emphasis.shadowColor"
|
||||||
v-model:value="seriesList[1].itemStyle.emphasis.shadowColor"
|
></n-color-picker>
|
||||||
></n-color-picker>
|
</SettingItem>
|
||||||
</SettingItem>
|
</SettingItemBox>
|
||||||
</SettingItemBox>
|
<SettingItemBox name="边框">
|
||||||
<SettingItemBox name="边框">
|
<SettingItem name="颜色">
|
||||||
<SettingItem name="颜色">
|
<n-color-picker
|
||||||
<n-color-picker
|
size="small"
|
||||||
size="small"
|
:modes="['hex']"
|
||||||
:modes="['hex']"
|
v-model:value="seriesList[1].itemStyle.borderColor"
|
||||||
v-model:value="seriesList[1].itemStyle.borderColor"
|
></n-color-picker>
|
||||||
></n-color-picker>
|
</SettingItem>
|
||||||
</SettingItem>
|
<SettingItem name="大小">
|
||||||
<SettingItem name="大小">
|
<n-input-number
|
||||||
<n-input-number
|
v-model:value="seriesList[1].itemStyle.borderWidth"
|
||||||
v-model:value="seriesList[1].itemStyle.borderWidth"
|
:min="1"
|
||||||
:min="1"
|
size="small"
|
||||||
size="small"
|
placeholder="请输入边框大小"
|
||||||
placeholder="请输入边框大小"
|
></n-input-number>
|
||||||
></n-input-number>
|
</SettingItem>
|
||||||
</SettingItem>
|
</SettingItemBox>
|
||||||
</SettingItemBox>
|
<SettingItemBox name="其他">
|
||||||
<SettingItemBox name="其他">
|
<SettingItem>
|
||||||
<SettingItem>
|
<n-checkbox v-model:checked="seriesList[1].itemStyle.showHainanIsLands" size="small">显示南海群岛</n-checkbox>
|
||||||
<n-checkbox v-model:checked="seriesList[1].itemStyle.showHainanIsLands" size="small">显示南海群岛</n-checkbox>
|
</SettingItem>
|
||||||
</SettingItem>
|
</SettingItemBox>
|
||||||
</SettingItemBox>
|
</CollapseItem>
|
||||||
</CollapseItem>
|
<CollapseItem name="标记" :expanded="true">
|
||||||
<CollapseItem name="标记" :expanded="true">
|
<SettingItemBox name="样式">
|
||||||
<SettingItemBox name="样式">
|
<SettingItem name="大小">
|
||||||
<SettingItem name="大小">
|
<n-input-number v-model:value="seriesList[0].symbolSize" size="small" :min="0"></n-input-number>
|
||||||
<n-input-number v-model:value="seriesList[0].symbolSize" size="small" :min="0"></n-input-number>
|
</SettingItem>
|
||||||
</SettingItem>
|
<SettingItem name="颜色">
|
||||||
<SettingItem name="颜色">
|
<n-color-picker size="small" :modes="['hex']" v-model:value="seriesList[0].itemStyle.color"></n-color-picker>
|
||||||
<n-color-picker size="small" :modes="['hex']" v-model:value="seriesList[0].itemStyle.color"></n-color-picker>
|
</SettingItem>
|
||||||
</SettingItem>
|
</SettingItemBox>
|
||||||
</SettingItemBox>
|
</CollapseItem>
|
||||||
</CollapseItem>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<!-- Echarts 全局设置 -->
|
<!-- Echarts 全局设置 -->
|
||||||
<global-setting :optionData="optionData" :in-chart="true"> </global-setting>
|
<global-setting :optionData="optionData"> </global-setting>
|
||||||
<!-- 漏斗图 -->
|
<!-- 漏斗图 -->
|
||||||
<collapse-item v-for="(item, index) in seriesList" :key="index" :name="`漏斗图`" expanded>
|
<collapse-item v-for="(item, index) in seriesList" :key="index" :name="`漏斗图`" expanded>
|
||||||
<setting-item-box name="排序" alone>
|
<setting-item-box name="排序" alone>
|
||||||
|
61
src/packages/components/Charts/Mores/Heatmap/config.ts
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
import { echartOptionProfixHandle, PublicConfigClass } from '@/packages/public'
|
||||||
|
import { HeatmapConfig } from './index'
|
||||||
|
import { CreateComponentType } from '@/packages/index.d'
|
||||||
|
import { cloneDeep } from 'lodash'
|
||||||
|
import dataJson from './data.json'
|
||||||
|
|
||||||
|
export const includes = ['xAxis', 'yAxis']
|
||||||
|
|
||||||
|
export const option = {
|
||||||
|
dataset: { ...dataJson },
|
||||||
|
tooltip: {
|
||||||
|
position: 'top'
|
||||||
|
},
|
||||||
|
xAxis: {
|
||||||
|
data: dataJson.xAxis
|
||||||
|
},
|
||||||
|
yAxis: {
|
||||||
|
data: dataJson.yAxis
|
||||||
|
},
|
||||||
|
visualMap: {
|
||||||
|
show: true,
|
||||||
|
min: 0,
|
||||||
|
max: 10,
|
||||||
|
itemWidth: 20,
|
||||||
|
itemHeight: 140,
|
||||||
|
calculable: true,
|
||||||
|
orient: 'horizontal',
|
||||||
|
inRange: {
|
||||||
|
// 高 -> 低
|
||||||
|
color: ['#4661c2', '#263253']
|
||||||
|
}
|
||||||
|
},
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
name: '',
|
||||||
|
type: 'heatmap',
|
||||||
|
data: dataJson.seriesData,
|
||||||
|
label: {
|
||||||
|
show: true
|
||||||
|
},
|
||||||
|
emphasis: {
|
||||||
|
itemStyle: {
|
||||||
|
borderColor: '#333',
|
||||||
|
borderWidth: 1,
|
||||||
|
shadowBlur: 10,
|
||||||
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
progressive: 1000,
|
||||||
|
animation: false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
export default class Config extends PublicConfigClass implements CreateComponentType {
|
||||||
|
public key: string = HeatmapConfig.key
|
||||||
|
public chartConfig = cloneDeep(HeatmapConfig)
|
||||||
|
|
||||||
|
// 图表配置项
|
||||||
|
public option = echartOptionProfixHandle(option, includes)
|
||||||
|
}
|
@ -1,6 +1,24 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<div>
|
||||||
|
<global-setting :optionData="optionData"></global-setting>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { PropType, computed } from 'vue'
|
||||||
|
import { GlobalSetting } from '@/components/Pages/ChartItemSetting'
|
||||||
|
import { option } from './config'
|
||||||
|
import { GlobalThemeJsonType } from '@/settings/chartThemes/index'
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
optionData: {
|
||||||
|
type: Object as PropType<typeof option & GlobalThemeJsonType>,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
const heatMapConfig = computed<typeof option>(() => {
|
||||||
|
return props.optionData
|
||||||
|
})
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
199
src/packages/components/Charts/Mores/Heatmap/data.json
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
{
|
||||||
|
"xAxis": [
|
||||||
|
"12a",
|
||||||
|
"1a",
|
||||||
|
"2a",
|
||||||
|
"3a",
|
||||||
|
"4a",
|
||||||
|
"5a",
|
||||||
|
"6a",
|
||||||
|
"7a",
|
||||||
|
"8a",
|
||||||
|
"9a",
|
||||||
|
"10a",
|
||||||
|
"11a",
|
||||||
|
"12p",
|
||||||
|
"1p",
|
||||||
|
"2p",
|
||||||
|
"3p",
|
||||||
|
"4p",
|
||||||
|
"5p",
|
||||||
|
"6p",
|
||||||
|
"7p",
|
||||||
|
"8p",
|
||||||
|
"9p",
|
||||||
|
"10p",
|
||||||
|
"11p"
|
||||||
|
],
|
||||||
|
"yAxis": ["Saturday", "Friday", "Thursday", "Wednesday", "Tuesday", "Monday", "Sunday"],
|
||||||
|
"seriesData": [
|
||||||
|
[0, 0, 5],
|
||||||
|
[1, 0, 1],
|
||||||
|
[2, 0, "-"],
|
||||||
|
[3, 0, "-"],
|
||||||
|
[4, 0, "-"],
|
||||||
|
[5, 0, "-"],
|
||||||
|
[6, 0, "-"],
|
||||||
|
[7, 0, "-"],
|
||||||
|
[8, 0, "-"],
|
||||||
|
[9, 0, "-"],
|
||||||
|
[10, 0, "-"],
|
||||||
|
[11, 0, 2],
|
||||||
|
[12, 0, 4],
|
||||||
|
[13, 0, 1],
|
||||||
|
[14, 0, 1],
|
||||||
|
[15, 0, 3],
|
||||||
|
[16, 0, 4],
|
||||||
|
[17, 0, 6],
|
||||||
|
[18, 0, 4],
|
||||||
|
[19, 0, 4],
|
||||||
|
[20, 0, 3],
|
||||||
|
[21, 0, 3],
|
||||||
|
[22, 0, 2],
|
||||||
|
[23, 0, 5],
|
||||||
|
[0, 1, 7],
|
||||||
|
[1, 1, "-"],
|
||||||
|
[2, 1, "-"],
|
||||||
|
[3, 1, "-"],
|
||||||
|
[4, 1, "-"],
|
||||||
|
[5, 1, "-"],
|
||||||
|
[6, 1, "-"],
|
||||||
|
[7, 1, "-"],
|
||||||
|
[8, 1, "-"],
|
||||||
|
[9, 1, "-"],
|
||||||
|
[10, 1, 5],
|
||||||
|
[11, 1, 2],
|
||||||
|
[12, 1, 2],
|
||||||
|
[13, 1, 6],
|
||||||
|
[14, 1, 9],
|
||||||
|
[15, 1, 11],
|
||||||
|
[16, 1, 6],
|
||||||
|
[17, 1, 7],
|
||||||
|
[18, 1, 8],
|
||||||
|
[19, 1, 12],
|
||||||
|
[20, 1, 5],
|
||||||
|
[21, 1, 5],
|
||||||
|
[22, 1, 7],
|
||||||
|
[23, 1, 2],
|
||||||
|
[0, 2, 1],
|
||||||
|
[1, 2, 1],
|
||||||
|
[2, 2, "-"],
|
||||||
|
[3, 2, "-"],
|
||||||
|
[4, 2, "-"],
|
||||||
|
[5, 2, "-"],
|
||||||
|
[6, 2, "-"],
|
||||||
|
[7, 2, "-"],
|
||||||
|
[8, 2, "-"],
|
||||||
|
[9, 2, "-"],
|
||||||
|
[10, 2, 3],
|
||||||
|
[11, 2, 2],
|
||||||
|
[12, 2, 1],
|
||||||
|
[13, 2, 9],
|
||||||
|
[14, 2, 8],
|
||||||
|
[15, 2, 10],
|
||||||
|
[16, 2, 6],
|
||||||
|
[17, 2, 5],
|
||||||
|
[18, 2, 5],
|
||||||
|
[19, 2, 5],
|
||||||
|
[20, 2, 7],
|
||||||
|
[21, 2, 4],
|
||||||
|
[22, 2, 2],
|
||||||
|
[23, 2, 4],
|
||||||
|
[0, 3, 7],
|
||||||
|
[1, 3, 3],
|
||||||
|
[2, 3, "-"],
|
||||||
|
[3, 3, "-"],
|
||||||
|
[4, 3, "-"],
|
||||||
|
[5, 3, "-"],
|
||||||
|
[6, 3, "-"],
|
||||||
|
[7, 3, "-"],
|
||||||
|
[8, 3, 1],
|
||||||
|
[9, 3, "-"],
|
||||||
|
[10, 3, 5],
|
||||||
|
[11, 3, 4],
|
||||||
|
[12, 3, 7],
|
||||||
|
[13, 3, 14],
|
||||||
|
[14, 3, 13],
|
||||||
|
[15, 3, 12],
|
||||||
|
[16, 3, 9],
|
||||||
|
[17, 3, 5],
|
||||||
|
[18, 3, 5],
|
||||||
|
[19, 3, 10],
|
||||||
|
[20, 3, 6],
|
||||||
|
[21, 3, 4],
|
||||||
|
[22, 3, 4],
|
||||||
|
[23, 3, 1],
|
||||||
|
[0, 4, 1],
|
||||||
|
[1, 4, 3],
|
||||||
|
[2, 4, "-"],
|
||||||
|
[3, 4, "-"],
|
||||||
|
[4, 4, "-"],
|
||||||
|
[5, 4, 1],
|
||||||
|
[6, 4, "-"],
|
||||||
|
[7, 4, "-"],
|
||||||
|
[8, 4, "-"],
|
||||||
|
[9, 4, 2],
|
||||||
|
[10, 4, 4],
|
||||||
|
[11, 4, 4],
|
||||||
|
[12, 4, 2],
|
||||||
|
[13, 4, 4],
|
||||||
|
[14, 4, 4],
|
||||||
|
[15, 4, 14],
|
||||||
|
[16, 4, 12],
|
||||||
|
[17, 4, 1],
|
||||||
|
[18, 4, 8],
|
||||||
|
[19, 4, 5],
|
||||||
|
[20, 4, 3],
|
||||||
|
[21, 4, 7],
|
||||||
|
[22, 4, 3],
|
||||||
|
[23, 4, "-"],
|
||||||
|
[0, 5, 2],
|
||||||
|
[1, 5, 1],
|
||||||
|
[2, 5, "-"],
|
||||||
|
[3, 5, 3],
|
||||||
|
[4, 5, "-"],
|
||||||
|
[5, 5, "-"],
|
||||||
|
[6, 5, "-"],
|
||||||
|
[7, 5, "-"],
|
||||||
|
[8, 5, 2],
|
||||||
|
[9, 5, "-"],
|
||||||
|
[10, 5, 4],
|
||||||
|
[11, 5, 1],
|
||||||
|
[12, 5, 5],
|
||||||
|
[13, 5, 10],
|
||||||
|
[14, 5, 5],
|
||||||
|
[15, 5, 7],
|
||||||
|
[16, 5, 11],
|
||||||
|
[17, 5, 6],
|
||||||
|
[18, 5, "-"],
|
||||||
|
[19, 5, 5],
|
||||||
|
[20, 5, 3],
|
||||||
|
[21, 5, 4],
|
||||||
|
[22, 5, 2],
|
||||||
|
[23, 5, "-"],
|
||||||
|
[0, 6, 1],
|
||||||
|
[1, 6, "-"],
|
||||||
|
[2, 6, "-"],
|
||||||
|
[3, 6, "-"],
|
||||||
|
[4, 6, "-"],
|
||||||
|
[5, 6, "-"],
|
||||||
|
[6, 6, "-"],
|
||||||
|
[7, 6, "-"],
|
||||||
|
[8, 6, "-"],
|
||||||
|
[9, 6, "-"],
|
||||||
|
[10, 6, 1],
|
||||||
|
[11, 6, "-"],
|
||||||
|
[12, 6, 2],
|
||||||
|
[13, 6, 1],
|
||||||
|
[14, 6, 3],
|
||||||
|
[15, 6, 4],
|
||||||
|
[16, 6, "-"],
|
||||||
|
[17, 6, "-"],
|
||||||
|
[18, 6, "-"],
|
||||||
|
[19, 6, "-"],
|
||||||
|
[20, 6, 1],
|
||||||
|
[21, 6, 2],
|
||||||
|
[22, 6, 2],
|
||||||
|
[23, 6, 6]
|
||||||
|
]
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
import image from '@/assets/images/chart/charts/heatmap.png'
|
import image from '@/assets/images/chart/charts/heatmap.png'
|
||||||
import { ConfigType, PackagesCategoryEnum } from '@/packages/index.d'
|
import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d'
|
||||||
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
|
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
|
||||||
|
|
||||||
export const HeatmapConfig: ConfigType = {
|
export const HeatmapConfig: ConfigType = {
|
||||||
@ -10,5 +10,6 @@ export const HeatmapConfig: ConfigType = {
|
|||||||
category: ChatCategoryEnum.MORE,
|
category: ChatCategoryEnum.MORE,
|
||||||
categoryName: ChatCategoryEnumName.MORE,
|
categoryName: ChatCategoryEnumName.MORE,
|
||||||
package: PackagesCategoryEnum.CHARTS,
|
package: PackagesCategoryEnum.CHARTS,
|
||||||
|
chartFrame: ChartFrameEnum.COMMON,
|
||||||
image
|
image
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,88 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<v-chart ref="vChartRef" :theme="themeColor" :option="option" :manual-update="isPreview()" autoresize></v-chart>
|
||||||
水波
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { ref, watch, computed, PropType } from 'vue'
|
||||||
|
import VChart from 'vue-echarts'
|
||||||
|
import dataJson from './data.json'
|
||||||
|
import { use } from 'echarts/core'
|
||||||
|
import { CanvasRenderer } from 'echarts/renderers'
|
||||||
|
import { HeatmapChart } from 'echarts/charts'
|
||||||
|
import { includes } from './config'
|
||||||
|
import { mergeTheme } from '@/packages/public/chart'
|
||||||
|
import { useChartDataFetch } from '@/hooks'
|
||||||
|
import { CreateComponentType } from '@/packages/index.d'
|
||||||
|
import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
|
||||||
|
import { isPreview } from '@/utils'
|
||||||
|
import {
|
||||||
|
DatasetComponent,
|
||||||
|
GridComponent,
|
||||||
|
TooltipComponent,
|
||||||
|
LegendComponent,
|
||||||
|
VisualMapComponent
|
||||||
|
} from 'echarts/components'
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
themeSetting: {
|
||||||
|
type: Object,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
themeColor: {
|
||||||
|
type: Object,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
chartConfig: {
|
||||||
|
type: Object as PropType<CreateComponentType>,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
use([
|
||||||
|
DatasetComponent,
|
||||||
|
CanvasRenderer,
|
||||||
|
HeatmapChart,
|
||||||
|
GridComponent,
|
||||||
|
TooltipComponent,
|
||||||
|
LegendComponent,
|
||||||
|
VisualMapComponent
|
||||||
|
])
|
||||||
|
|
||||||
|
const option = computed(() => {
|
||||||
|
return mergeTheme(props.chartConfig.option, props.themeSetting, includes)
|
||||||
|
})
|
||||||
|
|
||||||
|
const vChartRef = ref<typeof VChart>()
|
||||||
|
|
||||||
|
const dataSetHandle = (dataset: typeof dataJson) => {
|
||||||
|
const { seriesData, xAxis, yAxis } = dataset
|
||||||
|
if (xAxis) {
|
||||||
|
// @ts-ignore
|
||||||
|
props.chartConfig.option.xAxis.data = xAxis
|
||||||
|
}
|
||||||
|
if (yAxis) {
|
||||||
|
// @ts-ignore
|
||||||
|
props.chartConfig.option.yAxis.data = yAxis
|
||||||
|
}
|
||||||
|
if (seriesData) {
|
||||||
|
props.chartConfig.option.series[0].data = seriesData
|
||||||
|
}
|
||||||
|
if (vChartRef.value && isPreview()) {
|
||||||
|
vChartRef.value.setOption(props.chartConfig.option)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => props.chartConfig.option.dataset,
|
||||||
|
newData => {
|
||||||
|
dataSetHandle(newData)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
deep: false
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
useChartDataFetch(props.chartConfig, useChartEditStore, (newData: typeof dataJson) => {
|
||||||
|
dataSetHandle(newData)
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
|
|
||||||
</style>
|
|
@ -1,6 +0,0 @@
|
|||||||
<template>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup lang="ts">
|
|
||||||
|
|
||||||
</script>
|
|
@ -1,14 +0,0 @@
|
|||||||
import image from '@/assets/images/chart/charts/Point.png'
|
|
||||||
import { ConfigType, PackagesCategoryEnum } from '@/packages/index.d'
|
|
||||||
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
|
|
||||||
|
|
||||||
export const PointConfig: ConfigType = {
|
|
||||||
key: 'Point',
|
|
||||||
chartKey: 'VPoint',
|
|
||||||
conKey: 'VCPoint',
|
|
||||||
title: '热力图',
|
|
||||||
category: ChatCategoryEnum.MORE,
|
|
||||||
categoryName: ChatCategoryEnumName.MORE,
|
|
||||||
package: PackagesCategoryEnum.CHARTS,
|
|
||||||
image
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div>
|
|
||||||
水波
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup lang="ts">
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
|
|
||||||
</style>
|
|
@ -1,8 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<!-- Echarts 全局设置 -->
|
<!-- Echarts 全局设置 -->
|
||||||
<global-setting :optionData="optionData" :in-chart="true"></global-setting>
|
<global-setting :optionData="optionData"></global-setting>
|
||||||
|
|
||||||
<CollapseItem name="雷达" :expanded="true">
|
<CollapseItem name="雷达" :expanded="true">
|
||||||
<SettingItemBox name="样式">
|
<SettingItemBox name="样式">
|
||||||
<SettingItem>
|
<SettingItem>
|
||||||
@ -12,10 +11,15 @@
|
|||||||
<n-checkbox v-model:checked="radarConfig.splitLine.show">分割线</n-checkbox>
|
<n-checkbox v-model:checked="radarConfig.splitLine.show">分割线</n-checkbox>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem name="雷达形状">
|
<SettingItem name="雷达形状">
|
||||||
<n-select v-model:value="radarConfig.shape" size="small" :options="RadarShapeEnumList" placeholder="选择形状" />
|
<n-select
|
||||||
|
v-model:value="radarConfig.shape"
|
||||||
|
size="small"
|
||||||
|
:options="RadarShapeEnumList"
|
||||||
|
placeholder="选择形状"
|
||||||
|
/>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
</SettingItemBox>
|
</SettingItemBox>
|
||||||
|
|
||||||
<SettingItemBox name="坐标轴">
|
<SettingItemBox name="坐标轴">
|
||||||
<SettingItem>
|
<SettingItem>
|
||||||
<n-checkbox v-model:checked="radarConfig.axisLine.show">轴线</n-checkbox>
|
<n-checkbox v-model:checked="radarConfig.axisLine.show">轴线</n-checkbox>
|
||||||
@ -45,7 +49,7 @@
|
|||||||
></n-slider>
|
></n-slider>
|
||||||
</setting-item>
|
</setting-item>
|
||||||
</SettingItemBox>
|
</SettingItemBox>
|
||||||
|
|
||||||
<SettingItemBox name="偏移">
|
<SettingItemBox name="偏移">
|
||||||
<setting-item :name="`X 轴值:${radarProp.center[0]}%`">
|
<setting-item :name="`X 轴值:${radarProp.center[0]}%`">
|
||||||
<n-slider
|
<n-slider
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, computed, PropType, watch } from 'vue'
|
import { ref, computed, PropType, watch } from 'vue'
|
||||||
import VChart from 'vue-echarts'
|
import VChart from 'vue-echarts'
|
||||||
|
import dataJson from './data.json'
|
||||||
import { use } from 'echarts/core'
|
import { use } from 'echarts/core'
|
||||||
import { CanvasRenderer } from 'echarts/renderers'
|
import { CanvasRenderer } from 'echarts/renderers'
|
||||||
import { RadarChart } from 'echarts/charts'
|
import { RadarChart } from 'echarts/charts'
|
||||||
@ -39,7 +40,7 @@ const option = computed(() => {
|
|||||||
return mergeTheme(props.chartConfig.option, props.themeSetting, includes)
|
return mergeTheme(props.chartConfig.option, props.themeSetting, includes)
|
||||||
})
|
})
|
||||||
|
|
||||||
const dataSetHandle = (dataset: any) => {
|
const dataSetHandle = (dataset: typeof dataJson) => {
|
||||||
if (dataset.seriesData) {
|
if (dataset.seriesData) {
|
||||||
props.chartConfig.option.series[0].data = dataset.seriesData
|
props.chartConfig.option.series[0].data = dataset.seriesData
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
@ -63,7 +64,7 @@ watch(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => {
|
useChartDataFetch(props.chartConfig, useChartEditStore, (newData: typeof dataJson) => {
|
||||||
dataSetHandle(newData)
|
dataSetHandle(newData)
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
@ -2,8 +2,7 @@ import { ProcessConfig } from './Process/index'
|
|||||||
import { RadarConfig } from './Radar/index'
|
import { RadarConfig } from './Radar/index'
|
||||||
import { FunnelConfig } from './Funnel/index'
|
import { FunnelConfig } from './Funnel/index'
|
||||||
import { HeatmapConfig } from './Heatmap/index'
|
import { HeatmapConfig } from './Heatmap/index'
|
||||||
import { PointConfig } from './Point/index'
|
|
||||||
import { WaterPoloConfig } from './WaterPolo/index'
|
import { WaterPoloConfig } from './WaterPolo/index'
|
||||||
import { TreeMapConfig } from './TreeMap/index'
|
import { TreeMapConfig } from './TreeMap/index'
|
||||||
|
|
||||||
export default [ProcessConfig, RadarConfig, FunnelConfig, HeatmapConfig, PointConfig, WaterPoloConfig, TreeMapConfig]
|
export default [ProcessConfig, RadarConfig, FunnelConfig, HeatmapConfig, WaterPoloConfig, TreeMapConfig]
|
||||||
|
@ -10,14 +10,17 @@
|
|||||||
<!-- Echarts 全局设置 -->
|
<!-- Echarts 全局设置 -->
|
||||||
<SettingItemBox name="进度条">
|
<SettingItemBox name="进度条">
|
||||||
<SettingItem name="颜色">
|
<SettingItem name="颜色">
|
||||||
<n-color-picker
|
<n-color-picker size="small" :modes="['hex']" v-model:value="item.data[0].itemStyle.color"></n-color-picker>
|
||||||
size="small"
|
|
||||||
:modes="['hex']"
|
|
||||||
v-model:value="item.data[0].itemStyle.color"
|
|
||||||
></n-color-picker>
|
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem name="阴影模糊等级">
|
<SettingItem name="阴影模糊等级">
|
||||||
<n-input-number v-model:value="item.data[0].itemStyle.shadowBlur" :min="0" :max="50" :step="1" size="small" placeholder="阴影模糊等级">
|
<n-input-number
|
||||||
|
v-model:value="item.data[0].itemStyle.shadowBlur"
|
||||||
|
:min="0"
|
||||||
|
:max="50"
|
||||||
|
:step="1"
|
||||||
|
size="small"
|
||||||
|
placeholder="阴影模糊等级"
|
||||||
|
>
|
||||||
</n-input-number>
|
</n-input-number>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem name="阴影颜色">
|
<SettingItem name="阴影颜色">
|
||||||
@ -31,28 +34,32 @@
|
|||||||
<!-- 中心标题 -->
|
<!-- 中心标题 -->
|
||||||
<SettingItemBox v-if="config.title" name="标题">
|
<SettingItemBox v-if="config.title" name="标题">
|
||||||
<SettingItem name="颜色">
|
<SettingItem name="颜色">
|
||||||
<n-color-picker
|
<n-color-picker size="small" :modes="['hex']" v-model:value="config.title.textStyle.color"></n-color-picker>
|
||||||
size="small"
|
|
||||||
:modes="['hex']"
|
|
||||||
v-model:value="config.title.textStyle.color"
|
|
||||||
></n-color-picker>
|
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem name="字体大小">
|
<SettingItem name="字体大小">
|
||||||
<n-input-number v-model:value="config.title.textStyle.fontSize" :min="0" :step="1" size="small" placeholder="字体大小">
|
<n-input-number
|
||||||
|
v-model:value="config.title.textStyle.fontSize"
|
||||||
|
:min="0"
|
||||||
|
:step="1"
|
||||||
|
size="small"
|
||||||
|
placeholder="字体大小"
|
||||||
|
>
|
||||||
</n-input-number>
|
</n-input-number>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
</SettingItemBox>
|
</SettingItemBox>
|
||||||
<!-- 其他样式 -->
|
<!-- 其他样式 -->
|
||||||
<SettingItemBox name="轨道样式">
|
<SettingItemBox name="轨道样式">
|
||||||
<SettingItem name="颜色">
|
<SettingItem name="颜色">
|
||||||
<n-color-picker
|
<n-color-picker size="small" :modes="['hex']" v-model:value="item.data[1].itemStyle.color"></n-color-picker>
|
||||||
size="small"
|
|
||||||
:modes="['hex']"
|
|
||||||
v-model:value="item.data[1].itemStyle.color"
|
|
||||||
></n-color-picker>
|
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem name="阴影模糊等级">
|
<SettingItem name="阴影模糊等级">
|
||||||
<n-input-number v-model:value="item.data[1].itemStyle.shadowBlur" :min="0" :step="1" size="small" placeholder="阴影模糊等级">
|
<n-input-number
|
||||||
|
v-model:value="item.data[1].itemStyle.shadowBlur"
|
||||||
|
:min="0"
|
||||||
|
:step="1"
|
||||||
|
size="small"
|
||||||
|
placeholder="阴影模糊等级"
|
||||||
|
>
|
||||||
</n-input-number>
|
</n-input-number>
|
||||||
</SettingItem>
|
</SettingItem>
|
||||||
<SettingItem name="阴影颜色">
|
<SettingItem name="阴影颜色">
|
||||||
@ -69,11 +76,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { PropType, computed } from 'vue'
|
import { PropType, computed } from 'vue'
|
||||||
// 以下是封装的设置模块布局组件,具体效果可在官网查看
|
// 以下是封装的设置模块布局组件,具体效果可在官网查看
|
||||||
import {
|
import { CollapseItem, SettingItemBox, SettingItem } from '@/components/Pages/ChartItemSetting'
|
||||||
CollapseItem,
|
|
||||||
SettingItemBox,
|
|
||||||
SettingItem
|
|
||||||
} from '@/components/Pages/ChartItemSetting'
|
|
||||||
import { GlobalThemeJsonType } from '@/settings/chartThemes'
|
import { GlobalThemeJsonType } from '@/settings/chartThemes'
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<!-- Echarts 全局设置 -->
|
<!-- Echarts 全局设置 -->
|
||||||
<global-setting :optionData="optionData" :in-chart="true"></global-setting>
|
<global-setting :optionData="optionData"></global-setting>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
@ -0,0 +1,81 @@
|
|||||||
|
import { echartOptionProfixHandle, PublicConfigClass } from '@/packages/public'
|
||||||
|
import { ScatterCommonConfig } from './index'
|
||||||
|
import { CreateComponentType } from '@/packages/index.d'
|
||||||
|
import cloneDeep from 'lodash/cloneDeep'
|
||||||
|
import dataJson from './data.json'
|
||||||
|
|
||||||
|
export const includes = ['legend', 'xAxis', 'yAxis']
|
||||||
|
|
||||||
|
export const seriesItem = {
|
||||||
|
type: 'scatter',
|
||||||
|
emphasis: {
|
||||||
|
focus: 'series'
|
||||||
|
},
|
||||||
|
symbolSize: 12,
|
||||||
|
markArea: {
|
||||||
|
silent: true,
|
||||||
|
itemStyle: {
|
||||||
|
color: 'transparent',
|
||||||
|
borderWidth: 1,
|
||||||
|
borderType: 'dashed'
|
||||||
|
},
|
||||||
|
data: [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
xAxis: 'min',
|
||||||
|
yAxis: 'min'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
xAxis: 'max',
|
||||||
|
yAxis: 'max'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
markPoint: {
|
||||||
|
symbol: 'pin',
|
||||||
|
symbolSize: 50,
|
||||||
|
data: [
|
||||||
|
{ type: 'max', name: 'Max' },
|
||||||
|
{ type: 'min', name: 'Min' }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const option = {
|
||||||
|
dataset: dataJson,
|
||||||
|
tooltip: {
|
||||||
|
showDelay: 0,
|
||||||
|
formatter: (params: { value: string | any[]; seriesName: string; name: string }) => {
|
||||||
|
// console.log(params)
|
||||||
|
return params.value.length > 1
|
||||||
|
? `${params.seriesName}:<br />${params.value[0]} ${params.value[1]}`
|
||||||
|
: `${params.seriesName}:<br />${params.name} ${params.value}`
|
||||||
|
},
|
||||||
|
axisPointer: {
|
||||||
|
show: true,
|
||||||
|
type: 'cross',
|
||||||
|
lineStyle: {
|
||||||
|
type: 'dashed',
|
||||||
|
width: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
xAxis: {
|
||||||
|
scale: true
|
||||||
|
},
|
||||||
|
yAxis: {
|
||||||
|
scale: true
|
||||||
|
},
|
||||||
|
series: dataJson.map((item, index) => ({
|
||||||
|
...seriesItem,
|
||||||
|
datasetIndex: index
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
|
||||||
|
export default class Config extends PublicConfigClass implements CreateComponentType {
|
||||||
|
public key = ScatterCommonConfig.key
|
||||||
|
public chartConfig = cloneDeep(ScatterCommonConfig)
|
||||||
|
// 图表配置项
|
||||||
|
public option = echartOptionProfixHandle(option, includes)
|
||||||
|
}
|
@ -0,0 +1,55 @@
|
|||||||
|
<template>
|
||||||
|
<!-- Echarts 全局设置 -->
|
||||||
|
<global-setting :optionData="optionData" :in-chart="true"></global-setting>
|
||||||
|
|
||||||
|
<CollapseItem :name="`散点-${index + 1}`" expanded v-for="(item, index) in optionData.series" :key="index">
|
||||||
|
<SettingItemBox name="样式">
|
||||||
|
<SettingItem name="类型">
|
||||||
|
<n-select v-model:value="item.type" size="small" :options="ScatterEffectTypeEnumList" placeholder="选择" />
|
||||||
|
</SettingItem>
|
||||||
|
<SettingItem name="大小">
|
||||||
|
<n-input-number v-model:value="item.symbolSize" size="small" :min="1"></n-input-number>
|
||||||
|
</SettingItem>
|
||||||
|
</SettingItemBox>
|
||||||
|
|
||||||
|
<SettingItemBox name="标域">
|
||||||
|
<SettingItem name="粗细(0不显示)">
|
||||||
|
<n-input-number v-model:value="item.markArea.itemStyle.borderWidth" size="small" :min="0"></n-input-number>
|
||||||
|
</SettingItem>
|
||||||
|
<SettingItem name="符号">
|
||||||
|
<n-select
|
||||||
|
v-model:value="item.markArea.itemStyle.borderType"
|
||||||
|
size="small"
|
||||||
|
:options="axisConfig.splitLint.lineStyle.type"
|
||||||
|
placeholder="选择"
|
||||||
|
/>
|
||||||
|
</SettingItem>
|
||||||
|
</SettingItemBox>
|
||||||
|
|
||||||
|
<SettingItemBox name="标点">
|
||||||
|
<SettingItem name="形状">
|
||||||
|
<n-select v-model:value="item.markPoint.symbol" size="small" :options="SymbolEnumList" placeholder="选择" />
|
||||||
|
</SettingItem>
|
||||||
|
<SettingItem name="大小">
|
||||||
|
<n-input-number v-model:value="item.markPoint.symbolSize" size="small" :min="0"></n-input-number>
|
||||||
|
</SettingItem>
|
||||||
|
</SettingItemBox>
|
||||||
|
</CollapseItem>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { PropType } from 'vue'
|
||||||
|
import { GlobalThemeJsonType } from '@/settings/chartThemes/index'
|
||||||
|
import { GlobalSetting, CollapseItem, SettingItemBox, SettingItem } from '@/components/Pages/ChartItemSetting'
|
||||||
|
import { option } from './config'
|
||||||
|
import { ScatterEffectTypeEnumList, SymbolEnumList } from '../shard'
|
||||||
|
import { axisConfig } from '@/packages/chartConfiguration/echarts/index'
|
||||||
|
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const props = defineProps({
|
||||||
|
optionData: {
|
||||||
|
type: Object as PropType<GlobalThemeJsonType & typeof option>,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
110
src/packages/components/Charts/Scatters/ScatterCommon/data.json
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"dimensions": ["data1"],
|
||||||
|
"source": [
|
||||||
|
[161.2, 51.6],
|
||||||
|
[167.5, 59.0],
|
||||||
|
[159.5, 49.2],
|
||||||
|
[157.0, 63.0],
|
||||||
|
[155.8, 53.6],
|
||||||
|
[170.0, 59.0],
|
||||||
|
[159.1, 47.6],
|
||||||
|
[166.0, 69.8],
|
||||||
|
[176.2, 66.8],
|
||||||
|
[160.2, 75.2],
|
||||||
|
[172.5, 55.2],
|
||||||
|
[170.9, 54.2],
|
||||||
|
[172.9, 62.5],
|
||||||
|
[153.4, 42.0],
|
||||||
|
[160.0, 50.0],
|
||||||
|
[147.2, 49.8],
|
||||||
|
[168.2, 49.2],
|
||||||
|
[175.0, 73.2],
|
||||||
|
[157.0, 47.8],
|
||||||
|
[170.2, 72.8],
|
||||||
|
[174.0, 54.5],
|
||||||
|
[173.0, 59.8],
|
||||||
|
[179.9, 67.3],
|
||||||
|
[170.5, 67.8],
|
||||||
|
[160.0, 47.0],
|
||||||
|
[154.4, 46.2],
|
||||||
|
[162.0, 55.0],
|
||||||
|
[176.5, 83.0],
|
||||||
|
[160.0, 54.4],
|
||||||
|
[152.0, 45.8],
|
||||||
|
[162.1, 53.6],
|
||||||
|
[170.0, 73.2],
|
||||||
|
[160.2, 52.1],
|
||||||
|
[161.3, 67.9],
|
||||||
|
[166.4, 56.6],
|
||||||
|
[168.9, 62.3],
|
||||||
|
[163.8, 58.5],
|
||||||
|
[167.6, 54.5],
|
||||||
|
[160.0, 50.2],
|
||||||
|
[161.3, 60.3],
|
||||||
|
[167.6, 58.3],
|
||||||
|
[165.1, 56.2],
|
||||||
|
[160.0, 50.2],
|
||||||
|
[170.0, 72.9],
|
||||||
|
[157.5, 59.8],
|
||||||
|
[167.6, 61.0],
|
||||||
|
[160.7, 69.1],
|
||||||
|
[163.2, 55.9],
|
||||||
|
[152.4, 46.5],
|
||||||
|
[157.5, 54.3],
|
||||||
|
[168.3, 54.8],
|
||||||
|
[180.3, 60.7],
|
||||||
|
[165.5, 60.0],
|
||||||
|
[165.0, 62.0],
|
||||||
|
[164.5, 60.3],
|
||||||
|
[156.0, 52.7],
|
||||||
|
[160.0, 74.3]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dimensions": ["data2"],
|
||||||
|
"source": [
|
||||||
|
[174.0, 65.6],
|
||||||
|
[175.3, 71.8],
|
||||||
|
[193.5, 80.7],
|
||||||
|
[186.5, 72.6],
|
||||||
|
[187.2, 78.8],
|
||||||
|
[181.5, 74.8],
|
||||||
|
[184.0, 86.4],
|
||||||
|
[184.5, 78.4],
|
||||||
|
[175.0, 62.0],
|
||||||
|
[184.0, 81.6],
|
||||||
|
[180.0, 76.6],
|
||||||
|
[177.8, 83.6],
|
||||||
|
[192.0, 90.0],
|
||||||
|
[176.0, 74.6],
|
||||||
|
[174.0, 71.0],
|
||||||
|
[184.0, 79.6],
|
||||||
|
[192.7, 93.8],
|
||||||
|
[142.7, 93.8],
|
||||||
|
[152.7, 93.8],
|
||||||
|
[170.0, 61.3],
|
||||||
|
[177.8, 68.6],
|
||||||
|
[184.2, 80.1],
|
||||||
|
[186.7, 87.8],
|
||||||
|
[171.4, 84.7],
|
||||||
|
[172.7, 73.4],
|
||||||
|
[175.3, 72.1],
|
||||||
|
[180.3, 82.6],
|
||||||
|
[182.9, 88.7],
|
||||||
|
[188.0, 84.1],
|
||||||
|
[177.2, 94.1],
|
||||||
|
[172.1, 74.9],
|
||||||
|
[167.0, 59.1],
|
||||||
|
[169.5, 75.6],
|
||||||
|
[174.0, 86.2],
|
||||||
|
[172.7, 75.3],
|
||||||
|
[182.2, 87.1],
|
||||||
|
[164.1, 55.2],
|
||||||
|
[163.0, 57.0],
|
||||||
|
[171.5, 61.4],
|
||||||
|
[184.2, 76.8],
|
||||||
|
[174.0, 86.8]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
@ -0,0 +1,15 @@
|
|||||||
|
import image from '@/assets/images/chart/charts/scatter-multi.png'
|
||||||
|
import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d'
|
||||||
|
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
|
||||||
|
|
||||||
|
export const ScatterCommonConfig: ConfigType = {
|
||||||
|
key: 'ScatterCommon',
|
||||||
|
chartKey: 'VScatterCommon',
|
||||||
|
conKey: 'VCScatterCommon',
|
||||||
|
title: '散点图',
|
||||||
|
category: ChatCategoryEnum.SCATTER,
|
||||||
|
categoryName: ChatCategoryEnumName.SCATTER,
|
||||||
|
package: PackagesCategoryEnum.CHARTS,
|
||||||
|
chartFrame: ChartFrameEnum.ECHARTS,
|
||||||
|
image
|
||||||
|
}
|
@ -0,0 +1,90 @@
|
|||||||
|
<template>
|
||||||
|
<v-chart
|
||||||
|
ref="vChartRef"
|
||||||
|
:theme="themeColor"
|
||||||
|
:option="option"
|
||||||
|
:manual-update="isPreview()"
|
||||||
|
:update-options="{ replaceMerge: replaceMergeArr }"
|
||||||
|
autoresize
|
||||||
|
>
|
||||||
|
</v-chart>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { PropType, computed, watch, ref, nextTick } from 'vue'
|
||||||
|
import VChart from 'vue-echarts'
|
||||||
|
import { use } from 'echarts/core'
|
||||||
|
import { CanvasRenderer } from 'echarts/renderers'
|
||||||
|
import { ScatterChart, EffectScatterChart } from 'echarts/charts'
|
||||||
|
import config, { includes, seriesItem } from './config'
|
||||||
|
import { mergeTheme } from '@/packages/public/chart'
|
||||||
|
import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
|
||||||
|
import { useChartDataFetch } from '@/hooks'
|
||||||
|
import { isPreview } from '@/utils'
|
||||||
|
import {
|
||||||
|
DatasetComponent,
|
||||||
|
GridComponent,
|
||||||
|
TooltipComponent,
|
||||||
|
LegendComponent,
|
||||||
|
MarkLineComponent,
|
||||||
|
MarkAreaComponent,
|
||||||
|
MarkPointComponent
|
||||||
|
} from 'echarts/components'
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
themeSetting: {
|
||||||
|
type: Object,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
themeColor: {
|
||||||
|
type: Object,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
chartConfig: {
|
||||||
|
type: Object as PropType<config>,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
use([
|
||||||
|
DatasetComponent,
|
||||||
|
CanvasRenderer,
|
||||||
|
ScatterChart,
|
||||||
|
EffectScatterChart,
|
||||||
|
GridComponent,
|
||||||
|
TooltipComponent,
|
||||||
|
LegendComponent,
|
||||||
|
MarkLineComponent,
|
||||||
|
MarkAreaComponent,
|
||||||
|
MarkPointComponent
|
||||||
|
])
|
||||||
|
|
||||||
|
const replaceMergeArr = ref<string[]>()
|
||||||
|
|
||||||
|
const option = computed(() => {
|
||||||
|
return mergeTheme(props.chartConfig.option, props.themeSetting, includes)
|
||||||
|
})
|
||||||
|
|
||||||
|
// dataset 无法变更条数的补丁
|
||||||
|
watch(
|
||||||
|
() => props.chartConfig.option.dataset,
|
||||||
|
(newData, oldData) => {
|
||||||
|
if (newData?.length !== oldData?.length) {
|
||||||
|
replaceMergeArr.value = ['series']
|
||||||
|
// eslint-disable-next-line vue/no-mutating-props
|
||||||
|
props.chartConfig.option.series = newData.map((item: { dimensions: any[] }, index: number) => ({
|
||||||
|
...seriesItem,
|
||||||
|
datasetIndex: index
|
||||||
|
}))
|
||||||
|
nextTick(() => {
|
||||||
|
replaceMergeArr.value = []
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
deep: false
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore)
|
||||||
|
</script>
|
@ -0,0 +1,93 @@
|
|||||||
|
import { echartOptionProfixHandle, PublicConfigClass } from '@/packages/public'
|
||||||
|
import { ScatterLogarithmicRegressionConfig } from './index'
|
||||||
|
import { CreateComponentType } from '@/packages/index.d'
|
||||||
|
import cloneDeep from 'lodash/cloneDeep'
|
||||||
|
import dataJson from './data.json'
|
||||||
|
|
||||||
|
export const includes = ['legend', 'xAxis', 'yAxis']
|
||||||
|
|
||||||
|
export const option = {
|
||||||
|
dataset: dataJson,
|
||||||
|
|
||||||
|
tooltip: {
|
||||||
|
showDelay: 0,
|
||||||
|
formatter: (params: { value: string | any[]; seriesName: string; name: string }) => {
|
||||||
|
// console.log(params)
|
||||||
|
return params.value.length > 1
|
||||||
|
? `${params.seriesName}:<br />${params.value[0]} ${params.value[1]}`
|
||||||
|
: `${params.seriesName}:<br />${params.name} ${params.value}`
|
||||||
|
},
|
||||||
|
axisPointer: {
|
||||||
|
show: true,
|
||||||
|
type: 'cross',
|
||||||
|
lineStyle: {
|
||||||
|
type: 'dashed',
|
||||||
|
width: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
legend: {
|
||||||
|
data: dataJson
|
||||||
|
.filter(i => i?.transform?.type === 'filter' && i?.transform?.config?.eq)
|
||||||
|
.map(i => i.transform?.config?.eq?.toString())
|
||||||
|
},
|
||||||
|
|
||||||
|
xAxis: {
|
||||||
|
show: true,
|
||||||
|
type: 'value',
|
||||||
|
splitLine: {
|
||||||
|
lineStyle: {
|
||||||
|
type: 'dashed'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
yAxis: {
|
||||||
|
show: true,
|
||||||
|
type: 'value',
|
||||||
|
splitLine: {
|
||||||
|
lineStyle: {
|
||||||
|
type: 'dashed'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
visualMap: {
|
||||||
|
show: false,
|
||||||
|
dimension: 2,
|
||||||
|
min: 20000,
|
||||||
|
max: 1500000000,
|
||||||
|
seriesIndex: [0, 1],
|
||||||
|
inRange: {
|
||||||
|
symbolSize: [10, 70]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
type: 'scatter',
|
||||||
|
datasetIndex: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'scatter',
|
||||||
|
datasetIndex: 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'line',
|
||||||
|
smooth: true,
|
||||||
|
datasetIndex: 3,
|
||||||
|
symbolSize: 0.1,
|
||||||
|
symbol: 'circle',
|
||||||
|
label: { show: true, fontSize: 16 },
|
||||||
|
labelLayout: { dx: -20 },
|
||||||
|
encode: { label: 2, tooltip: 1 }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
export default class Config extends PublicConfigClass implements CreateComponentType {
|
||||||
|
public key = ScatterLogarithmicRegressionConfig.key
|
||||||
|
public chartConfig = cloneDeep(ScatterLogarithmicRegressionConfig)
|
||||||
|
// 图表配置项
|
||||||
|
public option = echartOptionProfixHandle(option, includes)
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
<template>
|
||||||
|
<!-- Echarts 全局设置 -->
|
||||||
|
<global-setting :optionData="optionData" :in-chart="true"></global-setting>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { PropType } from 'vue'
|
||||||
|
import { GlobalThemeJsonType } from '@/settings/chartThemes/index'
|
||||||
|
import { GlobalSetting } from '@/components/Pages/ChartItemSetting'
|
||||||
|
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const props = defineProps({
|
||||||
|
optionData: {
|
||||||
|
type: Object as PropType<GlobalThemeJsonType>,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
@ -0,0 +1,64 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"source": [
|
||||||
|
[28604, 77, 17096869, "Australia", 1990],
|
||||||
|
[31163, 77.4, 27662440, "Canada", 1990],
|
||||||
|
[1516, 68, 1154605773, "China", 1990],
|
||||||
|
[13670, 74.7, 10582082, "Cuba", 1990],
|
||||||
|
[28599, 75, 4986705, "Finland", 1990],
|
||||||
|
[29476, 77.1, 56943299, "France", 1990],
|
||||||
|
[31476, 75.4, 78958237, "Germany", 1990],
|
||||||
|
[28666, 78.1, 254830, "Iceland", 1990],
|
||||||
|
[1777, 57.7, 870601776, "India", 1990],
|
||||||
|
[29550, 79.1, 122249285, "Japan", 1990],
|
||||||
|
[2076, 67.9, 20194354, "North Korea", 1990],
|
||||||
|
[12087, 72, 42972254, "South Korea", 1990],
|
||||||
|
[24021, 75.4, 3397534, "New Zealand", 1990],
|
||||||
|
[43296, 76.8, 4240375, "Norway", 1990],
|
||||||
|
[10088, 70.8, 38195258, "Poland", 1990],
|
||||||
|
[19349, 69.6, 147568552, "Russia", 1990],
|
||||||
|
[10670, 67.3, 53994605, "Turkey", 1990],
|
||||||
|
[26424, 75.7, 57110117, "United Kingdom", 1990],
|
||||||
|
[37062, 75.4, 252847810, "United States", 1990],
|
||||||
|
[44056, 81.8, 23968973, "Australia", 2015],
|
||||||
|
[43294, 81.7, 35939927, "Canada", 2015],
|
||||||
|
[13334, 76.9, 1376048943, "China", 2015],
|
||||||
|
[21291, 78.5, 11389562, "Cuba", 2015],
|
||||||
|
[38923, 80.8, 5503457, "Finland", 2015],
|
||||||
|
[37599, 81.9, 64395345, "France", 2015],
|
||||||
|
[44053, 81.1, 80688545, "Germany", 2015],
|
||||||
|
[42182, 82.8, 329425, "Iceland", 2015],
|
||||||
|
[5903, 66.8, 1311050527, "India", 2015],
|
||||||
|
[36162, 83.5, 126573481, "Japan", 2015],
|
||||||
|
[1390, 71.4, 25155317, "North Korea", 2015],
|
||||||
|
[34644, 80.7, 50293439, "South Korea", 2015],
|
||||||
|
[34186, 80.6, 4528526, "New Zealand", 2015],
|
||||||
|
[64304, 81.6, 5210967, "Norway", 2015],
|
||||||
|
[24787, 77.3, 38611794, "Poland", 2015],
|
||||||
|
[23038, 73.13, 143456918, "Russia", 2015],
|
||||||
|
[19360, 76.5, 78665830, "Turkey", 2015],
|
||||||
|
[38225, 81.4, 64715810, "United Kingdom", 2015],
|
||||||
|
[53354, 79.1, 321773631, "United States", 2015]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"transform": {
|
||||||
|
"type": "filter",
|
||||||
|
"config": { "dimension": 4, "eq": 1990 }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"transform": {
|
||||||
|
"type": "filter",
|
||||||
|
"config": { "dimension": 4, "eq": 2015 }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"transform": {
|
||||||
|
"type": "ecStat:regression",
|
||||||
|
"config": {
|
||||||
|
"method": "logarithmic"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
@ -0,0 +1,15 @@
|
|||||||
|
import image from '@/assets/images/chart/charts/scatter-logarithmic-regression.png'
|
||||||
|
import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d'
|
||||||
|
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
|
||||||
|
|
||||||
|
export const ScatterLogarithmicRegressionConfig: ConfigType = {
|
||||||
|
key: 'ScatterLogarithmicRegression',
|
||||||
|
chartKey: 'VScatterLogarithmicRegression',
|
||||||
|
conKey: 'VCScatterLogarithmicRegression',
|
||||||
|
title: '对数回归散点图',
|
||||||
|
category: ChatCategoryEnum.SCATTER,
|
||||||
|
categoryName: ChatCategoryEnumName.SCATTER,
|
||||||
|
package: PackagesCategoryEnum.CHARTS,
|
||||||
|
chartFrame: ChartFrameEnum.ECHARTS,
|
||||||
|
image
|
||||||
|
}
|
@ -0,0 +1,73 @@
|
|||||||
|
<template>
|
||||||
|
<v-chart
|
||||||
|
ref="vChartRef"
|
||||||
|
:theme="themeColor"
|
||||||
|
:option="option"
|
||||||
|
:manual-update="isPreview()"
|
||||||
|
:update-options="{ replaceMerge: replaceMergeArr }"
|
||||||
|
autoresize
|
||||||
|
>
|
||||||
|
</v-chart>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { PropType, computed, ref } from 'vue'
|
||||||
|
import VChart from 'vue-echarts'
|
||||||
|
import ecStat from 'echarts-stat'
|
||||||
|
import { use, registerTransform } from 'echarts/core'
|
||||||
|
import { CanvasRenderer } from 'echarts/renderers'
|
||||||
|
import { ScatterChart, LineChart } from 'echarts/charts'
|
||||||
|
import { UniversalTransition, LabelLayout } from 'echarts/features'
|
||||||
|
import config, { includes } from './config'
|
||||||
|
import { mergeTheme } from '@/packages/public/chart'
|
||||||
|
import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
|
||||||
|
import { useChartDataFetch } from '@/hooks'
|
||||||
|
import { isPreview } from '@/utils'
|
||||||
|
import {
|
||||||
|
DatasetComponent,
|
||||||
|
GridComponent,
|
||||||
|
LegendComponent,
|
||||||
|
TooltipComponent,
|
||||||
|
TransformComponent,
|
||||||
|
VisualMapComponent
|
||||||
|
} from 'echarts/components'
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
themeSetting: {
|
||||||
|
type: Object,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
themeColor: {
|
||||||
|
type: Object,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
chartConfig: {
|
||||||
|
type: Object as PropType<config>,
|
||||||
|
required: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
use([
|
||||||
|
DatasetComponent,
|
||||||
|
CanvasRenderer,
|
||||||
|
ScatterChart,
|
||||||
|
LineChart,
|
||||||
|
GridComponent,
|
||||||
|
LegendComponent,
|
||||||
|
TooltipComponent,
|
||||||
|
TransformComponent,
|
||||||
|
VisualMapComponent,
|
||||||
|
UniversalTransition,
|
||||||
|
LabelLayout
|
||||||
|
])
|
||||||
|
|
||||||
|
registerTransform((ecStat as any).transform.regression)
|
||||||
|
|
||||||
|
const replaceMergeArr = ref<string[]>()
|
||||||
|
|
||||||
|
const option = computed(() => {
|
||||||
|
return mergeTheme(props.chartConfig.option, props.themeSetting, includes)
|
||||||
|
})
|
||||||
|
|
||||||
|
const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore)
|
||||||
|
</script>
|
4
src/packages/components/Charts/Scatters/index.ts
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
import { ScatterCommonConfig } from './ScatterCommon/index'
|
||||||
|
import { ScatterLogarithmicRegressionConfig } from './ScatterLogarithmicRegression/index'
|
||||||
|
|
||||||
|
export default [ScatterCommonConfig, ScatterLogarithmicRegressionConfig]
|
15
src/packages/components/Charts/Scatters/shard.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
export const ScatterEffectTypeEnumList = [
|
||||||
|
{ label: '普通', value: 'scatter' },
|
||||||
|
{ label: '特效', value: 'effectScatter' }
|
||||||
|
]
|
||||||
|
|
||||||
|
export const SymbolEnumList = [
|
||||||
|
{ label: '圆形', value: 'circle' },
|
||||||
|
{ label: '正方形', value: 'rect' },
|
||||||
|
{ label: '圆角正方形', value: 'roundRect' },
|
||||||
|
{ label: '三角形', value: 'triangle' },
|
||||||
|
{ label: '菱形', value: 'diamond' },
|
||||||
|
{ label: '水滴', value: 'pin' },
|
||||||
|
{ label: '箭头', value: 'arrow' },
|
||||||
|
{ label: '无', value: 'none' }
|
||||||
|
]
|
5
src/packages/components/Charts/index.d.ts
vendored
@ -1,7 +1,9 @@
|
|||||||
|
/* eslint-disable no-unused-vars */
|
||||||
export enum ChatCategoryEnum {
|
export enum ChatCategoryEnum {
|
||||||
BAR = 'Bars',
|
BAR = 'Bars',
|
||||||
PIE = 'Pies',
|
PIE = 'Pies',
|
||||||
LINE = 'Lines',
|
LINE = 'Lines',
|
||||||
|
SCATTER = 'Scatters',
|
||||||
MAP = 'Maps',
|
MAP = 'Maps',
|
||||||
MORE = 'Mores'
|
MORE = 'Mores'
|
||||||
}
|
}
|
||||||
@ -10,6 +12,7 @@ export enum ChatCategoryEnumName {
|
|||||||
BAR = '柱状图',
|
BAR = '柱状图',
|
||||||
PIE = '饼图',
|
PIE = '饼图',
|
||||||
LINE = '折线图',
|
LINE = '折线图',
|
||||||
|
SCATTER = '散点图',
|
||||||
MAP = '地图',
|
MAP = '地图',
|
||||||
MORE = '更多'
|
MORE = '更多'
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import Bars from './Bars'
|
import Bars from './Bars'
|
||||||
import Pies from './Pies'
|
import Pies from './Pies'
|
||||||
import Lines from './Lines'
|
import Lines from './Lines'
|
||||||
|
import Scatters from './Scatters'
|
||||||
import Mores from './Mores'
|
import Mores from './Mores'
|
||||||
import Maps from './Maps'
|
import Maps from './Maps'
|
||||||
|
|
||||||
export const ChartList = [...Bars, ...Pies, ...Lines, ...Maps, ...Mores]
|
export const ChartList = [...Bars, ...Lines, ...Pies, ...Scatters, ...Maps, ...Mores]
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import image from '@/assets/images/chart/tables/tables_list.png'
|
import image from '@/assets/images/chart/tables/tables_list.png'
|
||||||
import { ConfigType, PackagesCategoryEnum } from '@/packages/index.d'
|
import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d'
|
||||||
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
|
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
|
||||||
|
|
||||||
export const TableListConfig: ConfigType = {
|
export const TableListConfig: ConfigType = {
|
||||||
@ -10,5 +10,6 @@ export const TableListConfig: ConfigType = {
|
|||||||
category: ChatCategoryEnum.TABLE,
|
category: ChatCategoryEnum.TABLE,
|
||||||
categoryName: ChatCategoryEnumName.TABLE,
|
categoryName: ChatCategoryEnumName.TABLE,
|
||||||
package: PackagesCategoryEnum.TABLES,
|
package: PackagesCategoryEnum.TABLES,
|
||||||
|
chartFrame: ChartFrameEnum.COMMON,
|
||||||
image
|
image
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import image from '@/assets/images/chart/tables/table_scrollboard.png'
|
import image from '@/assets/images/chart/tables/table_scrollboard.png'
|
||||||
import { ConfigType, PackagesCategoryEnum } from '@/packages/index.d'
|
import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d'
|
||||||
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
|
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
|
||||||
|
|
||||||
export const TableScrollBoardConfig: ConfigType = {
|
export const TableScrollBoardConfig: ConfigType = {
|
||||||
@ -10,5 +10,6 @@ export const TableScrollBoardConfig: ConfigType = {
|
|||||||
category: ChatCategoryEnum.TABLE,
|
category: ChatCategoryEnum.TABLE,
|
||||||
categoryName: ChatCategoryEnumName.TABLE,
|
categoryName: ChatCategoryEnumName.TABLE,
|
||||||
package: PackagesCategoryEnum.TABLES,
|
package: PackagesCategoryEnum.TABLES,
|
||||||
|
chartFrame: ChartFrameEnum.COMMON,
|
||||||
image
|
image
|
||||||
}
|
}
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
},
|
},
|
||||||
"position": "bottom",
|
"position": "bottom",
|
||||||
"axisLine": {
|
"axisLine": {
|
||||||
|
"show": true,
|
||||||
"lineStyle": {
|
"lineStyle": {
|
||||||
"color": "#B9B8CE",
|
"color": "#B9B8CE",
|
||||||
"width": 1
|
"width": 1
|
||||||
|
@ -13,5 +13,7 @@ export const systemSetting = {
|
|||||||
// 图表拖拽时的吸附距离(px)
|
// 图表拖拽时的吸附距离(px)
|
||||||
[SettingStoreEnums.CHART_ALIGN_RANGE]: 10,
|
[SettingStoreEnums.CHART_ALIGN_RANGE]: 10,
|
||||||
// 图表工具栏状态(侧边工具状态)
|
// 图表工具栏状态(侧边工具状态)
|
||||||
[SettingStoreEnums.CHART_TOOLS_STATUS]: ToolsStatusEnum.ASIDE
|
[SettingStoreEnums.CHART_TOOLS_STATUS]: ToolsStatusEnum.ASIDE,
|
||||||
|
// 图表工具栏状态隐藏(刚开始不隐藏)
|
||||||
|
[SettingStoreEnums.CHART_TOOLS_STATUS_HIDE]: false,
|
||||||
}
|
}
|
@ -4,12 +4,20 @@ export enum ToolsStatusEnum {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export enum SettingStoreEnums {
|
export enum SettingStoreEnums {
|
||||||
|
// 拖拽页面左侧表单分类只有一项的时候是否隐藏
|
||||||
HIDE_PACKAGE_ONE_CATEGORY = 'hidePackageOneCategory',
|
HIDE_PACKAGE_ONE_CATEGORY = 'hidePackageOneCategory',
|
||||||
|
// 切换语言是否进行路由刷新
|
||||||
CHANGE_LANG_RELOAD = 'changeLangReload',
|
CHANGE_LANG_RELOAD = 'changeLangReload',
|
||||||
|
// 侧边栏折叠是否隐藏全部
|
||||||
ASIDE_ALL_COLLAPSED = 'asideAllCollapsed',
|
ASIDE_ALL_COLLAPSED = 'asideAllCollapsed',
|
||||||
|
// 图表移动时按方向键移动的距离
|
||||||
CHART_MOVE_DISTANCE = 'chartMoveDistance',
|
CHART_MOVE_DISTANCE = 'chartMoveDistance',
|
||||||
|
// 图表拖拽时的吸附距离(px)
|
||||||
CHART_ALIGN_RANGE = 'chartAlignRange',
|
CHART_ALIGN_RANGE = 'chartAlignRange',
|
||||||
|
// 图表工具栏状态(侧边工具状态)
|
||||||
CHART_TOOLS_STATUS = 'chartToolsStatus',
|
CHART_TOOLS_STATUS = 'chartToolsStatus',
|
||||||
|
// 图表工具栏状态隐藏
|
||||||
|
CHART_TOOLS_STATUS_HIDE = 'chartToolsStatusHide'
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SettingStoreType {
|
export interface SettingStoreType {
|
||||||
@ -19,4 +27,5 @@ export interface SettingStoreType {
|
|||||||
[SettingStoreEnums.CHART_MOVE_DISTANCE]: number
|
[SettingStoreEnums.CHART_MOVE_DISTANCE]: number
|
||||||
[SettingStoreEnums.CHART_ALIGN_RANGE]: number
|
[SettingStoreEnums.CHART_ALIGN_RANGE]: number
|
||||||
[SettingStoreEnums.CHART_TOOLS_STATUS]: ToolsStatusEnum
|
[SettingStoreEnums.CHART_TOOLS_STATUS]: ToolsStatusEnum
|
||||||
|
[SettingStoreEnums.CHART_TOOLS_STATUS_HIDE]: boolean
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,10 @@ export const useSettingStore = defineStore({
|
|||||||
},
|
},
|
||||||
getChartToolsStatus(): ToolsStatusEnum {
|
getChartToolsStatus(): ToolsStatusEnum {
|
||||||
return this.chartToolsStatus
|
return this.chartToolsStatus
|
||||||
}
|
},
|
||||||
|
getChartToolsStatusHide(): boolean {
|
||||||
|
return this.chartToolsStatusHide
|
||||||
|
},
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
setItem<T extends keyof SettingStoreType, K extends SettingStoreType[T]>(
|
setItem<T extends keyof SettingStoreType, K extends SettingStoreType[T]>(
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
draggable
|
draggable
|
||||||
@dragstart="dragStartHandle($event, item)"
|
@dragstart="dragStartHandle($event, item)"
|
||||||
@dragend="dragendHandle"
|
@dragend="dragendHandle"
|
||||||
|
@dblclick="dblclickHandle(item)"
|
||||||
>
|
>
|
||||||
<div class="list-header">
|
<div class="list-header">
|
||||||
<mac-os-control-btn :mini="true" :disabled="true"></mac-os-control-btn>
|
<mac-os-control-btn :mini="true" :disabled="true"></mac-os-control-btn>
|
||||||
@ -25,9 +26,10 @@ import { PropType } from 'vue'
|
|||||||
import { MacOsControlBtn } from '@/components/Tips/MacOsControlBtn/index'
|
import { MacOsControlBtn } from '@/components/Tips/MacOsControlBtn/index'
|
||||||
import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
|
import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
|
||||||
import { EditCanvasTypeEnum } from '@/store/modules/chartEditStore/chartEditStore.d'
|
import { EditCanvasTypeEnum } from '@/store/modules/chartEditStore/chartEditStore.d'
|
||||||
import { componentInstall } from '@/utils'
|
import { componentInstall, loadingStart, loadingFinish, loadingError } from '@/utils'
|
||||||
import { DragKeyEnum } from '@/enums/editPageEnum'
|
import { DragKeyEnum } from '@/enums/editPageEnum'
|
||||||
import { ConfigType } from '@/packages/index.d'
|
import { createComponent } from '@/packages'
|
||||||
|
import { ConfigType, CreateComponentType } from '@/packages/index.d'
|
||||||
import { fetchConfigComponent, fetchChartComponent } from '@/packages/index'
|
import { fetchConfigComponent, fetchChartComponent } from '@/packages/index'
|
||||||
import omit from 'lodash/omit'
|
import omit from 'lodash/omit'
|
||||||
const chartEditStore = useChartEditStore()
|
const chartEditStore = useChartEditStore()
|
||||||
@ -54,6 +56,26 @@ const dragStartHandle = (e: DragEvent, item: ConfigType) => {
|
|||||||
const dragendHandle = () => {
|
const dragendHandle = () => {
|
||||||
chartEditStore.setEditCanvas(EditCanvasTypeEnum.IS_CREATE, false)
|
chartEditStore.setEditCanvas(EditCanvasTypeEnum.IS_CREATE, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 双击添加
|
||||||
|
const dblclickHandle = async (item: ConfigType) => {
|
||||||
|
try {
|
||||||
|
loadingStart()
|
||||||
|
// 动态注册图表组件
|
||||||
|
componentInstall(item.chartKey, fetchChartComponent(item))
|
||||||
|
componentInstall(item.conKey, fetchConfigComponent(item))
|
||||||
|
// 创建新图表组件
|
||||||
|
let newComponent: CreateComponentType = await createComponent(item)
|
||||||
|
// 添加
|
||||||
|
chartEditStore.addComponentList(newComponent, false, true)
|
||||||
|
// 选中
|
||||||
|
chartEditStore.setTargetSelectChart(newComponent.id)
|
||||||
|
loadingFinish()
|
||||||
|
} catch (error) {
|
||||||
|
loadingError()
|
||||||
|
window['$message'].warning(`图表正在研发中, 敬请期待...`)
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
@ -96,6 +96,7 @@ import { SelectHttpType } from '../../index.d'
|
|||||||
import { ChartDataMatchingAndShow } from '../ChartDataMatchingAndShow'
|
import { ChartDataMatchingAndShow } from '../ChartDataMatchingAndShow'
|
||||||
import { useTargetData } from '../../../hooks/useTargetData.hook'
|
import { useTargetData } from '../../../hooks/useTargetData.hook'
|
||||||
import { isDev, newFunctionHandle } from '@/utils'
|
import { isDev, newFunctionHandle } from '@/utils'
|
||||||
|
import debounce from 'lodash/debounce'
|
||||||
|
|
||||||
const { HelpOutlineIcon, FlashIcon, PulseIcon } = icon.ionicons5
|
const { HelpOutlineIcon, FlashIcon, PulseIcon } = icon.ionicons5
|
||||||
const { targetData, chartEditStore } = useTargetData()
|
const { targetData, chartEditStore } = useTargetData()
|
||||||
@ -123,23 +124,27 @@ const requestModelHandle = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 发送请求
|
// 发送请求
|
||||||
const sendHandle = async () => {
|
const sendHandle = debounce(
|
||||||
if(!targetData.value?.request) return
|
async () => {
|
||||||
loading.value = true
|
if (!targetData.value?.request) return
|
||||||
try {
|
loading.value = true
|
||||||
const res = await customizeHttp(toRaw(targetData.value.request), toRaw(chartEditStore.requestGlobalConfig))
|
try {
|
||||||
loading.value = false
|
const res = await customizeHttp(toRaw(targetData.value.request), toRaw(chartEditStore.requestGlobalConfig))
|
||||||
if (res && res.data) {
|
loading.value = false
|
||||||
targetData.value.option.dataset = newFunctionHandle(res.data, targetData.value.filter)
|
if (res && res.data) {
|
||||||
showMatching.value = true
|
targetData.value.option.dataset = newFunctionHandle(res.data, targetData.value.filter)
|
||||||
return
|
showMatching.value = true
|
||||||
|
return
|
||||||
|
}
|
||||||
|
window['$message'].warning('数据异常,请检查参数!')
|
||||||
|
} catch (error) {
|
||||||
|
loading.value = false
|
||||||
|
window['$message'].warning('数据异常,请检查参数!')
|
||||||
}
|
}
|
||||||
window['$message'].warning('数据异常,请检查参数!')
|
},
|
||||||
} catch (error) {
|
2000,
|
||||||
loading.value = false
|
{ leading: true }
|
||||||
window['$message'].warning('数据异常,请检查参数!')
|
)
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 颜色
|
// 颜色
|
||||||
const themeColor = computed(() => {
|
const themeColor = computed(() => {
|
||||||
@ -152,7 +157,7 @@ watchEffect(() => {
|
|||||||
lastFilter = filter
|
lastFilter = filter
|
||||||
sendHandle()
|
sendHandle()
|
||||||
}
|
}
|
||||||
firstFocus ++
|
firstFocus++
|
||||||
})
|
})
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
|
@ -88,7 +88,7 @@ import { ChartDataMonacoEditor } from '../ChartDataMonacoEditor'
|
|||||||
import { useFile } from '../../hooks/useFile.hooks'
|
import { useFile } from '../../hooks/useFile.hooks'
|
||||||
import { useTargetData } from '../../../hooks/useTargetData.hook'
|
import { useTargetData } from '../../../hooks/useTargetData.hook'
|
||||||
import isObject from 'lodash/isObject'
|
import isObject from 'lodash/isObject'
|
||||||
import { toString } from '@/utils'
|
import { toString, isArray } from '@/utils'
|
||||||
|
|
||||||
const { targetData } = useTargetData()
|
const { targetData } = useTargetData()
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@ -182,6 +182,9 @@ watch(
|
|||||||
} else {
|
} else {
|
||||||
source.value = '此组件无数据源'
|
source.value = '此组件无数据源'
|
||||||
}
|
}
|
||||||
|
if (isArray(newData)) {
|
||||||
|
dimensionsAndSource.value = null
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
immediate: true
|
immediate: true
|
||||||
|
@ -71,7 +71,10 @@ import {
|
|||||||
numberIntUrl,
|
numberIntUrl,
|
||||||
textUrl,
|
textUrl,
|
||||||
imageUrl,
|
imageUrl,
|
||||||
radarUrl
|
radarUrl,
|
||||||
|
heatMapUrl,
|
||||||
|
scatterBasicUrl
|
||||||
|
|
||||||
} from '@/api/mock'
|
} from '@/api/mock'
|
||||||
|
|
||||||
const { HelpOutlineIcon } = icon.ionicons5
|
const { HelpOutlineIcon } = icon.ionicons5
|
||||||
@ -106,7 +109,13 @@ const apiList = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: `【雷达】${radarUrl}`
|
value: `【雷达】${radarUrl}`
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
value: `【热力图】${heatMapUrl}`
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: `【基础散点图】${scatterBasicUrl}`
|
||||||
|
},
|
||||||
]
|
]
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -1,38 +1,26 @@
|
|||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
class="go-chart-edit-tools"
|
class="go-chart-edit-tools"
|
||||||
:class="[
|
:class="[settingStore.getChartToolsStatus, isMiniComputed ? 'isMini' : 'unMini']"
|
||||||
settingStore.getChartToolsStatus,
|
|
||||||
isMini ? 'isMini' : 'unMini',
|
|
||||||
]"
|
|
||||||
@click="isMini && (isMini = false)"
|
@click="isMini && (isMini = false)"
|
||||||
@mouseenter="toolsMouseoverHandle"
|
@mouseenter="toolsMouseoverHandle"
|
||||||
@mouseleave="toolsMouseoutHandle"
|
@mouseleave="toolsMouseoutHandle"
|
||||||
>
|
>
|
||||||
<!-- PawIcon -->
|
<!-- PawIcon -->
|
||||||
<n-icon
|
<n-icon v-show="settingStore.getChartToolsStatus === ToolsStatusEnum.ASIDE && isMiniComputed " class="asideLogo" size="22">
|
||||||
v-show="settingStore.getChartToolsStatus === ToolsStatusEnum.ASIDE"
|
|
||||||
class="asideLogo"
|
|
||||||
size="22"
|
|
||||||
>
|
|
||||||
<PawIcon></PawIcon>
|
<PawIcon></PawIcon>
|
||||||
</n-icon>
|
</n-icon>
|
||||||
|
|
||||||
<n-tooltip
|
<n-tooltip
|
||||||
v-for="(item, index) in btnList"
|
v-for="(item, index) in btnListComputed"
|
||||||
:key="item.key"
|
:key="item.key"
|
||||||
:disabled="!isAside || asideTootipDis"
|
:disabled="!isAside || (isHide && asideTootipDis)"
|
||||||
trigger="hover"
|
trigger="hover"
|
||||||
placement="left"
|
placement="left"
|
||||||
>
|
>
|
||||||
<template #trigger>
|
<template #trigger>
|
||||||
<div class="btn-item" :class="[btnList.length - 1 === index && 'go-111mt-0']">
|
<div class="btn-item" :class="[btnList.length - 1 === index && 'go-mt-0']">
|
||||||
<n-button
|
<n-button v-if="item.type === TypeEnum.BUTTON" :circle="isAside" secondary @click="item.handle">
|
||||||
v-if="item.type === TypeEnum.BUTTON"
|
|
||||||
:circle="isAside"
|
|
||||||
secondary
|
|
||||||
@click="item.handle"
|
|
||||||
>
|
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<n-icon size="22" v-if="isAside">
|
<n-icon size="22" v-if="isAside">
|
||||||
<component :is="item.icon"></component>
|
<component :is="item.icon"></component>
|
||||||
@ -65,55 +53,89 @@
|
|||||||
<span>{{ item.name }}</span>
|
<span>{{ item.name }}</span>
|
||||||
</n-tooltip>
|
</n-tooltip>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 系统设置 model -->
|
||||||
|
<go-system-set v-model:modelShow="globalSettingModel"></go-system-set>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, computed } from 'vue';
|
import { ref, computed, h } from 'vue'
|
||||||
import { useSettingStore } from '@/store/modules/settingStore/settingStore'
|
import { useSettingStore } from '@/store/modules/settingStore/settingStore'
|
||||||
import { ToolsStatusEnum } from '@/store/modules/settingStore/settingStore.d'
|
import { ToolsStatusEnum } from '@/store/modules/settingStore/settingStore.d'
|
||||||
|
import { GoSystemSet } from '@/components/GoSystemSet/index'
|
||||||
import { exportHandle } from './utils'
|
import { exportHandle } from './utils'
|
||||||
import { useFile } from './hooks/useFile.hooks'
|
import { useFile } from './hooks/useFile.hooks'
|
||||||
import { BtnListType, TypeEnum } from './index.d'
|
import { BtnListType, TypeEnum } from './index.d'
|
||||||
import { icon } from '@/plugins'
|
import { icon } from '@/plugins'
|
||||||
|
|
||||||
const { DownloadIcon, ShareIcon, PawIcon } = icon.ionicons5
|
const { DownloadIcon, ShareIcon, PawIcon, SettingsSharpIcon } = icon.ionicons5
|
||||||
const settingStore = useSettingStore()
|
const settingStore = useSettingStore()
|
||||||
|
|
||||||
// 鼠标悬停定时器
|
// 鼠标悬停定时器
|
||||||
let mouseTime: any = null
|
let mouseTime: any = null
|
||||||
|
// 系统设置 model
|
||||||
|
const globalSettingModel = ref(false)
|
||||||
// 最小化
|
// 最小化
|
||||||
const isMini = ref<boolean>(true)
|
const isMini = ref<boolean>(true)
|
||||||
// 是否是侧边栏
|
|
||||||
const isAside = computed(() => settingStore.getChartToolsStatus === ToolsStatusEnum.ASIDE)
|
|
||||||
// 控制 tootip 提示时机
|
// 控制 tootip 提示时机
|
||||||
const asideTootipDis = ref(true)
|
const asideTootipDis = ref(true)
|
||||||
// 文件上传
|
// 文件上传
|
||||||
const { importUploadFileListRef, importCustomRequest, importBeforeUpload } = useFile()
|
const { importUploadFileListRef, importCustomRequest, importBeforeUpload } = useFile()
|
||||||
|
// 配置列表
|
||||||
|
const btnList: BtnListType[] = [
|
||||||
|
{
|
||||||
|
key: 'export',
|
||||||
|
type: TypeEnum.BUTTON,
|
||||||
|
name: '导出',
|
||||||
|
icon: ShareIcon,
|
||||||
|
handle: exportHandle
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 'import',
|
||||||
|
type: TypeEnum.IMPORTUPLOAD,
|
||||||
|
name: '导入',
|
||||||
|
icon: DownloadIcon
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 'setting',
|
||||||
|
type: TypeEnum.BUTTON,
|
||||||
|
name: '设置',
|
||||||
|
icon: SettingsSharpIcon,
|
||||||
|
handle: () => {
|
||||||
|
globalSettingModel.value = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
const btnList: BtnListType[] = [{
|
// 是否是侧边栏
|
||||||
key: 'import',
|
const isAside = computed(() => settingStore.getChartToolsStatus === ToolsStatusEnum.ASIDE)
|
||||||
type: TypeEnum.IMPORTUPLOAD,
|
// 是否隐藏(悬浮展示)
|
||||||
name: '导入',
|
const isHide = computed(() => settingStore.getChartToolsStatusHide)
|
||||||
icon: DownloadIcon,
|
// 是否展示最小化(与全局配置相关)
|
||||||
}, {
|
const isMiniComputed = computed(() => isMini.value && isHide.value)
|
||||||
key: 'export',
|
// 页面渲染配置
|
||||||
type: TypeEnum.BUTTON,
|
const btnListComputed = computed(() => {
|
||||||
name: '导出',
|
if (!isAside.value) return btnList
|
||||||
icon: ShareIcon,
|
const reverseArr: BtnListType[] = []
|
||||||
handle: exportHandle
|
btnList.map(item => {
|
||||||
}]
|
reverseArr.unshift(item)
|
||||||
|
})
|
||||||
|
return reverseArr
|
||||||
|
})
|
||||||
|
|
||||||
|
// 鼠标移入
|
||||||
const toolsMouseoverHandle = () => {
|
const toolsMouseoverHandle = () => {
|
||||||
mouseTime = setTimeout(() => {
|
mouseTime = setTimeout(() => {
|
||||||
if (isMini.value) {
|
if (isMini.value) {
|
||||||
isMini.value = false
|
isMini.value = false
|
||||||
asideTootipDis.value = true
|
asideTootipDis.value = true
|
||||||
}
|
}
|
||||||
}, 200);
|
}, 200)
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
asideTootipDis.value = false
|
asideTootipDis.value = false
|
||||||
}, 400)
|
}, 400)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 鼠标移出
|
||||||
const toolsMouseoutHandle = () => {
|
const toolsMouseoutHandle = () => {
|
||||||
clearTimeout(mouseTime)
|
clearTimeout(mouseTime)
|
||||||
if (!isMini.value) {
|
if (!isMini.value) {
|
||||||
@ -129,11 +151,11 @@ $dockBottom: 60px;
|
|||||||
$dockMiniWidth: 200px;
|
$dockMiniWidth: 200px;
|
||||||
$dockMiniBottom: 53px;
|
$dockMiniBottom: 53px;
|
||||||
|
|
||||||
$asideHeight: 90px;
|
$asideHeight: 130px;
|
||||||
$asideMiniHeight: 22px;
|
$asideMiniHeight: 22px;
|
||||||
$asideBottom: 70px;
|
$asideBottom: 70px;
|
||||||
|
|
||||||
@include go("chart-edit-tools") {
|
@include go('chart-edit-tools') {
|
||||||
@extend .go-background-filter;
|
@extend .go-background-filter;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -142,7 +164,7 @@ $asideBottom: 70px;
|
|||||||
border-radius: 25px;
|
border-radius: 25px;
|
||||||
border: 1px solid;
|
border: 1px solid;
|
||||||
mix-blend-mode: luminosity;
|
mix-blend-mode: luminosity;
|
||||||
@include fetch-border-color("hover-border-color-shallow");
|
@include fetch-border-color('hover-border-color-shallow');
|
||||||
&.aside {
|
&.aside {
|
||||||
flex-direction: column-reverse;
|
flex-direction: column-reverse;
|
||||||
height: auto;
|
height: auto;
|
||||||
@ -156,7 +178,7 @@ $asideBottom: 70px;
|
|||||||
@include deep() {
|
@include deep() {
|
||||||
.n-button__icon {
|
.n-button__icon {
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
margin-bottom: 14px;
|
margin-bottom: 12px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -276,7 +298,7 @@ $asideBottom: 70px;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
&::after {
|
&::after {
|
||||||
content: "";
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -18,11 +18,11 @@ export default ({ mode }) => defineConfig({
|
|||||||
alias: [
|
alias: [
|
||||||
{
|
{
|
||||||
find: /\/#\//,
|
find: /\/#\//,
|
||||||
replacement: pathResolve('types') + '/'
|
replacement: pathResolve('types')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
find: '@',
|
find: '@',
|
||||||
replacement: pathResolve('src') + '/'
|
replacement: pathResolve('src')
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
dedupe: ['vue']
|
dedupe: ['vue']
|
||||||
|