Compare commits

...

6 Commits

20 changed files with 120 additions and 96 deletions

View File

@ -445,6 +445,10 @@ a {
gap: 8px; gap: 8px;
} }
.tui-grid-cell-content-editor{
// min-height: 32px !important;
}
.v-navigation-drawer { .v-navigation-drawer {
background: map-deep-get($config, #{$theme}, "menu-bg-color"); background: map-deep-get($config, #{$theme}, "menu-bg-color");
} }
@ -484,6 +488,10 @@ a {
border-bottom: 1px solid map-deep-get($config, #{$theme}, "v-header-border"); border-bottom: 1px solid map-deep-get($config, #{$theme}, "v-header-border");
} }
.custom-chart{
border: 1px solid map-deep-get($config, #{$theme}, "v-chart-border");
}
.btn-header { .btn-header {
background-color: map-deep-get($config, #{$theme}, "v-btn-header-background"); background-color: map-deep-get($config, #{$theme}, "v-btn-header-background");
border:1px solid map-deep-get($config, #{$theme}, "v-btn-header-border"); border:1px solid map-deep-get($config, #{$theme}, "v-btn-header-border");

View File

@ -66,6 +66,12 @@
} }
} }
.custom-action-btn{
height: 24px;
width: 24px;
font-size: 12px;
}
.v-btn { .v-btn {
background-color: map-deep-get($config, background-color: map-deep-get($config,
#{$theme}, #{$theme},

View File

@ -17,18 +17,6 @@
border: 0 !important; border: 0 !important;
} }
// &-body-container {
// width: 100% !important;
// }
// &-table {
// width: 100% !important;
// }
// &-lside-area .tui-grid-body-area {
// margin-right: -11px;
// }
&-lside-area .tui-grid-scrollbar-left-bottom { &-lside-area .tui-grid-scrollbar-left-bottom {
display: none; display: none;
} }
@ -150,50 +138,28 @@
&-body-container{ &-body-container{
border-right: 0; border-right: 0;
// border-right-color: map-deep-get($config, // position: relative;
// #{$theme},
// "tui-grid-cell-borderColor"
// );
width: auto !important; width: auto !important;
.tui-grid-table-container{ .tui-grid-table-container{
width: 100% !important; // width: 100% !important;
.tui-grid-table { .tui-grid-table {
width: 100% !important; // width: 100% !important;
// table-layout: fixed;
// th, td {
// &:last-child{
// width: auto !important;
// }
// }
} }
} }
} }
&-container, &-summary-area,
&-summary-area { &-container {
font-family: Inter; font-family: Inter;
// color: #000000E0;
& ::-webkit-scrollbar {
width: 0 !important;
height: $scrollbar-width !important;
-webkit-appearance: initial;
background-color: rgba(0, 0, 0, 0) !important;
border-radius: 3px !important;
}
& ::-webkit-scrollbar-track {
// background-color: map-deep-get($config,
// #{$theme},
// "tui-grid-cell-borderColor"
// ) !important;
background-color: rgba(0, 0, 0, 0) !important;
}
& ::-webkit-scrollbar-thumb {
// width: 50px !important;
height: 50px !important;
background-color: map-deep-get($config, #{$theme}, "scrollbar-thumb");
// background-color: rgba(0, 0, 0, 0);
border-radius: 3px;
}
.tui-grid-cell { .tui-grid-cell {
&.tui-grid-cell-summary { &.tui-grid-cell-summary {
color: map-deep-get($config, color: map-deep-get($config,
#{$theme}, #{$theme},
@ -203,6 +169,32 @@
} }
} }
&-body-area {
overflow: auto;
&::-webkit-scrollbar {
width: $scrollbar-width !important;
height: $scrollbar-width !important;
-webkit-appearance: initial;
background-color: rgba(0, 0, 0, 0) !important;
border-radius: 3px !important;
// border-right: 1px solid;
// border-right-color: map-deep-get($config, #{$theme}, "tui-grid-cell-borderColor");
}
&::-webkit-scrollbar-track {
background-color: rgba(0, 0, 0, 0) !important;
}
&::-webkit-scrollbar-thumb {
height: 50px !important;
background-color: map-deep-get($config, #{$theme}, "scrollbar-thumb");
border-radius: 3px;
// width: 50px !important;
// background-color: rgba(0, 0, 0, 0);
}
}
&-rside-area { &-rside-area {
background-color: map-deep-get($config, #{$theme}, "scrollbar-track"); background-color: map-deep-get($config, #{$theme}, "scrollbar-track");
} }
@ -241,13 +233,13 @@
&-scrollbar-right-bottom { &-scrollbar-right-bottom {
width: $scrollbar-width !important; width: $scrollbar-width !important;
height: $scrollbar-width !important; height: $scrollbar-width !important;
// display: none !important;
border-color: map-deep-get($config, #{$theme}, "cardBackground"); border-color: map-deep-get($config, #{$theme}, "cardBackground");
background-color: map-deep-get($config, #{$theme}, "cardBackground"); background-color: map-deep-get($config, #{$theme}, "cardBackground");
box-sizing: border-box;
// display: none !important;
// border: none !important; // border: none !important;
// bottom: -1px; // bottom: -1px;
// right: -2px; // right: -2px;
box-sizing: border-box;
// display: none; // display: none;
} }
@ -358,10 +350,10 @@
#{$theme}, #{$theme},
"tui-grid-cell-backgroundColor" "tui-grid-cell-backgroundColor"
); );
width: 100% !important; // width: 100% !important;
.tui-grid-table { // .tui-grid-table {
width: 100% !important; // width: 100% !important;
} // }
} }
&-row-odd, &-row-odd,

View File

@ -15,8 +15,9 @@
border-radius: 6px; border-radius: 6px;
border: solid 1px; border: solid 1px;
height: 32px; height: 32px;
// border-color: #424242; color: map-deep-get($config, #{$theme}, "v-input-fieldset-color") !important;
border-color: map-deep-get($config, #{$theme}, "tui-datepicker-border-color"); border-color: currentColor;
// border-color: map-deep-get($config, #{$theme}, "tui-datepicker-border-color");
&.datepicker-large { &.datepicker-large {
height: 40px; height: 40px;

View File

@ -175,6 +175,7 @@ $config: (
btn-header-select-color:#FFFFFFD9, btn-header-select-color:#FFFFFFD9,
subtitle-tab: #FFFFFFA6, subtitle-tab: #FFFFFFA6,
v-header-border: #424242, v-header-border: #424242,
v-chart-border: #424242,
v-sidebar-border: #303030, v-sidebar-border: #303030,
), ),
light: (w-g5: $--color-gray_555, light: (w-g5: $--color-gray_555,
@ -314,6 +315,7 @@ $config: (
btn-header-select-bg:#FFFFFF, btn-header-select-bg:#FFFFFF,
subtitle-tab: #000000A6, subtitle-tab: #000000A6,
v-header-border: #D9D9D9, v-header-border: #D9D9D9,
v-chart-border: #D9D9D9,
v-sidebar-border: #F0F0F0, v-sidebar-border: #F0F0F0,
), ),
); );

View File

@ -61,7 +61,8 @@ export default {
isDarkMode: 'isDarkMode', isDarkMode: 'isDarkMode',
chartOption(state) { chartOption(state) {
var dark_Col = [ var dark_Col = [
'#01AE6A', '#79B100',
// '#01AE6A',
'#FFB046', '#FFB046',
'#F6637B', '#F6637B',
'#944FE9', '#944FE9',
@ -194,7 +195,8 @@ export default {
var lightCol_dashReadplcStatus = ['#3cc380', '#ffb13b', '#f98694']; var lightCol_dashReadplcStatus = ['#3cc380', '#ffb13b', '#f98694'];
var light_Col = [ var light_Col = [
'#3CC380', '#3BAD43',
// '#3CC380',
'#FFB13B', '#FFB13B',
'#F98694', '#F98694',
'#CF74E5', '#CF74E5',

View File

@ -299,7 +299,6 @@ export default {
startEditing(e) { startEditing(e) {
// console.log('startEditing1...') // console.log('startEditing1...')
if (this.preventFocusChangeEvent(e)) { if (this.preventFocusChangeEvent(e)) {
// console.log('prevent startEditing')
return; return;
} }
@ -311,7 +310,6 @@ export default {
// console.log('startEditing2...') // console.log('startEditing2...')
if (this.editorGrid && e.rowKey >= 0) { if (this.editorGrid && e.rowKey >= 0) {
this.editorStartKey = e.rowKey; this.editorStartKey = e.rowKey;
// console.log("E::", this.gridInstance.invoke("getRow", e.rowKey));
this.gridInstance.invoke('startEditing', e.rowKey, e.columnName); this.gridInstance.invoke('startEditing', e.rowKey, e.columnName);
this.$emit( this.$emit(
'getRowsData', 'getRowsData',

View File

@ -2,9 +2,9 @@
<div class="d-flex justify-center align-center" <div class="d-flex justify-center align-center"
:class="directionBtn === 'vertically'?'flex-row':'flex-column'" :class="directionBtn === 'vertically'?'flex-row':'flex-column'"
style="gap: 12px"> style="gap: 12px">
<a-button @click="btnActionsFnc('removeRightToLeft')" type="primary" ghost :icon="icons.remove" > <a-button @click="btnActionsFnc('removeRightToLeft')" type="primary" ghost :icon="icons.remove" class="custom-action-btn">
</a-button> </a-button>
<a-button @click="btnActionsFnc('addLeftToRight')" type="primary" ghost :icon="icons.add"> <a-button @click="btnActionsFnc('addLeftToRight')" type="primary" ghost :icon="icons.add" class="custom-action-btn">
</a-button> </a-button>
</div> </div>
</template> </template>

View File

@ -10,7 +10,7 @@ export default {
size: { size: {
type: String, type: String,
require: false, require: false,
default: "middle", // small, middle, large default: "default", // small, default, large
} }
}, },
methods: { methods: {

View File

@ -65,13 +65,10 @@
<!-- <div id="chartParent" ref="chartParent" style="height: 100px"> --> <!-- <div id="chartParent" ref="chartParent" style="height: 100px"> -->
<div :style="'height: calc(50vh)'"> <div :style="'height: calc(50vh)'">
<div class="d-flex align-center justify-space-between pa-4" style="height: 10%">
<v-card-title class="pa-0 custom-title-4">사용량 계획</v-card-title>
</div>
<!-- <div id="chartParent" ref="chartParent" :style="'height: 80%'"> --> <!-- <div id="chartParent" ref="chartParent" :style="'height: 80%'"> -->
<div id="chartParent" ref="chartParent" style="height: 70%"> <div id="chartParent" ref="chartParent" style="height: 100%" class="px-6">
<component <component
class="w100 h100" class="w100 h100 py-7 custom-chart"
:is="loadChart ? 'Chart' : null" :is="loadChart ? 'Chart' : null"
:parentPrgmId="parentPrgmId" :parentPrgmId="parentPrgmId"
:modalId="modalId" :modalId="modalId"
@ -130,7 +127,6 @@
/> />
</div> --> </div> -->
<v-divider></v-divider>
<v-card-actions class="pa-5 d-flex align-center justify-end"> <v-card-actions class="pa-5 d-flex align-center justify-end">
<a-button color="primary" type="default" class="mr-2" dark @click="closePop()">취소</a-button> <a-button color="primary" type="default" class="mr-2" dark @click="closePop()">취소</a-button>
<a-button color="primary" type="primary" dark @click="setUpdate()">확정</a-button> <a-button color="primary" type="primary" dark @click="setUpdate()">확정</a-button>
@ -493,6 +489,7 @@ export default {
}, },
// valueFormatter: (value) => '$' +parseFloat(value).toFixed() // valueFormatter: (value) => '$' +parseFloat(value).toFixed()
formatter: function(params){ formatter: function(params){
console.log(params)
var toolTipTitle = params[0].name[0]; var toolTipTitle = params[0].name[0];
let res = "<div style='margin: 0px 0 0;line-height:1;'><div style='font-size:14px;color:#666;font-weight:400;line-height:1;'>"+toolTipTitle+"</div>"; let res = "<div style='margin: 0px 0 0;line-height:1;'><div style='font-size:14px;color:#666;font-weight:400;line-height:1;'>"+toolTipTitle+"</div>";
for (var i = 0; i < params.length; i++) { for (var i = 0; i < params.length; i++) {
@ -533,9 +530,13 @@ export default {
seriesData = data.map(item => ({ seriesData = data.map(item => ({
name: item.gubun == '2PLAN' ? '계획' : '전년실적', name: item.gubun == '2PLAN' ? '계획' : '전년실적',
type: item.gubun == '2PLAN' ? 'line' : 'bar', type: item.gubun == '2PLAN' ? 'line' : 'bar',
data: targetMonthList.map(obj => item[obj] || null) data: targetMonthList.map(obj => item[obj] || null),
// data: targetMonthList.map(obj => item[obj] || 0) // data: targetMonthList.map(obj => item[obj] || 0)
})); }
));
this.nowSeriesData = seriesData; this.nowSeriesData = seriesData;
// xAxisData = myKey.map(obj => obj.header); // xAxisData = myKey.map(obj => obj.header);
@ -643,4 +644,4 @@ let modifyEnrgUsePlanModalDataKey =
modifyEnrgUsePlanChart: Utility.defaultChartOption(true) modifyEnrgUsePlanChart: Utility.defaultChartOption(true)
}; };
// 전력량 요금(원/kWh) // 전력량 요금(원/kWh)
</script> </script>

View File

@ -36,21 +36,21 @@
<!-- <v-card class="searchFilter"> <!-- <v-card class="searchFilter">
</v-card> --> </v-card> -->
<v-row align="end" class="searchFilter"> <v-row align="end" class="searchFilter">
<v-col :cols="3.5"> <v-col>
<!-- 설비그룹 --> <!-- 설비그룹 -->
<component :is="'SelectBox'" :propsValue="selectValue01" :itemList="selectValueList01" <component :is="'SelectBox'" :propsValue="selectValue01" :itemList="selectValueList01"
:label="'설비그룹'" :disabled="eqpmGrpDisabled" :label="'설비그룹'" :disabled="eqpmGrpDisabled"
@update:propsValue="selectValue01 = $event" :labelCols="12" :textCols="12" @update:propsValue="selectValue01 = $event" :labelCols="12" :textCols="12"
:iconShow="true" /> :iconShow="true" />
</v-col> </v-col>
<v-col :cols="3.5"> <v-col>
<!-- FAB --> <!-- FAB -->
<component :is="'SelectBoxMulti'" :propsValue="selectValue02" <component :is="'SelectBoxMulti'" :propsValue="selectValue02"
:itemList="selectValueList02" :label="'FAB'" :labelCols="12" :multiple="true" :itemList="selectValueList02" :label="'FAB'" :labelCols="12" :multiple="true"
:disabled="fabDisabled" @update:propsValue="selectValue02 = $event" :textCols="12" :disabled="fabDisabled" @update:propsValue="selectValue02 = $event" :textCols="12"
:iconShow="true" /> :iconShow="true" />
</v-col> </v-col>
<v-col :cols="3.5"> <v-col >
<v-row> <v-row>
<v-col :cols="12" class="py-0"> <v-col :cols="12" class="py-0">
<label for="" class="search-box-label"> <label for="" class="search-box-label">
@ -70,7 +70,7 @@
</v-row> </v-row>
</v-col> </v-col>
<a-button icon="search" type="primary" @click="search()" class="search-button">조회</a-button> <a-button icon="search" type="primary" @click="search()" class="mb-1 mr-2">조회</a-button>
</v-row> </v-row>
<!-- <v-row align="center" no-gutters style="margin-top: 14px;"> <!-- <v-row align="center" no-gutters style="margin-top: 14px;">

View File

@ -11,7 +11,7 @@
:btnActionsFnc="btnActions" :btnActionsFnc="btnActions"
/> />
</div> </div>
<div ref="gridParent" style="height: calc(100vh - 760px);"> <div ref="gridParent" >
<component <component
:ref="gridName" :ref="gridName"
:is="loadGrid ? 'Grid' : null" :is="loadGrid ? 'Grid' : null"

View File

@ -8,7 +8,7 @@
:btnActionsFnc="btnActions" :btnActionsFnc="btnActions"
/> />
</div> </div>
<div ref="gridParent" style="height: calc(100vh - 520px);"> <div ref="gridParent" class="w100" style="height: calc(100vh - 520px);">
<Grid <Grid
:ref="gridName" :ref="gridName"
:is="loadGrid ? 'Grid' : null" :is="loadGrid ? 'Grid' : null"
@ -296,7 +296,7 @@ export default {
{ {
header: '추가 정보 값', header: '추가 정보 값',
name: 'addInfoVal', name: 'addInfoVal',
align: 'center', align: 'left',
renderer: { renderer: {
type: CustomRenderer, type: CustomRenderer,
}, },

View File

@ -8,7 +8,7 @@
:btnActionsFnc="btnActions" :btnActionsFnc="btnActions"
/> />
</div> </div>
<div ref="gridParent" style="height: calc(100vh - 800px);"> <div ref="gridParent" style="height: calc(100vh - 700px);">
<Grid <Grid
:ref="gridName" :ref="gridName"
:is="loadGrid ? 'Grid' : null" :is="loadGrid ? 'Grid' : null"
@ -18,7 +18,7 @@
:innerTabGridInfo="innerTabGridInfo" :innerTabGridInfo="innerTabGridInfo"
/> />
</div> </div>
<div style="min-height: calc(100vh - 900px);" class="mt-4"> <div style="height: 60vh;" class="mt-5">
<component <component
:is="'Form'" :is="'Form'"
:parentPrgmId="parentPrgmId" :parentPrgmId="parentPrgmId"
@ -114,7 +114,7 @@ export default {
this.detailList[2].class = 'py-3 d-none'; this.detailList[2].class = 'py-3 d-none';
this.detailList[3].class = 'py-3 pl-4 pt-1 d-none'; this.detailList[3].class = 'py-3 pl-4 pt-1 d-none';
this.detailList[4].class = 'py-3'; this.detailList[4].class = 'py-3 pl-4';
this.detailList[5].class = 'py-3 pl-4'; this.detailList[5].class = 'py-3 pl-4';
this.detailList[6].class = 'py-3 pl-4 pt-0'; this.detailList[6].class = 'py-3 pl-4 pt-0';
} else { } else {
@ -230,7 +230,7 @@ export default {
{ {
header: '대상 유형', header: '대상 유형',
name: 'objKind', name: 'objKind',
align: 'center', align: 'left',
formatter({ value }) { formatter({ value }) {
var retVal = ''; var retVal = '';
@ -261,7 +261,7 @@ export default {
{ {
header: '계산여부', header: '계산여부',
name: 'calcFg', name: 'calcFg',
align: 'center', align: 'left',
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(
@ -612,3 +612,10 @@ const myEqpmIaoDetail = [
}, },
]; ];
</script> </script>
<style lang="scss" scoped >
::v-deep {
.tui-grid-layer-state {
top: 40px !important;
}
}
</style>

View File

@ -1,10 +1,10 @@
<template> <template>
<div> <div>
<div <div
class="d-flex justify-space-between align-center" class=" d-flex justify-space-between"
style="height: 80px;" style="height: 45px;"
> >
<span class="txt custom-subtitle-tab">검침 대상 추가 정보</span> <span class="txt custom-subtitle-tab">검침 대상 추가 정보</span>
<Buttons <Buttons
:parentPrgmId="parentPrgmId" :parentPrgmId="parentPrgmId"
:bindingData="gridName" :bindingData="gridName"
@ -103,6 +103,7 @@ export default {
}, },
gridInit() { gridInit() {
const gridHeight = this.$refs.gridParent.offsetHeight - 30; const gridHeight = this.$refs.gridParent.offsetHeight - 30;
console.log(gridHeight);
const myOptions = { const myOptions = {
columnOptions: { columnOptions: {
@ -275,7 +276,7 @@ export default {
{ {
header: 'Data 구분', header: 'Data 구분',
name: 'addInfoDataKind', name: 'addInfoDataKind',
align: 'center', align: 'left',
formatter({ value }) { formatter({ value }) {
let retVal = ''; let retVal = '';
const newValue = addInfoDataKindList.filter( const newValue = addInfoDataKindList.filter(

View File

@ -55,7 +55,7 @@
<ActionButtons :parentPrgmId="myPrgmId" :leftGridName="gridName2" :rightGridName="gridName3" <ActionButtons :parentPrgmId="myPrgmId" :leftGridName="gridName2" :rightGridName="gridName3"
:btnActionsFnc="dualGridBtnActions" /> :btnActionsFnc="dualGridBtnActions" />
</v-col> --> </v-col> -->
<div class="px-2"> <div class="pr-2">
<ActionButtons :parentPrgmId="myPrgmId" :leftGridName="gridName2" :rightGridName="gridName3" <ActionButtons :parentPrgmId="myPrgmId" :leftGridName="gridName2" :rightGridName="gridName3"
:btnActionsFnc="dualGridBtnActions" /> :btnActionsFnc="dualGridBtnActions" />
</div> </div>

View File

@ -12,8 +12,8 @@
:parentPrgmId="myPrgmId" :parentPrgmId="myPrgmId"
:sendParam="{ comId }" :sendParam="{ comId }"
customClass="select-large" customClass="select-large"
labelCols="12" :labelCols="12"
textCols="12" :textCols="12"
/> />
<!-- <component <!-- <component
:is="'selectCodeList'" :is="'selectCodeList'"

View File

@ -3,7 +3,7 @@
<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="end" no-gutters>
<v-col :cols="2.5"> <v-col :cols="2.5">
<component <component
:is="'selectCodeList'" :is="'selectCodeList'"
@ -49,8 +49,8 @@
:parentPrgmId="myPrgmId" :parentPrgmId="myPrgmId"
label="공정명" label="공정명"
valueNm="eccNm" valueNm="eccNm"
:labelCols="2" :labelCols="12"
:textCols="9" :textCols="12"
:searchOption="true" :searchOption="true"
/> />
</v-col> </v-col>
@ -59,7 +59,13 @@
</v-col> </v-col>
</v-row> </v-row>
<v-row align="center" no-gutters> <v-row align="center" no-gutters>
<div style="display: none">
<component
:is="'SelectBlocMstr'"
ref="SelectBlocMstr"
:parentPrgmId="myPrgmId"
/>
</div>
</v-row> </v-row>
</v-card> </v-card>
</v-col> </v-col>
@ -91,7 +97,7 @@
</div> </div>
</v-card> </v-card>
</v-col> </v-col>
<v-col :cols="7" class="h100"> <v-col :cols="7" style="min-height:75vh;">
<v-card class="pb-5"> <v-card class="pb-5">
<v-card-title class="custom-title-4" style="min-height:76px;" <v-card-title class="custom-title-4" style="min-height:76px;"
>공정 상세 >공정 상세

View File

@ -382,7 +382,7 @@ export default {
header: '사용 여부', header: '사용 여부',
name: 'useFg', name: 'useFg',
width: 100, width: 100,
align: 'center', align: 'left',
formatter({ value }) { formatter({ value }) {
const newValue = _this.pageData.useFgList.filter( const newValue = _this.pageData.useFgList.filter(
item => item.commCd == value, item => item.commCd == value,

View File

@ -286,7 +286,7 @@ export default {
resizable: true, resizable: true,
}, },
header: { header: {
height: 65, height: 75,
complexColumns: myComplexColumns, complexColumns: myComplexColumns,
}, },
}; };