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/2] 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 @@ + + + + + + diff --git a/pages/ems/base/DashboardPage.vue b/pages/ems/base/DashboardPage.vue index 1cd6979..54d04df 100644 --- a/pages/ems/base/DashboardPage.vue +++ b/pages/ems/base/DashboardPage.vue @@ -803,7 +803,7 @@ export default { header: "NO", name: "rowNum", width: 70, - align: "center", + align: "right", // hidden: true, }, { diff --git a/pages/ems/effc/EqpmIndMntrPage.vue b/pages/ems/effc/EqpmIndMntrPage.vue index 067f144..f49c1f8 100644 --- a/pages/ems/effc/EqpmIndMntrPage.vue +++ b/pages/ems/effc/EqpmIndMntrPage.vue @@ -104,7 +104,6 @@ :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId" - @dblClick="gridDoubleClickEvent" /> - + + - + - - - + + + + - + - [배정]메뉴별권한 리스트 + [배정]메뉴별권한 리스트 + - + @@ -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: '설비종류명',