From 41370aa4dfd82ed25724ef74392bc33f9c9b3ec8 Mon Sep 17 00:00:00 2001 From: dev Date: Mon, 18 Aug 2025 17:50:04 +0900 Subject: [PATCH] Update 1808 --- assets/scss/common/grid.scss | 114 +++++++++++++++++++- pages/ems/effc/EnrgEffcEqpmDetlMntrPage.vue | 44 +++++++- store/modules/list.js | 2 + 3 files changed, 155 insertions(+), 5 deletions(-) diff --git a/assets/scss/common/grid.scss b/assets/scss/common/grid.scss index 931a18d..8676360 100644 --- a/assets/scss/common/grid.scss +++ b/assets/scss/common/grid.scss @@ -80,9 +80,57 @@ } .tui-grid-cell { - &:last-child { - input[type=checkbox] { - margin-top: 8px; + input[type=checkbox] { + margin-top: 8px; + appearance: none; + -webkit-appearance: none; + width: 16px; + height: 16px; + border: 1px solid; + border-radius: 2px; + cursor: pointer; + position: relative; + + &:checked { + &::after { + content: ""; + position: absolute; + left: 5px; + top: 1px; + width: 5px; + height: 9px; + border: solid; + border-width: 0 2px 2px 0; + transform: rotate(45deg); + } + } + } + } +} + +.tui-grid-layer-editing { + input[type=checkbox] { + margin-top: 8px; + appearance: none; + -webkit-appearance: none; + width: 16px; + height: 16px; + border: 1px solid; + border-radius: 2px; + cursor: pointer; + position: relative; + + &:checked { + &::after { + content: ""; + position: absolute; + left: 5px; + top: 1px; + width: 5px; + height: 9px; + border: solid; + border-width: 0 2px 2px 0; + transform: rotate(45deg); } } } @@ -190,6 +238,35 @@ #{$theme}, "tui-grid-cell-borderStyle-darkmode" ); + + input[type=checkbox] { + border-color: map-deep-get($config, + #{$theme}, + "ant-checkbox-border" + ); + background: map-deep-get($config, + #{$theme}, + "ant-checkbox-bg" + ); + + &:checked { + background-color: map-deep-get($config, + #{$theme}, + "ant-btn-primary-bg" + ); + border-color: map-deep-get($config, + #{$theme}, + "ant-btn-primary-bg" + ); + + &::after { + border-color: map-deep-get($config, + #{$theme}, + "ant-checkbox-bg" + ); + } + } + } } } @@ -640,6 +717,37 @@ &-frozen-border { background-color: transparent; } + + &-layer-editing { + input[type=checkbox] { + border-color: map-deep-get($config, + #{$theme}, + "ant-checkbox-border" + ); + background: map-deep-get($config, + #{$theme}, + "ant-checkbox-bg" + ); + + &:checked { + background-color: map-deep-get($config, + #{$theme}, + "ant-btn-primary-bg" + ); + border-color: map-deep-get($config, + #{$theme}, + "ant-btn-primary-bg" + ); + + &::after { + border-color: map-deep-get($config, + #{$theme}, + "ant-checkbox-bg" + ); + } + } + } + } } [class*="tui-grid-tree-wrapper"] { diff --git a/pages/ems/effc/EnrgEffcEqpmDetlMntrPage.vue b/pages/ems/effc/EnrgEffcEqpmDetlMntrPage.vue index 328ef9b..f10c82b 100644 --- a/pages/ems/effc/EnrgEffcEqpmDetlMntrPage.vue +++ b/pages/ems/effc/EnrgEffcEqpmDetlMntrPage.vue @@ -60,17 +60,23 @@ - +
설비별 현황 리스트
-
+
+
+ +
+
+ @@ -92,6 +98,7 @@ import Datepicker from '~/components/common/Datepicker'; import EqpmSelectPop from '~/components/common/modal/EqpmSelectPop'; import EnrgEffcEqpmDetailPop from '~/components/common/modal/EnrgEffcEqpmDetailPop'; import EnrgEffcGdIdxDetPop from '~/components/common/modal/EnrgEffcGdIdxDetPop'; +import pagination from '~/components/common/Pagination'; let myTitle; let myPrgmId; @@ -124,6 +131,7 @@ export default { EnrgEffcEqpmDetailPop, EqpmSelectPop, EnrgEffcGdIdxDetPop, + pagination }, data() { return { @@ -149,7 +157,12 @@ export default { eqpmGrpFlag: false, eqpmGdIdxFlag: false, fabFlag: false, + itemsPerPage: 10, + itemsPerPageArray: [10, 20, 30], + limit: 20, + page: 1, routeData: {}, + totalCount: 0, }; }, computed: { @@ -377,6 +390,7 @@ export default { resKey: 'eqpmKindCodeLists', sendParam: {}, }); + if (res.length > 0) { this.selectValueList01 = await res.map(item => { return { @@ -680,9 +694,29 @@ export default { fabId: this.selectValue02, eqpmKindId: this.selectValue01, okFg: this.selectValue06, + limit: this.limit, + page: this.page, + offset: (this.page - 1) * this.limit, // MariaDB Query에서 직접 계산이 안됨 }, }); + const res2 = await this.postApiReturn({ + apiKey: 'selectEnrgEffcEqpmDetlMntrPageTotal', + resKey: 'eqpmDetlDataPageTotal', + sendParam: { + eqpmId: this.selectValue04.eqpmId, + eqpmGrpId: this.selectValue03, + fromDt: this.pageData.fromDt, + toDt: this.pageData.toDt, + gdIdxId: this.selectValue05, + fabId: this.selectValue02, + eqpmKindId: this.selectValue01, + okFg: this.selectValue06, + }, + }); + + this.totalCount = res2[0]?.totalcount; + this.setGridData({ gridKey: this.gridName, value: res, @@ -722,6 +756,12 @@ export default { }); } }, + changeGrid: async function (pageNum, limit) { + this.page = pageNum; + this.limit = limit; + + this.search(); + }, }, }; diff --git a/store/modules/list.js b/store/modules/list.js index 8b7fe8a..d800f9d 100644 --- a/store/modules/list.js +++ b/store/modules/list.js @@ -943,6 +943,8 @@ const INIT_URL_STATE = { //prgmId : PRG0084 설비별 운전가이드 selectEqpmCodeList: 'ems/effc/EnrgEffcEqpmDetlMntrCtr/selectEqpmCodeList', selectEnrgEffcEqpmDetlMntr:'ems/effc/EnrgEffcEqpmDetlMntrCtr/selectEnrgEffcEqpmDetlMntr', + selectEnrgEffcEqpmDetlMntrPageTotal: + 'ems/effc/EnrgEffcEqpmDetlMntrCtr/selectEnrgEffcEqpmDetlMntrPageTotal', // 일일검침정보 selectEqpmDetailPop: 'ems/effc/EnrgEffcEqpmDetlMntrCtr/selectEqpmDetailPop', selectEnrgEffcGdIdxDetPop : 'ems/effc/EnrgEffcEqpmDetlMntrCtr/selectEnrgEffcGdIdxDetPop',