init dev-push code ui base design
This commit is contained in:
@ -1,71 +1,38 @@
|
||||
<template>
|
||||
<div>
|
||||
<div
|
||||
class="d-flex justify-space-between align-center"
|
||||
style="height: 80px;"
|
||||
>
|
||||
<span class="txt">Data Set TAG 연결 정보</span>
|
||||
<Buttons
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
:detailList="detailDataSetTagList"
|
||||
:btnActionsFnc="btnActions"
|
||||
/>
|
||||
</div>
|
||||
<div ref="gridParent" style="height: calc((100vh - 520px) /2);">
|
||||
<Grid
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:gridName="gridName"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
@getRowsData="getRowData"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
/>
|
||||
</div>
|
||||
<div ref="formParent" style="height: calc((100vh - 520px) /2);">
|
||||
<component
|
||||
:is="'Form'"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
:detailList="detailDataSetTagList"
|
||||
@gridEditingFinish="gridEditingFinish"
|
||||
/>
|
||||
</div>
|
||||
<div ref="formParent" style="height: 100px);" class="w100 h100">
|
||||
<v-row ref="contents" class="w100">
|
||||
<v-card class="searchFilter w100">
|
||||
<v-row align="center" no-gutters>
|
||||
<v-col :cols="7">
|
||||
<component
|
||||
:is="'Datepicker'"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:label="'검색기간'"
|
||||
:labelCols="2"
|
||||
/>
|
||||
</v-col>
|
||||
<v-col :cols="3">
|
||||
<component
|
||||
:is="'selectCodeList'"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:label="'주기'"
|
||||
dataKey="mdlDataTerm"
|
||||
:sendParam="{ commGrpCd: 'MDL_DATA_TERM', useFg: '1' }"
|
||||
:addAll="false"
|
||||
/>
|
||||
</v-col>
|
||||
<v-col :cols="2" class="text-right">
|
||||
<v-btn
|
||||
@click="jamoviProcClickEvent('view1')"
|
||||
:ripple="false"
|
||||
class="mr-1"
|
||||
>데이터 분석</v-btn
|
||||
>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-card>
|
||||
</v-row>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="d-flex justify-space-between align-center" style="min-height: 80px;">
|
||||
<span class="txt custom-title-4-new">Data Set TAG 연결 정보</span>
|
||||
<Buttons :parentPrgmId="parentPrgmId" :bindingData="gridName" :detailList="detailDataSetTagList"
|
||||
:btnActionsFnc="btnActions" />
|
||||
</div>
|
||||
<div ref="gridParent">
|
||||
<Grid :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="parentPrgmId"
|
||||
@getRowsData="getRowData" :innerTabGridInfo="innerTabGridInfo" :dataPath="dataPathMock" />
|
||||
</div>
|
||||
<div ref="formParent" class="mt-4">
|
||||
<component :is="'Form'" :parentPrgmId="parentPrgmId" :bindingData="gridName" :detailList="detailDataSetTagList"
|
||||
@gridEditingFinish="gridEditingFinish" />
|
||||
</div>
|
||||
|
||||
<div ref="formParent" style="min-height: 100px;" class="w100 h100">
|
||||
<v-row ref="contents" class="w100">
|
||||
<v-col :cols="6">
|
||||
<component :is="'Datepicker'" :parentPrgmId="parentPrgmId" :label="'검색기간'" :labelCols="12" :textCols="12" />
|
||||
</v-col>
|
||||
<v-col :cols="4">
|
||||
<component :is="'selectCodeList'" :parentPrgmId="parentPrgmId" :label="'주기'" dataKey="mdlDataTerm"
|
||||
:sendParam="{ commGrpCd: 'MDL_DATA_TERM', useFg: '1' }" :addAll="false" :labelCols="12" :textCols="12" :iconShow="true" />
|
||||
</v-col>
|
||||
<v-col class="text-right align-self-end">
|
||||
<a-button @click="jamoviProcClickEvent('view1')" type="primary" :ripple="false" class="mr-1">데이터 분석</a-button>
|
||||
</v-col>
|
||||
<!-- <v-card class="searchFilter w100">
|
||||
<v-row align="center" no-gutters>
|
||||
</v-row>
|
||||
</v-card> -->
|
||||
</v-row>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { mapState, mapMutations, mapActions } from 'vuex';
|
||||
@ -79,315 +46,357 @@ import Utility from '~/plugins/utility';
|
||||
import Datepicker from '~/components/common/DatepickerTopView';
|
||||
import selectCodeList from '@/components/common/select/selectCodeList';
|
||||
export default {
|
||||
mixins: [mixinGlobal],
|
||||
components: {
|
||||
Buttons,
|
||||
Grid,
|
||||
Form,
|
||||
Datepicker,
|
||||
selectCodeList,
|
||||
},
|
||||
props: {
|
||||
parentPrgmId: {
|
||||
type: String,
|
||||
require: true,
|
||||
},
|
||||
innerTabGridInfo: {
|
||||
type: Object,
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: false,
|
||||
gridName: 'rowDataSetTagRelGrid',
|
||||
detailDataSetTagList: myDataSetTagDetail,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState({
|
||||
pageData(state) {
|
||||
return state.pageData[this.parentPrgmId];
|
||||
},
|
||||
}),
|
||||
selectedCommCd() {
|
||||
return this.pageData[this.gridName].data;
|
||||
},
|
||||
myUseFgList() {
|
||||
return this.pageData.useFgList;
|
||||
},
|
||||
selectedComId() {
|
||||
return this.pageData.rowGridSelectData.comId;
|
||||
},
|
||||
selectedDataSetId() {
|
||||
return this.pageData.rowGridSelectData.dataSetId;
|
||||
},
|
||||
},
|
||||
mixins: [mixinGlobal],
|
||||
components: {
|
||||
Buttons,
|
||||
Grid,
|
||||
Form,
|
||||
Datepicker,
|
||||
selectCodeList,
|
||||
},
|
||||
props: {
|
||||
parentPrgmId: {
|
||||
type: String,
|
||||
require: true,
|
||||
},
|
||||
innerTabGridInfo: {
|
||||
type: Object,
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: true,
|
||||
gridName: 'rowDataSetTagRelGrid',
|
||||
detailDataSetTagList: myDataSetTagDetail,
|
||||
dataPathMock: {
|
||||
"rowDataSetTagRelGrid": {
|
||||
column: [
|
||||
{ header: 'TAG ID', name: 'id', headerAlign: 'left' },
|
||||
{ header: 'TAG 명', name: 'name', headerAlign: 'left' },
|
||||
{ header: '모델 Data 구분', name: 'type', headerAlign: 'left' }
|
||||
],
|
||||
data: dataPathDataExample,
|
||||
defaultRow: dataPathDataExample,
|
||||
option: {}
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState({
|
||||
pageData(state) {
|
||||
return state.pageData[this.parentPrgmId];
|
||||
},
|
||||
}),
|
||||
selectedCommCd() {
|
||||
return this.pageData[this.gridName].data;
|
||||
},
|
||||
myUseFgList() {
|
||||
return this.pageData.useFgList;
|
||||
},
|
||||
selectedComId() {
|
||||
return this.pageData.rowGridSelectData.comId;
|
||||
},
|
||||
selectedDataSetId() {
|
||||
return this.pageData.rowGridSelectData.dataSetId;
|
||||
},
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.init();
|
||||
},
|
||||
methods: {
|
||||
...mapMutations({
|
||||
setPageData: 'setPageData',
|
||||
setGridData: 'setGridData',
|
||||
setGridColumn: 'setGridColumn',
|
||||
setGridOption: 'setGridOption',
|
||||
}),
|
||||
...mapActions({
|
||||
postApi: 'modules/list/postApi',
|
||||
postUpdateApi: 'modules/list/postUpdateApi',
|
||||
postApiReturn: 'modules/list/postApiReturn',
|
||||
setTree: 'modules/list/setTree',
|
||||
chkOpenTabList: 'chkOpenTabList',
|
||||
getCodeList: 'modules/search/getCodeList',
|
||||
}),
|
||||
init() {
|
||||
this.gridInit();
|
||||
},
|
||||
gridInit() {
|
||||
const gridHeight = this.$refs['gridParent'].offsetHeight - 36;
|
||||
mounted() {
|
||||
this.init();
|
||||
},
|
||||
methods: {
|
||||
...mapMutations({
|
||||
setPageData: 'setPageData',
|
||||
setGridData: 'setGridData',
|
||||
setGridColumn: 'setGridColumn',
|
||||
setGridOption: 'setGridOption',
|
||||
}),
|
||||
...mapActions({
|
||||
postApi: 'modules/list/postApi',
|
||||
postUpdateApi: 'modules/list/postUpdateApi',
|
||||
postApiReturn: 'modules/list/postApiReturn',
|
||||
setTree: 'modules/list/setTree',
|
||||
chkOpenTabList: 'chkOpenTabList',
|
||||
getCodeList: 'modules/search/getCodeList',
|
||||
}),
|
||||
init() {
|
||||
this.gridInit();
|
||||
},
|
||||
gridInit() {
|
||||
const gridHeight = this.$refs['gridParent'].offsetHeight - 36;
|
||||
|
||||
const myOptions = {
|
||||
// bodyHeight: gridHeight,
|
||||
// minBodyHeight: gridHeight,
|
||||
header: {
|
||||
height: 28,
|
||||
},
|
||||
rowHeight: 29,
|
||||
minRowHeight: 29,
|
||||
selectionUnit: 'row',
|
||||
editingEvent: 'click',
|
||||
// columnOptions: {
|
||||
// resizable: true,
|
||||
// minWidth: 100
|
||||
// }
|
||||
};
|
||||
this.setGridOption({
|
||||
gridKey: this.gridName,
|
||||
// value: myOptions
|
||||
value: Object.assign(Utility.defaultGridOption(gridHeight), myOptions),
|
||||
});
|
||||
const myOptions = {
|
||||
// bodyHeight: gridHeight,
|
||||
// minBodyHeight: gridHeight,
|
||||
header: {
|
||||
height: 28,
|
||||
},
|
||||
rowHeight: 29,
|
||||
minRowHeight: 29,
|
||||
selectionUnit: 'row',
|
||||
editingEvent: 'click',
|
||||
// columnOptions: {
|
||||
// resizable: true,
|
||||
// minWidth: 100
|
||||
// }
|
||||
};
|
||||
this.setGridOption({
|
||||
gridKey: this.gridName,
|
||||
// value: myOptions
|
||||
value: Object.assign(Utility.defaultGridOption(gridHeight), myOptions),
|
||||
});
|
||||
|
||||
const _this = this;
|
||||
let useFgSelectList = [];
|
||||
this.pageData.useFgList.forEach(item => {
|
||||
const it = { text: item.commCdNm, value: item.commCd };
|
||||
useFgSelectList.push(it);
|
||||
});
|
||||
const myColumns = [
|
||||
{ header: '회사 ID', name: 'comId', hidden: true },
|
||||
{ header: 'DataSet ID', name: 'dataSetId', hidden: true },
|
||||
{ header: 'DataSet 명', name: 'dataSetNm', hidden: true },
|
||||
{ header: 'TAG ID', name: 'tagId', align: 'left', width: 440 },
|
||||
{ header: 'TAG 명', name: 'tagNm', align: 'left', width: 320 },
|
||||
{
|
||||
header: '모델 Data 구분',
|
||||
name: 'mdlDataTypeCd',
|
||||
align: 'center',
|
||||
width: 120,
|
||||
formatter({ value }) {
|
||||
var retVal = '';
|
||||
const _this = this;
|
||||
let useFgSelectList = [];
|
||||
this.pageData.useFgList.forEach(item => {
|
||||
const it = { text: item.commCdNm, value: item.commCd };
|
||||
useFgSelectList.push(it);
|
||||
});
|
||||
const myColumns = [
|
||||
{ header: '회사 ID', name: 'comId', hidden: true },
|
||||
{ header: 'DataSet ID', name: 'dataSetId', hidden: true },
|
||||
{ header: 'DataSet 명', name: 'dataSetNm', hidden: true },
|
||||
{ header: 'TAG ID', name: 'tagId', align: 'left', width: 440 },
|
||||
{ header: 'TAG 명', name: 'tagNm', align: 'left', width: 320 },
|
||||
{
|
||||
header: '모델 Data 구분',
|
||||
name: 'mdlDataTypeCd',
|
||||
align: 'center',
|
||||
width: 120,
|
||||
formatter({ value }) {
|
||||
var retVal = '';
|
||||
|
||||
for (var i = 0; i < _this.pageData.mdlDataTypeCdList.length; i++) {
|
||||
if (_this.pageData.mdlDataTypeCdList[i].commCd === value) {
|
||||
retVal = _this.pageData.mdlDataTypeCdList[i].commCdNm;
|
||||
}
|
||||
}
|
||||
for (var i = 0; i < _this.pageData.mdlDataTypeCdList.length; i++) {
|
||||
if (_this.pageData.mdlDataTypeCdList[i].commCd === value) {
|
||||
retVal = _this.pageData.mdlDataTypeCdList[i].commCdNm;
|
||||
}
|
||||
}
|
||||
|
||||
return retVal;
|
||||
},
|
||||
},
|
||||
{
|
||||
header: '사용여부',
|
||||
name: 'useFg',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
formatter({ value }) {
|
||||
value = value === true ? '1' : '0';
|
||||
const newValue = _this.pageData.useFgList.filter(
|
||||
item => item.commCd == value,
|
||||
);
|
||||
return newValue[0].commCdNm;
|
||||
},
|
||||
// editor: {
|
||||
// type: "select",
|
||||
// options: {
|
||||
// listItems: useFgSelectList
|
||||
// }
|
||||
// }
|
||||
},
|
||||
{ header: '비고', name: 'rmrk', align: 'center' },
|
||||
];
|
||||
return retVal;
|
||||
},
|
||||
},
|
||||
{
|
||||
header: '사용여부',
|
||||
name: 'useFg',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
formatter({ value }) {
|
||||
value = value === true ? '1' : '0';
|
||||
const newValue = _this.pageData.useFgList.filter(
|
||||
item => item.commCd == value,
|
||||
);
|
||||
return newValue[0].commCdNm;
|
||||
},
|
||||
// editor: {
|
||||
// type: "select",
|
||||
// options: {
|
||||
// listItems: useFgSelectList
|
||||
// }
|
||||
// }
|
||||
},
|
||||
{ header: '비고', name: 'rmrk', align: 'center' },
|
||||
];
|
||||
|
||||
this.setGridColumn({
|
||||
gridKey: this.gridName,
|
||||
value: myColumns,
|
||||
});
|
||||
this.setGridColumn({
|
||||
gridKey: this.gridName,
|
||||
value: myColumns,
|
||||
});
|
||||
|
||||
this.loadGrid = true;
|
||||
},
|
||||
async getRowData(data, gridName) {
|
||||
// if (data.rowStat === 'I') {
|
||||
// this.detailDataSetTagList[0].disabled = false;
|
||||
// this.detailDataSetTagList[1].disabled = false;
|
||||
// } else {
|
||||
// this.detailDataSetTagList[0].disabled = true;
|
||||
// this.detailDataSetTagList[1].disabled = true;
|
||||
// }
|
||||
this.setGridSelectData({
|
||||
gridKey: gridName,
|
||||
gridSelect: true,
|
||||
rowGridSelectKey: data.rowKey,
|
||||
rowGridSelectData: Object.assign({}, data),
|
||||
});
|
||||
},
|
||||
async btnActions(action) {
|
||||
let dataArr = [];
|
||||
switch (action) {
|
||||
case 'add':
|
||||
console.log('add this.pageData : '); // , this.pageData);
|
||||
const defaultRow = {
|
||||
dataSetId: this.pageData.dataSetId,
|
||||
dataSetNm: this.pageData.dataSetNm,
|
||||
mdlDataTypeCd: 'SUM',
|
||||
tagId: '',
|
||||
tagNm: '',
|
||||
rmrk: null,
|
||||
useFg: true,
|
||||
};
|
||||
this.$refs[this.gridName].addRow(defaultRow);
|
||||
this.detailDataSetTagList[0].disabled = false;
|
||||
this.detailDataSetTagList[1].disabled = false;
|
||||
break;
|
||||
this.loadGrid = true;
|
||||
},
|
||||
async getRowData(data, gridName) {
|
||||
// if (data.rowStat === 'I') {
|
||||
// this.detailDataSetTagList[0].disabled = false;
|
||||
// this.detailDataSetTagList[1].disabled = false;
|
||||
// } else {
|
||||
// this.detailDataSetTagList[0].disabled = true;
|
||||
// this.detailDataSetTagList[1].disabled = true;
|
||||
// }
|
||||
this.setGridSelectData({
|
||||
gridKey: gridName,
|
||||
gridSelect: true,
|
||||
rowGridSelectKey: data.rowKey,
|
||||
rowGridSelectData: Object.assign({}, data),
|
||||
});
|
||||
},
|
||||
async btnActions(action) {
|
||||
let dataArr = [];
|
||||
switch (action) {
|
||||
case 'add':
|
||||
console.log('add this.pageData : '); // , this.pageData);
|
||||
const defaultRow = {
|
||||
dataSetId: this.pageData.dataSetId,
|
||||
dataSetNm: this.pageData.dataSetNm,
|
||||
mdlDataTypeCd: 'SUM',
|
||||
tagId: '',
|
||||
tagNm: '',
|
||||
rmrk: null,
|
||||
useFg: true,
|
||||
};
|
||||
this.$refs[this.gridName].addRow(defaultRow);
|
||||
this.detailDataSetTagList[0].disabled = false;
|
||||
this.detailDataSetTagList[1].disabled = false;
|
||||
break;
|
||||
|
||||
case 'remove':
|
||||
this.$refs[this.gridName].removeRow();
|
||||
this.detailDataSetTagList[0].disabled = true;
|
||||
this.detailDataSetTagList[1].disabled = true;
|
||||
break;
|
||||
case 'remove':
|
||||
this.$refs[this.gridName].removeRow();
|
||||
this.detailDataSetTagList[0].disabled = true;
|
||||
this.detailDataSetTagList[1].disabled = true;
|
||||
break;
|
||||
|
||||
case 'save':
|
||||
dataArr = this.$refs[this.gridName].save();
|
||||
// this.loadGrid = false;
|
||||
const newDataArr = dataArr.map(item => {
|
||||
const newData = {
|
||||
...item,
|
||||
comId: this.selectedComId,
|
||||
dataSetId: this.selectedDataSetId,
|
||||
};
|
||||
newData.reprTagFg = newData.reprTagFg == true ? '1' : '0';
|
||||
newData.useFg = newData.useFg == true ? '1' : '0';
|
||||
return newData;
|
||||
});
|
||||
if (dataArr.length > 0) {
|
||||
var validCheck = true;
|
||||
dataArr.filter(item => {
|
||||
if (item.rowStat === 'I') {
|
||||
if (item.tagId == '' || item.distRt == '' || item.ercId == '') {
|
||||
alert('필수 입력값을 입력해주세요.');
|
||||
validCheck = false;
|
||||
}
|
||||
} else if (item.rowStat === 'U') {
|
||||
if (item.distRt == '' || item.ercId == '') {
|
||||
alert('필수 입력값을 입력해주세요.');
|
||||
validCheck = false;
|
||||
}
|
||||
}
|
||||
});
|
||||
case 'save':
|
||||
dataArr = this.$refs[this.gridName].save();
|
||||
// this.loadGrid = false;
|
||||
const newDataArr = dataArr.map(item => {
|
||||
const newData = {
|
||||
...item,
|
||||
comId: this.selectedComId,
|
||||
dataSetId: this.selectedDataSetId,
|
||||
};
|
||||
newData.reprTagFg = newData.reprTagFg == true ? '1' : '0';
|
||||
newData.useFg = newData.useFg == true ? '1' : '0';
|
||||
return newData;
|
||||
});
|
||||
if (dataArr.length > 0) {
|
||||
var validCheck = true;
|
||||
dataArr.filter(item => {
|
||||
if (item.rowStat === 'I') {
|
||||
if (item.tagId == '' || item.distRt == '' || item.ercId == '') {
|
||||
alert('필수 입력값을 입력해주세요.');
|
||||
validCheck = false;
|
||||
}
|
||||
} else if (item.rowStat === 'U') {
|
||||
if (item.distRt == '' || item.ercId == '') {
|
||||
alert('필수 입력값을 입력해주세요.');
|
||||
validCheck = false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (validCheck) {
|
||||
const sendParam = {
|
||||
datas: {
|
||||
dsMdlDataSetTagRel: newDataArr,
|
||||
},
|
||||
params: {},
|
||||
};
|
||||
await this.postUpdateApi({
|
||||
apiKey: 'saveMdlDataSetTagRel',
|
||||
sendParam: sendParam,
|
||||
});
|
||||
// this.loadGrid = true;
|
||||
this.setPageData({ isFind: true });
|
||||
}
|
||||
} else {
|
||||
alert('저장할 내용이 없습니다.');
|
||||
}
|
||||
break;
|
||||
if (validCheck) {
|
||||
const sendParam = {
|
||||
datas: {
|
||||
dsMdlDataSetTagRel: newDataArr,
|
||||
},
|
||||
params: {},
|
||||
};
|
||||
await this.postUpdateApi({
|
||||
apiKey: 'saveMdlDataSetTagRel',
|
||||
sendParam: sendParam,
|
||||
});
|
||||
// this.loadGrid = true;
|
||||
this.setPageData({ isFind: true });
|
||||
}
|
||||
} else {
|
||||
alert('저장할 내용이 없습니다.');
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
},
|
||||
gridEditingFinish(data, bindingData) {
|
||||
this.$refs[this.gridName].editingFinish(data);
|
||||
},
|
||||
emits: ['jamoviClickEvent'],
|
||||
search() {},
|
||||
jamoviProcClickEvent() {
|
||||
let data = {
|
||||
comId: this.selectedComId,
|
||||
dataSetId: this.selectedDataSetId,
|
||||
};
|
||||
console.log('data : ', data);
|
||||
this.$emit('jamoviClickEvent', 'view1', data);
|
||||
},
|
||||
},
|
||||
default:
|
||||
break;
|
||||
}
|
||||
},
|
||||
gridEditingFinish(data, bindingData) {
|
||||
this.$refs[this.gridName].editingFinish(data);
|
||||
},
|
||||
emits: ['jamoviClickEvent'],
|
||||
search() { },
|
||||
jamoviProcClickEvent() {
|
||||
let data = {
|
||||
comId: this.selectedComId,
|
||||
dataSetId: this.selectedDataSetId,
|
||||
};
|
||||
console.log('data : ', data);
|
||||
this.$emit('jamoviClickEvent', 'view1', data);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const myDataSetTagDetail = [
|
||||
{
|
||||
type: 'EvtObjPop',
|
||||
labelContent: 'TAG',
|
||||
modalTitle: 'TAG 리스트',
|
||||
valueNm: 'tagId',
|
||||
valueNm2: 'tagNm',
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
label: 'TAG 명',
|
||||
valueNm: 'tagNm',
|
||||
disabled: false,
|
||||
cols: 5,
|
||||
class: 'py-2',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
type: 'SelectBox',
|
||||
label: '모델 Data 구분',
|
||||
valueNm: 'mdlDataTypeCd',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
list: 'mdlDataTypeCdList',
|
||||
itemText: 'commCdNm',
|
||||
itemValue: 'commCd',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
type: 'CheckBox',
|
||||
label: '사용여부',
|
||||
valueNm: 'useFg',
|
||||
disabled: false,
|
||||
cols: 5,
|
||||
class: 'py-2',
|
||||
value: { '1': true, '0': false },
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
type: 'TextArea',
|
||||
label: '비고',
|
||||
valueNm: 'rmrk',
|
||||
disabled: false,
|
||||
cols: 12,
|
||||
textCols: 9,
|
||||
rows: 2,
|
||||
class: 'py-2',
|
||||
required: false,
|
||||
},
|
||||
{
|
||||
type: 'EvtObjPop',
|
||||
labelContent: 'TAG',
|
||||
modalTitle: 'TAG 리스트',
|
||||
valueNm: 'tagId',
|
||||
valueNm2: 'tagNm',
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-1 mt-2',
|
||||
required: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
label: 'TAG 명',
|
||||
valueNm: 'tagNm',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2 mt-2',
|
||||
required: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
{
|
||||
type: 'SelectBox',
|
||||
label: '모델 Data 구분',
|
||||
valueNm: 'mdlDataTypeCd',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2 mt-2',
|
||||
list: 'mdlDataTypeCdList',
|
||||
itemText: 'commCdNm',
|
||||
itemValue: 'commCd',
|
||||
required: true,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
{
|
||||
type: 'CheckBox',
|
||||
label: '사용여부',
|
||||
valueNm: 'useFg',
|
||||
disabled: false,
|
||||
cols: 5,
|
||||
class: 'py-2 mt-2',
|
||||
value: { '1': true, '0': false },
|
||||
required: true,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
// class: "d-flex align-end"
|
||||
},
|
||||
{
|
||||
type: 'TextArea',
|
||||
label: '비고',
|
||||
valueNm: 'rmrk',
|
||||
disabled: false,
|
||||
cols: 12,
|
||||
textCols: 12,
|
||||
rows: 2,
|
||||
class: 'py-2 mt-2',
|
||||
required: false,
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
const dataPathDataExample = [
|
||||
{
|
||||
id: 'INCHEON.HVAC.EQP_HT_CH001.UT_CH101.CHI_AMP_1A_PV',
|
||||
name: 'INCHEON 고온 냉동기 101호기 - 호로1',
|
||||
type: '합계'
|
||||
},
|
||||
{
|
||||
id: 'INCHEON.HVAC.EQP_HT_CH001.UT_CH101.CHI_AMP_1A_PV',
|
||||
name: 'INCHEON 고온 냉동기 101호기 - 호로1',
|
||||
type: '합계'
|
||||
},
|
||||
{
|
||||
id: 'INCHEON.HVAC.EQP_HT_CH001.UT_CH101.CHI_AMP_1A_PV',
|
||||
name: 'INCHEON 고온 냉동기 101호기 - 호로1',
|
||||
type: '합계'
|
||||
},
|
||||
];
|
||||
</script>
|
||||
|
@ -4,7 +4,7 @@
|
||||
class="d-flex justify-space-between align-center"
|
||||
style="height: 80px;"
|
||||
>
|
||||
<span class="txt">공정 추가 정보</span>
|
||||
<span class="txt custom-title-4-new">공정 추가 정보</span>
|
||||
<Buttons
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
@ -20,6 +20,7 @@
|
||||
:editorGrid="true"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
@getRowsData="getRowData"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -53,10 +54,22 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: false,
|
||||
loadGrid: true,
|
||||
gridName: 'rowDetailGrid',
|
||||
rowKey: null,
|
||||
edtingFinishFlag: 'Y',
|
||||
dataPathMock: {
|
||||
"rowDetailGrid": {
|
||||
column: [
|
||||
{ header: '추가 정보', name: 'readObjId', align: 'left' },
|
||||
{ header: 'Data 구분', name: 'readObjNm', align: 'left' },
|
||||
{ header: '추가 정보 값', name: 'readObjKind', align: 'left' },
|
||||
],
|
||||
data: dataPathDataExample,
|
||||
defaultRow: dataPathDataExample,
|
||||
option: {}
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -431,4 +444,22 @@ export default {
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const dataPathDataExample = [
|
||||
{
|
||||
readObjId: 'OBJ001',
|
||||
readObjNm: '서울 본사',
|
||||
readObjKind: 'TYPE01',
|
||||
},
|
||||
{
|
||||
readObjId: 'OBJ002',
|
||||
readObjNm: '부산 지사',
|
||||
readObjKind: 'TYPE02',
|
||||
},
|
||||
{
|
||||
readObjId: 'OBJ003',
|
||||
readObjNm: '대전 공장',
|
||||
readObjKind: 'TYPE03',
|
||||
}
|
||||
]
|
||||
</script>
|
||||
|
@ -4,7 +4,7 @@
|
||||
class="d-flex justify-space-between align-center"
|
||||
style="height: 80px;"
|
||||
>
|
||||
<span class="txt">공정 입출력 정보</span>
|
||||
<span class="txt custom-title-4-new">공정 입출력 정보</span>
|
||||
<Buttons
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
@ -19,6 +19,7 @@
|
||||
:parentPrgmId="parentPrgmId"
|
||||
@getRowsData="getRowData"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
@ -59,11 +60,24 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: false,
|
||||
loadGrid: true,
|
||||
gridName: 'rowEccIaoGrid',
|
||||
inputList_emMapDiv: [],
|
||||
inputList_cmInOut: [],
|
||||
detailList: myDetail,
|
||||
dataPathMock: {
|
||||
"rowEccIaoGrid": {
|
||||
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: {
|
||||
@ -374,38 +388,49 @@ const myDetail = [
|
||||
label: '대상 유형',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-2 pr-4',
|
||||
list: 'emMapDivList',
|
||||
valueNm: 'objKind',
|
||||
itemText: 'commCdNm',
|
||||
itemValue: 'commCd',
|
||||
required: true,
|
||||
disabled: true,
|
||||
},
|
||||
{
|
||||
// 공백 처리
|
||||
type: 'Label',
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
disabled: false,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
{
|
||||
type: 'ReadPlcPop',
|
||||
label: '대상 항목',
|
||||
valueNm: 'objId',
|
||||
disabled: true,
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'pt-2 pb-0 mb-0 pl-4',
|
||||
required: true,
|
||||
bindNm: 'objNm',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
noText: true,
|
||||
iconShow: true,
|
||||
},
|
||||
{
|
||||
// 공백 처리
|
||||
type: 'Label',
|
||||
cols: 6,
|
||||
class: 'py-2 pr-4',
|
||||
disabled: false,
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
valueNm: 'objNm',
|
||||
readonly: true,
|
||||
disabled: true,
|
||||
cols: 5,
|
||||
class: 'py-2',
|
||||
cols: 6,
|
||||
class: 'pl-4',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
{
|
||||
type: 'EvtObjPop',
|
||||
@ -417,53 +442,66 @@ const myDetail = [
|
||||
disabled: true,
|
||||
required: true,
|
||||
cols: 6,
|
||||
class: 'py-2 d-none',
|
||||
labelCols: 4,
|
||||
textCols: 7,
|
||||
class: 'd-none pr-4',
|
||||
disableContent: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
cols: 5,
|
||||
class: 'py-2 d-none',
|
||||
cols: 6,
|
||||
class: 'd-none pt-0 pl-4',
|
||||
valueNm: 'objNm',
|
||||
readonly: true,
|
||||
disabled: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
{
|
||||
type: 'SelectBox',
|
||||
label: '에너지원',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-2 pr-4',
|
||||
list: 'ercNmList',
|
||||
valueNm: 'ercId',
|
||||
itemText: 'text',
|
||||
itemValue: 'value',
|
||||
required: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
{
|
||||
type: 'SelectBox',
|
||||
label: '투입생산유형',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-2 pl-4',
|
||||
list: 'cmInoutList',
|
||||
valueNm: 'inProdKind',
|
||||
itemText: 'commCdNm',
|
||||
itemValue: 'commCd',
|
||||
required: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
{
|
||||
type: 'CheckBox',
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-2 pr-4',
|
||||
label: '계산 여부',
|
||||
valueNm: 'calcFg',
|
||||
disabled: false,
|
||||
value: { '1': true, '0': false },
|
||||
required: true,
|
||||
disabledFg: 'objKind',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
@ -471,8 +509,19 @@ const myDetail = [
|
||||
valueNm: 'distRt',
|
||||
readonly: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-2 pl-4',
|
||||
required: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
];
|
||||
const dataPathDataExample = [
|
||||
{
|
||||
readObjId: 'OBJ001',
|
||||
readObjNm: '서울 본사',
|
||||
readObjKind: 'TYPE01',
|
||||
grpCd: 'GRP01',
|
||||
},
|
||||
]
|
||||
</script>
|
||||
|
@ -1,75 +1,33 @@
|
||||
<template>
|
||||
<div>
|
||||
<v-row>
|
||||
<v-col :cols="6" class="py-2">
|
||||
<InputText
|
||||
ref="effcIdxId"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
label="효율지표 ID"
|
||||
valueNm="effcIdxId"
|
||||
:required="false"
|
||||
:readonly="true"
|
||||
/>
|
||||
<v-col :cols="6" class="py-2 pr-4">
|
||||
<InputText ref="effcIdxId" :parentPrgmId="parentPrgmId" label="효율지표 ID" valueNm="effcIdxId"
|
||||
:required="false" :readonly="true" :textCols="12" :labelCols="12" />
|
||||
</v-col>
|
||||
<v-col :cols="6"> </v-col>
|
||||
<v-col :cols="6" class="py-2">
|
||||
<InputText
|
||||
ref="effcIdxNm"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
label="효율지표 명"
|
||||
valueNm="effcIdxNm"
|
||||
:readonly="true"
|
||||
:required="false"
|
||||
/>
|
||||
<v-col :cols="6" class="py-2 pl-4">
|
||||
<InputText ref="effcIdxNm" :parentPrgmId="parentPrgmId" label="효율지표 명" valueNm="effcIdxNm"
|
||||
:readonly="true" :required="false" :textCols="12" :labelCols="12" />
|
||||
</v-col>
|
||||
<v-col :cols="6"> </v-col>
|
||||
<v-col :cols="6" class="py-2">
|
||||
<component
|
||||
:is="'SelectBox'"
|
||||
:propsValue="selectValue01"
|
||||
:itemList="selectValueList01"
|
||||
:label="'지표종류'"
|
||||
:textCols="7"
|
||||
:required="false"
|
||||
:readonly="true"
|
||||
@update:propsValue="selectValue01 = $event"
|
||||
/>
|
||||
<v-col :cols="6" class="py-2 pr-4">
|
||||
<component :is="'SelectBox'" :propsValue="selectValue01" :itemList="selectValueList01" :label="'지표종류'"
|
||||
:textCols="12" :labelCols="12" :required="false" :readonly="true"
|
||||
@update:propsValue="selectValue01 = $event" />
|
||||
</v-col>
|
||||
</v-row>
|
||||
<div class="d-flex align-center justify-space-between pa-5">
|
||||
<v-card-title class="pa-0 custom-title-4">지표연결정보</v-card-title>
|
||||
<Buttons
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
:btnActionsFnc="btnActions"
|
||||
/>
|
||||
<component
|
||||
v-show="false"
|
||||
ref="EgrpPysclQtyPop"
|
||||
:is="'EgrpPysclQtyPop'"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:item="EgrpPysclQtyPopItem"
|
||||
:labelContent="'물리량'"
|
||||
/>
|
||||
<component
|
||||
v-show="false"
|
||||
ref="GdIdxPop"
|
||||
:is="'GdIdxPop'"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:item="GdIdxPopItem"
|
||||
:labelContent="'가이드지표'"
|
||||
/>
|
||||
<Buttons :parentPrgmId="parentPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
||||
<component v-show="false" ref="EgrpPysclQtyPop" :is="'EgrpPysclQtyPop'" :parentPrgmId="parentPrgmId"
|
||||
:item="EgrpPysclQtyPopItem" :labelContent="'물리량'" />
|
||||
<component v-show="false" ref="GdIdxPop" :is="'GdIdxPop'" :parentPrgmId="parentPrgmId" :item="GdIdxPopItem"
|
||||
:labelContent="'가이드지표'" />
|
||||
</div>
|
||||
<div class="px-5" style="height:calc(100% - 76px)">
|
||||
<div style="height:calc(100% - 76px)">
|
||||
<div ref="gridParent" style="height: calc(35vh);">
|
||||
<component
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:gridName="gridName"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
@getRowsData="getRowData"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
/>
|
||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
||||
:parentPrgmId="parentPrgmId" @getRowsData="getRowData" :innerTabGridInfo="innerTabGridInfo"
|
||||
:dataPath="sampleDataPath" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -109,8 +67,58 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: false,
|
||||
loadGrid: true,
|
||||
gridName: 'effcInfoGrid',
|
||||
sampleDataPath: {
|
||||
"effcInfoGrid": {
|
||||
data:
|
||||
[
|
||||
{
|
||||
"eqpmKindId": "펌프",
|
||||
"eqpmGrpId": "냉각수 시스템",
|
||||
"totMethNm": "평균값"
|
||||
},
|
||||
{
|
||||
"eqpmKindId": "모터",
|
||||
"eqpmGrpId": "공기압 시스템",
|
||||
"totMethNm": "최대값"
|
||||
},
|
||||
{
|
||||
"eqpmKindId": "밸브",
|
||||
"eqpmGrpId": "스팀 공급",
|
||||
"totMethNm": "합계"
|
||||
},
|
||||
{
|
||||
"eqpmKindId": "센서",
|
||||
"eqpmGrpId": "온도 제어",
|
||||
"totMethNm": "최소값"
|
||||
},
|
||||
{
|
||||
"eqpmKindId": "컴프레서",
|
||||
"eqpmGrpId": "에어 시스템",
|
||||
"totMethNm": "중앙값"
|
||||
}
|
||||
]
|
||||
|
||||
,
|
||||
column: [
|
||||
|
||||
{
|
||||
header: '대상설비종류',
|
||||
name: 'eqpmKindId',
|
||||
|
||||
},
|
||||
{
|
||||
header: '대상설비그룹',
|
||||
name: 'eqpmGrpId',
|
||||
},
|
||||
|
||||
{ header: '집계방법', name: 'totMethNm', align: 'center' },
|
||||
|
||||
]
|
||||
|
||||
}
|
||||
},
|
||||
itemList: [],
|
||||
tagTpList: [],
|
||||
// detailList: myDetail,
|
||||
@ -355,7 +363,7 @@ export default {
|
||||
await this.setSelectValueList01();
|
||||
await this.gridInit();
|
||||
},
|
||||
search() {},
|
||||
search() { },
|
||||
async setSelectValueList01() {
|
||||
this.selectValueList01 = [
|
||||
{
|
||||
|
@ -4,7 +4,7 @@
|
||||
class="d-flex justify-space-between align-center"
|
||||
style="height: 80px;"
|
||||
>
|
||||
<span class="txt">설비 추가 정보</span>
|
||||
<span class="txt custom-title-4-new">설비 추가 정보</span>
|
||||
<Buttons
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
@ -20,6 +20,7 @@
|
||||
:editorGrid="true"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
@getRowsData="getRowData"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -51,10 +52,24 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: false,
|
||||
loadGrid: true,
|
||||
gridName: 'rowDetailGrid',
|
||||
rowKey: null,
|
||||
edtingFinishFlag: 'Y',
|
||||
dataPathMock: {
|
||||
'rowDetailGrid' : {
|
||||
column: [
|
||||
{ header: '추가 정보', name: 'id', headerAlign: 'left' },
|
||||
{ header: 'Data 구분', name: 'lable', headerAlign: 'left' },
|
||||
{ header: '추가 정보 값', name: 'type', headerAlign: 'left' },
|
||||
// { header: '비고', name: 'note', headerAlign: 'left' }
|
||||
],
|
||||
data: dataPathDataExample,
|
||||
defaultRow: dataPathDataExample,
|
||||
option: {}
|
||||
}
|
||||
},
|
||||
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -393,4 +408,11 @@ export default {
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
import { getPathDataExample } from '@/const/const'
|
||||
const dataPathDataExample = getPathDataExample({
|
||||
id: 'INCHEON.HVAC.EQP_HT_CH001.UT_CH101.CHI_AMP_1A_PV',
|
||||
lable: 'INCHEON 고온 냉동기 101호기 - 호로1',
|
||||
type: '사용', note: '-'
|
||||
});
|
||||
</script>
|
||||
|
@ -1,34 +1,16 @@
|
||||
<template>
|
||||
<div>
|
||||
<div
|
||||
class="d-flex justify-space-between align-center"
|
||||
style="height: 80px;"
|
||||
>
|
||||
<span class="txt">설비 상수 정보</span>
|
||||
<Buttons
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
:btnActionsFnc="btnActions"
|
||||
/>
|
||||
<div class="d-flex justify-space-between align-center" style="height: 80px;">
|
||||
<span class="txt custom-title-4-new">설비 상수 정보</span>
|
||||
<Buttons :parentPrgmId="parentPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
||||
</div>
|
||||
<div ref="gridParent" style="height: calc(100vh - 800px);">
|
||||
<Grid
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:gridName="gridName"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
@getRowsData="getRowData"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
/>
|
||||
<div ref="gridParent" style="min-height: calc(100vh - 800px);">
|
||||
<Grid :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="parentPrgmId"
|
||||
@getRowsData="getRowData" :innerTabGridInfo="innerTabGridInfo" :dataPath="dataPathMock" />
|
||||
</div>
|
||||
<div style="height: calc(100vh - 900px);">
|
||||
<component
|
||||
:is="'Form'"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
:detailList="detailList"
|
||||
@gridEditingFinish="gridEditingFinish"
|
||||
/>
|
||||
<div style="min-height: calc(100vh - 900px);" class="mt-4">
|
||||
<component :is="'Form'" :parentPrgmId="parentPrgmId" :bindingData="gridName" :detailList="detailList"
|
||||
@gridEditingFinish="gridEditingFinish" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@ -59,12 +41,28 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: false,
|
||||
loadGrid: true,
|
||||
gridName: 'rowEqpmConstGrid',
|
||||
detailList: myEqpmConstDetail,
|
||||
|
||||
inputList_emMapDiv: [],
|
||||
inputList_cmInOut: [],
|
||||
dataPathMock: {
|
||||
'rowEqpmConstGrid': {
|
||||
column: [
|
||||
{ header: '대상항목', name: 'id', headerAlign: 'left' },
|
||||
{ header: '에너지원 명', name: 'lable', headerAlign: 'left' },
|
||||
{ header: '대상 유형', name: 'type', headerAlign: 'left' },
|
||||
{ header: '물리량', name: 'note', headerAlign: 'left' },
|
||||
{ header: '계산여부', name: 'field1', headerAlign: 'left' },
|
||||
{ header: '분배율', name: 'field2', headerAlign: 'left' }
|
||||
],
|
||||
data: dataPathDataExample,
|
||||
defaultRow: dataPathDataExample,
|
||||
option: {}
|
||||
}
|
||||
},
|
||||
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -101,7 +99,7 @@ export default {
|
||||
this.detailList[2].eqpmKindId = val;
|
||||
}
|
||||
},
|
||||
selectedEqpmGrpId(val){
|
||||
selectedEqpmGrpId(val) {
|
||||
// if(!val){
|
||||
// this.detailList[2].eqpmGrpId = '';
|
||||
// }else{
|
||||
@ -332,7 +330,7 @@ export default {
|
||||
gridEditingFinish(data, bindingData) {
|
||||
this.$refs[this.gridName].editingFinish(data);
|
||||
},
|
||||
search() {},
|
||||
search() { },
|
||||
},
|
||||
};
|
||||
|
||||
@ -360,20 +358,16 @@ const myEqpmConstDetail = [
|
||||
label: '대상 유형',
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-3 pr-4',
|
||||
list: 'emMapDivList2',
|
||||
valueNm: 'objKind',
|
||||
itemText: 'commCdNm',
|
||||
itemValue: 'commCd',
|
||||
required: true,
|
||||
disabled: true,
|
||||
},
|
||||
{
|
||||
// 공백 처리
|
||||
type: 'Label',
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
disabled: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
{
|
||||
type: 'EgrpPysclQtyPop',
|
||||
@ -390,19 +384,32 @@ const myEqpmConstDetail = [
|
||||
required: true,
|
||||
openMode: 'CONST',
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
eqpmGrpDisableFlag:true,
|
||||
// eqpmGrpId:''
|
||||
class: 'py-3 pl-4',
|
||||
eqpmGrpDisableFlag: true,
|
||||
// eqpmGrpId:'',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
{
|
||||
// 공백 처리
|
||||
type: 'Label',
|
||||
cols: 6,
|
||||
class: 'py-3',
|
||||
disabled: true,
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
valueNm: 'pysclQtyNm',
|
||||
disabled: true,
|
||||
readonly: true,
|
||||
cols: 5,
|
||||
class: 'py-2',
|
||||
cols: 6,
|
||||
class: 'py-3 pt-1 pl-4',
|
||||
align: 'right',
|
||||
// class: 'py-2 d-none',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
@ -410,12 +417,24 @@ const myEqpmConstDetail = [
|
||||
valueNm: 'pysclQtyVal',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-3 pr-4',
|
||||
align: 'right',
|
||||
inputType: 'number',
|
||||
min: 0,
|
||||
max: 100,
|
||||
required: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
];
|
||||
|
||||
import { getPathDataExample } from '@/const/const'
|
||||
const dataPathDataExample = getPathDataExample({
|
||||
id: 'INCHEON.HVAC.EQP_HT_CH001.UT_CH101.CHI_AMP_1A_PV',
|
||||
lable: 'INCHEON 고온 냉동기 101호기 - 호로1',
|
||||
type: '사용', note: '-',
|
||||
field1: '1111',
|
||||
field2: '2222',
|
||||
});
|
||||
</script>
|
||||
|
@ -4,24 +4,25 @@
|
||||
class="d-flex justify-space-between align-center"
|
||||
style="height: 80px;"
|
||||
>
|
||||
<span class="txt">설비 입출력 정보</span>
|
||||
<span class="txt custom-title-4-new">설비 입출력 정보</span>
|
||||
<Buttons
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
:btnActionsFnc="btnActions"
|
||||
/>
|
||||
</div>
|
||||
<div ref="gridParent" style="height: calc(100vh - 800px);">
|
||||
<div ref="gridParent" style="min-height: calc(100vh - 800px);" >
|
||||
<!-- :is="loadGrid ? 'Grid' : null" -->
|
||||
<Grid
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:gridName="gridName"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
@getRowsData="getRowData"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
</div>
|
||||
<div style="height: calc(100vh - 900px);">
|
||||
<div style="min-height: calc(100vh - 900px);" class="mt-4">
|
||||
<component
|
||||
:is="'Form'"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
@ -59,12 +60,28 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: false,
|
||||
loadGrid: true,
|
||||
gridName: 'rowEqpmIaoGrid',
|
||||
detailList: myEqpmIaoDetail,
|
||||
|
||||
inputList_emMapDiv: [],
|
||||
inputList_cmInOut: [],
|
||||
dataPathMock: {
|
||||
'rowEqpmIaoGrid' : {
|
||||
column: [
|
||||
{ header: '대상항목', name: 'id', headerAlign: 'left' },
|
||||
{ header: '에너지원 명', name: 'lable', headerAlign: 'left' },
|
||||
{ header: '대상 유형', name: 'type', headerAlign: 'left' },
|
||||
{ header: '물리량', name: 'note', headerAlign: 'left' },
|
||||
{ header: '계산여부', name: 'field1', headerAlign: 'left' },
|
||||
{ header: '분배율', name: 'field2', headerAlign: 'left' }
|
||||
],
|
||||
data: dataPathDataExample,
|
||||
defaultRow: dataPathDataExample,
|
||||
option: {}
|
||||
}
|
||||
},
|
||||
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -155,7 +172,7 @@ export default {
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.init();
|
||||
// this.init();
|
||||
},
|
||||
methods: {
|
||||
...mapMutations({
|
||||
@ -421,22 +438,18 @@ const myEqpmIaoDetail = [
|
||||
{
|
||||
type: 'SelectBox',
|
||||
label: '대상 유형',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-3 pr-4',
|
||||
list: 'emMapDivList',
|
||||
// list: 'ercNmList',
|
||||
valueNm: 'objKind',
|
||||
itemText: 'commCdNm',
|
||||
itemValue: 'commCd',
|
||||
required: true,
|
||||
disabled: false,
|
||||
},
|
||||
{
|
||||
// 공백 처리
|
||||
type: 'Label',
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
disabled: true,
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
{
|
||||
type: 'ReadPlcPop',
|
||||
@ -444,63 +457,88 @@ const myEqpmIaoDetail = [
|
||||
valueNm: 'objId',
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-3 pl-4',
|
||||
required: true,
|
||||
bindNm: 'objNm',
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
{
|
||||
// 공백 처리
|
||||
type: 'Label',
|
||||
cols: 6,
|
||||
class: 'py-3',
|
||||
disabled: true,
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
valueNm: 'objNm',
|
||||
readonly: true,
|
||||
disabled: true,
|
||||
cols: 5,
|
||||
class: 'py-2',
|
||||
cols: 6,
|
||||
class: 'py-3 pl-4 pt-1',
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
{
|
||||
type: 'EvtObjPop',
|
||||
labelContent: '대상 항목',
|
||||
labelContent: '대상 항목 111',
|
||||
valueNm: 'objId',
|
||||
valueNm2: 'objNm',
|
||||
bindNm: 'objNm',
|
||||
disabled: true,
|
||||
required: true,
|
||||
cols: 6,
|
||||
class: 'py-2 d-none',
|
||||
labelCols: 4,
|
||||
textCols: 7,
|
||||
class: 'py-3 d-none',
|
||||
disableContent: true,
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
cols: 5,
|
||||
class: 'py-2 d-none',
|
||||
class: 'py-3 d-none',
|
||||
valueNm: 'objNm',
|
||||
readonly: true,
|
||||
disabled: true,
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
{
|
||||
type: 'SelectBox',
|
||||
label: '에너지원',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-3 pr-4',
|
||||
list: 'ercNmList',
|
||||
valueNm: 'ercId',
|
||||
itemText: 'text',
|
||||
itemValue: 'value',
|
||||
required: false,
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
{
|
||||
type: 'SelectBox',
|
||||
label: '투입생산유형',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-3 pl-4',
|
||||
list: 'cmInoutList',
|
||||
valueNm: 'inProdKind',
|
||||
itemText: 'commCdNm',
|
||||
itemValue: 'commCd',
|
||||
required: false,
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
@ -508,12 +546,15 @@ const myEqpmIaoDetail = [
|
||||
valueNm: 'distRt',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-3 pr-4',
|
||||
align: 'right',
|
||||
inputType: 'number',
|
||||
min: 0,
|
||||
max: 100,
|
||||
required: false,
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
{
|
||||
type: 'CheckBox',
|
||||
@ -521,9 +562,12 @@ const myEqpmIaoDetail = [
|
||||
valueNm: 'calcFg',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-3 pl-4',
|
||||
value: { '1': true, '0': false },
|
||||
required: false,
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
{
|
||||
type: 'EgrpPysclQtyPop',
|
||||
@ -541,19 +585,42 @@ const myEqpmIaoDetail = [
|
||||
required: false,
|
||||
openMode: 'TAG',
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-3 pr-4',
|
||||
eqpmGrpDisableFlag: true,
|
||||
// eqpmGrpId: '',
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
{
|
||||
// 공백 처리
|
||||
type: 'Label',
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
disabled: true,
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
valueNm: 'pysclQtyNm',
|
||||
disabled: true,
|
||||
readonly: true,
|
||||
cols: 5,
|
||||
class: 'py-2',
|
||||
cols: 6,
|
||||
class: 'py-3 pt-0 pr-4',
|
||||
align: 'right',
|
||||
// class: 'py-2 d-none',
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
];
|
||||
|
||||
import { getPathDataExample } from '@/const/const'
|
||||
const dataPathDataExample = getPathDataExample({
|
||||
id: 'INCHEON.HVAC.EQP_HT_CH001.UT_CH101.CHI_AMP_1A_PV',
|
||||
lable: 'INCHEON 고온 냉동기 101호기 - 호로1',
|
||||
type: '사용', note: '-',
|
||||
field1: '1111',
|
||||
field2: '2222',
|
||||
});
|
||||
</script>
|
||||
|
@ -4,12 +4,13 @@
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
<v-row>
|
||||
<v-col :cols="8">
|
||||
<v-col :cols="8" style="padding:0px">
|
||||
<!-- 조회기간 -->
|
||||
<DatePicker :parentPrgmId="parentPrgmId" label="조회기간" />
|
||||
</v-col>
|
||||
<v-col cols="4" class="d-flex justify-end align-center">
|
||||
<Buttons
|
||||
style="margin-top: 25px;"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
:btnActionsFnc="btnActions"
|
||||
@ -22,8 +23,10 @@
|
||||
<v-row class="search-box" align="center" no-gutters style="height: 44px;">
|
||||
<v-col :cols="4">
|
||||
<label for="" class="search-box-label">
|
||||
<v-icon x-small color="primary" class="mr-1"
|
||||
>mdi-record-circle</v-icon
|
||||
<v-icon
|
||||
small
|
||||
:class="['mr-1','icon-blue']"
|
||||
>$icoBulletPoint</v-icon
|
||||
>
|
||||
월별 요금 정보
|
||||
</label>
|
||||
@ -51,8 +54,13 @@
|
||||
<v-row class="search-box" align="center" no-gutters style="height: 44px;">
|
||||
<v-col :cols="4">
|
||||
<label for="" class="search-box-label">
|
||||
<v-icon x-small color="primary" class="mr-1"
|
||||
<!-- <v-icon x-small color="primary" class="mr-1"
|
||||
>mdi-record-circle</v-icon
|
||||
> -->
|
||||
<v-icon
|
||||
small
|
||||
:class="['mr-1','icon-blue']"
|
||||
>$icoBulletPoint</v-icon
|
||||
>
|
||||
월별 요금 정보
|
||||
</label>
|
||||
@ -189,7 +197,7 @@ export default {
|
||||
bodyHeight: gridHeight,
|
||||
minBodyHeight: gridHeight,
|
||||
header: {
|
||||
height: 28,
|
||||
height: 38,
|
||||
},
|
||||
rowHeight: 29,
|
||||
minRowHeight: 29,
|
||||
@ -263,6 +271,63 @@ export default {
|
||||
value: myColumns,
|
||||
});
|
||||
|
||||
const res = [
|
||||
{
|
||||
"comId": "COM001",
|
||||
"ercId": "ERC001",
|
||||
"objMm": "202507",
|
||||
"objYm": "2025-07",
|
||||
"unitPrce": 120.5,
|
||||
"peakPow": 450,
|
||||
"baseChrg": 30000,
|
||||
"notiChrg": 32500,
|
||||
"rmrk": "Standard summer rate",
|
||||
"blocId": "BLOC001",
|
||||
"regUserNo": "USER001",
|
||||
"regDttm": "2025-07-01T09:00:00",
|
||||
"procUserNo": "USER002",
|
||||
"procDttm": "2025-07-15T14:30:00"
|
||||
},
|
||||
{
|
||||
"comId": "COM002",
|
||||
"ercId": "ERC002",
|
||||
"objMm": "202507",
|
||||
"objYm": "2025-07",
|
||||
"unitPrce": 98.75,
|
||||
"peakPow": 300,
|
||||
"baseChrg": 25000,
|
||||
"notiChrg": 27000,
|
||||
"rmrk": "Reduced rate for solar",
|
||||
"blocId": "BLOC002",
|
||||
"regUserNo": "USER003",
|
||||
"regDttm": "2025-07-02T10:15:00",
|
||||
"procUserNo": "USER004",
|
||||
"procDttm": "2025-07-16T11:45:00"
|
||||
},
|
||||
{
|
||||
"comId": "COM003",
|
||||
"ercId": "ERC003",
|
||||
"objMm": "202507",
|
||||
"objYm": "2025-07",
|
||||
"unitPrce": 110.0,
|
||||
"peakPow": 400,
|
||||
"baseChrg": 28000,
|
||||
"notiChrg": 29500,
|
||||
"rmrk": "Geothermal adjustment",
|
||||
"blocId": "BLOC003",
|
||||
"regUserNo": "USER005",
|
||||
"regDttm": "2025-07-03T08:45:00",
|
||||
"procUserNo": "USER006",
|
||||
"procDttm": "2025-07-17T13:20:00"
|
||||
}
|
||||
]
|
||||
|
||||
this.setGridData({
|
||||
gridKey: this.gridName,
|
||||
value: res,
|
||||
});
|
||||
|
||||
|
||||
this.loadGrid = true;
|
||||
},
|
||||
async btnActions(action) {
|
||||
|
@ -20,6 +20,8 @@
|
||||
:editorGrid="true"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
@getRowsData="getRowData"
|
||||
:selectedRowDataWatchFlag="true"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -53,10 +55,23 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: false,
|
||||
loadGrid: true,
|
||||
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: {
|
||||
@ -261,7 +276,7 @@ export default {
|
||||
{ header: '검침 대상 ID', name: 'readObjId', hidden: true },
|
||||
{
|
||||
header: '추가 정보',
|
||||
name: 'addInfoId',
|
||||
name: 'addInfoId',
|
||||
align: 'left',
|
||||
formatter({ value }) {
|
||||
let retVal = '';
|
||||
@ -446,4 +461,25 @@ 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>
|
||||
|
@ -1,25 +1,25 @@
|
||||
<template>
|
||||
<div>
|
||||
<div
|
||||
class="d-flex justify-space-between align-center"
|
||||
style="height: 80px;"
|
||||
class="d-flex justify-space-between"
|
||||
|
||||
>
|
||||
<span class="txt">검침개소 추가 정보</span>
|
||||
<v-card-title class="px-0 pt-0 custom-title-4">검침개소 추가 정보</v-card-title>
|
||||
<Buttons
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
:btnActionsFnc="btnActions"
|
||||
/>
|
||||
</div>
|
||||
<div ref="gridParent" style="height: calc(100vh - 520px);">
|
||||
<div ref="gridParent">
|
||||
<Grid
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:gridName="gridName"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:editorGrid="true"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
@getRowsData="getRowData"
|
||||
:dataPath="addInfoTabData"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -53,10 +53,65 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: false,
|
||||
loadGrid: true,
|
||||
gridName: 'rowDetailGrid',
|
||||
rowKey: null,
|
||||
edtingFinishFlag: 'Y',
|
||||
addInfoTabData: {
|
||||
"rowDetailGrid": {
|
||||
data: [
|
||||
|
||||
|
||||
|
||||
{
|
||||
readPlcNm: '서울 본사',
|
||||
plcKind: '전기',
|
||||
useFg: '1',
|
||||
},
|
||||
|
||||
|
||||
],
|
||||
column: [
|
||||
// { header: '회사 ID', name: 'comId', hidden: true },
|
||||
{
|
||||
header: '검침개소명',
|
||||
name: 'readPlcNm',
|
||||
align: 'left',
|
||||
minWidth: 400,
|
||||
},
|
||||
{
|
||||
header: '개소 종류',
|
||||
name: 'plcKind',
|
||||
minWidth: 100,
|
||||
align: 'center',
|
||||
// formatter({ value }) {
|
||||
// let retVal = '';
|
||||
// const newValue = _this.pageData.plcKindList.filter(
|
||||
// item => item.commCd == value,
|
||||
// );
|
||||
// if (newValue.length > 0) {
|
||||
// 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;
|
||||
// },
|
||||
},
|
||||
]
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -123,88 +178,88 @@ export default {
|
||||
value: myOptions,
|
||||
});
|
||||
|
||||
const _this = this;
|
||||
let useFgSelectList = [];
|
||||
this.pageData.useFgList.forEach(item => {
|
||||
const it = { text: item.commCdNm, value: item.commCd };
|
||||
useFgSelectList.push(it);
|
||||
});
|
||||
let addInfoList = [];
|
||||
this.pageData.addInfoList.forEach(item => {
|
||||
const it = { text: item.addInfoNm, value: item.addInfoId };
|
||||
addInfoList.push(it);
|
||||
});
|
||||
let addInfoDataKindList = [];
|
||||
this.pageData.addInfoDataKindList.forEach(item => {
|
||||
const it = { text: item.commCdNm, value: item.commCd };
|
||||
addInfoDataKindList.push(it);
|
||||
});
|
||||
// const _this = this;
|
||||
// let useFgSelectList = [];
|
||||
// this.pageData.useFgList.forEach(item => {
|
||||
// const it = { text: item.commCdNm, value: item.commCd };
|
||||
// useFgSelectList.push(it);
|
||||
// });
|
||||
// let addInfoList = [];
|
||||
// this.pageData.addInfoList.forEach(item => {
|
||||
// const it = { text: item.addInfoNm, value: item.addInfoId };
|
||||
// addInfoList.push(it);
|
||||
// });
|
||||
// let addInfoDataKindList = [];
|
||||
// this.pageData.addInfoDataKindList.forEach(item => {
|
||||
// const it = { text: item.commCdNm, value: item.commCd };
|
||||
// addInfoDataKindList.push(it);
|
||||
// });
|
||||
|
||||
const myColumns = [
|
||||
{ header: '회사 ID', name: 'comId', hidden: true },
|
||||
{ header: '검침개소 번호', name: 'readPlcId', hidden: true },
|
||||
{
|
||||
header: '추가 정보',
|
||||
name: 'addInfoId',
|
||||
align: 'left',
|
||||
formatter({ value }) {
|
||||
let retVal = '';
|
||||
const newValue = addInfoList.filter(item => item.value == value);
|
||||
if (newValue.length > 0) {
|
||||
retVal = newValue[0].text;
|
||||
}
|
||||
return retVal;
|
||||
},
|
||||
},
|
||||
{
|
||||
header: 'Data 구분',
|
||||
name: 'addInfoDataKind',
|
||||
align: 'center',
|
||||
formatter({ value }) {
|
||||
let retVal = '';
|
||||
const newValue = addInfoDataKindList.filter(
|
||||
item => item.value == value,
|
||||
);
|
||||
if (newValue.length > 0) {
|
||||
retVal = newValue[0].text;
|
||||
}
|
||||
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: {
|
||||
type: NewCustomEditor,
|
||||
},
|
||||
formatter(data) {
|
||||
return data.row.addInfoDataKind;
|
||||
},
|
||||
},
|
||||
// const myColumns = [
|
||||
// { header: '회사 ID', name: 'comId', hidden: true },
|
||||
// { header: '검침개소 번호', name: 'readPlcId', hidden: true },
|
||||
// {
|
||||
// header: '추가 정보',
|
||||
// name: 'addInfoId',
|
||||
// align: 'left',
|
||||
// formatter({ value }) {
|
||||
// let retVal = '';
|
||||
// const newValue = addInfoList.filter(item => item.value == value);
|
||||
// if (newValue.length > 0) {
|
||||
// retVal = newValue[0].text;
|
||||
// }
|
||||
// return retVal;
|
||||
// },
|
||||
// },
|
||||
// {
|
||||
// header: 'Data 구분',
|
||||
// name: 'addInfoDataKind',
|
||||
// align: 'center',
|
||||
// formatter({ value }) {
|
||||
// let retVal = '';
|
||||
// const newValue = addInfoDataKindList.filter(
|
||||
// item => item.value == value,
|
||||
// );
|
||||
// if (newValue.length > 0) {
|
||||
// retVal = newValue[0].text;
|
||||
// }
|
||||
// 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: {
|
||||
// type: NewCustomEditor,
|
||||
// },
|
||||
// formatter(data) {
|
||||
// return data.row.addInfoDataKind;
|
||||
// },
|
||||
// },
|
||||
//{ header: "추가 정보 값", name: "addInfoVal", align: "center" , editor: "text",
|
||||
// formatter({ value, row , column}) {
|
||||
// console.log("addInfoVal row : ", row);
|
||||
@ -235,16 +290,16 @@ export default {
|
||||
}
|
||||
}
|
||||
},*/
|
||||
{ header: '등록 사용자', name: 'regUserNo', hidden: true },
|
||||
{ header: '등록 일자', name: 'regDttm', hidden: true },
|
||||
{ header: '수정 사용자', name: 'procUserNo', hidden: true },
|
||||
{ header: '수정 일자', name: 'procDttm', hidden: true },
|
||||
];
|
||||
// { header: '등록 사용자', name: 'regUserNo', hidden: true },
|
||||
// { header: '등록 일자', name: 'regDttm', hidden: true },
|
||||
// { header: '수정 사용자', name: 'procUserNo', hidden: true },
|
||||
// { header: '수정 일자', name: 'procDttm', hidden: true },
|
||||
// ];
|
||||
|
||||
this.setGridColumn({
|
||||
gridKey: this.gridName,
|
||||
value: myColumns,
|
||||
});
|
||||
// this.setGridColumn({
|
||||
// gridKey: this.gridName,
|
||||
// value: myColumns,
|
||||
// });
|
||||
|
||||
this.loadGrid = true;
|
||||
},
|
||||
|
@ -1,36 +1,18 @@
|
||||
<template>
|
||||
<div>
|
||||
<div
|
||||
class="d-flex justify-space-between align-center"
|
||||
style="height: 80px;"
|
||||
>
|
||||
<span class="txt">가상 검침 정보</span>
|
||||
<Buttons
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
:detailList="detailReadPlcImgList"
|
||||
:btnActionsFnc="btnActions"
|
||||
/>
|
||||
<div class="d-flex justify-space-between">
|
||||
<v-card-title class="px-0 pt-0 custom-title-4">가상 검침 정보</v-card-title>
|
||||
<Buttons :parentPrgmId="parentPrgmId" :bindingData="gridName" :detailList="detailReadPlcImgList"
|
||||
:btnActionsFnc="btnActions" />
|
||||
</div>
|
||||
|
||||
<div ref="gridParent" style="height: calc((100vh - 520px) /2);">
|
||||
<Grid
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:gridName="gridName"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
@getRowsData="getRowData"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
/>
|
||||
<Grid :ref="gridName" :gridName="gridName" :parentPrgmId="parentPrgmId" @getRowsData="getRowData"
|
||||
:innerTabGridInfo="innerTabGridInfo" :dataPath="imgInfoTabData" />
|
||||
</div>
|
||||
<div ref="formParent" style="height: calc((100vh - 520px) /2);">
|
||||
<component
|
||||
:is="'Form'"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
:detailList="detailReadPlcImgList"
|
||||
@gridEditingFinish="gridEditingFinish"
|
||||
/>
|
||||
<div ref="formParent">
|
||||
<component :is="'Form'" :parentPrgmId="parentPrgmId" :bindingData="gridName"
|
||||
:detailList="detailReadPlcImgList" @gridEditingFinish="gridEditingFinish" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@ -62,9 +44,26 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: false,
|
||||
loadGrid: true,
|
||||
gridName: 'rowReadPlcImgGrid',
|
||||
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: {
|
||||
@ -223,7 +222,7 @@ export default {
|
||||
gridEditingFinish(data, bindingData) {
|
||||
this.$refs[this.gridName].editingFinish(data);
|
||||
},
|
||||
search() {},
|
||||
search() { },
|
||||
},
|
||||
};
|
||||
|
||||
@ -235,15 +234,11 @@ const myReadPlcImgDetail = [
|
||||
valueNm: 'objReadPlcId',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
class: 'py-3 pr-4 pb-2',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
valueNm: 'objReadPlcNm',
|
||||
readonly: true,
|
||||
cols: 5,
|
||||
class: 'py-2',
|
||||
iconShow:true
|
||||
},
|
||||
{
|
||||
type: 'InputNumber',
|
||||
@ -251,11 +246,25 @@ const myReadPlcImgDetail = [
|
||||
valueNm: 'distRt',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-3 pl-4',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
inputType: 'number',
|
||||
min: 1,
|
||||
max: 100,
|
||||
required: true,
|
||||
iconShow:true
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
valueNm: 'objReadPlcNm',
|
||||
readonly: true,
|
||||
cols: 6,
|
||||
textCols: 12,
|
||||
class: 'pt-1 py-3 pr-4',
|
||||
},
|
||||
{
|
||||
showValue: false
|
||||
},
|
||||
{
|
||||
type: 'SelectBox',
|
||||
@ -263,11 +272,14 @@ const myReadPlcImgDetail = [
|
||||
valueNm: 'ddctKind',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
class: 'py-3 pr-4',
|
||||
list: 'ddctKindList',
|
||||
itemText: 'commCdNm',
|
||||
itemValue: 'commCd',
|
||||
required: true,
|
||||
iconShow: true
|
||||
},
|
||||
];
|
||||
</script>
|
||||
|
@ -1,35 +1,17 @@
|
||||
<template>
|
||||
<div>
|
||||
<div
|
||||
class="d-flex justify-space-between align-center"
|
||||
style="height: 80px;"
|
||||
>
|
||||
<span class="txt">검침개소 TAG 연결 정보</span>
|
||||
<Buttons
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
:detailList="detailReadPlcTagList"
|
||||
:btnActionsFnc="btnActions"
|
||||
/>
|
||||
<div class="d-flex justify-space-between" >
|
||||
<v-card-title class="px-0 pt-0 custom-title-4">검침개소 TAG 연결 정보</v-card-title>
|
||||
<Buttons :parentPrgmId="parentPrgmId" :bindingData="gridName" :detailList="detailReadPlcTagList"
|
||||
:btnActionsFnc="btnActions" />
|
||||
</div>
|
||||
<div ref="gridParent" style="height: calc((100vh - 520px) /2);">
|
||||
<Grid
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:gridName="gridName"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
@getRowsData="getRowData"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
/>
|
||||
<Grid :ref="gridName" :gridName="gridName" :parentPrgmId="parentPrgmId" @getRowsData="getRowData"
|
||||
:innerTabGridInfo="innerTabGridInfo" :dataPath="tagRelTabData" />
|
||||
</div>
|
||||
<div ref="formParent" style="height: calc((100vh - 520px) /2);">
|
||||
<component
|
||||
:is="'Form'"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
:detailList="detailReadPlcTagList"
|
||||
@gridEditingFinish="gridEditingFinish"
|
||||
/>
|
||||
<div ref="formParent" >
|
||||
<component :is="'Form'" :parentPrgmId="parentPrgmId" :bindingData="gridName"
|
||||
:detailList="detailReadPlcTagList" @gridEditingFinish="gridEditingFinish" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@ -64,6 +46,78 @@ export default {
|
||||
loadGrid: false,
|
||||
gridName: 'rowReadPlcTagRelGrid',
|
||||
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: {
|
||||
@ -328,7 +382,7 @@ export default {
|
||||
gridEditingFinish(data, bindingData) {
|
||||
this.$refs[this.gridName].editingFinish(data);
|
||||
},
|
||||
search() {},
|
||||
search() { },
|
||||
},
|
||||
};
|
||||
|
||||
@ -341,60 +395,81 @@ const myReadPlcTagDetail = [
|
||||
valueNm2: 'tagNm',
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
valueNm: 'tagNm',
|
||||
readonly: true,
|
||||
cols: 5,
|
||||
class: 'py-2',
|
||||
class: 'pr-4 pb-2 py-3',
|
||||
required: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
|
||||
{
|
||||
type: 'SelectBox',
|
||||
label: '에너지원',
|
||||
valueNm: 'ercId',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'pl-4 py-3',
|
||||
list: 'ercNmList',
|
||||
itemText: 'text',
|
||||
itemValue: 'value',
|
||||
required: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
{
|
||||
type: 'CheckBox',
|
||||
label: '대표 TAG 여부',
|
||||
valueNm: 'reprTagFg',
|
||||
disabled: false,
|
||||
type: 'InputText',
|
||||
valueNm: 'tagNm',
|
||||
readonly: true,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
value: { '1': true, '0': false },
|
||||
textCols: 12,
|
||||
class: 'pt-1 py-3 pr-4',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
showValue: false,
|
||||
},
|
||||
{
|
||||
type: 'InputNumber',
|
||||
label: '분배율(1~100)',
|
||||
valueNm: 'distRt',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-3 pr-4',
|
||||
inputType: 'number',
|
||||
min: 1,
|
||||
max: 100,
|
||||
required: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
{
|
||||
type: 'CheckBox',
|
||||
label: '대표 TAG 여부',
|
||||
valueNm: 'reprTagFg',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-3 pl-4',
|
||||
value: { '1': true, '0': false },
|
||||
required: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
|
||||
{
|
||||
type: 'CheckBox',
|
||||
label: '사용여부',
|
||||
valueNm: 'useFg',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-3 pr-4',
|
||||
value: { '1': true, '0': false },
|
||||
required: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
@ -402,8 +477,11 @@ const myReadPlcTagDetail = [
|
||||
valueNm: 'rmrk',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-3 pl-4',
|
||||
inputType: 'string',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
];
|
||||
</script>
|
||||
|
@ -1,28 +1,32 @@
|
||||
<template>
|
||||
<div>
|
||||
<div
|
||||
class="d-flex justify-space-between align-center"
|
||||
style="height: 80px;"
|
||||
>
|
||||
<span class="txt">TAG 추가 정보</span>
|
||||
<v-card class="pb-5">
|
||||
<v-card-title class="d-flex justify-space-between align-end">
|
||||
<span class="tit ft-size_20 ft-weight_600">TAG 추가 정보</span>
|
||||
<Buttons
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
:btnActionsFnc="btnActions"
|
||||
/>
|
||||
</div>
|
||||
<div ref="gridParent" style="height: calc(100vh - 520px);">
|
||||
<Grid
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:gridName="gridName"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:editorGrid="true"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
@getRowsData="getRowData"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</v-card-title>
|
||||
<v-card-actions>
|
||||
<div
|
||||
ref="gridParent"
|
||||
class="w100"
|
||||
style="height: calc(100vh - 520px);"
|
||||
>
|
||||
<component
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:gridName="gridName"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:editorGrid="true"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
@getRowsData="getRowData"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
</div>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</template>
|
||||
<script>
|
||||
import { mapState, mapMutations, mapActions } from 'vuex';
|
||||
@ -47,10 +51,22 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: false,
|
||||
loadGrid: true,
|
||||
gridName: 'rowDetailGrid',
|
||||
rowKey: null,
|
||||
edtingFinishFlag: 'Y',
|
||||
dataPathMock: {
|
||||
"rowDetailGrid": {
|
||||
column: [
|
||||
{header: '추가 정보',name: 'addInfoId'},
|
||||
{header: 'Data 구분',name: 'addInfoDataKind',align: 'center'},
|
||||
{header: '추가 정보 값',name: 'addInfoVal',align: 'center', renderer: {type: NewCustomRenderer},editor: {type: NewCustomEditor},formatter(data) {return data.row.addInfoDataKind;},}
|
||||
],
|
||||
data: dataPathDataExample,
|
||||
option: {
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -102,10 +118,10 @@ export default {
|
||||
bodyHeight: gridHeight,
|
||||
minBodyHeight: gridHeight,
|
||||
header: {
|
||||
height: 28,
|
||||
height: 38,
|
||||
},
|
||||
rowHeight: 29,
|
||||
minRowHeight: 29,
|
||||
rowHeight: 22,
|
||||
minRowHeight: 22,
|
||||
selectionUnit: 'row',
|
||||
editingEvent: 'click',
|
||||
};
|
||||
@ -428,4 +444,37 @@ export default {
|
||||
search() {},
|
||||
},
|
||||
};
|
||||
const dataPathDataExample =
|
||||
[
|
||||
{
|
||||
addInfoId:"경보 여부",
|
||||
addInfoDataKind:"FG",
|
||||
addInfoVal:"1"
|
||||
},
|
||||
{
|
||||
addInfoId:"예상 피크전력 여부",
|
||||
addInfoDataKind:"FG",
|
||||
addInfoVal:"0"
|
||||
},
|
||||
{
|
||||
addInfoId:"피크전력 여부",
|
||||
addInfoDataKind:"FG",
|
||||
addInfoVal:"1"
|
||||
},
|
||||
{
|
||||
addInfoId:"TAG 채널",
|
||||
addInfoDataKind:"숫자",
|
||||
addInfoVal:"채널"
|
||||
},
|
||||
{
|
||||
addInfoId:"PLC IP",
|
||||
addInfoDataKind:"문자",
|
||||
addInfoVal:"채널"
|
||||
},
|
||||
{
|
||||
addInfoId:"PLC 포트",
|
||||
addInfoDataKind:"숫자",
|
||||
addInfoVal:"채널"
|
||||
},
|
||||
]
|
||||
</script>
|
||||
|
Reference in New Issue
Block a user