feat: add vue/html-self-closing eslint

This commit is contained in:
xiaoxian521 2022-03-21 15:40:29 +08:00
parent 7beb3e63fe
commit 997711b264
39 changed files with 121 additions and 144 deletions

View File

@ -61,6 +61,18 @@ module.exports = {
"@typescript-eslint/ban-ts-comment": "off", "@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/no-empty-function": "off", "@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/no-non-null-assertion": "off", "@typescript-eslint/no-non-null-assertion": "off",
"vue/html-self-closing": [
"error",
{
html: {
void: "always",
normal: "always",
component: "always"
},
svg: "always",
math: "always"
}
],
"@typescript-eslint/no-unused-vars": [ "@typescript-eslint/no-unused-vars": [
"error", "error",
{ {

View File

@ -120,7 +120,7 @@
"stylelint-order": "^5.0.0", "stylelint-order": "^5.0.0",
"typescript": "^4.6.2", "typescript": "^4.6.2",
"unplugin-element-plus": "^0.3.1", "unplugin-element-plus": "^0.3.1",
"vite": "^2.9.0-beta.3", "vite": "^2.9.0-beta.4",
"vite-plugin-live-reload": "^2.1.0", "vite-plugin-live-reload": "^2.1.0",
"vite-plugin-mock": "^2.9.6", "vite-plugin-mock": "^2.9.6",
"vite-plugin-remove-console": "^0.0.6", "vite-plugin-remove-console": "^0.0.6",

54
pnpm-lock.yaml generated
View File

@ -83,7 +83,7 @@ specifiers:
typescript: ^4.6.2 typescript: ^4.6.2
unplugin-element-plus: ^0.3.1 unplugin-element-plus: ^0.3.1
v-contextmenu: 3.0.0 v-contextmenu: 3.0.0
vite: ^2.9.0-beta.3 vite: ^2.9.0-beta.4
vite-plugin-live-reload: ^2.1.0 vite-plugin-live-reload: ^2.1.0
vite-plugin-mock: ^2.9.6 vite-plugin-mock: ^2.9.6
vite-plugin-remove-console: ^0.0.6 vite-plugin-remove-console: ^0.0.6
@ -154,7 +154,7 @@ devDependencies:
"@iconify-icons/fa-solid": 1.2.2 "@iconify-icons/fa-solid": 1.2.2
"@iconify-icons/ri": 1.2.1 "@iconify-icons/ri": 1.2.1
"@iconify/vue": 3.1.4_vue@3.2.31 "@iconify/vue": 3.1.4_vue@3.2.31
"@intlify/vite-plugin-vue-i18n": 3.3.1_5005873cfdafd7bccc775c7a0caf8390 "@intlify/vite-plugin-vue-i18n": 3.3.1_fecf2311320b252734da88aa76ba6360
"@pureadmin/theme": 0.0.1 "@pureadmin/theme": 0.0.1
"@types/element-resize-detector": 1.1.3 "@types/element-resize-detector": 1.1.3
"@types/js-cookie": 3.0.1 "@types/js-cookie": 3.0.1
@ -166,8 +166,8 @@ devDependencies:
"@types/qs": 6.9.7 "@types/qs": 6.9.7
"@typescript-eslint/eslint-plugin": 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28 "@typescript-eslint/eslint-plugin": 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28
"@typescript-eslint/parser": 5.15.0_eslint@8.11.0+typescript@4.6.2 "@typescript-eslint/parser": 5.15.0_eslint@8.11.0+typescript@4.6.2
"@vitejs/plugin-legacy": 1.7.1_vite@2.9.0-beta.3 "@vitejs/plugin-legacy": 1.7.1_vite@2.9.0-beta.4
"@vitejs/plugin-vue": 2.2.4_vite@2.9.0-beta.3+vue@3.2.31 "@vitejs/plugin-vue": 2.2.4_vite@2.9.0-beta.4+vue@3.2.31
"@vitejs/plugin-vue-jsx": 1.3.8 "@vitejs/plugin-vue-jsx": 1.3.8
"@vue/eslint-config-prettier": 7.0.0_eslint@8.11.0+prettier@2.6.0 "@vue/eslint-config-prettier": 7.0.0_eslint@8.11.0+prettier@2.6.0
"@vue/eslint-config-typescript": 10.0.0_5e58415d4c9ab0c3da8935a9b8bb8c26 "@vue/eslint-config-typescript": 10.0.0_5e58415d4c9ab0c3da8935a9b8bb8c26
@ -197,13 +197,13 @@ devDependencies:
stylelint-config-standard: 24.0.0_stylelint@14.6.0 stylelint-config-standard: 24.0.0_stylelint@14.6.0
stylelint-order: 5.0.0_stylelint@14.6.0 stylelint-order: 5.0.0_stylelint@14.6.0
typescript: 4.6.2 typescript: 4.6.2
unplugin-element-plus: 0.3.2_rollup@2.70.1+vite@2.9.0-beta.3 unplugin-element-plus: 0.3.2_rollup@2.70.1+vite@2.9.0-beta.4
vite: 2.9.0-beta.3_sass@1.49.9 vite: 2.9.0-beta.4_sass@1.49.9
vite-plugin-live-reload: 2.1.0 vite-plugin-live-reload: 2.1.0
vite-plugin-mock: 2.9.6_0f4f060d71e998e1697ce4d6d1a6c012 vite-plugin-mock: 2.9.6_cc7e5ded527ea0e0180226d44637e3ca
vite-plugin-remove-console: 0.0.6 vite-plugin-remove-console: 0.0.6
vite-plugin-style-import: 1.4.1_vite@2.9.0-beta.3 vite-plugin-style-import: 1.4.1_vite@2.9.0-beta.4
vite-plugin-windicss: 1.8.3_vite@2.9.0-beta.3 vite-plugin-windicss: 1.8.3_vite@2.9.0-beta.4
vite-svg-loader: 2.2.0 vite-svg-loader: 2.2.0
vue-eslint-parser: 8.3.0_eslint@8.11.0 vue-eslint-parser: 8.3.0_eslint@8.11.0
windicss: 3.5.1 windicss: 3.5.1
@ -1062,7 +1062,7 @@ packages:
} }
engines: { node: ">= 12" } engines: { node: ">= 12" }
/@intlify/vite-plugin-vue-i18n/3.3.1_5005873cfdafd7bccc775c7a0caf8390: /@intlify/vite-plugin-vue-i18n/3.3.1_fecf2311320b252734da88aa76ba6360:
resolution: resolution:
{ {
integrity: sha512-b9HIUANzL4/LmrA5RqeiPabZl2/RiWNAJ90TVZ8kSi3APRZ4BbmwUAclKe8ip+1jCDhqaGO/qfAI7SbQ0Y76Uw== integrity: sha512-b9HIUANzL4/LmrA5RqeiPabZl2/RiWNAJ90TVZ8kSi3APRZ4BbmwUAclKe8ip+1jCDhqaGO/qfAI7SbQ0Y76Uw==
@ -1084,7 +1084,7 @@ packages:
debug: 4.3.3 debug: 4.3.3
fast-glob: 3.2.11 fast-glob: 3.2.11
source-map: 0.6.1 source-map: 0.6.1
vite: 2.9.0-beta.3_sass@1.49.9 vite: 2.9.0-beta.4_sass@1.49.9
vue-i18n: 9.2.0-beta.32_vue@3.2.31 vue-i18n: 9.2.0-beta.32_vue@3.2.31
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -1535,7 +1535,7 @@ packages:
eslint-visitor-keys: 3.3.0 eslint-visitor-keys: 3.3.0
dev: true dev: true
/@vitejs/plugin-legacy/1.7.1_vite@2.9.0-beta.3: /@vitejs/plugin-legacy/1.7.1_vite@2.9.0-beta.4:
resolution: resolution:
{ {
integrity: sha512-RqgILXsGpfV7NHodVCdBVau8ss5+ynMXp6JGF/F7nhSy0bnwSQPlMS3KFqh7twfifXK8VuMriqfU4CxOiqmNnA== integrity: sha512-RqgILXsGpfV7NHodVCdBVau8ss5+ynMXp6JGF/F7nhSy0bnwSQPlMS3KFqh7twfifXK8VuMriqfU4CxOiqmNnA==
@ -1549,7 +1549,7 @@ packages:
magic-string: 0.25.9 magic-string: 0.25.9
regenerator-runtime: 0.13.9 regenerator-runtime: 0.13.9
systemjs: 6.12.1 systemjs: 6.12.1
vite: 2.9.0-beta.3_sass@1.49.9 vite: 2.9.0-beta.4_sass@1.49.9
dev: true dev: true
/@vitejs/plugin-vue-jsx/1.3.8: /@vitejs/plugin-vue-jsx/1.3.8:
@ -1569,7 +1569,7 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@vitejs/plugin-vue/2.2.4_vite@2.9.0-beta.3+vue@3.2.31: /@vitejs/plugin-vue/2.2.4_vite@2.9.0-beta.4+vue@3.2.31:
resolution: resolution:
{ {
integrity: sha512-ev9AOlp0ljCaDkFZF3JwC/pD2N4Hh+r5srl5JHM6BKg5+99jiiK0rE/XaRs3pVm1wzyKkjUy/StBSoXX5fFzcw== integrity: sha512-ev9AOlp0ljCaDkFZF3JwC/pD2N4Hh+r5srl5JHM6BKg5+99jiiK0rE/XaRs3pVm1wzyKkjUy/StBSoXX5fFzcw==
@ -1579,7 +1579,7 @@ packages:
vite: ^2.5.10 vite: ^2.5.10
vue: ^3.2.25 vue: ^3.2.25
dependencies: dependencies:
vite: 2.9.0-beta.3_sass@1.49.9 vite: 2.9.0-beta.4_sass@1.49.9
vue: 3.2.31 vue: 3.2.31
dev: true dev: true
@ -7215,7 +7215,7 @@ packages:
engines: { node: ">= 0.8" } engines: { node: ">= 0.8" }
dev: true dev: true
/unplugin-element-plus/0.3.2_rollup@2.70.1+vite@2.9.0-beta.3: /unplugin-element-plus/0.3.2_rollup@2.70.1+vite@2.9.0-beta.4:
resolution: resolution:
{ {
integrity: sha512-/oPbLA1ByrZ3VvN3jrVtVZcGJ147+ccyrL1w9d8wNLTTMH+buxdtiMQQv9R7Muz22ocJvebXZzlRVlA/JeeVPA== integrity: sha512-/oPbLA1ByrZ3VvN3jrVtVZcGJ147+ccyrL1w9d8wNLTTMH+buxdtiMQQv9R7Muz22ocJvebXZzlRVlA/JeeVPA==
@ -7225,7 +7225,7 @@ packages:
"@rollup/pluginutils": 4.2.0 "@rollup/pluginutils": 4.2.0
es-module-lexer: 0.10.2 es-module-lexer: 0.10.2
magic-string: 0.26.1 magic-string: 0.26.1
unplugin: 0.3.3_rollup@2.70.1+vite@2.9.0-beta.3 unplugin: 0.3.3_rollup@2.70.1+vite@2.9.0-beta.4
transitivePeerDependencies: transitivePeerDependencies:
- esbuild - esbuild
- rollup - rollup
@ -7233,7 +7233,7 @@ packages:
- webpack - webpack
dev: true dev: true
/unplugin/0.3.3_rollup@2.70.1+vite@2.9.0-beta.3: /unplugin/0.3.3_rollup@2.70.1+vite@2.9.0-beta.4:
resolution: resolution:
{ {
integrity: sha512-WjZWpUqqcYPQ/efR00Zm2m1+J1LitwoZ4uhHV4VdZ+IpW0Nh/qnDYtVf+nLhozXdGxslMPecOshVR7NiWFl4gA== integrity: sha512-WjZWpUqqcYPQ/efR00Zm2m1+J1LitwoZ4uhHV4VdZ+IpW0Nh/qnDYtVf+nLhozXdGxslMPecOshVR7NiWFl4gA==
@ -7254,7 +7254,7 @@ packages:
optional: true optional: true
dependencies: dependencies:
rollup: 2.70.1 rollup: 2.70.1
vite: 2.9.0-beta.3_sass@1.49.9 vite: 2.9.0-beta.4_sass@1.49.9
webpack-virtual-modules: 0.4.3 webpack-virtual-modules: 0.4.3
dev: true dev: true
@ -7350,7 +7350,7 @@ packages:
chokidar: 3.5.3 chokidar: 3.5.3
dev: true dev: true
/vite-plugin-mock/2.9.6_0f4f060d71e998e1697ce4d6d1a6c012: /vite-plugin-mock/2.9.6_cc7e5ded527ea0e0180226d44637e3ca:
resolution: resolution:
{ {
integrity: sha512-/Rm59oPppe/ncbkSrUuAxIQihlI2YcBmnbR4ST1RA2VzM1C0tEQc1KlbQvnUGhXECAGTaQN2JyasiwXP6EtKgg== integrity: sha512-/Rm59oPppe/ncbkSrUuAxIQihlI2YcBmnbR4ST1RA2VzM1C0tEQc1KlbQvnUGhXECAGTaQN2JyasiwXP6EtKgg==
@ -7370,7 +7370,7 @@ packages:
fast-glob: 3.2.11 fast-glob: 3.2.11
mockjs: 1.1.0 mockjs: 1.1.0
path-to-regexp: 6.2.0 path-to-regexp: 6.2.0
vite: 2.9.0-beta.3_sass@1.49.9 vite: 2.9.0-beta.4_sass@1.49.9
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
- supports-color - supports-color
@ -7383,7 +7383,7 @@ packages:
} }
dev: true dev: true
/vite-plugin-style-import/1.4.1_vite@2.9.0-beta.3: /vite-plugin-style-import/1.4.1_vite@2.9.0-beta.4:
resolution: resolution:
{ {
integrity: sha512-lJCRvm7+So0hHdnSJiJPg9gD5mxtL6YY0jmhEph+k7ArpsyvqOh6han2kG5htbWWDZxHkUN9d1BuTFL//yCLLQ== integrity: sha512-lJCRvm7+So0hHdnSJiJPg9gD5mxtL6YY0jmhEph+k7ArpsyvqOh6han2kG5htbWWDZxHkUN9d1BuTFL//yCLLQ==
@ -7397,12 +7397,12 @@ packages:
es-module-lexer: 0.9.3 es-module-lexer: 0.9.3
fs-extra: 10.0.1 fs-extra: 10.0.1
magic-string: 0.25.9 magic-string: 0.25.9
vite: 2.9.0-beta.3_sass@1.49.9 vite: 2.9.0-beta.4_sass@1.49.9
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
/vite-plugin-windicss/1.8.3_vite@2.9.0-beta.3: /vite-plugin-windicss/1.8.3_vite@2.9.0-beta.4:
resolution: resolution:
{ {
integrity: sha512-RIw2GD6H6cKNE8wZXVOBs4L1uTicVS0FaAkeqXvy1oyuXLC4SXmvnzEuoK0+qFuWJjW0ECNwE8eU+ZZhzNQKUg== integrity: sha512-RIw2GD6H6cKNE8wZXVOBs4L1uTicVS0FaAkeqXvy1oyuXLC4SXmvnzEuoK0+qFuWJjW0ECNwE8eU+ZZhzNQKUg==
@ -7413,7 +7413,7 @@ packages:
"@windicss/plugin-utils": 1.8.3 "@windicss/plugin-utils": 1.8.3
debug: 4.3.3 debug: 4.3.3
kolorist: 1.5.1 kolorist: 1.5.1
vite: 2.9.0-beta.3_sass@1.49.9 vite: 2.9.0-beta.4_sass@1.49.9
windicss: 3.5.1 windicss: 3.5.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -7429,10 +7429,10 @@ packages:
svgo: 2.8.0 svgo: 2.8.0
dev: true dev: true
/vite/2.9.0-beta.3_sass@1.49.9: /vite/2.9.0-beta.4_sass@1.49.9:
resolution: resolution:
{ {
integrity: sha512-x3G5GGQQlapvyjr2jhFTT16NIbKJdcfYOa6oD8OZuy+WqGTSYolowGJP7tUrTe9y5n641CBKLuhjqXc4gpwUVQ== integrity: sha512-ToelFqN8lBaiK34VHzTbixOImHoHBw/PCveV5Xynd4ie1twcE0G6t9MFgunuN1hoajWMraGL5bV+pZ3hENR7GA==
} }
engines: { node: ">=12.2.0" } engines: { node: ">=12.2.0" }
hasBin: true hasBin: true

View File

@ -92,5 +92,5 @@ tryOnUnmounted(() => {
</script> </script>
<template> <template>
<div :class="'bar' + props.index" style="width: 100%; height: 35vh"></div> <div :class="'bar' + props.index" style="width: 100%; height: 35vh" />
</template> </template>

View File

@ -78,9 +78,9 @@ let classOption = reactive({
> >
<ul class="item"> <ul class="item">
<li v-for="(item, index) in listData" :key="index"> <li v-for="(item, index) in listData" :key="index">
<span v-text="item.date"></span> <span v-text="item.date" />
<span v-text="item.name"></span> <span v-text="item.name" />
<span v-text="item.star"></span> <span v-text="item.star" />
</li> </li>
</ul> </ul>
</SeamlessScroll> </SeamlessScroll>

View File

@ -80,5 +80,5 @@ tryOnUnmounted(() => {
</script> </script>
<template> <template>
<div :class="'line' + props.index" style="width: 100%; height: 35vh"></div> <div :class="'line' + props.index" style="width: 100%; height: 35vh" />
</template> </template>

View File

@ -83,5 +83,5 @@ tryOnUnmounted(() => {
</script> </script>
<template> <template>
<div :class="'pie' + props.index" style="width: 100%; height: 35vh"></div> <div :class="'pie' + props.index" style="width: 100%; height: 35vh" />
</template> </template>

View File

@ -107,7 +107,7 @@ onMounted(() => {
}" }"
@click="onControl(item, key)" @click="onControl(item, key)"
> >
<span :class="'iconfont ' + item.icon"></span> <span :class="'iconfont ' + item.icon" />
<p>{{ item.text }}</p> <p>{{ item.text }}</p>
</button> </button>
</li> </li>

View File

@ -13,5 +13,5 @@ const props = defineProps({
:deep="3" :deep="3"
:showLength="true" :showLength="true"
:data="props.graphData" :data="props.graphData"
></vue-json-pretty> />
</template> </template>

View File

@ -44,7 +44,7 @@ const nodeDragNode = item => {
<div <div
v-if="item.type === 'user' || item.type === 'time'" v-if="item.type === 'user' || item.type === 'time'"
class="shape" class="shape"
></div> />
</div> </div>
<span class="node-label">{{ item.text }}</span> <span class="node-label">{{ item.text }}</span>
</div> </div>

View File

@ -94,7 +94,7 @@ function onCurrentChange(page) {
placeholder="搜索图标" placeholder="搜索图标"
clearable clearable
/> />
<el-divider border-style="dashed"></el-divider> <el-divider border-style="dashed" />
<el-tabs v-model="currentActiveType" @tab-click="handleClick"> <el-tabs v-model="currentActiveType" @tab-click="handleClick">
<el-tab-pane <el-tab-pane
@ -103,10 +103,7 @@ function onCurrentChange(page) {
:label="pane.label" :label="pane.label"
:name="pane.name" :name="pane.name"
> >
<el-divider <el-divider class="tab-divider" border-style="dashed" />
class="tab-divider"
border-style="dashed"
></el-divider>
<el-scrollbar height="220px"> <el-scrollbar height="220px">
<ul class="flex flex-wrap px-2 ml-2"> <ul class="flex flex-wrap px-2 ml-2">
<li <li
@ -123,7 +120,7 @@ function onCurrentChange(page) {
</el-scrollbar> </el-scrollbar>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<el-divider border-style="dashed"></el-divider> <el-divider border-style="dashed" />
<el-pagination <el-pagination
small small
@ -134,8 +131,7 @@ function onCurrentChange(page) {
layout="prev, pager, next" layout="prev, pager, next"
class="flex items-center justify-center h-10" class="flex items-center justify-center h-10"
@current-change="onCurrentChange" @current-change="onCurrentChange"
> />
</el-pagination>
</el-popover> </el-popover>
</template> </template>
</el-input> </el-input>

View File

@ -122,7 +122,7 @@ onUnmounted(() => {
</script> </script>
<template> <template>
<div id="mapview" ref="mapview" v-loading="mapSet.loading"></div> <div id="mapview" ref="mapview" v-loading="mapSet.loading" />
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@ -498,7 +498,7 @@ defineExpose({
:class="leftSwitchClass" :class="leftSwitchClass"
@click="leftSwitchClick" @click="leftSwitchClick"
> >
<slot name="left-switch"></slot> <slot name="left-switch" />
</div> </div>
<div <div
:style="rightSwitch" :style="rightSwitch"
@ -506,7 +506,7 @@ defineExpose({
:class="rightSwitchClass" :class="rightSwitchClass"
@click="rightSwitchClick" @click="rightSwitchClick"
> >
<slot name="right-switch"></slot> <slot name="right-switch" />
</div> </div>
<div <div
:ref="'realBox' + classOption['key']" :ref="'realBox' + classOption['key']"
@ -519,9 +519,9 @@ defineExpose({
@mousewheel="wheel" @mousewheel="wheel"
> >
<div :ref="'slotList' + classOption['key']" :style="float"> <div :ref="'slotList' + classOption['key']" :style="float">
<slot></slot> <slot />
</div> </div>
<div v-html="copyHtml" :style="float"></div> <div v-html="copyHtml" :style="float" />
</div> </div>
</div> </div>
</template> </template>

View File

@ -50,7 +50,7 @@ function hoverDescription(event, description) {
:size="30" :size="30"
:src="props.noticeItem.avatar" :src="props.noticeItem.avatar"
class="notice-container-avatar" class="notice-container-avatar"
></el-avatar> />
<div class="notice-container-text"> <div class="notice-container-text">
<div class="notice-text-title"> <div class="notice-text-title">
<el-tooltip <el-tooltip

View File

@ -17,7 +17,7 @@ const props = defineProps({
v-for="(item, index) in props.list" v-for="(item, index) in props.list"
:noticeItem="item" :noticeItem="item"
:key="index" :key="index"
></NoticeItem> />
</div> </div>
<el-empty v-else description="暂无数据"></el-empty> <el-empty v-else description="暂无数据" />
</template> </template>

View File

@ -26,7 +26,7 @@ emitter.on("openPanel", () => {
<IconifyIconOffline icon="close" /> <IconifyIconOffline icon="close" />
</el-icon> </el-icon>
</div> </div>
<div style="border-bottom: 1px solid #dcdfe6"></div> <div style="border-bottom: 1px solid #dcdfe6" />
<slot /> <slot />
</div> </div>
</div> </div>

View File

@ -11,9 +11,7 @@
@click="handleTo" @click="handleTo"
@mouseenter="handleMouse(item)" @mouseenter="handleMouse(item)"
> >
<component <component :is="useRenderIcon(item.meta?.icon ?? 'bookmark-2-line')" />
:is="useRenderIcon(item.meta?.icon ?? 'bookmark-2-line')"
></component>
<span class="result-item-title">{{ t(item.meta?.title) }}</span> <span class="result-item-title">{{ t(item.meta?.title) }}</span>
<enterOutlined /> <enterOutlined />
</div> </div>

View File

@ -316,8 +316,7 @@ nextTick(() => {
:active-icon="dayIcon" :active-icon="dayIcon"
:inactive-icon="darkIcon" :inactive-icon="darkIcon"
@change="dataThemeChange" @change="dataThemeChange"
> />
</el-switch>
<el-divider>导航栏模式</el-divider> <el-divider>导航栏模式</el-divider>
<ul class="pure-theme"> <ul class="pure-theme">
@ -327,8 +326,8 @@ nextTick(() => {
ref="verticalRef" ref="verticalRef"
@click="setLayoutModel('vertical')" @click="setLayoutModel('vertical')"
> >
<div></div> <div />
<div></div> <div />
</li> </li>
</el-tooltip> </el-tooltip>
@ -338,8 +337,8 @@ nextTick(() => {
ref="horizontalRef" ref="horizontalRef"
@click="setLayoutModel('horizontal')" @click="setLayoutModel('horizontal')"
> >
<div></div> <div />
<div></div> <div />
</li> </li>
</el-tooltip> </el-tooltip>
@ -349,8 +348,8 @@ nextTick(() => {
ref="mixRef" ref="mixRef"
@click="setLayoutModel('mix')" @click="setLayoutModel('mix')"
> >
<div></div> <div />
<div></div> <div />
</li> </li>
</el-tooltip> </el-tooltip>
</ul> </ul>
@ -384,8 +383,7 @@ nextTick(() => {
active-text="开" active-text="开"
inactive-text="关" inactive-text="关"
@change="greyChange" @change="greyChange"
> />
</el-switch>
</li> </li>
<li v-show="!dataTheme"> <li v-show="!dataTheme">
<span>色弱模式</span> <span>色弱模式</span>
@ -396,8 +394,7 @@ nextTick(() => {
active-text="开" active-text="开"
inactive-text="关" inactive-text="关"
@change="weekChange" @change="weekChange"
> />
</el-switch>
</li> </li>
<li> <li>
<span>隐藏标签页</span> <span>隐藏标签页</span>
@ -408,8 +405,7 @@ nextTick(() => {
active-text="开" active-text="开"
inactive-text="关" inactive-text="关"
@change="tagsChange" @change="tagsChange"
> />
</el-switch>
</li> </li>
<li> <li>
<span>侧边栏Logo</span> <span>侧边栏Logo</span>
@ -422,8 +418,7 @@ nextTick(() => {
active-text="开" active-text="开"
inactive-text="关" inactive-text="关"
@change="logoChange" @change="logoChange"
> />
</el-switch>
</li> </li>
<li> <li>
<span>标签页持久化</span> <span>标签页持久化</span>
@ -434,8 +429,7 @@ nextTick(() => {
active-text="开" active-text="开"
inactive-text="关" inactive-text="关"
@change="multiTagsCacheChange" @change="multiTagsCacheChange"
> />
</el-switch>
</li> </li>
<li> <li>

View File

@ -69,11 +69,7 @@ function translationEn() {
<template> <template>
<div class="horizontal-header"> <div class="horizontal-header">
<div class="horizontal-header-left" @click="backHome"> <div class="horizontal-header-left" @click="backHome">
<FontIcon <FontIcon icon="team-iconlogo" svg style="width: 35px; height: 35px" />
icon="team-iconlogo"
svg
style="width: 35px; height: 35px"
></FontIcon>
<h4>{{ title }}</h4> <h4>{{ title }}</h4>
</div> </div>
<el-menu <el-menu

View File

@ -18,11 +18,7 @@ const title =
class="sidebar-logo-link" class="sidebar-logo-link"
to="/" to="/"
> >
<FontIcon <FontIcon icon="team-iconlogo" svg style="width: 35px; height: 35px" />
icon="team-iconlogo"
svg
style="width: 35px; height: 35px"
></FontIcon>
<span class="sidebar-title">{{ title }}</span> <span class="sidebar-title">{{ title }}</span>
</router-link> </router-link>
<router-link <router-link
@ -32,11 +28,7 @@ const title =
class="sidebar-logo-link" class="sidebar-logo-link"
to="/" to="/"
> >
<FontIcon <FontIcon icon="team-iconlogo" svg style="width: 35px; height: 35px" />
icon="team-iconlogo"
svg
style="width: 35px; height: 35px"
></FontIcon>
<span class="sidebar-title">{{ title }}</span> <span class="sidebar-title">{{ title }}</span>
</router-link> </router-link>
</transition> </transition>

View File

@ -120,9 +120,7 @@ function translationEn() {
> >
<template #title> <template #title>
<el-icon v-show="route.meta.icon" :class="route.meta.icon"> <el-icon v-show="route.meta.icon" :class="route.meta.icon">
<component <component :is="useRenderIcon(route.meta && route.meta.icon)" />
:is="useRenderIcon(route.meta && route.meta.icon)"
></component>
</el-icon> </el-icon>
<span>{{ transformI18n(route.meta.title, route.meta.i18n) }}</span> <span>{{ transformI18n(route.meta.title, route.meta.i18n) }}</span>
<FontIcon <FontIcon
@ -132,7 +130,7 @@ function translationEn() {
style="position: absolute; right: 10px" style="position: absolute; right: 10px"
:icon="route.meta.extraIcon.name" :icon="route.meta.extraIcon.name"
:svg="route.meta.extraIcon.svg ? true : false" :svg="route.meta.extraIcon.svg ? true : false"
></FontIcon> />
</template> </template>
</el-menu-item> </el-menu-item>
</el-menu> </el-menu>

View File

@ -156,7 +156,7 @@ function resolvePath(routePath) {
(props.item.meta && props.item.meta.icon) (props.item.meta && props.item.meta.icon)
) )
" "
></component> />
</el-icon> </el-icon>
<div <div
v-if=" v-if="
@ -203,7 +203,7 @@ function resolvePath(routePath) {
:style="getExtraIconStyle" :style="getExtraIconStyle"
:icon="onlyOneChild.meta.extraIcon.name" :icon="onlyOneChild.meta.extraIcon.name"
:svg="onlyOneChild.meta.extraIcon.svg ? true : false" :svg="onlyOneChild.meta.extraIcon.svg ? true : false"
></FontIcon> />
</div> </div>
</template> </template>
</el-menu-item> </el-menu-item>
@ -219,7 +219,7 @@ function resolvePath(routePath) {
<el-icon v-show="props.item.meta.icon" :class="props.item.meta.icon"> <el-icon v-show="props.item.meta.icon" :class="props.item.meta.icon">
<component <component
:is="useRenderIcon(props.item.meta && props.item.meta.icon)" :is="useRenderIcon(props.item.meta && props.item.meta.icon)"
></component> />
</el-icon> </el-icon>
<span v-if="!menuMode">{{ <span v-if="!menuMode">{{
transformI18n(props.item.meta.title, props.item.meta.i18n) transformI18n(props.item.meta.title, props.item.meta.i18n)
@ -250,7 +250,7 @@ function resolvePath(routePath) {
style="position: absolute; right: 10px" style="position: absolute; right: 10px"
:icon="props.item.meta.extraIcon.name" :icon="props.item.meta.extraIcon.name"
:svg="props.item.meta.extraIcon.svg ? true : false" :svg="props.item.meta.extraIcon.svg ? true : false"
></FontIcon> />
</template> </template>
<sidebar-item <sidebar-item
v-for="child in props.item.children" v-for="child in props.item.children"

View File

@ -677,7 +677,7 @@ const getContextMenuStyle = computed((): CSSProperties => {
:ref="'schedule' + index" :ref="'schedule' + index"
v-if="showModel !== 'card'" v-if="showModel !== 'card'"
:class="[scheduleIsActive(item)]" :class="[scheduleIsActive(item)]"
></div> />
</div> </div>
</div> </div>
</div> </div>
@ -748,7 +748,7 @@ const getContextMenuStyle = computed((): CSSProperties => {
</el-dropdown> </el-dropdown>
</li> </li>
<li> <li>
<slot></slot> <slot />
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="frame" v-loading="loading"> <div class="frame" v-loading="loading">
<iframe :src="frameSrc" class="frame-iframe" ref="frameRef"></iframe> <iframe :src="frameSrc" class="frame-iframe" ref="frameRef" />
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>

View File

@ -16,5 +16,5 @@ replace({
</script> </script>
<template> <template>
<div></div> <div />
</template> </template>

View File

@ -67,7 +67,7 @@ const filterMethod = (query: string, node: treeNode) => {
placeholder="请输入关键字查找" placeholder="请输入关键字查找"
clearable clearable
@input="onQueryChanged" @input="onQueryChanged"
></el-input> />
<el-tree-v2 <el-tree-v2
ref="treeRef" ref="treeRef"
:data="menusData" :data="menusData"

View File

@ -159,8 +159,7 @@ const tableData: User[] = [
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
> />
</el-option>
</el-select> </el-select>
<el-button size="small" type="primary" @click="onPrint" <el-button size="small" type="primary" @click="onPrint"
>打印</el-button >打印</el-button
@ -233,16 +232,12 @@ const tableData: User[] = [
:cell-style="cellStyle" :cell-style="cellStyle"
:data="demo1.tableData" :data="demo1.tableData"
> >
<vxe-column type="seq" width="60"></vxe-column> <vxe-column type="seq" width="60" />
<vxe-column field="name" title="Name"></vxe-column> <vxe-column field="name" title="Name" />
<vxe-column field="sex" title="Sex"></vxe-column> <vxe-column field="sex" title="Sex" />
<vxe-column field="age" title="Age"></vxe-column> <vxe-column field="age" title="Age" />
<vxe-column field="attr1" title="Attr1"></vxe-column> <vxe-column field="attr1" title="Attr1" />
<vxe-column <vxe-column field="address" title="Address" show-overflow />
field="address"
title="Address"
show-overflow
></vxe-column>
</vxe-table> </vxe-table>
</el-col> </el-col>

View File

@ -20,7 +20,7 @@ const { setWatermark, clear } = useWatermark();
style="width: 200px" style="width: 200px"
v-model="value" v-model="value"
clearable clearable
></el-input> />
<span>请选择要创建水印的颜色</span <span>请选择要创建水印的颜色</span
><el-color-picker v-model="color" show-alpha /> ><el-color-picker v-model="color" show-alpha />
<br /> <br />

View File

@ -13,7 +13,7 @@ const url = ref(`${VITE_PUBLIC_PATH}html/button.html`);
<span class="font-medium">通过iframe引入按钮页面</span> <span class="font-medium">通过iframe引入按钮页面</span>
</div> </div>
</template> </template>
<iframe :src="url" frameborder="0" class="iframe"></iframe> <iframe :src="url" frameborder="0" class="iframe" />
</el-card> </el-card>
</template> </template>

View File

@ -101,7 +101,7 @@ function changeDirection(val) {
> >
<ul class="item"> <ul class="item">
<li v-for="(item, index) in listData" :key="index"> <li v-for="(item, index) in listData" :key="index">
<span class="title" v-text="item.title"></span> <span class="title" v-text="item.title" />
</li> </li>
</ul> </ul>
</SeamlessScroll> </SeamlessScroll>

View File

@ -40,7 +40,7 @@ onMounted(() => {
> >
</div> </div>
</template> </template>
<div id="mse"></div> <div id="mse" />
</el-card> </el-card>
</template> </template>

View File

@ -43,8 +43,8 @@ onBeforeUnmount(() => {
> >
</div> </div>
</template> </template>
<div ref="editor"></div> <div ref="editor" />
<div :innerHTML="html"></div> <div :innerHTML="html" />
</el-card> </el-card>
</template> </template>

View File

@ -81,11 +81,11 @@ onMounted(() => {
:lf="lf" :lf="lf"
:catTurboData="false" :catTurboData="false"
@catData="catData" @catData="catData"
></Control> />
<!-- 节点面板 --> <!-- 节点面板 -->
<NodePanel :lf="lf" :nodeList="nodeList"></NodePanel> <NodePanel :lf="lf" :nodeList="nodeList" />
<!-- 画布 --> <!-- 画布 -->
<div id="LF-Turbo"></div> <div id="LF-Turbo" />
<!-- 数据查看面板 --> <!-- 数据查看面板 -->
<el-dialog <el-dialog
customClass="flow-dialog" customClass="flow-dialog"
@ -94,7 +94,7 @@ onMounted(() => {
width="50%" width="50%"
> >
<el-scrollbar> <el-scrollbar>
<DataDialog :graphData="graphData"></DataDialog> <DataDialog :graphData="graphData" />
</el-scrollbar> </el-scrollbar>
</el-dialog> </el-dialog>
</div> </div>

View File

@ -73,7 +73,7 @@ function onPwdBlur() {
<img :src="bg" class="wave" /> <img :src="bg" class="wave" />
<div class="login-container"> <div class="login-container">
<div class="img"> <div class="img">
<component :is="currentWeek"></component> <component :is="currentWeek" />
</div> </div>
<div class="login-box"> <div class="login-box">
<div class="login-form"> <div class="login-form">

View File

@ -24,8 +24,8 @@ function changRole(value) {
<template #header> <template #header>
<div class="card-header"> <div class="card-header">
<el-radio-group v-model="auth" @change="changRole"> <el-radio-group v-model="auth" @change="changRole">
<el-radio-button label="admin"></el-radio-button> <el-radio-button label="admin" />
<el-radio-button label="test"></el-radio-button> <el-radio-button label="test" />
</el-radio-group> </el-radio-group>
</div> </div>
</template> </template>

View File

@ -58,15 +58,15 @@ const { lastBuildTime } = __APP_INFO__;
> >
<path <path
d="M573.7 252.5C422.5 197.4 201.3 96.7 201.3 96.7c-15.7-4.1-17.9 11.1-17.9 11.1-5 61.1 33.6 160.5 53.6 182.8 19.9 22.3 319.1 113.7 319.1 113.7S326 357.9 270.5 341.9c-55.6-16-37.9 17.8-37.9 17.8 11.4 61.7 64.9 131.8 107.2 138.4 42.2 6.6 220.1 4 220.1 4s-35.5 4.1-93.2 11.9c-42.7 5.8-97 12.5-111.1 17.8-33.1 12.5 24 62.6 24 62.6 84.7 76.8 129.7 50.5 129.7 50.5 33.3-10.7 61.4-18.5 85.2-24.2L565 743.1h84.6L603 928l205.3-271.9H700.8l22.3-38.7c.3.5.4.8.4.8S799.8 496.1 829 433.8l.6-1h-.1c5-10.8 8.6-19.7 10-25.8 17-71.3-114.5-99.4-265.8-154.5z" d="M573.7 252.5C422.5 197.4 201.3 96.7 201.3 96.7c-15.7-4.1-17.9 11.1-17.9 11.1-5 61.1 33.6 160.5 53.6 182.8 19.9 22.3 319.1 113.7 319.1 113.7S326 357.9 270.5 341.9c-55.6-16-37.9 17.8-37.9 17.8 11.4 61.7 64.9 131.8 107.2 138.4 42.2 6.6 220.1 4 220.1 4s-35.5 4.1-93.2 11.9c-42.7 5.8-97 12.5-111.1 17.8-33.1 12.5 24 62.6 24 62.6 84.7 76.8 129.7 50.5 129.7 50.5 33.3-10.7 61.4-18.5 85.2-24.2L565 743.1h84.6L603 928l205.3-271.9H700.8l22.3-38.7c.3.5.4.8.4.8S799.8 496.1 829 433.8l.6-1h-.1c5-10.8 8.6-19.7 10-25.8 17-71.3-114.5-99.4-265.8-154.5z"
></path> />
</svg> </svg>
催一下 催一下
</span> </span>
</p> </p>
</template> </template>
</el-step> </el-step>
<el-step title="财务复核"></el-step> <el-step title="财务复核" />
<el-step title="完成"></el-step> <el-step title="完成" />
</el-steps> </el-steps>
</div> </div>
</el-card> </el-card>

View File

@ -87,7 +87,7 @@ const checkboxChangeEvent: VxeTableEvents.CheckboxChange = ({ records }) => {
destroy-on-close destroy-on-close
size="640px" size="640px"
> >
<el-divider></el-divider> <el-divider />
<!-- 列表 --> <!-- 列表 -->
<div class="list"> <div class="list">
<vxe-table <vxe-table
@ -97,9 +97,9 @@ const checkboxChangeEvent: VxeTableEvents.CheckboxChange = ({ records }) => {
@checkbox-change="checkboxChangeEvent" @checkbox-change="checkboxChangeEvent"
@checkbox-all="checkboxChangeEvent" @checkbox-all="checkboxChangeEvent"
> >
<vxe-table-column type="checkbox" width="60"></vxe-table-column> <vxe-table-column type="checkbox" width="60" />
<vxe-table-column field="name" title="名称"></vxe-table-column> <vxe-table-column field="name" title="名称" />
<vxe-table-column field="dataval" title="数据值"></vxe-table-column> <vxe-table-column field="dataval" title="数据值" />
<vxe-table-column title="操作" fixed="right"> <vxe-table-column title="操作" fixed="right">
<template #default="{ row }"> <template #default="{ row }">
<vxe-button <vxe-button
@ -139,7 +139,7 @@ const checkboxChangeEvent: VxeTableEvents.CheckboxChange = ({ records }) => {
v-model="configData.isAllChecked" v-model="configData.isAllChecked"
:indeterminate="configData.isIndeterminate" :indeterminate="configData.isIndeterminate"
@change="changeAllEvent" @change="changeAllEvent"
></vxe-checkbox> />
<span class="select-count" <span class="select-count"
>已选中{{ configData.selectRecords.length }}</span >已选中{{ configData.selectRecords.length }}</span
> >

View File

@ -214,7 +214,7 @@ function handleClose() {
v-model="dictData.filterName" v-model="dictData.filterName"
:placeholder="t('buttons.hssearch')" :placeholder="t('buttons.hssearch')"
@keyup="searchEvent" @keyup="searchEvent"
></vxe-input> />
</template> </template>
<template #tools> <template #tools>
<vxe-button <vxe-button
@ -251,11 +251,7 @@ function handleClose() {
:data="dictData.tableData" :data="dictData.tableData"
@cell-dblclick="cellDBLClickEvent" @cell-dblclick="cellDBLClickEvent"
> >
<vxe-table-column <vxe-table-column tree-node field="name" title="字典名称" />
tree-node
field="name"
title="字典名称"
></vxe-table-column>
<vxe-table-column title="字典类型"> <vxe-table-column title="字典类型">
<template #default="{ row }"> <template #default="{ row }">
<el-tooltip <el-tooltip
@ -312,7 +308,7 @@ function handleClose() {
title-align="right" title-align="right"
title-width="100" title-width="100"
@submit="submitEvent" @submit="submitEvent"
></vxe-form> />
</template> </template>
</vxe-modal> </vxe-modal>

View File

@ -218,5 +218,5 @@ const gridOptions = reactive({
</script> </script>
<template> <template>
<vxe-grid v-bind="gridOptions"></vxe-grid> <vxe-grid v-bind="gridOptions" />
</template> </template>