update-subtitle-screen15

This commit is contained in:
Nguyen Van Luan/(Nguyen Van Luan)/현장대리인/SK
2025-07-29 11:39:05 +09:00
16 changed files with 534 additions and 623 deletions

View File

@ -1259,19 +1259,11 @@ a {
opacity: 0; opacity: 0;
} }
.v-list-item__content {
background-color: currentColor;
}
.v-list-item__title { .v-list-item__title {
color: map-deep-get($config, color: map-deep-get($config,
#{$theme}, #{$theme},
"tui-datepicker-calendar-color" "tui-datepicker-calendar-color"
); );
@if $theme ==light {
color: #fff !important;
}
} }
} }
} }

View File

@ -1,4 +1,6 @@
.v-select__custom { .v-select__custom {
padding: 0.125rem;
&.v-text-field.v-text-field--solo:not(.v-text-field--solo-flat)>.v-input__control>.v-input__slot { &.v-text-field.v-text-field--solo:not(.v-text-field--solo-flat)>.v-input__control>.v-input__slot {
box-shadow: none; box-shadow: none;
} }
@ -42,6 +44,10 @@
legend { legend {
width: 0; width: 0;
} }
.v-select-list {
padding: 0 1rem;
}
} }
.v-input__custom { .v-input__custom {

View File

@ -113,6 +113,14 @@
color: map-deep-get($config, #{$theme}, "h1-title"); color: map-deep-get($config, #{$theme}, "h1-title");
} }
.custom-subtitle-tab {
font-size: 1.25rem !important;
font-weight: 600 !important;
line-height: 1.25 !important;
color: map-deep-get($config, #{$theme}, "subtitle-tab");
}
.v-dialog { .v-dialog {
.custom-title-4 { .custom-title-4 {
font-size: 16px !important; font-size: 16px !important;

View File

@ -170,6 +170,7 @@ $config: (
ant-btn-default-border-outlined:#424242, ant-btn-default-border-outlined:#424242,
btn-header-select-bg: #1F1F1F, btn-header-select-bg: #1F1F1F,
btn-header-select-color:#FFFFFFD9, btn-header-select-color:#FFFFFFD9,
subtitle-tab: #FFFFFFA6,
), ),
light: (w-g5: $--color-gray_555, light: (w-g5: $--color-gray_555,
g5-w: $--color-white, g5-w: $--color-white,
@ -304,5 +305,6 @@ $config: (
ant-btn-default-border-outlined:#D9D9D9, ant-btn-default-border-outlined:#D9D9D9,
btn-header-select-color:#1F1F1F, btn-header-select-color:#1F1F1F,
btn-header-select-bg:#FFFFFF, btn-header-select-bg:#FFFFFF,
subtitle-tab: #000000A6,
), ),
); );

View File

@ -71,14 +71,12 @@
</div> </div>
</div> </div>
<v-card-actions class="px-6 py-4 d-flex align-center justify-end"> <v-card-actions class="px-6 py-4 d-flex align-center justify-end">
<!-- <v-btn :ripple="false" @click="setUpdate($event)">확인</v-btn>
<v-btn :ripple="false" @click="dialogOpenCloseEvent(dialog)">닫기</v-btn> --> <a-button :ripple="false" @click="dialogOpenCloseEvent(dialog)"
<!-- <v-btn v-if="item.closeBtnFg || false" :ripple="false" @click="deleteBtnAction($event)">삭제</v-btn> -->
<a-button :ripple="false" @click="setUpdate($event)" class="mr-2">확인</a-button>
<a-button :ripple="false" type="primary" @click="dialogOpenCloseEvent(dialog)"
class="mr-2">닫기</a-button> class="mr-2">닫기</a-button>
<a-button v-if="item.closeBtnFg || false" :ripple="false" icon="delete" type="danger" ghost danger <a-button v-if="item.closeBtnFg || false" :ripple="false" type="danger" ghost danger
@click="deleteBtnAction($event)">삭제</a-button> @click="deleteBtnAction($event)" class="mr-2">삭제</a-button>
<a-button :ripple="false" type="primary" @click="setUpdate($event)" >확인</a-button>
</v-card-actions> </v-card-actions>
</v-card> </v-card>
</v-dialog> </v-dialog>
@ -298,46 +296,46 @@ export default {
}, },
async setSelectValueList01() { async setSelectValueList01() {
// form으로 popup 사용할 때 인자로 eqpmKindId, eqpmGrpId 보내줘야한다. // form으로 popup 사용할 때 인자로 eqpmKindId, eqpmGrpId 보내줘야한다.
// let res = await this.postApiReturn({ let res = await this.postApiReturn({
// apiKey: 'selectEqpmGrpCodeList', apiKey: 'selectEqpmGrpCodeList',
// resKey: 'eqpmGrpCodeLists', resKey: 'eqpmGrpCodeLists',
// sendParam: { sendParam: {
// eqpmKindId: eqpmKindId:
// this.item.eqpmKindId != undefined this.item.eqpmKindId != undefined
// ? this.item.eqpmKindId ? this.item.eqpmKindId
// : this.searchParam.eqpmKindId, : this.searchParam.eqpmKindId,
// }, },
// // form을 통해 popup을 사용할 경우 -> this.item.eqpmKindId 사용 // form을 통해 popup을 사용할 경우 -> this.item.eqpmKindId 사용
// // 부모 페이지에서 설비종류인 eqpmKindId 값을 꼭 가져와야한다. // 부모 페이지에서 설비종류인 eqpmKindId 값을 꼭 가져와야한다.
// }); });
// if (res.length > 0) { if (res.length > 0) {
// this.selectValueList01 = await res.map(obj => { this.selectValueList01 = await res.map(obj => {
// return { return {
// text: obj.eqpmGrpNm, text: obj.eqpmGrpNm,
// value: obj.eqpmGrpId, value: obj.eqpmGrpId,
// }; };
// }); });
// // form을 통해 popup을 사용할 경우 -> this.item.eqpmGrpId 사용 // form을 통해 popup을 사용할 경우 -> this.item.eqpmGrpId 사용
// // 부모 페이지에서 설비그룹을 선택한 값이 있다면(eqpmGrpId) 그 값으로 바인딩 아닐 경우 조회한 데이터의 첫번째 값으로 선택 // 부모 페이지에서 설비그룹을 선택한 값이 있다면(eqpmGrpId) 그 값으로 바인딩 아닐 경우 조회한 데이터의 첫번째 값으로 선택
// // console.log('this.item.eqpmGrpId : ', this.item.eqpmGrpId); // console.log('this.item.eqpmGrpId : ', this.item.eqpmGrpId);
// // console.log('this.searchParam.eqpmGrpId : ', this.searchParam.eqpmGrpId); // console.log('this.searchParam.eqpmGrpId : ', this.searchParam.eqpmGrpId);
// this.selectValue01 = this.selectValue01 =
// this.item.eqpmGrpId != undefined this.item.eqpmGrpId != undefined
// ? this.item.eqpmGrpId ? this.item.eqpmGrpId
// : this.searchParam.eqpmGrpId != undefined : this.searchParam.eqpmGrpId != undefined
// ? this.searchParam.eqpmGrpId ? this.searchParam.eqpmGrpId
// : this.selectValueList01[0].value; : this.selectValueList01[0].value;
// } else { } else {
// this.selectValueList01 = []; this.selectValueList01 = [];
// this.selectValue01 = null; this.selectValue01 = null;
// } }
this.selectValueList01 = [ // this.selectValueList01 = [
{ label: '냉동기고온', value: '냉동기고온' }, // { label: '냉동기고온', value: '냉동기고온' },
{ label: '냉동기저온', value: '냉동기저온' }, // { label: '냉동기저온', value: '냉동기저온' },
{ label: '공조기', value: '공조기' }, // { label: '공조기', value: '공조기' },
{ label: '보일러', value: '보일러' } // { label: '보일러', value: '보일러' }
]; // ];
}, },
search() { search() {
this.getGridData(); this.getGridData();
@ -388,44 +386,35 @@ export default {
this.loadGrid = false; this.loadGrid = false;
let res = []; let res = [];
// res = await this.postApiReturn({ res = await this.postApiReturn({
// apiKey: 'selectEgrpPysclQtyPop', apiKey: 'selectEgrpPysclQtyPop',
// resKey: 'egrpPysclQtyData', resKey: 'egrpPysclQtyData',
// sendParam: { sendParam: {
// searchWord: this.searchWord, searchWord: this.searchWord,
// eqpmGrpId: this.selectValue01, eqpmGrpId: this.selectValue01,
// openMode: this.item.openMode, openMode: this.item.openMode,
// }, },
// }); });
// let newRes = []; let newRes = [];
// let tempTagList = this.pyscPopVal.split('/*wq2a/'); let tempTagList = this.pyscPopVal.split('/*wq2a/');
// let tagList = tempTagList.filter(item => item != ''); let tagList = tempTagList.filter(item => item != '');
// if (tagList.length > 0) { if (tagList.length > 0) {
// newRes = res.filter(item => { newRes = res.filter(item => {
// return !tagList.includes(item.pysclQtyId); return !tagList.includes(item.pysclQtyId);
// }); });
// res = newRes; res = newRes;
// } }
// //이미 선택된 값들 제거(배열)
// if (this.item.dataList) {
// if (this.item.dataList.length > 0) {
// newRes = res.filter(item => {
// return !this.item.dataList.includes(item.pysclQtyId);
// });
// res = newRes;
// }
// }
res = [
{
'pysclQtyId': 'PYSCL00001',
'pysclQtyCd': 'AMP_1A',
'pysclQtyNm': '회로1 전류A',
'pysclQtyTpNm': 'TAG'
//이미 선택된 값들 제거(배열)
if (this.item.dataList) {
if (this.item.dataList.length > 0) {
newRes = res.filter(item => {
return !this.item.dataList.includes(item.pysclQtyId);
});
res = newRes;
} }
] }
this.setModalGridData({ this.setModalGridData({
modalKey: this.myModalKey, modalKey: this.myModalKey,
gridKey: this.grid_01, gridKey: this.grid_01,

View File

@ -2,12 +2,8 @@
<v-row class="search-box" align="center"> <v-row class="search-box" align="center">
<v-col :cols="option.labelCols" class="py-0"> <v-col :cols="option.labelCols" class="py-0">
<label for="" class="search-box-label"> <label for="" class="search-box-label">
<v-icon <v-icon v-if="item.iconShow" small
v-if="item.iconShow" :class="['mr-1', item.required ? 'icon-orange' : 'icon-blue']">$icoBulletPoint</v-icon>
small
:class="['mr-1', item.required ? 'icon-orange' : 'icon-blue']"
>$icoBulletPoint</v-icon
>
{{ option.labelContent }} {{ option.labelContent }}
</label> </label>
</v-col> </v-col>
@ -30,9 +26,9 @@
<div class="pa-6 pt-0"> <div class="pa-6 pt-0">
<v-row align="center"> <v-row align="center">
<v-col :cols="5"> <v-col :cols="5">
<component :is="'SelectBox'" ref="SelectBox1" :labelCols="12" :textCols="12" :iconShow="true" <component :is="'SelectBox'" ref="SelectBox1" :labelCols="12" :textCols="12"
:propsValue="selectValue01" :itemList="selectValueList01" :label="'설비그룹'" :iconShow="true" :propsValue="selectValue01" :itemList="selectValueList01"
@update:propsValue="selectValue01 = $event" :readonly="item.openMode == undefined :label="'설비그룹'" @update:propsValue="selectValue01 = $event" :readonly="item.openMode == undefined
? openMode ? openMode
: item.openMode == 'ALL' : item.openMode == 'ALL'
? false ? false
@ -47,14 +43,14 @@
물리량명 물리량명
</label> </label>
</v-col> </v-col>
<v-col :cols="9"> <v-text-field append-icon="" class="v-input__custom" <v-col :cols="9"> <v-text-field append-icon="" class="v-input__custom" outlined
outlined :hide-details="true" v-model="searchWord" :hide-details="true" v-model="searchWord" @keyup.enter="search"><template
@keyup.enter="search"><template v-slot:append> v-slot:append>
<!-- Custom SVG icon --> <!-- Custom SVG icon -->
<v-icon>$icoSearch</v-icon> <v-icon>$icoSearch</v-icon>
</template></v-text-field></v-col> </template></v-text-field></v-col>
<v-spacer></v-spacer> <v-spacer></v-spacer>
<v-col cols="3" class="text-right"> <v-col cols="3" class="text-right">
<a-button icon="search" type="primary" @click="search()" <a-button icon="search" type="primary" @click="search()"
@ -76,9 +72,9 @@
</div> </div>
</div> </div>
<v-card-actions class="px-6 py-4 d-flex align-center justify-end"> <v-card-actions class="px-6 py-4 d-flex align-center justify-end">
<a-button :ripple="false" @click="setUpdate($event)" class="mr-2">확인</a-button> <a-button :ripple="false" @click="dialogOpenCloseEvent(dialog)" class="mr-2">닫기</a-button>
<a-button :ripple="false" type="primary" @click="dialogOpenCloseEvent(dialog)" <a-button :ripple="false" type="primary" @click="setUpdate($event)">확인</a-button>
class="mr-2">닫기</a-button>
</v-card-actions> </v-card-actions>
</v-card> </v-card>
</v-dialog> </v-dialog>
@ -274,36 +270,30 @@ export default {
this.gridInit(); this.gridInit();
}, },
async setSelectValueList01() { async setSelectValueList01() {
// let res = await this.postApiReturn({ let res = await this.postApiReturn({
// apiKey: 'selectEqpmGrpCodeList', apiKey: 'selectEqpmGrpCodeList',
// resKey: 'eqpmGrpCodeLists', resKey: 'eqpmGrpCodeLists',
// sendParam: { eqpmKindId: this.searchParam.eqpmKindId }, sendParam: { eqpmKindId: this.searchParam.eqpmKindId },
// // 부모 페이지에서 설비종류인 eqpmKindId 값을 꼭 가져와야한다. // 부모 페이지에서 설비종류인 eqpmKindId 값을 꼭 가져와야한다.
// }); });
// if (res.length > 0) { if (res.length > 0) {
// this.selectValueList01 = await res.map(obj => { this.selectValueList01 = await res.map(obj => {
// return { return {
// text: obj.eqpmGrpNm, text: obj.eqpmGrpNm,
// value: obj.eqpmGrpId, value: obj.eqpmGrpId,
// }; };
// }); });
// // 부모 페이지에서 설비그룹을 선택한 값이 있다면(eqpmGrpId) 그 값으로 바인딩 아닐 경우 조회한 데이터의 첫번째 값으로 선택 // 부모 페이지에서 설비그룹을 선택한 값이 있다면(eqpmGrpId) 그 값으로 바인딩 아닐 경우 조회한 데이터의 첫번째 값으로 선택
// this.selectValue01 = this.selectValue01 =
// this.searchParam.eqpmGrpId != undefined this.searchParam.eqpmGrpId != undefined
// ? this.searchParam.eqpmGrpId ? this.searchParam.eqpmGrpId
// : this.selectValueList01[0].value; : this.selectValueList01[0].value;
// // this.selectValue01 = this.selectValueList01[0].value; // this.selectValue01 = this.selectValueList01[0].value;
// } else { } else {
// this.selectValueList01 = []; this.selectValueList01 = [];
// this.selectValue01 = null; this.selectValue01 = null;
// } }
this.selectValueList01 = [
{ label: '냉동기고온', value: '냉동기고온' },
{ label: '냉동기저온', value: '냉동기저온' },
{ label: '공조기', value: '공조기' },
{ label: '보일러', value: '보일러' }
];
}, },
search() { search() {
this.getGridData(); this.getGridData();
@ -341,34 +331,26 @@ export default {
}, },
async getGridData() { async getGridData() {
this.loadGrid = false; this.loadGrid = false;
// let res = [];
// let res = await this.postApiReturn({ let res = await this.postApiReturn({
// apiKey: 'selectEqpmBaseInfoPop', apiKey: 'selectEqpmBaseInfoPop',
// resKey: 'epqmBaseInfoData', resKey: 'epqmBaseInfoData',
// sendParam: { sendParam: {
// eqpmGrpId: this.selectValue01, eqpmGrpId: this.selectValue01,
// searchWord: this.searchWord, searchWord: this.searchWord,
// // openMode : this.item.openMode == undefined ? this.openMode : this.item.openMode // openMode : this.item.openMode == undefined ? this.openMode : this.item.openMode
// }, },
// }); });
// // grid와 popup eqpmId 값 중복되는 것 제거하는 로직 - 시작 // grid와 popup eqpmId 값 중복되는 것 제거하는 로직 - 시작
// let newRes = []; let newRes = [];
// if (this.bindingGridEqpmIdList.length > 0) { if (this.bindingGridEqpmIdList.length > 0) {
// newRes = res.filter(item => { newRes = res.filter(item => {
// return !this.bindingGridEqpmIdList.includes(item.eqpmId); return !this.bindingGridEqpmIdList.includes(item.eqpmId);
// }); });
// res = newRes; res = newRes;
// } }
// grid와 popup eqpmId 값 중복되는 것 제거하는 로직 - 끝 // grid와 popup eqpmId 값 중복되는 것 제거하는 로직 - 끝
const res = [
{
'eqpmId': 'PYSCL00001',
'eqpmNm': 'AMP_1A',
}
]
this.setModalGridData({ this.setModalGridData({
modalKey: this.myModalKey, modalKey: this.myModalKey,
gridKey: this.gridName, gridKey: this.gridName,
@ -441,9 +423,9 @@ export default {
// this.dialog = false; // this.dialog = false;
// return; // return;
// } // }
// if (this.myBindingData.length <= 0) { if (this.myBindingData.length <= 0) {
// return alert('설비상세 리스트를 먼저 선택해주세요.'); return alert('설비상세 리스트를 먼저 선택해주세요.');
// } }
this.dialog = !val; this.dialog = !val;
}, },
}, },

View File

@ -36,7 +36,7 @@
계산설명 계산설명
</label> </label>
</v-col> </v-col>
<v-col :cols="10" class="mr-4 py-0" > <v-col :cols="11" class="pr-8 py-0" >
<v-text-field append-icon="" class="v-input__custom" outlined <v-text-field append-icon="" class="v-input__custom" outlined
:hide-details="true" v-model="searchWord" @keyup.enter="search"><template v-slot:append> :hide-details="true" v-model="searchWord" @keyup.enter="search"><template v-slot:append>
<!-- Custom SVG icon --> <!-- Custom SVG icon -->
@ -45,7 +45,7 @@
</template></v-text-field> </template></v-text-field>
</v-col> </v-col>
<v-col cols="1" class="py-0"> <v-col cols="1" class="py-0" style="display: flex; justify-content: flex-end;">
<a-button icon="search" type="primary" @click="search()" class="search-button">조회</a-button> <a-button icon="search" type="primary" @click="search()" class="search-button">조회</a-button>
<!-- <v-btn :ripple="false" @click="initSearch()"> <!-- <v-btn :ripple="false" @click="initSearch()">
초기화 초기화
@ -63,10 +63,8 @@
</div> </div>
</div> </div>
<v-card-actions class="pa-5 d-flex align-center justify-end"> <v-card-actions class="pa-5 d-flex align-center justify-end">
<!-- <v-btn :ripple="false" @click="setUpdate($event)">확인</v-btn> <a-button :ripple="false" @click="dialogOpenCloseEvent(dialog)" class="mr-2">닫기</a-button>
<v-btn :ripple="false" @click="dialogOpenCloseEvent(dialog)">닫기</v-btn> --> <a-button :ripple="false" type="primary" @click="setUpdate($event)" >확인</a-button>
<a-button :ripple="false" @click="setUpdate($event)" class="mr-2">확인</a-button>
<a-button :ripple="false" type="primary" @click="dialogOpenCloseEvent(dialog)">닫기</a-button>
</v-card-actions> </v-card-actions>
</v-card> </v-card>
</v-dialog> </v-dialog>
@ -306,38 +304,22 @@ export default {
}, },
async getGridData() { async getGridData() {
this.loadGrid = false; this.loadGrid = false;
// let res = await this.postApiReturn({ let res = await this.postApiReturn({
// apiKey: 'selectEqpmCalcPop', apiKey: 'selectEqpmCalcPop',
// resKey: 'eqpmCalcPopData', resKey: 'eqpmCalcPopData',
// sendParam: { sendParam: {
// calcDescLike: this.searchWord, calcDescLike: this.searchWord,
// openMode: this.item.openMode != undefined ? this.item.openMode : this.openMode openMode: this.item.openMode != undefined ? this.item.openMode : this.openMode
// },
// });
// if (this.myBindingData['calcProc'] != '' || this.myBindingData['calcProc'] != null || this.myBindingData['calcProc'] != undefined) {
// let newRes = [];
// newRes = res.filter(item => {
// return item.calcProc != this.myBindingData['calcProc']
// });
// res = newRes;
// }
const res = [
{
'calcProc': 'AVG_CNT2',
'argCnt': '2',
'calcDesc': '두개 변수에 대한 평균'
}, },
});
if (this.myBindingData['calcProc'] != '' || this.myBindingData['calcProc'] != null || this.myBindingData['calcProc'] != undefined) {
let newRes = [];
newRes = res.filter(item => {
return item.calcProc != this.myBindingData['calcProc']
});
res = newRes;
}
{ 'calcProc': 'PROC001', argCnt: 2, 'calcDesc': '덧셈 연산' },
{ 'calcProc': 'PROC002', argCnt: 1, 'calcDesc': '제곱 연산' },
{ 'calcProc': 'PROC003', argCnt: 2, 'calcDesc': '곱셈 연산' },
{ 'calcProc': 'PROC004', argCnt: 1, 'calcDesc': '루트 연산' },
{ 'calcProc': 'PROC005', argCnt: 3, 'calcDesc': '최대값 계산' },
{ 'calcProc': 'PROC006', argCnt: 3, 'calcDesc': '최소값 계산' },
]
this.setModalGridData({ this.setModalGridData({
modalKey: this.myModalKey, modalKey: this.myModalKey,
gridKey: this.grid_01, gridKey: this.grid_01,

View File

@ -20,10 +20,10 @@
outlined outlined
:multiple="multiple" :multiple="multiple"
:hide-details="true" :hide-details="true"
append-icon=""
:class="['v-select__custom', customClass]" :class="['v-select__custom', customClass]"
:disabled="disabled" :disabled="disabled"
:readonly="readonly" :readonly="readonly"
append-icon=""
><template v-slot:append> ><template v-slot:append>
<v-icon>$icoChevronDown</v-icon> <v-icon>$icoChevronDown</v-icon>
</template></v-select> </template></v-select>

View File

@ -7,7 +7,7 @@
</div> </div>
<div ref="gridParent"> <div ref="gridParent">
<Grid :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="parentPrgmId" <Grid :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="parentPrgmId"
@getRowsData="getRowData" :innerTabGridInfo="innerTabGridInfo" :dataPath="dataPathMock" /> @getRowsData="getRowData" :innerTabGridInfo="innerTabGridInfo" />
</div> </div>
<div ref="formParent" class="mt-4"> <div ref="formParent" class="mt-4">
<component :is="'Form'" :parentPrgmId="parentPrgmId" :bindingData="gridName" :detailList="detailDataSetTagList" <component :is="'Form'" :parentPrgmId="parentPrgmId" :bindingData="gridName" :detailList="detailDataSetTagList"

View File

@ -4,7 +4,7 @@
class="d-flex justify-space-between align-center" class="d-flex justify-space-between align-center"
style="height: 80px;" style="height: 80px;"
> >
<span class="txt">검침 대상 추가 정보</span> <span class="txt custom-subtitle-tab">검침 대상 추가 정보</span>
<Buttons <Buttons
:parentPrgmId="parentPrgmId" :parentPrgmId="parentPrgmId"
:bindingData="gridName" :bindingData="gridName"

View File

@ -16,8 +16,8 @@
</v-card> </v-card>
</v-col> </v-col>
</v-row> </v-row>
<v-row ref="contents"> <v-row ref="contents" class="pt-2">
<v-col :cols="5" style="height:100%"> <v-col :cols="5" style="height:100%" class="pr-2">
<v-card class="pb-5"> <v-card class="pb-5">
<div class="d-flex align-center justify-space-between pa-4"> <div class="d-flex align-center justify-space-between pa-4">
<v-card-title class="pa-0 custom-title-4">효율지표 리스트</v-card-title> <v-card-title class="pa-0 custom-title-4">효율지표 리스트</v-card-title>
@ -32,7 +32,7 @@
</div> </div>
</v-card> </v-card>
</v-col> </v-col>
<v-col :cols="7" style="height:100%"> <v-col :cols="7" style="height:100%" class="pl-2">
<v-card class="pb-5"> <v-card class="pb-5">
<v-card-title class="custom-title-4 pa-4 pb-2">효율지표 상세 <v-card-title class="custom-title-4 pa-4 pb-2">효율지표 상세
</v-card-title> </v-card-title>

View File

@ -29,10 +29,10 @@
</v-card> </v-card>
</v-col> </v-col>
</v-row> </v-row>
<v-row ref="contents"> <v-row ref="contents" class="mt-3">
<v-col :cols="5" class="h100"> <v-col :cols="5" class="h100 pr-2">
<v-card class="pb-5"> <v-card class="pb-5">
<v-card-title class="d-flex align-center justify-space-between pa-4"> <v-card-title class="d-flex align-center justify-space-between pa-5">
물리량 리스트 물리량 리스트
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :detailList="detailList" <Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :detailList="detailList"
@ -44,12 +44,12 @@
:parentPrgmId="myPrgmId" @getRowsData="getRowData" :parentPrgmId="myPrgmId" @getRowsData="getRowData"
@sendSelectedRowStatInfo="getSelectedRowStatInfo" :selectedRowDataWatchFlag="true" @sendSelectedRowStatInfo="getSelectedRowStatInfo" :selectedRowDataWatchFlag="true"
:preventFocusChangeEventFlag="true" :preventFocusChangeEventFlag="true"
:preventFocusChangeEventTargetGridList="editingGridList" :dataPath="dataPathExample" /> :preventFocusChangeEventTargetGridList="editingGridList" />
</div> </div>
</div> </div>
</v-card> </v-card>
</v-col> </v-col>
<v-col :cols="7" class="h100"> <v-col :cols="7" class="h100 pl-2">
<v-card class="pb-5 px-4"> <v-card class="pb-5 px-4">
<v-card-title class="px-0">물리량 상세</v-card-title> <v-card-title class="px-0">물리량 상세</v-card-title>
<v-row no-gutters> <v-row no-gutters>
@ -136,7 +136,7 @@
<v-col :cols="12" style="height:100%"> <v-col :cols="12" style="height:100%">
<div ref="gridParent2" style="height:100%"> <div ref="gridParent2" style="height:100%">
<component :ref="gridName2" :is="loadGrid2 ? 'Grid' : null" :gridName="gridName2" <component :ref="gridName2" :is="loadGrid2 ? 'Grid' : null" :gridName="gridName2"
:parentPrgmId="myPrgmId" @getRowsData="getRowData2" :dataPath="dataPathExample2" /> :parentPrgmId="myPrgmId" @getRowsData="getRowData2" />
</div> </div>
</v-col> </v-col>
</v-row> </v-row>
@ -223,7 +223,7 @@ export default {
formatterSelectList01: [], formatterSelectList01: [],
formatterSelectList02: [], formatterSelectList02: [],
loadGrid: true, loadGrid: false,
dataPathExample: { dataPathExample: {
"rowGrid": { "rowGrid": {
data: [ data: [
@ -279,59 +279,7 @@ export default {
} }
}, },
dataPathExample2: { loadGrid2: false,
"rowGrid2": {
data:
[
{
"argSeq": "1",
"argPysclQtyId": "001",
"eqpmGrpId": "EQPM-GRP-A",
"pysclQtyCd": "TEMP001"
},
{
"argSeq": "2",
"argPysclQtyId": "002",
"eqpmGrpId": "EQPM-GRP-B",
"pysclQtyCd": "PRESS001"
},
{
"argSeq": "3",
"argPysclQtyId": "003",
"eqpmGrpId": "EQPM-GRP-C",
"pysclQtyCd": "FLOW001"
},
{
"argSeq": "4",
"argPysclQtyId": "004",
"eqpmGrpId": "EQPM-GRP-D",
"pysclQtyCd": "HUMID001"
},
{
"argSeq": "5",
"argPysclQtyId": "005",
"eqpmGrpId": "EQPM-GRP-E",
"pysclQtyCd": "VOLT001"
}
]
,
column: [
{ header: '순번', name: 'argSeq', editor: 'text' },
{ header: '물리량 ID', name: 'argPysclQtyId' },
{
header: '설비그룹',
name: 'eqpmGrpId',
},
{ header: '물리량 코드', name: 'pysclQtyCd' },
],
}
},
loadGrid2: true,
detailList: myDetail, detailList: myDetail,
readOnlyValueList: [ readOnlyValueList: [
@ -1001,6 +949,10 @@ export default {
columnOptions: { columnOptions: {
resizable: true, resizable: true,
}, },
header: {
height: 37,
},
rowHeight: 'auto',
}; };
this.setGridOption({ this.setGridOption({
@ -1066,6 +1018,10 @@ export default {
columnOptions: { columnOptions: {
resizable: true, resizable: true,
}, },
header: {
height: 37,
},
rowHeight: 'auto',
}; };
this.setGridOption({ this.setGridOption({

View File

@ -37,11 +37,11 @@
:btnActionsFnc="btnActions" /> :btnActionsFnc="btnActions" />
</div> </div>
<div class="h100 px-4" style="height:calc(100% - 70px)"> <div class="h100 px-4" style="height:calc(100% - 70px)">
<div ref="gridParent" > <div ref="gridParent" style="height: 30%">
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" <component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
:parentPrgmId="myPrgmId" @getRowsData="getRowData" :dataPath="dataPathExample" /> :parentPrgmId="myPrgmId" @getRowsData="getRowData" :dataPath="dataPathExample" />
</div> </div>
<div class="d-flex py-4"> <div class="d-flex py-4" >
<component :is="'Form'" :parentPrgmId="myPrgmId" :detailList="detailList" <component :is="'Form'" :parentPrgmId="myPrgmId" :detailList="detailList"
@gridEditingFinish="gridEditingFinish" /> @gridEditingFinish="gridEditingFinish" />
</div> </div>
@ -112,7 +112,7 @@ export default {
myPrgmId: myPrgmId, myPrgmId: myPrgmId,
initedFlag: false, initedFlag: false,
gridName: 'rowGrid', gridName: 'rowGrid',
loadGrid: true, loadGrid: false,
detailList: myDetail, detailList: myDetail,
selectValue01: null, selectValue01: null,
selectValueList01: [], selectValueList01: [],
@ -125,102 +125,102 @@ export default {
// pysclQtyId3 : null, // pysclQtyId3 : null,
// pysclQtyId4 : null // pysclQtyId4 : null
// } // }
dataPathExample: { // dataPathExample: {
"rowGrid": { // "rowGrid": {
data: [ // data: [
{ // {
gdIdxId: 'GD001', // gdIdxId: 'GD001',
gdIdxNm: '온도 가이드', // gdIdxNm: '온도 가이드',
eqpmGrpId: 'EQ001', // eqpmGrpId: 'EQ001',
upTotMeth: 'AVG', // upTotMeth: 'AVG',
careStndVal: 50, // careStndVal: 50,
warnStndVal: 70, // warnStndVal: 70,
alrmMsg: '온도가 기준치를 초과했습니다.', // alrmMsg: '온도가 기준치를 초과했습니다.',
}, // },
{ // {
gdIdxId: 'GD002', // gdIdxId: 'GD002',
gdIdxNm: '습도 가이드', // gdIdxNm: '습도 가이드',
eqpmGrpId: 'EQ002', // eqpmGrpId: 'EQ002',
upTotMeth: 'MAX', // upTotMeth: 'MAX',
careStndVal: 30, // careStndVal: 30,
warnStndVal: 60, // warnStndVal: 60,
alrmMsg: '습도가 기준치를 초과했습니다.', // alrmMsg: '습도가 기준치를 초과했습니다.',
}, // },
{ // {
gdIdxId: 'GD003', // gdIdxId: 'GD003',
gdIdxNm: '압력 가이드', // gdIdxNm: '압력 가이드',
eqpmGrpId: 'EQ003', // eqpmGrpId: 'EQ003',
upTotMeth: 'SUM', // upTotMeth: 'SUM',
careStndVal: 100, // careStndVal: 100,
warnStndVal: 150, // warnStndVal: 150,
alrmMsg: '압력이 기준치를 초과했습니다.', // alrmMsg: '압력이 기준치를 초과했습니다.',
} // }
], // ],
column: [ // column: [
{ // {
header: '가이드', // header: '가이드',
name: 'gdIdxId', // name: 'gdIdxId',
width: 100, // width: 100,
align: 'center', // align: 'center',
}, // },
{ // {
header: '가이드명', // header: '가이드명',
name: 'gdIdxNm', // name: 'gdIdxNm',
width: 210, // width: 210,
align: 'left', // align: 'left',
}, // },
{ // {
header: '설비그룹ID', // header: '설비그룹ID',
name: 'eqpmGrpId', // name: 'eqpmGrpId',
width: 100, // width: 100,
align: 'center', // align: 'center',
// formatter({ value }) { // // formatter({ value }) {
// let retVal = ''; // // let retVal = '';
// const newValue = _this.pageData.eqpmGrpList.filter(item => item.value == value); // // const newValue = _this.pageData.eqpmGrpList.filter(item => item.value == value);
// if (newValue.length > 0) { // // if (newValue.length > 0) {
// retVal = newValue[0].text; // // retVal = newValue[0].text;
// } // // }
// return retVal; // // return retVal;
// }, // // },
}, // },
{ // {
header: '상위집계방법', // header: '상위집계방법',
name: 'upTotMeth', // name: 'upTotMeth',
width: 100, // width: 100,
align: 'center', // align: 'center',
// formatter({ value }) { // // formatter({ value }) {
// let retVal = ''; // // let retVal = '';
// const newValue = _this.pageData.upTotMethList.filter(item => item.commCd == value); // // const newValue = _this.pageData.upTotMethList.filter(item => item.commCd == value);
// if (newValue.length > 0) { // // if (newValue.length > 0) {
// retVal = newValue[0].commCdNm; // // retVal = newValue[0].commCdNm;
// } // // }
// return retVal; // // return retVal;
// }, // // },
}, // },
{ // {
header: '주의기준', // header: '주의기준',
name: 'careStndVal', // name: 'careStndVal',
width: 100, // width: 100,
align: 'right', // align: 'right',
}, // },
{ // {
header: '경고기준', // header: '경고기준',
name: 'warnStndVal', // name: 'warnStndVal',
width: 100, // width: 100,
align: 'right', // align: 'right',
}, // },
{ // {
header: '알람메세지', // header: '알람메세지',
name: 'alrmMsg', // name: 'alrmMsg',
minWidth: 860, // minWidth: 860,
align: 'left', // align: 'left',
} // }
] // ]
} // }
} // }
}; };
}, },
computed: { computed: {
@ -352,60 +352,46 @@ export default {
}); });
}, },
async getEqpmKind() { async getEqpmKind() {
// let res = await this.postApiReturn({ let res = await this.postApiReturn({
// apiKey: 'selectEqpmKindCodeList', apiKey: 'selectEqpmKindCodeList',
// resKey: 'eqpmKindCodeLists', resKey: 'eqpmKindCodeLists',
// sendParam: {}, sendParam: {},
// }); });
// if (res.length > 0) { if (res.length > 0) {
// this.selectValueList01 = await res.map(item => { this.selectValueList01 = await res.map(item => {
// return { return {
// text: item.eqpmKindNm, text: item.eqpmKindNm,
// value: item.eqpmKindId, value: item.eqpmKindId,
// }; };
// }); });
// this.selectValue01 = this.selectValueList01[0].value; this.selectValue01 = this.selectValueList01[0].value;
// } else { } else {
// this.selectValueList01 = []; this.selectValueList01 = [];
// this.selectValue01 = null; this.selectValue01 = null;
// } }
this.selectValueList01 = [
{ label: 'Etcher', value: 'EQK001' },
{ label: 'Deposition', value: 'EQK002' },
{ label: 'Inspection', value: 'EQK003' },
];
this.selectValue01 = 'EQK001';
this.setPageData({ this.setPageData({
eqpmKindList: this.selectValueList01, eqpmKindList: this.selectValueList01,
eqpmKindId: this.selectValue01, eqpmKindId: this.selectValue01,
}); });
}, },
async getEqpmGrp() { async getEqpmGrp() {
// let res = await this.postApiReturn({ let res = await this.postApiReturn({
// apiKey: 'selectEqpmGrpCodeList', apiKey: 'selectEqpmGrpCodeList',
// resKey: 'eqpmGrpCodeLists', resKey: 'eqpmGrpCodeLists',
// sendParam: { eqpmKindId: this.selectValue01 }, sendParam: { eqpmKindId: this.selectValue01 },
// }); });
// if (res.length > 0) { if (res.length > 0) {
// this.selectValueList02 = await res.map(item => { this.selectValueList02 = await res.map(item => {
// return { return {
// text: item.eqpmGrpNm, text: item.eqpmGrpNm,
// value: item.eqpmGrpId, value: item.eqpmGrpId,
// }; };
// }); });
// this.selectValue02 = this.selectValueList02[0].value; this.selectValue02 = this.selectValueList02[0].value;
// } else { } else {
// this.selectValueList02 = []; this.selectValueList02 = [];
// this.selectValue02 = null; this.selectValue02 = null;
// } }
this.selectValueList02 = [
{ label: '냉동기고온', value: '냉동기고온' },
{ label: '냉동기저온', value: '냉동기저온' },
{ label: '공조기', value: '공조기' },
{ label: '보일러', value: '보일러' }
];
this.setPageData({ this.setPageData({
eqpmGrpList: this.selectValueList02, eqpmGrpList: this.selectValueList02,
@ -419,6 +405,10 @@ export default {
columnOptions: { columnOptions: {
resizable: true, resizable: true,
}, },
header: {
height: 37,
},
rowHeight: 'auto',
}; };
this.setGridOption({ this.setGridOption({
gridKey: this.gridName, gridKey: this.gridName,
@ -636,100 +626,100 @@ export default {
async getRowGridData() { async getRowGridData() {
this.loadGrid = false; this.loadGrid = false;
let res = []; let res = [];
const newRes = [ // const newRes = [
{ // {
comId: 'COM001', // comId: 'COM001',
gdIdxId: 'GD001', // gdIdxId: 'GD001',
gdIdxNm: '온도 가이드', // gdIdxNm: '온도 가이드',
eqpmGrpId: 'EQ001', // eqpmGrpId: 'EQ001',
upTotMeth: 'AVG', // upTotMeth: 'AVG',
sortSeq: 1, // sortSeq: 1,
pysclQtyId1: 'TEMP', // pysclQtyId1: 'TEMP',
pysclQtyId2: null, // pysclQtyId2: null,
pysclQtyId3: null, // pysclQtyId3: null,
pysclQtyId4: null, // pysclQtyId4: null,
ctgr1: '환경', // ctgr1: '환경',
ctgr2: '내부', // ctgr2: '내부',
careStndVal: 50, // careStndVal: 50,
warnStndVal: 70, // warnStndVal: 70,
gdMeth: '자동', // gdMeth: '자동',
useFg: '1', // useFg: '1',
alrmMsg: '온도가 기준치를 초과했습니다.', // alrmMsg: '온도가 기준치를 초과했습니다.',
calcProc: 'PROC001', // calcProc: 'PROC001',
calcDesc: '평균 계산', // calcDesc: '평균 계산',
calcMeth: '(A+B)/2', // calcMeth: '(A+B)/2',
unit: 'C', // unit: 'C',
argCnt: 2, // argCnt: 2,
rowStat: null,
},
{
comId: 'COM002',
gdIdxId: 'GD002',
gdIdxNm: '습도 가이드',
eqpmGrpId: 'EQ002',
upTotMeth: 'MAX',
sortSeq: 2,
pysclQtyId1: 'HUMID',
pysclQtyId2: null,
pysclQtyId3: null,
pysclQtyId4: null,
ctgr1: '환경',
ctgr2: '외부',
careStndVal: 30,
warnStndVal: 60,
gdMeth: '수동',
useFg: '0',
alrmMsg: '습도가 기준치를 초과했습니다.',
calcProc: 'PROC002',
calcDesc: '최대값 계산',
calcMeth: 'MAX(A,B)',
unit: '%',
argCnt: 2,
rowStat: null,
},
];
// res = await this.postApiReturn({
// apiKey: 'selectEqpmGdIdxDataList',
// resKey: 'eqpmGdIdxDataList',
// sendParam: {
// eqpmGrpId: this.selectValue02,
// gdIdxNmLike: this.pageData.gdIdxNm,
// },
// });
// const newRes = res.map(item => {
// const newObj = {
// ...item,
// rowStat: null, // rowStat: null,
// }; // },
// return newObj; // {
// }); // comId: 'COM002',
// gdIdxId: 'GD002',
// gdIdxNm: '습도 가이드',
// eqpmGrpId: 'EQ002',
// upTotMeth: 'MAX',
// sortSeq: 2,
// pysclQtyId1: 'HUMID',
// pysclQtyId2: null,
// pysclQtyId3: null,
// pysclQtyId4: null,
// ctgr1: '환경',
// ctgr2: '외부',
// careStndVal: 30,
// warnStndVal: 60,
// gdMeth: '수동',
// useFg: '0',
// alrmMsg: '습도가 기준치를 초과했습니다.',
// calcProc: 'PROC002',
// calcDesc: '최대값 계산',
// calcMeth: 'MAX(A,B)',
// unit: '%',
// argCnt: 2,
// rowStat: null,
// },
// ];
res = await this.postApiReturn({
apiKey: 'selectEqpmGdIdxDataList',
resKey: 'eqpmGdIdxDataList',
sendParam: {
eqpmGrpId: this.selectValue02,
gdIdxNmLike: this.pageData.gdIdxNm,
},
});
const newRes = res.map(item => {
const newObj = {
...item,
rowStat: null,
};
return newObj;
});
this.setGridData({ this.setGridData({
gridKey: this.gridName, gridKey: this.gridName,
value: newRes, value: newRes,
}); });
//this.loadGrid = true; //this.loadGrid = true;
// this.$nextTick(() => { this.$nextTick(() => {
// if (newRes.length > 0) { if (newRes.length > 0) {
// try { try {
// this.$refs[this.gridName].focus({ this.$refs[this.gridName].focus({
// //rowKey: 0, //rowKey: 0,
// rowKey: rowKey:
// this.pageData.rowGridSelectKey == '' || this.pageData.rowGridSelectKey == '' ||
// this.pageData.rowGridSelectKey == null this.pageData.rowGridSelectKey == null
// ? 0 ? 0
// : this.pageData.rowGridSelectKey == : this.pageData.rowGridSelectKey ==
// this.$refs[this.gridName].getData().length - 1 this.$refs[this.gridName].getData().length - 1
// ? this.pageData.rowGridSelectKey ? this.pageData.rowGridSelectKey
// : 0, : 0,
// columnName: 'gdIdxId', columnName: 'gdIdxId',
// setScroll: true, setScroll: true,
// }); });
// } catch (error) { } } catch (error) { }
// } else { } else {
// this.detailDataInit(); this.detailDataInit();
// } }
// }); });
this.loadGrid = true; this.loadGrid = true;
}, },
async getRowData(data) { async getRowData(data) {

View File

@ -29,7 +29,7 @@
</v-card> </v-card>
</v-col> </v-col>
</v-row> </v-row>
<v-row ref="contents" class="mt-4"> <v-row ref="contents" class="mt-3">
<v-col :cols="12" style="height: 100%"> <v-col :cols="12" style="height: 100%">
<!-- <v-card class="py-5"> --> <!-- <v-card class="py-5"> -->
<v-card style="height: 60%"> <v-card style="height: 60%">
@ -115,8 +115,8 @@
</v-card> </v-card>
<v-row style="height: 40%" class="mt-4"> <v-row style="height: 40%" class="mt-3">
<v-col :cols="6" style="height: 100%"> <v-col :cols="6" style="height: 100%" class="pr-2">
<v-card class="pb-5"> <v-card class="pb-5">
<div class="d-flex align-center justify-space-between pa-4"> <div class="d-flex align-center justify-space-between pa-4">
<v-card-title class="pa-0 custom-title-4 ">설비상세 리스트</v-card-title> <v-card-title class="pa-0 custom-title-4 ">설비상세 리스트</v-card-title>
@ -126,12 +126,12 @@
<div ref="gridParent" class="w100 h100"> <div ref="gridParent" class="w100 h100">
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" <component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
:parentPrgmId="myPrgmId" @getRowsData="getRowData" :parentPrgmId="myPrgmId" @getRowsData="getRowData"
:dataPath="dataPathExample" /> />
</div> </div>
</div> </div>
</v-card> </v-card>
</v-col> </v-col>
<v-col :cols="6" style="height: 100%"> <v-col :cols="6" style="height: 100%" class="pl-2">
<v-card class="pb-5"> <v-card class="pb-5">
<div class="d-flex align-center justify-space-between pa-4"> <div class="d-flex align-center justify-space-between pa-4">
<v-card-title class="pa-0 custom-title-4">설비가이드 기준 정보</v-card-title> <v-card-title class="pa-0 custom-title-4">설비가이드 기준 정보</v-card-title>
@ -201,7 +201,7 @@ export default {
readonlyFg: true, readonlyFg: true,
initedFlag: false, initedFlag: false,
gridName: 'rowGrid', gridName: 'rowGrid',
loadGrid: true, loadGrid: false,
detailList: myDetail, detailList: myDetail,
selectValue01: null, selectValue01: null,
selectValueList01: [], selectValueList01: [],
@ -209,62 +209,62 @@ export default {
selectValueList02: [], selectValueList02: [],
selectValue03: null, selectValue03: null,
selectValueList03: [], selectValueList03: [],
dataPathExample: { // dataPathExample: {
"rowGrid": { // "rowGrid": {
data: [ // data: [
{ // {
eqpmId: 'EQ001', // eqpmId: 'EQ001',
originEqpmId: 'ORIG001', // originEqpmId: 'ORIG001',
eqpmNm: '냉각기 A', // eqpmNm: '냉각기 A',
careStndVal: 75, // careStndVal: 75,
warnStndVal: 90, // warnStndVal: 90,
}, // },
{ // {
eqpmId: 'EQ002', // eqpmId: 'EQ002',
originEqpmId: 'ORIG002', // originEqpmId: 'ORIG002',
eqpmNm: '펌프 B', // eqpmNm: '펌프 B',
careStndVal: 60, // careStndVal: 60,
warnStndVal: 80, // warnStndVal: 80,
}, // },
{ // {
eqpmId: 'EQ003', // eqpmId: 'EQ003',
originEqpmId: 'ORIG003', // originEqpmId: 'ORIG003',
eqpmNm: '모터 C', // eqpmNm: '모터 C',
careStndVal: 50, // careStndVal: 50,
warnStndVal: 70, // warnStndVal: 70,
}, // },
{ // {
eqpmId: 'EQ004', // eqpmId: 'EQ004',
originEqpmId: 'ORIG004', // originEqpmId: 'ORIG004',
eqpmNm: '밸브 D', // eqpmNm: '밸브 D',
careStndVal: 65, // careStndVal: 65,
warnStndVal: 85, // warnStndVal: 85,
}, // },
{ // {
eqpmId: 'EQ005', // eqpmId: 'EQ005',
originEqpmId: 'ORIG005', // originEqpmId: 'ORIG005',
eqpmNm: '컨트롤러 E', // eqpmNm: '컨트롤러 E',
careStndVal: 55, // careStndVal: 55,
warnStndVal: 75, // warnStndVal: 75,
}, // },
], // ],
column: [ // column: [
{ header: '설비', name: 'eqpmId', align: 'left' }, // { header: '설비', name: 'eqpmId', align: 'left' },
{ // {
header: 'origin설비', // header: 'origin설비',
name: 'originEqpmId', // name: 'originEqpmId',
align: 'center', // align: 'center',
hidden: true, // hidden: true,
}, // },
{ header: '설비명', name: 'eqpmNm', align: 'left' }, // { header: '설비명', name: 'eqpmNm', align: 'left' },
{ header: '주의기준', name: 'careStndVal', align: 'right' }, // { header: '주의기준', name: 'careStndVal', align: 'right' },
{ header: '심각기준', name: 'warnStndVal', align: 'right' }, // { header: '심각기준', name: 'warnStndVal', align: 'right' },
] // ]
} // }
} // }
}; };
}, },
computed: { computed: {
@ -408,6 +408,10 @@ export default {
columnOptions: { columnOptions: {
resizable: true, resizable: true,
}, },
header: {
height: 37,
},
rowHeight: 'auto',
}; };
this.setGridOption({ this.setGridOption({
gridKey: this.gridName, gridKey: this.gridName,
@ -511,69 +515,69 @@ export default {
this.loadGrid = false; this.loadGrid = false;
let res = []; let res = [];
// if (this.selectValue01 && this.selectValue02 && this.selectValue03) { if (this.selectValue01 && this.selectValue02 && this.selectValue03) {
// res = await this.postApiReturn({ res = await this.postApiReturn({
// apiKey: 'selectEqpmGdDetl', apiKey: 'selectEqpmGdDetl',
// resKey: 'eqpmGdDetlData', resKey: 'eqpmGdDetlData',
// sendParam: { sendParam: {
// gdIdxId: this.selectValue03, gdIdxId: this.selectValue03,
// }, },
// }); });
// } }
// // grid에서 eqpmId를 기억해서 popup에서 중복되는 값을 제거하는데 사용하기위해 저장 - 시작 // grid에서 eqpmId를 기억해서 popup에서 중복되는 값을 제거하는데 사용하기위해 저장 - 시작
// let eqpmIdList = res.map(item => { let eqpmIdList = res.map(item => {
// return item.eqpmId; return item.eqpmId;
// }); });
// this.setPageData({ nowGridEqpmIdList: eqpmIdList }); this.setPageData({ nowGridEqpmIdList: eqpmIdList });
// // grid에서 eqpmId를 기억해서 popup에서 중복되는 값을 제거하는데 사용하기위해 저장 - 끝 // grid에서 eqpmId를 기억해서 popup에서 중복되는 값을 제거하는데 사용하기위해 저장 - 끝
// const newRes = res.map(item => { const newRes = res.map(item => {
// const newObj = { const newObj = {
// ...item, ...item,
// rowStat: null, rowStat: null,
// }; };
// return newObj; return newObj;
// }); });
const newRes = [ // const newRes = [
{ // {
eqpmId: 'EQ001', // eqpmId: 'EQ001',
originEqpmId: 'ORIG001', // originEqpmId: 'ORIG001',
eqpmNm: '냉각기 A', // eqpmNm: '냉각기 A',
careStndVal: 75, // careStndVal: 75,
warnStndVal: 90, // warnStndVal: 90,
}, // },
{ // {
eqpmId: 'EQ002', // eqpmId: 'EQ002',
originEqpmId: 'ORIG002', // originEqpmId: 'ORIG002',
eqpmNm: '펌프 B', // eqpmNm: '펌프 B',
careStndVal: 60, // careStndVal: 60,
warnStndVal: 80, // warnStndVal: 80,
}, // },
{ // {
eqpmId: 'EQ003', // eqpmId: 'EQ003',
originEqpmId: 'ORIG003', // originEqpmId: 'ORIG003',
eqpmNm: '모터 C', // eqpmNm: '모터 C',
careStndVal: 50, // careStndVal: 50,
warnStndVal: 70, // warnStndVal: 70,
}, // },
{ // {
eqpmId: 'EQ004', // eqpmId: 'EQ004',
originEqpmId: 'ORIG004', // originEqpmId: 'ORIG004',
eqpmNm: '밸브 D', // eqpmNm: '밸브 D',
careStndVal: 65, // careStndVal: 65,
warnStndVal: 85, // warnStndVal: 85,
}, // },
{ // {
eqpmId: 'EQ005', // eqpmId: 'EQ005',
originEqpmId: 'ORIG005', // originEqpmId: 'ORIG005',
eqpmNm: '컨트롤러 E', // eqpmNm: '컨트롤러 E',
careStndVal: 55, // careStndVal: 55,
warnStndVal: 75, // warnStndVal: 75,
}, // },
] // ]
this.setGridData({ this.setGridData({
gridKey: this.gridName, gridKey: this.gridName,
value: newRes, value: newRes,

View File

@ -44,7 +44,7 @@
<div class="px-5" style="min-height:calc(100% - 76px)"> <div class="px-5" style="min-height:calc(100% - 76px)">
<div ref="gridParent" class="w100 h100"> <div ref="gridParent" class="w100 h100">
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId" <component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
@getRowsData="getRowData" @sendSelectedRowStatInfo="getSelectedRowStatInfo" :dataPath="dataPathMock" @getRowsData="getRowData" @sendSelectedRowStatInfo="getSelectedRowStatInfo"
:selectedRowDataWatchFlag="true" /> :selectedRowDataWatchFlag="true" />
</div> </div>
</div> </div>

View File

@ -266,8 +266,8 @@ export default {
}, },
created() { }, created() { },
async mounted() { async mounted() {
console.log('----DEBUG---'); // console.log('----DEBUG---');
await this.initTest(); // await this.initTest();
// End Debug Test--- // End Debug Test---
await this.init(); await this.init();
this.initedFlag = true; this.initedFlag = true;