Fix datepicker icon + add dash line in line chart #56

Merged
dev merged 1 commits from dev-nghiantt-fix-bugs into dev 2025-08-11 18:29:57 +09:00
5 changed files with 558 additions and 539 deletions

View File

@ -66,6 +66,10 @@
} }
} }
} }
.v-icon {
color: map-deep-get($config, #{$theme}, "v-icon-chevron-down") !important;
}
} }
.v-input__custom { .v-input__custom {

View File

@ -19,8 +19,11 @@
readonly readonly
outlined outlined
> >
<template #append > <!-- <template #append >
<v-icon size="20" v-show="!isRange">$icoCalendar</v-icon> <v-icon size="20" v-show="!isRange">$icoCalendar</v-icon>
</template> -->
<template v-slot:append>
<a-icon class="v-icon" type="calendar" style="width: 14px; height: 14px;" />
</template> </template>
<template #append-outer> <template #append-outer>
<div ref="startpicker-container" id="startpicker-container"></div> <div ref="startpicker-container" id="startpicker-container"></div>

View File

@ -33,7 +33,7 @@
</v-col> </v-col>
<v-col :cols="6" class="text-right"> <v-col :cols="6" class="text-right">
<!-- 조회버튼 --> <!-- 조회버튼 -->
<BtnSearch style="margin-top: 20px" size="large" @click="search" /> <BtnSearch style="margin-top: 25px" size="large" @click="search" />
</v-col> </v-col>
</v-row> </v-row>
</v-card> </v-card>

View File

@ -99,7 +99,7 @@
<v-col :cols="12" style="height: 100%"> <v-col :cols="12" style="height: 100%">
<v-row class="pa-1" style="height: 50%; width: 100%"> <v-row class="pa-1" style="height: 50%; width: 100%">
<div style="width: 100%; height: 100%; overflow: hidden"> <div style="width: 100%; height: 100%; overflow: hidden">
<div style="height: 15%"> <v-card style="background: none; height: 15%">
<v-card-title <v-card-title
class="d-flex align-center justify-space-between" class="d-flex align-center justify-space-between"
style="padding: 0px" style="padding: 0px"
@ -108,7 +108,7 @@
주요가이드 지표 주요가이드 지표
</span> </span>
</v-card-title> </v-card-title>
</div> </v-card>
<div style="height: 85%"> <div style="height: 85%">
<v-row style="height: 100%; overflow: auto"> <v-row style="height: 100%; overflow: auto">
<v-col <v-col
@ -117,7 +117,7 @@
v-for="(value, key, index) in contentData01" v-for="(value, key, index) in contentData01"
:key="'key1' + index" :key="'key1' + index"
> >
<v-card style="position: relative; overflow: hidden;" > <v-card style="position: relative; overflow: hidden">
<!-- Card header --> <!-- Card header -->
<div <div
style=" style="
@ -133,9 +133,9 @@
<v-card-title style="padding-left: 10px">{{ <v-card-title style="padding-left: 10px">{{
value["gdIdxNm"] value["gdIdxNm"]
}}</v-card-title> }}</v-card-title>
<div class="v-box" style="height: 80%; padding: 3px; margin: 10px;"> <div class="v-box" style="height: 80%; padding: 3px; margin: 10px">
<v-col :cols="12" style="height: 100%;"> <v-col :cols="12" style="height: 100%">
<div style="height: 85%;"> <div style="height: 85%">
<component <component
class="w100 h100" class="w100 h100"
:is="loadChart ? 'Chart' : null" :is="loadChart ? 'Chart' : null"
@ -152,7 +152,7 @@
</div> </div>
</div> </div>
</v-row> </v-row>
<v-row class="pa-1" style="height: 40%; width: 100%"> <v-row class="pa-1" style="height: 52%; width: 100%">
<v-card class="pa-1" style="height: 100%; width: 100%; overflow: hidden"> <v-card class="pa-1" style="height: 100%; width: 100%; overflow: hidden">
<div style="height: 25%"> <div style="height: 25%">
<v-card-title class="d-flex align-center justify-space-between pa-5"> <v-card-title class="d-flex align-center justify-space-between pa-5">
@ -172,7 +172,7 @@
</div> </div>
</v-card> </v-card>
</v-row> </v-row>
<v-row class="pa-1" style="height: 34%; width: 100%"> <v-row class="pa-1" style="height: 40%; width: 100%">
<div style="height: 100%; width: 100%"> <div style="height: 100%; width: 100%">
<v-row style="height: 100%"> <v-row style="height: 100%">
<v-col :cols="5" class=""> <v-col :cols="5" class="">
@ -528,9 +528,7 @@ export default {
fromDt: this.fromDt, fromDt: this.fromDt,
}, },
}); });
console.log('res 01:',res)
this.contentData01 = await this.makeContentData01(res); this.contentData01 = await this.makeContentData01(res);
console.log("content", this.contentData01);
await this.setChartGroup01(this.contentData01); await this.setChartGroup01(this.contentData01);
this.reloadChart(); this.reloadChart();
}, },
@ -620,8 +618,8 @@ export default {
this.loadGrid02 = false; this.loadGrid02 = false;
res = await this.postApiReturn({ res = await this.postApiReturn({
apiKey: 'selectEnrgUseEqpmDescInfo', apiKey: "selectEnrgUseEqpmDescInfo",
resKey: 'enrgUseEqpmDetlMntrData', resKey: "enrgUseEqpmDetlMntrData",
sendParam: { sendParam: {
eqpmGrpId: this.selectValue03, eqpmGrpId: this.selectValue03,
}, },
@ -727,6 +725,13 @@ export default {
}, },
yAxis: { yAxis: {
type: "value", type: "value",
splitLine: {
show: true,
lineStyle: {
type: "dashed", // Makes the lines dashed
color: "#ccc", // Optional: customize the color
},
},
}, },
series: [ series: [
{ {
@ -853,12 +858,8 @@ export default {
currentChartData["data"][j]["totVal"]; currentChartData["data"][j]["totVal"];
} }
// console.log("text seri data", seriesData);
this.$store.state.pageData[myPrgmId][chartKey]["xAxis"]["data"] = xAxisData; this.$store.state.pageData[myPrgmId][chartKey]["xAxis"]["data"] = xAxisData;
this.$store.state.pageData[myPrgmId][chartKey]["series"][0]["data"] = seriesData; this.$store.state.pageData[myPrgmId][chartKey]["series"][0]["data"] = seriesData;
console.log("chart data", this.$store.state.pageData[myPrgmId][chartKey]);
} }
}, },
getGroup01ChartOption() { getGroup01ChartOption() {
@ -871,6 +872,17 @@ export default {
color: "#D32029", color: "#D32029",
}; };
// Add dashed horizontal grid lines from y-axis
chartOption["yAxis"] = {
type: "value",
splitLine: {
show: true,
lineStyle: {
type: "dashed", // Makes the lines dashed
},
},
};
return chartOption; return chartOption;
}, },
makeChartGroup01XaxisData() { makeChartGroup01XaxisData() {

View File

@ -201,7 +201,6 @@ export default {
gridName: "grid01", gridName: "grid01",
enrgUseMainIdxDesc: [], enrgUseMainIdxDesc: [],
itemsPerPage: 10,
itemsPerPageArray: [10, 20, 30], itemsPerPageArray: [10, 20, 30],
limit: 10, limit: 10,
page: 1, page: 1,
@ -433,6 +432,9 @@ export default {
name: "eqpmGrpNm", name: "eqpmGrpNm",
align: "left", align: "left",
width: 200, width: 200,
},
{ header: "eqpmId", name: "eqpmId", hidden: true },
{ header: "설비명", name: "eqpmNm", align: "left", width: 200,
// Render custom button to switch page instead of double click on row // Render custom button to switch page instead of double click on row
renderer: { renderer: {
type: CustomButton, type: CustomButton,
@ -465,8 +467,6 @@ export default {
}, },
}, },
}, },
{ header: "eqpmId", name: "eqpmId", hidden: true },
{ header: "설비명", name: "eqpmNm", align: "left", width: 200 },
{ {
header: "계획량", header: "계획량",
name: "planVal", name: "planVal",