-
+
{
+ return ``;
+ }
+ },
{
header: '메뉴명',
name: 'menuNm',
@@ -415,6 +425,17 @@ export default {
},
];
const myTreeColumns2 = [
+ {
+ header: '',
+ name: '',
+ align: 'center',
+ width: 30,
+ formatter: (props) => {
+ return ``;
+ }
+ },
{ header: '역할ID', name: 'roleId', hidden: true },
{ header: '메뉴ID', name: 'menuId', hidden: true },
{ header: '메뉴명', name: 'menuNm', minWidth: '235' },
diff --git a/pages/comm/auth/RoleMngPage.vue b/pages/comm/auth/RoleMngPage.vue
index 1bb2763..930c5d7 100644
--- a/pages/comm/auth/RoleMngPage.vue
+++ b/pages/comm/auth/RoleMngPage.vue
@@ -67,7 +67,6 @@
:gridName="gridName"
:parentPrgmId="myPrgmId"
@getRowsData="getRowData"
- :dataPath="dataPathMock"
/>
@@ -132,22 +131,8 @@ export default {
return {
myPrgmId: myPrgmId,
gridName: 'rowGrid',
- loadGrid: true,
+ loadGrid: false,
detailList: myDetail,
- dataPathMock : {
- rowGrid: {
- column: [
- { header: '추가 정보 그룹', name: 'addGrpId', align: 'left' },
- { header: '추가 정보 ID', name: 'addInfoId', align: 'left' },
- { header: '추가 정보 명', name: 'addInfoNm', align: 'left' },
- { header: 'Data 형식', name: 'addInfoDataKind', align: 'center' },
- { header: '사용여부', name: 'useFg', align: 'center' },
- ],
- data: dataMockExample,
- defaultRow: dataMockExample,
- option: {},
- },
- },
};
},
computed: {
@@ -518,43 +503,4 @@ const myDetail = [
placeholder: '시스템 자동입력',
},
];
-
-const dataMockExample = [
- {
- addGrpId: 'GRP001',
- addInfoId: 'INFO001',
- addInfoNm: '온도 센서',
- addInfoDataKind: 'DATA01',
- useFg: true,
- },
- {
- addGrpId: 'GRP002',
- addInfoId: 'INFO002',
- addInfoNm: '압력 센서',
- addInfoDataKind: 'DATA02',
- useFg: false,
- },
- {
- addGrpId: 'GRP003',
- addInfoId: 'INFO003',
- addInfoNm: '압력 센서',
- addInfoDataKind: 'DATA03',
- useFg: false,
- },
- {
- addGrpId: 'GRP004',
- addInfoId: 'INFO004',
- addInfoNm: '압력 센서',
- addInfoDataKind: 'DATA04',
- useFg: false,
- },
- {
- addGrpId: 'GRP005',
- addInfoId: 'INFO005',
- addInfoNm: '압력 센서',
- addInfoDataKind: 'DATA05',
- useFg: false,
- },
-];
-
diff --git a/pages/comm/base/BatchLogMngPage.vue b/pages/comm/base/BatchLogMngPage.vue
index 53b73dc..f82e108 100644
--- a/pages/comm/base/BatchLogMngPage.vue
+++ b/pages/comm/base/BatchLogMngPage.vue
@@ -4,28 +4,24 @@
-
-
+
+
-
+
-
+
-
+
-
-
-
+
+
+
+
@@ -63,11 +57,10 @@
@@ -140,56 +133,10 @@ export default {
data() {
return {
myPrgmId: myPrgmId,
- loadGrid: true,
+ loadGrid: false,
gridName: 'rowGrid',
// rowGridOrigin: [],
detailList: myDetail,
- dataPathMock : {
- 'rowGrid': {
- column: [
- { header: 'No.', name: 'batchLogSeq', align: 'center', width: 100 },
- { header: '배치ID', name: 'batchId', align: 'center', width: 100 },
- { header: '배치명', name: 'batchNm', align: 'left', width: 150 },
- { header: '실행 일자', name: 'execDt', align: 'center', width: 80 },
- {
- header: '실행 결과',
- name: 'execRsltCd',
- align: 'center',
- width: 80,
- // formatter({ value }) {
- // let retVal = '';
- // const newValue = _this.pageData.execRsltCdList.filter(
- // item => item.commCd == value,
- // );
- // if (newValue.length > 0) {
- // retVal = newValue[0].commCdNm;
- // }
- // return retVal;
- // },
- }, // "1": 프로그램, "2": 팝업
- { header: '실행 로그', name: 'execLogCont', minWidth: 150 },
- {
- header: '배치 시작 일시',
- name: 'batchStrtDttm',
- align: 'center',
- width: 160,
- },
- {
- header: '배치 종료 일시',
- name: 'batchEndDttm',
- align: 'center',
- width: 160,
- },
- { header: '등록자NO', name: 'regUserNo', width: 120 },
- { header: '등록일시', name: 'regDttm', align: 'center', width: 160 },
- { header: '수정자NO', name: 'procUserNo', width: 120 },
- { header: '수정일시', name: 'procDttm', align: 'center', width: 160 },
- ],
- data: dataMockExample,
- defaultRow: dataMockExample,
- option: {},
- },
- },
};
},
computed: {
@@ -248,14 +195,6 @@ export default {
init() {
// this.layoutInit();
this.gridInit();
-
- // _this.pageData = {
- // execRsltCdList: [
- // { commCd: '1', commCdNm: '성공' },
- // { commCd: '2', commCdNm: '실패' },
- // ],
- // };
-
},
// layoutInit() {
// const searchFilterHeight = this.$refs.searchFilter.offsetHeight;
@@ -368,13 +307,10 @@ export default {
}
});
},
- // async getRowData(data) {
- async getRowData() {
- console.log("something")
+ async getRowData(data) {
this.setPageData({
- // rowGridSelectKey: data.rowKey,
- rowGridSelectKey: 1,
- rowGridSelectData: fakeRowData,
+ rowGridSelectKey: data.rowKey,
+ rowGridSelectData: data,
});
},
compareData(type, newDt) {
@@ -481,86 +417,16 @@ const defaultData = {
},
};
-const dataMockExample = [
- {
- batchLogSeq: 1,
- batchId: 'BATCH001',
- batchNm: '일일 데이터 백업',
- execDt: '2025-07-15',
- execRsltCd: '1', // sẽ được formatter thành "성공" hoặc tương tự
- execLogCont: '백업 완료. 오류 없음.',
- batchStrtDttm: '2025-07-15 01:00:00',
- batchEndDttm: '2025-07-15 01:30:00',
- regUserNo: 'admin01',
- regDttm: '2025-07-15 01:00:00',
- procUserNo: 'admin02',
- procDttm: '2025-07-15 01:35:00',
- },
- {
- batchLogSeq: 2,
- batchId: 'BATCH002',
- batchNm: '월간 리포트 생성',
- execDt: '2025-07-01',
- execRsltCd: '2',
- execLogCont: '리포트 생성 중 오류 발생: 파일 접근 실패.',
- batchStrtDttm: '2025-07-01 03:00:00',
- batchEndDttm: '2025-07-01 03:10:00',
- regUserNo: 'reportUser',
- regDttm: '2025-07-01 03:00:00',
- procUserNo: 'admin03',
- procDttm: '2025-07-01 03:15:00',
- },
- {
- batchLogSeq: 3,
- batchId: 'BATCH003',
- batchNm: '사용자 통계 갱신',
- execDt: '2025-07-14',
- execRsltCd: '1',
- execLogCont: '통계 갱신 완료.',
- batchStrtDttm: '2025-07-14 23:00:00',
- batchEndDttm: '2025-07-14 23:20:00',
- regUserNo: 'statUser',
- regDttm: '2025-07-14 23:00:00',
- procUserNo: 'admin01',
- procDttm: '2025-07-14 23:25:00',
- },
-];
-
-const fakeRowData = {
- rowKey: 1,
- batchLogSeq: 1,
- batchId: 'BATCH001',
- batchNm: '일일 데이터 백업',
- execDt: '2025-07-15',
- execRsltCd: '1',
- execLogCont: JSON.stringify({
- session: {
- userNo: 'admin01',
- userNm: '관리자',
- comId: 'SKCC',
- locale: 'ko_KR',
- },
- batch: {
- comId: 'SKCC',
- totStdDt: '20230110',
- },
- }),
- batchStrtDttm: '2025-07-15 01:00:00',
- batchEndDttm: '2025-07-15 01:30:00',
- regUserNo: 'admin01',
- regDttm: '2025-07-15 01:00:00',
- procUserNo: 'admin02',
- procDttm: '2025-07-15 01:35:00',
-};
-
-
const myDetail = [
{
type: 'TextArea',
valueNm: 'execLogCont',
readonly: true,
cols: 12,
- class: 'py-2 transparent',
+ class: 'py-2',
},
];
+
diff --git a/pages/comm/base/NoticeMngPage.vue b/pages/comm/base/NoticeMngPage.vue
index 4b80a90..e7ecfbb 100644
--- a/pages/comm/base/NoticeMngPage.vue
+++ b/pages/comm/base/NoticeMngPage.vue
@@ -1,5 +1,6 @@
+
@@ -14,10 +15,10 @@
-
-
-
+
+
+
@@ -26,7 +27,7 @@
-
+
-
- 제목
-
-
+
+ {{ viewActionData.title }}
-
+
+ :class="[isDarkMode ? 'theme--white' : 'theme--black', 'custom-view pa-3']" />
-
- 파일목록
+
+
+ 파일목록
+
-
+
공지사항
-
- 제목
+
+ 제목
-
+
-
-
- 파일첨부
-
-
-
+
+ 파일첨부
-
+
공지사항
-
- 제목
-
+ 제목
+
-
-
- 파일첨부
-
+
+ 파일첨부
-
+
@@ -183,16 +178,16 @@
공지사항
- 제목
-
+ 제목
+
-
- 파일첨부
+
+ 파일첨부
diff --git a/pages/comm/base/PrgmMngPage.vue b/pages/comm/base/PrgmMngPage.vue
index ed2ac39..52bc1fe 100644
--- a/pages/comm/base/PrgmMngPage.vue
+++ b/pages/comm/base/PrgmMngPage.vue
@@ -37,7 +37,7 @@
-
+
프로그램 리스트
@@ -50,7 +50,7 @@
/>
-
+
-
+
프로그램 상세
diff --git a/pages/ems/base/EffcIdxMngPage.vue b/pages/ems/base/EffcIdxMngPage.vue
index 1b570eb..6eb712f 100644
--- a/pages/ems/base/EffcIdxMngPage.vue
+++ b/pages/ems/base/EffcIdxMngPage.vue
@@ -1,6 +1,6 @@
-
+
diff --git a/pages/ems/base/EnrgReadPlaceMngPage.vue b/pages/ems/base/EnrgReadPlaceMngPage.vue
index e928373..fac1bb6 100644
--- a/pages/ems/base/EnrgReadPlaceMngPage.vue
+++ b/pages/ems/base/EnrgReadPlaceMngPage.vue
@@ -1,6 +1,6 @@
-
+
diff --git a/pages/ems/base/EqpmGrpPysclQtyMngPage.vue b/pages/ems/base/EqpmGrpPysclQtyMngPage.vue
index c581bfb..b26eb74 100644
--- a/pages/ems/base/EqpmGrpPysclQtyMngPage.vue
+++ b/pages/ems/base/EqpmGrpPysclQtyMngPage.vue
@@ -1,6 +1,6 @@
-
+
diff --git a/pages/ems/base/EquipmentMasterMngPage.vue b/pages/ems/base/EquipmentMasterMngPage.vue
index 65194f3..9d74c43 100644
--- a/pages/ems/base/EquipmentMasterMngPage.vue
+++ b/pages/ems/base/EquipmentMasterMngPage.vue
@@ -1,5 +1,6 @@
+
@@ -34,23 +35,23 @@
-
+
설비 정보
-
-
-
-
+
+
+
-
+
설비 상세
@@ -287,7 +288,7 @@ export default {
blocId: this.userInfo.blocId,
},
});
- console.log('res : ', res);
+ // console.log('res : ', res);
res.map(item => {
const it = { text: item.ercNm, value: item.ercId };
ercList.push(it);
diff --git a/pages/ems/base/GdIdxMngPage.vue b/pages/ems/base/GdIdxMngPage.vue
index f635b6b..85f177d 100644
--- a/pages/ems/base/GdIdxMngPage.vue
+++ b/pages/ems/base/GdIdxMngPage.vue
@@ -1,6 +1,6 @@
-
+
diff --git a/pages/ems/base/GdStndMngPage.vue b/pages/ems/base/GdStndMngPage.vue
index 9ff1f50..fba788e 100644
--- a/pages/ems/base/GdStndMngPage.vue
+++ b/pages/ems/base/GdStndMngPage.vue
@@ -1,6 +1,6 @@
-
+
diff --git a/pages/ems/base/ReadObjectMngPage.vue b/pages/ems/base/ReadObjectMngPage.vue
index 6d7476d..0d35b99 100644
--- a/pages/ems/base/ReadObjectMngPage.vue
+++ b/pages/ems/base/ReadObjectMngPage.vue
@@ -28,7 +28,7 @@
customClass="select-large"
/>
-
+
@@ -81,7 +80,7 @@
>검침대상 상세
-
+
+
diff --git a/pages/ems/base/ReadResultCloseMngPage.vue b/pages/ems/base/ReadResultCloseMngPage.vue
index f9c42fa..03514d9 100644
--- a/pages/ems/base/ReadResultCloseMngPage.vue
+++ b/pages/ems/base/ReadResultCloseMngPage.vue
@@ -1,11 +1,6 @@
-
-
-
+
@@ -75,8 +70,8 @@
-
-
+
+
일일검침정보
@@ -91,20 +86,18 @@
type="primary"
:ripple="false"
@click="saveReadResultCloseMng('N')"
- >일마감
+ 일마감
+
-
-
@@ -123,7 +116,6 @@ import selectCodeList from "@/components/common/select/selectCodeList";
import SelectMttList from "@/components/common/select/SelectMttList";
import Datepicker from "~/components/common/Datepicker";
import BtnExcelDownload from "~/components/common/button/BtnExcelDownload";
-import PageTitle from "~/components/common/PageTitle";
let myTitle;
// const myPrgmId = "PRG0018";
@@ -151,13 +143,12 @@ export default {
Datepicker,
Search,
Grid,
- PageTitle,
},
data() {
return {
myPrgmId: myPrgmId,
gridName: "rowGrid",
- loadGrid: true,
+ loadGrid: false,
dataPathMock: {
rowGrid: {
column: [
@@ -260,7 +251,6 @@ export default {
gridKey: this.gridName,
value: myColumns,
});
- this.loadGrid = true;
},
async search() {
await this.getRowGridData();
@@ -288,8 +278,12 @@ export default {
mgnf: item.mgnf || 0,
})),
});
+ // console.log('--------------DEBUG-----res-------', res);
}
this.setPageData({ isFind: false });
+ this.$nextTick(() => {
+ this.loadGrid = true;
+ })
},
//전월 or 일 마감--------------------------------------------------------------------------------------------
async saveReadResultCloseMng(mnthYn) {
diff --git a/pages/ems/effc/DataSetMngPage.vue b/pages/ems/effc/DataSetMngPage.vue
index 4fa7940..cf3e12c 100644
--- a/pages/ems/effc/DataSetMngPage.vue
+++ b/pages/ems/effc/DataSetMngPage.vue
@@ -1,5 +1,6 @@
+
@@ -34,23 +35,23 @@
-
+
Data Set 리스트
-
-
-
-
+
+
+
-
+
Data Set 상세
diff --git a/pages/ems/effc/EnrgMapPage.vue b/pages/ems/effc/EnrgMapPage.vue
index 910a6dc..b8f6922 100644
--- a/pages/ems/effc/EnrgMapPage.vue
+++ b/pages/ems/effc/EnrgMapPage.vue
@@ -1,5 +1,6 @@
+
@@ -158,8 +159,8 @@ export default {
},
async created() { },
async mounted() {
- this.initTest();
- return;
+ // this.initTest();
+ // return;
this.init();
// document.querySelector('.icon_arrow').style.width = document.querySelector('.iconArrowCols').clientWidth-20 + "px";
diff --git a/pages/ems/effc/EnrgReptMngPage.vue b/pages/ems/effc/EnrgReptMngPage.vue
index f168e6e..b88ff91 100644
--- a/pages/ems/effc/EnrgReptMngPage.vue
+++ b/pages/ems/effc/EnrgReptMngPage.vue
@@ -1,6 +1,6 @@
-
+
@@ -98,7 +98,6 @@ import Chart from '~/components/common/Chart';
import EqpmSelectPop from '~/components/common/modal/EqpmSelectPop';
import DateUtility from '~/plugins/dateUtility';
import XLSX from 'xlsx';
-import PageTitle from "~/components/common/PageTitle";
let myTitle;
let myPrgmId;
@@ -130,7 +129,6 @@ export default {
EqpmSelectPop,
DateUtility,
XLSX,
- PageTitle,
},
data() {
return {
diff --git a/pages/ems/effc/EnrgUsePlanPage.vue b/pages/ems/effc/EnrgUsePlanPage.vue
index 2a6f039..45a3471 100644
--- a/pages/ems/effc/EnrgUsePlanPage.vue
+++ b/pages/ems/effc/EnrgUsePlanPage.vue
@@ -1,5 +1,6 @@
+
@@ -9,20 +10,20 @@
+ :label="'FAB'" @update:propsValue="selectValue01 = $event" :iconShow="false" customClass="select-large" />
+ :label="'설비종류'" @update:propsValue="selectValue02 = $event" :iconShow="false" customClass="select-large"/>
+ :label="'설비그룹'" @update:propsValue="selectValue03 = $event" :iconShow="false" customClass="select-large" />
-
-
-
+
+
@@ -30,18 +31,15 @@
-
-
+
+
설비별 에너지 계획 리스트
-
-
-
-
-
+
+
@@ -171,8 +169,8 @@ export default {
created() { },
async mounted() {
// -------
- this.initTest();
- return;
+ // this.initTest();
+ // return;
// ========End test===========
await this.init();
this.initedFlag = true;
@@ -420,53 +418,25 @@ export default {
class CustumButton {
constructor(props) {
- // v-btn v-btn--is-elevated v-btn--has-bg theme--dark v-size--default
- const el = document.createElement('button');
const { grid, rowKey, columnInfo } = props;
- $(el).addClass('tui-grid-cell-content');
- // $(el).css('text-align', 'center');
- el.classList.add('v-btn');
- // el.style.width = '80%';
- // el.style.height = '80%';
- // el.style.boxShadow = '0px 0px 0px 2px #cbced6';
- // el.style.background = 'linear-gradient(to bottom, #242940 5%, #476e9e 100%)';
- // el.style.backgroundColor = '#144985';
- el.style.borderRadius = '7px';
- el.style.border = '1px solid #4e6096';
- // el.style.display = 'inline-block';
- // el.style.cursor = 'pointer';
- el.style.color = '#ffffff';
- // el.style.fontFamily = 'Arial';
- el.style.padding = '6% 3%';
+ const gridData = grid.store.data.rawData;
+ const value = gridData[rowKey][columnInfo.name];
- // el.style.textDecoration = 'none';
- // el.style.textShadow = '0px 1px 0px #283966';
-
- el.innerText = columnInfo.renderer.options.value;
- this.el = el;
this.disabled = columnInfo.renderer.options.disabled || false;
+ const elDiv = document.createElement('div');
+ elDiv.innerHTML = `
${value}`;
+ $(elDiv).addClass('tui-grid-cell-content d-flex justify-space-between');
+ const el2 = document.createElement('button');
+ $(el2).addClass('edit-btn blue--text');
+ el2.innerText = 'Edit';
+ elDiv.appendChild(el2);
+
+ this.el = elDiv;
if (!this.disabled) {
- // hover 기능 구현
- this.el.addEventListener('mouseover', function (event) {
- // console.log('darkModeFg', _this.darkModeFg);
- // console.log('event',event.fromElement);
- // console.log('event',document.defaultView.getComputedStyle(el).getPropertyValue('background-color'));
- // rgb(85, 130, 220) // light
- // el.style.backgroundColor = '#26578F'; // rgb(20, 73, 133) // dark
- // let btnColor = _this.darkModeFg? {mouseOver: '#26578F', mouseOut: '#144985'} : {mouseOver: 'rgb(85, 130, 220)', mouseOut: 'rgb(71, 119, 217)'};
- // el.style.backgroundColor = btnColor['mouseOver'];
- });
- this.el.addEventListener('mouseout', function (event) {
- // rgb(71, 119, 217) // light
- // el.style.backgroundColor = '#144985'; // dark
- // console.log('event',event.fromElement);
- // let btnColor = _this.darkModeFg? {mouseOver: '#26578F', mouseOut: '#144985'} : {mouseOver: 'rgb(85, 130, 220)', mouseOut: 'rgb(71, 119, 217)'};
- // el.style.backgroundColor = btnColor['mouseOut'];
- });
// click 이벤트
- this.el.addEventListener('click', function (event) {
+ el2.addEventListener('click', function (event) {
let gridData = grid.store.data.rawData;
let rowNum = gridData[rowKey].rowNum;
let selectedGridData = gridData.filter(item => {
@@ -537,18 +507,25 @@ export default {
minWidth: 200,
align: 'left',
// hidden: true,
- formatter: ({ value, row }) => {
- return `
-
${value}
-
- `;
- }
+ // formatter: ({ value, row }) => {
+ // return `
+ //
${value}
+ //
+ // `;
+ // }
+ renderer: {
+ type: CustumButton,
+ options: {
+ value: '계획수정',
+ },
+ },
},
{
header: '',
name: 'btnCol',
width: 70,
align: 'center',
+ hidden: true,
renderer: {
type: CustumButton,
options: {
diff --git a/plugins/eChart.js b/plugins/eChart.js
index 03a5cc5..7ebc410 100644
--- a/plugins/eChart.js
+++ b/plugins/eChart.js
@@ -52,5 +52,4 @@ use([
// ToolboxComponent, // 그래프 이미지 save
]);
-console.log('echart plugin', echarts)
Vue.component('VChart', VChart);
diff --git a/store/index.js b/store/index.js
index 3758a09..d88baf9 100644
--- a/store/index.js
+++ b/store/index.js
@@ -197,8 +197,8 @@ export const mutations = {
// 페이지 그리드 데이터 set
setGridData: (state, payload) => {
- console.log('check:', state.pageData)
- console.log('payload:', payload)
+ // console.log('check:', state.pageData)
+ // console.log('payload:', payload)
// state.pageData['PRG0001']['dashBoard_grid_01'] = {
// ...state.pageData['PRG0001']['dashBoard_grid_01'],
// data: payload.value,