Compare commits
21 Commits
dev-luannv
...
39905e6f80
Author | SHA1 | Date | |
---|---|---|---|
39905e6f80 | |||
0825663c64 | |||
8d444eafcd | |||
71e90064a2 | |||
7d2bcb9496 | |||
84c7e61254 | |||
ffdc56b8f1 | |||
245444d5fa | |||
541ae86068 | |||
5c43496282 | |||
31413d1e48 | |||
dd24592eca | |||
e59078a19c | |||
bc96d2ae45 | |||
4fd2eac344 | |||
c40352e37c | |||
6583d68ea7 | |||
5859c5d681 | |||
d6dd66c4b3 | |||
f666110a1a | |||
d22b09cc47 |
3
assets/images/SwapRight.svg
Normal file
3
assets/images/SwapRight.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M12.4369 8.15117L10.1947 5.30742C10.1538 5.25551 10.1017 5.21353 10.0423 5.18464C9.98285 5.15575 9.91764 5.14071 9.85156 5.14062H8.96562C8.87402 5.14062 8.82344 5.2459 8.87949 5.31836L10.8523 7.82031H2.57812C2.51797 7.82031 2.46875 7.86953 2.46875 7.92969V8.75C2.46875 8.81016 2.51797 8.85938 2.57812 8.85938H12.0924C12.4588 8.85938 12.6625 8.43828 12.4369 8.15117Z" fill="black" fill-opacity="0.45"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 514 B |
3
assets/images/SwapRight_Dark.svg
Normal file
3
assets/images/SwapRight_Dark.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M12.4369 8.15117L10.1947 5.30742C10.1538 5.25551 10.1017 5.21353 10.0423 5.18464C9.98285 5.15575 9.91764 5.14071 9.85156 5.14062H8.96562C8.87402 5.14062 8.82344 5.2459 8.87949 5.31836L10.8523 7.82031H2.57812C2.51797 7.82031 2.46875 7.86953 2.46875 7.92969V8.75C2.46875 8.81016 2.51797 8.85938 2.57812 8.85938H12.0924C12.4588 8.85938 12.6625 8.43828 12.4369 8.15117Z" fill="white" fill-opacity="0.45"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 514 B |
@ -9,6 +9,7 @@
|
|||||||
@import "./common/card.scss";
|
@import "./common/card.scss";
|
||||||
@import "./common/tabs.scss";
|
@import "./common/tabs.scss";
|
||||||
@import "./common/numericInput.scss";
|
@import "./common/numericInput.scss";
|
||||||
|
@import "./common/pagination.scss";
|
||||||
@import "./common/editor.scss";
|
@import "./common/editor.scss";
|
||||||
|
|
||||||
|
|
||||||
@ -443,6 +444,10 @@ a {
|
|||||||
.v-application.#{$theme}-mode {
|
.v-application.#{$theme}-mode {
|
||||||
min-width: 1000px;
|
min-width: 1000px;
|
||||||
|
|
||||||
|
.icon-datepicker-color {
|
||||||
|
color: map-deep-get($config, #{$theme}, "icon-datepicker-color");
|
||||||
|
}
|
||||||
|
|
||||||
.head-logo {
|
.head-logo {
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
}
|
}
|
||||||
@ -949,6 +954,7 @@ a {
|
|||||||
& th,
|
& th,
|
||||||
& td {
|
& td {
|
||||||
height: 48px;
|
height: 48px;
|
||||||
|
color: map-deep-get($config, #{$theme}, "tui-datepicker-calendar-color");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
43
assets/scss/common/pagination.scss
Normal file
43
assets/scss/common/pagination.scss
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
@each $theme in dark, light {
|
||||||
|
|
||||||
|
// @include theme($theme);
|
||||||
|
.v-application.#{$theme}-mode {
|
||||||
|
|
||||||
|
.ant-pagination-item,
|
||||||
|
.ant-pagination-prev,
|
||||||
|
.ant-pagination-next {
|
||||||
|
// border: none !important;
|
||||||
|
// box-shadow: none !important;
|
||||||
|
background-color: map-deep-get($config, #{$theme}, "paging-background") !important;
|
||||||
|
color: map-deep-get($config, #{$theme}, "paging-text") !important;
|
||||||
|
border: none;
|
||||||
|
|
||||||
|
.ant-pagination-item-link {
|
||||||
|
border: none;
|
||||||
|
background-color: map-deep-get($config, #{$theme}, "paging-background") !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-pagination-item-active {
|
||||||
|
border: 1px solid #1890ff !important;
|
||||||
|
color: #1890ff !important
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-pagination-options-size-changer {
|
||||||
|
.ant-select-selection {
|
||||||
|
border: 0.5px solid map-deep-get($config, #{$theme}, "v-input-fieldset-color") !important;
|
||||||
|
background: map-deep-get($config, #{$theme}, "paging-background") !important;
|
||||||
|
color: map-deep-get($config, #{$theme}, "paging-text") !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-select-arrow {
|
||||||
|
color: map-deep-get($config, #{$theme}, "paging-text") !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-select-selection__rendered {
|
||||||
|
margin-right: 30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -66,6 +66,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.v-icon {
|
||||||
|
color: map-deep-get($config, #{$theme}, "v-icon-chevron-down") !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.v-input__custom {
|
.v-input__custom {
|
||||||
|
@ -182,6 +182,9 @@ $config: (
|
|||||||
ant-btn-popup-bg: #212224,
|
ant-btn-popup-bg: #212224,
|
||||||
ant-btn-popup-color: #FFFFFFD9,
|
ant-btn-popup-color: #FFFFFFD9,
|
||||||
ant-btn-popup-border: #424242,
|
ant-btn-popup-border: #424242,
|
||||||
|
paging-background: #212224,
|
||||||
|
paging-text: #FFFFFFD9,
|
||||||
|
icon-datepicker-color: #FFFFFF73,
|
||||||
),
|
),
|
||||||
light: (w-g5: $--color-gray_555,
|
light: (w-g5: $--color-gray_555,
|
||||||
g5-w: $--color-white,
|
g5-w: $--color-white,
|
||||||
@ -327,5 +330,8 @@ $config: (
|
|||||||
ant-btn-popup-bg: #FFFFFF,
|
ant-btn-popup-bg: #FFFFFF,
|
||||||
ant-btn-popup-color: #000000E0,
|
ant-btn-popup-color: #000000E0,
|
||||||
ant-btn-popup-border: #D9D9D9,
|
ant-btn-popup-border: #D9D9D9,
|
||||||
|
paging-background: #FFFFFF,
|
||||||
|
paging-text: #000000E0,
|
||||||
|
icon-datepicker-color: #00000073,
|
||||||
),
|
),
|
||||||
);
|
);
|
@ -61,10 +61,6 @@ export default {
|
|||||||
require: false,
|
require: false,
|
||||||
default: true
|
default: true
|
||||||
},
|
},
|
||||||
labelClass: {
|
|
||||||
type: String,
|
|
||||||
require: false,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -19,15 +19,18 @@
|
|||||||
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 v-show="!isRange" 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>
|
||||||
</template>
|
</template>
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
<div v-if="isRange" class="mx-3" :style="{ lineHeight: 0 }">
|
<div v-if="isRange" class="mx-3" :style="{ lineHeight: 0 }">
|
||||||
<img :src="arrowIcon" alt="">
|
<img :src="arrowIcon">
|
||||||
</div>
|
</div>
|
||||||
<v-text-field
|
<v-text-field
|
||||||
v-show="isRange"
|
v-show="isRange"
|
||||||
@ -40,7 +43,9 @@
|
|||||||
outlined
|
outlined
|
||||||
>
|
>
|
||||||
<template #append>
|
<template #append>
|
||||||
<v-icon size="20">$icoCalendar</v-icon>
|
<div class="pr-1">
|
||||||
|
<a-icon class="v-icon" type="calendar" style="width: 14px; height: 14px;" />
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #append-outer>
|
<template #append-outer>
|
||||||
<div ref="endpicker-container" id="endpicker-container"></div>
|
<div ref="endpicker-container" id="endpicker-container"></div>
|
||||||
@ -209,9 +214,9 @@ export default {
|
|||||||
},
|
},
|
||||||
arrowIcon() {
|
arrowIcon() {
|
||||||
if(this.isDarkMode){
|
if(this.isDarkMode){
|
||||||
return require('@/assets/images/arrow_datepicker_dm.png');
|
return require('@/assets/images/SwapRight_Dark.svg');
|
||||||
}
|
}
|
||||||
return require('@/assets/images/arrow_datepicker.png');
|
return require('@/assets/images/SwapRight.svg');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
@ -5,10 +5,7 @@
|
|||||||
<!-- <v-icon x-small :color="required ? '#fb8200' : 'primary'" class="mr-1"
|
<!-- <v-icon x-small :color="required ? '#fb8200' : 'primary'" class="mr-1"
|
||||||
>mdi-record-circle</v-icon
|
>mdi-record-circle</v-icon
|
||||||
> -->
|
> -->
|
||||||
<v-icon
|
<v-icon small :class="['mr-1', required ? 'icon-orange' : 'icon-blue']">
|
||||||
small
|
|
||||||
:class="['mr-1', required ? 'icon-orange' : 'icon-blue']"
|
|
||||||
>
|
|
||||||
$icoBulletPoint
|
$icoBulletPoint
|
||||||
</v-icon>
|
</v-icon>
|
||||||
{{ label }}
|
{{ label }}
|
||||||
@ -16,17 +13,11 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="label ? textCols : ''">
|
<v-col :cols="label ? textCols : ''">
|
||||||
<div class="datepicker-container">
|
<div class="datepicker-container">
|
||||||
<v-text-field
|
<v-text-field id="startpicker" ref="startpicker" v-model="fromDtValue"
|
||||||
id="startpicker"
|
:class="isRange ? 'v-input__custom half' : 'v-input__custom'" :hide-details="true" readonly
|
||||||
ref="startpicker"
|
outlined>
|
||||||
v-model="fromDtValue"
|
<template v-slot:append>
|
||||||
:class="isRange ? 'v-input__custom half' : 'v-input__custom'"
|
<a-icon v-show="!isRange" class="v-icon" type="calendar" style="width: 14px; height: 14px;" />
|
||||||
:hide-details="true"
|
|
||||||
readonly
|
|
||||||
outlined
|
|
||||||
>
|
|
||||||
<template #append >
|
|
||||||
<v-icon size="20" v-show="!isRange">$icoCalendar</v-icon>
|
|
||||||
</template>
|
</template>
|
||||||
<template #append-outer>
|
<template #append-outer>
|
||||||
<div ref="startpicker-container" id="startpicker-container"></div>
|
<div ref="startpicker-container" id="startpicker-container"></div>
|
||||||
@ -36,18 +27,13 @@
|
|||||||
<div v-show="isRange" class="mx-3" :style="{ lineHeight: 0 }">
|
<div v-show="isRange" class="mx-3" :style="{ lineHeight: 0 }">
|
||||||
<img :src="arrowIcon" alt="">
|
<img :src="arrowIcon" alt="">
|
||||||
</div>
|
</div>
|
||||||
<v-text-field
|
<v-text-field v-show="isRange" id="endpicker" ref="endpicker" v-model="toDtValue"
|
||||||
v-show="isRange"
|
:class="isRange ? 'v-input__custom half' : 'v-input__custom'" :hide-details="true" readonly
|
||||||
id="endpicker"
|
outlined>
|
||||||
ref="endpicker"
|
|
||||||
v-model="toDtValue"
|
|
||||||
:class="isRange ? 'v-input__custom half' : 'v-input__custom'"
|
|
||||||
:hide-details="true"
|
|
||||||
readonly
|
|
||||||
outlined
|
|
||||||
>
|
|
||||||
<template #append>
|
<template #append>
|
||||||
<v-icon size="20">$icoCalendar</v-icon>
|
<div class="pr-1">
|
||||||
|
<a-icon class="v-icon" type="calendar" style="width: 14px; height: 14px;" />
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #append-outer>
|
<template #append-outer>
|
||||||
<div ref="endpicker-container" id="endpicker-container"></div>
|
<div ref="endpicker-container" id="endpicker-container"></div>
|
||||||
@ -183,7 +169,8 @@ export default {
|
|||||||
toDt: Utility.setFormatDate(
|
toDt: Utility.setFormatDate(
|
||||||
this.searchParam.toDt,
|
this.searchParam.toDt,
|
||||||
this.myOptions.viewFormat,
|
this.myOptions.viewFormat,
|
||||||
)};
|
)
|
||||||
|
};
|
||||||
},
|
},
|
||||||
fromDtChange() {
|
fromDtChange() {
|
||||||
return {
|
return {
|
||||||
@ -191,7 +178,8 @@ export default {
|
|||||||
fromDt: Utility.setFormatDate(
|
fromDt: Utility.setFormatDate(
|
||||||
this.searchParam.fromDt,
|
this.searchParam.fromDt,
|
||||||
this.myOptions.viewFormat,
|
this.myOptions.viewFormat,
|
||||||
)};
|
)
|
||||||
|
};
|
||||||
},
|
},
|
||||||
defaultRange() {
|
defaultRange() {
|
||||||
return this.searchParam.defaultRange
|
return this.searchParam.defaultRange
|
||||||
@ -206,9 +194,9 @@ export default {
|
|||||||
},
|
},
|
||||||
arrowIcon() {
|
arrowIcon() {
|
||||||
if (this.isDarkMode) {
|
if (this.isDarkMode) {
|
||||||
return require('@/assets/images/arrow_datepicker_dm.png');
|
return require('@/assets/images/SwapRight_Dark.svg');
|
||||||
}
|
}
|
||||||
return require('@/assets/images/arrow_datepicker.png');
|
return require('@/assets/images/SwapRight.svg');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -424,6 +412,7 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
background-color: #edf4fc;
|
background-color: #edf4fc;
|
||||||
|
|
||||||
.tui-timepicker-column.tui-timepicker-colon {
|
.tui-timepicker-column.tui-timepicker-colon {
|
||||||
color: #000 !important;
|
color: #000 !important;
|
||||||
}
|
}
|
||||||
|
@ -606,8 +606,10 @@ export default {
|
|||||||
list.map(item => this.gridInstance.invoke('check', item));
|
list.map(item => this.gridInstance.invoke('check', item));
|
||||||
},
|
},
|
||||||
refreshLayout() {
|
refreshLayout() {
|
||||||
// console.log("---------DEBUG---refreshLayout: ");
|
setTimeout(() => {
|
||||||
this.gridInstance.invoke('refreshLayout');
|
this.gridInstance.invoke('refreshLayout');
|
||||||
|
}, 150);
|
||||||
|
// this.gridInstance.invoke('refreshLayout');
|
||||||
},
|
},
|
||||||
refreshGrid() {
|
refreshGrid() {
|
||||||
// console.log("refreshLayout",this.$refs['tuigrid' + this.gridName])
|
// console.log("refreshLayout",this.$refs['tuigrid' + this.gridName])
|
||||||
|
93
components/common/Pagination.vue
Normal file
93
components/common/Pagination.vue
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
|
||||||
|
<template>
|
||||||
|
<div class="custom-pagination">
|
||||||
|
<a-pagination
|
||||||
|
:current="pageNum"
|
||||||
|
:total="totalCount"
|
||||||
|
:page-size="itemsPerPage"
|
||||||
|
:show-size-changer="useLimit"
|
||||||
|
:page-size-options="itemsPerPageArray.map(String)"
|
||||||
|
@change="handlePageChange"
|
||||||
|
@showSizeChange="changePageLeng"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
useLimit: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
totalCount: {
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
|
pageNum: {
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
|
limit: {
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
|
itemsPerPageArray: {
|
||||||
|
type: Array,
|
||||||
|
default: () => [20, 50, 100],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
moveToPage: '',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
page: function() {
|
||||||
|
return this.numberOfPages + '-' + this.lastPage;
|
||||||
|
},
|
||||||
|
lastPage: function() {
|
||||||
|
//grid data가 없을 경우 1 리턴
|
||||||
|
if (this.totalCount == 0) return 1;
|
||||||
|
|
||||||
|
let pageLength = Math.floor(this.totalCount / this.itemsPerPage);
|
||||||
|
if (this.totalCount % this.itemsPerPage > 0) {
|
||||||
|
pageLength++;
|
||||||
|
}
|
||||||
|
return pageLength;
|
||||||
|
},
|
||||||
|
itemsPerPage: function() {
|
||||||
|
return this.limit;
|
||||||
|
},
|
||||||
|
numberOfPages: function() {
|
||||||
|
return Number(this.pageNum);
|
||||||
|
},
|
||||||
|
plusPage: function() {
|
||||||
|
return Number(this.pageNum) + 1;
|
||||||
|
},
|
||||||
|
minusPage: function() {
|
||||||
|
return Number(this.pageNum) - 1;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
totalCount: function(newData) {
|
||||||
|
return (this.moveToPage = newData > 0 ? this.moveToPage : '');
|
||||||
|
},
|
||||||
|
moveToPage: function() {
|
||||||
|
return (this.moveToPage = this.moveToPage.replaceAll(/[^0-9]/g, ''));
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handlePageChange(newPage) {
|
||||||
|
// Emit an event to the parent to load data for the selected page
|
||||||
|
this.$emit('loadData', newPage, this.itemsPerPage);
|
||||||
|
},
|
||||||
|
changePageLeng: function(current, newLimit) {
|
||||||
|
//부모 컴포넌트에서 loadData(데이터 조회) 구현
|
||||||
|
//this.$emit('loadData', this.pageNum, limit);
|
||||||
|
// limit 변경 시 1 페이지로 초기화
|
||||||
|
this.$emit('loadData', 1, newLimit);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
@ -3,24 +3,18 @@
|
|||||||
<v-col v-if="label" :cols="labelCols">
|
<v-col v-if="label" :cols="labelCols">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
<v-icon small color="primary"
|
<v-icon small color="primary"
|
||||||
:class="['mr-1', required ? 'icon-orange' : 'icon-blue']"
|
:class="['mr-1', required ? 'icon-orange' : 'icon-blue']">$icoBulletPoint</v-icon>
|
||||||
>$icoBulletPoint</v-icon>
|
|
||||||
{{ label }}
|
{{ label }}
|
||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="label ? textCols : ''">
|
<v-col :cols="label ? textCols : ''">
|
||||||
<div :class="['datepicker-container', customClass]">
|
<div :class="['datepicker-container', customClass]">
|
||||||
<v-text-field
|
<v-text-field id="startpicker" ref="startpicker" v-model="fromDtValue"
|
||||||
id="startpicker"
|
:class="isRange ? 'v-input__custom half' : 'v-input__custom'" :hide-details="true" readonly
|
||||||
ref="startpicker"
|
outlined>
|
||||||
v-model="fromDtValue"
|
|
||||||
:class="isRange ? 'v-input__custom half' : 'v-input__custom'"
|
|
||||||
:hide-details="true"
|
|
||||||
readonly
|
|
||||||
outlined
|
|
||||||
>
|
|
||||||
<template #append>
|
<template #append>
|
||||||
<v-icon size="20" v-show="!isRange">$icoCalendar</v-icon>
|
<a-icon class="v-icon" v-show="!isRange" type="calendar" style="width: 14px; height: 14px;" />
|
||||||
|
<!-- <v-icon size="20" v-show="!isRange">$icoCalendar</v-icon> -->
|
||||||
</template>
|
</template>
|
||||||
<template #append-outer>
|
<template #append-outer>
|
||||||
<div ref="startpicker-container" id="startpicker-container"></div>
|
<div ref="startpicker-container" id="startpicker-container"></div>
|
||||||
@ -29,18 +23,13 @@
|
|||||||
<div v-if="isRange" class="mx-3" :style="{ lineHeight: 0 }">
|
<div v-if="isRange" class="mx-3" :style="{ lineHeight: 0 }">
|
||||||
<img :src="arrowIcon" alt="">
|
<img :src="arrowIcon" alt="">
|
||||||
</div>
|
</div>
|
||||||
<v-text-field
|
<v-text-field v-show="isRange" id="endpicker" ref="endpicker" v-model="toDtValue"
|
||||||
v-show="isRange"
|
:class="isRange ? 'v-input__custom half' : 'v-input__custom'" :hide-details="true" readonly
|
||||||
id="endpicker"
|
outlined>
|
||||||
ref="endpicker"
|
|
||||||
v-model="toDtValue"
|
|
||||||
:class="isRange ? 'v-input__custom half' : 'v-input__custom'"
|
|
||||||
:hide-details="true"
|
|
||||||
readonly
|
|
||||||
outlined
|
|
||||||
>
|
|
||||||
<template #append>
|
<template #append>
|
||||||
<v-icon size="20">$icoCalendar</v-icon>
|
<div class="pr-1">
|
||||||
|
<a-icon class="v-icon" type="calendar" style="width: 14px; height: 14px;" />
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #append-outer>
|
<template #append-outer>
|
||||||
<div ref="endpicker-container" id="endpicker-container"></div>
|
<div ref="endpicker-container" id="endpicker-container"></div>
|
||||||
@ -98,6 +87,7 @@ export default {
|
|||||||
searchParam(state) {
|
searchParam(state) {
|
||||||
return state.pageData[this.parentPrgmId];
|
return state.pageData[this.parentPrgmId];
|
||||||
},
|
},
|
||||||
|
isDarkMode: "isDarkMode",
|
||||||
}),
|
}),
|
||||||
myCmCycle() {
|
myCmCycle() {
|
||||||
return this.searchParam.cmCycle;
|
return this.searchParam.cmCycle;
|
||||||
@ -139,9 +129,9 @@ export default {
|
|||||||
},
|
},
|
||||||
arrowIcon() {
|
arrowIcon() {
|
||||||
if (this.isDarkMode) {
|
if (this.isDarkMode) {
|
||||||
return require('@/assets/images/arrow_datepicker_dm.png');
|
return require('@/assets/images/SwapRight_Dark.svg');
|
||||||
}
|
}
|
||||||
return require('@/assets/images/arrow_datepicker.png');
|
return require('@/assets/images/SwapRight.svg');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -334,6 +324,7 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
background-color: #edf4fc;
|
background-color: #edf4fc;
|
||||||
|
|
||||||
.tui-timepicker-column.tui-timepicker-colon {
|
.tui-timepicker-column.tui-timepicker-colon {
|
||||||
color: #000 !important;
|
color: #000 !important;
|
||||||
}
|
}
|
||||||
|
@ -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" class="custom-action-btn">
|
<a-button @click="directionBtn === 'vertically' ? btnActionsFnc('removeRightToLeft') : btnActionsFnc('addLeftToRight')" type="primary" ghost :icon="directionBtn === 'vertically'? icons.remove :icons.add " class="custom-action-btn">
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button @click="btnActionsFnc('addLeftToRight')" type="primary" ghost :icon="icons.add" class="custom-action-btn">
|
<a-button @click="directionBtn === 'vertically' ? btnActionsFnc('removeRightToLeft') :btnActionsFnc('removeRightToLeft')" type="primary" ghost :icon="directionBtn === 'vertically'? icons.add :icons.remove" class="custom-action-btn">
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -2,15 +2,13 @@
|
|||||||
export default function getGaugeChartOption({ title, min = 0, max = 160, unit = '%', isDarkMode = false, backgroundRadius = 97 }) {
|
export default function getGaugeChartOption({ title, min = 0, max = 160, unit = '%', isDarkMode = false, backgroundRadius = 97 }) {
|
||||||
const colorRanges = isDarkMode
|
const colorRanges = isDarkMode
|
||||||
? [
|
? [
|
||||||
[0.375, '#49AA19'], // Dark Green
|
[60 / 160, '#49AA19'], // Dark Green
|
||||||
// [0.5, '#B8860B'], // Dark Yellow
|
[100 / 160, '#D89614'], // Dark Orange
|
||||||
[0.625, '#D89614'], // Dark Orange
|
|
||||||
[1, '#D32029'], // Dark Red
|
[1, '#D32029'], // Dark Red
|
||||||
]
|
]
|
||||||
: [
|
: [
|
||||||
[0.375, '#52C41A'], // Light Green
|
[60 / 160, '#52C41A'], // Light Green
|
||||||
// [0.5, '#FFD700'], // Light Yellow
|
[100 / 160, '#FAAD14'], // Light Orange
|
||||||
[0.625, '#FAAD14'], // Light Orange
|
|
||||||
[1, '#F5222D'], // Light Red
|
[1, '#F5222D'], // Light Red
|
||||||
];
|
];
|
||||||
// Old color range
|
// Old color range
|
||||||
@ -56,6 +54,7 @@ export default function getGaugeChartOption({ title, min = 0, max = 160, unit =
|
|||||||
endAngle: -45,
|
endAngle: -45,
|
||||||
min: min,
|
min: min,
|
||||||
max: max,
|
max: max,
|
||||||
|
splitNumber: 8,
|
||||||
// progress: {
|
// progress: {
|
||||||
// show: true,
|
// show: true,
|
||||||
// width: 15,
|
// width: 15,
|
||||||
|
@ -34,6 +34,8 @@ export default function getLineChartOption({
|
|||||||
legend: {
|
legend: {
|
||||||
// data: legendData,
|
// data: legendData,
|
||||||
icon: 'circle',
|
icon: 'circle',
|
||||||
|
itemWidth: 15, // Width of the legend icon
|
||||||
|
itemHeight: 15,
|
||||||
top: '0%',
|
top: '0%',
|
||||||
right: '5%',
|
right: '5%',
|
||||||
orient: 'horizontal',
|
orient: 'horizontal',
|
||||||
@ -70,6 +72,7 @@ export default function getLineChartOption({
|
|||||||
},
|
},
|
||||||
splitLine: {
|
splitLine: {
|
||||||
lineStyle: {
|
lineStyle: {
|
||||||
|
type: 'dashed', // Options: 'solid', 'dashed', 'dotted'
|
||||||
color: isDarkMode ? '#444444' : '#EEEEEE',
|
color: isDarkMode ? '#444444' : '#EEEEEE',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
46
components/common/chartoptions/SankeyChart.js
Normal file
46
components/common/chartoptions/SankeyChart.js
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
// Sankey chart options
|
||||||
|
export function getSankeyChartOption({ isDarkMode = false, data = [], links = [] }) {
|
||||||
|
const chartOption = {
|
||||||
|
backgroundColor: '#FFFFFF',
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
data,
|
||||||
|
links,
|
||||||
|
|
||||||
|
layoutIterations: 0,
|
||||||
|
type: 'sankey',
|
||||||
|
left: 25.0,
|
||||||
|
top: 20.0,
|
||||||
|
right: 120,
|
||||||
|
bottom: 50.0,
|
||||||
|
nodeGap: 10,
|
||||||
|
nodeAlign: 'left',
|
||||||
|
lineStyle: {
|
||||||
|
color: 'source',
|
||||||
|
curveness: 0.5,
|
||||||
|
},
|
||||||
|
// nodeWidth:10,
|
||||||
|
// triggerEvent: true,
|
||||||
|
itemStyle: {
|
||||||
|
//color: '#1f77b4',
|
||||||
|
//borderColor: '#1f77b4'
|
||||||
|
},
|
||||||
|
label: {
|
||||||
|
color: isDarkMode
|
||||||
|
? '#FFFFFFD9'
|
||||||
|
: '#000000E0',
|
||||||
|
// fontFamily: 'Arial',
|
||||||
|
fontSize: 14,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
tooltip: {
|
||||||
|
trigger: 'item',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
return chartOption;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default getSankeyChartOption;
|
||||||
|
|
@ -3,12 +3,13 @@
|
|||||||
<v-col v-if="item.label" :cols="item.labelCols !== undefined ? item.labelCols : item.cols == 12 ? 2 : 4">
|
<v-col v-if="item.label" :cols="item.labelCols !== undefined ? item.labelCols : item.cols == 12 ? 2 : 4">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
<v-icon
|
<v-icon
|
||||||
x-small
|
v-if="item.iconShow"
|
||||||
:color="item.required ? '#fb8200' : 'primary'"
|
small
|
||||||
class="mr-1"
|
:class="['mr-1', item.required ? 'icon-orange' : 'icon-blue']"
|
||||||
>mdi-record-circle</v-icon
|
>$icoBulletPoint</v-icon
|
||||||
>
|
>
|
||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
|
<span v-if="item.essential">*</span>
|
||||||
</label>
|
</label>
|
||||||
<!-- <label for="" class="search-box-label ft-size_14 ft-clr_g-c">
|
<!-- <label for="" class="search-box-label ft-size_14 ft-clr_g-c">
|
||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
@ -39,12 +40,12 @@
|
|||||||
</template>
|
</template>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
<v-dialog v-model="dialog" scrollable width="540px">
|
<v-dialog v-model="dialog" scrollable width="504px">
|
||||||
<v-card style="height: 100%">
|
<v-card style="height: 100%">
|
||||||
<v-card-title>
|
<v-card-title class="px-4">
|
||||||
<span class="custom-title-4">비밀번호 {{ isPassword }}</span>
|
<span class="custom-title-4" style="padding-left: 1px;">비밀번호 {{ isPassword }}</span>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<v-card-text class="pb-4">
|
<v-card-text class="pb-4 px-3">
|
||||||
<v-col>
|
<v-col>
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
{{ isPassword }}할 비밀번호를 입력하세요
|
{{ isPassword }}할 비밀번호를 입력하세요
|
||||||
|
@ -17,20 +17,24 @@
|
|||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="label ? item.textCols : ''">
|
<v-col :cols="label ? item.textCols : ''" class="py-0">
|
||||||
<!-- <v-col :cols="label ? 9 : ''"> -->
|
<!-- <v-col :cols="label ? 9 : ''"> -->
|
||||||
<!-- :value="textfield" -->
|
<!-- :value="textfield" -->
|
||||||
<v-text-field
|
<v-text-field
|
||||||
readonly
|
readonly
|
||||||
v-model="selectValue"
|
v-model="selectValue"
|
||||||
append-icon="mdi-magnify"
|
|
||||||
class="v-input__custom"
|
class="v-input__custom"
|
||||||
@click="dialog = !dialog"
|
@click="dialog = !dialog"
|
||||||
outlined
|
outlined
|
||||||
:hide-details="true"
|
:hide-details="true"
|
||||||
:disabled="item.disabled || false"
|
:disabled="item.disabled || false"
|
||||||
:required="item.required || false"
|
:required="item.required || false"
|
||||||
></v-text-field>
|
>
|
||||||
|
<template v-slot:append>
|
||||||
|
<!-- Custom SVG icon -->
|
||||||
|
<v-icon>$icoSearch</v-icon>
|
||||||
|
</template>
|
||||||
|
</v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
<!-- <v-row justify="center"> -->
|
<!-- <v-row justify="center"> -->
|
||||||
|
@ -404,8 +404,8 @@ export default {
|
|||||||
rowHeight: 'auto',
|
rowHeight: 'auto',
|
||||||
};
|
};
|
||||||
if (this.isMulti) {
|
if (this.isMulti) {
|
||||||
// myOptions['rowHeaders'] = [{ type: 'checkbox' }];
|
myOptions['rowHeaders'] = [{ type: 'checkbox' }];
|
||||||
// myOptions['rowHeight'] = 'auto';
|
myOptions['rowHeight'] = 'auto';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -523,12 +523,11 @@ export default {
|
|||||||
|
|
||||||
|
|
||||||
this.loadGrid = true;
|
this.loadGrid = true;
|
||||||
// this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
// if (this.isMulti) {
|
if (this.isMulti) {
|
||||||
// this.getChecked();
|
this.getChecked();
|
||||||
// }
|
}
|
||||||
// });
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
setUpdate() {
|
setUpdate() {
|
||||||
if (this.isMulti) {
|
if (this.isMulti) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<v-row class="search-box no-gutters" align="center">
|
<v-row class="search-box" align="center">
|
||||||
<v-col :cols="option.labelCols" class="py-0">
|
<v-col :cols="option.labelCols" class="py-0">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
<v-icon v-if="item.iconShow" small
|
<v-icon v-if="item.iconShow" small
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<v-row class="search-box" align="center">
|
<v-row class="search-box" align="center" no-gutters>
|
||||||
<!-- <v-col v-if="label" cols="2"> -->
|
<!-- <v-col v-if="label" cols="2"> -->
|
||||||
<v-col v-if="item.label" :cols="item.labelCols" class="py-0">
|
<v-col v-if="item.label" :cols="item.labelCols" class="py-0">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
|
@ -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 custom-title-4-new">공정 추가 정보</span>
|
<span class="txt custom-subtitle-tab">공정 추가 정보</span>
|
||||||
<Buttons
|
<Buttons
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
:bindingData="gridName"
|
:bindingData="gridName"
|
||||||
|
@ -4,14 +4,14 @@
|
|||||||
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 custom-title-4-new">공정 입출력 정보</span>
|
<span class="txt custom-subtitle-tab">공정 입출력 정보</span>
|
||||||
<Buttons
|
<Buttons
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
:bindingData="gridName"
|
:bindingData="gridName"
|
||||||
:btnActionsFnc="btnActions"
|
:btnActionsFnc="btnActions"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div ref="gridParent" style="height: calc(100vh - 700px);">
|
<div ref="gridParent" style="height: calc(90vh - 700px);">
|
||||||
<component
|
<component
|
||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
:is="loadGrid ? 'Grid' : null"
|
:is="loadGrid ? 'Grid' : null"
|
||||||
@ -21,7 +21,7 @@
|
|||||||
:innerTabGridInfo="innerTabGridInfo"
|
:innerTabGridInfo="innerTabGridInfo"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div style="height: 60vh;" class="mt-5">
|
<div style="height: 25vh;" class="mt-5">
|
||||||
<component
|
<component
|
||||||
:is="'Form'"
|
:is="'Form'"
|
||||||
:bindingData="gridName"
|
:bindingData="gridName"
|
||||||
@ -98,17 +98,19 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
selectedObjId(val) {
|
selectedObjId(val) {
|
||||||
if (val === 'TAG') {
|
if (val === 'TAG') {
|
||||||
this.detailList[2].class = 'py-2 d-none';
|
this.detailList[1].class = 'd-none';
|
||||||
this.detailList[3].class = 'py-2 d-none';
|
this.detailList[2].class = 'd-block pl-4';
|
||||||
this.detailList[4].class = 'py-2';
|
this.detailList[3].class = 'd-block';
|
||||||
this.detailList[5].class = 'py-2';
|
|
||||||
} else {
|
} else {
|
||||||
// }else if(val==="READ_PLC"){
|
// }else if(val==="READ_PLC"){
|
||||||
this.detailList[5].class = 'py-2 d-none';
|
this.detailList[3].class = 'd-block';
|
||||||
this.detailList[4].class = 'py-2 d-none';
|
this.detailList[2].class = 'd-none';
|
||||||
this.detailList[3].class = 'py-2';
|
this.detailList[1].class = 'd-block pl-4';
|
||||||
this.detailList[2].class = 'py-2';
|
|
||||||
}
|
}
|
||||||
|
this.detailList[4].class = 'pl-4 mt-2';
|
||||||
|
|
||||||
|
console.log(val)
|
||||||
|
console.log(this.detailList)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
@ -188,6 +190,7 @@ export default {
|
|||||||
{ header: '대상 명', name: 'objNm', width: 300, align: 'left' },
|
{ header: '대상 명', name: 'objNm', width: 300, align: 'left' },
|
||||||
{
|
{
|
||||||
header: '에너지원 명',
|
header: '에너지원 명',
|
||||||
|
width: 150,
|
||||||
name: 'ercId',
|
name: 'ercId',
|
||||||
align: 'left',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
@ -204,8 +207,9 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: '대상 유형',
|
header: '대상 유형',
|
||||||
|
width: 150,
|
||||||
name: 'objKind',
|
name: 'objKind',
|
||||||
align: 'center',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
var retVal = '';
|
var retVal = '';
|
||||||
|
|
||||||
@ -221,7 +225,8 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '투입 생산 유형',
|
header: '투입 생산 유형',
|
||||||
name: 'inProdKind',
|
name: 'inProdKind',
|
||||||
align: 'center',
|
width: 150,
|
||||||
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
var retVal = '';
|
var retVal = '';
|
||||||
|
|
||||||
@ -237,7 +242,8 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '계산 여부',
|
header: '계산 여부',
|
||||||
name: 'calcFg',
|
name: 'calcFg',
|
||||||
align: 'center',
|
width: 150,
|
||||||
|
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(
|
||||||
@ -247,7 +253,7 @@ export default {
|
|||||||
// return value === true ? "사용" : "사용안함";
|
// return value === true ? "사용" : "사용안함";
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{ header: '분배율(1~100)', name: 'distRt', align: 'right' },
|
{ header: '분배율(1~100)', name: 'distRt', align: 'right', width: 150 },
|
||||||
{ header: '사업장', name: 'blocId', align: 'center', hidden: true },
|
{ header: '사업장', name: 'blocId', align: 'center', hidden: true },
|
||||||
{ header: '등록 사용자', name: 'regUserNo', hidden: true },
|
{ header: '등록 사용자', name: 'regUserNo', hidden: true },
|
||||||
{ header: '등록 일자', name: 'regDttm', hidden: true },
|
{ header: '등록 일자', name: 'regDttm', hidden: true },
|
||||||
@ -374,7 +380,7 @@ const myDetail = [
|
|||||||
label: '대상 유형',
|
label: '대상 유형',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pr-4',
|
class: 'pr-4 py-2',
|
||||||
list: 'emMapDivList',
|
list: 'emMapDivList',
|
||||||
valueNm: 'objKind',
|
valueNm: 'objKind',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
@ -389,9 +395,9 @@ const myDetail = [
|
|||||||
type: 'ReadPlcPop',
|
type: 'ReadPlcPop',
|
||||||
label: '대상 항목',
|
label: '대상 항목',
|
||||||
valueNm: 'objId',
|
valueNm: 'objId',
|
||||||
disabled: false,
|
disabled: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'pt-2 pb-0 mb-0 pl-4',
|
class: 'pl-4 py-2',
|
||||||
required: true,
|
required: true,
|
||||||
bindNm: 'objNm',
|
bindNm: 'objNm',
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
@ -400,24 +406,6 @@ const myDetail = [
|
|||||||
noText: true,
|
noText: true,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
// 공백 처리
|
|
||||||
type: 'Label',
|
|
||||||
cols: 6,
|
|
||||||
class: 'py-2 pr-4',
|
|
||||||
disabled: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'InputText',
|
|
||||||
valueNm: 'objNm',
|
|
||||||
readonly: true,
|
|
||||||
disabled: true,
|
|
||||||
cols: 6,
|
|
||||||
class: 'pl-4',
|
|
||||||
labelCols: 12,
|
|
||||||
textCols: 12,
|
|
||||||
iconShow: true,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
type: 'EvtObjPop',
|
type: 'EvtObjPop',
|
||||||
labelContent: '대상 항목',
|
labelContent: '대상 항목',
|
||||||
@ -428,16 +416,23 @@ const myDetail = [
|
|||||||
disabled: true,
|
disabled: true,
|
||||||
required: true,
|
required: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'd-none pr-4',
|
class: 'd-none pr-4 py-2',
|
||||||
disableContent: true,
|
disableContent: true,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
// 공백 처리
|
||||||
|
type: 'Label',
|
||||||
|
cols: 6,
|
||||||
|
class: 'py-2 pr-4',
|
||||||
|
disabled: false,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'd-none pt-0 pl-4',
|
class: 'pt-0 pl-4 mt-2 py-2',
|
||||||
valueNm: 'objNm',
|
valueNm: 'objNm',
|
||||||
readonly: true,
|
readonly: true,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
@ -450,7 +445,7 @@ const myDetail = [
|
|||||||
label: '에너지원',
|
label: '에너지원',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
list: 'ercNmList',
|
list: 'ercNmList',
|
||||||
valueNm: 'ercId',
|
valueNm: 'ercId',
|
||||||
itemText: 'text',
|
itemText: 'text',
|
||||||
@ -465,7 +460,7 @@ const myDetail = [
|
|||||||
label: '투입생산유형',
|
label: '투입생산유형',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
list: 'cmInoutList',
|
list: 'cmInoutList',
|
||||||
valueNm: 'inProdKind',
|
valueNm: 'inProdKind',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
@ -478,7 +473,7 @@ const myDetail = [
|
|||||||
{
|
{
|
||||||
type: 'CheckBox',
|
type: 'CheckBox',
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
label: '계산 여부',
|
label: '계산 여부',
|
||||||
valueNm: 'calcFg',
|
valueNm: 'calcFg',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
@ -487,7 +482,6 @@ const myDetail = [
|
|||||||
disabledFg: 'objKind',
|
disabledFg: 'objKind',
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
@ -495,7 +489,7 @@ const myDetail = [
|
|||||||
valueNm: 'distRt',
|
valueNm: 'distRt',
|
||||||
readonly: false,
|
readonly: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
required: true,
|
required: true,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
|
@ -21,9 +21,9 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<!-- Create the line between date picker and form -->
|
<!-- Create the line between date picker and form -->
|
||||||
<v-row class="my-5" no-gutters>
|
<v-row class="mt-6 mb-7" no-gutters>
|
||||||
<v-col>
|
<v-col>
|
||||||
<div style="height: 1px; background-color: #ccc;"></div>
|
<div style="height: 1px; background-color: #0000000F;"></div>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row class="search-box" align="center" no-gutters style="height: 44px;">
|
<v-row class="search-box" align="center" no-gutters style="height: 44px;">
|
||||||
@ -43,7 +43,7 @@
|
|||||||
<div
|
<div
|
||||||
ref="gridParent"
|
ref="gridParent"
|
||||||
class="w100"
|
class="w100"
|
||||||
style="height: calc((100vh - 600px) / 2);"
|
style="height: calc((100vh - 500px) / 2);"
|
||||||
>
|
>
|
||||||
<Grid
|
<Grid
|
||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
@ -57,7 +57,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row class="search-box" align="center" no-gutters style="height: 44px;">
|
<v-row class="search-box mt-2" align="center" no-gutters style="height: 44px;">
|
||||||
<v-col :cols="4">
|
<v-col :cols="4">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
<!-- <v-icon x-small color="primary" class="mr-1"
|
<!-- <v-icon x-small color="primary" class="mr-1"
|
||||||
@ -77,7 +77,7 @@
|
|||||||
<div
|
<div
|
||||||
ref="chartParent"
|
ref="chartParent"
|
||||||
class="h100 w100"
|
class="h100 w100"
|
||||||
style="height: calc((100vh - 600px) / 2 - 30px);"
|
style="height: calc((100vh - 500px) / 2);"
|
||||||
>
|
>
|
||||||
<component
|
<component
|
||||||
class="w100 h100"
|
class="w100 h100"
|
||||||
|
@ -332,7 +332,7 @@ const myReadPlcTagDetail = [
|
|||||||
valueNm2: 'tagNm',
|
valueNm2: 'tagNm',
|
||||||
disabled: true,
|
disabled: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'pr-4 pb-2 py-2',
|
class: 'pr-4 pb-2 py-2 mt-2',
|
||||||
required: true,
|
required: true,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
@ -345,7 +345,7 @@ const myReadPlcTagDetail = [
|
|||||||
valueNm: 'ercId',
|
valueNm: 'ercId',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'pl-4 pb-2 py-3',
|
class: 'pl-4 pb-2 py-3 mt-2',
|
||||||
list: 'ercNmList',
|
list: 'ercNmList',
|
||||||
itemText: 'text',
|
itemText: 'text',
|
||||||
itemValue: 'value',
|
itemValue: 'value',
|
||||||
@ -360,7 +360,7 @@ const myReadPlcTagDetail = [
|
|||||||
readonly: true,
|
readonly: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'pt-1 py-3 pr-4',
|
class: 'pt-1 py-3 pr-4 mt-2',
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -372,7 +372,7 @@ const myReadPlcTagDetail = [
|
|||||||
valueNm: 'distRt',
|
valueNm: 'distRt',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-3 pr-4',
|
class: 'py-3 pr-4 mt-2',
|
||||||
inputType: 'number',
|
inputType: 'number',
|
||||||
min: 1,
|
min: 1,
|
||||||
max: 100,
|
max: 100,
|
||||||
@ -387,7 +387,7 @@ const myReadPlcTagDetail = [
|
|||||||
valueNm: 'reprTagFg',
|
valueNm: 'reprTagFg',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-3 pl-4',
|
class: 'py-3 pl-4 mt-2',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
required: true,
|
required: true,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
@ -401,7 +401,7 @@ const myReadPlcTagDetail = [
|
|||||||
valueNm: 'useFg',
|
valueNm: 'useFg',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-3 pr-4',
|
class: 'py-3 pr-4 mt-2',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
required: true,
|
required: true,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
@ -414,7 +414,7 @@ const myReadPlcTagDetail = [
|
|||||||
valueNm: 'rmrk',
|
valueNm: 'rmrk',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-3 pl-4',
|
class: 'py-3 pl-4 mt-2',
|
||||||
inputType: 'string',
|
inputType: 'string',
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
|
@ -90,7 +90,7 @@
|
|||||||
<!-- 사용자 정보 -->
|
<!-- 사용자 정보 -->
|
||||||
<v-col :cols="7" class="h100">
|
<v-col :cols="7" class="h100">
|
||||||
<v-card class="pb-5 h100">
|
<v-card class="pb-5 h100">
|
||||||
<v-card-title class="custom-title-4">사용자 정보</v-card-title>
|
<v-card-title class="custom-title-4 pb-0">사용자 정보</v-card-title>
|
||||||
<div class="px-5" :style="{ height: 'calc(100% - 62.5px)' }">
|
<div class="px-5" :style="{ height: 'calc(100% - 62.5px)' }">
|
||||||
<v-tabs v-model="tab">
|
<v-tabs v-model="tab">
|
||||||
<v-tab
|
<v-tab
|
||||||
@ -947,17 +947,6 @@ const asgnRoleByUserColumns = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
const asgnMenuByUserColumns = [
|
const asgnMenuByUserColumns = [
|
||||||
{
|
|
||||||
header: '',
|
|
||||||
name: '',
|
|
||||||
align: 'center',
|
|
||||||
width: 50,
|
|
||||||
formatter: (props) => {
|
|
||||||
return `<label class="custom-radio">
|
|
||||||
<span class="radio-mark"></span>
|
|
||||||
</label>`;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{ header: '메뉴명', name: 'menuNm' }];
|
{ header: '메뉴명', name: 'menuNm' }];
|
||||||
|
|
||||||
const myDetail = blocCdList => {
|
const myDetail = blocCdList => {
|
||||||
@ -971,7 +960,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
required: false,
|
required: false,
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
@ -983,7 +972,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
@ -996,8 +985,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
iconShow: true,
|
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1007,7 +995,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
@ -1018,7 +1006,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
list: blocCdList.map(item => ({
|
list: blocCdList.map(item => ({
|
||||||
text: item.blocNm,
|
text: item.blocNm,
|
||||||
@ -1033,7 +1021,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1044,7 +1032,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
@ -1056,7 +1044,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
@ -1068,7 +1056,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
@ -1080,7 +1068,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
|
@ -49,7 +49,7 @@
|
|||||||
<v-col :cols="12" class="mt-5 pb-4">
|
<v-col :cols="12" class="mt-5 pb-4">
|
||||||
<v-card-title class="custom-title-6 pa-0">{{ viewActionData.title }}</v-card-title>
|
<v-card-title class="custom-title-6 pa-0">{{ viewActionData.title }}</v-card-title>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" style="min-height: 30vh;" class="pa-0 custom-view">
|
<v-col :cols="12" style="min-height: 50vh;" class="pa-0 custom-view">
|
||||||
<v-card class="pa-3" style="overflow-y:auto;">
|
<v-card class="pa-3" style="overflow-y:auto;">
|
||||||
<viewer v-if="viewActionData.viewerFlag" ref="tuiViewer" height="inherit"
|
<viewer v-if="viewActionData.viewerFlag" ref="tuiViewer" height="inherit"
|
||||||
:initialValue="viewActionData.content" theme="white"
|
:initialValue="viewActionData.content" theme="white"
|
||||||
|
@ -1196,7 +1196,8 @@ export default {
|
|||||||
show: false,
|
show: false,
|
||||||
},
|
},
|
||||||
left: "22%",
|
left: "22%",
|
||||||
radius: ["50%", "80%"], // Bigger inner and outer radius
|
bottom: "23",
|
||||||
|
radius: ["67%", "97%"], // Bigger inner and outer radius
|
||||||
center: ["60%", "50%"], // Shift chart slightly right to make room for legend
|
center: ["60%", "50%"], // Shift chart slightly right to make room for legend
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
borderColor: "#fff", // Color of the gap
|
borderColor: "#fff", // Color of the gap
|
||||||
@ -1272,7 +1273,10 @@ export default {
|
|||||||
top: "middle",
|
top: "middle",
|
||||||
type: "scroll",
|
type: "scroll",
|
||||||
orient: "vertical",
|
orient: "vertical",
|
||||||
left: "left",
|
left: "20",
|
||||||
|
icon: 'rect',
|
||||||
|
itemWidth: 15, // Width of the legend icon
|
||||||
|
itemHeight: 15,
|
||||||
textStyle: {
|
textStyle: {
|
||||||
color: this.isDarkMode ? "#fff" : "#333333",
|
color: this.isDarkMode ? "#fff" : "#333333",
|
||||||
},
|
},
|
||||||
|
@ -105,7 +105,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="7" style="min-height:75vh;">
|
<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:65px;"
|
<v-card-title class="custom-title-4 pb-0" style="min-height:65px;"
|
||||||
>공정 상세
|
>공정 상세
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<div class="px-5" style="height:calc(100% - 76px)">
|
<div class="px-5" style="height:calc(100% - 76px)">
|
||||||
@ -901,7 +901,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 px-4',
|
||||||
required: true,
|
required: true,
|
||||||
iconShow: true
|
iconShow: true
|
||||||
},
|
},
|
||||||
@ -938,7 +938,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 mb-0 pb-0 pl-4 mt-2',
|
class: 'py-2 mb-0 pb-0 px-4 mt-2',
|
||||||
list: 'locKindList',
|
list: 'locKindList',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
itemValue: 'commCd',
|
itemValue: 'commCd',
|
||||||
@ -956,7 +956,7 @@ const myDetail = [
|
|||||||
// 공백 처리
|
// 공백 처리
|
||||||
type: 'Label',
|
type: 'Label',
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pl-4 mt-2',
|
class: 'py-2 px-4 mt-2',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
@ -985,7 +985,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pl-4 mt-2',
|
class: 'py-2 px-4 mt-2',
|
||||||
inputType: 'number',
|
inputType: 'number',
|
||||||
iconShow: true
|
iconShow: true
|
||||||
// onkeydown : "if(this.value > 100) this.value = 100;if(this.value < 0) this.value = 0;if(this.value == '') this.value = 0;"
|
// onkeydown : "if(this.value > 100) this.value = 100;if(this.value < 0) this.value = 0;if(this.value == '') this.value = 0;"
|
||||||
@ -1012,7 +1012,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pl-4 mt-2',
|
class: 'py-2 px-4 mt-2',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
required: true,
|
required: true,
|
||||||
|
@ -63,7 +63,7 @@
|
|||||||
<v-tabs-items v-model="tab" style="height: calc(100% - 65px);" class="pt-6 py-2">
|
<v-tabs-items v-model="tab" style="height: calc(100% - 65px);" class="pt-6 py-2">
|
||||||
<v-tab-item v-for="(item, idx) in items" :key="item.id">
|
<v-tab-item v-for="(item, idx) in items" :key="item.id">
|
||||||
<component v-if="item.id == 'readPlcBaseInfoTab'" :is="'Form'" :parentPrgmId="myPrgmId"
|
<component v-if="item.id == 'readPlcBaseInfoTab'" :is="'Form'" :parentPrgmId="myPrgmId"
|
||||||
:detailList="detailList" :bindingData="gridName"
|
:detailList="f" :bindingData="gridName"
|
||||||
@gridEditingFinish="gridEditingFinish" />
|
@gridEditingFinish="gridEditingFinish" />
|
||||||
<ReadPlcAddInfoTab v-if="item.id == 'readPlcAddInfoTab'" :parentPrgmId="myPrgmId"
|
<ReadPlcAddInfoTab v-if="item.id == 'readPlcAddInfoTab'" :parentPrgmId="myPrgmId"
|
||||||
:innerTabGridInfo="{ tab, idx }" />
|
:innerTabGridInfo="{ tab, idx }" />
|
||||||
|
@ -835,7 +835,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-3 pr-4',
|
||||||
required: false,
|
required: false,
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
@ -848,7 +848,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-3 pl-4',
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -860,7 +860,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-3 pr-4 mt-2',
|
||||||
list: 'ercKindList',
|
list: 'ercKindList',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
itemValue: 'commCd',
|
itemValue: 'commCd',
|
||||||
@ -875,7 +875,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-3 pl-4 mt-2',
|
||||||
list: 'readObjList',
|
list: 'readObjList',
|
||||||
itemText: 'readObjNm',
|
itemText: 'readObjNm',
|
||||||
itemValue: 'readObjId',
|
itemValue: 'readObjId',
|
||||||
@ -890,7 +890,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-3 pr-4 mt-2',
|
||||||
list: 'chrgKindList',
|
list: 'chrgKindList',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
itemValue: 'commCd',
|
itemValue: 'commCd',
|
||||||
@ -905,7 +905,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-3 pl-4 mt-2',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
@ -916,7 +916,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-3 pr-4 mt-2',
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -928,7 +928,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-3 pl-4 mt-2',
|
||||||
list: 'blocMstrList',
|
list: 'blocMstrList',
|
||||||
itemText: 'blocNm',
|
itemText: 'blocNm',
|
||||||
itemValue: 'blocId',
|
itemValue: 'blocId',
|
||||||
@ -944,7 +944,7 @@ const myDetail = [
|
|||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
// class: 'py-2',
|
// class: 'py-2',
|
||||||
class: 'pb-0 mb-0 pr-4',
|
class: 'pb-0 mb-0 pr-4 mt-2',
|
||||||
disableContent: true,
|
disableContent: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -956,7 +956,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pl-4',
|
class: 'pb-0 mb-0 pl-4 mt-2',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
@ -981,7 +981,7 @@ const myDetail = [
|
|||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-3 pr-4 mt-2',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -991,7 +991,7 @@ const myDetail = [
|
|||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-3 pl-4 mt-2',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<component :is="'EvtObjPop'" :parentPrgmId="myPrgmId" :item="evtObjPopItem"
|
<component :is="'EvtObjPop'" :parentPrgmId="myPrgmId" :item="evtObjPopItem"
|
||||||
customClass="select-large" />
|
class="no-gutters" customClass="select-large" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<!-- 대상일 -->
|
<!-- 대상일 -->
|
||||||
@ -29,17 +29,17 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row ref="contents">
|
<v-row ref="contents">
|
||||||
<v-col :cols="12" style="height: 100%" class="h100">
|
<v-col :cols="12" class="h100">
|
||||||
<v-card class="px-5 py-5 h100">
|
<v-card class="px-5 py-5 h100">
|
||||||
<div ref="gridParent" class="h100 px-5" style="height: 100%">
|
<div ref="gridParent" class="h100 px-5">
|
||||||
<component ref="myGrid" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
<component ref="myGrid" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
||||||
:parentPrgmId="myPrgmId" />
|
:parentPrgmId="myPrgmId" />
|
||||||
</div>
|
</div>
|
||||||
<div class="d-flex align-center justify-space-between">
|
</v-card>
|
||||||
|
<div class="d-flex align-center justify-center pa-5" v-if="loadGrid && totalCount > 0" >
|
||||||
<pagination id="pagination" :total-count="totalCount" :page-num="page" :limit="limit"
|
<pagination id="pagination" :total-count="totalCount" :page-num="page" :limit="limit"
|
||||||
@loadData="changeGrid" />
|
@loadData="changeGrid" />
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</div>
|
</div>
|
||||||
@ -61,7 +61,7 @@ import BtnExcelDownload from '~/components/common/button/BtnExcelDownload';
|
|||||||
import DateUtility from '~/plugins/dateUtility';
|
import DateUtility from '~/plugins/dateUtility';
|
||||||
// import Search from "~/components/common/search";
|
// import Search from "~/components/common/search";
|
||||||
import EvtObjPop from '~/components/common/modal/EvtObjPop';
|
import EvtObjPop from '~/components/common/modal/EvtObjPop';
|
||||||
import pagination from '~/components/Pagination';
|
import pagination from '~/components/common/Pagination';
|
||||||
|
|
||||||
let myTitle;
|
let myTitle;
|
||||||
// const myPrgmId = "PRG0052";
|
// const myPrgmId = "PRG0052";
|
||||||
@ -212,7 +212,7 @@ export default {
|
|||||||
},
|
},
|
||||||
layoutInit() {
|
layoutInit() {
|
||||||
const searchFilterHeight = this.$refs.searchFilter.offsetHeight;
|
const searchFilterHeight = this.$refs.searchFilter.offsetHeight;
|
||||||
this.$refs.contents.style.height = `calc(100% - ${searchFilterHeight}px)`;
|
this.$refs.contents.style.height = `calc(100% - 90px - ${searchFilterHeight}px) `;
|
||||||
},
|
},
|
||||||
async setFromDt() {
|
async setFromDt() {
|
||||||
this.pageData.fromDt = Utility.setBeforetDate(
|
this.pageData.fromDt = Utility.setBeforetDate(
|
||||||
@ -220,7 +220,6 @@ export default {
|
|||||||
this.pageData.toDt,
|
this.pageData.toDt,
|
||||||
'YYYYMMDD',
|
'YYYYMMDD',
|
||||||
);
|
);
|
||||||
// this.pageData.toDt = Utility.setAftertDate(this.pageData, this.pageData.fromDt, "YYYYMMDD");
|
|
||||||
},
|
},
|
||||||
gridInit() {
|
gridInit() {
|
||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
|
@ -75,7 +75,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="7" class="h100">
|
<v-col :cols="7" class="h100">
|
||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<v-card-title class="custom-title-4-new" style="min-height:65px;"
|
<v-card-title class="custom-title-4-new pb-0" style="min-height:65px;"
|
||||||
>검침대상 상세
|
>검침대상 상세
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<div class="px-5" style="height:calc(100% - 76px)">
|
<div class="px-5" style="height:calc(100% - 76px)">
|
||||||
@ -742,7 +742,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pr-2',
|
class: 'py-2 pr-2 mt-2',
|
||||||
required: false,
|
required: false,
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
@ -754,7 +754,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2',
|
class: 'py-2 mt-2',
|
||||||
required: true,
|
required: true,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
},
|
},
|
||||||
@ -766,7 +766,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-2',
|
class: 'py-2 pr-2 mt-2',
|
||||||
list: 'readObjKindDetailList',
|
list: 'readObjKindDetailList',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
itemValue: 'commCd',
|
itemValue: 'commCd',
|
||||||
@ -781,7 +781,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2',
|
class: 'py-2 mt-2',
|
||||||
list: 'readObjGrpList',
|
list: 'readObjGrpList',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
itemValue: 'commCd',
|
itemValue: 'commCd',
|
||||||
@ -796,7 +796,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-2',
|
class: 'py-2 pr-2 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
inputType: 'number',
|
inputType: 'number',
|
||||||
},
|
},
|
||||||
@ -808,7 +808,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2',
|
class: 'py-2 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
inputType: 'number',
|
inputType: 'number',
|
||||||
},
|
},
|
||||||
@ -820,7 +820,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-2',
|
class: 'py-2 pr-2 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
inputType: 'number',
|
inputType: 'number',
|
||||||
},
|
},
|
||||||
@ -832,7 +832,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2',
|
class: 'py-2 mt-2',
|
||||||
list: 'unitCdList',
|
list: 'unitCdList',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
itemValue: 'commCd',
|
itemValue: 'commCd',
|
||||||
@ -847,7 +847,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-2',
|
class: 'py-2 pr-2 mt-2',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
required: true,
|
required: true,
|
||||||
|
@ -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>
|
||||||
|
@ -14,9 +14,9 @@
|
|||||||
<!-- 대상일 -->
|
<!-- 대상일 -->
|
||||||
<component :is="'Datepicker'" :parentPrgmId="myPrgmId" :label="'대상일'" :labelCols="3" customClass="datepicker-large" />
|
<component :is="'Datepicker'" :parentPrgmId="myPrgmId" :label="'대상일'" :labelCols="3" customClass="datepicker-large" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="4" class="text-right">
|
<v-col :cols="6" class="text-right">
|
||||||
<BtnSearch @click="search" size="large" />
|
|
||||||
<!-- 조회버튼 -->
|
<!-- 조회버튼 -->
|
||||||
|
<BtnSearch @click="search" size="large" />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-card>
|
</v-card>
|
||||||
@ -47,8 +47,13 @@
|
|||||||
</v-row>
|
</v-row>
|
||||||
<div class="px-5" style="height: 80%">
|
<div class="px-5" style="height: 80%">
|
||||||
<div ref="chartParent" class="w100 h100">
|
<div ref="chartParent" class="w100 h100">
|
||||||
<component :ref="chartName" class="w100 h100" :is="loadChart ? 'Chart' : null" :parentPrgmId="myPrgmId"
|
<component
|
||||||
:chartName="chartName" />
|
:ref="chartName"
|
||||||
|
class="w100 h100"
|
||||||
|
:is="loadChart ? 'Chart' : null"
|
||||||
|
:parentPrgmId="myPrgmId"
|
||||||
|
:chartName="chartName"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
@ -68,6 +73,8 @@ import SelectBox from '@/components/common/select/SelectBox';
|
|||||||
import DateUtility from '~/plugins/dateUtility';
|
import DateUtility from '~/plugins/dateUtility';
|
||||||
import Chart from '~/components/common/Chart';
|
import Chart from '~/components/common/Chart';
|
||||||
|
|
||||||
|
import getSankeyChartOption from "~/components/common/chartoptions/sankeyChart";
|
||||||
|
|
||||||
let myTitle;
|
let myTitle;
|
||||||
let myPrgmId;
|
let myPrgmId;
|
||||||
|
|
||||||
@ -101,6 +108,8 @@ export default {
|
|||||||
selectValue01: null,
|
selectValue01: null,
|
||||||
loadChart: false,
|
loadChart: false,
|
||||||
chartName: 'sankeyChart',
|
chartName: 'sankeyChart',
|
||||||
|
sankeyChartData: [],
|
||||||
|
sankeyChartLinks: []
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -148,6 +157,16 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
isDarkMode(newVal) {
|
||||||
|
this.setChartOption({
|
||||||
|
chartKey: this.chartName,
|
||||||
|
value: getSankeyChartOption({
|
||||||
|
isDarkMode: newVal,
|
||||||
|
data: this.sankeyChartData,
|
||||||
|
links: this.sankeyChartLinks
|
||||||
|
})
|
||||||
|
});
|
||||||
|
},
|
||||||
},
|
},
|
||||||
async beforeCreate() {
|
async beforeCreate() {
|
||||||
myPrgmId = this.$route.query.prgmId;
|
myPrgmId = this.$route.query.prgmId;
|
||||||
@ -159,9 +178,6 @@ export default {
|
|||||||
},
|
},
|
||||||
async created() { },
|
async created() { },
|
||||||
async mounted() {
|
async mounted() {
|
||||||
// this.initTest();
|
|
||||||
// return;
|
|
||||||
|
|
||||||
this.init();
|
this.init();
|
||||||
// document.querySelector('.icon_arrow').style.width = document.querySelector('.iconArrowCols').clientWidth-20 + "px";
|
// document.querySelector('.icon_arrow').style.width = document.querySelector('.iconArrowCols').clientWidth-20 + "px";
|
||||||
},
|
},
|
||||||
@ -176,10 +192,8 @@ export default {
|
|||||||
...mapActions({
|
...mapActions({
|
||||||
getCodeList: 'modules/search/getCodeList',
|
getCodeList: 'modules/search/getCodeList',
|
||||||
}),
|
}),
|
||||||
initTest() {
|
initTestChart() {
|
||||||
|
|
||||||
const randomNumber = n => Math.floor(Math.random() * n) + 1;
|
const randomNumber = n => Math.floor(Math.random() * n) + 1;
|
||||||
|
|
||||||
const makeData = [
|
const makeData = [
|
||||||
{ name: 'A' },
|
{ name: 'A' },
|
||||||
{ name: 'B' },
|
{ name: 'B' },
|
||||||
@ -205,45 +219,13 @@ export default {
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
const chartOption = {
|
this.sankeyChartData = makeData;
|
||||||
backgroundColor: '#FFFFFF',
|
this.sankeyChartLinks = makeLinks;
|
||||||
series: [
|
const chartOption = getSankeyChartOption({
|
||||||
{
|
isDarkMode: this.isDarkMode,
|
||||||
layoutIterations: 0,
|
|
||||||
type: 'sankey',
|
|
||||||
left: 25.0,
|
|
||||||
top: 20.0,
|
|
||||||
right: 120,
|
|
||||||
bottom: 50.0,
|
|
||||||
// nodeWidth:10,
|
|
||||||
nodeGap: 10,
|
|
||||||
nodeAlign: 'left',
|
|
||||||
data: makeData,
|
data: makeData,
|
||||||
links: makeLinks,
|
links: makeLinks
|
||||||
lineStyle: {
|
});
|
||||||
color: 'source',
|
|
||||||
curveness: 0.5,
|
|
||||||
},
|
|
||||||
// triggerEvent: true,
|
|
||||||
itemStyle: {
|
|
||||||
//color: '#1f77b4',
|
|
||||||
//borderColor: '#1f77b4'
|
|
||||||
},
|
|
||||||
label: {
|
|
||||||
color: this.isDarkMode
|
|
||||||
? 'rgba(250,250,250,0.7)'
|
|
||||||
: 'rgba(0,0,0,0.7)',
|
|
||||||
fontFamily: 'Arial',
|
|
||||||
fontSize: 12,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
tooltip: {
|
|
||||||
trigger: 'item',
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
this.setChartOption({ chartKey: this.chartName, value: chartOption });
|
this.setChartOption({ chartKey: this.chartName, value: chartOption });
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.loadChart = true;
|
this.loadChart = true;
|
||||||
@ -254,7 +236,11 @@ export default {
|
|||||||
this.setFromDt();
|
this.setFromDt();
|
||||||
},
|
},
|
||||||
async search() {
|
async search() {
|
||||||
|
try{
|
||||||
await this.getChartData();
|
await this.getChartData();
|
||||||
|
}catch(err){
|
||||||
|
this.initTestChart();
|
||||||
|
}
|
||||||
this.setPageData({
|
this.setPageData({
|
||||||
isFind: false,
|
isFind: false,
|
||||||
});
|
});
|
||||||
@ -458,43 +444,13 @@ export default {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const chartOption = {
|
this.sankeyChartData = makeData;
|
||||||
backgroundColor: '#FFFFFF',
|
this.sankeyChartLinks = makeLinks;
|
||||||
series: [
|
const chartOption = getSankeyChartOption({
|
||||||
{
|
isDarkMode: this.isDarkMode,
|
||||||
layoutIterations: 0,
|
|
||||||
type: 'sankey',
|
|
||||||
left: 25.0,
|
|
||||||
top: 20.0,
|
|
||||||
right: 120,
|
|
||||||
bottom: 50.0,
|
|
||||||
// nodeWidth:10,
|
|
||||||
nodeGap: 10,
|
|
||||||
nodeAlign: 'left',
|
|
||||||
data: makeData,
|
data: makeData,
|
||||||
links: makeLinks,
|
links: makeLinks
|
||||||
lineStyle: {
|
});
|
||||||
color: 'source',
|
|
||||||
curveness: 0.5,
|
|
||||||
},
|
|
||||||
// triggerEvent: true,
|
|
||||||
itemStyle: {
|
|
||||||
//color: '#1f77b4',
|
|
||||||
//borderColor: '#1f77b4'
|
|
||||||
},
|
|
||||||
label: {
|
|
||||||
color: this.isDarkMode
|
|
||||||
? 'rgba(250,250,250,0.7)'
|
|
||||||
: 'rgba(0,0,0,0.7)',
|
|
||||||
fontFamily: 'Arial',
|
|
||||||
fontSize: 12,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
tooltip: {
|
|
||||||
trigger: 'item',
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
this.setChartOption({ chartKey: this.chartName, value: chartOption });
|
this.setChartOption({ chartKey: this.chartName, value: chartOption });
|
||||||
|
|
||||||
|
@ -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,16 +152,17 @@
|
|||||||
</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: 15%">
|
||||||
<v-card-title class="d-flex align-center justify-space-between pa-5">
|
<v-card-title class="d-flex align-center justify-space-between pl-3">
|
||||||
<span class="tit ft-size_20 ft-weight_600">가이드 알람정보</span>
|
<span class="tit ft-size_20 ft-weight_600">가이드 알람정보</span>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
ref="gridParent01"
|
ref="gridParent01"
|
||||||
style="height: 75%; overflow: hidden; margin-top: 15px"
|
class="pl-3 mt-5"
|
||||||
|
style="height: 75%; overflow: hidden;"
|
||||||
>
|
>
|
||||||
<component
|
<component
|
||||||
:ref="gridName01"
|
:ref="gridName01"
|
||||||
@ -172,17 +173,17 @@
|
|||||||
</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="">
|
||||||
<v-card class="pa-1" style="height: 100%; width: 100%">
|
<v-card class="pa-1" style="height: 100%; width: 100%">
|
||||||
<div style="height: 25%">
|
<div style="height: 15%">
|
||||||
<v-card-title class="d-flex align-center justify-space-between pa-5">
|
<v-card-title class="d-flex align-center justify-space-between pl-3">
|
||||||
<span class="tit ft-size_20 ft-weight_600">설비 상세 정보</span>
|
<span class="tit ft-size_20 ft-weight_600">설비 상세 정보</span>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
</div>
|
</div>
|
||||||
<div ref="gridParent02" style="height: 75%">
|
<div ref="gridParent02" style="height: 75%" class="pl-3 mt-5">
|
||||||
<component
|
<component
|
||||||
:ref="gridName02"
|
:ref="gridName02"
|
||||||
:is="loadGrid02 ? 'Grid' : null"
|
:is="loadGrid02 ? 'Grid' : null"
|
||||||
@ -528,9 +529,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 +619,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 +726,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 +859,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 +873,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() {
|
||||||
|
@ -304,7 +304,7 @@ export default {
|
|||||||
$(elDiv).addClass('tui-grid-cell-content d-flex justify-space-between');
|
$(elDiv).addClass('tui-grid-cell-content d-flex justify-space-between');
|
||||||
const el2 = document.createElement('button');
|
const el2 = document.createElement('button');
|
||||||
$(el2).addClass('edit-btn blue--text');
|
$(el2).addClass('edit-btn blue--text');
|
||||||
el2.innerText = '편집하다';
|
el2.innerText = '수정';
|
||||||
elDiv.appendChild(el2);
|
elDiv.appendChild(el2);
|
||||||
|
|
||||||
this.el = elDiv;
|
this.el = elDiv;
|
||||||
@ -415,7 +415,7 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '구분',
|
header: '구분',
|
||||||
name: 'gubun',
|
name: 'gubun',
|
||||||
width: 80,
|
width: 200,
|
||||||
align: 'left',
|
align: 'left',
|
||||||
// hidden: true,
|
// hidden: true,
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
@ -447,7 +447,7 @@ export default {
|
|||||||
myColumns.push({
|
myColumns.push({
|
||||||
header: i.toString() + '월',
|
header: i.toString() + '월',
|
||||||
name: qty,
|
name: qty,
|
||||||
width: 73,
|
width: 80,
|
||||||
align: 'right',
|
align: 'right',
|
||||||
editor: 'text',
|
editor: 'text',
|
||||||
formatter: this.numberFormatter,
|
formatter: this.numberFormatter,
|
||||||
|
@ -47,11 +47,14 @@
|
|||||||
<v-row ref="contents" style="overflow: auto">
|
<v-row ref="contents" style="overflow: auto">
|
||||||
<v-col>
|
<v-col>
|
||||||
<div v-for="(value, key, index) in contentData" :key="'key1_' + index">
|
<div v-for="(value, key, index) in contentData" :key="'key1_' + index">
|
||||||
|
<v-card style="background: none">
|
||||||
<v-card-title class="d-flex align-center justify-space-between pa-3">
|
<v-card-title class="d-flex align-center justify-space-between pa-3">
|
||||||
<span class="tit ft-size_20 ft-weight_600">{{ value.eqpmGrpNm }}</span>
|
<span class="tit ft-size_20 ft-weight_600">{{ value.eqpmGrpNm }}</span>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
|
</v-card>
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col :cols="3" v-for="(item, i) in value.chartData" :key="'key2_' + i">
|
<v-col :cols="3" v-for="(item, i) in value.chartData" :key="'key2_' + i">
|
||||||
|
<v-card>
|
||||||
<div
|
<div
|
||||||
class="v-box"
|
class="v-box"
|
||||||
style="height: 330px; position: relative"
|
style="height: 330px; position: relative"
|
||||||
@ -73,7 +76,7 @@
|
|||||||
<!-- Information area -->
|
<!-- Information area -->
|
||||||
<v-col :cols="5" style="height: 100%">
|
<v-col :cols="5" style="height: 100%">
|
||||||
<div style="height: 10%">
|
<div style="height: 10%">
|
||||||
<strong style="font-size: 20px; font-weight: 600">{{
|
<strong class="v-card v-card__title pa-0" >{{
|
||||||
item.fabNm
|
item.fabNm
|
||||||
}}</strong>
|
}}</strong>
|
||||||
</div>
|
</div>
|
||||||
@ -123,6 +126,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
</div>
|
</div>
|
||||||
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</div>
|
</div>
|
||||||
|
@ -97,14 +97,24 @@
|
|||||||
<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">
|
||||||
<span class="tit ft-size_20 ft-weight_600">설비별 현황 리스트</span>
|
<span class="tit ft-size_20 ft-weight_600">설비별 현황 리스트</span>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<div class="px-5" style="height: calc(100% - 106px)">
|
<div class="px-5" style="height: calc(100% - 56px)">
|
||||||
<div ref="gridParent" class="w100 h100">
|
<div ref="gridParent" class="w100 h100" style="height: calc(100% - 166px)">
|
||||||
<component
|
<component
|
||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
:is="loadGrid ? 'Grid' : null"
|
:is="loadGrid ? 'Grid' : null"
|
||||||
:gridName="gridName"
|
:gridName="gridName"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
/>
|
/>
|
||||||
|
<div v-if="loadGrid && totalCount > 0" class="pagination-wrapper">
|
||||||
|
<pagination
|
||||||
|
id="pagination"
|
||||||
|
:total-count="totalCount"
|
||||||
|
:page-num="page"
|
||||||
|
:limit="limit"
|
||||||
|
:itemsPerPageArray="itemsPerPageArray"
|
||||||
|
@loadData="changeGrid"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
<!--
|
<!--
|
||||||
<component
|
<component
|
||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
@ -142,6 +152,7 @@ import SelectBox from "@/components/common/select/SelectBox";
|
|||||||
import SelectCmCycle from "@/components/common/select/SelectCmCycle";
|
import SelectCmCycle from "@/components/common/select/SelectCmCycle";
|
||||||
import DatePicker from "@/components/common/Datepicker";
|
import DatePicker from "@/components/common/Datepicker";
|
||||||
import Grid from "~/components/common/Grid";
|
import Grid from "~/components/common/Grid";
|
||||||
|
import pagination from "~/components/common/Pagination";
|
||||||
|
|
||||||
let myTitle;
|
let myTitle;
|
||||||
let myPrgmId;
|
let myPrgmId;
|
||||||
@ -168,6 +179,7 @@ export default {
|
|||||||
SelectCmCycle,
|
SelectCmCycle,
|
||||||
DatePicker,
|
DatePicker,
|
||||||
Grid,
|
Grid,
|
||||||
|
pagination,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -188,6 +200,10 @@ export default {
|
|||||||
gridName: "grid01",
|
gridName: "grid01",
|
||||||
|
|
||||||
enrgUseMainIdxDesc: [],
|
enrgUseMainIdxDesc: [],
|
||||||
|
itemsPerPageArray: [10, 20, 50],
|
||||||
|
limit: 10,
|
||||||
|
page: 1,
|
||||||
|
totalCount: 0,
|
||||||
|
|
||||||
// tooltipData: {
|
// tooltipData: {
|
||||||
// show: false,
|
// show: false,
|
||||||
@ -263,6 +279,11 @@ export default {
|
|||||||
this.chkOpenTabList({ key: "destroy", prgmId: myPrgmId });
|
this.chkOpenTabList({ key: "destroy", prgmId: myPrgmId });
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
changeGrid: async function (pageNum, limit) {
|
||||||
|
this.page = pageNum;
|
||||||
|
this.limit = limit;
|
||||||
|
this.search();
|
||||||
|
},
|
||||||
async init() {
|
async init() {
|
||||||
await this.getSelectValueList();
|
await this.getSelectValueList();
|
||||||
await this.setQueryParams();
|
await this.setQueryParams();
|
||||||
@ -374,17 +395,17 @@ export default {
|
|||||||
const onClickCallback = columnInfo.renderer.options.onClick;
|
const onClickCallback = columnInfo.renderer.options.onClick;
|
||||||
|
|
||||||
this.disabled = columnInfo.renderer.options.disabled || false;
|
this.disabled = columnInfo.renderer.options.disabled || false;
|
||||||
const elDiv = document.createElement('div');
|
const elDiv = document.createElement("div");
|
||||||
elDiv.innerHTML = `<span>${value}</span>`;
|
elDiv.innerHTML = `<span>${value}</span>`;
|
||||||
$(elDiv).addClass('tui-grid-cell-content d-flex justify-space-between');
|
$(elDiv).addClass("tui-grid-cell-content d-flex justify-space-between");
|
||||||
const el2 = document.createElement('button');
|
const el2 = document.createElement("button");
|
||||||
$(el2).addClass('edit-btn blue--text');
|
$(el2).addClass("edit-btn blue--text");
|
||||||
el2.innerText = '보기';
|
el2.innerText = "보기";
|
||||||
elDiv.appendChild(el2);
|
elDiv.appendChild(el2);
|
||||||
this.el = elDiv;
|
this.el = elDiv;
|
||||||
if (!this.disabled && typeof onClickCallback === 'function') {
|
if (!this.disabled && typeof onClickCallback === "function") {
|
||||||
// click 이벤트
|
// click 이벤트
|
||||||
this.el.addEventListener('click', function(event) {
|
this.el.addEventListener("click", function (event) {
|
||||||
onClickCallback(rowKey);
|
onClickCallback(rowKey);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -405,12 +426,19 @@ export default {
|
|||||||
{ header: "fabId", name: "fabId", hidden: true },
|
{ header: "fabId", name: "fabId", hidden: true },
|
||||||
{ header: "FAB", name: "fabNm", align: "left" },
|
{ header: "FAB", name: "fabNm", align: "left" },
|
||||||
{ header: "eqpmGrpId", name: "eqpmGrpId", hidden: true },
|
{ header: "eqpmGrpId", name: "eqpmGrpId", hidden: true },
|
||||||
{ header: "설비그룹", name: "eqpmGrpNm", align: "left", width: 200,
|
{
|
||||||
|
header: "설비그룹",
|
||||||
|
name: "eqpmGrpNm",
|
||||||
|
align: "left",
|
||||||
|
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,
|
||||||
options: {
|
options: {
|
||||||
value: '보기',
|
value: "보기",
|
||||||
onClick: (rowKey) => {
|
onClick: (rowKey) => {
|
||||||
const gridInstance = this.$refs[this.gridName].gridInstance;
|
const gridInstance = this.$refs[this.gridName].gridInstance;
|
||||||
const eventRowData = gridInstance.invoke("getRow", rowKey);
|
const eventRowData = gridInstance.invoke("getRow", rowKey);
|
||||||
@ -434,12 +462,10 @@ export default {
|
|||||||
key: key,
|
key: key,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{ header: "eqpmId", name: "eqpmId", hidden: true },
|
},
|
||||||
{ header: "설비명", name: "eqpmNm", align: "left", width: 200 },
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
header: "계획량",
|
header: "계획량",
|
||||||
name: "planVal",
|
name: "planVal",
|
||||||
@ -546,10 +572,10 @@ export default {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
pageOptions: {
|
// pageOptions: {
|
||||||
useClient: true,
|
// useClient: true,
|
||||||
perPage: 3,
|
// perPage: 3,
|
||||||
}
|
// }
|
||||||
};
|
};
|
||||||
|
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
@ -566,26 +592,39 @@ export default {
|
|||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
this.enrgUseMainIdxDesc = [];
|
this.enrgUseMainIdxDesc = [];
|
||||||
var apiKey = null;
|
var apiKey = null;
|
||||||
|
var apiKey2 = null;
|
||||||
var params = {
|
var params = {
|
||||||
fabId: this.selectValue01,
|
fabId: this.selectValue01,
|
||||||
eqpmKindId: this.selectValue02,
|
eqpmKindId: this.selectValue02,
|
||||||
eqpmGrpId: this.selectValue03,
|
eqpmGrpId: this.selectValue03,
|
||||||
fromDt: this.pageData.fromDt,
|
fromDt: this.pageData.fromDt,
|
||||||
|
limit: this.limit,
|
||||||
|
page: this.page,
|
||||||
|
offset: (this.page - 1) * this.limit, // MariaDB Query에서 직접 계산이 안됨
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.pageData.cmCycle == "CYC_DAY") {
|
if (this.pageData.cmCycle == "CYC_DAY") {
|
||||||
params["fromDtMm"] = String(this.pageData.fromDt).substring(0, 6);
|
params["fromDtMm"] = String(this.pageData.fromDt).substring(0, 6);
|
||||||
apiKey = "selectDailyEnrgUseMainIdx";
|
apiKey = "selectDailyEnrgUseMainIdx";
|
||||||
|
apiKey2 = "selectDailyEnrgUseMainIdxPageTotal";
|
||||||
} else if (this.pageData.cmCycle == "CYC_MONTH") {
|
} else if (this.pageData.cmCycle == "CYC_MONTH") {
|
||||||
apiKey = "selectMonthlyEnrgUseMainIdx";
|
apiKey = "selectMonthlyEnrgUseMainIdx";
|
||||||
|
apiKey2 = "selectMonthlyEnrgUseMainIdxPageTotal";
|
||||||
}
|
}
|
||||||
|
|
||||||
var res = await this.postApiReturn({
|
var res = await this.postApiReturn({
|
||||||
apiKey: apiKey,
|
apiKey: apiKey,
|
||||||
resKey: "eqpmIndMntrData",
|
resKey: "eqpmIndMntrData",
|
||||||
sendParam: params,
|
sendParam: params,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var res2 = await this.postApiReturn({
|
||||||
|
apiKey: apiKey2,
|
||||||
|
resKey: "eqpmIndMntrPageTotal",
|
||||||
|
sendParam: params,
|
||||||
|
});
|
||||||
|
|
||||||
|
this.totalCount = res2[0].totalcount;
|
||||||
|
|
||||||
this.enrgUseMainIdxDesc = await this.postApiReturn({
|
this.enrgUseMainIdxDesc = await this.postApiReturn({
|
||||||
apiKey: "selectEnrgUseMainIdxDesc",
|
apiKey: "selectEnrgUseMainIdxDesc",
|
||||||
resKey: "eqpmIndMntrData",
|
resKey: "eqpmIndMntrData",
|
||||||
@ -654,7 +693,7 @@ export default {
|
|||||||
// id값 설정
|
// id값 설정
|
||||||
elementList[i].id = "tooltipTargetElement_" + i;
|
elementList[i].id = "tooltipTargetElement_" + i;
|
||||||
tooltipElement.id = "tooltipElement_" + i;
|
tooltipElement.id = "tooltipElement_" + i;
|
||||||
|
tooltipElement.classList.add(this.isDarkmode ? "dark-mode" : "light-mode");
|
||||||
// element 추가
|
// element 추가
|
||||||
elementList[i].append(tooltipElement);
|
elementList[i].append(tooltipElement);
|
||||||
}
|
}
|
||||||
@ -849,5 +888,12 @@ function numberFormatter({ value }) {
|
|||||||
overflow-y: visible;
|
overflow-y: visible;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.pagination-wrapper {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
padding: 12px 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import Vue from "vue";
|
import Vue from "vue";
|
||||||
// import Antd from "ant-design-vue";
|
// import Antd from "ant-design-vue";
|
||||||
import { Row, Col, Card, Button, Checkbox, DatePicker, Select, Table, Modal, Input, Icon, Divider } from "ant-design-vue";
|
import { Row, Col, Card, Button, Checkbox, DatePicker, Select, Table, Modal, Input, Icon, Divider, Pagination } from "ant-design-vue";
|
||||||
|
|
||||||
import 'ant-design-vue/dist/antd.css'
|
import 'ant-design-vue/dist/antd.css'
|
||||||
// import { RangePicker } from "ant-design-vue/types/date-picker/range-picker";
|
// import { RangePicker } from "ant-design-vue/types/date-picker/range-picker";
|
||||||
@ -17,4 +17,5 @@ Vue.component(Modal.name, Modal)
|
|||||||
Vue.component(Input.name, Input)
|
Vue.component(Input.name, Input)
|
||||||
Vue.component(Icon.name, Icon)
|
Vue.component(Icon.name, Icon)
|
||||||
Vue.component(Divider.name, Divider)
|
Vue.component(Divider.name, Divider)
|
||||||
|
Vue.component(Pagination.name, Pagination)
|
||||||
// Vue.component(RangePicker.name, RangePicker)
|
// Vue.component(RangePicker.name, RangePicker)
|
@ -910,6 +910,11 @@ const INIT_URL_STATE = {
|
|||||||
'ems/effc/eqpmIndMntrCtr/selectDailyEnrgUseMainIdx',
|
'ems/effc/eqpmIndMntrCtr/selectDailyEnrgUseMainIdx',
|
||||||
selectMonthlyEnrgUseMainIdx:
|
selectMonthlyEnrgUseMainIdx:
|
||||||
'ems/effc/eqpmIndMntrCtr/selectMonthlyEnrgUseMainIdx',
|
'ems/effc/eqpmIndMntrCtr/selectMonthlyEnrgUseMainIdx',
|
||||||
|
selectDailyEnrgUseMainIdxPageTotal:
|
||||||
|
'ems/effc/eqpmIndMntrCtr/selectDailyEnrgUseMainIdxPageTotal',
|
||||||
|
selectMonthlyEnrgUseMainIdxPageTotal:
|
||||||
|
'ems/effc/eqpmIndMntrCtr/selectMonthlyEnrgUseMainIdxPageTotal',
|
||||||
|
|
||||||
|
|
||||||
//prgmId : PRG0082 에너지 사용량 - 설비상세 모니터링
|
//prgmId : PRG0082 에너지 사용량 - 설비상세 모니터링
|
||||||
selectDailyEnrgUseMainGuideIdx:
|
selectDailyEnrgUseMainGuideIdx:
|
||||||
|
Reference in New Issue
Block a user