Compare commits

..

2 Commits

16 changed files with 207 additions and 243 deletions

View File

@ -4,14 +4,13 @@
:data="chkGridData"
:columns="chkGridColumns"
:options="chkGridOptions"
@mousedown="focusChangeEvt"
@focusChange="focusChangeEvt"
@click="startEditing"
@editingFinish="editingFinish"
@dblclick="dblClick"
@mouseover="mouseoverEvent"
@mouseout="mouseoutEvent"
/>
<!-- @focusChange="focusChangeEvt" -->
</template>
<script>
import { mapState, mapMutations } from 'vuex';
@ -108,13 +107,16 @@ export default {
},
chkGridOptions() {
const options = {
// bodyHeight: 'fitToContent',
scrollX: false,
scrollY: false,
...this.gridData.option,
useIcon: false,
};
options.treeColumnOptions = {
useIcon: false,
...options.treeColumnOptions,
};
return options;
},
defaultRow() {
@ -161,7 +163,7 @@ export default {
},
created() {},
async mounted() {
// console.log(this.dataPath);
// console.log('--------------DEBUG----gridData: ', this.gridData);
if (this.gridName) {
this.gridInstance = this.$refs['tuigrid' + this.gridName];
@ -269,7 +271,6 @@ export default {
});
},
focusChangeEvt(e) {
// console.log("------------------DEBUG-------focusChangeEvt:", e);
// console.log('focusChangeEvt1...')
if (this.preventFocusChangeEvent(e)) {
// console.log('prevent focusChangeEvt')
@ -290,7 +291,6 @@ export default {
this.sendSelectedRowData(e.rowKey);
},
startEditing(e) {
// console.log("------------DEBUG-----startEditing----", e);
// console.log('startEditing1...')
if (this.preventFocusChangeEvent(e)) {
// console.log('prevent startEditing')
@ -666,6 +666,8 @@ export default {
store.dimension.offsetLeft = offsetLeft;
},
setHeight(_a,height){
return; // setting auto height
// console.log("setHeight");
var dimension = _a.dimension;
var headerHeight = dimension.headerHeight, summaryHeight = dimension.summaryHeight, tableBorderWidth = dimension.tableBorderWidth;
@ -703,6 +705,11 @@ export default {
</script>
<style scoped lang="scss">
::v-deep .tui-grid-container {
// .tui-grid-body-area {
// overflow: hidden !important;
// }
.tui-grid-content-area {
.tui-grid-cell-content {
input[type='number'] {

View File

@ -2,9 +2,7 @@
<v-row class="search-box" align="center" no-gutters>
<v-col v-if="label" :cols="labelCols">
<label for="" class="search-box-label">
<v-icon small color="primary"
:class="['mr-1', required ? 'icon-orange' : 'icon-blue']"
>$icoBulletPoint</v-icon>
<v-icon x-small color="primary" class="mr-1">mdi-record-circle</v-icon>
{{ label }}
</label>
</v-col>
@ -19,16 +17,14 @@
readonly
outlined
>
<template #append >
<v-icon size="20" v-show="!isRange">$icoCalendar</v-icon>
<template #append>
<v-icon size="20">$icoCalendar</v-icon>
</template>
<template #append-outer>
<div ref="startpicker-container" id="startpicker-container"></div>
</template>
</v-text-field>
<div v-if="isRange" class="mx-3" :style="{ lineHeight: 0 }">
<img :src="arrowIcon" alt="">
</div>
<div v-show="isRange" class="mx-3" :style="{ lineHeight: 0 }">~</div>
<v-text-field
v-show="isRange"
id="endpicker"
@ -133,12 +129,6 @@ export default {
this.defaultRange === 'no limite'
);
},
arrowIcon() {
if(this.isDarkMode){
return require('@/assets/images/arrow_datepicker_dm.png');
}
return require('@/assets/images/arrow_datepicker.png');
}
},
watch: {
myCmCycle() {

View File

@ -1,5 +1,5 @@
<template>
<v-row class="search-box no-gutters" align="center">
<v-row class="search-box" align="center">
<v-col :cols="option.labelCols" class="py-0">
<label for="" class="search-box-label">
<v-icon v-if="item.iconShow" small
@ -8,11 +8,13 @@
</label>
</v-col>
<v-col :cols="option.textCols" class="py-0">
<v-text-field readonly append-icon="" :class="['v-select__custom', customClass]" outlined :hide-details="true"
v-model="selectValue" @keyup.enter="typeEnterKey" @click="dialogOpenCloseEvent(dialog)" style="padding: 0;"
<v-text-field readonly append-icon="" class="v-input__custom" outlined :hide-details="true"
v-model="searchWord" @keyup.enter="typeEnterKey" @click="dialogOpenCloseEvent(dialog)"
:required="item.required || false"><template v-slot:append>
<!-- Custom SVG icon -->
<v-icon>$icoSearch</v-icon>
</template></v-text-field>
</v-col>
@ -41,6 +43,8 @@
class="search-button">조회</a-button>
</v-row>
</v-col>
</v-row>
<!-- <div :style="'height: calc(65vh)'"> -->
<div :style="'height: 600px'" class="px-5">

View File

@ -4,24 +4,24 @@
class="d-flex justify-space-between align-center"
style="height: 80px;"
>
<span class="txt">설비 입출력 정보</span>
<span class="txt custom-title-4-new">설비 입출력 정보</span>
<Buttons
:parentPrgmId="parentPrgmId"
:bindingData="gridName"
:btnActionsFnc="btnActions"
/>
</div>
<div ref="gridParent" style="height: calc(100vh - 800px);">
<div ref="gridParent" style="min-height: calc(100vh - 800px);" >
<!-- :is="loadGrid ? 'Grid' : null" -->
<Grid
:ref="gridName"
:is="loadGrid ? 'Grid' : null"
:gridName="gridName"
:parentPrgmId="parentPrgmId"
@getRowsData="getRowData"
:innerTabGridInfo="innerTabGridInfo"
/>
</div>
<div style="min-height: calc(100vh - 900px);">
<div style="min-height: calc(100vh - 900px);" class="mt-4">
<component
:is="'Form'"
:parentPrgmId="parentPrgmId"
@ -65,6 +65,22 @@ export default {
inputList_emMapDiv: [],
inputList_cmInOut: [],
dataPathMock: {
'rowEqpmIaoGrid' : {
column: [
{ header: '대상항목', name: 'id', headerAlign: 'left' },
{ header: '에너지원 명', name: 'lable', headerAlign: 'left' },
{ header: '대상 유형', name: 'type', headerAlign: 'left' },
{ header: '물리량', name: 'note', headerAlign: 'left' },
{ header: '계산여부', name: 'field1', headerAlign: 'left' },
{ header: '분배율', name: 'field2', headerAlign: 'left' }
],
data: dataPathDataExample,
defaultRow: dataPathDataExample,
option: {}
}
},
};
},
computed: {
@ -113,16 +129,16 @@ export default {
selectedObjId(val) {
console.log('selectedObjId : ', val);
if (val === 'TAG') {
this.detailList[2].class = 'py-3 d-none';
this.detailList[3].class = 'py-3 pl-4 pt-1 d-none';
this.detailList[4].class = 'py-3';
this.detailList[5].class = 'py-3';
this.detailList[2].class = 'py-2 d-none';
this.detailList[3].class = 'py-2 d-none';
this.detailList[4].class = 'py-2';
this.detailList[5].class = 'py-2';
} else {
// }else if(val==="READ_PLC"){
this.detailList[5].class = 'py-3 d-none';
this.detailList[4].class = 'py-3 d-none';
this.detailList[3].class = 'py-3 pl-4 pt-1';
this.detailList[2].class = 'py-3';
this.detailList[5].class = 'py-2 d-none';
this.detailList[4].class = 'py-2 d-none';
this.detailList[3].class = 'py-2';
this.detailList[2].class = 'py-2';
}
},
selectedCalcFg(val) {
@ -155,7 +171,7 @@ export default {
},
},
mounted() {
this.init();
// this.init();
},
methods: {
...mapMutations({
@ -280,7 +296,9 @@ export default {
value: myColumns,
});
this.loadGrid = true;
this.$nextTick(() => {
this.loadGrid = true;
});
},
async getRowData(data, gridName) {
if (data.rowStat === 'I') {
@ -399,7 +417,6 @@ export default {
},
};
function checkDuplicate(data, targetKey) {
var duplicateFlag = false;
var set = new Set();
@ -470,7 +487,7 @@ const myEqpmIaoDetail = [
},
{
type: 'EvtObjPop',
labelContent: '대상 항목',
labelContent: '대상 항목 111',
valueNm: 'objId',
valueNm2: 'objNm',
bindNm: 'objNm',
@ -485,7 +502,7 @@ const myEqpmIaoDetail = [
},
{
type: 'InputText',
cols: 6,
cols: 5,
class: 'py-3 d-none',
valueNm: 'objNm',
readonly: true,
@ -598,4 +615,13 @@ const myEqpmIaoDetail = [
iconShow: true
},
];
import { getPathDataExample } from '@/const/const'
const dataPathDataExample = getPathDataExample({
id: 'INCHEON.HVAC.EQP_HT_CH001.UT_CH101.CHI_AMP_1A_PV',
lable: 'INCHEON 고온 냉동기 101호기 - 호로1',
type: '사용', note: '-',
field1: '1111',
field2: '2222',
});
</script>

View File

@ -1,7 +1,7 @@
<template>
<v-card class="pb-5">
<v-card-title class="d-flex justify-space-between align-end">
<span style="color:#000000A6" class="tit custom-title-4-new">TAG 추가 정보</span>
<span class="tit ft-size_20 ft-weight_600">TAG 추가 정보</span>
<Buttons
:parentPrgmId="parentPrgmId"
:bindingData="gridName"

View File

@ -131,8 +131,8 @@
$depth3rdBulletDark
</v-icon>
<span v-if="item.url">{{ item.menuNm }}
<!-- <span v-if="item.bookmark" class="material-icons" style="font-size: 17px; vertical-align: middle;" @click="addBookMark(item.menuId, item.url, item.bookmark)">star</span>
<span v-else-if="!item.bookmark" class="material-icons" style="font-size: 17px; vertical-align: middle;" @click="addBookMark(item.menuId, item.url, item.bookmark)">star_border</span> -->
<span v-if="item.bookmark" class="material-icons" style="font-size: 17px; vertical-align: middle;" @click="addBookMark(item.menuId, item.url, item.bookmark)">star</span>
<span v-else-if="!item.bookmark" class="material-icons" style="font-size: 17px; vertical-align: middle;" @click="addBookMark(item.menuId, item.url, item.bookmark)">star_border</span>
</span>
<span v-else-if="!item.url">{{ item.menuNm }}</span>
<v-icon v-if="item.lvl >= 1 && item.childeVo && item.childeVo.length > 0 && !item.url">
@ -392,6 +392,7 @@ export default {
deep: true,
handler(value) {
if (value) {
console.log(value)
const prgmId = value.prgmId;
let thisPrgmId = this.$route.query.prgmId;
var tmp = 0;

View File

@ -12,6 +12,8 @@
:parentPrgmId="myPrgmId"
:sendParam="{ comId }"
customClass="select-large"
labelCols="12"
textCols="12"
/>
<!-- <component
:is="'selectCodeList'"
@ -310,37 +312,9 @@ export default {
this.gridInit();
},
gridInitTest() {
const rowGrid = {
column: [
{ header: '사용자No', name: 'userNo', align: 'center', hidden: true },
{ header: '사용자명', name: 'userNm' },
{ header: '사용자ID', name: 'userLoginId' },
{ header: '사용자비밀번호', name: 'userPswd', hidden: true },
{ header: '사업장', name: 'blocId', hidden: true },
{ header: 'email', name: 'email', hidden: true },
{ header: '등록자NO', name: 'regUserNo', hidden: true },
{ header: '등록일시', name: 'regDttm', hidden: true },
{ header: '수정자NO', name: 'procUserNo', hidden: true },
{ header: '수정일시', name: 'procDttm', hidden: true },
{ header: 'comId', name: 'comId', hidden: true },
{ header: 'deptId', name: 'deptId', hidden: true },
],
data: dataMockExample,
defaultRow: dataMockExample,
option: [],
}
this.dataPathMock = {rowGrid};
this.$nextTick(() => {
this.loadGrid = true;
});
},
// 사용자 리스트 그리드 세팅
gridInit() {
// this.gridInitTest(); return
const gridHeight = this.$refs.gridParent.offsetHeight - 90;
const myOptions = {

View File

@ -4,24 +4,28 @@
<v-row ref="searchFilter">
<v-col :cols="12">
<v-card class="searchFilter">
<v-row align="center" no-gutters>
<v-col :cols="2">
<v-row align="end" no-gutters>
<v-col :cols="2.5">
<InputText
:parentPrgmId="myPrgmId"
label="배치ID"
valueNm="batchId"
:searchOption="true"
:iconShow="true"
customClass="input-large"
/>
</v-col>
<v-col :cols="2">
<v-col :cols="2.5">
<InputText
:parentPrgmId="myPrgmId"
label="배치명"
valueNm="batchNm"
:searchOption="true"
:iconShow="true"
customClass="input-large"
/>
</v-col>
<v-col :cols="2">
<v-col :cols="2.5">
<component
:is="'selectCodeList'"
:parentPrgmId="myPrgmId"
@ -29,19 +33,21 @@
:dataKey="'execRsltCd'"
:sendParam="{ commGrpCd: 'CO_BATCH_EXEC_RSLT', useFg: '1' }"
:addAll="true"
:iconShow="true"
customClass="select-large"
/>
</v-col>
<v-col :cols="2">
<v-col :cols="2.5">
<component
:is="'Datepicker'"
:parentPrgmId="myPrgmId"
:label="'조회기간'"
:customClass="'input-large'"
/>
</v-col>
<v-spacer></v-spacer>
<v-col :cols="4" class="text-right">
<BtnSearch />
<BtnExcelDownload :parentPrgmId="myPrgmId" :gridName="gridName" />
<v-col :cols="2" class="text-right d-flex align-end justify-end ga-1" style="gap: 4px">
<BtnSearch size="large" />
<BtnExcelDownload :parentPrgmId="myPrgmId" :gridName="gridName" size="large" />
</v-col>
</v-row>
</v-card>
@ -135,7 +141,7 @@ export default {
myPrgmId: myPrgmId,
loadGrid: false,
gridName: 'rowGrid',
// rowGridOrigin: [],
rowGridOrigin: [],
detailList: myDetail,
};
},
@ -291,7 +297,7 @@ export default {
// 엑셀 다운로드용 데이터 재정렬
this.xlsDataBind(res);
// this.rowGridOrigin = Utility.copyObj(newRes);
this.rowGridOrigin = Utility.copyObj(newRes);
this.setGridData({
gridKey: this.gridName,
value: newRes,
@ -427,6 +433,3 @@ const myDetail = [
},
];
</script>
<style lang="scss">
@import '@/assets/scss/common.scss';
</style>

View File

@ -16,7 +16,7 @@
customClass="select-large"
/>
</v-col>
<v-col :cols="3">
<v-col :cols="4">
<InputText
:parentPrgmId="myPrgmId"
label="프로그램명"
@ -50,16 +50,17 @@
/>
</div>
</div>
<div ref="gridParent" style="height: 100vh">
<!-- <div ref="gridParent" class="px-5 h100">
</div> -->
<component
:ref="gridName"
:is="loadGrid ? 'Grid' : null"
:parentPrgmId="myPrgmId"
:gridName="gridName"
@getRowsData="getRowData"
/>
<div style="min-height: 60vh">
<div ref="gridParent" class="px-5 h100">
<component
:ref="gridName"
:is="loadGrid ? 'Grid' : null"
:parentPrgmId="myPrgmId"
:gridName="gridName"
@getRowsData="getRowData"
:dataPath="dataPathMock"
/>
</div>
</div>
</v-card>
</v-col>
@ -261,6 +262,8 @@ export default {
});
// this.getRowGridData();
this.loadGrid = true;
},
async search() {
await this.getRowGridData();
@ -293,8 +296,7 @@ export default {
gridKey: this.gridName,
value: newRes,
});
this.loadGrid = true;
this.$nextTick(() => {
if (newRes.length > 0) {
this.$refs[this.gridName].focus({
@ -314,12 +316,6 @@ export default {
});
},
async getRowData(data, gridName) {
// console.log("-----------------------DEBUG--getRowData--------------", {
// gridKey: gridName,
// gridSelect: true,
// rowGridSelectKey: data.rowKey,
// rowGridSelectData: data,
// });
this.setGridSelectData({
gridKey: gridName,
gridSelect: true,
@ -331,7 +327,6 @@ export default {
rowGridSelectKey: data.rowKey,
rowGridSelectData: data,
});
},
compareData(type, newDt) {
if (this.selectedCommCdData[type] == newDt) {

View File

@ -64,7 +64,6 @@
:gridName="gridName"
:parentPrgmId="myPrgmId"
@getRowsData="getRowData"
:dataPath="dataPathMock"
/>
</div>
</div>
@ -137,24 +136,10 @@ export default {
return {
myPrgmId: myPrgmId,
gridName: 'rowGrid',
loadGrid: true,
loadGrid: false,
tab: null,
detailList: myDetail,
initedFlag: false,
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: {
@ -351,8 +336,7 @@ export default {
this.search();
},
async search() {
//process
this.loadGrid = true;
this.loadGrid = false;
await this.getRowGridData();
await this.setPageData({
isFind: false,
@ -642,43 +626,7 @@ 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,
},
];
</script>
<style lang="scss">
@import '@/assets/scss/common.scss';
</style>

View File

@ -1,6 +1,6 @@
<template>
<div ref="mainDiv" class="l-layout">
<CommonPageTitle/>
<PageTitle/>
<v-row ref="searchFilter">
<v-col :cols="12">
<v-card class="searchFilter">

View File

@ -1,6 +1,6 @@
<template>
<div ref="mainDiv" class="l-layout">
<CommonPageTitle />
<PageTitle />
<v-row ref="searchFilter">
<v-col :cols="12">
<v-card class="searchFilter">
@ -480,17 +480,18 @@ const myDetail = [
labelCols: 12,
textCols: 12,
},
{
type: 'CheckBox',
label: '사용 여부',
valueNm: 'useFg',
disabled: false,
cols: 6,
class: 'py-2 pr-4 pt-4',
class: 'py-2 pr-4 pt-5',
value: { '1': true, '0': false },
required: true,
iconShow: true,
labelCols: 12,
textCols: 12,
},
{
type: 'SelectBox',

View File

@ -1,26 +1,63 @@
<template>
<div class="l-layout">
<CommonPageTitle />
<PageTitle text="측정 위치 데이터 조회" />
<v-row ref="searchFilter">
<v-col :cols="12">
<v-card class="searchFilter">
<v-row align="end" no-gutters>
<v-col :cols="3">
<component :is="'SelectBlocMstr'" ref="SelectBlocMstr" :parentPrgmId="myPrgmId"
:textCols="12" customClass="select-large" />
<v-col :cols="2">
<component
:is="'SelectBlocMstr'"
ref="SelectBlocMstr"
:parentPrgmId="myPrgmId"
:textCols="12"
customClass="select-large"
/>
</v-col>
<!-- <v-col :cols="2">
<component
label="검침개소"
:is="'PastRsltDataReadPop'"
:parentPrgmId="myPrgmId"
/>
</v-col> -->
<!-- <v-col :cols="2">
<component
:is="'SelectTagNmList'"
ref="SelectTagNmList"
:parentPrgmId="myPrgmId"
/>
</v-col> -->
<v-col :cols="3">
<component :is="'EvtObjPop'" :parentPrgmId="myPrgmId" :item="evtObjPopItem"
customClass="select-large" />
<!-- <component
:is="'PastRsltDataReadTagPop'"
:parentPrgmId="myPrgmId"
:label="'TAG'"
/> -->
<component
:is="'EvtObjPop'"
:parentPrgmId="myPrgmId"
:item="evtObjPopItem"
customClass="select-large"
/>
</v-col>
<v-col :cols="3">
<!-- 대상일 -->
<component :is="'Datepicker'" :parentPrgmId="myPrgmId" :label="'조회기간'" :textCols="12" />
<v-col :cols="4">
<component
:is="'Datepicker'"
:parentPrgmId="myPrgmId"
:label="'조회기간'"
:textCols="12"
/>
</v-col>
<v-col :cols="3" class="d-flex align-end justify-end text-right">
<BtnExcelDownload class="mr-1" :parentPrgmId="myPrgmId" :gridName="gridName" type="primary"
size="large" />
<v-col :cols="3" class="d-flex align-end justify-end text-right">
<BtnExcelDownload
class="mr-1"
:parentPrgmId="myPrgmId"
:gridName="gridName"
type="primary"
size="large"
/>
<BtnSearch @click="search" size="large" />
</v-col>
</v-row>
@ -31,12 +68,12 @@
<v-col :cols="12" style="height: 100%" class="h100">
<v-card class="px-5 py-5 h100">
<div ref="gridParent" class="h100 px-5" style="height: 100%">
<component ref="myGrid" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
:parentPrgmId="myPrgmId" />
</div>
<div class="d-flex align-center justify-space-between">
<pagination id="pagination" :total-count="totalCount" :page-num="page" :limit="limit"
@loadData="changeGrid" />
<component
ref="myGrid"
:is="loadGrid ? 'Grid' : null"
:gridName="gridName"
:parentPrgmId="myPrgmId"
/>
</div>
</v-card>
</v-col>
@ -60,7 +97,7 @@ import BtnExcelDownload from '~/components/common/button/BtnExcelDownload';
import DateUtility from '~/plugins/dateUtility';
// import Search from "~/components/common/search";
import EvtObjPop from '~/components/common/modal/EvtObjPop';
import pagination from '~/components/Pagination';
import PageTitle from "~/components/common/PageTitle";
let myTitle;
// const myPrgmId = "PRG0052";
@ -93,7 +130,7 @@ export default {
PastRsltDataReadPop,
PastRsltDataReadTagPop,
EvtObjPop,
pagination,
PageTitle,
},
data() {
return {
@ -109,16 +146,12 @@ export default {
valueNm2: 'tagNm',
iconShow: true,
disabled: false,
labelCols: 12,
textCols: 12,
class: 'py-2',
required: false,
formFg: false,
},
itemsPerPage: 10,
itemsPerPageArray: [10, 20, 30],
limit: 20,
page: 1,
totalCount: 0,
};
},
computed: {
@ -131,6 +164,9 @@ export default {
chkTagId() {
return this.pageData.tagList === undefined ? null : this.pageData.tagId;
},
// chkTagList() {
// return this.pageData.tagList;
// },
chkTagNm() {
return this.pageData.tagData.tagNm;
},
@ -140,16 +176,18 @@ export default {
},
watch: {
chkIsFind(val) {
if (val) {
this.page = 1;
this.search();
}
if (val) this.search();
},
chkTagId(val) {
if (this.initFlag && val != null) {
this.search();
}
},
// chkTagList() {
// if(this.initFlag){
// this.search();
// }
// },
chkTagNm() {
if (this.initFlag) {
this.search();
@ -169,7 +207,7 @@ export default {
defaultData: defaultData,
});
},
created() { },
created() {},
async mounted() {
await this.setFromDt();
await this.init();
@ -292,7 +330,6 @@ export default {
this.loadGrid = false;
let res = [];
let res2 = [];
let yearQuarterData = [];
yearQuarterData = this.yearQuarterMaker([
this.pageData.fromDt,
@ -344,18 +381,8 @@ export default {
apiKey: 'selectTagRawDataByQuarter',
resKey: 'pastRsltReadData',
sendParam: sendParams,
limit: this.limit,
page: this.page,
offset: (this.page - 1) * this.limit, // MariaDB Query에서 직접 계산이 안됨
});
res2 = await this.postApiReturn({
apiKey: 'selectTagRawDataByQuarterPageTotal',
resKey: 'pastRslPageTotal',
sendParam: sendParams
});
this.totalCount = res2[0].totalcount;
this.setGridData({
gridKey: this.gridName,
value: res,
@ -366,9 +393,6 @@ export default {
fromDt: this.pageData.fromDt,
toDt: this.pageData.toDt,
yearQuarterList: yearQuarterData['yearQuarterList'],
limit: this.limit,
page: this.page,
offset: (this.page - 1) * this.limit, // MariaDB Query에서 직접 계산이 안됨
};
sendParams['tagId'] = this.pageData.tagId;
//
@ -386,13 +410,6 @@ export default {
sendParam: sendParams,
});
res2 = await this.postApiReturn({
apiKey: 'selectTagRawDataByQuarterPageTotal',
resKey: 'pastRslPageTotal',
sendParam: sendParams
});
this.totalCount = res2[0].totalcount;
this.setGridData({
gridKey: this.gridName,
value: res,
@ -470,12 +487,6 @@ export default {
finalResult['yearQuarterList'] = result;
return finalResult;
},
changeGrid: async function (pageNum, limit) {
this.page = pageNum;
this.limit = limit;
this.search();
},
},
};

View File

@ -405,8 +405,6 @@ export default {
value: myColumns,
});
this.loadGrid = true;
this.search();
},
async getRowGridData() {
@ -435,8 +433,9 @@ export default {
gridKey: this.gridName,
value: newRes,
});
console.log('-------DEBUG-----newRes: ', newRes);
this.$nextTick(() => {
this.loadGrid = true;
if (newRes.length > 0) {
try {
this.$refs[this.gridName].focus({

View File

@ -1,6 +1,6 @@
<template>
<div class="l-layout">
<CommonPageTitle/>
<PageTitle/>
<v-row ref="searchFilter">
<v-col :cols="12">
<v-card class="searchFilter">
@ -58,7 +58,7 @@
@sendSelectedRowStatInfo="getSelectedRowStatInfo" :selectedRowDataWatchFlag="true" />
</div>
</v-card-actions>
<div class="d-flex align-center justify-space-between">
<!-- <div class="d-flex align-center justify-space-between">
<pagination
id="pagination"
:total-count="totalCount"
@ -66,7 +66,7 @@
:limit="limit"
@loadData="changeGrid"
/>
</div>
</div> -->
</v-card>
</v-col>
<v-col :cols="7" class="h100">
@ -107,6 +107,7 @@ import TagAddInfoTab from '@/components/pages/ems/TagInfo/TagAddInfoTab';
import Grid from '~/components/common/Grid';
import Utility from '~/plugins/utility';
import pagination from '~/components/Pagination';
import PageTitle from "~/components/common/PageTitle";
let myTitle;
// const myPrgmId = "PRG0051";
@ -139,12 +140,13 @@ export default {
TagAddInfoTab,
Grid,
pagination,
PageTitle
},
data() {
return {
myPrgmId: myPrgmId,
gridName: 'rowGrid',
loadGrid: false,
loadGrid: true,
tab: null,
items: [
{ name: 'TAG 정보', id: 'tagBaseInfoTab', disabledFlag: false },
@ -273,12 +275,16 @@ export default {
this.gridInit();
},
gridInit() {
const gridHeight = this.$refs.gridParent.offsetHeight - 16;
const gridHeight = this.$refs.gridParent.offsetHeight - 180;
const myOptions = {
columnOptions: {
resizable: true,
},
pageOptions: {
useClient: true,
perPage: 10,
},
scrollX: true,
header: {
height: 38,
@ -521,16 +527,16 @@ export default {
//rowKey: 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,
columnName: 'tagId',
setScroll: true,
});
} catch (error) {}
} catch (error) { }
// this.$refs[this.gridName].focus({
// rowKey: 0,
// columnName: "tagId",
@ -767,7 +773,7 @@ export default {
gridEditingFinish(data) {
this.$refs[this.gridName].editingFinish(data);
},
changeGrid: async function(pageNum, limit) {
changeGrid: async function (pageNum, limit) {
this.page = pageNum;
this.limit = limit;
@ -811,9 +817,9 @@ function isValidAlrmVal(obj) {
if (Number(obj[keyList[i]]) >= Number(obj[keyList[j]])) {
alert(
nameList[j] +
'값은 ' +
nameList[i] +
'값보다 큰 숫자를 입력해야 합니다.',
'값은 ' +
nameList[i] +
'값보다 큰 숫자를 입력해야 합니다.',
);
return false;
}
@ -1106,4 +1112,4 @@ const myDetail = [
class: 'py-2',
},
];
</script>
</script>

View File

@ -669,8 +669,7 @@ const INIT_URL_STATE = {
// prgmId : PRG0052 과거 검침 데이터 조회
selectTagRawDataByQuarter:
'ems/base/PastRsltDataReadCtr/selectTagRawDataByQuarter',
selectTagRawDataByQuarterPageTotal:
'ems/base/PastRsltDataReadCtr/selectTagRawDataByQuarterPageTotal',
// prgmId : PRG4107 개인화 대시보드
selectIndvWidgetList: 'ems/base/DashboardHfemsCtr/selectIndvWidgetList',
selectEnergyUseReadHourAddup: