Compare commits
3 Commits
dev-dungtv
...
dev-manhph
Author | SHA1 | Date | |
---|---|---|---|
205821fc11 | |||
bea1e0889b | |||
34d03b2546 |
@ -63,12 +63,6 @@
|
||||
line-height: 1.25 !important;
|
||||
}
|
||||
|
||||
.custom-title-7 {
|
||||
font-size: 0.875rem !important;
|
||||
font-weight: 400 !important;
|
||||
line-height: 22px !important;
|
||||
}
|
||||
|
||||
.custom-title-8 {
|
||||
font-size: 0.75rem !important;
|
||||
font-weight: 700 !important;
|
||||
@ -82,15 +76,15 @@
|
||||
|
||||
.custom-text-2 {
|
||||
opacity: 0.6;
|
||||
font-family: SpoqaHanSansNeo;
|
||||
font-size: 14px;
|
||||
font-weight: normal;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
line-height: 2.17;
|
||||
// font-weight: normal;
|
||||
// font-stretch: normal;
|
||||
// font-style: normal;
|
||||
// letter-spacing: normal;
|
||||
// text-align: right;
|
||||
// color: #fff;
|
||||
// font-family: SpoqaHanSansNeo;
|
||||
letter-spacing: normal;
|
||||
text-align: right;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.text-color--white-0 {
|
||||
|
@ -2,7 +2,9 @@
|
||||
<v-row class="search-box" align="center" no-gutters>
|
||||
<v-col v-if="label" :cols="labelCols">
|
||||
<label for="" class="search-box-label">
|
||||
<v-icon x-small color="primary" class="mr-1">mdi-record-circle</v-icon>
|
||||
<v-icon small color="primary"
|
||||
:class="['mr-1', required ? 'icon-orange' : 'icon-blue']"
|
||||
>$icoBulletPoint</v-icon>
|
||||
{{ label }}
|
||||
</label>
|
||||
</v-col>
|
||||
@ -17,14 +19,16 @@
|
||||
readonly
|
||||
outlined
|
||||
>
|
||||
<template #append>
|
||||
<v-icon size="20">$icoCalendar</v-icon>
|
||||
<template #append >
|
||||
<v-icon size="20" v-show="!isRange">$icoCalendar</v-icon>
|
||||
</template>
|
||||
<template #append-outer>
|
||||
<div ref="startpicker-container" id="startpicker-container"></div>
|
||||
</template>
|
||||
</v-text-field>
|
||||
<div v-show="isRange" class="mx-3" :style="{ lineHeight: 0 }">~</div>
|
||||
<div v-if="isRange" class="mx-3" :style="{ lineHeight: 0 }">
|
||||
<img :src="arrowIcon" alt="">
|
||||
</div>
|
||||
<v-text-field
|
||||
v-show="isRange"
|
||||
id="endpicker"
|
||||
@ -129,6 +133,12 @@ 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() {
|
||||
|
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<v-row class="search-box" align="center">
|
||||
<v-row class="search-box no-gutters" align="center">
|
||||
<v-col :cols="option.labelCols" class="py-0">
|
||||
<label for="" class="search-box-label">
|
||||
<v-icon v-if="item.iconShow" small
|
||||
@ -8,13 +8,11 @@
|
||||
</label>
|
||||
</v-col>
|
||||
<v-col :cols="option.textCols" class="py-0">
|
||||
<v-text-field readonly append-icon="" class="v-input__custom" outlined :hide-details="true"
|
||||
v-model="searchWord" @keyup.enter="typeEnterKey" @click="dialogOpenCloseEvent(dialog)"
|
||||
<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;"
|
||||
:required="item.required || false"><template v-slot:append>
|
||||
<!-- Custom SVG icon -->
|
||||
<v-icon>$icoSearch</v-icon>
|
||||
|
||||
|
||||
</template></v-text-field>
|
||||
</v-col>
|
||||
|
||||
@ -43,8 +41,6 @@
|
||||
class="search-button">조회</a-button>
|
||||
</v-row>
|
||||
</v-col>
|
||||
|
||||
|
||||
</v-row>
|
||||
<!-- <div :style="'height: calc(65vh)'"> -->
|
||||
<div :style="'height: 600px'" class="px-5">
|
||||
|
@ -20,6 +20,7 @@
|
||||
:editorGrid="true"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
@getRowsData="getRowData"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -51,7 +52,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: false,
|
||||
loadGrid: true,
|
||||
gridName: 'rowDetailGrid',
|
||||
rowKey: null,
|
||||
edtingFinishFlag: 'Y',
|
||||
@ -342,9 +343,7 @@ export default {
|
||||
value: myColumns,
|
||||
});
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.loadGrid = true;
|
||||
});
|
||||
this.loadGrid = true;
|
||||
},
|
||||
async btnActions(action) {
|
||||
let dataArr = [];
|
||||
|
@ -6,7 +6,7 @@
|
||||
</div>
|
||||
<div ref="gridParent" style="min-height: calc(100vh - 800px);">
|
||||
<Grid :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="parentPrgmId"
|
||||
@getRowsData="getRowData" :innerTabGridInfo="innerTabGridInfo" />
|
||||
@getRowsData="getRowData" :innerTabGridInfo="innerTabGridInfo" :dataPath="dataPathMock" />
|
||||
</div>
|
||||
<div style="min-height: calc(100vh - 900px);" class="mt-4">
|
||||
<component :is="'Form'" :parentPrgmId="parentPrgmId" :bindingData="gridName" :detailList="detailList"
|
||||
@ -41,7 +41,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: false,
|
||||
loadGrid: true,
|
||||
gridName: 'rowEqpmConstGrid',
|
||||
detailList: myEqpmConstDetail,
|
||||
|
||||
@ -232,9 +232,7 @@ export default {
|
||||
value: myColumns,
|
||||
});
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.loadGrid = true;
|
||||
});
|
||||
this.loadGrid = true;
|
||||
},
|
||||
async getRowData(data, gridName) {
|
||||
if (data.rowStat === 'I') {
|
||||
|
@ -19,6 +19,7 @@
|
||||
:parentPrgmId="parentPrgmId"
|
||||
@getRowsData="getRowData"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
</div>
|
||||
<div style="min-height: calc(100vh - 900px);" class="mt-4">
|
||||
@ -59,7 +60,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: false,
|
||||
loadGrid: true,
|
||||
gridName: 'rowEqpmIaoGrid',
|
||||
detailList: myEqpmIaoDetail,
|
||||
|
||||
@ -296,9 +297,7 @@ export default {
|
||||
value: myColumns,
|
||||
});
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.loadGrid = true;
|
||||
});
|
||||
this.loadGrid = true;
|
||||
},
|
||||
async getRowData(data, gridName) {
|
||||
if (data.rowStat === 'I') {
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<v-card class="pb-5">
|
||||
<v-card-title class="d-flex justify-space-between align-end">
|
||||
<span class="tit ft-size_20 ft-weight_600">TAG 추가 정보</span>
|
||||
<span style="color:#000000A6" class="tit custom-title-4-new">TAG 추가 정보</span>
|
||||
<Buttons
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="l-layout">
|
||||
<CommonPageTitle />
|
||||
<common-page-title />
|
||||
<!-- 리스트 페이지 시작 -->
|
||||
<div v-if="pageActionFlag == 'list'" class="h1001">
|
||||
<v-card class="" >
|
||||
@ -16,9 +16,11 @@
|
||||
</div>
|
||||
</v-col>
|
||||
<v-col :cols="12" ref="contents" class="mt-5" style="min-height: calc(100% - 76px);">
|
||||
<div ref="gridParent" class="px-50" style="min-height: 70vh;">
|
||||
<div ref="gridParent" class="h100 px-50">
|
||||
<!-- <component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
|
||||
@getRowsData="getRowData" /> -->
|
||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
|
||||
@getRowsData="getRowData" />
|
||||
@getRowsData="getRowData" :selectedRowDataWatchFlag="true" />
|
||||
</div>
|
||||
</v-col>
|
||||
</v-row>
|
||||
@ -27,7 +29,7 @@
|
||||
</div>
|
||||
<!-- 리스트 페이지 끝 -->
|
||||
<!-- 상세보기 페이지 시작 -->
|
||||
<div v-if="pageActionFlag == 'view'" >
|
||||
<div v-if="pageActionFlag == 'view'" class="h1001">
|
||||
<v-card>
|
||||
<v-row class="pa-5">
|
||||
<v-col :cols="12" class="d-flex align-center justify-space-between ">
|
||||
@ -45,25 +47,25 @@
|
||||
<a-button @click="viewPageButtonGroupClickEvent('delete')" type="danger" ghost icon="delete">삭제</a-button>
|
||||
</div>
|
||||
</v-col>
|
||||
<v-col :cols="12" class="mt-5">
|
||||
<v-card-title class="custom-title-6 pa-0">{{ viewActionData.title }}</v-card-title>
|
||||
<v-col :cols="12">
|
||||
<p class="custom-title-3 mb-2"> 제목 </p>
|
||||
<v-text-field v-model="viewActionData.title" class="v-input__custom" hide-details :readonly="true">
|
||||
</v-text-field>
|
||||
</v-col>
|
||||
<v-col :cols="12" style="min-height: 30vh;" class="pa-0">
|
||||
<v-col :cols="12" style="min-height:calc(90vh - 218px);" class="pa-5">
|
||||
<viewer v-if="viewActionData.viewerFlag" ref="tuiViewer" height="inherit"
|
||||
:initialValue="viewActionData.content" theme="white"
|
||||
:class="[isDarkMode ? 'theme--white' : 'theme--black', 'custom-view pa-3']" />
|
||||
:class="isDarkMode ? 'theme--white' : 'theme--black'" />
|
||||
</v-col>
|
||||
<v-col :cols="6" class="mt-5">
|
||||
<v-card-title class="custom-title-7 pa-0">
|
||||
파일목록
|
||||
</v-card-title>
|
||||
<v-col :cols="6">
|
||||
<p class="custom-title-3 mb-2">파일목록</p>
|
||||
<div v-for="fileData in viewActionData.fileData"
|
||||
:key="fileData.apndFileId"
|
||||
class="file-item">
|
||||
<a @click.prevent="downloadFile(fileData)">
|
||||
<div class="d-flex justify-start search-box-label">
|
||||
<div class="d-flex justify-space-between search-box-label">
|
||||
<v-icon>mdi-paperclip</v-icon>
|
||||
<span class="file-item-name ml-2">{{ fileData.apndFileNm + '.' + fileData.apndFileExt }}</span>
|
||||
<span class="file-item-name">{{ fileData.apndFileNm + '.' + fileData.apndFileExt }}</span>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@ -73,24 +75,28 @@
|
||||
</div>
|
||||
<!-- 상세보기 페이지 끝 -->
|
||||
<!-- 작성 페이지 시작 -->
|
||||
<div v-if="pageActionFlag == 'write'" >
|
||||
<div v-if="pageActionFlag == 'write'" class="h1001">
|
||||
<v-card>
|
||||
<div class="pa-5">
|
||||
<v-row class="pa-50">
|
||||
<v-col :cols="12" class="">
|
||||
<v-card-title class="custom-title-4 pa-0">공지사항</v-card-title>
|
||||
</v-col>
|
||||
<v-col :cols="12" class="mt-4">
|
||||
<v-card-title class="custom-title-7 pa-0">제목</v-card-title>
|
||||
<v-col :cols="12" class="custom-title-4-new mt-4">
|
||||
<p class="custom-title-3 mb-2">제목</p>
|
||||
<v-text-field v-model="writeActionData.title" class="v-input__custom" hide-details outlined>
|
||||
</v-text-field>
|
||||
</v-col>
|
||||
<v-col :cols="12" style="min-height: calc(100vh - 450px);">
|
||||
<v-col :cols="12" style="min-height: calc(90vh - 270px);">
|
||||
<editor ref="tuiEditor" height="100%" initialEditType="wysiwyg" />
|
||||
</v-col>
|
||||
|
||||
<v-col :cols="6" class="mt-5">
|
||||
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
||||
<v-col :cols="12" class="mt-2">
|
||||
<p class="custom-title-3 mb-2">
|
||||
파일첨부
|
||||
</p>
|
||||
</v-col>
|
||||
<v-col :cols="6">
|
||||
<div class="" v-if="writeActionData.fileData">
|
||||
<div
|
||||
v-for="(fileData, index) in writeActionData.fileData"
|
||||
@ -126,23 +132,25 @@
|
||||
</div>
|
||||
<!-- 작성 페이지 끝 -->
|
||||
<!-- 답글 작성 페이지 시작 -->
|
||||
<div v-if="pageActionFlag == 'reply'" >
|
||||
<div v-if="pageActionFlag == 'reply'" class="h1001">
|
||||
<v-card class="pa-5">
|
||||
<v-row align="center" class="mt-0">
|
||||
<v-col :cols="12" class="">
|
||||
<v-card-title class="custom-title-4 pa-0">공지사항</v-card-title>
|
||||
</v-col>
|
||||
<v-col :cols="12" class="mt-4">
|
||||
<v-card-title class="custom-title-7 pa-0">제목</v-card-title>
|
||||
<v-text-field v-model="replyActionData.title" class="v-input__custom" outlined
|
||||
<v-col :cols="12">
|
||||
<p class="custom-title-3 mb-2">제목</p>
|
||||
<v-text-field v-model="replyActionData.title" class="v-input__custom" placeholder="제목" outlined
|
||||
hide-details>
|
||||
</v-text-field>
|
||||
</v-col>
|
||||
<v-col :cols="12" style="height: calc(100vh - 270px);" class="mt-2">
|
||||
<editor ref="tuiReplyEditor" height="100%" initialEditType="wysiwyg" />
|
||||
</v-col>
|
||||
<v-col :cols="6" class="mt-5">
|
||||
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
||||
<v-col :cols="6" class="mt-4">
|
||||
<p class="custom-title-3 mb-2">
|
||||
파일첨부
|
||||
</p>
|
||||
<div class="" v-if="replyActionData.fileData">
|
||||
<div
|
||||
v-for="(fileData, index) in replyActionData.fileData"
|
||||
@ -170,7 +178,7 @@
|
||||
</div>
|
||||
<!-- 답글 작성 페이지 끝 -->
|
||||
<!-- 수정 페이지 시작 -->
|
||||
<div v-if="pageActionFlag == 'update'" >
|
||||
<div v-if="pageActionFlag == 'update'" class="h1001">
|
||||
<v-card>
|
||||
<div class="pa-5">
|
||||
<v-row align="center" no-gutters>
|
||||
@ -178,16 +186,16 @@
|
||||
<v-card-title class="custom-title-4 pa-0">공지사항</v-card-title>
|
||||
</v-col>
|
||||
<v-col :cols="12" class="mt-4">
|
||||
<v-card-title class="custom-title-7 pa-0">제목</v-card-title>
|
||||
<v-text-field v-model="updateActionData.title" class="v-input__custom" hide-details outlined>
|
||||
<p class="custom-title-3 mb-2">제목</p>
|
||||
<v-text-field v-model="updateActionData.title" class="v-input__custom" placeholder="" hide-details outlined>
|
||||
</v-text-field>
|
||||
</v-col>
|
||||
<v-col :cols="12" style="height: calc(90vh - 270px);" class="mt-4" >
|
||||
<editor ref="tuiUpdateEditor" height="100%" initialEditType="wysiwyg"
|
||||
:initialValue="updateActionData.content" />
|
||||
</v-col>
|
||||
<v-col :cols="6" class="mt-5">
|
||||
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
||||
<v-col :cols="6">
|
||||
<p class="pa-0 mb-2 custom-title-4-new-1">파일첨부</p>
|
||||
<div class="" v-if="updateActionData.fileData">
|
||||
<div
|
||||
v-for="(fileData, index) in updateActionData.fileData"
|
||||
@ -398,6 +406,7 @@ export default {
|
||||
this.getGridData();
|
||||
},
|
||||
gridInit() {
|
||||
this.loadGrid = false;
|
||||
const gridHeight = this.$refs.contents.offsetHeight - 76;
|
||||
|
||||
const myOptions = {};
|
||||
@ -461,6 +470,13 @@ export default {
|
||||
gridKey: this.gridName,
|
||||
value: columnList,
|
||||
});
|
||||
|
||||
// // -----------------------TEST------------------
|
||||
// this.dataPathMock[this.gridName] = {
|
||||
// column: columnList,
|
||||
// data: dataPathDataExample,
|
||||
// }
|
||||
// // -----------------------END TEST--------------
|
||||
this.getGridData();
|
||||
},
|
||||
async getGridData() {
|
||||
@ -475,15 +491,26 @@ export default {
|
||||
resKey: 'postData',
|
||||
sendParam: params,
|
||||
});
|
||||
|
||||
|
||||
// console.log('----------DEBUG--------res: ', res);
|
||||
const newRes = res.map(item => {
|
||||
const newObj = {
|
||||
...item,
|
||||
rowStat: null,
|
||||
dataSetId: item.dataSetId,
|
||||
dataSetNm: item.dataSetNm,
|
||||
useFg: item.useFg === '1' ? true : false, // 화면 개발 편의를 위해 boolean 타입으로 교체, 저장시 "1", "0" 으로 바꿔 보내야 함
|
||||
};
|
||||
return newObj;
|
||||
});
|
||||
|
||||
this.setGridData({
|
||||
gridKey: this.gridName,
|
||||
value: res,
|
||||
});
|
||||
this.$nextTick(() => {
|
||||
this.loadGrid = true;
|
||||
value: newRes,
|
||||
});
|
||||
|
||||
this.setPageData({ isFind: false });
|
||||
this.loadGrid = true;
|
||||
},
|
||||
getRowData(data) {
|
||||
this.selectedRowKey = data.rowKey;
|
||||
@ -1046,19 +1073,4 @@ const dataPathDataExample = getPathDataExample({
|
||||
color: #1677FF;
|
||||
}
|
||||
}
|
||||
::v-deep {
|
||||
.v-input__slot {
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
.custom-view {
|
||||
border: 1px solid;
|
||||
border-radius: 6px;
|
||||
height: 100%;
|
||||
@each $theme in dark, light {
|
||||
@include theme($theme);
|
||||
border-color: map-deep-get($config, #{$theme}, "v-input-textarea-border");;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="l-layout">
|
||||
<CommonPageTitle />
|
||||
<common-page-title />
|
||||
<v-row ref="searchFilter" class="mt-2">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="l-layout">
|
||||
<CommonPageTitle />
|
||||
<common-page-title />
|
||||
<v-row ref="searchFilter" class="mt-2">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div ref="mainDiv" class="l-layout">
|
||||
<CommonPageTitle />
|
||||
<common-page-title />
|
||||
<v-row ref="searchFilter" class="mt-2">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div ref="mainDiv" class="l-layout">
|
||||
<PageTitle/>
|
||||
<CommonPageTitle/>
|
||||
<v-row ref="searchFilter">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div ref="mainDiv" class="l-layout">
|
||||
<PageTitle />
|
||||
<CommonPageTitle />
|
||||
<v-row ref="searchFilter">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
@ -480,18 +480,17 @@ const myDetail = [
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
},
|
||||
|
||||
{
|
||||
type: 'CheckBox',
|
||||
label: '사용 여부',
|
||||
valueNm: 'useFg',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2 pr-4 pt-5',
|
||||
class: 'py-2 pr-4 pt-4',
|
||||
value: { '1': true, '0': false },
|
||||
required: true,
|
||||
iconShow: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
},
|
||||
{
|
||||
type: 'SelectBox',
|
||||
|
@ -1,6 +1,5 @@
|
||||
<template>
|
||||
<div class="l-layout">
|
||||
<CommonPageTitle />
|
||||
<v-row ref="searchFilter">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
@ -35,23 +34,23 @@
|
||||
</v-col>
|
||||
</v-row>
|
||||
<v-row ref="contents">
|
||||
<v-col :cols="5" >
|
||||
<v-col :cols="5" class="h100">
|
||||
<v-card class="pb-5">
|
||||
<div class="d-flex align-center justify-space-between pa-5">
|
||||
<v-card-title class="pa-0 custom-title-4">설비 정보</v-card-title>
|
||||
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :detailList="detailList"
|
||||
:btnActionsFnc="btnActions" />
|
||||
</div>
|
||||
<div ref="gridParent" class="px-5" style="min-height:60vh;">
|
||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
|
||||
@getRowsData="getRowData" @sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
||||
:selectedRowDataWatchFlag="true" :preventFocusChangeEventFlag="false" />
|
||||
<!-- <div ref="gridParent" class="w100 h100">
|
||||
</div> -->
|
||||
<div class="px-5" style="min-height:calc(100% - 76px)">
|
||||
<div ref="gridParent" class="w100 h100">
|
||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
|
||||
@getRowsData="getRowData" @sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
||||
:selectedRowDataWatchFlag="true" :preventFocusChangeEventFlag="false" :dataPath="dataPathMock" />
|
||||
</div>
|
||||
</div>
|
||||
</v-card>
|
||||
</v-col>
|
||||
<v-col :cols="7" >
|
||||
<v-col :cols="7" class="h100">
|
||||
<v-card class="pb-5">
|
||||
<v-card-title class="custom-title-4" style="min-height:76px;">설비 상세</v-card-title>
|
||||
<div class="px-5" style="min-height:calc(100% - 76px)">
|
||||
@ -288,7 +287,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);
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div ref="mainDiv" class="l-layout">
|
||||
<CommonPageTitle />
|
||||
<common-page-title />
|
||||
<v-row ref="searchFilter" class="mt-2">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div ref="mainDiv" class="l-layout">
|
||||
<CommonPageTitle />
|
||||
<common-page-title />
|
||||
<v-row ref="searchFilter" class="mt-2">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
|
@ -1,63 +1,26 @@
|
||||
<template>
|
||||
<div class="l-layout">
|
||||
<PageTitle text="측정 위치 데이터 조회" />
|
||||
<CommonPageTitle />
|
||||
|
||||
<v-row ref="searchFilter">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
<v-row align="end" no-gutters>
|
||||
<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="'PastRsltDataReadTagPop'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:label="'TAG'"
|
||||
/> -->
|
||||
<component
|
||||
:is="'EvtObjPop'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:item="evtObjPopItem"
|
||||
customClass="select-large"
|
||||
/>
|
||||
<component :is="'SelectBlocMstr'" ref="SelectBlocMstr" :parentPrgmId="myPrgmId"
|
||||
:textCols="12" customClass="select-large" />
|
||||
</v-col>
|
||||
<v-col :cols="4">
|
||||
<component
|
||||
:is="'Datepicker'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:label="'조회기간'"
|
||||
:textCols="12"
|
||||
/>
|
||||
<v-col :cols="3">
|
||||
<component :is="'EvtObjPop'" :parentPrgmId="myPrgmId" :item="evtObjPopItem"
|
||||
customClass="select-large" />
|
||||
</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">
|
||||
<!-- 대상일 -->
|
||||
<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" />
|
||||
<BtnSearch @click="search" size="large" />
|
||||
</v-col>
|
||||
</v-row>
|
||||
@ -68,12 +31,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"
|
||||
/>
|
||||
<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" />
|
||||
</div>
|
||||
</v-card>
|
||||
</v-col>
|
||||
@ -97,7 +60,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 PageTitle from "~/components/common/PageTitle";
|
||||
import pagination from '~/components/Pagination';
|
||||
|
||||
let myTitle;
|
||||
// const myPrgmId = "PRG0052";
|
||||
@ -130,7 +93,7 @@ export default {
|
||||
PastRsltDataReadPop,
|
||||
PastRsltDataReadTagPop,
|
||||
EvtObjPop,
|
||||
PageTitle,
|
||||
pagination,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -146,12 +109,16 @@ 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: {
|
||||
@ -164,9 +131,6 @@ export default {
|
||||
chkTagId() {
|
||||
return this.pageData.tagList === undefined ? null : this.pageData.tagId;
|
||||
},
|
||||
// chkTagList() {
|
||||
// return this.pageData.tagList;
|
||||
// },
|
||||
chkTagNm() {
|
||||
return this.pageData.tagData.tagNm;
|
||||
},
|
||||
@ -176,18 +140,16 @@ export default {
|
||||
},
|
||||
watch: {
|
||||
chkIsFind(val) {
|
||||
if (val) this.search();
|
||||
if (val) {
|
||||
this.page = 1;
|
||||
this.search();
|
||||
}
|
||||
},
|
||||
chkTagId(val) {
|
||||
if (this.initFlag && val != null) {
|
||||
this.search();
|
||||
}
|
||||
},
|
||||
// chkTagList() {
|
||||
// if(this.initFlag){
|
||||
// this.search();
|
||||
// }
|
||||
// },
|
||||
chkTagNm() {
|
||||
if (this.initFlag) {
|
||||
this.search();
|
||||
@ -207,7 +169,7 @@ export default {
|
||||
defaultData: defaultData,
|
||||
});
|
||||
},
|
||||
created() {},
|
||||
created() { },
|
||||
async mounted() {
|
||||
await this.setFromDt();
|
||||
await this.init();
|
||||
@ -330,6 +292,7 @@ export default {
|
||||
this.loadGrid = false;
|
||||
|
||||
let res = [];
|
||||
let res2 = [];
|
||||
let yearQuarterData = [];
|
||||
yearQuarterData = this.yearQuarterMaker([
|
||||
this.pageData.fromDt,
|
||||
@ -381,8 +344,18 @@ 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,
|
||||
@ -393,6 +366,9 @@ 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;
|
||||
//
|
||||
@ -410,6 +386,13 @@ 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,
|
||||
@ -487,6 +470,12 @@ export default {
|
||||
finalResult['yearQuarterList'] = result;
|
||||
return finalResult;
|
||||
},
|
||||
changeGrid: async function (pageNum, limit) {
|
||||
this.page = pageNum;
|
||||
this.limit = limit;
|
||||
|
||||
this.search();
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="l-layout">
|
||||
<CommonPageTitle />
|
||||
<common-page-title />
|
||||
<v-row ref="searchFilter">
|
||||
<!-- 조회조견 -->
|
||||
<v-col :cols="12">
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="l-layout">
|
||||
<PageTitle/>
|
||||
<CommonPageTitle/>
|
||||
<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,7 +107,6 @@ 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";
|
||||
@ -140,13 +139,12 @@ export default {
|
||||
TagAddInfoTab,
|
||||
Grid,
|
||||
pagination,
|
||||
PageTitle
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
myPrgmId: myPrgmId,
|
||||
gridName: 'rowGrid',
|
||||
loadGrid: true,
|
||||
loadGrid: false,
|
||||
tab: null,
|
||||
items: [
|
||||
{ name: 'TAG 정보', id: 'tagBaseInfoTab', disabledFlag: false },
|
||||
@ -275,16 +273,12 @@ export default {
|
||||
this.gridInit();
|
||||
},
|
||||
gridInit() {
|
||||
const gridHeight = this.$refs.gridParent.offsetHeight - 180;
|
||||
const gridHeight = this.$refs.gridParent.offsetHeight - 16;
|
||||
|
||||
const myOptions = {
|
||||
columnOptions: {
|
||||
resizable: true,
|
||||
},
|
||||
pageOptions: {
|
||||
useClient: true,
|
||||
perPage: 10,
|
||||
},
|
||||
scrollX: true,
|
||||
header: {
|
||||
height: 38,
|
||||
@ -527,16 +521,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",
|
||||
@ -773,7 +767,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;
|
||||
|
||||
@ -817,9 +811,9 @@ function isValidAlrmVal(obj) {
|
||||
if (Number(obj[keyList[i]]) >= Number(obj[keyList[j]])) {
|
||||
alert(
|
||||
nameList[j] +
|
||||
'값은 ' +
|
||||
nameList[i] +
|
||||
'값보다 큰 숫자를 입력해야 합니다.',
|
||||
'값은 ' +
|
||||
nameList[i] +
|
||||
'값보다 큰 숫자를 입력해야 합니다.',
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -1112,4 +1106,4 @@ const myDetail = [
|
||||
class: 'py-2',
|
||||
},
|
||||
];
|
||||
</script>
|
||||
</script>
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="l-layout">
|
||||
<CommonPageTitle />
|
||||
<common-page-title />
|
||||
<v-row ref="searchFilter">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div ref="mainDiv" class="l-layout">
|
||||
<CommonPageTitle />
|
||||
<common-page-title />
|
||||
<v-row ref="searchFilter">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
|
@ -669,7 +669,8 @@ const INIT_URL_STATE = {
|
||||
// prgmId : PRG0052 과거 검침 데이터 조회
|
||||
selectTagRawDataByQuarter:
|
||||
'ems/base/PastRsltDataReadCtr/selectTagRawDataByQuarter',
|
||||
|
||||
selectTagRawDataByQuarterPageTotal:
|
||||
'ems/base/PastRsltDataReadCtr/selectTagRawDataByQuarterPageTotal',
|
||||
// prgmId : PRG4107 개인화 대시보드
|
||||
selectIndvWidgetList: 'ems/base/DashboardHfemsCtr/selectIndvWidgetList',
|
||||
selectEnergyUseReadHourAddup:
|
||||
|
Reference in New Issue
Block a user