mirror of
https://gitee.com/yiming_chang/vue-pure-admin.git
synced 2024-11-30 02:07:38 +08:00
feat: 导出关闭某个标签的hooks
This commit is contained in:
parent
de76497e8a
commit
5e8723a031
@ -88,9 +88,9 @@
|
||||
"@types/qs": "^6.9.7",
|
||||
"@typescript-eslint/eslint-plugin": "^5.10.2",
|
||||
"@typescript-eslint/parser": "^5.10.2",
|
||||
"@vitejs/plugin-legacy": "^1.7.1",
|
||||
"@vitejs/plugin-vue": "^2.2.4",
|
||||
"@vitejs/plugin-vue-jsx": "^1.3.8",
|
||||
"@vitejs/plugin-legacy": "^1.8.0",
|
||||
"@vitejs/plugin-vue": "^2.3.1",
|
||||
"@vitejs/plugin-vue-jsx": "^1.3.9",
|
||||
"@vue/eslint-config-prettier": "^7.0.0",
|
||||
"@vue/eslint-config-typescript": "^10.0.0",
|
||||
"autoprefixer": "^10.4.2",
|
||||
@ -120,7 +120,7 @@
|
||||
"stylelint-order": "^5.0.0",
|
||||
"typescript": "^4.6.3",
|
||||
"unplugin-element-plus": "^0.3.1",
|
||||
"vite": "^2.9.0-beta.10",
|
||||
"vite": "^2.9.1",
|
||||
"vite-plugin-live-reload": "^2.1.0",
|
||||
"vite-plugin-mock": "^2.9.6",
|
||||
"vite-plugin-remove-console": "^0.0.7",
|
||||
|
198
pnpm-lock.yaml
198
pnpm-lock.yaml
@ -25,9 +25,9 @@ specifiers:
|
||||
"@types/qs": ^6.9.7
|
||||
"@typescript-eslint/eslint-plugin": ^5.10.2
|
||||
"@typescript-eslint/parser": ^5.10.2
|
||||
"@vitejs/plugin-legacy": ^1.7.1
|
||||
"@vitejs/plugin-vue": ^2.2.4
|
||||
"@vitejs/plugin-vue-jsx": ^1.3.8
|
||||
"@vitejs/plugin-legacy": ^1.8.0
|
||||
"@vitejs/plugin-vue": ^2.3.1
|
||||
"@vitejs/plugin-vue-jsx": ^1.3.9
|
||||
"@vue/eslint-config-prettier": ^7.0.0
|
||||
"@vue/eslint-config-typescript": ^10.0.0
|
||||
"@vueuse/core": ^8.2.0
|
||||
@ -83,7 +83,7 @@ specifiers:
|
||||
typescript: ^4.6.3
|
||||
unplugin-element-plus: ^0.3.1
|
||||
v-contextmenu: 3.0.0
|
||||
vite: ^2.9.0-beta.10
|
||||
vite: ^2.9.1
|
||||
vite-plugin-live-reload: ^2.1.0
|
||||
vite-plugin-mock: ^2.9.6
|
||||
vite-plugin-remove-console: ^0.0.7
|
||||
@ -154,7 +154,7 @@ devDependencies:
|
||||
"@iconify-icons/fa-solid": 1.2.2
|
||||
"@iconify-icons/ri": 1.2.1
|
||||
"@iconify/vue": 3.2.0_vue@3.2.31
|
||||
"@intlify/vite-plugin-vue-i18n": 3.3.1_d85b7878c756a0dafc9a31d02a659e34
|
||||
"@intlify/vite-plugin-vue-i18n": 3.3.1_5e55492be6688dd52c71c76ed1867e7f
|
||||
"@pureadmin/theme": 0.0.1
|
||||
"@types/element-resize-detector": 1.1.3
|
||||
"@types/js-cookie": 3.0.1
|
||||
@ -166,9 +166,9 @@ devDependencies:
|
||||
"@types/qs": 6.9.7
|
||||
"@typescript-eslint/eslint-plugin": 5.16.0_bc68a9cd5bf604202498b1a9faaf9387
|
||||
"@typescript-eslint/parser": 5.16.0_eslint@8.11.0+typescript@4.6.3
|
||||
"@vitejs/plugin-legacy": 1.7.1_vite@2.9.0-beta.10
|
||||
"@vitejs/plugin-vue": 2.2.4_vite@2.9.0-beta.10+vue@3.2.31
|
||||
"@vitejs/plugin-vue-jsx": 1.3.8
|
||||
"@vitejs/plugin-legacy": 1.8.0_vite@2.9.1
|
||||
"@vitejs/plugin-vue": 2.3.1_vite@2.9.1+vue@3.2.31
|
||||
"@vitejs/plugin-vue-jsx": 1.3.9
|
||||
"@vue/eslint-config-prettier": 7.0.0_eslint@8.11.0+prettier@2.6.0
|
||||
"@vue/eslint-config-typescript": 10.0.0_67e26bb50fed2173443e3fe1262a69b2
|
||||
autoprefixer: 10.4.4_postcss@8.4.12
|
||||
@ -197,13 +197,13 @@ devDependencies:
|
||||
stylelint-config-standard: 24.0.0_stylelint@14.6.0
|
||||
stylelint-order: 5.0.0_stylelint@14.6.0
|
||||
typescript: 4.6.3
|
||||
unplugin-element-plus: 0.3.2_rollup@2.70.1+vite@2.9.0-beta.10
|
||||
vite: 2.9.0-beta.10_sass@1.49.9
|
||||
unplugin-element-plus: 0.3.2_rollup@2.70.1+vite@2.9.1
|
||||
vite: 2.9.1_sass@1.49.9
|
||||
vite-plugin-live-reload: 2.1.0
|
||||
vite-plugin-mock: 2.9.6_9f12a304f5d96f739756818b56e7825f
|
||||
vite-plugin-mock: 2.9.6_9cb7b45a435b0b365a3d11bf7a7969b0
|
||||
vite-plugin-remove-console: 0.0.7
|
||||
vite-plugin-style-import: 1.4.1_vite@2.9.0-beta.10
|
||||
vite-plugin-windicss: 1.8.3_vite@2.9.0-beta.10
|
||||
vite-plugin-style-import: 1.4.1_vite@2.9.1
|
||||
vite-plugin-windicss: 1.8.3_vite@2.9.1
|
||||
vite-svg-loader: 2.2.0
|
||||
vue-eslint-parser: 8.3.0_eslint@8.11.0
|
||||
windicss: 3.5.1
|
||||
@ -1078,7 +1078,7 @@ packages:
|
||||
}
|
||||
engines: { node: ">= 12" }
|
||||
|
||||
/@intlify/vite-plugin-vue-i18n/3.3.1_d85b7878c756a0dafc9a31d02a659e34:
|
||||
/@intlify/vite-plugin-vue-i18n/3.3.1_5e55492be6688dd52c71c76ed1867e7f:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-b9HIUANzL4/LmrA5RqeiPabZl2/RiWNAJ90TVZ8kSi3APRZ4BbmwUAclKe8ip+1jCDhqaGO/qfAI7SbQ0Y76Uw==
|
||||
@ -1100,7 +1100,7 @@ packages:
|
||||
debug: 4.3.4
|
||||
fast-glob: 3.2.11
|
||||
source-map: 0.6.1
|
||||
vite: 2.9.0-beta.10_sass@1.49.9
|
||||
vite: 2.9.1_sass@1.49.9
|
||||
vue-i18n: 9.2.0-beta.33_vue@3.2.31
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@ -1551,10 +1551,10 @@ packages:
|
||||
eslint-visitor-keys: 3.3.0
|
||||
dev: true
|
||||
|
||||
/@vitejs/plugin-legacy/1.7.1_vite@2.9.0-beta.10:
|
||||
/@vitejs/plugin-legacy/1.8.0_vite@2.9.1:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-RqgILXsGpfV7NHodVCdBVau8ss5+ynMXp6JGF/F7nhSy0bnwSQPlMS3KFqh7twfifXK8VuMriqfU4CxOiqmNnA==
|
||||
integrity: sha512-S3+uL1zp8GLUbmJAQk2wQbZLTyISKRFSMBwCFI3XQVRD3OZshqkiPyOKdRiSPlP9HoGz+q90kk+1qPm1tJRqCg==
|
||||
}
|
||||
engines: { node: ">=12.0.0" }
|
||||
peerDependencies:
|
||||
@ -1562,16 +1562,16 @@ packages:
|
||||
dependencies:
|
||||
"@babel/standalone": 7.17.8
|
||||
core-js: 3.21.1
|
||||
magic-string: 0.25.9
|
||||
magic-string: 0.26.1
|
||||
regenerator-runtime: 0.13.9
|
||||
systemjs: 6.12.1
|
||||
vite: 2.9.0-beta.10_sass@1.49.9
|
||||
vite: 2.9.1_sass@1.49.9
|
||||
dev: true
|
||||
|
||||
/@vitejs/plugin-vue-jsx/1.3.8:
|
||||
/@vitejs/plugin-vue-jsx/1.3.9:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-gPtie8IM7G5OI2O2/Xwk/oYjnw2gKBzayVuEOM5Jx65KmpVcW444F+H7IsIMduvAgwLQPEYMGiO1V8dBgk7qog==
|
||||
integrity: sha512-aJpmBpAXM9jbVWaf7UR22/c0v/wfNPqOj0nBibuOndnrM8YmPAj4NnHEasguXxf0wVH00DinWqyzgZV8CZqEOQ==
|
||||
}
|
||||
engines: { node: ">=12.0.0" }
|
||||
dependencies:
|
||||
@ -1585,17 +1585,17 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@vitejs/plugin-vue/2.2.4_vite@2.9.0-beta.10+vue@3.2.31:
|
||||
/@vitejs/plugin-vue/2.3.1_vite@2.9.1+vue@3.2.31:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-ev9AOlp0ljCaDkFZF3JwC/pD2N4Hh+r5srl5JHM6BKg5+99jiiK0rE/XaRs3pVm1wzyKkjUy/StBSoXX5fFzcw==
|
||||
integrity: sha512-YNzBt8+jt6bSwpt7LP890U1UcTOIZZxfpE5WOJ638PNxSEKOqAi0+FSKS0nVeukfdZ0Ai/H7AFd6k3hayfGZqQ==
|
||||
}
|
||||
engines: { node: ">=12.0.0" }
|
||||
peerDependencies:
|
||||
vite: ^2.5.10
|
||||
vue: ^3.2.25
|
||||
dependencies:
|
||||
vite: 2.9.0-beta.10_sass@1.49.9
|
||||
vite: 2.9.1_sass@1.49.9
|
||||
vue: 3.2.31
|
||||
dev: true
|
||||
|
||||
@ -3239,10 +3239,10 @@ packages:
|
||||
ext: 1.6.0
|
||||
dev: false
|
||||
|
||||
/esbuild-android-64/0.14.28:
|
||||
/esbuild-android-64/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-A52C3zq+9tNwCqZ+4kVLBxnk/WnrYM8P2+QNvNE9B6d2OVPs214lp3g6UyO+dKDhUdefhfPCuwkP8j2A/+szNA==
|
||||
integrity: sha512-tJuaN33SVZyiHxRaVTo1pwW+rn3qetJX/SRuc/83rrKYtyZG0XfsQ1ao1nEudIt9w37ZSNXR236xEfm2C43sbw==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [x64]
|
||||
@ -3251,10 +3251,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-android-arm64/0.14.28:
|
||||
/esbuild-android-arm64/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-sm0fDEGElZhMC3HLZeECI2juE4aG7uPfMBMqNUhy9CeX399Pz8rC6e78OXMXInGjSdEAwQmCOHmfsP7uv3Q8rA==
|
||||
integrity: sha512-D74dCv6yYnMTlofVy1JKiLM5JdVSQd60/rQfJSDP9qvRAI0laPXIG/IXY1RG6jobmFMUfL38PbFnCqyI/6fPXg==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [arm64]
|
||||
@ -3263,10 +3263,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-darwin-64/0.14.28:
|
||||
/esbuild-darwin-64/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-nzDd7mQ44FvsFHtOafZdBgn3Li5SMsnMnoz1J2MM37xJmR3wGNTFph88KypjHgWqwbxCI7MXS1U+sN4qDeeW6Q==
|
||||
integrity: sha512-+CJaRvfTkzs9t+CjGa0Oa28WoXa7EeLutQhxus+fFcu0MHhsBhlmeWHac3Cc/Sf/xPi1b2ccDFfzGYJCfV0RrA==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [x64]
|
||||
@ -3275,10 +3275,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-darwin-arm64/0.14.28:
|
||||
/esbuild-darwin-arm64/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-XEq/bLR/glsUl+uGrBimQzOVs/CmwI833fXUhP9xrLI3IJ+rKyrZ5IA8u+1crOEf1LoTn8tV+hInmX6rGjbScw==
|
||||
integrity: sha512-5Wgz/+zK+8X2ZW7vIbwoZ613Vfr4A8HmIs1XdzRmdC1kG0n5EG5fvKk/jUxhNlrYPx1gSY7XadQ3l4xAManPSw==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [arm64]
|
||||
@ -3287,10 +3287,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-freebsd-64/0.14.28:
|
||||
/esbuild-freebsd-64/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-rTKLgUj/HEcPeE5XZ7IZwWpFx7IWMfprN7QRk/TUJE1s1Ipb58esboIesUpjirJz/BwrgHq+FDG9ChAI8dZAtQ==
|
||||
integrity: sha512-VTfS7Bm9QA12JK1YXF8+WyYOfvD7WMpbArtDj6bGJ5Sy5xp01c/q70Arkn596aGcGj0TvQRplaaCIrfBG1Wdtg==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [x64]
|
||||
@ -3299,10 +3299,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-freebsd-arm64/0.14.28:
|
||||
/esbuild-freebsd-arm64/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-sBffxD1UMOsB7aWMoExmipycjcy3HJGwmqE4GQZUTZvdiH4GhjgUiVdtPyt7kSCdL40JqnWQJ4b1l8Y51oCF4Q==
|
||||
integrity: sha512-WP5L4ejwLWWvd3Fo2J5mlXvG3zQHaw5N1KxFGnUc4+2ZFZknP0ST63i0IQhpJLgEJwnQpXv2uZlU1iWZjFqEIg==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [arm64]
|
||||
@ -3311,10 +3311,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-32/0.14.28:
|
||||
/esbuild-linux-32/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-+Wxidh3fBEQ9kHcCsD4etlBTMb1n6QY2uXv3rFhVn88CY/JP782MhA57/ipLMY4kOLeSKEuFGN4rtjHuhmRMig==
|
||||
integrity: sha512-4myeOvFmQBWdI2U1dEBe2DCSpaZyjdQtmjUY11Zu2eQg4ynqLb8Y5mNjNU9UN063aVsCYYfbs8jbken/PjyidA==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [ia32]
|
||||
@ -3323,10 +3323,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-64/0.14.28:
|
||||
/esbuild-linux-64/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-7+xgsC4LvR6cnzaBdiljNnPDjbkwzahogN+S9uy9AoYw7ZjPnnXc6sjQAVCbqGb7MEgrWdpa6u/Tao79i4lWxg==
|
||||
integrity: sha512-iaEuLhssReAKE7HMwxwFJFn7D/EXEs43fFy5CJeA4DGmU6JHh0qVJD2p/UP46DvUXLRKXsXw0i+kv5TdJ1w5pg==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [x64]
|
||||
@ -3335,10 +3335,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-arm/0.14.28:
|
||||
/esbuild-linux-arm/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-L5isjmlLbh9E0WVllXiVETbScgMbth/+XkXQii1WwgO1RvLIfaGrVFz8d2n6EH/ImtgYxPYGx+OcvIKQBc91Rg==
|
||||
integrity: sha512-OXa9D9QL1hwrAnYYAHt/cXAuSCmoSqYfTW/0CEY0LgJNyTxJKtqc5mlwjAZAvgyjmha0auS/sQ0bXfGf2wAokQ==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [arm]
|
||||
@ -3347,10 +3347,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-arm64/0.14.28:
|
||||
/esbuild-linux-arm64/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-EjRHgwg+kgXABzyoPGPOPg4d5wZqRnZ/ZAxBDzLY+i6DS8OUfTSlZHWIOZzU4XF7125WxRBg9ULbrFJBl+57Eg==
|
||||
integrity: sha512-KYf7s8wDfUy+kjKymW3twyGT14OABjGHRkm9gPJ0z4BuvqljfOOUbq9qT3JYFnZJHOgkr29atT//hcdD0Pi7Mw==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [arm64]
|
||||
@ -3359,10 +3359,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-mips64le/0.14.28:
|
||||
/esbuild-linux-mips64le/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-krx9SSg7yfiUKk64EmjefOyiEF6nv2bRE4um/LiTaQ6Y/6FP4UF3/Ou/AxZVyR154uSRq63xejcAsmswXAYRsw==
|
||||
integrity: sha512-05jPtWQMsZ1aMGfHOvnR5KrTvigPbU35BtuItSSWLI2sJu5VrM8Pr9Owym4wPvA4153DFcOJ1EPN/2ujcDt54g==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [mips64el]
|
||||
@ -3371,10 +3371,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-ppc64le/0.14.28:
|
||||
/esbuild-linux-ppc64le/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-LD0Xxu9g+DNuhsEBV5QuVZ4uKVBMup0xPIruLweuAf9/mHXFnaCuNXUBF5t0DxKl7GQ5MSioKtnb92oMo+QXEw==
|
||||
integrity: sha512-FYhBqn4Ir9xG+f6B5VIQVbRuM4S6qwy29dDNYFPoxLRnwTEKToIYIUESN1qHyUmIbfO0YB4phG2JDV2JDN9Kgw==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [ppc64]
|
||||
@ -3383,10 +3383,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-riscv64/0.14.28:
|
||||
/esbuild-linux-riscv64/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-L/DWfRh2P0vxq4Y+qieSNXKGdMg+e9Qe8jkbN2/8XSGYDTPzO2OcAxSujob4qIh7iSl+cknbXV+BvH0YFR0jbg==
|
||||
integrity: sha512-eqZMqPehkb4nZcffnuOpXJQdGURGd6GXQ4ZsDHSWyIUaA+V4FpMBe+5zMPtXRD2N4BtyzVvnBko6K8IWWr36ew==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [riscv64]
|
||||
@ -3395,10 +3395,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-linux-s390x/0.14.28:
|
||||
/esbuild-linux-s390x/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-rrgxmsbmL8QQknWGnAL9bGJRQYLOi2AzXy5OTwfhxnj9eqjo5mSVbJXjgiq5LPUAMQZGdPH5yaNK0obAXS81Zw==
|
||||
integrity: sha512-o7EYajF1rC/4ho7kpSG3gENVx0o2SsHm7cJ5fvewWB/TEczWU7teDgusGSujxCYcMottE3zqa423VTglNTYhjg==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [s390x]
|
||||
@ -3407,10 +3407,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-netbsd-64/0.14.28:
|
||||
/esbuild-netbsd-64/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-h8wntIyOR8/xMVVM6TvJxxWKh4AjmLK87IPKpuVi8Pq0kyk0RMA+eo4PFGk5j2XK0D7dj8PcSF5NSlP9kN/j0A==
|
||||
integrity: sha512-/esN6tb6OBSot6+JxgeOZeBk6P8V/WdR3GKBFeFpSqhgw4wx7xWUqPrdx4XNpBVO7X4Ipw9SAqgBrWHlXfddww==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [x64]
|
||||
@ -3419,10 +3419,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-openbsd-64/0.14.28:
|
||||
/esbuild-openbsd-64/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-HBv18rVapbuDx52/fhZ/c/w6TXyaQAvRxiDDn5Hz/pBcwOs3cdd2WxeIKlWmDoqm2JMx5EVlq4IWgoaRX9mVkw==
|
||||
integrity: sha512-jUTdDzhEKrD0pLpjmk0UxwlfNJNg/D50vdwhrVcW/D26Vg0hVbthMfb19PJMatzclbK7cmgk1Nu0eNS+abzoHw==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [x64]
|
||||
@ -3431,10 +3431,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-sunos-64/0.14.28:
|
||||
/esbuild-sunos-64/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-zlIxePhZxKYheR2vBCgPVvTixgo/ozOfOMoP6RZj8dxzquU1NgeyhjkcRXucbLCtmoNJ+i4PtWwPZTLuDd3bGg==
|
||||
integrity: sha512-EfhQN/XO+TBHTbkxwsxwA7EfiTHFe+MNDfxcf0nj97moCppD9JHPq48MLtOaDcuvrTYOcrMdJVeqmmeQ7doTcg==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [x64]
|
||||
@ -3443,10 +3443,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-windows-32/0.14.28:
|
||||
/esbuild-windows-32/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-am9DIJxXlld1BOAY/VlvBQHMUCPL7S3gB/lnXIY3M4ys0gfuRqPf4EvMwZMzYUbFKBY+/Qb8SRgPRRGhwnJ8Kg==
|
||||
integrity: sha512-uoyb0YAJ6uWH4PYuYjfGNjvgLlb5t6b3zIaGmpWPOjgpr1Nb3SJtQiK4YCPGhONgfg2v6DcJgSbOteuKXhwqAw==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [ia32]
|
||||
@ -3455,10 +3455,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-windows-64/0.14.28:
|
||||
/esbuild-windows-64/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-78PhySDnmRZlsPNp/W/5Fim8iivlBQQxfhBFIqR7xwvfDmCFUSByyMKP7LCHgNtb04yNdop8nJJkJaQ8Xnwgiw==
|
||||
integrity: sha512-X9cW/Wl95QjsH8WUyr3NqbmfdU72jCp71cH3pwPvI4CgBM2IeOUDdbt6oIGljPu2bf5eGDIo8K3Y3vvXCCTd8A==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [x64]
|
||||
@ -3467,10 +3467,10 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/esbuild-windows-arm64/0.14.28:
|
||||
/esbuild-windows-arm64/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-VhXGBTo6HELD8zyHXynV6+L2jWx0zkKnGx4TmEdSBK7UVFACtOyfUqpToG0EtnYyRZ0HESBhzPSVpP781ovmvA==
|
||||
integrity: sha512-+O/PI+68fbUZPpl3eXhqGHTGK7DjLcexNnyJqtLZXOFwoAjaXlS5UBCvVcR3o2va+AqZTj8o6URaz8D2K+yfQQ==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
cpu: [arm64]
|
||||
@ -3488,35 +3488,35 @@ packages:
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
|
||||
/esbuild/0.14.28:
|
||||
/esbuild/0.14.29:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-YLNprkCcMVKQ5sekmCKEQ3Obu/L7s6+iij38xNKyBeSmSsTWur4Ky/9zB3XIGT8SCJITG/bZwAR2l7YOAXch4Q==
|
||||
integrity: sha512-SQS8cO8xFEqevYlrHt6exIhK853Me4nZ4aMW6ieysInLa0FMAL+AKs87HYNRtR2YWRcEIqoXAHh+Ytt5/66qpg==
|
||||
}
|
||||
engines: { node: ">=12" }
|
||||
hasBin: true
|
||||
requiresBuild: true
|
||||
optionalDependencies:
|
||||
esbuild-android-64: 0.14.28
|
||||
esbuild-android-arm64: 0.14.28
|
||||
esbuild-darwin-64: 0.14.28
|
||||
esbuild-darwin-arm64: 0.14.28
|
||||
esbuild-freebsd-64: 0.14.28
|
||||
esbuild-freebsd-arm64: 0.14.28
|
||||
esbuild-linux-32: 0.14.28
|
||||
esbuild-linux-64: 0.14.28
|
||||
esbuild-linux-arm: 0.14.28
|
||||
esbuild-linux-arm64: 0.14.28
|
||||
esbuild-linux-mips64le: 0.14.28
|
||||
esbuild-linux-ppc64le: 0.14.28
|
||||
esbuild-linux-riscv64: 0.14.28
|
||||
esbuild-linux-s390x: 0.14.28
|
||||
esbuild-netbsd-64: 0.14.28
|
||||
esbuild-openbsd-64: 0.14.28
|
||||
esbuild-sunos-64: 0.14.28
|
||||
esbuild-windows-32: 0.14.28
|
||||
esbuild-windows-64: 0.14.28
|
||||
esbuild-windows-arm64: 0.14.28
|
||||
esbuild-android-64: 0.14.29
|
||||
esbuild-android-arm64: 0.14.29
|
||||
esbuild-darwin-64: 0.14.29
|
||||
esbuild-darwin-arm64: 0.14.29
|
||||
esbuild-freebsd-64: 0.14.29
|
||||
esbuild-freebsd-arm64: 0.14.29
|
||||
esbuild-linux-32: 0.14.29
|
||||
esbuild-linux-64: 0.14.29
|
||||
esbuild-linux-arm: 0.14.29
|
||||
esbuild-linux-arm64: 0.14.29
|
||||
esbuild-linux-mips64le: 0.14.29
|
||||
esbuild-linux-ppc64le: 0.14.29
|
||||
esbuild-linux-riscv64: 0.14.29
|
||||
esbuild-linux-s390x: 0.14.29
|
||||
esbuild-netbsd-64: 0.14.29
|
||||
esbuild-openbsd-64: 0.14.29
|
||||
esbuild-sunos-64: 0.14.29
|
||||
esbuild-windows-32: 0.14.29
|
||||
esbuild-windows-64: 0.14.29
|
||||
esbuild-windows-arm64: 0.14.29
|
||||
dev: true
|
||||
|
||||
/escalade/3.1.1:
|
||||
@ -7223,7 +7223,7 @@ packages:
|
||||
engines: { node: ">= 0.8" }
|
||||
dev: true
|
||||
|
||||
/unplugin-element-plus/0.3.2_rollup@2.70.1+vite@2.9.0-beta.10:
|
||||
/unplugin-element-plus/0.3.2_rollup@2.70.1+vite@2.9.1:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-/oPbLA1ByrZ3VvN3jrVtVZcGJ147+ccyrL1w9d8wNLTTMH+buxdtiMQQv9R7Muz22ocJvebXZzlRVlA/JeeVPA==
|
||||
@ -7233,7 +7233,7 @@ packages:
|
||||
"@rollup/pluginutils": 4.2.0
|
||||
es-module-lexer: 0.10.4
|
||||
magic-string: 0.26.1
|
||||
unplugin: 0.3.3_rollup@2.70.1+vite@2.9.0-beta.10
|
||||
unplugin: 0.3.3_rollup@2.70.1+vite@2.9.1
|
||||
transitivePeerDependencies:
|
||||
- esbuild
|
||||
- rollup
|
||||
@ -7241,7 +7241,7 @@ packages:
|
||||
- webpack
|
||||
dev: true
|
||||
|
||||
/unplugin/0.3.3_rollup@2.70.1+vite@2.9.0-beta.10:
|
||||
/unplugin/0.3.3_rollup@2.70.1+vite@2.9.1:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-WjZWpUqqcYPQ/efR00Zm2m1+J1LitwoZ4uhHV4VdZ+IpW0Nh/qnDYtVf+nLhozXdGxslMPecOshVR7NiWFl4gA==
|
||||
@ -7262,7 +7262,7 @@ packages:
|
||||
optional: true
|
||||
dependencies:
|
||||
rollup: 2.70.1
|
||||
vite: 2.9.0-beta.10_sass@1.49.9
|
||||
vite: 2.9.1_sass@1.49.9
|
||||
webpack-virtual-modules: 0.4.3
|
||||
dev: true
|
||||
|
||||
@ -7358,7 +7358,7 @@ packages:
|
||||
chokidar: 3.5.3
|
||||
dev: true
|
||||
|
||||
/vite-plugin-mock/2.9.6_9f12a304f5d96f739756818b56e7825f:
|
||||
/vite-plugin-mock/2.9.6_9cb7b45a435b0b365a3d11bf7a7969b0:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-/Rm59oPppe/ncbkSrUuAxIQihlI2YcBmnbR4ST1RA2VzM1C0tEQc1KlbQvnUGhXECAGTaQN2JyasiwXP6EtKgg==
|
||||
@ -7378,7 +7378,7 @@ packages:
|
||||
fast-glob: 3.2.11
|
||||
mockjs: 1.1.0
|
||||
path-to-regexp: 6.2.0
|
||||
vite: 2.9.0-beta.10_sass@1.49.9
|
||||
vite: 2.9.1_sass@1.49.9
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
- supports-color
|
||||
@ -7391,7 +7391,7 @@ packages:
|
||||
}
|
||||
dev: true
|
||||
|
||||
/vite-plugin-style-import/1.4.1_vite@2.9.0-beta.10:
|
||||
/vite-plugin-style-import/1.4.1_vite@2.9.1:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-lJCRvm7+So0hHdnSJiJPg9gD5mxtL6YY0jmhEph+k7ArpsyvqOh6han2kG5htbWWDZxHkUN9d1BuTFL//yCLLQ==
|
||||
@ -7405,12 +7405,12 @@ packages:
|
||||
es-module-lexer: 0.9.3
|
||||
fs-extra: 10.0.1
|
||||
magic-string: 0.25.9
|
||||
vite: 2.9.0-beta.10_sass@1.49.9
|
||||
vite: 2.9.1_sass@1.49.9
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/vite-plugin-windicss/1.8.3_vite@2.9.0-beta.10:
|
||||
/vite-plugin-windicss/1.8.3_vite@2.9.1:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-RIw2GD6H6cKNE8wZXVOBs4L1uTicVS0FaAkeqXvy1oyuXLC4SXmvnzEuoK0+qFuWJjW0ECNwE8eU+ZZhzNQKUg==
|
||||
@ -7421,7 +7421,7 @@ packages:
|
||||
"@windicss/plugin-utils": 1.8.3
|
||||
debug: 4.3.4
|
||||
kolorist: 1.5.1
|
||||
vite: 2.9.0-beta.10_sass@1.49.9
|
||||
vite: 2.9.1_sass@1.49.9
|
||||
windicss: 3.5.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@ -7437,10 +7437,10 @@ packages:
|
||||
svgo: 2.8.0
|
||||
dev: true
|
||||
|
||||
/vite/2.9.0-beta.10_sass@1.49.9:
|
||||
/vite/2.9.1_sass@1.49.9:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-CvAssYHcjWHGyxEUG+lt5KHWwL0VdUI9DlXnNnxkZqWlNpzcqxuU4V/mxOh83Eg71R8ya2BjA5yX1RwPijoKZA==
|
||||
integrity: sha512-vSlsSdOYGcYEJfkQ/NeLXgnRv5zZfpAsdztkIrs7AZHV8RCMZQkwjo4DS5BnrYTqoWqLoUe1Cah4aVO4oNNqCQ==
|
||||
}
|
||||
engines: { node: ">=12.2.0" }
|
||||
hasBin: true
|
||||
@ -7456,7 +7456,7 @@ packages:
|
||||
stylus:
|
||||
optional: true
|
||||
dependencies:
|
||||
esbuild: 0.14.28
|
||||
esbuild: 0.14.29
|
||||
postcss: 8.4.12
|
||||
resolve: 1.22.0
|
||||
rollup: 2.70.1
|
||||
|
@ -89,7 +89,13 @@ export const useMultiTagsStore = defineStore({
|
||||
}
|
||||
break;
|
||||
case "splice":
|
||||
this.multiTags.splice(position?.startIndex, position?.length);
|
||||
if (!position) {
|
||||
const index = this.multiTags.findIndex(v => v.path === value);
|
||||
if (index === -1) return;
|
||||
this.multiTags.splice(index, 1);
|
||||
} else {
|
||||
this.multiTags.splice(position?.startIndex, position?.length);
|
||||
}
|
||||
this.tagsCache(this.multiTags);
|
||||
return this.multiTags;
|
||||
case "slice":
|
||||
|
@ -42,9 +42,10 @@
|
||||
}
|
||||
|
||||
/* 动态改变cssvar 用于主题切换 https://github.com/element-plus/element-plus/issues/4856#issuecomment-1000174357 */
|
||||
.el-button--primary {
|
||||
--el-button-active-bg-color: var(--el-color-primary-active) !important;
|
||||
--el-button-active-border-color: var(--el-color-primary-active) !important;
|
||||
.el-button--primary,
|
||||
.el-button--primary.is-plain {
|
||||
--el-button-active-bg-color: var(--el-color-primary) !important;
|
||||
--el-button-active-border-color: var(--el-color-primary) !important;
|
||||
}
|
||||
|
||||
/* button--primary plain */
|
||||
|
@ -65,3 +65,55 @@ export function buildHierarchyTree(menuTree, pathList = []) {
|
||||
}
|
||||
return menuTree;
|
||||
}
|
||||
|
||||
/**
|
||||
* 广度优先遍历算法,找当前节点
|
||||
* @param {Array} tree 原始树,数组
|
||||
* @param {Number|String} uniqueId 唯一uniqueId
|
||||
* @return {Object} node
|
||||
*/
|
||||
export function getNodeByUniqueId(menuTree, uniqueId) {
|
||||
if (!Array.isArray(menuTree)) {
|
||||
console.warn("menuTree must be an array");
|
||||
return;
|
||||
}
|
||||
if (!menuTree || menuTree.length === 0) return;
|
||||
const item = menuTree.find(node => node.uniqueId === uniqueId);
|
||||
if (item) return item;
|
||||
const childrenList = menuTree
|
||||
.filter(node => node.children)
|
||||
.map(i => i.children)
|
||||
.flat(1);
|
||||
return getNodeByUniqueId(childrenList, uniqueId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 向当前唯一uniqueId节点追加字段
|
||||
* @param {Array} {menuTree 菜单树}
|
||||
* @param {Number|String} uniqueId 唯一uniqueId
|
||||
* @param {Object} fields 唯一uniqueId
|
||||
* @return {menuTree} 追加字段后的树
|
||||
*/
|
||||
export function appendFieldByUniqueId(
|
||||
menuTree: Array<any>,
|
||||
uniqueId: Number | String,
|
||||
fields: Object
|
||||
) {
|
||||
if (!Array.isArray(menuTree)) {
|
||||
console.warn("menuTree must be an array");
|
||||
return;
|
||||
}
|
||||
if (!menuTree || menuTree.length === 0) return {};
|
||||
for (const node of menuTree) {
|
||||
const hasChildren = node.children && node.children.length > 0;
|
||||
if (
|
||||
node.uniqueId === uniqueId &&
|
||||
Object.prototype.toString.call(fields) === "[object Object]"
|
||||
)
|
||||
Object.assign(node, fields);
|
||||
if (hasChildren) {
|
||||
appendFieldByUniqueId(node.children, uniqueId, fields);
|
||||
}
|
||||
}
|
||||
return menuTree;
|
||||
}
|
||||
|
@ -1,9 +1,30 @@
|
||||
<script setup lang="ts">
|
||||
import { useI18n } from "vue-i18n";
|
||||
import { ref, computed } from "vue";
|
||||
import { useRouter, useRoute } from "vue-router";
|
||||
import { TreeSelect } from "@pureadmin/components";
|
||||
import { useMultiTagsStoreHook } from "/@/store/modules/multiTags";
|
||||
|
||||
const router = useRouter();
|
||||
import {
|
||||
deleteChildren,
|
||||
appendFieldByUniqueId,
|
||||
getNodeByUniqueId
|
||||
} from "/@/utils/tree";
|
||||
import { usePermissionStoreHook } from "/@/store/modules/permission";
|
||||
|
||||
let treeData = computed(() => {
|
||||
return appendFieldByUniqueId(
|
||||
deleteChildren(usePermissionStoreHook().menusTree),
|
||||
0,
|
||||
{ disabled: true }
|
||||
);
|
||||
});
|
||||
|
||||
const { t } = useI18n();
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
|
||||
const value = ref<string[]>([]);
|
||||
|
||||
function toDetail(index: number) {
|
||||
useMultiTagsStoreHook().handleTags("push", {
|
||||
@ -20,6 +41,15 @@ function toDetail(index: number) {
|
||||
});
|
||||
router.push({ name: "tabDetail", query: { id: String(index) } });
|
||||
}
|
||||
|
||||
function onCloseTags() {
|
||||
value.value.forEach(uniqueId => {
|
||||
let currentPath =
|
||||
getNodeByUniqueId(treeData.value, uniqueId).redirect ??
|
||||
getNodeByUniqueId(treeData.value, uniqueId).path;
|
||||
useMultiTagsStoreHook().handleTags("splice", currentPath);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@ -34,5 +64,33 @@ function toDetail(index: number) {
|
||||
<el-button v-for="index in 6" :key="index" @click="toDetail(index)">
|
||||
打开{{ index }}详情页
|
||||
</el-button>
|
||||
<el-divider />
|
||||
<TreeSelect
|
||||
class="w-300px"
|
||||
v-model:value="value"
|
||||
show-search
|
||||
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
|
||||
placeholder="请选择要关闭的标签"
|
||||
:fieldNames="{
|
||||
children: 'children',
|
||||
key: 'uniqueId',
|
||||
value: 'uniqueId'
|
||||
}"
|
||||
allow-clear
|
||||
multiple
|
||||
tree-default-expand-all
|
||||
:tree-data="treeData"
|
||||
>
|
||||
<template #tagRender="{ closable, onClose, option }">
|
||||
<el-tag class="mr-3px" :closable="closable" @close="onClose">
|
||||
{{ t(option.meta.title) }}
|
||||
</el-tag>
|
||||
</template>
|
||||
|
||||
<template #title="{ data }">
|
||||
<span>{{ t(data.meta.title) }}</span>
|
||||
</template>
|
||||
</TreeSelect>
|
||||
<el-button class="ml-2" @click="onCloseTags">关闭标签</el-button>
|
||||
</el-card>
|
||||
</template>
|
||||
|
Loading…
Reference in New Issue
Block a user