<script lang="ts" setup>
|
import icon_left_outlined from '@/assets/svg/icon_left_outlined.svg'
|
import icon_right_outlined from '@/assets/svg/icon_right_outlined.svg'
|
import { useAppStoreWithOut } from '@/store/modules/app'
|
const appStore = useAppStoreWithOut()
|
defineProps({
|
isInside: {
|
type: Boolean,
|
default: false
|
}
|
})
|
const emits = defineEmits(['changeSideTreeStatus'])
|
const handleClick = val => {
|
appStore.setArrowSide(val)
|
emits('changeSideTreeStatus', val)
|
}
|
</script>
|
|
<template>
|
<div
|
@click="handleClick(false)"
|
v-if="appStore.getArrowSide && !isInside"
|
class="arrow-side-tree arrow-side-tree-left"
|
>
|
<el-icon>
|
<Icon name="icon_left_outlined"><icon_left_outlined class="svg-icon" /></Icon>
|
</el-icon>
|
</div>
|
<div
|
@click="handleClick(true)"
|
v-else-if="!appStore.getArrowSide && isInside"
|
class="arrow-side-tree arrow-side-tree-right"
|
>
|
<el-icon>
|
<Icon name="icon_right_outlined"><icon_right_outlined class="svg-icon" /></Icon>
|
</el-icon>
|
</div>
|
</template>
|
|
<style lang="less" scoped>
|
.arrow-side-tree-left {
|
top: 44px;
|
height: 24px;
|
width: 24px;
|
border-radius: 50%;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
box-shadow: 0px 5px 10px 0px #1f23291a;
|
}
|
|
.arrow-side-tree-right {
|
box-shadow: 0px 4px 8px 0px #0000001a;
|
top: 44px;
|
height: 24px;
|
width: 20px;
|
display: flex;
|
align-items: center;
|
padding-left: 2px;
|
border-top-right-radius: 12px;
|
border-bottom-right-radius: 12px;
|
&:hover {
|
padding-left: 4px;
|
width: 24px;
|
}
|
}
|
|
.arrow-side-tree {
|
position: absolute;
|
border: 1px solid #dee0e3;
|
background: #fff;
|
cursor: pointer;
|
z-index: 10;
|
&:hover {
|
.ed-icon {
|
color: var(--ed-color-primary);
|
}
|
}
|
.ed-icon {
|
font-size: 12px;
|
}
|
}
|
</style>
|