Update 16, 22
This commit is contained in:
@ -132,6 +132,15 @@
|
|||||||
background: map-deep-get($config, #{$theme}, "ant-btn-danger-bg") !important;
|
background: map-deep-get($config, #{$theme}, "ant-btn-danger-bg") !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.expand-btn {
|
||||||
|
.v-icon {
|
||||||
|
color: map-deep-get($config, #{$theme}, "basic-button-color");
|
||||||
|
svg {
|
||||||
|
fill: map-deep-get($config, #{$theme}, "basic-button-color");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -159,3 +168,12 @@
|
|||||||
background:none;
|
background:none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.ant-btn {
|
||||||
|
&.expand-btn {
|
||||||
|
.v-icon {
|
||||||
|
span {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -7,12 +7,15 @@
|
|||||||
{{ option.labelContent }}
|
{{ option.labelContent }}
|
||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="option.textCols">
|
<v-col :cols="option.textCols" class="py-0">
|
||||||
<v-text-field readonly v-model="selectValue" append-icon="mdi-magnify"
|
<v-text-field readonly append-icon="" class="v-input__custom" outlined :hide-details="true"
|
||||||
:class="['v-select__custom', customClass]"
|
v-model="searchWord" @keyup.enter="typeEnterKey" @click="dialogOpenCloseEvent(dialog)"
|
||||||
@click="dialogOpenCloseEvent(dialog)" outlined :hide-details="true"
|
:required="item.required || false"><template v-slot:append>
|
||||||
:required="item.required || false"></v-text-field>
|
<!-- Custom SVG icon -->
|
||||||
<!-- :disabled="item.disabled || false" -->
|
<v-icon>$icoSearch</v-icon>
|
||||||
|
|
||||||
|
|
||||||
|
</template></v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
<v-dialog v-model="dialog" scrollable width="1000px">
|
<v-dialog v-model="dialog" scrollable width="1000px">
|
||||||
@ -21,10 +24,10 @@
|
|||||||
<span class="custom-title-4">{{ option.modalTitle }}</span>
|
<span class="custom-title-4">{{ option.modalTitle }}</span>
|
||||||
<v-icon @click="dialogOpenCloseEvent(dialog)">mdi-close</v-icon>
|
<v-icon @click="dialogOpenCloseEvent(dialog)">mdi-close</v-icon>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<v-row align="end" class="pa-5" no-gutters>
|
<v-row align="end" class="px-5 pb-3" no-gutters>
|
||||||
<v-col :cols="2.5" class="mr-2">
|
<v-col :cols="2.5" class="mr-2">
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col :cols="2">
|
<v-col :cols="12" class="py-0">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
<!-- <v-icon small
|
<!-- <v-icon small
|
||||||
:class="['mr-1', item.required ? 'icon-orange' : 'icon-blue']"
|
:class="['mr-1', item.required ? 'icon-orange' : 'icon-blue']"
|
||||||
@ -32,28 +35,30 @@
|
|||||||
검색
|
검색
|
||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12">
|
<v-col :cols="11" class="py-0 pr-3">
|
||||||
<v-text-field append-icon="mdi-magnify" class="v-input__custom" outlined :hide-details="true"
|
<v-text-field append-icon="mdi-magnify" class="v-input__custom" outlined
|
||||||
v-model="searchWord" @keyup.enter="search"></v-text-field>
|
:hide-details="true" v-model="searchWord" @keyup.enter="search"></v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
<a-button icon="search" :ripple="false" type="primary" @click="search()"
|
||||||
|
class="search-button">조회</a-button>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-col>
|
</v-col>
|
||||||
<a-button type="primary" :ripple="false" @click="search()">
|
|
||||||
조회
|
|
||||||
</a-button>
|
|
||||||
</v-row>
|
</v-row>
|
||||||
<!-- <div :style="'height: calc(65vh)'"> -->
|
<!-- <div :style="'height: calc(65vh)'"> -->
|
||||||
<div :style="'height: 600px'">
|
<div :style="'height: 600px'" class="px-5">
|
||||||
<!-- <div :style="{ height: 'calc(100% - 213px)' }"> -->
|
<!-- <div :style="{ height: 'calc(100% - 213px)' }"> -->
|
||||||
<div ref="modalGridParent" class="h100 py-3">
|
<div ref="modalGridParent" class="h100 py-3">
|
||||||
<!-- :is="loadGrid && dialog ? 'Grid' : null" -->
|
<!-- :is="loadGrid && dialog ? 'Grid' : null" -->
|
||||||
<component :is="loadGrid && dialog ? 'Grid' : null" :gridName="grid_01"
|
<component :is="loadGrid && dialog ? 'Grid' : null" :gridName="grid_01"
|
||||||
:dataPath="searchParam.modalData2.evtObjPop" :parentPrgmId="parentPrgmId" @getRowsData="getRowData"
|
:dataPath="searchParam.modalData2.evtObjPop" :parentPrgmId="parentPrgmId"
|
||||||
@dblClick="setUpdate($event)" />
|
@getRowsData="getRowData" @dblClick="setUpdate($event)" />
|
||||||
</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">
|
||||||
<a-button type="default" class="mr-2" :ripple="false" @click="dialogOpenCloseEvent(dialog)">닫기</a-button>
|
<a-button type="default" class="mr-2" :ripple="false"
|
||||||
|
@click="dialogOpenCloseEvent(dialog)">닫기</a-button>
|
||||||
<a-button type="primary" class="mr-2" :ripple="false" @click="setUpdate('init')">초기화</a-button>
|
<a-button type="primary" class="mr-2" :ripple="false" @click="setUpdate('init')">초기화</a-button>
|
||||||
<a-button type="primary" :ripple="false" @click="setUpdate($event)">확인</a-button>
|
<a-button type="primary" :ripple="false" @click="setUpdate($event)">확인</a-button>
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
|
@ -37,12 +37,11 @@
|
|||||||
<v-row align="center">
|
<v-row align="center">
|
||||||
<v-col v-if="label" cols="12" class="py-0">
|
<v-col v-if="label" cols="12" class="py-0">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
<v-icon small
|
<v-icon small :class="['mr-1', 'icon-blue']">$icoBulletPoint</v-icon>
|
||||||
:class="['mr-1', 'icon-blue']">$icoBulletPoint</v-icon>
|
|
||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="label ? 6 : ''" class="py-0">
|
<v-col :cols="label ? 8 : ''" class="py-0">
|
||||||
<!-- :value="textfield" -->
|
<!-- :value="textfield" -->
|
||||||
<v-text-field append-icon="" class="v-input__custom" outlined :hide-details="true"
|
<v-text-field append-icon="" class="v-input__custom" outlined :hide-details="true"
|
||||||
v-model="searchWord" @keyup.enter="typeEnterKey"><template v-slot:append>
|
v-model="searchWord" @keyup.enter="typeEnterKey"><template v-slot:append>
|
||||||
@ -52,13 +51,10 @@
|
|||||||
|
|
||||||
</template></v-text-field>
|
</template></v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-spacer></v-spacer>
|
<!-- <v-spacer></v-spacer> -->
|
||||||
<v-col cols="3" class="text-right">
|
<v-col cols="2" class="text-right">
|
||||||
<v-btn :ripple="false" icon tile @click="btnTreeExpand()">
|
<a-button icon="search" type="primary" @click="search()" class="search-button">조회</a-button>
|
||||||
<!-- {{ treeExpand }} -->
|
|
||||||
<v-icon size="30"
|
|
||||||
v-text="treeExpandAll ? 'mdi-chevron-up' : 'mdi-chevron-down'"></v-icon>
|
|
||||||
</v-btn>
|
|
||||||
<!-- <v-btn color="primary" dark>펼치기</v-btn> -->
|
<!-- <v-btn color="primary" dark>펼치기</v-btn> -->
|
||||||
<!-- <v-btn color="primary" dark>접기</v-btn> -->
|
<!-- <v-btn color="primary" dark>접기</v-btn> -->
|
||||||
<!-- <v-btn :ripple="false">초기화</v-btn> -->
|
<!-- <v-btn :ripple="false">초기화</v-btn> -->
|
||||||
@ -66,6 +62,12 @@
|
|||||||
<v-btn v-if="!searchParam.isMulti" :ripple="false" @click="search()">검색</v-btn> -->
|
<v-btn v-if="!searchParam.isMulti" :ripple="false" @click="search()">검색</v-btn> -->
|
||||||
<!-- as-is 롤 봐도 초기화가 하는 기능을 모르겠음.. -->
|
<!-- as-is 롤 봐도 초기화가 하는 기능을 모르겠음.. -->
|
||||||
</v-col>
|
</v-col>
|
||||||
|
<v-col cols="2" class="text-right"><a-button class="expand-btn" :ripple="false" @click="btnTreeExpand()"
|
||||||
|
style="color: #000000E0;fill:#000000E0">
|
||||||
|
<!-- {{ treeExpand }} -->
|
||||||
|
<v-icon small>$icoExpandAlt</v-icon>
|
||||||
|
Expand All
|
||||||
|
</a-button></v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
|
||||||
<!-- <v-btn color="primary" dark @click="btnTreeExpand()">{{
|
<!-- <v-btn color="primary" dark @click="btnTreeExpand()">{{
|
||||||
@ -78,7 +80,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<v-card-text>
|
<v-card-text>
|
||||||
<div ref="treeGridParent" style="height: 500px">
|
<div ref="treeGridParent" style="height: 450px">
|
||||||
<component :ref="'treeGrid' + parentPrgmId" :is="loadGrid && dialog ? 'Grid' : null"
|
<component :ref="'treeGrid' + parentPrgmId" :is="loadGrid && dialog ? 'Grid' : null"
|
||||||
:gridName="gridNameTree" :dataPath="searchParam.modalData.selectReadObjListTree"
|
:gridName="gridNameTree" :dataPath="searchParam.modalData.selectReadObjListTree"
|
||||||
:parentPrgmId="parentPrgmId" :bindingData="bindingData" @getRowsData="getRowData"
|
:parentPrgmId="parentPrgmId" :bindingData="bindingData" @getRowsData="getRowData"
|
||||||
@ -89,10 +91,10 @@
|
|||||||
:tree-data="ftnPlcListTreeData"
|
:tree-data="ftnPlcListTreeData"
|
||||||
/> -->
|
/> -->
|
||||||
</v-card-text>
|
</v-card-text>
|
||||||
<v-divider></v-divider>
|
|
||||||
<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()" class="mr-2">확인</a-button>
|
<a-button :ripple="false" @click="dialog = false" class="mr-2">닫기</a-button>
|
||||||
<a-button :ripple="false" type="primary" @click="dialog = false" 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>
|
||||||
@ -155,7 +157,7 @@ export default {
|
|||||||
|
|
||||||
myModalKey: 'selectReadObjListTree',
|
myModalKey: 'selectReadObjListTree',
|
||||||
gridNameTree: 'treeGrid',
|
gridNameTree: 'treeGrid',
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
|
|
||||||
dialog: false,
|
dialog: false,
|
||||||
treeData: [], // 리턴받은 원본 트리 데이터
|
treeData: [], // 리턴받은 원본 트리 데이터
|
||||||
@ -278,7 +280,7 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '검침개소명',
|
header: '검침개소명',
|
||||||
name: 'readPlcNm',
|
name: 'readPlcNm',
|
||||||
width: 370,
|
width: 300,
|
||||||
align: 'left',
|
align: 'left',
|
||||||
},
|
},
|
||||||
{ header: '검침개소', name: 'name', align: 'center' },
|
{ header: '검침개소', name: 'name', align: 'center' },
|
||||||
@ -289,73 +291,31 @@ export default {
|
|||||||
async getTreeData() {
|
async getTreeData() {
|
||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
|
|
||||||
// const res = await this.postApiReturn({
|
const res = await this.postApiReturn({
|
||||||
// apiKey: 'selectReadPlcBaseInfo',
|
apiKey: 'selectReadPlcBaseInfo',
|
||||||
// resKey: 'readPlcBaseInfoData',
|
resKey: 'readPlcBaseInfoData',
|
||||||
// sendParam: {
|
sendParam: {
|
||||||
// blocId:
|
blocId:
|
||||||
// this.searchParam.blocMstrList.length > 0
|
this.searchParam.blocMstrList.length > 0
|
||||||
// ? this.searchParam.blocMstrList[this.searchParam.blocId].blocId
|
? this.searchParam.blocMstrList[this.searchParam.blocId].blocId
|
||||||
// : this.searchParam.blocId, //"BL0001",
|
: this.searchParam.blocId, //"BL0001",
|
||||||
// // readObjId: this.searchParam.readObj, // "MTT00001" // 전력 코드 고정
|
// readObjId: this.searchParam.readObj, // "MTT00001" // 전력 코드 고정
|
||||||
// readObjId: this.searchParam.searchReadObj, // "MTT00001" // 전력 코드 고정
|
readObjId: this.searchParam.searchReadObj, // "MTT00001" // 전력 코드 고정
|
||||||
|
|
||||||
// useFg: '1',
|
useFg: '1',
|
||||||
// readPlcNmLike: this.searchWord,
|
readPlcNmLike: this.searchWord,
|
||||||
// },
|
},
|
||||||
// });
|
});
|
||||||
|
|
||||||
const treeData = [
|
// console.log("treeData", res)
|
||||||
{
|
|
||||||
readPlcNm: '서울 본사',
|
|
||||||
name: '본사',
|
|
||||||
_children: [
|
|
||||||
{
|
|
||||||
readPlcNm: '서울 본사 - 1층',
|
|
||||||
name: '1층',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
readPlcNm: '서울 본사 - 2층',
|
|
||||||
name: '2층',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
readPlcNm: '부산 지사',
|
|
||||||
name: '지사',
|
|
||||||
_children: [
|
|
||||||
{
|
|
||||||
readPlcNm: '부산 지사 - A동',
|
|
||||||
name: 'A동',
|
|
||||||
_children: [
|
|
||||||
{
|
|
||||||
readPlcNm: '부산 지사 - A동 1층',
|
|
||||||
name: '1층',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
readPlcNm: '부산 지사 - A동 2층',
|
|
||||||
name: '2층',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
readPlcNm: '부산 지사 - B동',
|
|
||||||
name: 'B동',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
readPlcNm: '대전 창고',
|
|
||||||
name: '창고',
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
// // console.log("treeData", res)
|
|
||||||
let myOptionsTree = {
|
let myOptionsTree = {
|
||||||
treeColumnOptions: {
|
treeColumnOptions: {
|
||||||
name: 'readPlcNm',
|
name: 'readPlcNm',
|
||||||
},
|
},
|
||||||
|
header: {
|
||||||
|
height: 37,
|
||||||
|
},
|
||||||
|
rowHeight: 'auto',
|
||||||
};
|
};
|
||||||
if (this.searchParam.isMulti) {
|
if (this.searchParam.isMulti) {
|
||||||
myOptionsTree['rowHeaders'] = [{ type: 'checkbox' }];
|
myOptionsTree['rowHeaders'] = [{ type: 'checkbox' }];
|
||||||
@ -373,26 +333,26 @@ export default {
|
|||||||
|
|
||||||
// this.treeData = res;
|
// this.treeData = res;
|
||||||
// const ROOT = res[0].plcCd;
|
// const ROOT = res[0].plcCd;
|
||||||
// const setTreeData = await this.setTree({
|
const setTreeData = await this.setTree({
|
||||||
// gridKey: this.gridNameTree,
|
gridKey: this.gridNameTree,
|
||||||
// treeKey: 'READ_PLC_ID',
|
treeKey: 'READ_PLC_ID',
|
||||||
// value: res.map(item => ({
|
value: res.map(item => ({
|
||||||
// ...item,
|
...item,
|
||||||
// rowStat: null,
|
rowStat: null,
|
||||||
// readPlcId: item.readPlcId,
|
readPlcId: item.readPlcId,
|
||||||
// readPlcIdNm: item.readPlcId,
|
readPlcIdNm: item.readPlcId,
|
||||||
// upReadPlcId:
|
upReadPlcId:
|
||||||
// item.upReadPlcId == null || item.upReadPlcId == ''
|
item.upReadPlcId == null || item.upReadPlcId == ''
|
||||||
// ? ''
|
? ''
|
||||||
// : item.upReadPlcId,
|
: item.upReadPlcId,
|
||||||
// upReadPlcNm:
|
upReadPlcNm:
|
||||||
// item.upReadPlcNm == null || item.upReadPlcNm == ''
|
item.upReadPlcNm == null || item.upReadPlcNm == ''
|
||||||
// ? ''
|
? ''
|
||||||
// : item.upReadPlcNm,
|
: item.upReadPlcNm,
|
||||||
// blocId: item.blocId,
|
blocId: item.blocId,
|
||||||
// useFg: item.useFg === '1' ? true : false,
|
useFg: item.useFg === '1' ? true : false,
|
||||||
// })),
|
})),
|
||||||
// });
|
});
|
||||||
// this.treeData = setTreeData;
|
// this.treeData = setTreeData;
|
||||||
|
|
||||||
|
|
||||||
@ -400,7 +360,7 @@ export default {
|
|||||||
modalKey: this.myModalKey,
|
modalKey: this.myModalKey,
|
||||||
gridKey: this.gridNameTree,
|
gridKey: this.gridNameTree,
|
||||||
modalDataKey: this.modalDataKey,
|
modalDataKey: this.modalDataKey,
|
||||||
value: treeData,
|
value: setTreeData.ROOT || [],
|
||||||
});
|
});
|
||||||
this.loadGrid = true;
|
this.loadGrid = true;
|
||||||
|
|
||||||
@ -540,22 +500,4 @@ const selectReadObjListTree = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@each $theme in dark, light {
|
|
||||||
.v-application.#{$theme}-mode {
|
|
||||||
.v-dialog {
|
|
||||||
.v-card {
|
|
||||||
&__title {
|
|
||||||
|
|
||||||
@if $theme ==dark {
|
|
||||||
background-color: #2d3355;
|
|
||||||
|
|
||||||
.v-btn {
|
|
||||||
background-color: #2d3355;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -12,12 +12,10 @@
|
|||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="label ? textCols : ''">
|
<v-col :cols="label ? textCols : ''">
|
||||||
<v-select v-model="selectValue" :items="searchParam[parentPrgmId].blocMstrList" label="사업장을 선택하세요"
|
<v-select v-model="selectValue" :items="searchParam[parentPrgmId].blocMstrList"
|
||||||
item-text="blocNm" item-value="idx" append-icon="" class="v-select__custom" outlined
|
item-text="blocNm" item-value="idx" append-icon="" outlined
|
||||||
:hide-details="true" :class="['v-select__custom', customClass]">
|
:hide-details="true" :class="['v-select__custom', customClass]">
|
||||||
<template v-slot:append>
|
<template v-slot:append><v-icon>$icoChevronDown</v-icon></template>
|
||||||
<v-icon>$icoChevronDown</v-icon>
|
|
||||||
</template>
|
|
||||||
</v-select>
|
</v-select>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
6
components/icons/icoExpandAlt.vue
Normal file
6
components/icons/icoExpandAlt.vue
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<template>
|
||||||
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" class="v-icon" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path
|
||||||
|
d="M14.1248 1.71225L10.7462 2.13189C10.6283 2.14617 10.5801 2.28903 10.6623 2.37296L11.6391 3.34975L8.89799 6.09082C8.8714 6.11767 8.85649 6.15392 8.85649 6.19171C8.85649 6.2295 8.8714 6.26575 8.89799 6.2926L9.70335 7.09796C9.7587 7.15332 9.84977 7.15332 9.90513 7.09796L12.648 4.3551L13.6248 5.33189C13.6436 5.35072 13.6674 5.36387 13.6934 5.36981C13.7193 5.37576 13.7465 5.37427 13.7716 5.36551C13.7968 5.35675 13.819 5.34107 13.8356 5.32028C13.8523 5.29949 13.8628 5.27443 13.8658 5.24796L14.2837 1.87117C14.2867 1.84961 14.2846 1.82765 14.2776 1.80702C14.2707 1.78639 14.2591 1.76765 14.2437 1.75226C14.2283 1.73687 14.2096 1.72524 14.1889 1.7183C14.1683 1.71136 14.1463 1.70929 14.1248 1.71225ZM6.2962 8.89439C6.26935 8.8678 6.23309 8.85289 6.19531 8.85289C6.15752 8.85289 6.12127 8.8678 6.09442 8.89439L3.35334 11.6372L2.37656 10.6605C2.35771 10.6416 2.33394 10.6285 2.30797 10.6225C2.282 10.6166 2.25487 10.6181 2.22971 10.6268C2.20455 10.6356 2.18236 10.6513 2.16569 10.6721C2.14903 10.6929 2.13856 10.7179 2.13549 10.7444L1.71584 14.1212C1.70513 14.214 1.78192 14.2908 1.87477 14.2801L5.25335 13.8605C5.3712 13.8462 5.41942 13.7033 5.33727 13.6194L4.36049 12.6426L7.10334 9.89974C7.1587 9.84439 7.1587 9.75332 7.10334 9.69796L6.2962 8.89439Z" />
|
||||||
|
</svg>
|
||||||
|
</template>
|
@ -1,26 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div class="d-flex justify-space-between">
|
||||||
class="d-flex justify-space-between"
|
|
||||||
|
|
||||||
>
|
|
||||||
<v-card-title class="px-0 pt-0 custom-title-4">검침개소 추가 정보</v-card-title>
|
<v-card-title class="px-0 pt-0 custom-title-4">검침개소 추가 정보</v-card-title>
|
||||||
<Buttons
|
<Buttons :parentPrgmId="parentPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
||||||
:parentPrgmId="parentPrgmId"
|
|
||||||
:bindingData="gridName"
|
|
||||||
:btnActionsFnc="btnActions"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div ref="gridParent">
|
<div ref="gridParent" style="height: calc(100vh - 520px);">
|
||||||
<Grid
|
<Grid :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="parentPrgmId"
|
||||||
:ref="gridName"
|
:editorGrid="true" :innerTabGridInfo="innerTabGridInfo" @getRowsData="getRowData" />
|
||||||
:gridName="gridName"
|
|
||||||
:parentPrgmId="parentPrgmId"
|
|
||||||
:editorGrid="true"
|
|
||||||
:innerTabGridInfo="innerTabGridInfo"
|
|
||||||
@getRowsData="getRowData"
|
|
||||||
:dataPath="addInfoTabData"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -53,65 +39,65 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
gridName: 'rowDetailGrid',
|
gridName: 'rowDetailGrid',
|
||||||
rowKey: null,
|
rowKey: null,
|
||||||
edtingFinishFlag: 'Y',
|
edtingFinishFlag: 'Y',
|
||||||
addInfoTabData: {
|
// addInfoTabData: {
|
||||||
"rowDetailGrid": {
|
// "rowDetailGrid": {
|
||||||
data: [
|
// data: [
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{
|
// {
|
||||||
readPlcNm: '서울 본사',
|
// readPlcNm: '서울 본사',
|
||||||
plcKind: '전기',
|
// plcKind: '전기',
|
||||||
useFg: '1',
|
// useFg: '1',
|
||||||
},
|
// },
|
||||||
|
|
||||||
|
|
||||||
],
|
// ],
|
||||||
column: [
|
// column: [
|
||||||
// { header: '회사 ID', name: 'comId', hidden: true },
|
// // { header: '회사 ID', name: 'comId', hidden: true },
|
||||||
{
|
// {
|
||||||
header: '검침개소명',
|
// header: '검침개소명',
|
||||||
name: 'readPlcNm',
|
// name: 'readPlcNm',
|
||||||
align: 'left',
|
// align: 'left',
|
||||||
minWidth: 400,
|
// minWidth: 400,
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
header: '개소 종류',
|
// header: '개소 종류',
|
||||||
name: 'plcKind',
|
// name: 'plcKind',
|
||||||
minWidth: 100,
|
// minWidth: 100,
|
||||||
align: 'center',
|
// align: 'center',
|
||||||
// formatter({ value }) {
|
// // formatter({ value }) {
|
||||||
// let retVal = '';
|
// // let retVal = '';
|
||||||
// const newValue = _this.pageData.plcKindList.filter(
|
// // const newValue = _this.pageData.plcKindList.filter(
|
||||||
// item => item.commCd == value,
|
// // item => item.commCd == value,
|
||||||
// );
|
// // );
|
||||||
// if (newValue.length > 0) {
|
// // if (newValue.length > 0) {
|
||||||
// retVal = newValue[0].commCdNm;
|
// // retVal = newValue[0].commCdNm;
|
||||||
|
// // }
|
||||||
|
// // return retVal;
|
||||||
|
// // },
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// header: '사용 여부',
|
||||||
|
// name: 'useFg',
|
||||||
|
// minWidth: 100,
|
||||||
|
// align: 'center',
|
||||||
|
// // formatter({ value }) {
|
||||||
|
// // value = value === true ? '1' : '0';
|
||||||
|
// // const newValue = _this.pageData.useFgList.filter(
|
||||||
|
// // item => item.commCd == value,
|
||||||
|
// // );
|
||||||
|
// // return newValue[0].commCdNm;
|
||||||
|
// // },
|
||||||
|
// },
|
||||||
|
// ]
|
||||||
|
|
||||||
|
// }
|
||||||
// }
|
// }
|
||||||
// return retVal;
|
|
||||||
// },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '사용 여부',
|
|
||||||
name: 'useFg',
|
|
||||||
minWidth: 100,
|
|
||||||
align: 'center',
|
|
||||||
// formatter({ value }) {
|
|
||||||
// value = value === true ? '1' : '0';
|
|
||||||
// const newValue = _this.pageData.useFgList.filter(
|
|
||||||
// item => item.commCd == value,
|
|
||||||
// );
|
|
||||||
// return newValue[0].commCdNm;
|
|
||||||
// },
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -166,9 +152,9 @@ export default {
|
|||||||
bodyHeight: gridHeight,
|
bodyHeight: gridHeight,
|
||||||
minBodyHeight: gridHeight,
|
minBodyHeight: gridHeight,
|
||||||
header: {
|
header: {
|
||||||
height: 28,
|
height: 37,
|
||||||
},
|
},
|
||||||
rowHeight: 29,
|
rowHeight: 37,
|
||||||
minRowHeight: 29,
|
minRowHeight: 29,
|
||||||
selectionUnit: 'row',
|
selectionUnit: 'row',
|
||||||
editingEvent: 'click',
|
editingEvent: 'click',
|
||||||
@ -178,89 +164,90 @@ export default {
|
|||||||
value: myOptions,
|
value: myOptions,
|
||||||
});
|
});
|
||||||
|
|
||||||
// const _this = this;
|
const _this = this;
|
||||||
// let useFgSelectList = [];
|
let useFgSelectList = [];
|
||||||
// this.pageData.useFgList.forEach(item => {
|
this.pageData.useFgList.forEach(item => {
|
||||||
// const it = { text: item.commCdNm, value: item.commCd };
|
const it = { text: item.commCdNm, value: item.commCd };
|
||||||
// useFgSelectList.push(it);
|
useFgSelectList.push(it);
|
||||||
// });
|
});
|
||||||
// let addInfoList = [];
|
let addInfoList = [];
|
||||||
// this.pageData.addInfoList.forEach(item => {
|
this.pageData.addInfoList.forEach(item => {
|
||||||
// const it = { text: item.addInfoNm, value: item.addInfoId };
|
const it = { text: item.addInfoNm, value: item.addInfoId };
|
||||||
// addInfoList.push(it);
|
addInfoList.push(it);
|
||||||
// });
|
});
|
||||||
// let addInfoDataKindList = [];
|
let addInfoDataKindList = [];
|
||||||
// this.pageData.addInfoDataKindList.forEach(item => {
|
this.pageData.addInfoDataKindList.forEach(item => {
|
||||||
// const it = { text: item.commCdNm, value: item.commCd };
|
const it = { text: item.commCdNm, value: item.commCd };
|
||||||
// addInfoDataKindList.push(it);
|
addInfoDataKindList.push(it);
|
||||||
// });
|
});
|
||||||
|
|
||||||
// const myColumns = [
|
const myColumns = [
|
||||||
// { header: '회사 ID', name: 'comId', hidden: true },
|
{ header: '회사 ID', name: 'comId', hidden: true },
|
||||||
// { header: '검침개소 번호', name: 'readPlcId', hidden: true },
|
{ header: '검침개소 번호', name: 'readPlcId', hidden: true },
|
||||||
// {
|
{
|
||||||
// header: '추가 정보',
|
header: '추가 정보',
|
||||||
// name: 'addInfoId',
|
name: 'addInfoId',
|
||||||
// align: 'left',
|
align: 'left',
|
||||||
// formatter({ value }) {
|
formatter({ value }) {
|
||||||
// let retVal = '';
|
let retVal = '';
|
||||||
// const newValue = addInfoList.filter(item => item.value == value);
|
const newValue = addInfoList.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: 'Data 구분',
|
header: 'Data 구분',
|
||||||
// name: 'addInfoDataKind',
|
name: 'addInfoDataKind',
|
||||||
// align: 'center',
|
align: 'center',
|
||||||
// formatter({ value }) {
|
formatter({ value }) {
|
||||||
// let retVal = '';
|
let retVal = '';
|
||||||
// const newValue = addInfoDataKindList.filter(
|
const newValue = addInfoDataKindList.filter(
|
||||||
// item => item.value == value,
|
item => item.value == value,
|
||||||
// );
|
);
|
||||||
// if (newValue.length > 0) {
|
if (newValue.length > 0) {
|
||||||
// retVal = newValue[0].text;
|
retVal = newValue[0].text;
|
||||||
// }
|
}
|
||||||
// return retVal;
|
return retVal;
|
||||||
// },
|
},
|
||||||
// // editor: {
|
|
||||||
// // type: "select",
|
|
||||||
// // options: {
|
|
||||||
// // listItems: addInfoDataKindList
|
|
||||||
// // }
|
|
||||||
// // }
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// header: '숫자 값',
|
|
||||||
// name: 'addInfoNumVal',
|
|
||||||
// align: 'right',
|
|
||||||
// editor: 'text',
|
|
||||||
// hidden: true,
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// header: '문자 값',
|
|
||||||
// name: 'addInfoTxtVal',
|
|
||||||
// align: 'left',
|
|
||||||
// editor: 'text',
|
|
||||||
// hidden: true,
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// header: '추가 정보 값',
|
|
||||||
// name: 'addInfoVal',
|
|
||||||
// align: 'center',
|
|
||||||
// renderer: {
|
|
||||||
// type: NewCustomRenderer,
|
|
||||||
// },
|
|
||||||
// editor: {
|
// editor: {
|
||||||
// type: NewCustomEditor,
|
// type: "select",
|
||||||
// },
|
// options: {
|
||||||
// formatter(data) {
|
// listItems: addInfoDataKindList
|
||||||
// return data.row.addInfoDataKind;
|
// }
|
||||||
// },
|
// }
|
||||||
// },
|
},
|
||||||
//{ header: "추가 정보 값", name: "addInfoVal", align: "center" , editor: "text",
|
{
|
||||||
|
header: '숫자 값',
|
||||||
|
name: 'addInfoNumVal',
|
||||||
|
align: 'right',
|
||||||
|
editor: 'text',
|
||||||
|
hidden: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '문자 값',
|
||||||
|
name: 'addInfoTxtVal',
|
||||||
|
align: 'left',
|
||||||
|
editor: 'text',
|
||||||
|
hidden: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '추가 정보 값',
|
||||||
|
name: 'addInfoVal',
|
||||||
|
align: 'center',
|
||||||
|
renderer: {
|
||||||
|
type: NewCustomRenderer,
|
||||||
|
},
|
||||||
|
editor: {
|
||||||
|
type: NewCustomEditor,
|
||||||
|
},
|
||||||
|
formatter(data) {
|
||||||
|
return data.row.addInfoDataKind;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// header: "추가 정보 값", name: "addInfoVal", align: "center", editor: "text",
|
||||||
// formatter({ value, row, column }) {
|
// formatter({ value, row, column }) {
|
||||||
// console.log("addInfoVal row : ", row);
|
// console.log("addInfoVal row : ", row);
|
||||||
// console.log("addInfoVal state : ", column);
|
// console.log("addInfoVal state : ", column);
|
||||||
@ -290,16 +277,16 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},*/
|
},*/
|
||||||
// { header: '등록 사용자', name: 'regUserNo', hidden: true },
|
{ header: '등록 사용자', name: 'regUserNo', hidden: true },
|
||||||
// { header: '등록 일자', name: 'regDttm', hidden: true },
|
{ header: '등록 일자', name: 'regDttm', hidden: true },
|
||||||
// { header: '수정 사용자', name: 'procUserNo', hidden: true },
|
{ header: '수정 사용자', name: 'procUserNo', hidden: true },
|
||||||
// { header: '수정 일자', name: 'procDttm', hidden: true },
|
{ header: '수정 일자', name: 'procDttm', hidden: true },
|
||||||
// ];
|
];
|
||||||
|
|
||||||
// this.setGridColumn({
|
this.setGridColumn({
|
||||||
// gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
// value: myColumns,
|
value: myColumns,
|
||||||
// });
|
});
|
||||||
|
|
||||||
this.loadGrid = true;
|
this.loadGrid = true;
|
||||||
},
|
},
|
||||||
|
@ -8,9 +8,9 @@
|
|||||||
|
|
||||||
<div ref="gridParent" style="height: calc((100vh - 520px) /2);">
|
<div ref="gridParent" style="height: calc((100vh - 520px) /2);">
|
||||||
<Grid :ref="gridName" :gridName="gridName" :parentPrgmId="parentPrgmId" @getRowsData="getRowData"
|
<Grid :ref="gridName" :gridName="gridName" :parentPrgmId="parentPrgmId" @getRowsData="getRowData"
|
||||||
:innerTabGridInfo="innerTabGridInfo" :dataPath="imgInfoTabData" />
|
:innerTabGridInfo="innerTabGridInfo" />
|
||||||
</div>
|
</div>
|
||||||
<div ref="formParent">
|
<div ref="formParent" style="height: calc((100vh - 400px) /2);">
|
||||||
<component :is="'Form'" :parentPrgmId="parentPrgmId" :bindingData="gridName"
|
<component :is="'Form'" :parentPrgmId="parentPrgmId" :bindingData="gridName"
|
||||||
:detailList="detailReadPlcImgList" @gridEditingFinish="gridEditingFinish" />
|
:detailList="detailReadPlcImgList" @gridEditingFinish="gridEditingFinish" />
|
||||||
</div>
|
</div>
|
||||||
@ -44,26 +44,9 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
gridName: 'rowReadPlcImgGrid',
|
gridName: 'rowReadPlcImgGrid',
|
||||||
detailReadPlcImgList: myReadPlcImgDetail,
|
detailReadPlcImgList: myReadPlcImgDetail,
|
||||||
imgInfoTabData: {
|
|
||||||
"rowReadPlcImgGrid": {
|
|
||||||
data:
|
|
||||||
[
|
|
||||||
{ "objReadPlcId": "1001", "objReadPlcNm": "서울역", "distRt": 12 },
|
|
||||||
{ "objReadPlcId": "1002", "objReadPlcNm": "강남역", "distRt": 8 },
|
|
||||||
{ "objReadPlcId": "1003", "objReadPlcNm": "잠실역", "distRt": 15 },
|
|
||||||
]
|
|
||||||
,
|
|
||||||
column: [
|
|
||||||
{ header: '대상 검침개소 번호', name: 'objReadPlcId', align: 'center' },
|
|
||||||
{ header: '대상 검침개소명', name: 'objReadPlcNm', align: 'left' },
|
|
||||||
{ header: '분배율(1~100)', name: 'distRt', align: 'right' },
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -120,10 +103,11 @@ export default {
|
|||||||
header: {
|
header: {
|
||||||
height: 28,
|
height: 28,
|
||||||
},
|
},
|
||||||
rowHeight: 29,
|
// rowHeight: 29,
|
||||||
minRowHeight: 29,
|
// minRowHeight: 29,
|
||||||
selectionUnit: 'row',
|
selectionUnit: 'row',
|
||||||
editingEvent: 'click',
|
editingEvent: 'click',
|
||||||
|
rowHeight: 'auto',
|
||||||
};
|
};
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
|
@ -7,9 +7,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div ref="gridParent" style="height: calc((100vh - 520px) /2);">
|
<div ref="gridParent" style="height: calc((100vh - 520px) /2);">
|
||||||
<Grid :ref="gridName" :gridName="gridName" :parentPrgmId="parentPrgmId" @getRowsData="getRowData"
|
<Grid :ref="gridName" :gridName="gridName" :parentPrgmId="parentPrgmId" @getRowsData="getRowData"
|
||||||
:innerTabGridInfo="innerTabGridInfo" :dataPath="tagRelTabData" />
|
:innerTabGridInfo="innerTabGridInfo" />
|
||||||
</div>
|
</div>
|
||||||
<div ref="formParent" >
|
<div class="mt-3" ref="formParent" style="height: calc((100vh - 400px) /2);">
|
||||||
<component :is="'Form'" :parentPrgmId="parentPrgmId" :bindingData="gridName"
|
<component :is="'Form'" :parentPrgmId="parentPrgmId" :bindingData="gridName"
|
||||||
:detailList="detailReadPlcTagList" @gridEditingFinish="gridEditingFinish" />
|
:detailList="detailReadPlcTagList" @gridEditingFinish="gridEditingFinish" />
|
||||||
</div>
|
</div>
|
||||||
@ -46,78 +46,7 @@ export default {
|
|||||||
loadGrid: false,
|
loadGrid: false,
|
||||||
gridName: 'rowReadPlcTagRelGrid',
|
gridName: 'rowReadPlcTagRelGrid',
|
||||||
detailReadPlcTagList: myReadPlcTagDetail,
|
detailReadPlcTagList: myReadPlcTagDetail,
|
||||||
tagRelTabData: {
|
|
||||||
"rowReadPlcTagRelGrid": {
|
|
||||||
data:
|
|
||||||
[
|
|
||||||
|
|
||||||
{
|
|
||||||
"tagNm": "TAG_001",
|
|
||||||
"ercId": "전기",
|
|
||||||
"distRt": 10,
|
|
||||||
"reprTagFg": "1",
|
|
||||||
"useFg": "Y",
|
|
||||||
"rmrk": "기본 설정",
|
|
||||||
"tagId": "TAG_001"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tagNm": "TAG_002",
|
|
||||||
"ercId": "가스",
|
|
||||||
"distRt": 15,
|
|
||||||
"reprTagFg": "0",
|
|
||||||
"useFg": "Y",
|
|
||||||
"rmrk": "",
|
|
||||||
"tagId": "TAG_002"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tagNm": "TAG_003",
|
|
||||||
"ercId": "수도",
|
|
||||||
"distRt": 8,
|
|
||||||
"reprTagFg": "0",
|
|
||||||
"useFg": "N",
|
|
||||||
"rmrk": "테스트용",
|
|
||||||
"tagId": "TAG_003"
|
|
||||||
},
|
|
||||||
|
|
||||||
]
|
|
||||||
,
|
|
||||||
column: [
|
|
||||||
{ header: 'TAG 명', name: 'tagNm', align: 'left' },
|
|
||||||
{
|
|
||||||
header: '에너지원',
|
|
||||||
name: 'ercId',
|
|
||||||
align: 'center',
|
|
||||||
width: 100,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '분배율(1~100)',
|
|
||||||
name: 'distRt',
|
|
||||||
align: 'right',
|
|
||||||
width: 100,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '대표 TAG 여부',
|
|
||||||
name: 'reprTagFg',
|
|
||||||
align: 'center',
|
|
||||||
width: 100,
|
|
||||||
formatter({ value }) {
|
|
||||||
return value == '1' ? '예' : '아니오';
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '사용여부',
|
|
||||||
name: 'useFg',
|
|
||||||
align: 'center',
|
|
||||||
width: 100,
|
|
||||||
|
|
||||||
},
|
|
||||||
{ header: '비고', name: 'rmrk', align: 'left', width: 100 },
|
|
||||||
{ header: 'TAG ID', name: 'tagId', align: 'center', hidden: true },
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<v-row ref="searchFilter">
|
<common-page-title />
|
||||||
|
<v-row ref="searchFilter" class="mt-2">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row align="end" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<v-row ref="searchFilter">
|
<common-page-title />
|
||||||
|
<v-row ref="searchFilter" class="mt-2">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row align="end" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
@ -19,7 +20,7 @@
|
|||||||
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }" :addAll="true" :labelCols="12"
|
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }" :addAll="true" :labelCols="12"
|
||||||
:textCols="12" :customClass="'select-large'" :iconShow="true" />
|
:textCols="12" :customClass="'select-large'" :iconShow="true" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2.5" class="pr-4">
|
||||||
<InputText :parentPrgmId="myPrgmId" label="검침개소명" valueNm="readPlcNm" :labelCols="12"
|
<InputText :parentPrgmId="myPrgmId" label="검침개소명" valueNm="readPlcNm" :labelCols="12"
|
||||||
:textCols="12" :searchOption="true" :customClass="'input-large'" :iconShow="true" />
|
:textCols="12" :searchOption="true" :customClass="'input-large'" :iconShow="true" />
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -30,25 +31,25 @@
|
|||||||
</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="5" class="h100">
|
<v-col :cols="5" class="h100 pr-2">
|
||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<div class="d-flex align-center justify-space-between pa-4 pb-6">
|
<div class="d-flex align-center justify-space-between pa-4 pb-6">
|
||||||
<v-card-title class="pa-0 custom-title-4">검침개소 정보</v-card-title>
|
<v-card-title class="pa-0 custom-title-4">검침개소 정보</v-card-title>
|
||||||
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :detailList="detailList"
|
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :detailList="detailList"
|
||||||
:btnActionsFnc="btnActions" />
|
:btnActionsFnc="btnActions" />
|
||||||
</div>
|
</div>
|
||||||
<div class="px-4">
|
<div class="px-4" style="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"
|
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
||||||
:parentPrgmId="myPrgmId" @getRowsData="getRowData"
|
:parentPrgmId="myPrgmId" @getRowsData="getRowData"
|
||||||
@sendSelectedRowStatInfo="getSelectedRowStatInfo" :selectedRowDataWatchFlag="true"
|
@sendSelectedRowStatInfo="getSelectedRowStatInfo" :selectedRowDataWatchFlag="true"
|
||||||
:dataPath="dataPathExample" />
|
/>
|
||||||
</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">
|
<v-card class="pb-5">
|
||||||
<v-card-title class="custom-title-4 pb-1 pa-4">검침개소 상세
|
<v-card-title class="custom-title-4 pb-1 pa-4">검침개소 상세
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
@ -134,7 +135,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
myPrgmId: myPrgmId,
|
myPrgmId: myPrgmId,
|
||||||
gridName: 'rowGrid',
|
gridName: 'rowGrid',
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
tab: null,
|
tab: null,
|
||||||
isImgTabDisabled: false,
|
isImgTabDisabled: false,
|
||||||
items: [
|
items: [
|
||||||
@ -157,47 +158,6 @@ export default {
|
|||||||
],
|
],
|
||||||
detailList: myDetail,
|
detailList: myDetail,
|
||||||
defaultUseFg: 1,
|
defaultUseFg: 1,
|
||||||
dataPathExample: {
|
|
||||||
"rowGrid": {
|
|
||||||
data: sampleData,
|
|
||||||
column: [
|
|
||||||
{
|
|
||||||
header: '',
|
|
||||||
name: '',
|
|
||||||
align: 'center',
|
|
||||||
width: 50,
|
|
||||||
formatter: (props) => {
|
|
||||||
return `<label class="custom-radio">
|
|
||||||
<span class="radio-mark"></span>
|
|
||||||
</label>`;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '검침개소명',
|
|
||||||
name: 'readPlcNm',
|
|
||||||
align: 'left',
|
|
||||||
minWidth: 400,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '개소 종류',
|
|
||||||
name: 'plcKind',
|
|
||||||
minWidth: 100,
|
|
||||||
align: 'center',
|
|
||||||
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '사용 여부',
|
|
||||||
name: 'useFg',
|
|
||||||
minWidth: 100,
|
|
||||||
align: 'center',
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
],
|
|
||||||
option: myOptions,
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// loadTree: false
|
// loadTree: false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -312,18 +272,18 @@ export default {
|
|||||||
},
|
},
|
||||||
async initData() {
|
async initData() {
|
||||||
let ercList = [];
|
let ercList = [];
|
||||||
// const res = await this.postApiReturn({
|
const res = await this.postApiReturn({
|
||||||
// apiKey: 'selectErcInfo',
|
apiKey: 'selectErcInfo',
|
||||||
// resKey: 'ercInfoData',
|
resKey: 'ercInfoData',
|
||||||
// sendParam: {
|
sendParam: {
|
||||||
// blocId: this.userInfo.blocId,
|
blocId: this.userInfo.blocId,
|
||||||
// },
|
},
|
||||||
// });
|
});
|
||||||
// res.forEach(item => {
|
res.forEach(item => {
|
||||||
// const it = { text: item.ercNm, value: item.ercId };
|
const it = { text: item.ercNm, value: item.ercId };
|
||||||
// ercList.push(it);
|
ercList.push(it);
|
||||||
// });
|
});
|
||||||
// this.setPageData({ ercNmList: ercList });
|
this.setPageData({ ercNmList: ercList });
|
||||||
},
|
},
|
||||||
gridInit() {
|
gridInit() {
|
||||||
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
||||||
@ -334,10 +294,12 @@ export default {
|
|||||||
resizable: true,
|
resizable: true,
|
||||||
},
|
},
|
||||||
treeColumnOptions: {
|
treeColumnOptions: {
|
||||||
name: 'eccNm', // Showing tree table
|
name: 'readPlcNm',
|
||||||
useIcon: false, // Not using icon
|
|
||||||
indentWidth: 10,
|
|
||||||
},
|
},
|
||||||
|
header: {
|
||||||
|
height: 37,
|
||||||
|
},
|
||||||
|
rowHeight: 37,
|
||||||
};
|
};
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
@ -531,7 +493,7 @@ export default {
|
|||||||
if (this.tab == 2) {
|
if (this.tab == 2) {
|
||||||
this.tab = 0;
|
this.tab = 0;
|
||||||
}
|
}
|
||||||
this.isImgTabDisabled = true;
|
this.isImgTabDisabled = false;
|
||||||
} else {
|
} else {
|
||||||
this.isImgTabDisabled = false;
|
this.isImgTabDisabled = false;
|
||||||
}
|
}
|
||||||
@ -999,18 +961,6 @@ const sampleData = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const myOptions = {
|
|
||||||
columnOptions: {
|
|
||||||
resizable: true,
|
|
||||||
},
|
|
||||||
treeColumnOptions: {
|
|
||||||
name: 'readPlcNm', // Showing tree table
|
|
||||||
useIcon: false, // Not using icon
|
|
||||||
indentWidth: 10,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
const myDetail = [
|
const myDetail = [
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="mainDiv" class="l-layout">
|
<div ref="mainDiv" class="l-layout">
|
||||||
<v-row ref="searchFilter">
|
<common-page-title />
|
||||||
|
<v-row ref="searchFilter" class="mt-2">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row align="end" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="mainDiv" class="l-layout">
|
<div ref="mainDiv" class="l-layout">
|
||||||
<v-row ref="searchFilter">
|
<common-page-title />
|
||||||
|
<v-row ref="searchFilter" class="mt-2">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row align="end" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
@ -41,7 +42,7 @@
|
|||||||
<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 mt-4" >
|
||||||
<component :is="'Form'" :parentPrgmId="myPrgmId" :detailList="detailList"
|
<component :is="'Form'" :parentPrgmId="myPrgmId" :detailList="detailList"
|
||||||
@gridEditingFinish="gridEditingFinish" />
|
@gridEditingFinish="gridEditingFinish" />
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="mainDiv" class="l-layout">
|
<div ref="mainDiv" class="l-layout">
|
||||||
<v-row ref="searchFilter">
|
<common-page-title />
|
||||||
|
<v-row ref="searchFilter" class="mt-2">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row align="end" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
|
@ -10,6 +10,7 @@ import icoBulletPoint from '~/components/icons/icoBulletPoint';
|
|||||||
import icoChevronDown from '~/components/icons/icoChevronDown';
|
import icoChevronDown from '~/components/icons/icoChevronDown';
|
||||||
import icoSearch from '~/components/icons/icoSearch';
|
import icoSearch from '~/components/icons/icoSearch';
|
||||||
import icoSend from '~/components/icons/icoSend';
|
import icoSend from '~/components/icons/icoSend';
|
||||||
|
import icoExpandAlt from '~/components/icons/icoExpandAlt';
|
||||||
import '@mdi/font/css/materialdesignicons.css'; // Ensure you are using css-loader
|
import '@mdi/font/css/materialdesignicons.css'; // Ensure you are using css-loader
|
||||||
import 'material-design-icons-iconfont/dist/material-design-icons.css';
|
import 'material-design-icons-iconfont/dist/material-design-icons.css';
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
@ -73,6 +74,9 @@ export default new Vuetify({
|
|||||||
icoSend: {
|
icoSend: {
|
||||||
component: icoSend,
|
component: icoSend,
|
||||||
},
|
},
|
||||||
|
icoExpandAlt: {
|
||||||
|
component: icoExpandAlt,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user