Compare commits
2 Commits
dev-nghian
...
7e2383efda
Author | SHA1 | Date | |
---|---|---|---|
7e2383efda | |||
708b648080 |
@ -92,13 +92,10 @@
|
|||||||
background: map-deep-get($config, #{$theme}, "basic-button-background");
|
background: map-deep-get($config, #{$theme}, "basic-button-background");
|
||||||
}
|
}
|
||||||
|
|
||||||
.searchFilter{
|
.search-button {
|
||||||
.search-button {
|
color: map-deep-get($config, #{$theme}, "search-btn-color");
|
||||||
height: 40px;
|
|
||||||
color: map-deep-get($config, #{$theme}, "search-btn-color");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.v-dialog {
|
.v-dialog {
|
||||||
.ant-btn-icon-only {
|
.ant-btn-icon-only {
|
||||||
color: map-deep-get(
|
color: map-deep-get(
|
||||||
|
@ -98,17 +98,6 @@
|
|||||||
@include theme($theme);
|
@include theme($theme);
|
||||||
|
|
||||||
.v-application.#{$theme}-mode {
|
.v-application.#{$theme}-mode {
|
||||||
.grid-title {
|
|
||||||
font-weight: 600;
|
|
||||||
font-size: 16px;
|
|
||||||
line-height: 24px;
|
|
||||||
letter-spacing: 0;
|
|
||||||
color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"tui-grid-title-color"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-grid {
|
.tui-grid {
|
||||||
&-table {
|
&-table {
|
||||||
border: 1px solid;
|
border: 1px solid;
|
||||||
|
@ -113,6 +113,14 @@
|
|||||||
color: map-deep-get($config, #{$theme}, "h1-title");
|
color: map-deep-get($config, #{$theme}, "h1-title");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.custom-subtitle-tab {
|
||||||
|
font-size: 1.25rem !important;
|
||||||
|
font-weight: 600 !important;
|
||||||
|
line-height: 1.25 !important;
|
||||||
|
color: map-deep-get($config, #{$theme}, "subtitle-tab");
|
||||||
|
}
|
||||||
|
|
||||||
.v-dialog {
|
.v-dialog {
|
||||||
.custom-title-4 {
|
.custom-title-4 {
|
||||||
font-size: 16px !important;
|
font-size: 16px !important;
|
||||||
|
@ -102,7 +102,6 @@ $config: (
|
|||||||
v-calendar-day-color: #fff,
|
v-calendar-day-color: #fff,
|
||||||
v-calendar-day-in-not-month-color: rgba(255, 255, 255, 0.05),
|
v-calendar-day-in-not-month-color: rgba(255, 255, 255, 0.05),
|
||||||
v-calendar-is-today-background-color: #2d4571,
|
v-calendar-is-today-background-color: #2d4571,
|
||||||
tui-grid-title-color: #FFFFFFD9,
|
|
||||||
tui-grid-header-backgroundColor: #2a2b2d,
|
tui-grid-header-backgroundColor: #2a2b2d,
|
||||||
tui-grid-header-color: #FFFFFFD9,
|
tui-grid-header-color: #FFFFFFD9,
|
||||||
tui-grid-border-horziontal-color: #212224,
|
tui-grid-border-horziontal-color: #212224,
|
||||||
@ -171,6 +170,7 @@ $config: (
|
|||||||
ant-btn-default-border-outlined:#424242,
|
ant-btn-default-border-outlined:#424242,
|
||||||
btn-header-select-bg: #1F1F1F,
|
btn-header-select-bg: #1F1F1F,
|
||||||
btn-header-select-color:#FFFFFFD9,
|
btn-header-select-color:#FFFFFFD9,
|
||||||
|
subtitle-tab: #FFFFFFA6,
|
||||||
),
|
),
|
||||||
light: (w-g5: $--color-gray_555,
|
light: (w-g5: $--color-gray_555,
|
||||||
g5-w: $--color-white,
|
g5-w: $--color-white,
|
||||||
@ -239,7 +239,6 @@ $config: (
|
|||||||
v-calendar-day-color: #111,
|
v-calendar-day-color: #111,
|
||||||
v-calendar-day-in-not-month-color: #f8f8f8,
|
v-calendar-day-in-not-month-color: #f8f8f8,
|
||||||
v-calendar-is-today-background-color: #e3eaf3,
|
v-calendar-is-today-background-color: #e3eaf3,
|
||||||
tui-grid-title-color: #000000E0,
|
|
||||||
tui-grid-header-backgroundColor: #fafafa, //#e0e0e0,
|
tui-grid-header-backgroundColor: #fafafa, //#e0e0e0,
|
||||||
tui-grid-header-color: rgba(0, 0, 0, 0.88),
|
tui-grid-header-color: rgba(0, 0, 0, 0.88),
|
||||||
tui-grid-border-horziontal-color: #e0e0e0,
|
tui-grid-border-horziontal-color: #e0e0e0,
|
||||||
@ -306,5 +305,6 @@ $config: (
|
|||||||
ant-btn-default-border-outlined:#D9D9D9,
|
ant-btn-default-border-outlined:#D9D9D9,
|
||||||
btn-header-select-color:#1F1F1F,
|
btn-header-select-color:#1F1F1F,
|
||||||
btn-header-select-bg:#FFFFFF,
|
btn-header-select-bg:#FFFFFF,
|
||||||
|
subtitle-tab: #000000A6,
|
||||||
),
|
),
|
||||||
);
|
);
|
@ -45,7 +45,7 @@ export default {
|
|||||||
size: {
|
size: {
|
||||||
type: String,
|
type: String,
|
||||||
require: false,
|
require: false,
|
||||||
default: "middle", // small, middle, large
|
default: "default", // small, middle, large
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
// Gauge chart options
|
// Gauge chart options
|
||||||
export default function getGaugeChartOption({ title, min = 0, max = 160, unit = '%', isDarkMode = false, backgroundRadius = 97 }) {
|
export default function getGaugeChartOption({ title, value, min = 0, max = 160, unit = '%', isDarkMode = false, backgroundRadius = 97 }) {
|
||||||
const colorRanges = isDarkMode
|
const colorRanges = isDarkMode
|
||||||
? [
|
? [
|
||||||
[0.375, '#49AA19'], // Dark Green
|
[0.375, '#49AA19'], // Dark Green
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
export default function getLineChartOption({
|
export default function getLineChartOption({
|
||||||
xAxisData = [],
|
xAxisData = [],
|
||||||
seriesData = [],
|
seriesData = [],
|
||||||
// legendData = [],
|
legendData = [],
|
||||||
isDarkMode = false,
|
isDarkMode = false,
|
||||||
}) {
|
}) {
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ export default function getLineChartOption({
|
|||||||
},
|
},
|
||||||
|
|
||||||
legend: {
|
legend: {
|
||||||
// data: legendData,
|
data: legendData,
|
||||||
icon: 'circle',
|
icon: 'circle',
|
||||||
top: '0%',
|
top: '0%',
|
||||||
right: '5%',
|
right: '5%',
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="pb-5 h100">
|
<div class="pb-5 h100">
|
||||||
<div class="d-flex align-center justify-space-between">
|
<div class="d-flex align-center justify-space-between">
|
||||||
<span class="grid-title">공통그룹코드</span>
|
<span class="text-h6">공통그룹코드</span>
|
||||||
<div>
|
<div>
|
||||||
<Buttons
|
<Buttons
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
@ -126,7 +126,7 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '사용여부',
|
header: '사용여부',
|
||||||
name: 'useFg',
|
name: 'useFg',
|
||||||
align: 'left',
|
align: 'center',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
const newValue = _this.pageData.useFgList.filter(
|
const newValue = _this.pageData.useFgList.filter(
|
||||||
item => item.commCd == value,
|
item => item.commCd == value,
|
||||||
|
@ -271,6 +271,63 @@ export default {
|
|||||||
value: myColumns,
|
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;
|
this.loadGrid = true;
|
||||||
},
|
},
|
||||||
async btnActions(action) {
|
async btnActions(action) {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
class="d-flex justify-space-between align-center"
|
class="d-flex justify-space-between align-center"
|
||||||
style="height: 80px;"
|
style="height: 80px;"
|
||||||
>
|
>
|
||||||
<span class="txt">검침 대상 추가 정보</span>
|
<span class="txt custom-subtitle-tab">검침 대상 추가 정보</span>
|
||||||
<Buttons
|
<Buttons
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
:bindingData="gridName"
|
:bindingData="gridName"
|
||||||
@ -20,8 +20,6 @@
|
|||||||
:editorGrid="true"
|
:editorGrid="true"
|
||||||
:innerTabGridInfo="innerTabGridInfo"
|
:innerTabGridInfo="innerTabGridInfo"
|
||||||
@getRowsData="getRowData"
|
@getRowsData="getRowData"
|
||||||
:selectedRowDataWatchFlag="true"
|
|
||||||
:dataPath="dataPathMock"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -55,23 +53,10 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
gridName: 'rowDetailGrid',
|
gridName: 'rowDetailGrid',
|
||||||
rowKey: null,
|
rowKey: null,
|
||||||
edtingFinishFlag: 'Y',
|
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: {
|
computed: {
|
||||||
@ -276,7 +261,7 @@ export default {
|
|||||||
{ header: '검침 대상 ID', name: 'readObjId', hidden: true },
|
{ header: '검침 대상 ID', name: 'readObjId', hidden: true },
|
||||||
{
|
{
|
||||||
header: '추가 정보',
|
header: '추가 정보',
|
||||||
name: 'addInfoId',
|
name: 'addInfoId',
|
||||||
align: 'left',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
let retVal = '';
|
let retVal = '';
|
||||||
@ -461,25 +446,4 @@ export default {
|
|||||||
search() {},
|
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>
|
</script>
|
||||||
|
@ -67,7 +67,6 @@
|
|||||||
:gridName="gridName"
|
:gridName="gridName"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
@getRowsData="getRowData"
|
@getRowsData="getRowData"
|
||||||
:dataPath="dataPathMock"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -132,22 +131,8 @@ export default {
|
|||||||
return {
|
return {
|
||||||
myPrgmId: myPrgmId,
|
myPrgmId: myPrgmId,
|
||||||
gridName: 'rowGrid',
|
gridName: 'rowGrid',
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
detailList: myDetail,
|
detailList: myDetail,
|
||||||
dataPathMock : {
|
|
||||||
rowGrid: {
|
|
||||||
column: [
|
|
||||||
{ header: '추가 정보 그룹', name: 'addGrpId', align: 'left' },
|
|
||||||
{ header: '추가 정보 ID', name: 'addInfoId', align: 'left' },
|
|
||||||
{ header: '추가 정보 명', name: 'addInfoNm', align: 'left' },
|
|
||||||
{ header: 'Data 형식', name: 'addInfoDataKind', align: 'center' },
|
|
||||||
{ header: '사용여부', name: 'useFg', align: 'center' },
|
|
||||||
],
|
|
||||||
data: dataMockExample,
|
|
||||||
defaultRow: dataMockExample,
|
|
||||||
option: {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -518,43 +503,4 @@ const myDetail = [
|
|||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const dataMockExample = [
|
|
||||||
{
|
|
||||||
addGrpId: 'GRP001',
|
|
||||||
addInfoId: 'INFO001',
|
|
||||||
addInfoNm: '온도 센서',
|
|
||||||
addInfoDataKind: 'DATA01',
|
|
||||||
useFg: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
addGrpId: 'GRP002',
|
|
||||||
addInfoId: 'INFO002',
|
|
||||||
addInfoNm: '압력 센서',
|
|
||||||
addInfoDataKind: 'DATA02',
|
|
||||||
useFg: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
addGrpId: 'GRP003',
|
|
||||||
addInfoId: 'INFO003',
|
|
||||||
addInfoNm: '압력 센서',
|
|
||||||
addInfoDataKind: 'DATA03',
|
|
||||||
useFg: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
addGrpId: 'GRP004',
|
|
||||||
addInfoId: 'INFO004',
|
|
||||||
addInfoNm: '압력 센서',
|
|
||||||
addInfoDataKind: 'DATA04',
|
|
||||||
useFg: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
addGrpId: 'GRP005',
|
|
||||||
addInfoId: 'INFO005',
|
|
||||||
addInfoNm: '압력 센서',
|
|
||||||
addInfoDataKind: 'DATA05',
|
|
||||||
useFg: false,
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -4,28 +4,24 @@
|
|||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<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="center" no-gutters>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2">
|
||||||
<InputText
|
<InputText
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
label="배치ID"
|
label="배치ID"
|
||||||
valueNm="batchId"
|
valueNm="batchId"
|
||||||
:searchOption="true"
|
:searchOption="true"
|
||||||
:iconShow="true"
|
|
||||||
customClass="input-large"
|
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2">
|
||||||
<InputText
|
<InputText
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
label="배치명"
|
label="배치명"
|
||||||
valueNm="batchNm"
|
valueNm="batchNm"
|
||||||
:searchOption="true"
|
:searchOption="true"
|
||||||
:iconShow="true"
|
|
||||||
customClass="input-large"
|
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2">
|
||||||
<component
|
<component
|
||||||
:is="'selectCodeList'"
|
:is="'selectCodeList'"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
@ -33,21 +29,19 @@
|
|||||||
:dataKey="'execRsltCd'"
|
:dataKey="'execRsltCd'"
|
||||||
:sendParam="{ commGrpCd: 'CO_BATCH_EXEC_RSLT', useFg: '1' }"
|
:sendParam="{ commGrpCd: 'CO_BATCH_EXEC_RSLT', useFg: '1' }"
|
||||||
:addAll="true"
|
:addAll="true"
|
||||||
:iconShow="true"
|
|
||||||
customClass="select-large"
|
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2">
|
||||||
<component
|
<component
|
||||||
:is="'Datepicker'"
|
:is="'Datepicker'"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
:label="'조회기간'"
|
:label="'조회기간'"
|
||||||
:customClass="'input-large'"
|
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2" class="text-right d-flex align-end justify-end ga-1" style="gap: 4px">
|
<v-spacer></v-spacer>
|
||||||
<BtnSearch size="large" />
|
<v-col :cols="4" class="text-right">
|
||||||
<BtnExcelDownload :parentPrgmId="myPrgmId" :gridName="gridName" size="large" />
|
<BtnSearch />
|
||||||
|
<BtnExcelDownload :parentPrgmId="myPrgmId" :gridName="gridName" />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-card>
|
</v-card>
|
||||||
@ -63,11 +57,10 @@
|
|||||||
<div ref="gridParent" class="px-5 h100">
|
<div ref="gridParent" class="px-5 h100">
|
||||||
<component
|
<component
|
||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
:is=" 'Grid' "
|
:is="loadGrid ? 'Grid' : null"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
:gridName="gridName"
|
:gridName="gridName"
|
||||||
@getRowsData="getRowData"
|
@getRowsData="getRowData"
|
||||||
:dataPath="dataPathMock"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -140,56 +133,10 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
myPrgmId: myPrgmId,
|
myPrgmId: myPrgmId,
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
gridName: 'rowGrid',
|
gridName: 'rowGrid',
|
||||||
// rowGridOrigin: [],
|
// rowGridOrigin: [],
|
||||||
detailList: myDetail,
|
detailList: myDetail,
|
||||||
dataPathMock : {
|
|
||||||
'rowGrid': {
|
|
||||||
column: [
|
|
||||||
{ header: 'No.', name: 'batchLogSeq', align: 'center', width: 100 },
|
|
||||||
{ header: '배치ID', name: 'batchId', align: 'center', width: 100 },
|
|
||||||
{ header: '배치명', name: 'batchNm', align: 'left', width: 150 },
|
|
||||||
{ header: '실행 일자', name: 'execDt', align: 'center', width: 80 },
|
|
||||||
{
|
|
||||||
header: '실행 결과',
|
|
||||||
name: 'execRsltCd',
|
|
||||||
align: 'center',
|
|
||||||
width: 80,
|
|
||||||
// formatter({ value }) {
|
|
||||||
// let retVal = '';
|
|
||||||
// const newValue = _this.pageData.execRsltCdList.filter(
|
|
||||||
// item => item.commCd == value,
|
|
||||||
// );
|
|
||||||
// if (newValue.length > 0) {
|
|
||||||
// retVal = newValue[0].commCdNm;
|
|
||||||
// }
|
|
||||||
// return retVal;
|
|
||||||
// },
|
|
||||||
}, // "1": 프로그램, "2": 팝업
|
|
||||||
{ header: '실행 로그', name: 'execLogCont', minWidth: 150 },
|
|
||||||
{
|
|
||||||
header: '배치 시작 일시',
|
|
||||||
name: 'batchStrtDttm',
|
|
||||||
align: 'center',
|
|
||||||
width: 160,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '배치 종료 일시',
|
|
||||||
name: 'batchEndDttm',
|
|
||||||
align: 'center',
|
|
||||||
width: 160,
|
|
||||||
},
|
|
||||||
{ header: '등록자NO', name: 'regUserNo', width: 120 },
|
|
||||||
{ header: '등록일시', name: 'regDttm', align: 'center', width: 160 },
|
|
||||||
{ header: '수정자NO', name: 'procUserNo', width: 120 },
|
|
||||||
{ header: '수정일시', name: 'procDttm', align: 'center', width: 160 },
|
|
||||||
],
|
|
||||||
data: dataMockExample,
|
|
||||||
defaultRow: dataMockExample,
|
|
||||||
option: {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -248,14 +195,6 @@ export default {
|
|||||||
init() {
|
init() {
|
||||||
// this.layoutInit();
|
// this.layoutInit();
|
||||||
this.gridInit();
|
this.gridInit();
|
||||||
|
|
||||||
// _this.pageData = {
|
|
||||||
// execRsltCdList: [
|
|
||||||
// { commCd: '1', commCdNm: '성공' },
|
|
||||||
// { commCd: '2', commCdNm: '실패' },
|
|
||||||
// ],
|
|
||||||
// };
|
|
||||||
|
|
||||||
},
|
},
|
||||||
// layoutInit() {
|
// layoutInit() {
|
||||||
// const searchFilterHeight = this.$refs.searchFilter.offsetHeight;
|
// const searchFilterHeight = this.$refs.searchFilter.offsetHeight;
|
||||||
@ -368,13 +307,10 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// async getRowData(data) {
|
async getRowData(data) {
|
||||||
async getRowData() {
|
|
||||||
console.log("something")
|
|
||||||
this.setPageData({
|
this.setPageData({
|
||||||
// rowGridSelectKey: data.rowKey,
|
rowGridSelectKey: data.rowKey,
|
||||||
rowGridSelectKey: 1,
|
rowGridSelectData: data,
|
||||||
rowGridSelectData: fakeRowData,
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
compareData(type, newDt) {
|
compareData(type, newDt) {
|
||||||
@ -481,86 +417,16 @@ const defaultData = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const dataMockExample = [
|
|
||||||
{
|
|
||||||
batchLogSeq: 1,
|
|
||||||
batchId: 'BATCH001',
|
|
||||||
batchNm: '일일 데이터 백업',
|
|
||||||
execDt: '2025-07-15',
|
|
||||||
execRsltCd: '1', // sẽ được formatter thành "성공" hoặc tương tự
|
|
||||||
execLogCont: '백업 완료. 오류 없음.',
|
|
||||||
batchStrtDttm: '2025-07-15 01:00:00',
|
|
||||||
batchEndDttm: '2025-07-15 01:30:00',
|
|
||||||
regUserNo: 'admin01',
|
|
||||||
regDttm: '2025-07-15 01:00:00',
|
|
||||||
procUserNo: 'admin02',
|
|
||||||
procDttm: '2025-07-15 01:35:00',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
batchLogSeq: 2,
|
|
||||||
batchId: 'BATCH002',
|
|
||||||
batchNm: '월간 리포트 생성',
|
|
||||||
execDt: '2025-07-01',
|
|
||||||
execRsltCd: '2',
|
|
||||||
execLogCont: '리포트 생성 중 오류 발생: 파일 접근 실패.',
|
|
||||||
batchStrtDttm: '2025-07-01 03:00:00',
|
|
||||||
batchEndDttm: '2025-07-01 03:10:00',
|
|
||||||
regUserNo: 'reportUser',
|
|
||||||
regDttm: '2025-07-01 03:00:00',
|
|
||||||
procUserNo: 'admin03',
|
|
||||||
procDttm: '2025-07-01 03:15:00',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
batchLogSeq: 3,
|
|
||||||
batchId: 'BATCH003',
|
|
||||||
batchNm: '사용자 통계 갱신',
|
|
||||||
execDt: '2025-07-14',
|
|
||||||
execRsltCd: '1',
|
|
||||||
execLogCont: '통계 갱신 완료.',
|
|
||||||
batchStrtDttm: '2025-07-14 23:00:00',
|
|
||||||
batchEndDttm: '2025-07-14 23:20:00',
|
|
||||||
regUserNo: 'statUser',
|
|
||||||
regDttm: '2025-07-14 23:00:00',
|
|
||||||
procUserNo: 'admin01',
|
|
||||||
procDttm: '2025-07-14 23:25:00',
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
const fakeRowData = {
|
|
||||||
rowKey: 1,
|
|
||||||
batchLogSeq: 1,
|
|
||||||
batchId: 'BATCH001',
|
|
||||||
batchNm: '일일 데이터 백업',
|
|
||||||
execDt: '2025-07-15',
|
|
||||||
execRsltCd: '1',
|
|
||||||
execLogCont: JSON.stringify({
|
|
||||||
session: {
|
|
||||||
userNo: 'admin01',
|
|
||||||
userNm: '관리자',
|
|
||||||
comId: 'SKCC',
|
|
||||||
locale: 'ko_KR',
|
|
||||||
},
|
|
||||||
batch: {
|
|
||||||
comId: 'SKCC',
|
|
||||||
totStdDt: '20230110',
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
batchStrtDttm: '2025-07-15 01:00:00',
|
|
||||||
batchEndDttm: '2025-07-15 01:30:00',
|
|
||||||
regUserNo: 'admin01',
|
|
||||||
regDttm: '2025-07-15 01:00:00',
|
|
||||||
procUserNo: 'admin02',
|
|
||||||
procDttm: '2025-07-15 01:35:00',
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
const myDetail = [
|
const myDetail = [
|
||||||
{
|
{
|
||||||
type: 'TextArea',
|
type: 'TextArea',
|
||||||
valueNm: 'execLogCont',
|
valueNm: 'execLogCont',
|
||||||
readonly: true,
|
readonly: true,
|
||||||
cols: 12,
|
cols: 12,
|
||||||
class: 'py-2 transparent',
|
class: 'py-2',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
</script>
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
@import '@/assets/scss/common.scss';
|
||||||
|
</style>
|
||||||
|
@ -1,65 +1,33 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<PageTitle text="공통코드" />
|
|
||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row align="center" no-gutters>
|
<v-row align="center" no-gutters>
|
||||||
<v-col :cols="3">
|
<v-col :cols="4">
|
||||||
<component
|
<component
|
||||||
:is="'selectCodeList'"
|
:is="'selectCodeList'"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
:label="'시스템구분'"
|
:label="'시스템구분'"
|
||||||
dataKey="sysDivCd"
|
dataKey="sysDivCd"
|
||||||
:labelCols="12"
|
|
||||||
:textCols="12"
|
|
||||||
:sendParam="{ commGrpCd: 'CO_SYSDIV', useFg: '1' }"
|
:sendParam="{ commGrpCd: 'CO_SYSDIV', useFg: '1' }"
|
||||||
:addAll="true"
|
:addAll="true"
|
||||||
customClass="select-large"
|
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="4">
|
||||||
<component
|
<component
|
||||||
:is="'selectCodeList'"
|
:is="'selectCodeList'"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
:label="'사용여부'"
|
:label="'사용여부'"
|
||||||
:labelCols="12"
|
|
||||||
:textCols="12"
|
|
||||||
:dataKey="'useFg'"
|
:dataKey="'useFg'"
|
||||||
customClass="select-large"
|
|
||||||
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="4" class="text-right">
|
||||||
<InputText
|
<BtnSearch @click="search" />
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
label="그룹코드"
|
|
||||||
valueNm="commGrpCd"
|
|
||||||
:searchOption="true"
|
|
||||||
:labelCols="12"
|
|
||||||
:textCols="12"
|
|
||||||
customClass="input-large"
|
|
||||||
|
|
||||||
/>
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="3">
|
|
||||||
<InputText
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
label="그룹코드명"
|
|
||||||
valueNm="commGrpCdNm"
|
|
||||||
:searchOption="true"
|
|
||||||
:labelCols="12"
|
|
||||||
:textCols="12"
|
|
||||||
customClass="input-large"
|
|
||||||
|
|
||||||
/>
|
|
||||||
</v-col>
|
|
||||||
|
|
||||||
<v-col :cols="12" class="text-right">
|
|
||||||
<BtnSearch style="margin-top:20px" @click="search" />
|
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<!-- <v-row align="center" no-gutters>
|
<v-row align="center" no-gutters>
|
||||||
<v-col :cols="4">
|
<v-col :cols="4">
|
||||||
<InputText
|
<InputText
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
@ -80,7 +48,7 @@
|
|||||||
:textCols="8"
|
:textCols="8"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row> -->
|
</v-row>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
@ -117,7 +85,7 @@
|
|||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<v-card-title>공통그룹코드 상세</v-card-title>
|
<v-card-title>공통그룹코드 상세</v-card-title>
|
||||||
<div class="px-5" style="height:calc(100% - 70px)">
|
<div class="px-5" style="height:calc(100% - 70px)">
|
||||||
<v-tabs v-model="tab" >
|
<v-tabs v-model="tab" :hide-slider="true">
|
||||||
<v-tab
|
<v-tab
|
||||||
v-for="item in items"
|
v-for="item in items"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
@ -164,7 +132,6 @@ import Form from '~/components/common/form/Form';
|
|||||||
import CommCdTab from '@/components/pages/comm/CommCdTab';
|
import CommCdTab from '@/components/pages/comm/CommCdTab';
|
||||||
import Grid from '~/components/common/Grid';
|
import Grid from '~/components/common/Grid';
|
||||||
import Utility from '~/plugins/utility';
|
import Utility from '~/plugins/utility';
|
||||||
import PageTitle from "~/components/common/PageTitle";
|
|
||||||
|
|
||||||
let myTitle;
|
let myTitle;
|
||||||
let myPrgmId;
|
let myPrgmId;
|
||||||
@ -191,7 +158,6 @@ export default {
|
|||||||
Form,
|
Form,
|
||||||
CommCdTab,
|
CommCdTab,
|
||||||
Grid,
|
Grid,
|
||||||
PageTitle
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -263,9 +229,6 @@ export default {
|
|||||||
|
|
||||||
const myOptions = {
|
const myOptions = {
|
||||||
scrollX: false,
|
scrollX: false,
|
||||||
header: {
|
|
||||||
height: 38,
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
@ -278,7 +241,7 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '시스템구분',
|
header: '시스템구분',
|
||||||
name: 'sysDivCd',
|
name: 'sysDivCd',
|
||||||
align: 'left',
|
align: 'center',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
let commCdNm = '';
|
let commCdNm = '';
|
||||||
if (sysCdList.length > 0) {
|
if (sysCdList.length > 0) {
|
||||||
@ -315,7 +278,7 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '사용여부',
|
header: '사용여부',
|
||||||
name: 'useFg',
|
name: 'useFg',
|
||||||
align: 'left',
|
align: 'center',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
const newValue = _this.pageData.useFgList.filter(
|
const newValue = _this.pageData.useFgList.filter(
|
||||||
item => item.commCd == value,
|
item => item.commCd == value,
|
||||||
@ -591,10 +554,7 @@ const myDetail = [
|
|||||||
valueNm: 'commGrpCd',
|
valueNm: 'commGrpCd',
|
||||||
disabled: true,
|
disabled: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
class: 'py-2',
|
||||||
textCols: 12,
|
|
||||||
iconShow: true,
|
|
||||||
class: 'py-2 pr-2',
|
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -603,10 +563,7 @@ const myDetail = [
|
|||||||
valueNm: 'commGrpNm',
|
valueNm: 'commGrpNm',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
class: 'py-2',
|
||||||
textCols: 12,
|
|
||||||
iconShow: true,
|
|
||||||
class: 'py-2 pl-2',
|
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -615,10 +572,7 @@ const myDetail = [
|
|||||||
valueNm: 'sysDivCd',
|
valueNm: 'sysDivCd',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
class: 'py-2',
|
||||||
textCols: 12,
|
|
||||||
iconShow: true,
|
|
||||||
class: 'py-2 pr-2 mt-3',
|
|
||||||
list: 'sysDivCdList',
|
list: 'sysDivCdList',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
itemValue: 'commCd',
|
itemValue: 'commCd',
|
||||||
@ -630,10 +584,7 @@ const myDetail = [
|
|||||||
valueNm: 'useFg',
|
valueNm: 'useFg',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
class: 'py-2',
|
||||||
textCols: 12,
|
|
||||||
iconShow: true,
|
|
||||||
class: 'py-2 pl-2 mt-10',
|
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
@ -643,10 +594,7 @@ const myDetail = [
|
|||||||
valueNm: 'rmrk',
|
valueNm: 'rmrk',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
class: 'py-2',
|
||||||
textCols: 12,
|
|
||||||
iconShow: true,
|
|
||||||
class: 'py-2 pr-2 mt-3',
|
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
</script>
|
</script>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,6 @@
|
|||||||
:textCols="12"
|
:textCols="12"
|
||||||
:labelCols="12"
|
:labelCols="12"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
:customClass="'select-large'"
|
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
@ -23,7 +22,6 @@
|
|||||||
dataKey="searchErcKind"
|
dataKey="searchErcKind"
|
||||||
:sendParam="{ commGrpCd: 'EM_ERCKIND', useFg: '1' }"
|
:sendParam="{ commGrpCd: 'EM_ERCKIND', useFg: '1' }"
|
||||||
:addAll="true"
|
:addAll="true"
|
||||||
:customClass="'select-large'"
|
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
@ -36,9 +34,13 @@
|
|||||||
:addAll="true"
|
:addAll="true"
|
||||||
:textCols="12"
|
:textCols="12"
|
||||||
:labelCols="12"
|
:labelCols="12"
|
||||||
:customClass="'select-large'"
|
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
<v-col :cols="3" class="text-right">
|
||||||
|
<BtnSearch @click="search" />
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
<v-row align="center" no-gutters>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<component
|
<component
|
||||||
:is="'selectCodeList'"
|
:is="'selectCodeList'"
|
||||||
@ -47,11 +49,8 @@
|
|||||||
dataKey="searchChrgKind"
|
dataKey="searchChrgKind"
|
||||||
:sendParam="{ commGrpCd: 'EM_ENGCHAGKIND', useFg: '1' }"
|
:sendParam="{ commGrpCd: 'EM_ENGCHAGKIND', useFg: '1' }"
|
||||||
:addAll="true"
|
:addAll="true"
|
||||||
:customClass="'select-large'"
|
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
|
||||||
<v-row align="center" no-gutters>
|
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<component
|
<component
|
||||||
:is="'selectCodeList'"
|
:is="'selectCodeList'"
|
||||||
@ -60,7 +59,6 @@
|
|||||||
dataKey="useFg"
|
dataKey="useFg"
|
||||||
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
||||||
:addAll="true"
|
:addAll="true"
|
||||||
:customClass="'select-large'"
|
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
@ -71,14 +69,8 @@
|
|||||||
:textCols="12"
|
:textCols="12"
|
||||||
:labelCols="12"
|
:labelCols="12"
|
||||||
:searchOption="true"
|
:searchOption="true"
|
||||||
:customClass="'input-large'"
|
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="3" class="text-right">
|
|
||||||
<BtnSearch :size="'default'" @click="search" />
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -331,9 +323,6 @@ export default {
|
|||||||
columnOptions: {
|
columnOptions: {
|
||||||
resizable: true,
|
resizable: true,
|
||||||
},
|
},
|
||||||
header: {
|
|
||||||
height: 38,
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
@ -343,12 +332,12 @@ export default {
|
|||||||
const _this = this;
|
const _this = this;
|
||||||
const myColumns = [
|
const myColumns = [
|
||||||
{ header: '회사 ID', name: 'comId', hidden: true },
|
{ header: '회사 ID', name: 'comId', hidden: true },
|
||||||
{ header: '에너지원ID', name: 'ercId', width: 120, align: 'left' },
|
{ header: '에너지원ID', name: 'ercId', width: 120, align: 'center' },
|
||||||
{ header: '에너지원명', name: 'ercNm', align: 'left' },
|
{ header: '에너지원명', name: 'ercNm', align: 'left' },
|
||||||
{
|
{
|
||||||
header: '에너지원 유형',
|
header: '에너지원 유형',
|
||||||
name: 'ercKind',
|
name: 'ercKind',
|
||||||
align: 'left',
|
align: 'center',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
let retVal = '';
|
let retVal = '';
|
||||||
const newValue = _this.pageData.ercKindList.filter(
|
const newValue = _this.pageData.ercKindList.filter(
|
||||||
@ -461,7 +450,7 @@ export default {
|
|||||||
header: '사용 여부',
|
header: '사용 여부',
|
||||||
name: 'useFg',
|
name: 'useFg',
|
||||||
width: 95,
|
width: 95,
|
||||||
align: 'left',
|
align: 'center',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
value = value === true ? '1' : '0';
|
value = value === true ? '1' : '0';
|
||||||
const newValue = _this.pageData.useFgList.filter(
|
const newValue = _this.pageData.useFgList.filter(
|
||||||
@ -490,24 +479,74 @@ export default {
|
|||||||
this.loadGrid = true;
|
this.loadGrid = true;
|
||||||
},
|
},
|
||||||
async getRowGridData() {
|
async getRowGridData() {
|
||||||
let res = [];
|
let res = [
|
||||||
|
{
|
||||||
|
"comId": "COM001",
|
||||||
|
"ercId": "ERC001",
|
||||||
|
"ercNm": "LNG 가스",
|
||||||
|
"ercKind": "GAS",
|
||||||
|
"readObjId": "READ001",
|
||||||
|
"readPlcId": "PLC001",
|
||||||
|
"chrgKind": "FIXED",
|
||||||
|
"unitPrce": 120.5,
|
||||||
|
"prceFg": "1",
|
||||||
|
"peakPow": 500,
|
||||||
|
"elecContId": "EC001",
|
||||||
|
"elecContNm": "계약A",
|
||||||
|
"blocId": "BLOC001",
|
||||||
|
"useFg": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comId": "COM002",
|
||||||
|
"ercId": "ERC002",
|
||||||
|
"ercNm": "태양광",
|
||||||
|
"ercKind": "ELEC",
|
||||||
|
"readObjId": "READ002",
|
||||||
|
"readPlcId": "PLC002",
|
||||||
|
"chrgKind": "VARIABLE",
|
||||||
|
"unitPrce": 95.0,
|
||||||
|
"prceFg": "0",
|
||||||
|
"peakPow": 300,
|
||||||
|
"elecContId": "EC002",
|
||||||
|
"elecContNm": "계약B",
|
||||||
|
"blocId": "BLOC002",
|
||||||
|
"useFg": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comId": "COM003",
|
||||||
|
"ercId": "ERC003",
|
||||||
|
"ercNm": "지열",
|
||||||
|
"ercKind": "HEAT",
|
||||||
|
"readObjId": "READ003",
|
||||||
|
"readPlcId": "PLC003",
|
||||||
|
"chrgKind": "FIXED",
|
||||||
|
"unitPrce": 110.0,
|
||||||
|
"prceFg": "1",
|
||||||
|
"peakPow": 450,
|
||||||
|
"elecContId": "EC003",
|
||||||
|
"elecContNm": "계약C",
|
||||||
|
"blocId": "BLOC003",
|
||||||
|
"useFg": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
;
|
||||||
|
|
||||||
if (this.pageData.blocMstrList.length > 0) {
|
// if (this.pageData.blocMstrList.length > 0) {
|
||||||
res = await this.postApiReturn({
|
// res = await this.postApiReturn({
|
||||||
apiKey: 'selectErcInfo',
|
// apiKey: 'selectErcInfo',
|
||||||
resKey: 'ercInfoData',
|
// resKey: 'ercInfoData',
|
||||||
sendParam: {
|
// sendParam: {
|
||||||
blocId: this.pageData.blocMstrList[this.pageData.blocId].blocId,
|
// blocId: this.pageData.blocMstrList[this.pageData.blocId].blocId,
|
||||||
ercKind: this.pageData.searchErcKind,
|
// ercKind: this.pageData.searchErcKind,
|
||||||
readObjId: this.pageData.searchReadObj,
|
// readObjId: this.pageData.searchReadObj,
|
||||||
chrgKind: this.pageData.searchChrgKind,
|
// chrgKind: this.pageData.searchChrgKind,
|
||||||
useFg: this.pageData.useFg,
|
// useFg: this.pageData.useFg,
|
||||||
ercNmLike: this.pageData.ercNm,
|
// ercNmLike: this.pageData.ercNm,
|
||||||
},
|
// },
|
||||||
});
|
// });
|
||||||
} else {
|
// } else {
|
||||||
this.setPageData({ isFind: false });
|
// this.setPageData({ isFind: false });
|
||||||
}
|
// }
|
||||||
const newRes = res.map(item => {
|
const newRes = res.map(item => {
|
||||||
const newObj = {
|
const newObj = {
|
||||||
...item,
|
...item,
|
||||||
@ -759,8 +798,133 @@ const defaultData = {
|
|||||||
/* data 세팅 */
|
/* data 세팅 */
|
||||||
// 로컬 gridName 값과 동일한 이름으로 세팅
|
// 로컬 gridName 값과 동일한 이름으로 세팅
|
||||||
rowGrid: {
|
rowGrid: {
|
||||||
data: [],
|
data: [
|
||||||
column: [], // myColumns,
|
{
|
||||||
|
"comId": "COM001",
|
||||||
|
"ercId": "ERC001",
|
||||||
|
"ercNm": "LNG 가스",
|
||||||
|
"ercKind": "GAS",
|
||||||
|
"readObjId": "READ001",
|
||||||
|
"readPlcId": "PLC001",
|
||||||
|
"chrgKind": "FIXED",
|
||||||
|
"unitPrce": 120.5,
|
||||||
|
"prceFg": "1",
|
||||||
|
"peakPow": 500,
|
||||||
|
"elecContId": "EC001",
|
||||||
|
"elecContNm": "계약A",
|
||||||
|
"blocId": "BLOC001",
|
||||||
|
"useFg": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comId": "COM002",
|
||||||
|
"ercId": "ERC002",
|
||||||
|
"ercNm": "태양광",
|
||||||
|
"ercKind": "ELEC",
|
||||||
|
"readObjId": "READ002",
|
||||||
|
"readPlcId": "PLC002",
|
||||||
|
"chrgKind": "VARIABLE",
|
||||||
|
"unitPrce": 95.0,
|
||||||
|
"prceFg": "0",
|
||||||
|
"peakPow": 300,
|
||||||
|
"elecContId": "EC002",
|
||||||
|
"elecContNm": "계약B",
|
||||||
|
"blocId": "BLOC002",
|
||||||
|
"useFg": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"comId": "COM003",
|
||||||
|
"ercId": "ERC003",
|
||||||
|
"ercNm": "지열",
|
||||||
|
"ercKind": "HEAT",
|
||||||
|
"readObjId": "READ003",
|
||||||
|
"readPlcId": "PLC003",
|
||||||
|
"chrgKind": "FIXED",
|
||||||
|
"unitPrce": 110.0,
|
||||||
|
"prceFg": "1",
|
||||||
|
"peakPow": 450,
|
||||||
|
"elecContId": "EC003",
|
||||||
|
"elecContNm": "계약C",
|
||||||
|
"blocId": "BLOC003",
|
||||||
|
"useFg": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
column: [
|
||||||
|
{ header: '회사 ID', name: 'comId', hidden: true },
|
||||||
|
{ header: '에너지원ID', name: 'ercId', width: 120, align: 'center' },
|
||||||
|
{ header: '에너지원명', name: 'ercNm', align: 'left' },
|
||||||
|
{
|
||||||
|
header: '에너지원 유형',
|
||||||
|
name: 'ercKind',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '검침대상',
|
||||||
|
name: 'readObjId',
|
||||||
|
align: 'left',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '검침 개소 ID',
|
||||||
|
name: 'readPlcId',
|
||||||
|
width: 80,
|
||||||
|
align: 'center',
|
||||||
|
hidden: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '고지 유형',
|
||||||
|
name: 'chrgKind',
|
||||||
|
width: 80,
|
||||||
|
align: 'center',
|
||||||
|
hidden: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '기본단가',
|
||||||
|
name: 'unitPrce',
|
||||||
|
width: 100,
|
||||||
|
align: 'right',
|
||||||
|
hidden: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '단가 사용여부',
|
||||||
|
name: 'prceFg',
|
||||||
|
width: 100,
|
||||||
|
align: 'center',
|
||||||
|
hidden: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '피크 전력',
|
||||||
|
name: 'peakPow',
|
||||||
|
width: 100,
|
||||||
|
align: 'right',
|
||||||
|
hidden: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '전력 계약',
|
||||||
|
name: 'elecContId',
|
||||||
|
width: 100,
|
||||||
|
align: 'center',
|
||||||
|
hidden: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '전력 계약',
|
||||||
|
name: 'elecContNm',
|
||||||
|
width: 100,
|
||||||
|
align: 'center',
|
||||||
|
hidden: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '사업장',
|
||||||
|
name: 'blocId',
|
||||||
|
width: 100,
|
||||||
|
align: 'center',
|
||||||
|
hidden: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '사용 여부',
|
||||||
|
name: 'useFg',
|
||||||
|
width: 95,
|
||||||
|
align: 'center',
|
||||||
|
}
|
||||||
|
], // myColumns,
|
||||||
option: {}, // myOptions
|
option: {}, // myOptions
|
||||||
defaultRow: {
|
defaultRow: {
|
||||||
comId: '',
|
comId: '',
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
customClass="select-large"
|
customClass="select-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<InputText
|
<InputText
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
label="검침대상명"
|
label="검침대상명"
|
||||||
@ -69,7 +69,6 @@
|
|||||||
@getRowsData="getRowData"
|
@getRowsData="getRowData"
|
||||||
@sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
@sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
||||||
:selectedRowDataWatchFlag="true"
|
:selectedRowDataWatchFlag="true"
|
||||||
:dataPath="dataPathMock"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -81,7 +80,7 @@
|
|||||||
>검침대상 상세
|
>검침대상 상세
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<div class="px-5" style="height:calc(100% - 76px)">
|
<div class="px-5" style="height:calc(100% - 76px)">
|
||||||
<v-tabs v-model="tab" >
|
<v-tabs v-model="tab">
|
||||||
<v-tab
|
<v-tab
|
||||||
v-for="item in items"
|
v-for="item in items"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
@ -188,26 +187,8 @@ export default {
|
|||||||
return {
|
return {
|
||||||
myPrgmId: myPrgmId,
|
myPrgmId: myPrgmId,
|
||||||
gridName: 'rowGrid',
|
gridName: 'rowGrid',
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
tab: null,
|
tab: null,
|
||||||
dataPathMock: {
|
|
||||||
"rowGrid": {
|
|
||||||
column: [
|
|
||||||
{ header: '검침 대상 ID', name: 'readObjId', align: 'left' },
|
|
||||||
{ header: '검침 대상 명', name: 'readObjNm', align: 'left' },
|
|
||||||
{ header: '검침 대상 유형', name: 'readObjKind', align: 'left' },
|
|
||||||
{ header: '그룹', name: 'grpCd', align: 'left' },
|
|
||||||
{ header: 'TJ 환산계수', name: 'tjCvrtCoef', align: 'right' },
|
|
||||||
{ header: 'TOE 환산계수', name: 'toeCvrtCoef', align: 'right' },
|
|
||||||
{ header: 'CO2 환산계수', name: 'co2CvrtCoef', align: 'right' },
|
|
||||||
{ header: '단위', name: 'unitCd', align: 'left' },
|
|
||||||
{ header: '사용 여부', name: 'useFg', align: 'center' },
|
|
||||||
],
|
|
||||||
data: dataPathDataExample,
|
|
||||||
defaultRow: dataPathDataExample,
|
|
||||||
option: {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
items: [
|
items: [
|
||||||
{
|
{
|
||||||
name: '검침 대상 정보',
|
name: '검침 대상 정보',
|
||||||
@ -724,8 +705,8 @@ const defaultData = {
|
|||||||
},
|
},
|
||||||
buttonAuth: {
|
buttonAuth: {
|
||||||
add: true,
|
add: true,
|
||||||
save: true,
|
|
||||||
remove: true,
|
remove: true,
|
||||||
|
save: true,
|
||||||
excel: false,
|
excel: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -873,40 +854,7 @@ const myDetail = [
|
|||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
const dataPathDataExample = [
|
|
||||||
{
|
|
||||||
readObjId: 'OBJ001',
|
|
||||||
readObjNm: '서울 본사',
|
|
||||||
readObjKind: 'TYPE01',
|
|
||||||
grpCd: 'GRP01',
|
|
||||||
tjCvrtCoef: 1.25,
|
|
||||||
toeCvrtCoef: 0.85,
|
|
||||||
co2CvrtCoef: 2.1,
|
|
||||||
unitCd: 'kWh',
|
|
||||||
useFg: '1',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
readObjId: 'OBJ002',
|
|
||||||
readObjNm: '부산 지사',
|
|
||||||
readObjKind: 'TYPE02',
|
|
||||||
grpCd: 'GRP02',
|
|
||||||
tjCvrtCoef: 1.10,
|
|
||||||
toeCvrtCoef: 0.90,
|
|
||||||
co2CvrtCoef: 1.8,
|
|
||||||
unitCd: 'MJ',
|
|
||||||
useFg: '0',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
readObjId: 'OBJ003',
|
|
||||||
readObjNm: '대전 공장',
|
|
||||||
readObjKind: 'TYPE03',
|
|
||||||
grpCd: 'GRP01',
|
|
||||||
tjCvrtCoef: 1.30,
|
|
||||||
toeCvrtCoef: 0.95,
|
|
||||||
co2CvrtCoef: 2.3,
|
|
||||||
unitCd: 'GJ',
|
|
||||||
useFg: '1',
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
@import '@/assets/scss/common.scss';
|
||||||
|
</style>
|
||||||
|
@ -195,51 +195,68 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async getEqpmKind() {
|
async getEqpmKind() {
|
||||||
let res = await this.postApiReturn({
|
// let res = await this.postApiReturn({
|
||||||
apiKey: 'selectEqpmKindCodeList',
|
// apiKey: "selectEqpmKindCodeList",
|
||||||
resKey: 'eqpmKindCodeLists',
|
// resKey: "eqpmKindCodeLists",
|
||||||
sendParam: {},
|
// sendParam: {},
|
||||||
});
|
// });
|
||||||
|
|
||||||
if (res.length > 0) {
|
let res = [
|
||||||
this.selectValueList01 = await res.map(item => {
|
{
|
||||||
return {
|
eqpmKindId: "냉동기저온",
|
||||||
text: item.eqpmKindNm,
|
eqpmKindNm: "냉동기저온",
|
||||||
value: item.eqpmKindId,
|
},
|
||||||
};
|
{
|
||||||
});
|
eqpmKindId: "냉동기고온",
|
||||||
this.selectValue01 = this.selectValueList01[0].value;
|
eqpmKindNm: "냉동기고온",
|
||||||
} else {
|
},
|
||||||
this.selectValueList01 = [];
|
];
|
||||||
this.selectValue01 = null;
|
|
||||||
}
|
if (res.length > 0) {
|
||||||
this.setPageData({
|
this.selectValueList01 = await res.map((item) => {
|
||||||
eqpmKindList: this.selectValueList01,
|
return {
|
||||||
eqpmKindId: this.selectValue01,
|
// text: item.eqpmKindNm,
|
||||||
});
|
label: item.eqpmKindNm,
|
||||||
},
|
value: item.eqpmKindId,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
this.selectValue01 = this.selectValueList01[0].value;
|
||||||
|
} else {
|
||||||
|
this.selectValueList01 = [];
|
||||||
|
this.selectValue01 = null;
|
||||||
|
}
|
||||||
|
this.setPageData({
|
||||||
|
eqpmKindList: this.selectValueList01,
|
||||||
|
eqpmKindId: this.selectValue01,
|
||||||
|
});
|
||||||
|
},
|
||||||
gridInit() {},
|
gridInit() {},
|
||||||
getRowGridData() {},
|
getRowGridData() {},
|
||||||
async getData() {
|
async getData() {
|
||||||
let res = await this.postApiReturn({
|
// let res = await this.postApiReturn({
|
||||||
apiKey: 'selectEnrgEffcTotSumm',
|
// apiKey: "selectEnrgEffcTotSumm",
|
||||||
resKey: 'totSummData',
|
// resKey: "totSummData",
|
||||||
sendParam: {
|
// sendParam: {
|
||||||
fromDt: this.pageData.fromDt,
|
// fromDt: this.pageData.fromDt,
|
||||||
eqpmKindId: this.selectValue01,
|
// eqpmKindId: this.selectValue01,
|
||||||
},
|
// },
|
||||||
});
|
// });
|
||||||
|
let res = ["aaa", "bbb"];
|
||||||
|
await this.getChartData(res);
|
||||||
|
|
||||||
await this.getChartData(res);
|
// this.selectData = res.filter((item, i) => {
|
||||||
|
// return (
|
||||||
|
// res.findIndex((item2, j) => {
|
||||||
|
// return item.eqpmGrpId === item2.eqpmGrpId;
|
||||||
|
// }) === i
|
||||||
|
// );
|
||||||
|
// });
|
||||||
|
|
||||||
this.selectData = res.filter((item, i) => {
|
this.selectData = [
|
||||||
return (
|
{ eqpmGrpId: "G001", eqpmGrpNm: "Group A", otherProp: "..." },
|
||||||
res.findIndex((item2, j) => {
|
{ eqpmGrpId: "G002", eqpmGrpNm: "Group B", otherProp: "..." },
|
||||||
return item.eqpmGrpId === item2.eqpmGrpId;
|
];
|
||||||
}) === i
|
},
|
||||||
);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
barClick(event, chartName) {
|
barClick(event, chartName) {
|
||||||
var data = {};
|
var data = {};
|
||||||
if (chartName == "card") {
|
if (chartName == "card") {
|
||||||
@ -274,40 +291,52 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async getChartData(data) {
|
async getChartData(data) {
|
||||||
var chartDataObj = {};
|
var chartDataObj = {};
|
||||||
this.objList = {};
|
this.objList = {};
|
||||||
// let res = await this.postApiReturn({
|
// let res = await this.postApiReturn({
|
||||||
// apiKey : 'selectEnrgEffcTotSumm',
|
// apiKey : 'selectEnrgEffcTotSumm',
|
||||||
// resKey : 'totSummData',
|
// resKey : 'totSummData',
|
||||||
// sendParam:{
|
// sendParam:{
|
||||||
// fromDt : this.pageData.fromDt,
|
// fromDt : this.pageData.fromDt,
|
||||||
// eqpmKindId : this.pageData.eqpmKindId,
|
// eqpmKindId : this.pageData.eqpmKindId,
|
||||||
// }
|
// }
|
||||||
// });
|
// });
|
||||||
|
|
||||||
data.map(item => {
|
// data.map((item) => {
|
||||||
if (chartDataObj[item.eqpmGrpId] != null) {
|
// if (chartDataObj[item.eqpmGrpId] != null) {
|
||||||
chartDataObj[item.eqpmGrpId].push(item);
|
// chartDataObj[item.eqpmGrpId].push(item);
|
||||||
} else {
|
// } else {
|
||||||
chartDataObj[item.eqpmGrpId] = [item];
|
// chartDataObj[item.eqpmGrpId] = [item];
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
|
||||||
// chartDataObj.keys()[0]
|
chartDataObj = {
|
||||||
var i = 0;
|
group1: [
|
||||||
for (var x of Object.keys(chartDataObj)) {
|
{ fabNm: "Fab A", okCnt: 120, ngCnt: 30 },
|
||||||
this.loadChartList.push(false);
|
{ fabNm: "Fab B", okCnt: 150, ngCnt: 20 },
|
||||||
i++;
|
{ fabNm: "Fab C", okCnt: 100, ngCnt: 50 },
|
||||||
this.objList['chart_0' + i] = chartDataObj[x];
|
],
|
||||||
this.chartNameList.push('chart_0' + i);
|
group2: [
|
||||||
this.setPageData({
|
{ fabNm: "Fab D", okCnt: 180, ngCnt: 10 },
|
||||||
[this.chartNameList[i - 1]]: Utility.defaultChartOption(true),
|
{ fabNm: "Fab E", okCnt: 160, ngCnt: 25 },
|
||||||
});
|
{ fabNm: "Fab F", okCnt: 140, ngCnt: 35 },
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
this.setChartData(chartDataObj[x], i);
|
// chartDataObj.keys()[0]
|
||||||
}
|
var i = 0;
|
||||||
// this.setChartData(chartDataObj[Object.keys(chartDataObj)[0]]);
|
for (var x of Object.keys(chartDataObj)) {
|
||||||
},
|
this.loadChartList.push(false);
|
||||||
|
i++;
|
||||||
|
this.objList["chart_0" + i] = chartDataObj[x];
|
||||||
|
this.chartNameList.push("chart_0" + i);
|
||||||
|
this.setPageData({
|
||||||
|
[this.chartNameList[i - 1]]: Utility.defaultChartOption(true),
|
||||||
|
});
|
||||||
|
this.setChartData(chartDataObj[x], i);
|
||||||
|
}
|
||||||
|
// this.setChartData(chartDataObj[Object.keys(chartDataObj)[0]]);
|
||||||
|
},
|
||||||
async setChartData(data, number) {
|
async setChartData(data, number) {
|
||||||
this.loadChartList[number - 1] = false;
|
this.loadChartList[number - 1] = false;
|
||||||
let xAxisData = [];
|
let xAxisData = [];
|
||||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user