Update s14 s29 + Fix bugs s1 + Update datepicker height #22

Merged
dev merged 3 commits from dev-nghiantt-s1s29 into dev 2025-07-30 16:05:40 +09:00
10 changed files with 641 additions and 1029 deletions

View File

@ -14,10 +14,13 @@
position: relative;
border-radius: 6px;
border: solid 1px;
height: 40px;
height: 32px;
// border-color: #424242;
border-color: map-deep-get($config, #{$theme}, "tui-datepicker-border-color");
&.datepicker-large {
height: 40px;
}
.v-input {

View File

@ -9,7 +9,7 @@
</label>
</v-col>
<v-col :cols="label ? textCols : ''">
<div class="datepicker-container" >
<div :class="['datepicker-container', customClass]" >
<v-text-field
id="startpicker"
ref="startpicker"
@ -93,7 +93,12 @@ export default {
type:Boolean,
require:false,
default: true
}
},
customClass: {
type: String,
require: false,
},
},
data() {
return {

View File

@ -16,6 +16,7 @@ export default function getLineChartOption({
const color = item.color || defaultColors[index % defaultColors.length];
return {
...item,
showSymbol: true, // Show symbol at each data point
itemStyle: {
color,
},
@ -27,9 +28,9 @@ export default function getLineChartOption({
left: '3%',
right: '5%',
top: '25%',
bottom: '0%',
containLabel: true,
},
legend: {
// data: legendData,
icon: 'circle',
@ -37,7 +38,7 @@ export default function getLineChartOption({
right: '5%',
orient: 'horizontal',
textStyle: {
color: isDarkMode ? '#676A7B' : '#676A7B',
color: isDarkMode ? 'white' : '#676A7B',
},
},
xAxis: {

View File

@ -10,7 +10,7 @@
</v-col>
<v-col cols="3">
<!-- <component :is="'SelectDateSolo'" :parentPrgmId="myPrgmId" /> -->
<DatePicker :parentPrgmId="myPrgmId" :label="'조회연월'" />
<DatePicker :parentPrgmId="myPrgmId" customClass="datepicker-large" :label="'조회연월'" />
</v-col>
<v-col cols="6" class="text-right">
<BtnSearch @click="search()" size="large" />

View File

@ -1,6 +1,6 @@
<template>
<div class="l-layout">
<PageTitle text="공통코드" />
<CommonPageTitle/>
<v-row ref="searchFilter">
<v-col :cols="12">
<v-card class="searchFilter">
@ -56,7 +56,7 @@
</v-col>
<v-col :cols="12" class="text-right">
<BtnSearch style="margin-top:20px" @click="search" />
<BtnSearch style="margin-top:20px" @click="search" size="large" />
</v-col>
</v-row>
<!-- <v-row align="center" no-gutters>

View File

@ -1,7 +1,6 @@
<template>
<div class="l-layout">
<!-- <h1 class="h1-title">대시보드</h1> -->
<PageTitle text="대시보드" />
<CommonPageTitle/>
<!-- <CheckBox
:parentPrgmId="myPrgmId"
label="사용여부"
@ -600,7 +599,7 @@ export default {
this.getEnrgUsage();
},
isDarkMode(newVal) {
// let chartOption = this.getGuageChartOption2(this.chart_01);
// Update color of dark mode or light mode into each charts
let chartOption = getGaugeChartOption({
title: this.chart_01,
isDarkMode: this.isDarkMode,
@ -610,7 +609,6 @@ export default {
]?.series?.[0]?.data?.[0]?.value;
this.$store.state.pageData[myPrgmId][this.chart_01] = chartOption;
// let chartOption3 = this.getGuageChartOption2(this.chart_03);
let chartOption3 = getGaugeChartOption({
title: this.chart_03,
isDarkMode: this.isDarkMode,
@ -620,12 +618,24 @@ export default {
]?.series?.[0]?.data?.[0]?.value;
this.$store.state.pageData[myPrgmId][this.chart_03] = chartOption3;
let mockres = this.$store.state.pageData[myPrgmId][this.chart_04];
this.setChart04Data(mockres);
this.setChart02Data("test");
let chart04Dat = this.$store.state.pageData[myPrgmId]['chart04Data'];
this.setChart04Data(chart04Dat);
let chartOption2 = getLineChartOption({
xAxisData: this.$store.state.pageData[myPrgmId][this.chart_02].xAxisData,
seriesData: this.$store.state.pageData[myPrgmId][this.chart_02].seriesData,
isDarkMode: this.isDarkMode,
});
this.$store.state.pageData[myPrgmId][this.chart_02] = chartOption2
let chartOption5 = getLineChartOption({
xAxisData: this.$store.state.pageData[myPrgmId][this.chart_05].xAxisData,
seriesData: this.$store.state.pageData[myPrgmId][this.chart_05].seriesData,
isDarkMode: this.isDarkMode,
});
this.$store.state.pageData[myPrgmId][this.chart_05] = chartOption5
this.setChart05Data("test");
},
// beforeDestroy() {
// this.cancelAutoUpdate();
@ -1169,6 +1179,7 @@ export default {
chartKey: "compareEqpmTGdChart",
value: chartOption,
});
this.$store.state.pageData[myPrgmId][this.chart_05] = chartOption
},
async setChart04Data(data) {
if (this.$store.state.pageData[this.myPrgmId].todayNgTopTen != undefined) {
@ -1268,6 +1279,7 @@ export default {
},
series: seriesData,
};
await this.$nextTick(() => {});
this.setChartOption({ chartKey: "todayNgTopTen", value: chartOption });
},
@ -1401,6 +1413,7 @@ export default {
chartKey: "compareEqpmTotChart",
value: chartOption,
});
this.$store.state.pageData[myPrgmId][this.chart_02] = chartOption
},
getGuageChartOption(chartName) {
const gaugeColors = [
@ -1710,7 +1723,7 @@ export default {
let chartData = this.pageData.chart04Data;
// let chartData = this.$store.state.pageData[myPrgmId][this.chart_04]['series'][0]['data']
let selectedChartData = chartData.filter((item) => {
return item.eqpmId == event["data"]["groupId"];
return item.eqpmId == event["data"]["name"];
});
var data = {
cmCycle: "CYC_DAY",

View File

@ -1,5 +1,6 @@
<template>
<div class="l-layout">
<CommonPageTitle/>
<v-row ref="searchFilter">
<v-col :cols="12">
<v-card class="searchFilter">
@ -83,7 +84,7 @@
</v-card>
</v-col>
</v-row>
<v-row ref="contents" style="height: calc(100vh - 400px)">
<v-row >
<v-col :cols="5" class="h100">
<v-card class="pb-5">
<v-card-title class="d-flex justify-space-between align-end">
@ -113,7 +114,7 @@
<v-col :cols="7" class="h100">
<v-card class="pb-5">
<v-card-title>에너지원 상세</v-card-title>
<div class="px-5" style="height:calc(100% - 70px)">
<div class="px-5" style="min-height: auto;">
<v-tabs v-model="tab">
<v-tab
v-for="item in items"
@ -125,8 +126,8 @@
</v-tabs>
<v-tabs-items
v-model="tab"
style="height: calc(100% - 65px);"
class="py-6"
style="min-height: auto;"
>
<v-tab-item v-for="(item, idx) in items" :key="item.id">
<component

View File

@ -1,7 +1,6 @@
<template>
<div ref="mainDiv" class="l-layout">
<PageTitle text="에너지 사용량 이력" />
<CommonPageTitle />
<v-row ref="searchFilter">
<v-col :cols="12">
<v-card class="searchFilter">
@ -76,6 +75,7 @@
:parentPrgmId="myPrgmId"
:isRangeOption="false"
:textCols="12"
:customClass="'datepicker-large'"
/>
</v-col>
<v-col :cols="6" class="text-right">
@ -270,7 +270,6 @@ export default {
DatePicker,
Grid,
Chart,
PageTitle,
},
data() {
return {
@ -363,10 +362,9 @@ export default {
setChartOption: "setChartOption",
}),
async init() {
await this.search();
await this.getSelectValueList();
await this.setQueryParams();
await this.search();
this.initedFlag = true;
},
@ -522,11 +520,6 @@ export default {
await this.setContentData01();
await this.setContentData02();
await this.setContentData03();
await this.setContentData04();
// await this.setContentData01();
// await this.setContentData02();
// await this.setContentData03();
// await this.setContentData04();
},
async setContentData01() {
@ -540,47 +533,16 @@ export default {
apiKey = "selectMonthlyEnrgUseMainGuideIdx";
}
// res = await this.postApiReturn({
// apiKey: apiKey,
// resKey: "enrgUseEqpmDetlMntrData",
// sendParam: {
// eqpmGrpId: this.selectValue03,
// eqpmId: this.selectValue04,
// fromDt: this.fromDt,
// },
// });
res = [
{
gdIdxId: "A01",
gdIdxNm: "Temperature",
dataNum: 0,
totVal: 23.5,
timestamp: "2025-07-15T10:00:00Z",
res = await this.postApiReturn({
apiKey: apiKey,
resKey: 'enrgUseEqpmDetlMntrData',
sendParam: {
eqpmGrpId: this.selectValue03,
eqpmId: this.selectValue04,
fromDt: this.fromDt,
},
{
gdIdxId: "C03",
gdIdxNm: "Power Usage",
dataNum: 1,
totVal: 24.1,
timestamp: "2025-07-15T11:00:00Z",
},
{
gdIdxId: "B02",
gdIdxNm: "Humidity",
dataNum: 0,
totVal: 60,
timestamp: "2025-07-15T10:00:00Z",
},
{
gdIdxId: "B03",
gdIdxNm: "Test",
dataNum: 0,
totVal: 50,
timestamp: "2025-07-19T10:00:00Z",
},
];
});
console.log('res 01:',res)
this.contentData01 = await this.makeContentData01(res);
console.log("content", this.contentData01);
await this.setChartGroup01(this.contentData01);
@ -615,42 +577,16 @@ export default {
this.loadGrid01 = false;
// res = await this.postApiReturn({
// apiKey: "selectEnrgUseGuideAlarmInfo",
// resKey: "enrgUseEqpmDetlMntrData",
// sendParam: {
// cmCycle: this.pageData.cmCycle,
// eqpmId: this.selectValue04,
// fromDt: this.fromDt,
// alrmKind: ["WARN", "CARE"],
// },
// });
res = [
{
gdIdxId: "PQ001",
totDttm: "TEMP",
totDt: "Temperature",
totTm: "Analog",
gdIdxNm: "PQ001",
totVal: "TEMP",
caseStndVal: "Temperature",
warnStndVal: "Analog",
alrmKind: "PQ001",
alrmMsg: "TEMP",
res = await this.postApiReturn({
apiKey: 'selectEnrgUseGuideAlarmInfo',
resKey: 'enrgUseEqpmDetlMntrData',
sendParam: {
cmCycle: this.pageData.cmCycle,
eqpmId: this.selectValue04,
fromDt: this.fromDt,
alrmKind: ['WARN', 'CARE'],
},
{
gdIdxId: "PQ001",
totDttm: "TEMP",
totDt: "Temperature",
totTm: "Analog",
gdIdxNm: "PQ001",
totVal: "TEMP",
caseStndVal: "Temperature",
warnStndVal: "Analog",
alrmKind: "PQ001",
alrmMsg: "TEMP",
},
];
});
for (var i = 0; i < res.length; i++) {
newRes.push({
@ -697,33 +633,13 @@ export default {
this.loadGrid02 = false;
// res = await this.postApiReturn({
// apiKey: "selectEnrgUseEqpmDescInfo",
// resKey: "enrgUseEqpmDetlMntrData",
// sendParam: {
// eqpmGrpId: this.selectValue03,
// },
// });
res = [
{
pysclQtyId: "PQ001",
pysclQtyCd: "TEMP",
pysclQtyNm: "Temperature",
pysclQtyTp: "Analog",
res = await this.postApiReturn({
apiKey: 'selectEnrgUseEqpmDescInfo',
resKey: 'enrgUseEqpmDetlMntrData',
sendParam: {
eqpmGrpId: this.selectValue03,
},
{
pysclQtyId: "PQ002",
pysclQtyCd: "PRESS",
pysclQtyNm: "Pressure",
pysclQtyTp: "Analog",
},
{
pysclQtyId: "PQ003",
pysclQtyCd: "FLOW",
pysclQtyNm: "Flow Rate",
pysclQtyTp: "Digital",
},
];
});
for (var i = 0; i < res.length; i++) {
newRes.push({
@ -748,11 +664,11 @@ export default {
this.loadGrid02 = true;
await this.$nextTick();
// this.$refs[this.gridName02].focus({
// rowKey: 0,
// columnName: "no",
// setScroll: true,
// });
this.$refs[this.gridName02].focus({
rowKey: 0,
columnName: 'no',
setScroll: true,
});
},
async setContentData04(selectedData) {
var res = null;
@ -764,31 +680,23 @@ export default {
this.loadTrendChart = false;
xAxisData = this.makeTrendChartXaxisData();
console.log("x axis :", xAxisData);
if (this.pageData.cmCycle == "CYC_MONTH") {
sliderHandleSize = ((24 / xAxisData.length) * 100 * 24) / 25;
}
// res = await this.postApiReturn({
// apiKey: "selectEnrgUseHourlyTrendInfo",
// resKey: "enrgUseEqpmDetlMntrData",
// sendParam: {
// pysclQtyId: selectedData.pysclQtyId,
// eqpmId: this.selectValue04,
// fromDt: this.fromDt,
// cmCycle: this.pageData.cmCycle,
// },
// });
res = await this.postApiReturn({
apiKey: 'selectEnrgUseHourlyTrendInfo',
resKey: 'enrgUseEqpmDetlMntrData',
sendParam: {
pysclQtyId: selectedData.pysclQtyId,
eqpmId: this.selectValue04,
fromDt: this.fromDt,
cmCycle: this.pageData.cmCycle,
},
});
res = [
{ monthCnt: 0, totVal: 120 },
{ monthCnt: 1, totVal: 150 },
{ monthCnt: 2, totVal: 180 },
{ monthCnt: 3, totVal: 200 },
];
seriesData = new Array(xAxisData.length).fill(300);
seriesData = new Array(xAxisData.length).fill(NaN);
for (var i = 0; i < res.length; i++) {
if (this.pageData.cmCycle == "CYC_MONTH") {
@ -798,8 +706,6 @@ export default {
}
}
var seriesData2 = new Array(xAxisData.length).fill(100);
var chartOption = {
grid: {
top: "3%",
@ -845,14 +751,14 @@ export default {
color: "#D32029",
},
},
{
type: "line",
data: seriesData2,
symbol: "none",
itemStyle: {
color: "#FAAD14",
},
},
// {
// type: "line",
// data: seriesData2,
// symbol: "none",
// itemStyle: {
// color: "#FAAD14",
// },
// },
],
dataZoom: [
{
@ -898,40 +804,13 @@ export default {
}
}
// var idxData = await this.postApiReturn({
// apiKey: "selectEnrgUseMainIdxDesc",
// resKey: "eqpmIndMntrData",
// sendParam: {
// eqpmGrpId: this.selectValue03,
// },
// });
var idxData = [
{
gdIdxId: "A01",
gdIdxNm: "Temperature",
unit: "°C",
description: "Average temperature reading",
var idxData = await this.postApiReturn({
apiKey: 'selectEnrgUseMainIdxDesc',
resKey: 'eqpmIndMntrData',
sendParam: {
eqpmGrpId: this.selectValue03,
},
{
gdIdxId: "B02",
gdIdxNm: "Humidity",
unit: "%",
description: "Relative humidity level",
},
{
gdIdxId: "C03",
gdIdxNm: "Power Usage",
unit: "kWh",
description: "Total power consumption",
},
{
gdIdxId: "B03",
gdIdxNm: "Test",
unit: "%",
description: "Relative humidity level test",
},
];
});
for (var i = 0; i < idxData.length; i++) {
if (!result.hasOwnProperty(idxData[i]["gdIdxId"])) {
@ -956,11 +835,10 @@ export default {
var dataKeyList = Object.keys(data);
var currentChartData = null;
var chartKey = null;
for (var i = 0; i < dataKeyList.length; i++) {
currentChartData = data[dataKeyList[i]];
console.log("curr:", currentChartData);
chartKey = "chartGroup01_" + currentChartData["gdIdxId"];
chartKey = 'chartGroup01_' + currentChartData['gdIdxId'];
this.setPageData({
[chartKey]: this.getGroup01ChartOption(),
@ -975,10 +853,9 @@ export default {
var seriesData = null;
xAxisData = this.makeChartGroup01XaxisData();
console.log("text xaxis", xAxisData);
for (var i = 0; i < dataKeyList.length; i++) {
seriesData = new Array(xAxisData.length).fill(10);
seriesData = new Array(xAxisData.length).fill(NaN);
currentChartData = data[dataKeyList[i]];
chartKey = "chartGroup01_" + currentChartData["gdIdxId"];
@ -1006,8 +883,6 @@ export default {
color: "#D32029",
};
chartOption["series"][0]["symbol"] = "none";
console.log("chartOption: ", chartOption);
return chartOption;
},
makeChartGroup01XaxisData() {
@ -1097,76 +972,14 @@ const defaultData = {
fromDt: Utility.setFormatDate(new Date(), "YYYYMM"), // 조회 시작일
grid01: {
data: [
{
gdIdxId: "PQ001",
totDttm: "TEMP",
totDt: "Temperature",
totTm: "Analog",
gdIdxNm: "PQ001",
totVal: "TEMP",
caseStndVal: "Temperature",
warnStndVal: "Analog",
alrmKind: "PQ001",
alrmMsg: "TEMP",
},
{
gdIdxId: "PQ001",
totDttm: "TEMP",
totDt: "Temperature",
totTm: "Analog",
gdIdxNm: "PQ001",
totVal: "TEMP",
caseStndVal: "Temperature",
warnStndVal: "Analog",
alrmKind: "PQ001",
alrmMsg: "TEMP",
},
],
column: [
{ header: "NO", name: "no", width: 40, align: "right" },
{ header: "gdIdxId", name: "gdIdxId", hidden: true, align: "left" },
{ header: "totDttm", name: "totDttm", hidden: true, align: "left" },
{ header: "발생일", name: "totDt", width: 150, align: "left" },
{ header: "발생시간대", name: "totTm", width: 100, align: "left" },
{ header: "가이드지표명", name: "gdIdxNm", width: 200, align: "left" },
{ header: "가이드값", name: "totVal", hidden: true, align: "left" },
{ header: "주의값", name: "caseStndVal", hidden: true, align: "left" },
{ header: "경고값", name: "warnStndVal", hidden: true, align: "left" },
{ header: "알람종류", name: "alrmKind", hidden: true, align: "left" },
{ header: "알람내용", name: "alrmMsg", align: "left" },
],
data: [],
column: [],
option: {},
},
grid02: {
data: [
{
pysclQtyId: "PQ001",
pysclQtyCd: "TEMP",
pysclQtyNm: "Temperature",
pysclQtyTp: "Analog",
},
{
pysclQtyId: "PQ002",
pysclQtyCd: "PRESS",
pysclQtyNm: "Pressure",
pysclQtyTp: "Analog",
},
{
pysclQtyId: "PQ003",
pysclQtyCd: "FLOW",
pysclQtyNm: "Flow Rate",
pysclQtyTp: "Digital",
},
],
column: [
{ header: "NO", name: "no", align: "right", width: 40 },
{ header: "물리량ID", name: "pysclQtyId", width: 100, align: "left" },
{ header: "물리량코드", name: "pysclQtyCd", align: "left" },
{ header: "물리량명", name: "pysclQtyNm", width: 190, align: "left" },
{ header: "물리량타입", name: "pysclQtyTp", width: 100, align: "left" },
],
data: [],
column: [],
option: {},
},

View File

@ -1,6 +1,6 @@
<template>
<div ref="mainDiv" class="l-layout">
<PageTitle text="냉동기" />
<CommonPageTitle />
<v-row ref="searchFilter">
<v-col :cols="12">
<v-card class="searchFilter">
@ -180,7 +180,7 @@ export default {
contentData: {},
loadChart: false,
testFlag: true,
testFlag: false,
};
},
computed: {
@ -270,15 +270,14 @@ export default {
}
},
async getEnrgUseTotSummData() {
// var res = await this.postApiReturn({
// apiKey: "selectEnrgUseTotSumm",
// resKey: "data",
// sendParam: {
// fromDt: this.pageData.fromDt,
// eqpmKind: this.selectValue01,
// },
// });
let res = [];
var res = await this.postApiReturn({
apiKey: "selectEnrgUseTotSumm",
resKey: "data",
sendParam: {
fromDt: this.pageData.fromDt,
eqpmKind: this.selectValue01,
},
});
if (this.testFlag == true) {
res = [

View File

@ -4,7 +4,7 @@
<v-avatar size="12" :style="{ backgroundColor: 'currentColor' }"></v-avatar>
에너지 사용량 실적
</h1> -->
<PageTitle text="에너지 사용량 실적" />
<CommonPageTitle />
<v-row ref="searchFilter">
<v-col :cols="12">
<v-card class="searchFilter">
@ -255,9 +255,8 @@ export default {
},
methods: {
async init() {
// await this.getSelectValueList();
// await this.setQueryParams();
await this.getSelectValueList();
await this.setQueryParams();
this.gridInit();
await this.getGridData();
@ -488,131 +487,41 @@ export default {
this.loadGrid = false;
this.enrgUseMainIdxDesc = [];
var apiKey = null;
// var params = {
// fabId: this.selectValue01,
// eqpmKindId: this.selectValue02,
// eqpmGrpId: this.selectValue03,
// fromDt: this.pageData.fromDt,
// };
var params = {
fabId: this.selectValue01,
eqpmKindId: this.selectValue02,
eqpmGrpId: this.selectValue03,
fromDt: this.pageData.fromDt,
};
// if (this.pageData.cmCycle == "CYC_DAY") {
// params["fromDtMm"] = String(this.pageData.fromDt).substring(0, 6);
// apiKey = "selectDailyEnrgUseMainIdx";
// } else if (this.pageData.cmCycle == "CYC_MONTH") {
// apiKey = "selectMonthlyEnrgUseMainIdx";
// }
if (this.pageData.cmCycle == "CYC_DAY") {
params["fromDtMm"] = String(this.pageData.fromDt).substring(0, 6);
apiKey = "selectDailyEnrgUseMainIdx";
} else if (this.pageData.cmCycle == "CYC_MONTH") {
apiKey = "selectMonthlyEnrgUseMainIdx";
}
// var res = await this.postApiReturn({
// apiKey: apiKey,
// resKey: "eqpmIndMntrData",
// sendParam: params,
// });
var res = await this.postApiReturn({
apiKey: apiKey,
resKey: "eqpmIndMntrData",
sendParam: params,
});
// this.enrgUseMainIdxDesc = await this.postApiReturn({
// apiKey: "selectEnrgUseMainIdxDesc",
// resKey: "eqpmIndMntrData",
// sendParam: {
// eqpmGrpId: this.selectValue03,
// },
// });
var newRes = [
{
no: 1,
fabId: "FAB001",
fabNm: "서울FAB",
eqpmGrpId: "GRP01",
eqpmGrpNm: "조립라인",
eqpmId: "EQ001",
eqpmNm: "설비A",
planVal: 1000,
usedVal: 950,
effcRt: "95%",
gd01: 88,
gd02: 90,
gd03: 85,
gd04: 87,
gd05: 89,
gd06: 86,
gd07: 90,
gd08: 88,
gd09: 87,
gd10: 89,
this.enrgUseMainIdxDesc = await this.postApiReturn({
apiKey: "selectEnrgUseMainIdxDesc",
resKey: "eqpmIndMntrData",
sendParam: {
eqpmGrpId: this.selectValue03,
},
{
no: 2,
fabId: "FAB002",
fabNm: "부산FAB",
eqpmGrpId: "GRP02",
eqpmGrpNm: "검사라인",
eqpmId: "EQ002",
eqpmNm: "설비B",
planVal: 1200,
usedVal: 1100,
effcRt: "91.7%",
gd01: 85,
gd02: 84,
gd03: 86,
gd04: 83,
gd05: 82,
gd06: 84,
gd07: 85,
gd08: 86,
gd09: 87,
gd10: 88,
},
{
no: 3,
fabId: "FAB003",
fabNm: "대전FAB",
eqpmGrpId: "GRP03",
eqpmGrpNm: "포장라인",
eqpmId: "EQ003",
eqpmNm: "설비C",
planVal: 900,
usedVal: 870,
effcRt: "96.7%",
gd01: 90,
gd02: 91,
gd03: 89,
gd04: 88,
gd05: 90,
gd06: 91,
gd07: 92,
gd08: 90,
gd09: 89,
gd10: 91,
},
{
no: 4,
fabId: "FAB004",
fabNm: "광주FAB",
eqpmGrpId: "GRP04",
eqpmGrpNm: "테스트라인",
eqpmId: "EQ004",
eqpmNm: "설비D",
planVal: 1100,
usedVal: 1050,
effcRt: "95.5%",
gd01: 87,
gd02: 88,
gd03: 86,
gd04: 85,
gd05: 86,
gd06: 87,
gd07: 88,
gd08: 89,
gd09: 90,
gd10: 91,
},
];
});
// for (var i = 0; i < res.length; i++) {
// newRes.push({
// ...res[i],
// no: i + 1,
// });
// }
var newRes = [];
for (var i = 0; i < res.length; i++) {
newRes.push({
...res[i],
no: i + 1,
});
}
this.setGridData({
gridKey: this.gridName,
@ -752,141 +661,9 @@ const defaultData = {
},
fromDt: Utility.setFormatDate(new Date(), "YYYYMM"), // 조회 시작일
grid01: {
data: [
{
no: 1,
fabId: "FAB001",
fabNm: "서울FAB",
eqpmGrpId: "GRP01",
eqpmGrpNm: "조립라인",
eqpmId: "EQ001",
eqpmNm: "설비A",
planVal: 1000,
usedVal: 950,
effcRt: "95%",
gd01: 88,
gd02: 90,
gd03: 85,
gd04: 87,
gd05: 89,
gd06: 86,
gd07: 90,
gd08: 88,
gd09: 87,
gd10: 89,
},
{
no: 2,
fabId: "FAB002",
fabNm: "부산FAB",
eqpmGrpId: "GRP02",
eqpmGrpNm: "검사라인",
eqpmId: "EQ002",
eqpmNm: "설비B",
planVal: 1200,
usedVal: 1100,
effcRt: "91.7%",
gd01: 85,
gd02: 84,
gd03: 86,
gd04: 83,
gd05: 82,
gd06: 84,
gd07: 85,
gd08: 86,
gd09: 87,
gd10: 88,
},
{
no: 3,
fabId: "FAB003",
fabNm: "대전FAB",
eqpmGrpId: "GRP03",
eqpmGrpNm: "포장라인",
eqpmId: "EQ003",
eqpmNm: "설비C",
planVal: 900,
usedVal: 870,
effcRt: "96.7%",
gd01: 90,
gd02: 91,
gd03: 89,
gd04: 88,
gd05: 90,
gd06: 91,
gd07: 92,
gd08: 90,
gd09: 89,
gd10: 91,
},
{
no: 4,
fabId: "FAB004",
fabNm: "광주FAB",
eqpmGrpId: "GRP04",
eqpmGrpNm: "테스트라인",
eqpmId: "EQ004",
eqpmNm: "설비D",
planVal: 1100,
usedVal: 1050,
effcRt: "95.5%",
gd01: 87,
gd02: 88,
gd03: 86,
gd04: 85,
gd05: 86,
gd06: 87,
gd07: 88,
gd08: 89,
gd09: 90,
gd10: 91,
},
],
column: [
{ header: "NO", name: "no", align: "center" },
{ header: "fabId", name: "fabId", hidden: true },
{ header: "FAB", name: "fabNm", align: "left" },
{ header: "eqpmGrpId", name: "eqpmGrpId", hidden: true },
{ header: "설비그룹", name: "eqpmGrpNm", align: "left" },
{ header: "eqpmId", name: "eqpmId", hidden: true },
{ header: "설비명", name: "eqpmNm", align: "left" },
{ header: "계획량", name: "planVal", align: "right" },
{ header: "사용량", name: "usedVal", align: "right" },
{ header: "KPI", name: "effcRt", align: "right" },
{ header: "지표1", name: "gd01", align: "right" },
{ header: "지표2", name: "gd02", align: "right" },
{ header: "지표3", name: "gd03", align: "right" },
{ header: "지표4", name: "gd04", align: "right" },
{ header: "지표5", name: "gd05", align: "right" },
{ header: "지표6", name: "gd06", align: "right" },
{ header: "지표7", name: "gd07", align: "right" },
{ header: "지표8", name: "gd08", align: "right" },
{ header: "지표9", name: "gd09", align: "right" },
{ header: "지표10", name: "gd10", align: "right" },
],
option: {
header: {
height: 65,
complexColumns: [
{
header: "주요지표",
name: "complexColumn01",
childNames: [
"gd01",
"gd02",
"gd03",
"gd04",
"gd05",
"gd06",
"gd07",
"gd08",
"gd09",
"gd10",
],
},
],
},
},
data: [],
column: [],
option: {},
},
};