Commit e9c28319b4885e83c708046524461eab5a2cce7e

Authored by vben
1 parent a0b05e77

chore: perf style

src/components/Basic/src/BasicArrow.vue
... ... @@ -11,6 +11,7 @@
11 11 import { defineComponent, computed } from 'vue';
12 12 import { RightOutlined } from '@ant-design/icons-vue';
13 13 import { propTypes } from '/@/utils/propTypes';
  14 + import { useDesign } from '/@/hooks/web/useDesign';
14 15  
15 16 export default defineComponent({
16 17 name: 'BasicArrow',
... ... @@ -23,12 +24,14 @@
23 24 inset: propTypes.bool,
24 25 },
25 26 setup(props) {
  27 + const { prefixCls } = useDesign('basic-arrow');
  28 +
26 29 const getClass = computed(() => {
27 30 const { expand, top, bottom, inset } = props;
28 31 return [
29   - 'base-arrow',
  32 + prefixCls,
30 33 {
31   - 'base-arrow__active': expand,
  34 + [`${prefixCls}--active`]: expand,
32 35 top,
33 36 inset,
34 37 bottom,
... ... @@ -43,18 +46,21 @@
43 46 });
44 47 </script>
45 48 <style lang="less" scoped>
46   - .base-arrow {
  49 + @import (reference) '../../../design/index.less';
  50 + @prefix-cls: ~'@{namespace}-basic-arrow';
  51 +
  52 + .@{prefix-cls} {
47 53 display: inline-block;
48 54 transform: rotate(0deg);
49 55 transition: all 0.3s ease 0.1s;
50 56 transform-origin: center center;
51 57  
52   - &.inset {
53   - line-height: 0px;
  58 + &--active {
  59 + transform: rotate(90deg);
54 60 }
55 61  
56   - &__active {
57   - transform: rotate(90deg);
  62 + &.inset {
  63 + line-height: 0px;
58 64 }
59 65  
60 66 &.top {
... ... @@ -65,11 +71,11 @@
65 71 transform: rotate(90deg);
66 72 }
67 73  
68   - &.top.base-arrow__active {
  74 + &.top.@{prefix-cls}--active {
69 75 transform: rotate(90deg);
70 76 }
71 77  
72   - &.bottom.base-arrow__active {
  78 + &.bottom.@{prefix-cls}--active {
73 79 transform: rotate(-90deg);
74 80 }
75 81 }
... ...
src/components/Basic/src/BasicHelp.vue
... ... @@ -9,6 +9,7 @@
9 9 import { isString, isArray } from '/@/utils/is';
10 10 import { getSlot } from '/@/utils/helper/tsxHelper';
11 11 import { propTypes } from '/@/utils/propTypes';
  12 + import { useDesign } from '/@/hooks/web/useDesign';
12 13 export default defineComponent({
13 14 name: 'BasicHelp',
14 15 components: { Tooltip },
... ... @@ -37,6 +38,8 @@
37 38 },
38 39 },
39 40 setup(props, { slots }) {
  41 + const { prefixCls } = useDesign('basic-help');
  42 +
40 43 const getOverlayStyleRef = computed(
41 44 (): CSSProperties => {
42 45 return {
... ... @@ -86,7 +89,7 @@
86 89 },
87 90 [renderTitle()]
88 91 ),
89   - overlayClassName: 'base-help__wrap',
  92 + overlayClassName: `${prefixCls}__wrap`,
90 93 autoAdjustOverflow: true,
91 94 overlayStyle: unref(getOverlayStyleRef),
92 95 placement: props.placement,
... ... @@ -97,7 +100,7 @@
97 100 h(
98 101 'span',
99 102 {
100   - class: 'base-help',
  103 + class: prefixCls,
101 104 style: unref(getMainStyleRef),
102 105 },
103 106 getSlot(slots) || h(InfoCircleOutlined)
... ... @@ -110,8 +113,9 @@
110 113 </script>
111 114 <style lang="less">
112 115 @import (reference) '../../../design/index.less';
  116 + @prefix-cls: ~'@{namespace}-basic-help';
113 117  
114   - .base-help {
  118 + .@{prefix-cls} {
115 119 display: inline-block;
116 120 margin-left: 6px;
117 121 font-size: 14px;
... ...
src/components/Basic/src/BasicTitle.vue
1 1 <template>
2   - <span class="base-title" :class="{ 'show-span': span && $slots.default }">
  2 + <span :class="[prefixCls, { 'show-span': span && $slots.default }]">
3 3 <slot />
4   - <BasicHelp class="base-title__help" v-if="helpMessage" :text="helpMessage" />
  4 + <BasicHelp :class="`${prefixCls}__help`" v-if="helpMessage" :text="helpMessage" />
5 5 </span>
6 6 </template>
7 7 <script lang="ts">
... ... @@ -11,6 +11,7 @@
11 11  
12 12 import BasicHelp from './BasicHelp.vue';
13 13 import { propTypes } from '/@/utils/propTypes';
  14 + import { useDesign } from '/@/hooks/web/useDesign';
14 15  
15 16 export default defineComponent({
16 17 name: 'BasicTitle',
... ... @@ -22,12 +23,17 @@
22 23 },
23 24 span: propTypes.bool,
24 25 },
  26 + setup() {
  27 + const { prefixCls } = useDesign('basic-title');
  28 + return { prefixCls };
  29 + },
25 30 });
26 31 </script>
27 32 <style lang="less" scoped>
28 33 @import (reference) '../../../design/index.less';
  34 + @prefix-cls: ~'@{namespace}-basic-title';
29 35  
30   - .base-title {
  36 + .@{prefix-cls} {
31 37 position: relative;
32 38 display: flex;
33 39 padding-left: 7px;
... ...
src/components/ClickOutSide/src/index.vue
1 1 <template>
2   - <div ref="wrapRef"><slot /></div>
  2 + <div ref="wrap"><slot /></div>
3 3 </template>
4 4 <script lang="ts">
5 5 import type { Ref } from 'vue';
... ... @@ -10,13 +10,13 @@
10 10 export default defineComponent({
11 11 name: 'ClickOutSide',
12 12 setup(_, { emit }) {
13   - const wrapRef = ref<ElRef>(null);
  13 + const wrap = ref<ElRef>(null);
14 14  
15   - useClickOutside(wrapRef as Ref<HTMLDivElement>, () => {
  15 + useClickOutside(wrap as Ref<HTMLDivElement>, () => {
16 16 emit('clickOutside');
17 17 });
18 18  
19   - return { wrapRef };
  19 + return { wrap };
20 20 },
21 21 });
22 22 </script>
... ...
src/layouts/default/multitabs/index.tsx
... ... @@ -16,6 +16,7 @@ import { tabStore } from &#39;/@/store/modules/tab&#39;;
16 16 import { userStore } from '/@/store/modules/user';
17 17  
18 18 import { initAffixTabs, useTabsDrag } from './useMultipleTabs';
  19 +import { REDIRECT_NAME } from '/@/router/constant';
19 20  
20 21 export default defineComponent({
21 22 name: 'MultipleTabs',
... ... @@ -35,6 +36,9 @@ export default defineComponent({
35 36 watch(
36 37 () => tabStore.getLastChangeRouteState?.path,
37 38 () => {
  39 + if (tabStore.getLastChangeRouteState?.name === REDIRECT_NAME) {
  40 + return;
  41 + }
38 42 const lastChangeRoute = unref(tabStore.getLastChangeRouteState);
39 43 if (!lastChangeRoute || !userStore.getTokenState) return;
40 44 const { path, fullPath } = lastChangeRoute;
... ...