Compare commits
11 Commits
dev-luannv
...
7e2383efda
Author | SHA1 | Date | |
---|---|---|---|
7e2383efda | |||
708b648080 | |||
2dd0c6a72c | |||
631637a8e1 | |||
3ff87852e5 | |||
117e0adeb9 | |||
402b09440f | |||
71f7cf4d30 | |||
d3984182e8 | |||
933d4b751f | |||
d45d141c3c |
@ -1259,19 +1259,11 @@ a {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.v-list-item__content {
|
||||
background-color: currentColor;
|
||||
}
|
||||
|
||||
.v-list-item__title {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"tui-datepicker-calendar-color"
|
||||
);
|
||||
|
||||
@if $theme ==light {
|
||||
color: #fff !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,6 @@
|
||||
.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 {
|
||||
box-shadow: none;
|
||||
}
|
||||
@ -42,6 +44,10 @@
|
||||
legend {
|
||||
width: 0;
|
||||
}
|
||||
|
||||
.v-select-list {
|
||||
padding: 0 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.v-input__custom {
|
||||
|
@ -113,6 +113,14 @@
|
||||
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 {
|
||||
.custom-title-4 {
|
||||
font-size: 16px !important;
|
||||
|
@ -170,6 +170,7 @@ $config: (
|
||||
ant-btn-default-border-outlined:#424242,
|
||||
btn-header-select-bg: #1F1F1F,
|
||||
btn-header-select-color:#FFFFFFD9,
|
||||
subtitle-tab: #FFFFFFA6,
|
||||
),
|
||||
light: (w-g5: $--color-gray_555,
|
||||
g5-w: $--color-white,
|
||||
@ -304,5 +305,6 @@ $config: (
|
||||
ant-btn-default-border-outlined:#D9D9D9,
|
||||
btn-header-select-color:#1F1F1F,
|
||||
btn-header-select-bg:#FFFFFF,
|
||||
subtitle-tab: #000000A6,
|
||||
),
|
||||
);
|
@ -45,7 +45,7 @@ export default {
|
||||
size: {
|
||||
type: String,
|
||||
require: false,
|
||||
default: "middle", // small, middle, large
|
||||
default: "default", // small, middle, large
|
||||
}
|
||||
},
|
||||
data() {
|
||||
|
@ -71,14 +71,12 @@
|
||||
</div>
|
||||
</div>
|
||||
<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> -->
|
||||
<!-- <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)"
|
||||
|
||||
<a-button :ripple="false" @click="dialogOpenCloseEvent(dialog)"
|
||||
class="mr-2">닫기</a-button>
|
||||
<a-button v-if="item.closeBtnFg || false" :ripple="false" icon="delete" type="danger" ghost danger
|
||||
@click="deleteBtnAction($event)">삭제</a-button>
|
||||
<a-button v-if="item.closeBtnFg || false" :ripple="false" type="danger" ghost danger
|
||||
@click="deleteBtnAction($event)" class="mr-2">삭제</a-button>
|
||||
<a-button :ripple="false" type="primary" @click="setUpdate($event)" >확인</a-button>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
@ -298,46 +296,46 @@ export default {
|
||||
},
|
||||
async setSelectValueList01() {
|
||||
// form으로 popup 사용할 때 인자로 eqpmKindId, eqpmGrpId 보내줘야한다.
|
||||
// let res = await this.postApiReturn({
|
||||
// apiKey: 'selectEqpmGrpCodeList',
|
||||
// resKey: 'eqpmGrpCodeLists',
|
||||
// sendParam: {
|
||||
// eqpmKindId:
|
||||
// this.item.eqpmKindId != undefined
|
||||
// ? this.item.eqpmKindId
|
||||
// : this.searchParam.eqpmKindId,
|
||||
// },
|
||||
// // form을 통해 popup을 사용할 경우 -> this.item.eqpmKindId 사용
|
||||
// // 부모 페이지에서 설비종류인 eqpmKindId 값을 꼭 가져와야한다.
|
||||
// });
|
||||
// if (res.length > 0) {
|
||||
// this.selectValueList01 = await res.map(obj => {
|
||||
// return {
|
||||
// text: obj.eqpmGrpNm,
|
||||
// value: obj.eqpmGrpId,
|
||||
// };
|
||||
// });
|
||||
// // form을 통해 popup을 사용할 경우 -> this.item.eqpmGrpId 사용
|
||||
// // 부모 페이지에서 설비그룹을 선택한 값이 있다면(eqpmGrpId) 그 값으로 바인딩 아닐 경우 조회한 데이터의 첫번째 값으로 선택
|
||||
// // console.log('this.item.eqpmGrpId : ', this.item.eqpmGrpId);
|
||||
// // console.log('this.searchParam.eqpmGrpId : ', this.searchParam.eqpmGrpId);
|
||||
// this.selectValue01 =
|
||||
// this.item.eqpmGrpId != undefined
|
||||
// ? this.item.eqpmGrpId
|
||||
// : this.searchParam.eqpmGrpId != undefined
|
||||
// ? this.searchParam.eqpmGrpId
|
||||
// : this.selectValueList01[0].value;
|
||||
// } else {
|
||||
// this.selectValueList01 = [];
|
||||
// this.selectValue01 = null;
|
||||
// }
|
||||
let res = await this.postApiReturn({
|
||||
apiKey: 'selectEqpmGrpCodeList',
|
||||
resKey: 'eqpmGrpCodeLists',
|
||||
sendParam: {
|
||||
eqpmKindId:
|
||||
this.item.eqpmKindId != undefined
|
||||
? this.item.eqpmKindId
|
||||
: this.searchParam.eqpmKindId,
|
||||
},
|
||||
// form을 통해 popup을 사용할 경우 -> this.item.eqpmKindId 사용
|
||||
// 부모 페이지에서 설비종류인 eqpmKindId 값을 꼭 가져와야한다.
|
||||
});
|
||||
if (res.length > 0) {
|
||||
this.selectValueList01 = await res.map(obj => {
|
||||
return {
|
||||
text: obj.eqpmGrpNm,
|
||||
value: obj.eqpmGrpId,
|
||||
};
|
||||
});
|
||||
// form을 통해 popup을 사용할 경우 -> this.item.eqpmGrpId 사용
|
||||
// 부모 페이지에서 설비그룹을 선택한 값이 있다면(eqpmGrpId) 그 값으로 바인딩 아닐 경우 조회한 데이터의 첫번째 값으로 선택
|
||||
// console.log('this.item.eqpmGrpId : ', this.item.eqpmGrpId);
|
||||
// console.log('this.searchParam.eqpmGrpId : ', this.searchParam.eqpmGrpId);
|
||||
this.selectValue01 =
|
||||
this.item.eqpmGrpId != undefined
|
||||
? this.item.eqpmGrpId
|
||||
: this.searchParam.eqpmGrpId != undefined
|
||||
? this.searchParam.eqpmGrpId
|
||||
: this.selectValueList01[0].value;
|
||||
} else {
|
||||
this.selectValueList01 = [];
|
||||
this.selectValue01 = null;
|
||||
}
|
||||
|
||||
this.selectValueList01 = [
|
||||
{ label: '냉동기고온', value: '냉동기고온' },
|
||||
{ label: '냉동기저온', value: '냉동기저온' },
|
||||
{ label: '공조기', value: '공조기' },
|
||||
{ label: '보일러', value: '보일러' }
|
||||
];
|
||||
// this.selectValueList01 = [
|
||||
// { label: '냉동기고온', value: '냉동기고온' },
|
||||
// { label: '냉동기저온', value: '냉동기저온' },
|
||||
// { label: '공조기', value: '공조기' },
|
||||
// { label: '보일러', value: '보일러' }
|
||||
// ];
|
||||
},
|
||||
search() {
|
||||
this.getGridData();
|
||||
@ -388,44 +386,35 @@ export default {
|
||||
this.loadGrid = false;
|
||||
|
||||
let res = [];
|
||||
// res = await this.postApiReturn({
|
||||
// apiKey: 'selectEgrpPysclQtyPop',
|
||||
// resKey: 'egrpPysclQtyData',
|
||||
// sendParam: {
|
||||
// searchWord: this.searchWord,
|
||||
// eqpmGrpId: this.selectValue01,
|
||||
// openMode: this.item.openMode,
|
||||
// },
|
||||
// });
|
||||
// let newRes = [];
|
||||
// let tempTagList = this.pyscPopVal.split('/*wq2a/');
|
||||
// let tagList = tempTagList.filter(item => item != '');
|
||||
// if (tagList.length > 0) {
|
||||
// newRes = res.filter(item => {
|
||||
// return !tagList.includes(item.pysclQtyId);
|
||||
// });
|
||||
// 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'
|
||||
res = await this.postApiReturn({
|
||||
apiKey: 'selectEgrpPysclQtyPop',
|
||||
resKey: 'egrpPysclQtyData',
|
||||
sendParam: {
|
||||
searchWord: this.searchWord,
|
||||
eqpmGrpId: this.selectValue01,
|
||||
openMode: this.item.openMode,
|
||||
},
|
||||
});
|
||||
let newRes = [];
|
||||
let tempTagList = this.pyscPopVal.split('/*wq2a/');
|
||||
let tagList = tempTagList.filter(item => item != '');
|
||||
if (tagList.length > 0) {
|
||||
newRes = res.filter(item => {
|
||||
return !tagList.includes(item.pysclQtyId);
|
||||
});
|
||||
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;
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
this.setModalGridData({
|
||||
modalKey: this.myModalKey,
|
||||
gridKey: this.grid_01,
|
||||
|
@ -2,12 +2,8 @@
|
||||
<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
|
||||
:class="['mr-1', item.required ? 'icon-orange' : 'icon-blue']"
|
||||
>$icoBulletPoint</v-icon
|
||||
>
|
||||
<v-icon v-if="item.iconShow" small
|
||||
:class="['mr-1', item.required ? 'icon-orange' : 'icon-blue']">$icoBulletPoint</v-icon>
|
||||
{{ option.labelContent }}
|
||||
</label>
|
||||
</v-col>
|
||||
@ -30,9 +26,9 @@
|
||||
<div class="pa-6 pt-0">
|
||||
<v-row align="center">
|
||||
<v-col :cols="5">
|
||||
<component :is="'SelectBox'" ref="SelectBox1" :labelCols="12" :textCols="12" :iconShow="true"
|
||||
:propsValue="selectValue01" :itemList="selectValueList01" :label="'설비그룹'"
|
||||
@update:propsValue="selectValue01 = $event" :readonly="item.openMode == undefined
|
||||
<component :is="'SelectBox'" ref="SelectBox1" :labelCols="12" :textCols="12"
|
||||
:iconShow="true" :propsValue="selectValue01" :itemList="selectValueList01"
|
||||
:label="'설비그룹'" @update:propsValue="selectValue01 = $event" :readonly="item.openMode == undefined
|
||||
? openMode
|
||||
: item.openMode == 'ALL'
|
||||
? false
|
||||
@ -47,14 +43,14 @@
|
||||
물리량명
|
||||
</label>
|
||||
</v-col>
|
||||
<v-col :cols="9"> <v-text-field append-icon="" class="v-input__custom"
|
||||
outlined :hide-details="true" v-model="searchWord"
|
||||
@keyup.enter="search"><template v-slot:append>
|
||||
<!-- Custom SVG icon -->
|
||||
<v-icon>$icoSearch</v-icon>
|
||||
<v-col :cols="9"> <v-text-field append-icon="" class="v-input__custom" outlined
|
||||
:hide-details="true" v-model="searchWord" @keyup.enter="search"><template
|
||||
v-slot:append>
|
||||
<!-- Custom SVG icon -->
|
||||
<v-icon>$icoSearch</v-icon>
|
||||
|
||||
|
||||
</template></v-text-field></v-col>
|
||||
</template></v-text-field></v-col>
|
||||
<v-spacer></v-spacer>
|
||||
<v-col cols="3" class="text-right">
|
||||
<a-button icon="search" type="primary" @click="search()"
|
||||
@ -76,9 +72,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<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" type="primary" @click="dialogOpenCloseEvent(dialog)"
|
||||
class="mr-2">닫기</a-button>
|
||||
<a-button :ripple="false" @click="dialogOpenCloseEvent(dialog)" class="mr-2">닫기</a-button>
|
||||
<a-button :ripple="false" type="primary" @click="setUpdate($event)">확인</a-button>
|
||||
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
@ -274,36 +270,30 @@ export default {
|
||||
this.gridInit();
|
||||
},
|
||||
async setSelectValueList01() {
|
||||
// let res = await this.postApiReturn({
|
||||
// apiKey: 'selectEqpmGrpCodeList',
|
||||
// resKey: 'eqpmGrpCodeLists',
|
||||
// sendParam: { eqpmKindId: this.searchParam.eqpmKindId },
|
||||
// // 부모 페이지에서 설비종류인 eqpmKindId 값을 꼭 가져와야한다.
|
||||
// });
|
||||
// if (res.length > 0) {
|
||||
// this.selectValueList01 = await res.map(obj => {
|
||||
// return {
|
||||
// text: obj.eqpmGrpNm,
|
||||
// value: obj.eqpmGrpId,
|
||||
// };
|
||||
// });
|
||||
// // 부모 페이지에서 설비그룹을 선택한 값이 있다면(eqpmGrpId) 그 값으로 바인딩 아닐 경우 조회한 데이터의 첫번째 값으로 선택
|
||||
// this.selectValue01 =
|
||||
// this.searchParam.eqpmGrpId != undefined
|
||||
// ? this.searchParam.eqpmGrpId
|
||||
// : this.selectValueList01[0].value;
|
||||
// // this.selectValue01 = this.selectValueList01[0].value;
|
||||
// } else {
|
||||
// this.selectValueList01 = [];
|
||||
// this.selectValue01 = null;
|
||||
// }
|
||||
let res = await this.postApiReturn({
|
||||
apiKey: 'selectEqpmGrpCodeList',
|
||||
resKey: 'eqpmGrpCodeLists',
|
||||
sendParam: { eqpmKindId: this.searchParam.eqpmKindId },
|
||||
// 부모 페이지에서 설비종류인 eqpmKindId 값을 꼭 가져와야한다.
|
||||
});
|
||||
if (res.length > 0) {
|
||||
this.selectValueList01 = await res.map(obj => {
|
||||
return {
|
||||
text: obj.eqpmGrpNm,
|
||||
value: obj.eqpmGrpId,
|
||||
};
|
||||
});
|
||||
// 부모 페이지에서 설비그룹을 선택한 값이 있다면(eqpmGrpId) 그 값으로 바인딩 아닐 경우 조회한 데이터의 첫번째 값으로 선택
|
||||
this.selectValue01 =
|
||||
this.searchParam.eqpmGrpId != undefined
|
||||
? this.searchParam.eqpmGrpId
|
||||
: this.selectValueList01[0].value;
|
||||
// this.selectValue01 = this.selectValueList01[0].value;
|
||||
} else {
|
||||
this.selectValueList01 = [];
|
||||
this.selectValue01 = null;
|
||||
}
|
||||
|
||||
this.selectValueList01 = [
|
||||
{ label: '냉동기고온', value: '냉동기고온' },
|
||||
{ label: '냉동기저온', value: '냉동기저온' },
|
||||
{ label: '공조기', value: '공조기' },
|
||||
{ label: '보일러', value: '보일러' }
|
||||
];
|
||||
},
|
||||
search() {
|
||||
this.getGridData();
|
||||
@ -341,34 +331,26 @@ export default {
|
||||
},
|
||||
async getGridData() {
|
||||
this.loadGrid = false;
|
||||
// let res = [];
|
||||
// let res = await this.postApiReturn({
|
||||
// apiKey: 'selectEqpmBaseInfoPop',
|
||||
// resKey: 'epqmBaseInfoData',
|
||||
// sendParam: {
|
||||
// eqpmGrpId: this.selectValue01,
|
||||
// searchWord: this.searchWord,
|
||||
// // openMode : this.item.openMode == undefined ? this.openMode : this.item.openMode
|
||||
// },
|
||||
// });
|
||||
// // grid와 popup eqpmId 값 중복되는 것 제거하는 로직 - 시작
|
||||
// let newRes = [];
|
||||
// if (this.bindingGridEqpmIdList.length > 0) {
|
||||
// newRes = res.filter(item => {
|
||||
// return !this.bindingGridEqpmIdList.includes(item.eqpmId);
|
||||
// });
|
||||
// res = newRes;
|
||||
// }
|
||||
|
||||
let res = await this.postApiReturn({
|
||||
apiKey: 'selectEqpmBaseInfoPop',
|
||||
resKey: 'epqmBaseInfoData',
|
||||
sendParam: {
|
||||
eqpmGrpId: this.selectValue01,
|
||||
searchWord: this.searchWord,
|
||||
// openMode : this.item.openMode == undefined ? this.openMode : this.item.openMode
|
||||
},
|
||||
});
|
||||
// grid와 popup eqpmId 값 중복되는 것 제거하는 로직 - 시작
|
||||
let newRes = [];
|
||||
if (this.bindingGridEqpmIdList.length > 0) {
|
||||
newRes = res.filter(item => {
|
||||
return !this.bindingGridEqpmIdList.includes(item.eqpmId);
|
||||
});
|
||||
res = newRes;
|
||||
}
|
||||
// grid와 popup eqpmId 값 중복되는 것 제거하는 로직 - 끝
|
||||
|
||||
const res = [
|
||||
{
|
||||
'eqpmId': 'PYSCL00001',
|
||||
'eqpmNm': 'AMP_1A',
|
||||
|
||||
}
|
||||
]
|
||||
|
||||
this.setModalGridData({
|
||||
modalKey: this.myModalKey,
|
||||
gridKey: this.gridName,
|
||||
@ -441,9 +423,9 @@ export default {
|
||||
// this.dialog = false;
|
||||
// return;
|
||||
// }
|
||||
// if (this.myBindingData.length <= 0) {
|
||||
// return alert('설비상세 리스트를 먼저 선택해주세요.');
|
||||
// }
|
||||
if (this.myBindingData.length <= 0) {
|
||||
return alert('설비상세 리스트를 먼저 선택해주세요.');
|
||||
}
|
||||
this.dialog = !val;
|
||||
},
|
||||
},
|
||||
@ -481,7 +463,7 @@ var eqpmBaseInfoPop = {
|
||||
// .v-dialog {
|
||||
// .v-card {
|
||||
// &__title {
|
||||
|
||||
|
||||
|
||||
// @if $theme ==dark {
|
||||
// background-color: #2d3355;
|
||||
|
@ -36,7 +36,7 @@
|
||||
계산설명
|
||||
</label>
|
||||
</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
|
||||
:hide-details="true" v-model="searchWord" @keyup.enter="search"><template v-slot:append>
|
||||
<!-- Custom SVG icon -->
|
||||
@ -45,7 +45,7 @@
|
||||
|
||||
</template></v-text-field>
|
||||
</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>
|
||||
<!-- <v-btn :ripple="false" @click="initSearch()">
|
||||
초기화
|
||||
@ -63,10 +63,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<v-card-actions class="pa-5 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="setUpdate($event)" class="mr-2">확인</a-button>
|
||||
<a-button :ripple="false" type="primary" @click="dialogOpenCloseEvent(dialog)">닫기</a-button>
|
||||
<a-button :ripple="false" @click="dialogOpenCloseEvent(dialog)" class="mr-2">닫기</a-button>
|
||||
<a-button :ripple="false" type="primary" @click="setUpdate($event)" >확인</a-button>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
@ -306,38 +304,22 @@ export default {
|
||||
},
|
||||
async getGridData() {
|
||||
this.loadGrid = false;
|
||||
// let res = await this.postApiReturn({
|
||||
// apiKey: 'selectEqpmCalcPop',
|
||||
// resKey: 'eqpmCalcPopData',
|
||||
// sendParam: {
|
||||
// calcDescLike: this.searchWord,
|
||||
// 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': '두개 변수에 대한 평균'
|
||||
|
||||
let res = await this.postApiReturn({
|
||||
apiKey: 'selectEqpmCalcPop',
|
||||
resKey: 'eqpmCalcPopData',
|
||||
sendParam: {
|
||||
calcDescLike: this.searchWord,
|
||||
openMode: this.item.openMode != undefined ? this.item.openMode : this.openMode
|
||||
},
|
||||
|
||||
{ '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': '최소값 계산' },
|
||||
|
||||
]
|
||||
});
|
||||
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;
|
||||
}
|
||||
|
||||
this.setModalGridData({
|
||||
modalKey: this.myModalKey,
|
||||
gridKey: this.grid_01,
|
||||
|
@ -20,10 +20,10 @@
|
||||
outlined
|
||||
:multiple="multiple"
|
||||
:hide-details="true"
|
||||
append-icon=""
|
||||
:class="['v-select__custom', customClass]"
|
||||
:disabled="disabled"
|
||||
:readonly="readonly"
|
||||
append-icon=""
|
||||
><template v-slot:append>
|
||||
<v-icon>$icoChevronDown</v-icon>
|
||||
</template></v-select>
|
||||
|
@ -7,7 +7,7 @@
|
||||
</div>
|
||||
<div ref="gridParent">
|
||||
<Grid :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="parentPrgmId"
|
||||
@getRowsData="getRowData" :innerTabGridInfo="innerTabGridInfo" :dataPath="dataPathMock" />
|
||||
@getRowsData="getRowData" :innerTabGridInfo="innerTabGridInfo" />
|
||||
</div>
|
||||
<div ref="formParent" class="mt-4">
|
||||
<component :is="'Form'" :parentPrgmId="parentPrgmId" :bindingData="gridName" :detailList="detailDataSetTagList"
|
||||
|
@ -4,7 +4,7 @@
|
||||
class="d-flex justify-space-between align-center"
|
||||
style="height: 80px;"
|
||||
>
|
||||
<span class="txt">검침 대상 추가 정보</span>
|
||||
<span class="txt custom-subtitle-tab">검침 대상 추가 정보</span>
|
||||
<Buttons
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
@ -20,8 +20,6 @@
|
||||
:editorGrid="true"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
@getRowsData="getRowData"
|
||||
:selectedRowDataWatchFlag="true"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -55,23 +53,10 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: true,
|
||||
loadGrid: false,
|
||||
gridName: 'rowDetailGrid',
|
||||
rowKey: null,
|
||||
edtingFinishFlag: 'Y',
|
||||
dataPathMock: {
|
||||
"rowDetailGrid": {
|
||||
column: [
|
||||
{ header: '검침 대상 ID', name: 'readObjId', align: 'left' },
|
||||
{ header: '검침 대상 명', name: 'readObjNm', align: 'left' },
|
||||
{ header: '검침 대상 유형', name: 'readObjKind', align: 'left' },
|
||||
{ header: '그룹', name: 'grpCd', align: 'left' },
|
||||
],
|
||||
data: dataPathDataExample,
|
||||
defaultRow: dataPathDataExample,
|
||||
option: {}
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -276,7 +261,7 @@ export default {
|
||||
{ header: '검침 대상 ID', name: 'readObjId', hidden: true },
|
||||
{
|
||||
header: '추가 정보',
|
||||
name: 'addInfoId',
|
||||
name: 'addInfoId',
|
||||
align: 'left',
|
||||
formatter({ value }) {
|
||||
let retVal = '';
|
||||
@ -461,25 +446,4 @@ export default {
|
||||
search() {},
|
||||
},
|
||||
};
|
||||
const dataPathDataExample = [
|
||||
{
|
||||
readObjId: 'OBJ001',
|
||||
readObjNm: '서울 본사',
|
||||
readObjKind: 'TYPE01',
|
||||
grpCd: 'GRP01',
|
||||
},
|
||||
{
|
||||
readObjId: 'OBJ002',
|
||||
readObjNm: '부산 지사',
|
||||
readObjKind: 'TYPE02',
|
||||
grpCd: 'GRP02',
|
||||
},
|
||||
{
|
||||
readObjId: 'OBJ003',
|
||||
readObjNm: '대전 공장',
|
||||
readObjKind: 'TYPE03',
|
||||
grpCd: 'GRP01',
|
||||
}
|
||||
];
|
||||
|
||||
</script>
|
||||
|
@ -67,7 +67,6 @@
|
||||
:gridName="gridName"
|
||||
:parentPrgmId="myPrgmId"
|
||||
@getRowsData="getRowData"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -132,22 +131,8 @@ export default {
|
||||
return {
|
||||
myPrgmId: myPrgmId,
|
||||
gridName: 'rowGrid',
|
||||
loadGrid: true,
|
||||
loadGrid: false,
|
||||
detailList: myDetail,
|
||||
dataPathMock : {
|
||||
rowGrid: {
|
||||
column: [
|
||||
{ header: '추가 정보 그룹', name: 'addGrpId', align: 'left' },
|
||||
{ header: '추가 정보 ID', name: 'addInfoId', align: 'left' },
|
||||
{ header: '추가 정보 명', name: 'addInfoNm', align: 'left' },
|
||||
{ header: 'Data 형식', name: 'addInfoDataKind', align: 'center' },
|
||||
{ header: '사용여부', name: 'useFg', align: 'center' },
|
||||
],
|
||||
data: dataMockExample,
|
||||
defaultRow: dataMockExample,
|
||||
option: {},
|
||||
},
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -518,43 +503,4 @@ const myDetail = [
|
||||
placeholder: '시스템 자동입력',
|
||||
},
|
||||
];
|
||||
|
||||
const dataMockExample = [
|
||||
{
|
||||
addGrpId: 'GRP001',
|
||||
addInfoId: 'INFO001',
|
||||
addInfoNm: '온도 센서',
|
||||
addInfoDataKind: 'DATA01',
|
||||
useFg: true,
|
||||
},
|
||||
{
|
||||
addGrpId: 'GRP002',
|
||||
addInfoId: 'INFO002',
|
||||
addInfoNm: '압력 센서',
|
||||
addInfoDataKind: 'DATA02',
|
||||
useFg: false,
|
||||
},
|
||||
{
|
||||
addGrpId: 'GRP003',
|
||||
addInfoId: 'INFO003',
|
||||
addInfoNm: '압력 센서',
|
||||
addInfoDataKind: 'DATA03',
|
||||
useFg: false,
|
||||
},
|
||||
{
|
||||
addGrpId: 'GRP004',
|
||||
addInfoId: 'INFO004',
|
||||
addInfoNm: '압력 센서',
|
||||
addInfoDataKind: 'DATA04',
|
||||
useFg: false,
|
||||
},
|
||||
{
|
||||
addGrpId: 'GRP005',
|
||||
addInfoId: 'INFO005',
|
||||
addInfoNm: '압력 센서',
|
||||
addInfoDataKind: 'DATA05',
|
||||
useFg: false,
|
||||
},
|
||||
];
|
||||
|
||||
</script>
|
||||
|
@ -4,28 +4,24 @@
|
||||
<v-row ref="searchFilter">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
<v-row align="end" no-gutters>
|
||||
<v-col :cols="2.5">
|
||||
<v-row align="center" no-gutters>
|
||||
<v-col :cols="2">
|
||||
<InputText
|
||||
:parentPrgmId="myPrgmId"
|
||||
label="배치ID"
|
||||
valueNm="batchId"
|
||||
:searchOption="true"
|
||||
:iconShow="true"
|
||||
customClass="input-large"
|
||||
/>
|
||||
</v-col>
|
||||
<v-col :cols="2.5">
|
||||
<v-col :cols="2">
|
||||
<InputText
|
||||
:parentPrgmId="myPrgmId"
|
||||
label="배치명"
|
||||
valueNm="batchNm"
|
||||
:searchOption="true"
|
||||
:iconShow="true"
|
||||
customClass="input-large"
|
||||
/>
|
||||
</v-col>
|
||||
<v-col :cols="2.5">
|
||||
<v-col :cols="2">
|
||||
<component
|
||||
:is="'selectCodeList'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
@ -33,21 +29,19 @@
|
||||
:dataKey="'execRsltCd'"
|
||||
:sendParam="{ commGrpCd: 'CO_BATCH_EXEC_RSLT', useFg: '1' }"
|
||||
:addAll="true"
|
||||
:iconShow="true"
|
||||
customClass="select-large"
|
||||
/>
|
||||
</v-col>
|
||||
<v-col :cols="2.5">
|
||||
<v-col :cols="2">
|
||||
<component
|
||||
:is="'Datepicker'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:label="'조회기간'"
|
||||
:customClass="'input-large'"
|
||||
/>
|
||||
</v-col>
|
||||
<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-spacer></v-spacer>
|
||||
<v-col :cols="4" class="text-right">
|
||||
<BtnSearch />
|
||||
<BtnExcelDownload :parentPrgmId="myPrgmId" :gridName="gridName" />
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-card>
|
||||
@ -63,11 +57,10 @@
|
||||
<div ref="gridParent" class="px-5 h100">
|
||||
<component
|
||||
:ref="gridName"
|
||||
:is=" 'Grid' "
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:gridName="gridName"
|
||||
@getRowsData="getRowData"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -140,56 +133,10 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
myPrgmId: myPrgmId,
|
||||
loadGrid: true,
|
||||
loadGrid: false,
|
||||
gridName: 'rowGrid',
|
||||
// rowGridOrigin: [],
|
||||
detailList: myDetail,
|
||||
dataPathMock : {
|
||||
'rowGrid': {
|
||||
column: [
|
||||
{ header: 'No.', name: 'batchLogSeq', align: 'center', width: 100 },
|
||||
{ header: '배치ID', name: 'batchId', align: 'center', width: 100 },
|
||||
{ header: '배치명', name: 'batchNm', align: 'left', width: 150 },
|
||||
{ header: '실행 일자', name: 'execDt', align: 'center', width: 80 },
|
||||
{
|
||||
header: '실행 결과',
|
||||
name: 'execRsltCd',
|
||||
align: 'center',
|
||||
width: 80,
|
||||
// formatter({ value }) {
|
||||
// let retVal = '';
|
||||
// const newValue = _this.pageData.execRsltCdList.filter(
|
||||
// item => item.commCd == value,
|
||||
// );
|
||||
// if (newValue.length > 0) {
|
||||
// retVal = newValue[0].commCdNm;
|
||||
// }
|
||||
// return retVal;
|
||||
// },
|
||||
}, // "1": 프로그램, "2": 팝업
|
||||
{ header: '실행 로그', name: 'execLogCont', minWidth: 150 },
|
||||
{
|
||||
header: '배치 시작 일시',
|
||||
name: 'batchStrtDttm',
|
||||
align: 'center',
|
||||
width: 160,
|
||||
},
|
||||
{
|
||||
header: '배치 종료 일시',
|
||||
name: 'batchEndDttm',
|
||||
align: 'center',
|
||||
width: 160,
|
||||
},
|
||||
{ header: '등록자NO', name: 'regUserNo', width: 120 },
|
||||
{ header: '등록일시', name: 'regDttm', align: 'center', width: 160 },
|
||||
{ header: '수정자NO', name: 'procUserNo', width: 120 },
|
||||
{ header: '수정일시', name: 'procDttm', align: 'center', width: 160 },
|
||||
],
|
||||
data: dataMockExample,
|
||||
defaultRow: dataMockExample,
|
||||
option: {},
|
||||
},
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -248,14 +195,6 @@ export default {
|
||||
init() {
|
||||
// this.layoutInit();
|
||||
this.gridInit();
|
||||
|
||||
// _this.pageData = {
|
||||
// execRsltCdList: [
|
||||
// { commCd: '1', commCdNm: '성공' },
|
||||
// { commCd: '2', commCdNm: '실패' },
|
||||
// ],
|
||||
// };
|
||||
|
||||
},
|
||||
// layoutInit() {
|
||||
// const searchFilterHeight = this.$refs.searchFilter.offsetHeight;
|
||||
@ -368,13 +307,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
// async getRowData(data) {
|
||||
async getRowData() {
|
||||
console.log("something")
|
||||
async getRowData(data) {
|
||||
this.setPageData({
|
||||
// rowGridSelectKey: data.rowKey,
|
||||
rowGridSelectKey: 1,
|
||||
rowGridSelectData: fakeRowData,
|
||||
rowGridSelectKey: data.rowKey,
|
||||
rowGridSelectData: data,
|
||||
});
|
||||
},
|
||||
compareData(type, newDt) {
|
||||
@ -481,86 +417,16 @@ const defaultData = {
|
||||
},
|
||||
};
|
||||
|
||||
const dataMockExample = [
|
||||
{
|
||||
batchLogSeq: 1,
|
||||
batchId: 'BATCH001',
|
||||
batchNm: '일일 데이터 백업',
|
||||
execDt: '2025-07-15',
|
||||
execRsltCd: '1', // sẽ được formatter thành "성공" hoặc tương tự
|
||||
execLogCont: '백업 완료. 오류 없음.',
|
||||
batchStrtDttm: '2025-07-15 01:00:00',
|
||||
batchEndDttm: '2025-07-15 01:30:00',
|
||||
regUserNo: 'admin01',
|
||||
regDttm: '2025-07-15 01:00:00',
|
||||
procUserNo: 'admin02',
|
||||
procDttm: '2025-07-15 01:35:00',
|
||||
},
|
||||
{
|
||||
batchLogSeq: 2,
|
||||
batchId: 'BATCH002',
|
||||
batchNm: '월간 리포트 생성',
|
||||
execDt: '2025-07-01',
|
||||
execRsltCd: '2',
|
||||
execLogCont: '리포트 생성 중 오류 발생: 파일 접근 실패.',
|
||||
batchStrtDttm: '2025-07-01 03:00:00',
|
||||
batchEndDttm: '2025-07-01 03:10:00',
|
||||
regUserNo: 'reportUser',
|
||||
regDttm: '2025-07-01 03:00:00',
|
||||
procUserNo: 'admin03',
|
||||
procDttm: '2025-07-01 03:15:00',
|
||||
},
|
||||
{
|
||||
batchLogSeq: 3,
|
||||
batchId: 'BATCH003',
|
||||
batchNm: '사용자 통계 갱신',
|
||||
execDt: '2025-07-14',
|
||||
execRsltCd: '1',
|
||||
execLogCont: '통계 갱신 완료.',
|
||||
batchStrtDttm: '2025-07-14 23:00:00',
|
||||
batchEndDttm: '2025-07-14 23:20:00',
|
||||
regUserNo: 'statUser',
|
||||
regDttm: '2025-07-14 23:00:00',
|
||||
procUserNo: 'admin01',
|
||||
procDttm: '2025-07-14 23:25:00',
|
||||
},
|
||||
];
|
||||
|
||||
const fakeRowData = {
|
||||
rowKey: 1,
|
||||
batchLogSeq: 1,
|
||||
batchId: 'BATCH001',
|
||||
batchNm: '일일 데이터 백업',
|
||||
execDt: '2025-07-15',
|
||||
execRsltCd: '1',
|
||||
execLogCont: JSON.stringify({
|
||||
session: {
|
||||
userNo: 'admin01',
|
||||
userNm: '관리자',
|
||||
comId: 'SKCC',
|
||||
locale: 'ko_KR',
|
||||
},
|
||||
batch: {
|
||||
comId: 'SKCC',
|
||||
totStdDt: '20230110',
|
||||
},
|
||||
}),
|
||||
batchStrtDttm: '2025-07-15 01:00:00',
|
||||
batchEndDttm: '2025-07-15 01:30:00',
|
||||
regUserNo: 'admin01',
|
||||
regDttm: '2025-07-15 01:00:00',
|
||||
procUserNo: 'admin02',
|
||||
procDttm: '2025-07-15 01:35:00',
|
||||
};
|
||||
|
||||
|
||||
const myDetail = [
|
||||
{
|
||||
type: 'TextArea',
|
||||
valueNm: 'execLogCont',
|
||||
readonly: true,
|
||||
cols: 12,
|
||||
class: 'py-2 transparent',
|
||||
class: 'py-2',
|
||||
},
|
||||
];
|
||||
</script>
|
||||
<style lang="scss">
|
||||
@import '@/assets/scss/common.scss';
|
||||
</style>
|
||||
|
@ -16,8 +16,8 @@
|
||||
</v-card>
|
||||
</v-col>
|
||||
</v-row>
|
||||
<v-row ref="contents">
|
||||
<v-col :cols="5" style="height:100%">
|
||||
<v-row ref="contents" class="pt-2">
|
||||
<v-col :cols="5" style="height:100%" class="pr-2">
|
||||
<v-card class="pb-5">
|
||||
<div class="d-flex align-center justify-space-between pa-4">
|
||||
<v-card-title class="pa-0 custom-title-4">효율지표 리스트</v-card-title>
|
||||
@ -32,7 +32,7 @@
|
||||
</div>
|
||||
</v-card>
|
||||
</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-title class="custom-title-4 pa-4 pb-2">효율지표 상세
|
||||
</v-card-title>
|
||||
|
@ -29,10 +29,10 @@
|
||||
</v-card>
|
||||
</v-col>
|
||||
</v-row>
|
||||
<v-row ref="contents">
|
||||
<v-col :cols="5" class="h100">
|
||||
<v-row ref="contents" class="mt-3">
|
||||
<v-col :cols="5" class="h100 pr-2">
|
||||
<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"
|
||||
@ -44,12 +44,12 @@
|
||||
:parentPrgmId="myPrgmId" @getRowsData="getRowData"
|
||||
@sendSelectedRowStatInfo="getSelectedRowStatInfo" :selectedRowDataWatchFlag="true"
|
||||
:preventFocusChangeEventFlag="true"
|
||||
:preventFocusChangeEventTargetGridList="editingGridList" :dataPath="dataPathExample" />
|
||||
:preventFocusChangeEventTargetGridList="editingGridList" />
|
||||
</div>
|
||||
</div>
|
||||
</v-card>
|
||||
</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-title class="px-0">물리량 상세</v-card-title>
|
||||
<v-row no-gutters>
|
||||
@ -136,7 +136,7 @@
|
||||
<v-col :cols="12" style="height:100%">
|
||||
<div ref="gridParent2" style="height:100%">
|
||||
<component :ref="gridName2" :is="loadGrid2 ? 'Grid' : null" :gridName="gridName2"
|
||||
:parentPrgmId="myPrgmId" @getRowsData="getRowData2" :dataPath="dataPathExample2" />
|
||||
:parentPrgmId="myPrgmId" @getRowsData="getRowData2" />
|
||||
</div>
|
||||
</v-col>
|
||||
</v-row>
|
||||
@ -223,7 +223,7 @@ export default {
|
||||
formatterSelectList01: [],
|
||||
formatterSelectList02: [],
|
||||
|
||||
loadGrid: true,
|
||||
loadGrid: false,
|
||||
dataPathExample: {
|
||||
"rowGrid": {
|
||||
data: [
|
||||
@ -279,59 +279,7 @@ export default {
|
||||
|
||||
}
|
||||
},
|
||||
dataPathExample2: {
|
||||
"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,
|
||||
loadGrid2: false,
|
||||
detailList: myDetail,
|
||||
|
||||
readOnlyValueList: [
|
||||
@ -1001,6 +949,10 @@ export default {
|
||||
columnOptions: {
|
||||
resizable: true,
|
||||
},
|
||||
header: {
|
||||
height: 37,
|
||||
},
|
||||
rowHeight: 'auto',
|
||||
};
|
||||
|
||||
this.setGridOption({
|
||||
@ -1066,6 +1018,10 @@ export default {
|
||||
columnOptions: {
|
||||
resizable: true,
|
||||
},
|
||||
header: {
|
||||
height: 37,
|
||||
},
|
||||
rowHeight: 'auto',
|
||||
};
|
||||
|
||||
this.setGridOption({
|
||||
|
@ -37,11 +37,11 @@
|
||||
:btnActionsFnc="btnActions" />
|
||||
</div>
|
||||
<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"
|
||||
:parentPrgmId="myPrgmId" @getRowsData="getRowData" :dataPath="dataPathExample" />
|
||||
</div>
|
||||
<div class="d-flex py-4">
|
||||
<div class="d-flex py-4" >
|
||||
<component :is="'Form'" :parentPrgmId="myPrgmId" :detailList="detailList"
|
||||
@gridEditingFinish="gridEditingFinish" />
|
||||
</div>
|
||||
@ -112,7 +112,7 @@ export default {
|
||||
myPrgmId: myPrgmId,
|
||||
initedFlag: false,
|
||||
gridName: 'rowGrid',
|
||||
loadGrid: true,
|
||||
loadGrid: false,
|
||||
detailList: myDetail,
|
||||
selectValue01: null,
|
||||
selectValueList01: [],
|
||||
@ -125,102 +125,102 @@ export default {
|
||||
// pysclQtyId3 : null,
|
||||
// pysclQtyId4 : null
|
||||
// }
|
||||
dataPathExample: {
|
||||
"rowGrid": {
|
||||
data: [
|
||||
// dataPathExample: {
|
||||
// "rowGrid": {
|
||||
// data: [
|
||||
|
||||
{
|
||||
gdIdxId: 'GD001',
|
||||
gdIdxNm: '온도 가이드',
|
||||
eqpmGrpId: 'EQ001',
|
||||
upTotMeth: 'AVG',
|
||||
careStndVal: 50,
|
||||
warnStndVal: 70,
|
||||
alrmMsg: '온도가 기준치를 초과했습니다.',
|
||||
},
|
||||
{
|
||||
gdIdxId: 'GD002',
|
||||
gdIdxNm: '습도 가이드',
|
||||
eqpmGrpId: 'EQ002',
|
||||
upTotMeth: 'MAX',
|
||||
careStndVal: 30,
|
||||
warnStndVal: 60,
|
||||
alrmMsg: '습도가 기준치를 초과했습니다.',
|
||||
},
|
||||
{
|
||||
gdIdxId: 'GD003',
|
||||
gdIdxNm: '압력 가이드',
|
||||
eqpmGrpId: 'EQ003',
|
||||
upTotMeth: 'SUM',
|
||||
careStndVal: 100,
|
||||
warnStndVal: 150,
|
||||
alrmMsg: '압력이 기준치를 초과했습니다.',
|
||||
}
|
||||
// {
|
||||
// gdIdxId: 'GD001',
|
||||
// gdIdxNm: '온도 가이드',
|
||||
// eqpmGrpId: 'EQ001',
|
||||
// upTotMeth: 'AVG',
|
||||
// careStndVal: 50,
|
||||
// warnStndVal: 70,
|
||||
// alrmMsg: '온도가 기준치를 초과했습니다.',
|
||||
// },
|
||||
// {
|
||||
// gdIdxId: 'GD002',
|
||||
// gdIdxNm: '습도 가이드',
|
||||
// eqpmGrpId: 'EQ002',
|
||||
// upTotMeth: 'MAX',
|
||||
// careStndVal: 30,
|
||||
// warnStndVal: 60,
|
||||
// alrmMsg: '습도가 기준치를 초과했습니다.',
|
||||
// },
|
||||
// {
|
||||
// gdIdxId: 'GD003',
|
||||
// gdIdxNm: '압력 가이드',
|
||||
// eqpmGrpId: 'EQ003',
|
||||
// upTotMeth: 'SUM',
|
||||
// careStndVal: 100,
|
||||
// warnStndVal: 150,
|
||||
// alrmMsg: '압력이 기준치를 초과했습니다.',
|
||||
// }
|
||||
|
||||
],
|
||||
column: [
|
||||
{
|
||||
header: '가이드',
|
||||
name: 'gdIdxId',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
header: '가이드명',
|
||||
name: 'gdIdxNm',
|
||||
width: 210,
|
||||
align: 'left',
|
||||
},
|
||||
{
|
||||
header: '설비그룹ID',
|
||||
name: 'eqpmGrpId',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
// formatter({ value }) {
|
||||
// let retVal = '';
|
||||
// const newValue = _this.pageData.eqpmGrpList.filter(item => item.value == value);
|
||||
// if (newValue.length > 0) {
|
||||
// retVal = newValue[0].text;
|
||||
// }
|
||||
// return retVal;
|
||||
// },
|
||||
},
|
||||
{
|
||||
header: '상위집계방법',
|
||||
name: 'upTotMeth',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
// formatter({ value }) {
|
||||
// let retVal = '';
|
||||
// const newValue = _this.pageData.upTotMethList.filter(item => item.commCd == value);
|
||||
// if (newValue.length > 0) {
|
||||
// retVal = newValue[0].commCdNm;
|
||||
// }
|
||||
// return retVal;
|
||||
// },
|
||||
},
|
||||
{
|
||||
header: '주의기준',
|
||||
name: 'careStndVal',
|
||||
width: 100,
|
||||
align: 'right',
|
||||
},
|
||||
{
|
||||
header: '경고기준',
|
||||
name: 'warnStndVal',
|
||||
width: 100,
|
||||
align: 'right',
|
||||
},
|
||||
{
|
||||
header: '알람메세지',
|
||||
name: 'alrmMsg',
|
||||
minWidth: 860,
|
||||
align: 'left',
|
||||
}
|
||||
]
|
||||
// ],
|
||||
// column: [
|
||||
// {
|
||||
// header: '가이드',
|
||||
// name: 'gdIdxId',
|
||||
// width: 100,
|
||||
// align: 'center',
|
||||
// },
|
||||
// {
|
||||
// header: '가이드명',
|
||||
// name: 'gdIdxNm',
|
||||
// width: 210,
|
||||
// align: 'left',
|
||||
// },
|
||||
// {
|
||||
// header: '설비그룹ID',
|
||||
// name: 'eqpmGrpId',
|
||||
// width: 100,
|
||||
// align: 'center',
|
||||
// // formatter({ value }) {
|
||||
// // let retVal = '';
|
||||
// // const newValue = _this.pageData.eqpmGrpList.filter(item => item.value == value);
|
||||
// // if (newValue.length > 0) {
|
||||
// // retVal = newValue[0].text;
|
||||
// // }
|
||||
// // return retVal;
|
||||
// // },
|
||||
// },
|
||||
// {
|
||||
// header: '상위집계방법',
|
||||
// name: 'upTotMeth',
|
||||
// width: 100,
|
||||
// align: 'center',
|
||||
// // formatter({ value }) {
|
||||
// // let retVal = '';
|
||||
// // const newValue = _this.pageData.upTotMethList.filter(item => item.commCd == value);
|
||||
// // if (newValue.length > 0) {
|
||||
// // retVal = newValue[0].commCdNm;
|
||||
// // }
|
||||
// // return retVal;
|
||||
// // },
|
||||
// },
|
||||
// {
|
||||
// header: '주의기준',
|
||||
// name: 'careStndVal',
|
||||
// width: 100,
|
||||
// align: 'right',
|
||||
// },
|
||||
// {
|
||||
// header: '경고기준',
|
||||
// name: 'warnStndVal',
|
||||
// width: 100,
|
||||
// align: 'right',
|
||||
// },
|
||||
// {
|
||||
// header: '알람메세지',
|
||||
// name: 'alrmMsg',
|
||||
// minWidth: 860,
|
||||
// align: 'left',
|
||||
// }
|
||||
// ]
|
||||
|
||||
}
|
||||
}
|
||||
// }
|
||||
// }
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -352,60 +352,46 @@ export default {
|
||||
});
|
||||
},
|
||||
async getEqpmKind() {
|
||||
// let res = await this.postApiReturn({
|
||||
// apiKey: 'selectEqpmKindCodeList',
|
||||
// resKey: 'eqpmKindCodeLists',
|
||||
// sendParam: {},
|
||||
// });
|
||||
// if (res.length > 0) {
|
||||
// this.selectValueList01 = await res.map(item => {
|
||||
// return {
|
||||
// text: item.eqpmKindNm,
|
||||
// value: item.eqpmKindId,
|
||||
// };
|
||||
// });
|
||||
// this.selectValue01 = this.selectValueList01[0].value;
|
||||
// } else {
|
||||
// this.selectValueList01 = [];
|
||||
// this.selectValue01 = null;
|
||||
// }
|
||||
|
||||
this.selectValueList01 = [
|
||||
{ label: 'Etcher', value: 'EQK001' },
|
||||
{ label: 'Deposition', value: 'EQK002' },
|
||||
{ label: 'Inspection', value: 'EQK003' },
|
||||
];
|
||||
|
||||
this.selectValue01 = 'EQK001';
|
||||
let res = await this.postApiReturn({
|
||||
apiKey: 'selectEqpmKindCodeList',
|
||||
resKey: 'eqpmKindCodeLists',
|
||||
sendParam: {},
|
||||
});
|
||||
if (res.length > 0) {
|
||||
this.selectValueList01 = await res.map(item => {
|
||||
return {
|
||||
text: item.eqpmKindNm,
|
||||
value: item.eqpmKindId,
|
||||
};
|
||||
});
|
||||
this.selectValue01 = this.selectValueList01[0].value;
|
||||
} else {
|
||||
this.selectValueList01 = [];
|
||||
this.selectValue01 = null;
|
||||
}
|
||||
this.setPageData({
|
||||
eqpmKindList: this.selectValueList01,
|
||||
eqpmKindId: this.selectValue01,
|
||||
});
|
||||
},
|
||||
async getEqpmGrp() {
|
||||
// let res = await this.postApiReturn({
|
||||
// apiKey: 'selectEqpmGrpCodeList',
|
||||
// resKey: 'eqpmGrpCodeLists',
|
||||
// sendParam: { eqpmKindId: this.selectValue01 },
|
||||
// });
|
||||
// if (res.length > 0) {
|
||||
// this.selectValueList02 = await res.map(item => {
|
||||
// return {
|
||||
// text: item.eqpmGrpNm,
|
||||
// value: item.eqpmGrpId,
|
||||
// };
|
||||
// });
|
||||
// this.selectValue02 = this.selectValueList02[0].value;
|
||||
// } else {
|
||||
// this.selectValueList02 = [];
|
||||
// this.selectValue02 = null;
|
||||
// }
|
||||
this.selectValueList02 = [
|
||||
{ label: '냉동기고온', value: '냉동기고온' },
|
||||
{ label: '냉동기저온', value: '냉동기저온' },
|
||||
{ label: '공조기', value: '공조기' },
|
||||
{ label: '보일러', value: '보일러' }
|
||||
];
|
||||
let res = await this.postApiReturn({
|
||||
apiKey: 'selectEqpmGrpCodeList',
|
||||
resKey: 'eqpmGrpCodeLists',
|
||||
sendParam: { eqpmKindId: this.selectValue01 },
|
||||
});
|
||||
if (res.length > 0) {
|
||||
this.selectValueList02 = await res.map(item => {
|
||||
return {
|
||||
text: item.eqpmGrpNm,
|
||||
value: item.eqpmGrpId,
|
||||
};
|
||||
});
|
||||
this.selectValue02 = this.selectValueList02[0].value;
|
||||
} else {
|
||||
this.selectValueList02 = [];
|
||||
this.selectValue02 = null;
|
||||
}
|
||||
|
||||
this.setPageData({
|
||||
eqpmGrpList: this.selectValueList02,
|
||||
@ -419,6 +405,10 @@ export default {
|
||||
columnOptions: {
|
||||
resizable: true,
|
||||
},
|
||||
header: {
|
||||
height: 37,
|
||||
},
|
||||
rowHeight: 'auto',
|
||||
};
|
||||
this.setGridOption({
|
||||
gridKey: this.gridName,
|
||||
@ -636,100 +626,100 @@ export default {
|
||||
async getRowGridData() {
|
||||
this.loadGrid = false;
|
||||
let res = [];
|
||||
const newRes = [
|
||||
{
|
||||
comId: 'COM001',
|
||||
gdIdxId: 'GD001',
|
||||
gdIdxNm: '온도 가이드',
|
||||
eqpmGrpId: 'EQ001',
|
||||
upTotMeth: 'AVG',
|
||||
sortSeq: 1,
|
||||
pysclQtyId1: 'TEMP',
|
||||
pysclQtyId2: null,
|
||||
pysclQtyId3: null,
|
||||
pysclQtyId4: null,
|
||||
ctgr1: '환경',
|
||||
ctgr2: '내부',
|
||||
careStndVal: 50,
|
||||
warnStndVal: 70,
|
||||
gdMeth: '자동',
|
||||
useFg: '1',
|
||||
alrmMsg: '온도가 기준치를 초과했습니다.',
|
||||
calcProc: 'PROC001',
|
||||
calcDesc: '평균 계산',
|
||||
calcMeth: '(A+B)/2',
|
||||
unit: 'C',
|
||||
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,
|
||||
// const newRes = [
|
||||
// {
|
||||
// comId: 'COM001',
|
||||
// gdIdxId: 'GD001',
|
||||
// gdIdxNm: '온도 가이드',
|
||||
// eqpmGrpId: 'EQ001',
|
||||
// upTotMeth: 'AVG',
|
||||
// sortSeq: 1,
|
||||
// pysclQtyId1: 'TEMP',
|
||||
// pysclQtyId2: null,
|
||||
// pysclQtyId3: null,
|
||||
// pysclQtyId4: null,
|
||||
// ctgr1: '환경',
|
||||
// ctgr2: '내부',
|
||||
// careStndVal: 50,
|
||||
// warnStndVal: 70,
|
||||
// gdMeth: '자동',
|
||||
// useFg: '1',
|
||||
// alrmMsg: '온도가 기준치를 초과했습니다.',
|
||||
// calcProc: 'PROC001',
|
||||
// calcDesc: '평균 계산',
|
||||
// calcMeth: '(A+B)/2',
|
||||
// unit: 'C',
|
||||
// argCnt: 2,
|
||||
// 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({
|
||||
gridKey: this.gridName,
|
||||
value: newRes,
|
||||
});
|
||||
//this.loadGrid = true;
|
||||
// this.$nextTick(() => {
|
||||
// if (newRes.length > 0) {
|
||||
// try {
|
||||
// this.$refs[this.gridName].focus({
|
||||
// //rowKey: 0,
|
||||
// rowKey:
|
||||
// this.pageData.rowGridSelectKey == '' ||
|
||||
// this.pageData.rowGridSelectKey == null
|
||||
// ? 0
|
||||
// : this.pageData.rowGridSelectKey ==
|
||||
// this.$refs[this.gridName].getData().length - 1
|
||||
// ? this.pageData.rowGridSelectKey
|
||||
// : 0,
|
||||
// columnName: 'gdIdxId',
|
||||
// setScroll: true,
|
||||
// });
|
||||
// } catch (error) { }
|
||||
// } else {
|
||||
// this.detailDataInit();
|
||||
// }
|
||||
// });
|
||||
this.$nextTick(() => {
|
||||
if (newRes.length > 0) {
|
||||
try {
|
||||
this.$refs[this.gridName].focus({
|
||||
//rowKey: 0,
|
||||
rowKey:
|
||||
this.pageData.rowGridSelectKey == '' ||
|
||||
this.pageData.rowGridSelectKey == null
|
||||
? 0
|
||||
: this.pageData.rowGridSelectKey ==
|
||||
this.$refs[this.gridName].getData().length - 1
|
||||
? this.pageData.rowGridSelectKey
|
||||
: 0,
|
||||
columnName: 'gdIdxId',
|
||||
setScroll: true,
|
||||
});
|
||||
} catch (error) { }
|
||||
} else {
|
||||
this.detailDataInit();
|
||||
}
|
||||
});
|
||||
this.loadGrid = true;
|
||||
},
|
||||
async getRowData(data) {
|
||||
|
@ -29,7 +29,7 @@
|
||||
</v-card>
|
||||
</v-col>
|
||||
</v-row>
|
||||
<v-row ref="contents" class="mt-4">
|
||||
<v-row ref="contents" class="mt-3">
|
||||
<v-col :cols="12" style="height: 100%">
|
||||
<!-- <v-card class="py-5"> -->
|
||||
<v-card style="height: 60%">
|
||||
@ -115,8 +115,8 @@
|
||||
|
||||
</v-card>
|
||||
|
||||
<v-row style="height: 40%" class="mt-4">
|
||||
<v-col :cols="6" style="height: 100%">
|
||||
<v-row style="height: 40%" class="mt-3">
|
||||
<v-col :cols="6" style="height: 100%" class="pr-2">
|
||||
<v-card class="pb-5">
|
||||
<div class="d-flex align-center justify-space-between pa-4">
|
||||
<v-card-title class="pa-0 custom-title-4 ">설비상세 리스트</v-card-title>
|
||||
@ -126,12 +126,12 @@
|
||||
<div ref="gridParent" class="w100 h100">
|
||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
||||
:parentPrgmId="myPrgmId" @getRowsData="getRowData"
|
||||
:dataPath="dataPathExample" />
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</v-card>
|
||||
</v-col>
|
||||
<v-col :cols="6" style="height: 100%">
|
||||
<v-col :cols="6" style="height: 100%" class="pl-2">
|
||||
<v-card class="pb-5">
|
||||
<div class="d-flex align-center justify-space-between pa-4">
|
||||
<v-card-title class="pa-0 custom-title-4">설비가이드 기준 정보</v-card-title>
|
||||
@ -201,7 +201,7 @@ export default {
|
||||
readonlyFg: true,
|
||||
initedFlag: false,
|
||||
gridName: 'rowGrid',
|
||||
loadGrid: true,
|
||||
loadGrid: false,
|
||||
detailList: myDetail,
|
||||
selectValue01: null,
|
||||
selectValueList01: [],
|
||||
@ -209,62 +209,62 @@ export default {
|
||||
selectValueList02: [],
|
||||
selectValue03: null,
|
||||
selectValueList03: [],
|
||||
dataPathExample: {
|
||||
"rowGrid": {
|
||||
data: [
|
||||
// dataPathExample: {
|
||||
// "rowGrid": {
|
||||
// data: [
|
||||
|
||||
{
|
||||
eqpmId: 'EQ001',
|
||||
originEqpmId: 'ORIG001',
|
||||
eqpmNm: '냉각기 A',
|
||||
careStndVal: 75,
|
||||
warnStndVal: 90,
|
||||
},
|
||||
{
|
||||
eqpmId: 'EQ002',
|
||||
originEqpmId: 'ORIG002',
|
||||
eqpmNm: '펌프 B',
|
||||
careStndVal: 60,
|
||||
warnStndVal: 80,
|
||||
},
|
||||
{
|
||||
eqpmId: 'EQ003',
|
||||
originEqpmId: 'ORIG003',
|
||||
eqpmNm: '모터 C',
|
||||
careStndVal: 50,
|
||||
warnStndVal: 70,
|
||||
},
|
||||
{
|
||||
eqpmId: 'EQ004',
|
||||
originEqpmId: 'ORIG004',
|
||||
eqpmNm: '밸브 D',
|
||||
careStndVal: 65,
|
||||
warnStndVal: 85,
|
||||
},
|
||||
{
|
||||
eqpmId: 'EQ005',
|
||||
originEqpmId: 'ORIG005',
|
||||
eqpmNm: '컨트롤러 E',
|
||||
careStndVal: 55,
|
||||
warnStndVal: 75,
|
||||
},
|
||||
// {
|
||||
// eqpmId: 'EQ001',
|
||||
// originEqpmId: 'ORIG001',
|
||||
// eqpmNm: '냉각기 A',
|
||||
// careStndVal: 75,
|
||||
// warnStndVal: 90,
|
||||
// },
|
||||
// {
|
||||
// eqpmId: 'EQ002',
|
||||
// originEqpmId: 'ORIG002',
|
||||
// eqpmNm: '펌프 B',
|
||||
// careStndVal: 60,
|
||||
// warnStndVal: 80,
|
||||
// },
|
||||
// {
|
||||
// eqpmId: 'EQ003',
|
||||
// originEqpmId: 'ORIG003',
|
||||
// eqpmNm: '모터 C',
|
||||
// careStndVal: 50,
|
||||
// warnStndVal: 70,
|
||||
// },
|
||||
// {
|
||||
// eqpmId: 'EQ004',
|
||||
// originEqpmId: 'ORIG004',
|
||||
// eqpmNm: '밸브 D',
|
||||
// careStndVal: 65,
|
||||
// warnStndVal: 85,
|
||||
// },
|
||||
// {
|
||||
// eqpmId: 'EQ005',
|
||||
// originEqpmId: 'ORIG005',
|
||||
// eqpmNm: '컨트롤러 E',
|
||||
// careStndVal: 55,
|
||||
// warnStndVal: 75,
|
||||
// },
|
||||
|
||||
],
|
||||
column: [
|
||||
{ header: '설비', name: 'eqpmId', align: 'left' },
|
||||
{
|
||||
header: 'origin설비',
|
||||
name: 'originEqpmId',
|
||||
align: 'center',
|
||||
hidden: true,
|
||||
},
|
||||
{ header: '설비명', name: 'eqpmNm', align: 'left' },
|
||||
{ header: '주의기준', name: 'careStndVal', align: 'right' },
|
||||
{ header: '심각기준', name: 'warnStndVal', align: 'right' },
|
||||
]
|
||||
// ],
|
||||
// column: [
|
||||
// { header: '설비', name: 'eqpmId', align: 'left' },
|
||||
// {
|
||||
// header: 'origin설비',
|
||||
// name: 'originEqpmId',
|
||||
// align: 'center',
|
||||
// hidden: true,
|
||||
// },
|
||||
// { header: '설비명', name: 'eqpmNm', align: 'left' },
|
||||
// { header: '주의기준', name: 'careStndVal', align: 'right' },
|
||||
// { header: '심각기준', name: 'warnStndVal', align: 'right' },
|
||||
// ]
|
||||
|
||||
}
|
||||
}
|
||||
// }
|
||||
// }
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -408,6 +408,10 @@ export default {
|
||||
columnOptions: {
|
||||
resizable: true,
|
||||
},
|
||||
header: {
|
||||
height: 37,
|
||||
},
|
||||
rowHeight: 'auto',
|
||||
};
|
||||
this.setGridOption({
|
||||
gridKey: this.gridName,
|
||||
@ -511,69 +515,69 @@ export default {
|
||||
this.loadGrid = false;
|
||||
let res = [];
|
||||
|
||||
// if (this.selectValue01 && this.selectValue02 && this.selectValue03) {
|
||||
// res = await this.postApiReturn({
|
||||
// apiKey: 'selectEqpmGdDetl',
|
||||
// resKey: 'eqpmGdDetlData',
|
||||
// sendParam: {
|
||||
// gdIdxId: this.selectValue03,
|
||||
// },
|
||||
// });
|
||||
// }
|
||||
if (this.selectValue01 && this.selectValue02 && this.selectValue03) {
|
||||
res = await this.postApiReturn({
|
||||
apiKey: 'selectEqpmGdDetl',
|
||||
resKey: 'eqpmGdDetlData',
|
||||
sendParam: {
|
||||
gdIdxId: this.selectValue03,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
// // grid에서 eqpmId를 기억해서 popup에서 중복되는 값을 제거하는데 사용하기위해 저장 - 시작
|
||||
// let eqpmIdList = res.map(item => {
|
||||
// return item.eqpmId;
|
||||
// });
|
||||
// this.setPageData({ nowGridEqpmIdList: eqpmIdList });
|
||||
// // grid에서 eqpmId를 기억해서 popup에서 중복되는 값을 제거하는데 사용하기위해 저장 - 끝
|
||||
// const newRes = res.map(item => {
|
||||
// const newObj = {
|
||||
// ...item,
|
||||
// rowStat: null,
|
||||
// };
|
||||
// return newObj;
|
||||
// });
|
||||
const newRes = [
|
||||
// grid에서 eqpmId를 기억해서 popup에서 중복되는 값을 제거하는데 사용하기위해 저장 - 시작
|
||||
let eqpmIdList = res.map(item => {
|
||||
return item.eqpmId;
|
||||
});
|
||||
this.setPageData({ nowGridEqpmIdList: eqpmIdList });
|
||||
// grid에서 eqpmId를 기억해서 popup에서 중복되는 값을 제거하는데 사용하기위해 저장 - 끝
|
||||
const newRes = res.map(item => {
|
||||
const newObj = {
|
||||
...item,
|
||||
rowStat: null,
|
||||
};
|
||||
return newObj;
|
||||
});
|
||||
// const newRes = [
|
||||
|
||||
|
||||
{
|
||||
eqpmId: 'EQ001',
|
||||
originEqpmId: 'ORIG001',
|
||||
eqpmNm: '냉각기 A',
|
||||
careStndVal: 75,
|
||||
warnStndVal: 90,
|
||||
},
|
||||
{
|
||||
eqpmId: 'EQ002',
|
||||
originEqpmId: 'ORIG002',
|
||||
eqpmNm: '펌프 B',
|
||||
careStndVal: 60,
|
||||
warnStndVal: 80,
|
||||
},
|
||||
{
|
||||
eqpmId: 'EQ003',
|
||||
originEqpmId: 'ORIG003',
|
||||
eqpmNm: '모터 C',
|
||||
careStndVal: 50,
|
||||
warnStndVal: 70,
|
||||
},
|
||||
{
|
||||
eqpmId: 'EQ004',
|
||||
originEqpmId: 'ORIG004',
|
||||
eqpmNm: '밸브 D',
|
||||
careStndVal: 65,
|
||||
warnStndVal: 85,
|
||||
},
|
||||
{
|
||||
eqpmId: 'EQ005',
|
||||
originEqpmId: 'ORIG005',
|
||||
eqpmNm: '컨트롤러 E',
|
||||
careStndVal: 55,
|
||||
warnStndVal: 75,
|
||||
},
|
||||
// {
|
||||
// eqpmId: 'EQ001',
|
||||
// originEqpmId: 'ORIG001',
|
||||
// eqpmNm: '냉각기 A',
|
||||
// careStndVal: 75,
|
||||
// warnStndVal: 90,
|
||||
// },
|
||||
// {
|
||||
// eqpmId: 'EQ002',
|
||||
// originEqpmId: 'ORIG002',
|
||||
// eqpmNm: '펌프 B',
|
||||
// careStndVal: 60,
|
||||
// warnStndVal: 80,
|
||||
// },
|
||||
// {
|
||||
// eqpmId: 'EQ003',
|
||||
// originEqpmId: 'ORIG003',
|
||||
// eqpmNm: '모터 C',
|
||||
// careStndVal: 50,
|
||||
// warnStndVal: 70,
|
||||
// },
|
||||
// {
|
||||
// eqpmId: 'EQ004',
|
||||
// originEqpmId: 'ORIG004',
|
||||
// eqpmNm: '밸브 D',
|
||||
// careStndVal: 65,
|
||||
// warnStndVal: 85,
|
||||
// },
|
||||
// {
|
||||
// eqpmId: 'EQ005',
|
||||
// originEqpmId: 'ORIG005',
|
||||
// eqpmNm: '컨트롤러 E',
|
||||
// careStndVal: 55,
|
||||
// warnStndVal: 75,
|
||||
// },
|
||||
|
||||
]
|
||||
// ]
|
||||
this.setGridData({
|
||||
gridKey: this.gridName,
|
||||
value: newRes,
|
||||
|
@ -28,7 +28,7 @@
|
||||
customClass="select-large"
|
||||
/>
|
||||
</v-col>
|
||||
<v-col :cols="3">
|
||||
<v-col :cols="3">
|
||||
<InputText
|
||||
:parentPrgmId="myPrgmId"
|
||||
label="검침대상명"
|
||||
@ -69,7 +69,6 @@
|
||||
@getRowsData="getRowData"
|
||||
@sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
||||
:selectedRowDataWatchFlag="true"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -81,7 +80,7 @@
|
||||
>검침대상 상세
|
||||
</v-card-title>
|
||||
<div class="px-5" style="height:calc(100% - 76px)">
|
||||
<v-tabs v-model="tab" >
|
||||
<v-tabs v-model="tab">
|
||||
<v-tab
|
||||
v-for="item in items"
|
||||
:key="item.id"
|
||||
@ -188,26 +187,8 @@ export default {
|
||||
return {
|
||||
myPrgmId: myPrgmId,
|
||||
gridName: 'rowGrid',
|
||||
loadGrid: true,
|
||||
loadGrid: false,
|
||||
tab: null,
|
||||
dataPathMock: {
|
||||
"rowGrid": {
|
||||
column: [
|
||||
{ header: '검침 대상 ID', name: 'readObjId', align: 'left' },
|
||||
{ header: '검침 대상 명', name: 'readObjNm', align: 'left' },
|
||||
{ header: '검침 대상 유형', name: 'readObjKind', align: 'left' },
|
||||
{ header: '그룹', name: 'grpCd', align: 'left' },
|
||||
{ header: 'TJ 환산계수', name: 'tjCvrtCoef', align: 'right' },
|
||||
{ header: 'TOE 환산계수', name: 'toeCvrtCoef', align: 'right' },
|
||||
{ header: 'CO2 환산계수', name: 'co2CvrtCoef', align: 'right' },
|
||||
{ header: '단위', name: 'unitCd', align: 'left' },
|
||||
{ header: '사용 여부', name: 'useFg', align: 'center' },
|
||||
],
|
||||
data: dataPathDataExample,
|
||||
defaultRow: dataPathDataExample,
|
||||
option: {}
|
||||
}
|
||||
},
|
||||
items: [
|
||||
{
|
||||
name: '검침 대상 정보',
|
||||
@ -724,8 +705,8 @@ const defaultData = {
|
||||
},
|
||||
buttonAuth: {
|
||||
add: true,
|
||||
save: true,
|
||||
remove: true,
|
||||
save: true,
|
||||
excel: false,
|
||||
},
|
||||
},
|
||||
@ -873,40 +854,7 @@ const myDetail = [
|
||||
required: true,
|
||||
},
|
||||
];
|
||||
const dataPathDataExample = [
|
||||
{
|
||||
readObjId: 'OBJ001',
|
||||
readObjNm: '서울 본사',
|
||||
readObjKind: 'TYPE01',
|
||||
grpCd: 'GRP01',
|
||||
tjCvrtCoef: 1.25,
|
||||
toeCvrtCoef: 0.85,
|
||||
co2CvrtCoef: 2.1,
|
||||
unitCd: 'kWh',
|
||||
useFg: '1',
|
||||
},
|
||||
{
|
||||
readObjId: 'OBJ002',
|
||||
readObjNm: '부산 지사',
|
||||
readObjKind: 'TYPE02',
|
||||
grpCd: 'GRP02',
|
||||
tjCvrtCoef: 1.10,
|
||||
toeCvrtCoef: 0.90,
|
||||
co2CvrtCoef: 1.8,
|
||||
unitCd: 'MJ',
|
||||
useFg: '0',
|
||||
},
|
||||
{
|
||||
readObjId: 'OBJ003',
|
||||
readObjNm: '대전 공장',
|
||||
readObjKind: 'TYPE03',
|
||||
grpCd: 'GRP01',
|
||||
tjCvrtCoef: 1.30,
|
||||
toeCvrtCoef: 0.95,
|
||||
co2CvrtCoef: 2.3,
|
||||
unitCd: 'GJ',
|
||||
useFg: '1',
|
||||
}
|
||||
];
|
||||
|
||||
</script>
|
||||
<style lang="scss">
|
||||
@import '@/assets/scss/common.scss';
|
||||
</style>
|
||||
|
@ -44,7 +44,7 @@
|
||||
<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" :dataPath="dataPathMock"
|
||||
@getRowsData="getRowData" @sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
||||
:selectedRowDataWatchFlag="true" />
|
||||
</div>
|
||||
</div>
|
||||
|
@ -266,8 +266,8 @@ export default {
|
||||
},
|
||||
created() { },
|
||||
async mounted() {
|
||||
console.log('----DEBUG---');
|
||||
await this.initTest();
|
||||
// console.log('----DEBUG---');
|
||||
// await this.initTest();
|
||||
// End Debug Test---
|
||||
await this.init();
|
||||
this.initedFlag = true;
|
||||
|
Reference in New Issue
Block a user