From f929ad2c28a9215a316e5b5564299fe2f76ea3f6 Mon Sep 17 00:00:00 2001 From: Michael <20074391@skcc.com> Date: Tue, 5 Aug 2025 15:29:25 +0900 Subject: [PATCH 1/6] Update tooltip s4 + add view button to switch page --- components/common/DatepickerTimeSelectBox.vue | 2 + components/common/select/SelectBoxTime.vue | 6 +- .../pages/ems/ErcChrgInfo/ErcChrgInfoTab.vue | 6 + pages/ems/base/DashboardPage.vue | 2 +- pages/ems/effc/EqpmIndMntrPage.vue | 210 +++++++++++++----- 5 files changed, 173 insertions(+), 53 deletions(-) diff --git a/components/common/DatepickerTimeSelectBox.vue b/components/common/DatepickerTimeSelectBox.vue index 5b2ec0e..2a7b67b 100644 --- a/components/common/DatepickerTimeSelectBox.vue +++ b/components/common/DatepickerTimeSelectBox.vue @@ -52,6 +52,7 @@ selectBoxTimeItemList.minInterval ? selectBoxTimeItemList.minInterval : 1 " @update:propsValue="selectTimeValue1 = $event" + customClass="select-large" /> @@ -99,6 +100,7 @@ selectBoxTimeItemList.minInterval ? selectBoxTimeItemList.minInterval : 1 " @update:propsValue="selectTimeValue2 = $event" + customClass="select-large" /> diff --git a/components/common/select/SelectBoxTime.vue b/components/common/select/SelectBoxTime.vue index b701a9f..1046a54 100644 --- a/components/common/select/SelectBoxTime.vue +++ b/components/common/select/SelectBoxTime.vue @@ -22,7 +22,7 @@ outlined :menu-props="{ auto: true, offsetY: true }" :hide-details="true" - :class="'v-select__custom'" + :class="['v-select__custom', customClass]" :disabled="disabled" :readonly="readonly" @click="setDatepickerHide" @@ -106,6 +106,10 @@ export default { require: false, default: 1, }, + customClass: { + type: String, + require: false, + }, }, emits: ["update:propsValue"], data() { diff --git a/components/pages/ems/ErcChrgInfo/ErcChrgInfoTab.vue b/components/pages/ems/ErcChrgInfo/ErcChrgInfoTab.vue index e3ab3dd..47963c5 100644 --- a/components/pages/ems/ErcChrgInfo/ErcChrgInfoTab.vue +++ b/components/pages/ems/ErcChrgInfo/ErcChrgInfoTab.vue @@ -20,6 +20,12 @@ + + + +
+
+
- - - + +
+ +
- + - [배정]메뉴별권한 리스트 + [배정]메뉴별권한 리스트 + - +
@@ -113,14 +77,9 @@ class="w100 h100" >
--> - +
@@ -286,8 +245,8 @@ export default { async gridInit() { //---------------------gridOption 설정 시작---------------------------- const gridHeight = this.$refs.gridParent.offsetHeight - 30; - const treeGridHeight = this.$refs.treeGridParent.offsetHeight - 30; - const treeGridHeight2 = this.$refs.treeGridParent2.offsetHeight - 30; + const treeGridHeight = this.$refs.treeGridParent.offsetHeight - 50; + const treeGridHeight2 = this.$refs.treeGridParent2.offsetHeight - 50; // const gridHeight = this.$refs.contents.offsetHeight - 30; const myOptions = { @@ -316,8 +275,10 @@ export default { treeColumnOptions: { name: 'menuNm', }, - scrollX: false, - // scrollY: false, + rowHeight: 37, + minRowHeight: 37, + scrollX: true, + scrollY: true, }; this.setGridOption({ @@ -347,6 +308,9 @@ export default { const el = document.createElement('input'); const { grid, rowKey, columnInfo } = props; el.type = 'checkbox'; + $(el).css('width', '16px'); + $(el).css('height', '16px'); + $(el).css('accent-color', '#1677FF'); el.value = props.value; this.el = el; @@ -380,12 +344,12 @@ export default { const _this = this; const myColumns = [ - { header: '역할ID', name: 'roleId', align: 'center', minWidth: 70 }, - { header: '역할명', name: 'roleNm', minWidth: 70 }, + { header: '역할ID', name: 'roleId', align: 'left', minWidth: 70,width:120 }, + { header: '역할명', name: 'roleNm', minWidth: 70, align: 'left',width:120 }, { header: '사용여부', name: 'useFg', - align: 'center', + align: 'left', minWidth: 84, formatter({ value }) { const newValue = _this.pageData.useFgList.filter( @@ -408,6 +372,7 @@ export default { { header: '메뉴명', name: 'menuNm', + maxWidth: 120, validation: { dataType: 'string', validatorFn: (value, row) => { @@ -549,12 +514,12 @@ export default { //rowKey: 0, rowKey: this.pageData.rowGridSelectKey == '' || - this.pageData.rowGridSelectKey == null + this.pageData.rowGridSelectKey == null ? 0 : this.pageData.rowGridSelectKey == - this.$refs[this.gridName + this.myPrgmId].getData().length - 1 - ? this.pageData.rowGridSelectKey - : 0, + this.$refs[this.gridName + this.myPrgmId].getData().length - 1 + ? this.pageData.rowGridSelectKey + : 0, columnName: 'roleId', setScroll: true, }); @@ -609,8 +574,8 @@ export default { item.upMenuId && item.upMenuId != '0' ? item.upMenuId : item.upMenuId == '0' - ? '00' - : 'ROOT', + ? '00' + : 'ROOT', }; return newItem; }); @@ -649,8 +614,8 @@ export default { item.upMenuId && item.upMenuId != '0' ? item.upMenuId : item.upMenuId == '0' - ? '00' - : 'ROOT', + ? '00' + : 'ROOT', }; return newItem; }); diff --git a/pages/comm/base/PrgmMngPage.vue b/pages/comm/base/PrgmMngPage.vue index 7aa0ce8..1a0a984 100644 --- a/pages/comm/base/PrgmMngPage.vue +++ b/pages/comm/base/PrgmMngPage.vue @@ -7,28 +7,15 @@ - + - + - + @@ -38,46 +25,32 @@ - +
프로그램 리스트
- +
- +
- +
프로그램 상세
- +
@@ -132,21 +105,19 @@ export default { detailList: myDetail, dataPathMock: { - 'rowGrid': { - column: [ - { header: '프로그램ID', name: 'field1', align: 'left' }, - { header: '프로그램덤', name: 'field2', align: 'left' }, - { header: '타임', name: 'field3', align: 'left' }, - { header: '사용여부', name: 'field4', align: 'left' } - ], - data: dataPathDataExample, - defaultRow: dataPathDataExample, - option: { + 'rowGrid': { + column: [ + { header: '프로그램ID', name: 'field1', align: 'left' }, + { header: '프로그램덤', name: 'field2', align: 'left' }, + { header: '타임', name: 'field3', align: 'left' }, + { header: '사용여부', name: 'field4', align: 'left' } + ], + option: { scrollY: false, scrollX: false, } - } - }, + } + }, }; }, computed: { @@ -295,7 +266,7 @@ export default { value: newRes, }); this.loadGrid = true; - + this.$nextTick(() => { if (newRes.length > 0) { this.$refs[this.gridName].focus({ @@ -303,12 +274,12 @@ export default { //rowKey: this.chkRowGridSelectKey || 0, rowKey: this.pageData.rowGridSelectKey == '' || - this.pageData.rowGridSelectKey == null + this.pageData.rowGridSelectKey == null ? 0 : this.pageData.rowGridSelectKey == - this.$refs[this.gridName].getData().length - 1 - ? this.pageData.rowGridSelectKey - : 0, + this.$refs[this.gridName].getData().length - 1 + ? this.pageData.rowGridSelectKey + : 0, setScroll: true, }); } @@ -331,7 +302,7 @@ export default { rowGridSelectKey: data.rowKey, rowGridSelectData: data, }); - + }, compareData(type, newDt) { if (this.selectedCommCdData[type] == newDt) { @@ -487,7 +458,7 @@ const myDetail = [ valueNm: 'prgmTpCd', essential: true, cols: 6, - class: 'py-2', + class: 'py-2 pt-5', list: [ { text: '프로그램', value: '1' }, { text: '팝업', value: '2' }, @@ -502,10 +473,11 @@ const myDetail = [ essential: true, disabled: false, cols: 6, - class: 'py-2', + class: 'py-2 pt-13', value: { '1': true, '0': false }, required: true, textCols: 12, + labelCols:12, iconShow: true }, { @@ -514,7 +486,7 @@ const myDetail = [ valueNm: 'url', disabled: false, cols: 12, - class: 'py-2', + class: 'py-2 pt-4', required: true, textCols: 12, iconShow: true @@ -525,7 +497,7 @@ const myDetail = [ valueNm: 'regUserNo', disabled: true, cols: 6, - class: 'py-2', + class: 'py-2 pt-5', placeholder: '시스템 자동입력', textCols: 12, iconShow: true @@ -536,7 +508,7 @@ const myDetail = [ valueNm: 'regDttm', disabled: true, cols: 6, - class: 'py-2', + class: 'py-2 pt-5', placeholder: '시스템 자동입력', textCols: 12, iconShow: true @@ -547,7 +519,7 @@ const myDetail = [ valueNm: 'procUserNo', disabled: true, cols: 6, - class: 'py-2', + class: 'py-2 pt-5', placeholder: '시스템 자동입력', textCols: 12, iconShow: true @@ -558,19 +530,10 @@ const myDetail = [ valueNm: 'procDttm', disabled: true, cols: 6, - class: 'py-2', + class: 'py-2 pt-5', placeholder: '시스템 자동입력', textCols: 12, iconShow: true }, ]; - - -import { getPathDataExample } from '@/const/const' -const dataPathDataExample = getPathDataExample({ - field1: 'PRG0001', - field2: '대시보드', - field3: '프로그램', - field4: '사용' -}); diff --git a/pages/ems/base/EqpmKindPage.vue b/pages/ems/base/EqpmKindPage.vue index 7fff026..f17c8d3 100644 --- a/pages/ems/base/EqpmKindPage.vue +++ b/pages/ems/base/EqpmKindPage.vue @@ -167,7 +167,7 @@ export default { header: '설비종류ID', name: 'eqpmKindId', width: gridWidth * 0.5, - align: 'center', + align: 'left', }, { header: '설비종류명', From bf6d03df63dd5918cb047307c6fb8a1185257a58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tran=20Van=20Dung/=28Tran=20Van=20Dung=29/=ED=98=84?= =?UTF-8?q?=EC=9E=A5=EB=8C=80=EB=A6=AC=EC=9D=B8/SK?= <20074470@skcc.com> Date: Tue, 5 Aug 2025 17:28:12 +0700 Subject: [PATCH 3/6] fixbugs grid --- assets/scss/common.scss | 207 ++++-------------- assets/scss/common/grid.scss | 13 +- assets/scss/var.scss | 7 +- components/common/Grid.vue | 65 +++--- components/common/form/SelectBox.vue | 4 +- components/common/modal/EqpmSelectPop.vue | 27 ++- components/common/select/SelectBlocMstr.vue | 4 +- components/common/select/SelectBox.vue | 10 +- components/common/select/SelectBoxMulti.vue | 23 +- components/common/select/selectCodeList.vue | 4 +- .../ems/DataSetInfo/DataSetTagRelTab.vue | 2 +- .../pages/ems/EqpmInfo/EqpmAddInfoTab.vue | 6 +- pages/ems/effc/DataSetMngPage.vue | 4 +- pages/ems/effc/EnrgReptMngPage.vue | 30 ++- 14 files changed, 169 insertions(+), 237 deletions(-) diff --git a/assets/scss/common.scss b/assets/scss/common.scss index f3d3a69..3c6f2d4 100644 --- a/assets/scss/common.scss +++ b/assets/scss/common.scss @@ -611,48 +611,12 @@ a { } } - // .v-banner { - // &__wrapper { - // border-bottom-color: map-deep-get($config, - // #{$theme}, - // "v-banner-border-color" - // ) !important; - // } - // } - .v-navigation-drawer__append { >p { color: map-deep-get($config, #{$theme}, "v-banner-border-color" ) !important; - // @if $theme ==dark { - // color: rgba(255, 255, 255, 0.6); - // } - - // @else { - // color: #999; - // } } } - // .v-footer { - // @if $theme ==light { - // background-color: #dfdfe5; - // color: #767d83; - // } - // } - - // .bd { - // @if $theme ==dark { - // &-r-1 { - // border-right: 1px #373f45 solid; - // } - // } - // @else { - // &-r-1 { - // border-right: 1px #efefef solid; - // } - // } - // } - .border-bottom-1 { border-bottom: 1px solid map-deep-get($config, #{$theme}, "border-color"); } @@ -809,114 +773,7 @@ a { } } - - } - - // &>.v-treeview-node__root { - // &:before { - // background-color: map-deep-get($config, #{$theme}, "v-treeview-node-root-backgroundColor" ); - // } - - // &>.v-treeview-node__content { - // .v-treeview-node__label { - // color: map-deep-get($config, #{$theme}, "v-treeview-node-root-label-color"); - // } - // } - - // &:hover { - // &>.v-treeview-node__content { - // .v-treeview-node__label { - // color: map-deep-get($config, - // #{$theme}, - // "v-treeview-node-root-label-active-color" - // ); - // } - - // .v-icon { - // color: map-deep-get($config, - // #{$theme}, - // "v-treeview-node-root-icon-active-color" - // ); - // } - // } - // } - // } - - // &>.v-treeview-node__children { - // &>.v-treeview-node { - - // &>.v-treeview-node__root { - // &: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-color" ); - // } - - // .v-icon { - // color: map-deep-get($config, #{$theme}, "v-treeview-icon-color" ); - // } - // } - - // &:not(.v-treeview-node--active):hover { - // &:before { - // background-color: map-deep-get($config, - // #{$theme}, - // "v-treeview-leaf-active-backgroundColor" - // ); - // } - - // &>.v-treeview-node__content { - // .v-treeview-node__label { - // color: map-deep-get($config, - // #{$theme}, - // "v-treeview-leaf-active-color" - // ); - // } - - // .v-icon { - // color: map-deep-get($config, - // #{$theme}, - // "v-treeview-leaf-active-color" - // ); - // } - // } - // } - // } - - // &>.v-treeview-node__children { - // // background-color: map-deep-get($config, - // // #{$theme}, - // // "v-treeview-leaf-subchildren-backgroundColor" - // // ); - // } - - // // &[aria-expanded="true"] { - // // & .v-treeview-node__root>.v-treeview-node__content { - // // .v-treeview-node__label { - // // color: map-deep-get($config, - // // #{$theme}, - // // "v-treeview-node-label-children-color" - // // ); - // // } - - // // .v-icon { - // // color: map-deep-get($config, - // // #{$theme}, - // // "v-treeview-icon-active-color" - // // ); - // // } - // // } - // // } - // } - // } - } } @@ -1259,26 +1116,47 @@ a { } .v-list { - background-color: map-deep-get($config, - #{$theme}, - "tui-datepicker-backgroundColor" - ); - border: 1px solid map-deep-get($config, #{$theme}, "tui-datepicker-border-color"); - border-radius: 4px; + background-color: map-deep-get($config, + #{$theme}, + "tui-datepicker-backgroundColor" + ); + border: 1px solid map-deep-get($config, #{$theme}, "tui-datepicker-border-color"); + border-radius: 4px; + padding: 4px; + + &-item--active { + border-radius: 4px; + &:before { + opacity: 0; + } + + .v-list-item__title { + color: map-deep-get($config, #{$theme}, "tui-datepicker-calendar-color"); + } + } + + &.v-select-list{ + >.v-list-item { + margin-bottom: 4px; + .anticon { + &.anticon-check { + display: none; + } + } + &[aria-selected="true"] { + border-radius: 8px; + background-color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-bg"); + .anticon { + &.anticon-check { + display: block; + color: map-deep-get($config, #{$theme}, "v-icon-blue"); + } + } + } + } + } - &-item--active { - &:before { - opacity: 0; - } - - .v-list-item__title { - color: map-deep-get($config, - #{$theme}, - "tui-datepicker-calendar-color" - ); - } - } - } + } .theme--white { .toastui-editor-contents { @@ -1396,11 +1274,6 @@ a { } } - - - - - } diff --git a/assets/scss/common/grid.scss b/assets/scss/common/grid.scss index 39ee11e..d7a0349 100644 --- a/assets/scss/common/grid.scss +++ b/assets/scss/common/grid.scss @@ -155,6 +155,12 @@ // "tui-grid-cell-borderColor" // ); width: auto !important; + .tui-grid-table-container{ + width: 100% !important; + .tui-grid-table { + width: 100% !important; + } + } } &-container, @@ -164,6 +170,7 @@ & ::-webkit-scrollbar { width: $scrollbar-width !important; + width: 0 !important; height: $scrollbar-width !important; -webkit-appearance: initial; // background-color: map-deep-get($config, @@ -183,7 +190,7 @@ } & ::-webkit-scrollbar-thumb { - width: 50px !important; + // width: 50px !important; height: 50px !important; background-color: map-deep-get($config, #{$theme}, "scrollbar-thumb"); // background-color: rgba(0, 0, 0, 0); @@ -356,6 +363,10 @@ #{$theme}, "tui-grid-cell-backgroundColor" ); + width: 100% !important; + .tui-grid-table { + width: 100% !important; + } } &-row-odd, diff --git a/assets/scss/var.scss b/assets/scss/var.scss index 8357c06..b4b3846 100644 --- a/assets/scss/var.scss +++ b/assets/scss/var.scss @@ -110,7 +110,7 @@ $config: ( tui-grid-border-horziontal-color: #212224, tui-grid-border-vertical-color: #FFFFFF0F, tui-grid-cell-backgroundColor: #212224, - tui-grid-cell-color: #fff, + tui-grid-cell-color: #FFFFFFA6, tui-grid-cell-insert-color: #13636c, tui-grid-cell-selected-color: #0A224F, tui-grid-cell-modify-color: #13636c, @@ -211,7 +211,6 @@ $config: ( router-tab-item-hover-color: #1677ff, router-tab-slot-end-button-backgroundColor: #3f4d7d, v-btn-backgroundColor: #1677ff, - // v-btn-backgroundColor: #fff, v-box: #FFFFFF, v-banner-border-color: #ddd, v-treeview-node-root-backgroundColor: #FFFFFF, @@ -253,10 +252,10 @@ $config: ( tui-grid-border-vertical-color: rgba(0, 0, 0, 0.06), //#d4d4d4, tui-grid-cell-backgroundColor: #fff, tui-grid-cell-color: #000000E0, - tui-grid-cell-insert-color: #13636c, + tui-grid-cell-insert-color: #FFFBE6, tui-grid-cell-selected-color: #E6F4FF, tui-grid-cell-modify-color: #e6f5f7, - tui-grid-cell-removed-color: #fddde1, + tui-grid-cell-removed-color: #FFF1F0, tui-grid-cell-hover-backgroundColor: #f5f5f5, v-tabs-items-border-color: #0000000F, v-tabs-backgroundColor: #ddd, diff --git a/components/common/Grid.vue b/components/common/Grid.vue index 1641bd4..b61f1ef 100644 --- a/components/common/Grid.vue +++ b/components/common/Grid.vue @@ -617,62 +617,62 @@ export default { list.map(item => this.gridInstance.invoke('check', item)); }, refreshLayout() { + // console.log("---------DEBUG---refreshLayout: "); this.gridInstance.invoke('refreshLayout'); }, refreshGrid(){ + console.log("---------DEBUG---refreshGrid: "); // console.log("refreshLayout",this.$refs['tuigrid' + this.gridName]) var store = this.$refs['tuigrid' + this.gridName].gridInstance.store; var containerEl = this.$refs['tuigrid' + this.gridName].$el; // var containerEl = document.querySelector('.tui-grid-container') var parentEl = containerEl.parentElement; - - - - // console.log("containerEl : ",containerEl); - // console.log('parentEl : ', parentEl) - // function refreshLayout(store, containerEl, parentEl) { - var dimension = store.dimension; - var autoWidth = dimension.autoWidth, fitToParentHeight = dimension.fitToParentHeight; - var clientHeight = containerEl.clientHeight, clientWidth = containerEl.clientWidth, scrollTop = containerEl.scrollTop, scrollLeft = containerEl.scrollLeft; - var _a = containerEl.getBoundingClientRect(), top = _a.top, left = _a.left; - this.setOffsetTop(store, top + scrollTop); - // store.dimension.setOffsetTop = top + scrollTop; - this.setOffsetLeft(store, left + scrollLeft); - // store.dimension.headerHeight = left + scrollLeft; - this.setWidth(store, clientWidth, autoWidth); - // store.dimension.autoWidth = autoWidth; - // store.dimension.width = clientWidth; - // console.log("###",getComputedStyle(parentEl)); - // console.log("fitToParentHeight : ",fitToParentHeight); - // console.log("parentEl : ",parentEl) - // console.log("parentEl.clientHeight" , parentEl.clientHeight) - // console.log("clientHeight : ",clientHeight); - if (parentEl && parentEl.clientHeight !== clientHeight) { - var _b = getComputedStyle(parentEl), paddingTop = _b.paddingTop, paddingBottom = _b.paddingBottom; - this.setHeight(store, parentEl.clientHeight - (parseFloat(paddingTop) + parseFloat(paddingBottom))); - } + + // console.log("---------DEBUG---containerEl: ",containerEl); + // console.log('---------DEBUG---parentEl: ', parentEl) + // function refreshLayout(store, containerEl, parentEl) { + var dimension = store.dimension; + var autoWidth = dimension.autoWidth, fitToParentHeight = dimension.fitToParentHeight; + var clientHeight = containerEl.clientHeight, clientWidth = containerEl.clientWidth, scrollTop = containerEl.scrollTop, scrollLeft = containerEl.scrollLeft; + var _a = containerEl.getBoundingClientRect(), top = _a.top, left = _a.left; + this.setOffsetTop(store, top + scrollTop); + // store.dimension.setOffsetTop = top + scrollTop; + this.setOffsetLeft(store, left + scrollLeft); + // store.dimension.headerHeight = left + scrollLeft; + this.setWidth(store, clientWidth, autoWidth); + // store.dimension.autoWidth = autoWidth; + // store.dimension.width = clientWidth; + // console.log("###",getComputedStyle(parentEl)); + // console.log("fitToParentHeight : ",fitToParentHeight); + // console.log("parentEl : ",parentEl) + // console.log("parentEl.clientHeight" , parentEl.clientHeight) + // console.log("clientHeight : ",clientHeight); + if (parentEl && parentEl.clientHeight !== clientHeight) { + var _b = getComputedStyle(parentEl), paddingTop = _b.paddingTop, paddingBottom = _b.paddingBottom; + this.setHeight(store, parentEl.clientHeight - (parseFloat(paddingTop) + parseFloat(paddingBottom))); + } // } }, setOffsetTop(store, offsetTop) { - // console.log("setOffsetTop"); + // console.log("---------DEBUG---setOffsetTop: "); store.dimension.offsetTop = offsetTop; }, setWidth(_a, width, autoWidth) { - // console.log("setWidth"); + // console.log("---------DEBUG---setWidth: "); var dimension = _a.dimension; dimension.autoWidth = autoWidth; dimension.width = width; }, setHeaderHeight(store, height) { - // console.log("setHeaderHeight") + // console.log("---------DEBUG---setHeaderHeight: "); store.dimension.headerHeight = height; }, setOffsetLeft(store, offsetLeft) { - // console.log("setOffsetLeft") + // console.log("---------DEBUG---setOffsetLeft: "); store.dimension.offsetLeft = offsetLeft; }, setHeight(_a,height){ - // console.log("setHeight"); + // console.log("---------DEBUG---setHeight: "); var dimension = _a.dimension; var headerHeight = dimension.headerHeight, summaryHeight = dimension.summaryHeight, tableBorderWidth = dimension.tableBorderWidth; dimension.bodyHeight = height - headerHeight - summaryHeight - tableBorderWidth; @@ -703,10 +703,11 @@ export default { // resetData() { // // console.log("resetData = ", this.tuigridProps.data); // this.$refs.tuigrid.invoke("resetData", this.tuigridProps.data); - // } + // }, }, }; + + diff --git a/components/common/select/selectCodeList.vue b/components/common/select/selectCodeList.vue index eb62857..f2cb7ab 100644 --- a/components/common/select/selectCodeList.vue +++ b/components/common/select/selectCodeList.vue @@ -11,7 +11,9 @@ + :class="['v-select__custom', customClass]" + :menu-props="{ top: false, offsetY: true }" + > diff --git a/components/pages/ems/DataSetInfo/DataSetTagRelTab.vue b/components/pages/ems/DataSetInfo/DataSetTagRelTab.vue index 94c86db..e5c4fa6 100644 --- a/components/pages/ems/DataSetInfo/DataSetTagRelTab.vue +++ b/components/pages/ems/DataSetInfo/DataSetTagRelTab.vue @@ -1,7 +1,7 @@