This commit is contained in:
Tran Van Dung/(Tran Van Dung)/현장대리인/SK
2025-08-13 08:18:27 +07:00
parent ffdc56b8f1
commit 68f3f0f381
14 changed files with 295 additions and 24 deletions

View File

@ -98,15 +98,26 @@
:items="treevieItems" activatable hoverable color="#3896ff" open-on-click @update:open="openNode">
<template slot="label" slot-scope="{ item }">
<button :class="{ 'justify-center': miniVariant }" @mouseover="doMouseOver">
<v-icon v-if="item.lvl === 1 && menuIconKeys.includes(item.menuId)"
v-text="menuIconById[item.menuId]" :class="{ 'mr-2': !miniVariant }" size="20"></v-icon>
<v-icon v-else-if="item.lvl === 1 && !menuIconKeys.includes(item.menuId)"
:class="{ 'mr-2': !miniVariant }" size="20">mdi-package-variant-closed</v-icon>
<v-icon v-else-if="item.lvl === 2" :class="{ 'mr-2': !miniVariant }" size="10">
<v-icon
v-if="item.lvl === 1 && menuIconKeys.includes(item.menuId)"
:class="{ 'mr-2': !miniVariant }"
size="14"
v-text="menuIconById[item.menuId]"
></v-icon>
<v-icon
v-else-if="item.lvl === 1 && !menuIconKeys.includes(item.menuId)"
:class="{ 'mr-2': !miniVariant }"
size="14">mdi-package-variant-closed</v-icon>
<v-icon
v-else-if="item.lvl === 2" :class="{ 'mr-2': !miniVariant }"
size="8">
mdi-checkbox-blank
</v-icon>
<v-icon v-else-if="item.lvl >= 3 && item.childeVo.length === 0 && item.url"
:class="miniVariant === false ? 'mr-2' : ''" size="9">
<v-icon
v-else-if="item.lvl >= 3 && item.childeVo.length === 0 && item.url"
:class="miniVariant === false ? 'mr-2' : ''"
size="8">
$depth3rdBulletDark
</v-icon>
<span v-if="item.url">
@ -298,6 +309,7 @@ import ThemeSwitch from "@/components/common/ThemeSwitch";
import AdminMenu from "@/components/common/AdminMenu";
import FadeLoader from "vue-spinner/src/FadeLoader.vue";
import ChangePswdPop from "~/components/common/modal/ChangePswdPop";
export default {
components: {
ThemeSwitch,
@ -318,19 +330,17 @@ export default {
myPrgmId: null,
treeValue: [],
menuIconById: {
// MNU0003: 'mdi-chart-line',
// MNU0004: 'mdi-alarm-light',
// MNU0005: 'mdi-pencil-box-outline',
// MNU0006: 'mdi-cog-outline',
MNU0002: "mdi-monitor",
MNU0091: "mdi-chart-box",
MNU0102: "mdi-human-male-board-poll",
MNU0103: "mdi-file-chart-outline",
MNU0104: "mdi-chart-sankey-variant",
MNU0106: "mdi-database-edit-outline",
MNU0105: "mdi-chart-bell-curve",
MNU0006: "mdi-bulletin-board",
MNU0007: "mdi-cog",
MNU0110: "$anticonAppStore",
MNU0002: "$anticonDesktop",
MNU0003: "$anticonDrag",
MNU0091: "$anticonLineChart",
MNU0102: "$anticonBulb",
MNU0103: "$anticonFileText",
MNU0104: "$anticonNoteExpand",
MNU0106: "$anticonPieChart",
MNU0105: "$anticonSearch",
MNU0006: "$anticonMessage",
MNU0007: "$anticonSetting",
},
isLoading: false,
loadingStackCnt: 0,
@ -846,4 +856,151 @@ export default {
top: 50%;
left: 50%;
}
// @each $theme in dark, light {
// @include theme($theme);
// .v-application.#{$theme}-mode {
// ::v-deep {
// .v-treeview {
// .v-treeview-node+.v-treeview-node {
// margin-top: 2px;
// }
// .v-treeview-node__root+.v-treeview-node__children {
// margin-top: 2px;
// }
// &>.v-treeview-node {
// .v-treeview-node__root {
// border-radius: 8px;
// &:hover {
// background-color: map-deep-get($config, #{$theme}, "v-calendar-weekday-border-color" );
// }
// .v-treeview-node__content {
// .v-icon,
// .v-treeview-node__label {
// color: map-deep-get($config, #{$theme}, "tui-grid-title-color");
// }
// .anticon.anticon-down {
// color: map-deep-get($config, #{$theme}, "icon-datepicker-color");
// }
// }
// }
// &[aria-expanded="true"]{
// // Level 1
// &>.v-treeview-node__root {
// background-color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-bg" );
// border: 1px solid map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border" );
// color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border");
// &:before {
// background-color: map-deep-get($config, #{$theme}, "v-treeview-node-subroot-backgroundColor");
// }
// .v-treeview-node__content {
// .v-treeview-node__label {
// color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border");
// }
// .v-icon:first-child,
// .v-icon:first-child::before,
// .anticon.anticon-down {
// color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border" );
// }
// }
// }
// &>.v-treeview-node__children {
// // Level 2
// .v-treeview-node__root {
// color: map-deep-get($config, #{$theme}, "v-treeview-node-root-label-color");
// &:hover {
// background-color: map-deep-get($config, #{$theme}, "v-calendar-weekday-backgroundColor");
// }
// .v-treeview-node__content {
// .v-icon,
// .v-icon::before {
// color: map-deep-get($config, #{$theme}, "icon-datepicker-color");
// }
// }
// }
// &>[aria-expanded="true"] >.v-treeview-node__root,
// .v-treeview-node__root.v-treeview-node--active {
// background-color: map-deep-get($config, #{$theme}, "v-calendar-day-in-not-month-color" );
// .v-treeview-node__content {
// .v-treeview-node__label {
// color: map-deep-get($config, #{$theme}, "card-title-color");
// }
// .v-icon,
// .v-icon::before,
// .anticon.anticon-down {
// color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border" );
// }
// }
// }
// // Level 3
// .v-treeview-node__children {
// .v-treeview-node {
// >.v-treeview-node__root {
// .v-treeview-node__content {
// .v-treeview-node__label {
// color: map-deep-get($config, #{$theme}, "card-default-color");
// }
// }
// *:hover,
// :hover {
// border-width: 0;
// }
// &:hover {
// border: 1px solid map-deep-get($config, #{$theme}, "v-input-textarea-border");
// border-radius: 8px;
// background-color: rgba(0, 0, 0, 0);
// .v-treeview-node__content {
// .v-treeview-node__label {
// color: map-deep-get($config, #{$theme}, "tui-grid-title-color");
// }
// }
// }
// &.v-treeview-node--active {
// // color: map-deep-get($config, #{$theme}, "card-title-color");
// background-color: rgba(0, 0, 0, 0);
// .v-treeview-node__content {
// .v-treeview-node__label {
// color: map-deep-get($config, #{$theme}, "tui-grid-title-color");
// }
// .v-icon,
// .v-icon::before,
// .anticon {
// color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border" );
// }
// }
// }
// }
// }
// }
// }
// }
// }
// }
// }
// }
// }
</style>