Compare commits
32 Commits
de99b30485
...
dev-manhph
Author | SHA1 | Date | |
---|---|---|---|
4bcf6d6a4c | |||
39502ae8fb | |||
8bfcebdd10 | |||
1d6c49f944 | |||
c6eb2b57b2 | |||
1250b3d3af | |||
be1e0426e0 | |||
81a20d2851 | |||
6353ffba57 | |||
ed9150aae8 | |||
270279b0c2 | |||
9a42291cf4 | |||
c810139554 | |||
1a5ec4c6a3 | |||
856d0db130 | |||
6973321137 | |||
2cea34dbab | |||
f41bd1283a | |||
d5c59286ad | |||
287c68252b | |||
59ec2eda59 | |||
f6c071bdf0 | |||
24882a21a5 | |||
9aa9939a43 | |||
0760bde4e1 | |||
2802e93a44 | |||
39905e6f80 | |||
0825663c64 | |||
8d444eafcd | |||
71e90064a2 | |||
7d2bcb9496 | |||
84c7e61254 |
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 |
@ -231,6 +231,35 @@ a {
|
|||||||
.v-application.#{$theme}-mode {
|
.v-application.#{$theme}-mode {
|
||||||
min-width: 1000px;
|
min-width: 1000px;
|
||||||
|
|
||||||
|
.ant-checkbox-wrapper.ant-checkbox-wrapper-disabled,
|
||||||
|
.ant-checkbox-disabled .ant-checkbox-input
|
||||||
|
{
|
||||||
|
cursor: default !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.v-list-item__title {
|
||||||
|
font-family: var(--desktop-normal-font-family, "Inter-Regular", sans-serif) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-close-menu-list {
|
||||||
|
min-width: 100px;
|
||||||
|
border-color: transparent;
|
||||||
|
background-color: map-deep-get($config, #{$theme}, "btn-header-select-bg") !important;
|
||||||
|
|
||||||
|
.v-list-item {
|
||||||
|
min-height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.v-list-item__title {
|
||||||
|
color: map-deep-get($config, #{$theme}, "btn-header-select-color") !important;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: #46c0ff !important;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.icon-datepicker-color {
|
.icon-datepicker-color {
|
||||||
color: map-deep-get($config, #{$theme}, "icon-datepicker-color");
|
color: map-deep-get($config, #{$theme}, "icon-datepicker-color");
|
||||||
}
|
}
|
||||||
@ -253,16 +282,12 @@ a {
|
|||||||
color: map-deep-get($config, #{$theme}, "v-select-label-color");
|
color: map-deep-get($config, #{$theme}, "v-select-label-color");
|
||||||
}
|
}
|
||||||
|
|
||||||
// .header {
|
|
||||||
// background-color: map-deep-get($config, #{$theme}, "header-backgroud");
|
|
||||||
// border-bottom: 1px solid map-deep-get($config, #{$theme}, "v-header-border");
|
|
||||||
// }
|
|
||||||
|
|
||||||
.custom-chart{
|
.custom-chart{
|
||||||
border: 1px solid map-deep-get($config, #{$theme}, "v-chart-border");
|
border: 1px solid map-deep-get($config, #{$theme}, "v-chart-border");
|
||||||
}
|
}
|
||||||
|
|
||||||
.v-icon {
|
.v-icon {
|
||||||
|
color: currentColor;
|
||||||
&.icon-orange {
|
&.icon-orange {
|
||||||
svg {
|
svg {
|
||||||
fill:map-deep-get($config,
|
fill:map-deep-get($config,
|
||||||
@ -574,6 +599,7 @@ a {
|
|||||||
& th,
|
& th,
|
||||||
& td {
|
& td {
|
||||||
height: 48px;
|
height: 48px;
|
||||||
|
color: map-deep-get($config, #{$theme}, "tui-datepicker-calendar-color");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -811,6 +837,7 @@ a {
|
|||||||
font-size: 2rem;
|
font-size: 2rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
padding-left: 8px;
|
padding-left: 8px;
|
||||||
|
margin-top: 2px;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 139px;
|
width: 139px;
|
||||||
@ -827,20 +854,11 @@ a {
|
|||||||
.btn-close-menu-list {
|
.btn-close-menu-list {
|
||||||
min-width: 100px;
|
min-width: 100px;
|
||||||
border-color: transparent;
|
border-color: transparent;
|
||||||
background-color: map-deep-get($config, #{$theme}, "btn-header-select-bg") !important;
|
|
||||||
|
|
||||||
.v-list-item {
|
.v-list-item {
|
||||||
min-height: 30px;
|
min-height: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.v-list-item__title {
|
|
||||||
color: map-deep-get($config, #{$theme}, "btn-header-select-color");
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: #46c0ff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.v-btn {
|
.v-btn {
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
color: map-deep-get($config, #{$theme}, "btn-header-select-color") !important;
|
color: map-deep-get($config, #{$theme}, "btn-header-select-color") !important;
|
||||||
|
@ -92,6 +92,15 @@
|
|||||||
background-color: #36383f;
|
background-color: #36383f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-add-heading h1,
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-add-heading h2,
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-add-heading h3,
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-add-heading h4,
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-add-heading h5,
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-add-heading h6 {
|
||||||
|
color: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
.toastui-editor-dark .toastui-editor-popup-body label {
|
.toastui-editor-dark .toastui-editor-popup-body label {
|
||||||
color: #9a9da3;
|
color: #9a9da3;
|
||||||
}
|
}
|
||||||
|
@ -21,11 +21,20 @@
|
|||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&-no-scroll-y {
|
||||||
|
.tui-grid-rside-area {
|
||||||
|
.tui-grid-header-area,
|
||||||
|
.tui-grid-summary-area {
|
||||||
|
margin-right: 0 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&-rside-area {
|
&-rside-area {
|
||||||
|
|
||||||
.tui-grid-header-area,
|
.tui-grid-header-area,
|
||||||
.tui-grid-summary-area {
|
.tui-grid-summary-area {
|
||||||
margin-right: $scrollbar-width;
|
margin-right: $scrollbar-width !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -62,9 +71,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.tui-grid-table {
|
.tui-grid-table {
|
||||||
|
|
||||||
.tui-grid-cell-header,
|
.tui-grid-cell-header,
|
||||||
.tui-grid-cell-has-input .tui-grid-cell-content {
|
.tui-grid-cell-has-input .tui-grid-cell-content {
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
@ -76,6 +87,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tui-grid-cell {
|
||||||
|
&:last-child {
|
||||||
|
input[type=checkbox] {
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.treeGrid {
|
.treeGrid {
|
||||||
@ -155,6 +174,7 @@
|
|||||||
width: auto !important;
|
width: auto !important;
|
||||||
|
|
||||||
.tui-grid-table-container {
|
.tui-grid-table-container {
|
||||||
|
|
||||||
// width: 100% !important;
|
// width: 100% !important;
|
||||||
.tui-grid-table {
|
.tui-grid-table {
|
||||||
// width: 100% !important;
|
// width: 100% !important;
|
||||||
@ -166,6 +186,13 @@
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tui-grid-layer-editing {
|
||||||
|
border-color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"tui-grid-border-vertical-color"
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&-summary-area,
|
&-summary-area,
|
||||||
@ -285,6 +312,7 @@
|
|||||||
#{$theme},
|
#{$theme},
|
||||||
"ant-btn-primary-color"
|
"ant-btn-primary-color"
|
||||||
);
|
);
|
||||||
|
|
||||||
.radio-mark {
|
.radio-mark {
|
||||||
border-color: map-deep-get($config,
|
border-color: map-deep-get($config,
|
||||||
#{$theme},
|
#{$theme},
|
||||||
@ -294,6 +322,7 @@
|
|||||||
#{$theme},
|
#{$theme},
|
||||||
"arow-line-btn-bg-color"
|
"arow-line-btn-bg-color"
|
||||||
);
|
);
|
||||||
|
|
||||||
&::after {
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -311,6 +340,34 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tui-grid-cell-content {
|
||||||
|
|
||||||
|
input[type='text'],
|
||||||
|
input[type='password'] {
|
||||||
|
border-color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"v-input-fieldset-color"
|
||||||
|
);
|
||||||
|
background: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"v-input-backgroundColor"
|
||||||
|
);
|
||||||
|
border-radius: 4px;
|
||||||
|
color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"tui-grid-cell-color"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
&.tui-grid-layer-editing {
|
||||||
|
background: transparent;
|
||||||
|
// background:map-deep-get($config,
|
||||||
|
// #{$theme},
|
||||||
|
// "tui-grid-cell-insert-color"
|
||||||
|
// );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&-cell {
|
&-cell {
|
||||||
@ -358,7 +415,7 @@
|
|||||||
&-header-area {
|
&-header-area {
|
||||||
// background-color: none;
|
// background-color: none;
|
||||||
border: none;
|
border: none;
|
||||||
margin-right: 0 !important;
|
// margin-right: 0 !important;
|
||||||
background-color: map-deep-get($config,
|
background-color: map-deep-get($config,
|
||||||
#{$theme},
|
#{$theme},
|
||||||
"tui-grid-cell-backgroundColor"
|
"tui-grid-cell-backgroundColor"
|
||||||
@ -395,14 +452,14 @@
|
|||||||
background-color: map-deep-get($config,
|
background-color: map-deep-get($config,
|
||||||
#{$theme},
|
#{$theme},
|
||||||
"tui-grid-cell-insert-color"
|
"tui-grid-cell-insert-color"
|
||||||
);
|
) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.row-modify {
|
&.row-modify {
|
||||||
background-color: map-deep-get($config,
|
background-color: map-deep-get($config,
|
||||||
#{$theme},
|
#{$theme},
|
||||||
"tui-grid-cell-modify-color"
|
"tui-grid-cell-modify-color"
|
||||||
);
|
) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.row-removed {
|
&.row-removed {
|
||||||
@ -497,6 +554,7 @@
|
|||||||
|
|
||||||
&-tree-button-expand {
|
&-tree-button-expand {
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
|
|
||||||
.tui-grid-btn-tree {
|
.tui-grid-btn-tree {
|
||||||
i {
|
i {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
@ -516,6 +574,7 @@
|
|||||||
|
|
||||||
&-tree-button-collapse {
|
&-tree-button-collapse {
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
|
|
||||||
.tui-grid-btn-tree {
|
.tui-grid-btn-tree {
|
||||||
i {
|
i {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
|
@ -2,6 +2,13 @@
|
|||||||
|
|
||||||
// @include theme($theme);
|
// @include theme($theme);
|
||||||
.v-application.#{$theme}-mode {
|
.v-application.#{$theme}-mode {
|
||||||
|
.pagination-wrapper {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
padding: 12px 0;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
.ant-pagination-item,
|
.ant-pagination-item,
|
||||||
.ant-pagination-prev,
|
.ant-pagination-prev,
|
||||||
@ -10,7 +17,7 @@
|
|||||||
// box-shadow: none !important;
|
// box-shadow: none !important;
|
||||||
background-color: map-deep-get($config, #{$theme}, "paging-background") !important;
|
background-color: map-deep-get($config, #{$theme}, "paging-background") !important;
|
||||||
color: map-deep-get($config, #{$theme}, "paging-text") !important;
|
color: map-deep-get($config, #{$theme}, "paging-text") !important;
|
||||||
border: 0.5px solid #424242;
|
border: none;
|
||||||
|
|
||||||
.ant-pagination-item-link {
|
.ant-pagination-item-link {
|
||||||
border: none;
|
border: none;
|
||||||
@ -19,13 +26,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.ant-pagination-item-active {
|
.ant-pagination-item-active {
|
||||||
border-color: #1890ff !important;
|
border: 1px solid #1890ff !important;
|
||||||
color: #1890ff !important
|
color: #1890ff !important
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-pagination-options-size-changer {
|
.ant-pagination-options-size-changer {
|
||||||
.ant-select-selection {
|
.ant-select-selection {
|
||||||
border: 0.5px solid #424242;
|
border: 0.5px solid map-deep-get($config, #{$theme}, "v-input-fieldset-color") !important;
|
||||||
background: map-deep-get($config, #{$theme}, "paging-background") !important;
|
background: map-deep-get($config, #{$theme}, "paging-background") !important;
|
||||||
color: map-deep-get($config, #{$theme}, "paging-text") !important;
|
color: map-deep-get($config, #{$theme}, "paging-text") !important;
|
||||||
}
|
}
|
||||||
|
@ -79,6 +79,8 @@
|
|||||||
&>.v-treeview-node__root:before {
|
&>.v-treeview-node__root:before {
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
z-index: -1;
|
z-index: -1;
|
||||||
|
background-color: rgba(0, 0, 0, 0);
|
||||||
|
transition-duration: 0s;
|
||||||
}
|
}
|
||||||
|
|
||||||
&>.v-treeview-node__root:hover:before {
|
&>.v-treeview-node__root:hover:before {
|
||||||
@ -379,11 +381,6 @@
|
|||||||
.v-treeview-node__children {
|
.v-treeview-node__children {
|
||||||
.v-treeview-node {
|
.v-treeview-node {
|
||||||
>.v-treeview-node__root {
|
>.v-treeview-node__root {
|
||||||
.v-treeview-node__content {
|
|
||||||
.v-treeview-node__label {
|
|
||||||
color: map-deep-get($config, #{$theme}, "card-default-color");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
*:hover,
|
*:hover,
|
||||||
:hover {
|
:hover {
|
||||||
@ -391,9 +388,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
|
background-color: rgba(0, 0, 0, 0);
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
opacity: 1 !important;
|
||||||
border: 1px solid map-deep-get($config, #{$theme}, "v-input-textarea-border");
|
border: 1px solid map-deep-get($config, #{$theme}, "v-input-textarea-border");
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
background-color: rgba(0, 0, 0, 0);
|
}
|
||||||
|
|
||||||
.v-treeview-node__content {
|
.v-treeview-node__content {
|
||||||
.v-treeview-node__label {
|
.v-treeview-node__label {
|
||||||
color: map-deep-get($config, #{$theme}, "tui-grid-title-color");
|
color: map-deep-get($config, #{$theme}, "tui-grid-title-color");
|
||||||
@ -418,6 +420,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.v-treeview-node__content {
|
||||||
|
.v-treeview-node__label {
|
||||||
|
color: map-deep-get($config, #{$theme}, "card-default-color");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,7 +113,7 @@ $config: (
|
|||||||
tui-grid-cell-color: #FFFFFFD9,
|
tui-grid-cell-color: #FFFFFFD9,
|
||||||
tui-grid-cell-insert-color: #2B2111,
|
tui-grid-cell-insert-color: #2B2111,
|
||||||
tui-grid-cell-selected-color: #0A224F,
|
tui-grid-cell-selected-color: #0A224F,
|
||||||
tui-grid-cell-modify-color: #13636c,
|
tui-grid-cell-modify-color: #2B2111,
|
||||||
tui-grid-cell-removed-color: #2A1215,
|
tui-grid-cell-removed-color: #2A1215,
|
||||||
tui-grid-cell-disabled-color: rgb(170, 170, 170),
|
tui-grid-cell-disabled-color: rgb(170, 170, 170),
|
||||||
tui-grid-cell-hover-backgroundColor: #2d4571,
|
tui-grid-cell-hover-backgroundColor: #2d4571,
|
||||||
@ -263,7 +263,7 @@ $config: (
|
|||||||
tui-grid-cell-color: #000000E0,
|
tui-grid-cell-color: #000000E0,
|
||||||
tui-grid-cell-insert-color: #FFFBE6,
|
tui-grid-cell-insert-color: #FFFBE6,
|
||||||
tui-grid-cell-selected-color: #E6F4FF,
|
tui-grid-cell-selected-color: #E6F4FF,
|
||||||
tui-grid-cell-modify-color: #e6f5f7,
|
tui-grid-cell-modify-color: #FFFBE6,
|
||||||
tui-grid-cell-removed-color: #FFF1F0,
|
tui-grid-cell-removed-color: #FFF1F0,
|
||||||
tui-grid-cell-hover-backgroundColor: #f5f5f5,
|
tui-grid-cell-hover-backgroundColor: #f5f5f5,
|
||||||
v-tabs-items-border-color: #0000000F,
|
v-tabs-items-border-color: #0000000F,
|
||||||
|
@ -23,14 +23,14 @@
|
|||||||
<v-icon size="20" v-show="!isRange">$icoCalendar</v-icon>
|
<v-icon size="20" v-show="!isRange">$icoCalendar</v-icon>
|
||||||
</template> -->
|
</template> -->
|
||||||
<template v-slot:append>
|
<template v-slot:append>
|
||||||
<a-icon class="v-icon" type="calendar" style="width: 14px; height: 14px;" />
|
<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"
|
||||||
@ -43,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>
|
||||||
@ -212,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;
|
||||||
}
|
}
|
||||||
|
@ -174,6 +174,11 @@ export default {
|
|||||||
this.gridScrollTop = e.target.scrollTop;
|
this.gridScrollTop = e.target.scrollTop;
|
||||||
this.gridScrollLeft = e.target.scrollLeft;
|
this.gridScrollLeft = e.target.scrollLeft;
|
||||||
});
|
});
|
||||||
|
if (this.scrollBody.scrollHeight > this.scrollBody.clientHeight) {
|
||||||
|
this.gridInstance.$el.getElementsByClassName('tui-grid-content-area')[0].classList.remove('tui-grid-no-scroll-y');
|
||||||
|
} else {
|
||||||
|
this.gridInstance.$el.getElementsByClassName('tui-grid-content-area')[0].classList.add('tui-grid-no-scroll-y');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -301,7 +306,7 @@ export default {
|
|||||||
// console.log('startEditing2...')
|
// console.log('startEditing2...')
|
||||||
if (this.editorGrid && e.rowKey >= 0) {
|
if (this.editorGrid && e.rowKey >= 0) {
|
||||||
this.editorStartKey = e.rowKey;
|
this.editorStartKey = e.rowKey;
|
||||||
this.gridInstance.invoke('startEditing', e.rowKey, e.columnName);
|
this.gridInstance.invoke('startEditing', e.rowKey, e.columnName, 'row-modify');
|
||||||
this.$emit(
|
this.$emit(
|
||||||
'getRowsData',
|
'getRowsData',
|
||||||
this.gridInstance.invoke('getRow', e.rowKey),
|
this.gridInstance.invoke('getRow', e.rowKey),
|
||||||
|
@ -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,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',
|
||||||
|
@ -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"> -->
|
||||||
|
@ -94,7 +94,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<v-card-actions class="px-6 py-4 d-flex align-center justify-end">
|
<v-card-actions class="px-6 py-4 d-flex align-center justify-end">
|
||||||
<a-button :ripple="false" @click="dialogOpenCloseEvent(dialog)" class="mr-2">닫기</a-button>
|
<a-button :ripple="false" @click="dialogOpenCloseEvent(dialog)" class="ant-btn-popup-default mr-2">닫기</a-button>
|
||||||
<a-button :ripple="false" type="primary" @click="setUpdate($event)">확인</a-button>
|
<a-button :ripple="false" type="primary" @click="setUpdate($event)">확인</a-button>
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
</v-card>
|
</v-card>
|
||||||
|
@ -238,7 +238,13 @@ export default {
|
|||||||
type: Object,
|
type: Object,
|
||||||
require: false,
|
require: false,
|
||||||
default: () => {
|
default: () => {
|
||||||
return {};
|
return {
|
||||||
|
selectTimeValue1: "00 : 00", // selectBoxTime에 필요한 prop
|
||||||
|
selectTimeValueList1: [], // selectBoxTime에 필요한 prop
|
||||||
|
selectTimeValue2: "01 : 00", // selectBoxTime에 필요한 prop
|
||||||
|
selectTimeValueList2: [], // selectBoxTime에 필요한 prop
|
||||||
|
minInterval: 10,
|
||||||
|
};
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -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">
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
item-value="value"
|
item-value="value"
|
||||||
solo
|
solo
|
||||||
outlined
|
outlined
|
||||||
:menu-props="{ auto: true, offsetY: true }"
|
:menu-props="{ top: false, offsetY: true }"
|
||||||
:hide-details="true"
|
:hide-details="true"
|
||||||
:class="['v-select__custom', customClass]"
|
:class="['v-select__custom', customClass]"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<path d="M15.4899 7.76897L0.552358 0.279682C0.491643 0.249325 0.422 0.242182 0.355929 0.258253C0.282599 0.276381 0.219441 0.322828 0.180282 0.387423C0.141124 0.452017 0.129156 0.529497 0.147 0.602896L1.68629 6.89218C1.7095 6.98682 1.77914 7.06361 1.872 7.09397L4.5095 7.99932L1.87379 8.90468C1.78093 8.93682 1.71129 9.01182 1.68986 9.10647L0.147 15.4047C0.130929 15.4708 0.138072 15.5404 0.168429 15.5993C0.238072 15.7404 0.4095 15.7975 0.552358 15.7279L15.4899 8.28147C15.5452 8.25468 15.5899 8.20825 15.6184 8.15468C15.6881 8.01182 15.6309 7.8404 15.4899 7.76897ZM1.90771 13.6154L2.80593 9.94397L8.07736 8.13504C8.11843 8.12075 8.15236 8.08861 8.16664 8.04575C8.19164 7.97075 8.15236 7.8904 8.07736 7.86361L2.80593 6.05647L1.91129 2.39932L13.1256 8.02254L1.90771 13.6154Z" fill="white"/>
|
<path d="M15.4899 7.76897L0.552358 0.279682C0.491643 0.249325 0.422 0.242182 0.355929 0.258253C0.282599 0.276381 0.219441 0.322828 0.180282 0.387423C0.141124 0.452017 0.129156 0.529497 0.147 0.602896L1.68629 6.89218C1.7095 6.98682 1.77914 7.06361 1.872 7.09397L4.5095 7.99932L1.87379 8.90468C1.78093 8.93682 1.71129 9.01182 1.68986 9.10647L0.147 15.4047C0.130929 15.4708 0.138072 15.5404 0.168429 15.5993C0.238072 15.7404 0.4095 15.7975 0.552358 15.7279L15.4899 8.28147C15.5452 8.25468 15.5899 8.20825 15.6184 8.15468C15.6881 8.01182 15.6309 7.8404 15.4899 7.76897ZM1.90771 13.6154L2.80593 9.94397L8.07736 8.13504C8.11843 8.12075 8.15236 8.08861 8.16664 8.04575C8.19164 7.97075 8.15236 7.8904 8.07736 7.86361L2.80593 6.05647L1.91129 2.39932L13.1256 8.02254L1.90771 13.6154Z" fill="currentColor"/>
|
||||||
</svg>
|
</svg>
|
||||||
</template>
|
</template>
|
@ -39,8 +39,6 @@
|
|||||||
import { mapState, mapMutations, mapActions } from 'vuex';
|
import { mapState, mapMutations, mapActions } from 'vuex';
|
||||||
import Buttons from '~/components/common/button/Buttons';
|
import Buttons from '~/components/common/button/Buttons';
|
||||||
import Grid from '~/components/common/Grid';
|
import Grid from '~/components/common/Grid';
|
||||||
import { CustomCheckbox } from '~/plugins/gridUtility';
|
|
||||||
import { CustomNumberEditor } from '~/plugins/gridUtility';
|
|
||||||
import Form from '~/components/common/form/Form';
|
import Form from '~/components/common/form/Form';
|
||||||
import mixinGlobal from '@/mixin/global.js';
|
import mixinGlobal from '@/mixin/global.js';
|
||||||
import Utility from '~/plugins/utility';
|
import Utility from '~/plugins/utility';
|
||||||
@ -175,7 +173,7 @@ export default {
|
|||||||
header: '사용여부',
|
header: '사용여부',
|
||||||
name: 'useFg',
|
name: 'useFg',
|
||||||
align: 'left',
|
align: 'left',
|
||||||
width: 100,
|
minWidth: 80,
|
||||||
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(
|
||||||
@ -190,7 +188,7 @@ export default {
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
{ header: '비고', name: 'rmrk', align: 'left' },
|
{ header: '비고', name: 'rmrk', align: 'left', minWidth: 50, },
|
||||||
];
|
];
|
||||||
|
|
||||||
this.setGridColumn({
|
this.setGridColumn({
|
||||||
@ -324,7 +322,7 @@ const myDataSetTagDetail = [
|
|||||||
valueNm: 'tagNm',
|
valueNm: 'tagNm',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 mt-2',
|
class: 'py-2 mt-1',
|
||||||
required: true,
|
required: true,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
@ -350,12 +348,11 @@ const myDataSetTagDetail = [
|
|||||||
valueNm: 'useFg',
|
valueNm: 'useFg',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 5,
|
cols: 5,
|
||||||
class: 'py-2 mt-2',
|
class: 'py-2 mt-1',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
required: true,
|
required: true,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
// class: "d-flex align-end"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'TextArea',
|
type: 'TextArea',
|
||||||
@ -369,23 +366,4 @@ const myDataSetTagDetail = [
|
|||||||
required: false,
|
required: false,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
const dataPathDataExample = [
|
|
||||||
{
|
|
||||||
id: 'INCHEON.HVAC.EQP_HT_CH001.UT_CH101.CHI_AMP_1A_PV',
|
|
||||||
name: 'INCHEON 고온 냉동기 101호기 - 호로1',
|
|
||||||
type: '합계'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 'INCHEON.HVAC.EQP_HT_CH001.UT_CH101.CHI_AMP_1A_PV',
|
|
||||||
name: 'INCHEON 고온 냉동기 101호기 - 호로1',
|
|
||||||
type: '합계'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 'INCHEON.HVAC.EQP_HT_CH001.UT_CH101.CHI_AMP_1A_PV',
|
|
||||||
name: 'INCHEON 고온 냉동기 101호기 - 호로1',
|
|
||||||
type: '합계'
|
|
||||||
},
|
|
||||||
];
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -99,18 +99,16 @@ export default {
|
|||||||
selectedObjId(val) {
|
selectedObjId(val) {
|
||||||
if (val === 'TAG') {
|
if (val === 'TAG') {
|
||||||
this.detailList[1].class = 'd-none ';
|
this.detailList[1].class = 'd-none ';
|
||||||
this.detailList[2].class = 'd-block pl-4';
|
this.detailList[2].class = 'd-block pl-4 mt-2';
|
||||||
this.detailList[3].class = 'd-block';
|
this.detailList[3].class = 'd-block';
|
||||||
|
this.detailList[4].class = 'pl-4 mt-2';
|
||||||
} else {
|
} else {
|
||||||
// }else if(val==="READ_PLC"){
|
// }else if(val==="READ_PLC"){
|
||||||
|
this.detailList[4].class = 'pl-4 mt-2';
|
||||||
this.detailList[3].class = 'd-block';
|
this.detailList[3].class = 'd-block';
|
||||||
this.detailList[2].class = 'd-none';
|
this.detailList[2].class = 'd-none';
|
||||||
this.detailList[1].class = 'd-block pl-4';
|
this.detailList[1].class = 'd-block pl-4 mt-1 pb-0';
|
||||||
}
|
}
|
||||||
this.detailList[4].class = 'pl-4 mt-2';
|
|
||||||
|
|
||||||
console.log(val)
|
|
||||||
console.log(this.detailList)
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
@ -380,7 +378,7 @@ const myDetail = [
|
|||||||
label: '대상 유형',
|
label: '대상 유형',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'pr-4',
|
class: 'pr-4 py-2 mt-1',
|
||||||
list: 'emMapDivList',
|
list: 'emMapDivList',
|
||||||
valueNm: 'objKind',
|
valueNm: 'objKind',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
@ -395,7 +393,7 @@ const myDetail = [
|
|||||||
type: 'ReadPlcPop',
|
type: 'ReadPlcPop',
|
||||||
label: '대상 항목',
|
label: '대상 항목',
|
||||||
valueNm: 'objId',
|
valueNm: 'objId',
|
||||||
disabled: false,
|
disabled: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'pl-4 py-2',
|
class: 'pl-4 py-2',
|
||||||
required: true,
|
required: true,
|
||||||
@ -482,7 +480,6 @@ const myDetail = [
|
|||||||
disabledFg: 'objKind',
|
disabledFg: 'objKind',
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<v-row>
|
<v-row>
|
||||||
<v-col :cols="8" style="padding:0px">
|
<v-col :cols="8" style="padding:0px">
|
||||||
<!-- 조회기간 -->
|
<!-- 조회기간 -->
|
||||||
<DatePicker :parentPrgmId="parentPrgmId" label="조회기간" />
|
<DatePicker :parentPrgmId="parentPrgmId" label="조회기간" customClass="tab-datepicker" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="4" class="d-flex justify-end align-center">
|
<v-col cols="4" class="d-flex justify-end align-center">
|
||||||
<Buttons
|
<Buttons
|
||||||
@ -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"
|
||||||
@ -378,3 +378,10 @@ function numberFormatter({ value }) {
|
|||||||
return value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
return value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
::v-deep {
|
||||||
|
.tab-datepicker {
|
||||||
|
width: 64% !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -912,17 +912,6 @@ const myColumns = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
const unAsgnRoleByUserColumns = [
|
const unAsgnRoleByUserColumns = [
|
||||||
{
|
|
||||||
header: '',
|
|
||||||
name: '',
|
|
||||||
align: 'center',
|
|
||||||
width: 50,
|
|
||||||
formatter: (props) => {
|
|
||||||
return `<label class="custom-radio">
|
|
||||||
<span class="radio-mark"></span>
|
|
||||||
</label>`;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{ header: '역할ID', name: 'roleId', align: 'left' },
|
{ header: '역할ID', name: 'roleId', align: 'left' },
|
||||||
{ header: '역할명', name: 'roleNm' },
|
{ header: '역할명', name: 'roleNm' },
|
||||||
{ header: '적용시작일', name: 'aplyStartDt', hidden: true },
|
{ header: '적용시작일', name: 'aplyStartDt', hidden: true },
|
||||||
@ -932,8 +921,7 @@ const unAsgnRoleByUserColumns = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
const asgnRoleByUserColumns = [
|
const asgnRoleByUserColumns = [
|
||||||
|
{ header: '역할ID', name: 'roleId', align: 'left' },
|
||||||
{ header: '역할ID', name: 'roleId', align: 'center' },
|
|
||||||
{ header: '역할명', name: 'roleNm' },
|
{ header: '역할명', name: 'roleNm' },
|
||||||
{
|
{
|
||||||
header: '적용시작일',
|
header: '적용시작일',
|
||||||
|
@ -7,41 +7,21 @@
|
|||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row align="end" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2.5">
|
||||||
<InputText
|
<InputText :parentPrgmId="myPrgmId" label="배치ID" valueNm="batchId" :searchOption="true"
|
||||||
:parentPrgmId="myPrgmId"
|
customClass="input-large" />
|
||||||
label="배치ID"
|
|
||||||
valueNm="batchId"
|
|
||||||
:searchOption="true"
|
|
||||||
customClass="input-large"
|
|
||||||
/>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2.5">
|
||||||
<InputText
|
<InputText :parentPrgmId="myPrgmId" label="배치명" valueNm="batchNm" :searchOption="true"
|
||||||
:parentPrgmId="myPrgmId"
|
customClass="input-large" />
|
||||||
label="배치명"
|
|
||||||
valueNm="batchNm"
|
|
||||||
:searchOption="true"
|
|
||||||
customClass="input-large"
|
|
||||||
/>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2.5">
|
||||||
<component
|
<component :is="'selectCodeList'" :parentPrgmId="myPrgmId" :label="'실행 결과'"
|
||||||
:is="'selectCodeList'"
|
:dataKey="'execRsltCd'" :sendParam="{ commGrpCd: 'CO_BATCH_EXEC_RSLT', useFg: '1' }"
|
||||||
:parentPrgmId="myPrgmId"
|
:addAll="true" customClass="select-large" />
|
||||||
:label="'실행 결과'"
|
|
||||||
:dataKey="'execRsltCd'"
|
|
||||||
:sendParam="{ commGrpCd: 'CO_BATCH_EXEC_RSLT', useFg: '1' }"
|
|
||||||
:addAll="true"
|
|
||||||
customClass="select-large"
|
|
||||||
/>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2.5">
|
||||||
<component
|
<component :is="'Datepicker'" :parentPrgmId="myPrgmId" :label="'조회기간'"
|
||||||
:is="'Datepicker'"
|
customClass="datepicker-large" />
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:label="'조회기간'"
|
|
||||||
customClass="datepicker-large"
|
|
||||||
/>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<div class="text-right d-flex align-end justify-end pl-9" style="gap: 8px">
|
<div class="text-right d-flex align-end justify-end pl-9" style="gap: 8px">
|
||||||
<BtnSearch />
|
<BtnSearch />
|
||||||
@ -54,37 +34,30 @@
|
|||||||
|
|
||||||
<v-row ref="contents">
|
<v-row ref="contents">
|
||||||
<!-- 배치 리스트 -->
|
<!-- 배치 리스트 -->
|
||||||
<v-col :cols="12" style="height:50%">
|
<v-col :cols="12" style="height:70%">
|
||||||
<v-card class="pb-5 h100">
|
<v-card class="h100">
|
||||||
<v-card-title>배치 리스트</v-card-title>
|
<v-card-title>배치 리스트</v-card-title>
|
||||||
<div class="h100" style="height:calc(100% - 70px)">
|
<div class="h100" style="height:calc(100% - 150px)">
|
||||||
<div ref="gridParent" class="px-5 h100">
|
<div ref="gridParent" class="px-5 h100">
|
||||||
<component
|
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :parentPrgmId="myPrgmId"
|
||||||
:ref="gridName"
|
:gridName="gridName" @getRowsData="getRowData" />
|
||||||
:is="loadGrid ? 'Grid' : null"
|
</div>
|
||||||
:parentPrgmId="myPrgmId"
|
<div class="d-flex align-center justify-center pt-7" v-if="loadGrid && totalCount > 0">
|
||||||
:gridName="gridName"
|
<pagination id="pagination" :total-count="totalCount" :page-num="page" :limit="limit"
|
||||||
@getRowsData="getRowData"
|
@loadData="changeGrid" />
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<!-- 배치 상세 -->
|
<!-- 배치 상세 -->
|
||||||
<v-col :cols="12" style="height:50%">
|
<v-col :cols="12" style="height:30%">
|
||||||
<v-card class="pb-5 h100">
|
<v-card class="h100">
|
||||||
<div class="d-flex align-center justify-space-between pa-5">
|
<div class="d-flex align-center justify-space-between pa-5">
|
||||||
<v-card-title class="pa-0">배치 상세</v-card-title>
|
<v-card-title class="pa-0">배치 상세</v-card-title>
|
||||||
</div>
|
</div>
|
||||||
<div style="height:calc(100% - 50px)">
|
<div style="height:calc(100% - 50px)" class="px-5">
|
||||||
<div ref="gridParent" class="px-5 h100">
|
<component :is="'Form'" :parentPrgmId="myPrgmId" :detailList="detailList"
|
||||||
<component
|
@gridEditingFinish="gridEditingFinish" />
|
||||||
:is="'Form'"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:detailList="detailList"
|
|
||||||
@gridEditingFinish="gridEditingFinish"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -105,6 +78,7 @@ import Buttons from '~/components/common/button/Buttons';
|
|||||||
import Grid from '~/components/common/Grid';
|
import Grid from '~/components/common/Grid';
|
||||||
import Form from '~/components/common/form/Form';
|
import Form from '~/components/common/form/Form';
|
||||||
import Utility from '~/plugins/utility';
|
import Utility from '~/plugins/utility';
|
||||||
|
import pagination from '~/components/common/Pagination';
|
||||||
|
|
||||||
let myTitle;
|
let myTitle;
|
||||||
let myPrgmId;
|
let myPrgmId;
|
||||||
@ -133,6 +107,7 @@ export default {
|
|||||||
BtnSearch,
|
BtnSearch,
|
||||||
BtnExcelDownload,
|
BtnExcelDownload,
|
||||||
Buttons,
|
Buttons,
|
||||||
|
pagination,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -141,6 +116,11 @@ export default {
|
|||||||
gridName: 'rowGrid',
|
gridName: 'rowGrid',
|
||||||
// rowGridOrigin: [],
|
// rowGridOrigin: [],
|
||||||
detailList: myDetail,
|
detailList: myDetail,
|
||||||
|
itemsPerPage: 20,
|
||||||
|
itemsPerPageArray: [10, 20, 30],
|
||||||
|
limit: 20,
|
||||||
|
page: 1,
|
||||||
|
totalCount: 0,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -161,7 +141,10 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
chkIsFind(val) {
|
chkIsFind(val) {
|
||||||
if (val) this.search();
|
if (val) {
|
||||||
|
this.page = 1;
|
||||||
|
this.search();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
chkExecRsltCd() {
|
chkExecRsltCd() {
|
||||||
this.setPageData({ isFind: true });
|
this.setPageData({ isFind: true });
|
||||||
@ -197,17 +180,16 @@ export default {
|
|||||||
// chkOpenTabList: "chkOpenTabList"
|
// chkOpenTabList: "chkOpenTabList"
|
||||||
// }),
|
// }),
|
||||||
init() {
|
init() {
|
||||||
// this.layoutInit();
|
this.layoutInit();
|
||||||
this.gridInit();
|
this.gridInit();
|
||||||
},
|
},
|
||||||
// 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% - 30px - ${searchFilterHeight}px)`;
|
||||||
// },
|
},
|
||||||
gridInit() {
|
gridInit() {
|
||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
||||||
|
|
||||||
const myOptions = {
|
const myOptions = {
|
||||||
scrollX: false,
|
scrollX: false,
|
||||||
};
|
};
|
||||||
@ -219,10 +201,10 @@ export default {
|
|||||||
|
|
||||||
const _this = this;
|
const _this = this;
|
||||||
const myColumns = [
|
const myColumns = [
|
||||||
{ header: 'No.', name: 'batchLogSeq', align: 'right', width: 100 },
|
{ header: 'No.', name: 'batchLogSeq', align: 'right', width: 90 },
|
||||||
{ header: '배치ID', name: 'batchId', align: 'right', width: 100 },
|
{ header: '배치ID', name: 'batchId', align: 'right', width: 90 },
|
||||||
{ header: '배치명', name: 'batchNm', align: 'left', width: 150 },
|
{ header: '배치명', name: 'batchNm', align: 'left', width: 150 },
|
||||||
{ header: '실행 일자', name: 'execDt', align: 'right', width: 80 },
|
{ header: '실행 일자', name: 'execDt', align: 'right', width: 70 },
|
||||||
{
|
{
|
||||||
header: '실행 결과',
|
header: '실행 결과',
|
||||||
name: 'execRsltCd',
|
name: 'execRsltCd',
|
||||||
@ -252,9 +234,9 @@ export default {
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
width: 160,
|
width: 160,
|
||||||
},
|
},
|
||||||
{ header: '등록자NO', name: 'regUserNo', width: 120 },
|
{ header: '등록자NO', name: 'regUserNo', width: 100 },
|
||||||
{ header: '등록일시', name: 'regDttm', align: 'center', width: 160 },
|
{ header: '등록일시', name: 'regDttm', align: 'center', width: 160 },
|
||||||
{ header: '수정자NO', name: 'procUserNo', width: 120 },
|
{ header: '수정자NO', name: 'procUserNo', width: 100 },
|
||||||
{ header: '수정일시', name: 'procDttm', align: 'center', width: 160 },
|
{ header: '수정일시', name: 'procDttm', align: 'center', width: 160 },
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -274,6 +256,11 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async getRowGridData() {
|
async getRowGridData() {
|
||||||
|
this.loadGrid = false;
|
||||||
|
// this.setGridData({
|
||||||
|
// gridKey: this.gridName,
|
||||||
|
// value: [],
|
||||||
|
// });
|
||||||
const res = await this.postApiReturn({
|
const res = await this.postApiReturn({
|
||||||
apiKey: 'selectBatchLog',
|
apiKey: 'selectBatchLog',
|
||||||
resKey: 'batchLogData',
|
resKey: 'batchLogData',
|
||||||
@ -282,8 +269,24 @@ export default {
|
|||||||
batchNm: this.pageData.batchNm, // 검색키워드: 배치명
|
batchNm: this.pageData.batchNm, // 검색키워드: 배치명
|
||||||
execRsltCd: this.pageData.execRsltCd, //배치 실행 결과
|
execRsltCd: this.pageData.execRsltCd, //배치 실행 결과
|
||||||
fromDt: this.pageData.fromDt,
|
fromDt: this.pageData.fromDt,
|
||||||
|
limit: this.limit,
|
||||||
|
page: this.page,
|
||||||
|
offset: (this.page - 1) * this.limit, // MariaDB Query에서 직접 계산이 안됨
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const res2 = await this.postApiReturn({
|
||||||
|
apiKey: 'selectBatchLogPageTotal',
|
||||||
|
resKey: 'batchLogPageTotal',
|
||||||
|
sendParam: {
|
||||||
|
batchId: this.pageData.batchId, // 검색키워드: 배치ID
|
||||||
|
batchNm: this.pageData.batchNm, // 검색키워드: 배치명
|
||||||
|
execRsltCd: this.pageData.execRsltCd, //배치 실행 결과
|
||||||
|
fromDt: this.pageData.fromDt,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
this.totalCount = res2[0].totalcount;
|
||||||
|
|
||||||
const newRes = res.map(item => {
|
const newRes = res.map(item => {
|
||||||
const newObj = {
|
const newObj = {
|
||||||
...item,
|
...item,
|
||||||
@ -302,6 +305,7 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
this.loadGrid = true;
|
||||||
if (newRes.length > 0) {
|
if (newRes.length > 0) {
|
||||||
this.$refs[this.gridName].focus({
|
this.$refs[this.gridName].focus({
|
||||||
rowKey: this.chkRowGridSelectKey || 0,
|
rowKey: this.chkRowGridSelectKey || 0,
|
||||||
@ -361,6 +365,12 @@ export default {
|
|||||||
}
|
}
|
||||||
return retVal;
|
return retVal;
|
||||||
},
|
},
|
||||||
|
changeGrid: async function (pageNum, limit) {
|
||||||
|
this.page = pageNum;
|
||||||
|
this.limit = limit;
|
||||||
|
|
||||||
|
this.search();
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -428,6 +438,7 @@ const myDetail = [
|
|||||||
readonly: true,
|
readonly: true,
|
||||||
cols: 12,
|
cols: 12,
|
||||||
class: 'py-2',
|
class: 'py-2',
|
||||||
|
rows: 3
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
</script>
|
</script>
|
@ -4,7 +4,7 @@
|
|||||||
<!-- 리스트 페이지 시작 -->
|
<!-- 리스트 페이지 시작 -->
|
||||||
<div v-if="pageActionFlag == 'list'" class="h1001">
|
<div v-if="pageActionFlag == 'list'" class="h1001">
|
||||||
<v-card class="">
|
<v-card class="">
|
||||||
<div class="pa-5">
|
<div class="pa-5 pb-0">
|
||||||
<v-row align="center" no-gutters>
|
<v-row align="center" no-gutters>
|
||||||
<v-col :cols="12" class="d-flex align-center justify-space-between">
|
<v-col :cols="12" class="d-flex align-center justify-space-between">
|
||||||
<v-card-title class="pa-0 custom-title-4">공지사항</v-card-title>
|
<v-card-title class="pa-0 custom-title-4">공지사항</v-card-title>
|
||||||
@ -15,11 +15,15 @@
|
|||||||
<!-- <v-btn @click="listPageButtonGroupClickEvent('delete')" :ripple="false">삭제</v-btn> -->
|
<!-- <v-btn @click="listPageButtonGroupClickEvent('delete')" :ripple="false">삭제</v-btn> -->
|
||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" ref="contents" class="mt-5" style="min-height: calc(100% - 76px);">
|
<v-col :cols="12" ref="contents" class="mt-5" style="min-height: calc(100% - 73px);">
|
||||||
<div ref="gridParent" class="px-50" style="min-height: 70vh;">
|
<div ref="gridParent" class="px-50" style="min-height: 64vh;">
|
||||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
||||||
:parentPrgmId="myPrgmId" @getRowsData="getRowData" />
|
:parentPrgmId="myPrgmId" @getRowsData="getRowData" />
|
||||||
</div>
|
</div>
|
||||||
|
<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"
|
||||||
|
@loadData="changeGrid" />
|
||||||
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</div>
|
</div>
|
||||||
@ -60,9 +64,10 @@
|
|||||||
<v-card-title class="custom-title-7 pa-0">
|
<v-card-title class="custom-title-7 pa-0">
|
||||||
파일목록
|
파일목록
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<div v-for="fileData in viewActionData.fileData" :key="fileData.apndFileId" class="file-item" style="background-color: unset;">
|
<div v-for="fileData in viewActionData.fileData" :key="fileData.apndFileId"
|
||||||
<a @click.prevent="downloadFile(fileData)">
|
:class="['file-item', isDarkMode ? 'dark' : 'light']" style="background-color: unset;">
|
||||||
<div class="d-flex justify-start search-box-label">
|
<a @click.prevent="downloadFile(fileData)" class="pa-0">
|
||||||
|
<div class="d-flex justify-start search-box-label mb-0">
|
||||||
<v-icon>mdi-paperclip</v-icon>
|
<v-icon>mdi-paperclip</v-icon>
|
||||||
<span class="file-item-name ml-2">{{ fileData.apndFileNm + '.' +
|
<span class="file-item-name ml-2">{{ fileData.apndFileNm + '.' +
|
||||||
fileData.apndFileExt }}</span>
|
fileData.apndFileExt }}</span>
|
||||||
@ -96,7 +101,7 @@
|
|||||||
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
||||||
<div class="" v-if="writeActionData.fileData">
|
<div class="" v-if="writeActionData.fileData">
|
||||||
<div v-for="(fileData, index) in writeActionData.fileData" :key="fileData.apndFileId"
|
<div v-for="(fileData, index) in writeActionData.fileData" :key="fileData.apndFileId"
|
||||||
class="file-item d-flex justify-space-between">
|
:class="['file-item d-flex justify-space-between', isDarkMode ? 'dark' : 'light']">
|
||||||
<div class="file-item-detail">
|
<div class="file-item-detail">
|
||||||
<v-icon>mdi-paperclip</v-icon>
|
<v-icon>mdi-paperclip</v-icon>
|
||||||
<span href="#" class="file-item-name">{{ fileData.name }}</span>
|
<span href="#" class="file-item-name">{{ fileData.name }}</span>
|
||||||
@ -105,7 +110,8 @@
|
|||||||
@click="writeActionData.업로드fileData.splice(index, 1)" />
|
@click="writeActionData.업로드fileData.splice(index, 1)" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a-button class="mt-2" icon="upload" @click="$refs.writeInputFile.$refs.input.click()">
|
<a-button class="ant-btn-popup-default mt-3" color="primary" icon="upload"
|
||||||
|
@click="$refs.writeInputFile.$refs.input.click()">
|
||||||
업로드
|
업로드
|
||||||
</a-button>
|
</a-button>
|
||||||
<v-file-input ref="writeInputFile" v-model="writeActionData.fileData" multiple outlined
|
<v-file-input ref="writeInputFile" v-model="writeActionData.fileData" multiple outlined
|
||||||
@ -113,7 +119,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" class="text-right">
|
<v-col :cols="12" class="text-right">
|
||||||
<a-button @click="writePageButtonGroupClickEvent('cancel')" :ripple="false"
|
<a-button @click="writePageButtonGroupClickEvent('cancel')" :ripple="false"
|
||||||
class="mr-2">취소</a-button>
|
class="ant-btn-popup-default mr-2" color="primary">취소</a-button>
|
||||||
<a-button @click="writePageButtonGroupClickEvent('write')" :ripple="false"
|
<a-button @click="writePageButtonGroupClickEvent('write')" :ripple="false"
|
||||||
type="primary">등록</a-button>
|
type="primary">등록</a-button>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -142,7 +148,7 @@
|
|||||||
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
||||||
<div class="" v-if="replyActionData.fileData">
|
<div class="" v-if="replyActionData.fileData">
|
||||||
<div v-for="(fileData, index) in replyActionData.fileData" :key="fileData.apndFileId"
|
<div v-for="(fileData, index) in replyActionData.fileData" :key="fileData.apndFileId"
|
||||||
class="file-item d-flex justify-space-between">
|
:class="['file-item d-flex justify-space-between', isDarkMode ? 'dark' : 'light']">
|
||||||
<div class="file-item-detail">
|
<div class="file-item-detail">
|
||||||
<v-icon>mdi-paperclip</v-icon>
|
<v-icon>mdi-paperclip</v-icon>
|
||||||
<span href="#" class="file-item-name">{{ fileData.name }}</span>
|
<span href="#" class="file-item-name">{{ fileData.name }}</span>
|
||||||
@ -151,7 +157,8 @@
|
|||||||
@click="replyActionData.fileData.splice(index, 1)" />
|
@click="replyActionData.fileData.splice(index, 1)" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a-button class="mt-3" icon="upload" @click="$refs.replyInputFile.$refs.input.click()">
|
<a-button class="ant-btn-popup-default mt-3" color="primary" icon="upload"
|
||||||
|
@click="$refs.replyInputFile.$refs.input.click()">
|
||||||
업로드
|
업로드
|
||||||
</a-button>
|
</a-button>
|
||||||
<v-file-input ref="replyInputFile" multiple show-size v-model="replyActionData.fileData"
|
<v-file-input ref="replyInputFile" multiple show-size v-model="replyActionData.fileData"
|
||||||
@ -159,7 +166,8 @@
|
|||||||
</v-file-input>
|
</v-file-input>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" class="text-right">
|
<v-col :cols="12" class="text-right">
|
||||||
<a-button @click="replyPageButtonGroupClickEvent('cancel')" :ripple="false">취소</a-button>
|
<a-button @click="replyPageButtonGroupClickEvent('cancel')" class="ant-btn-popup-default mr-2"
|
||||||
|
color="primary" :ripple="false">취소</a-button>
|
||||||
<a-button @click="replyPageButtonGroupClickEvent('reply')" :ripple="false"
|
<a-button @click="replyPageButtonGroupClickEvent('reply')" :ripple="false"
|
||||||
type="primary">등록</a-button>
|
type="primary">등록</a-button>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -168,7 +176,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 답글 작성 페이지 끝 -->
|
<!-- 답글 작성 페이지 끝 -->
|
||||||
<!-- 수정 페이지 시작 -->
|
<!-- 수정 페이지 시작 -->
|
||||||
<div v-if="pageActionFlag == 'update'">
|
<div v-if="pageActionFlag == 'update'" class="update">
|
||||||
<v-card>
|
<v-card>
|
||||||
<div class="pa-5">
|
<div class="pa-5">
|
||||||
<v-row align="center" no-gutters>
|
<v-row align="center" no-gutters>
|
||||||
@ -190,7 +198,7 @@
|
|||||||
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
||||||
<div class="" v-if="updateActionData.fileData">
|
<div class="" v-if="updateActionData.fileData">
|
||||||
<div v-for="(fileData, index) in updateActionData.fileData" :key="fileData.apndFileId"
|
<div v-for="(fileData, index) in updateActionData.fileData" :key="fileData.apndFileId"
|
||||||
class="file-item d-flex justify-space-between">
|
:class="['file-item d-flex justify-space-between', isDarkMode ? 'dark' : 'light']">
|
||||||
<div class="file-item-detail">
|
<div class="file-item-detail">
|
||||||
<v-icon style="font-size: 18px;">mdi-paperclip</v-icon>
|
<v-icon style="font-size: 18px;">mdi-paperclip</v-icon>
|
||||||
<span href="#" class="file-item-name">{{ fileData.name }}</span>
|
<span href="#" class="file-item-name">{{ fileData.name }}</span>
|
||||||
@ -199,9 +207,10 @@
|
|||||||
@click="updateActionData.fileData.splice(index, 1)" />
|
@click="updateActionData.fileData.splice(index, 1)" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="" v-if="updateActionData.currentFileList">
|
<div class="current-files" v-if="updateActionData.currentFileList">
|
||||||
<div v-for="(fileData, index) in updateActionData.currentFileList"
|
<div v-for="(fileData, index) in updateActionData.currentFileList"
|
||||||
:key="fileData.apndFileId" class="file-item d-flex justify-space-between">
|
:key="fileData.apndFileId"
|
||||||
|
:class="['file-item d-flex justify-space-between', isDarkMode ? 'dark' : 'light']">
|
||||||
<div class="file-item-detail">
|
<div class="file-item-detail">
|
||||||
<v-icon style="font-size: 18px;">mdi-paperclip</v-icon>
|
<v-icon style="font-size: 18px;">mdi-paperclip</v-icon>
|
||||||
<span @click.prevent="downloadFile(fileData)" href="#"
|
<span @click.prevent="downloadFile(fileData)" href="#"
|
||||||
@ -212,7 +221,8 @@
|
|||||||
@click="addFileToDeleteFileList(fileData)" />
|
@click="addFileToDeleteFileList(fileData)" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a-button class="mt-2" icon="upload" @click="$refs.updateInputFile.$refs.input.click()">
|
<a-button class="ant-btn-popup-default mt-2" color="primary" icon="upload"
|
||||||
|
@click="$refs.updateInputFile.$refs.input.click()">
|
||||||
업로드
|
업로드
|
||||||
</a-button>
|
</a-button>
|
||||||
<v-file-input ref="updateInputFile" multiple show-size v-model="updateActionData.fileData"
|
<v-file-input ref="updateInputFile" multiple show-size v-model="updateActionData.fileData"
|
||||||
@ -220,7 +230,8 @@
|
|||||||
</v-file-input>
|
</v-file-input>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" class="text-right">
|
<v-col :cols="12" class="text-right">
|
||||||
<a-button @click="updatePageButtonGroupClickEvent('cancel')">취소</a-button>
|
<a-button @click="updatePageButtonGroupClickEvent('cancel')"
|
||||||
|
class="ant-btn-popup-default mr-2" color="primary">취소</a-button>
|
||||||
<a-button @click="updatePageButtonGroupClickEvent('update')" type="primary">등록</a-button>
|
<a-button @click="updatePageButtonGroupClickEvent('update')" type="primary">등록</a-button>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
@ -241,6 +252,7 @@ import '@toast-ui/editor/dist/toastui-editor.css';
|
|||||||
import { Editor } from '@toast-ui/vue-editor';
|
import { Editor } from '@toast-ui/vue-editor';
|
||||||
import '@toast-ui/editor/dist/toastui-editor-viewer.css';
|
import '@toast-ui/editor/dist/toastui-editor-viewer.css';
|
||||||
import { Viewer } from '@toast-ui/vue-editor';
|
import { Viewer } from '@toast-ui/vue-editor';
|
||||||
|
import pagination from '~/components/common/Pagination';
|
||||||
|
|
||||||
let myTitle;
|
let myTitle;
|
||||||
// const myPrgmId = "PRG0034";
|
// const myPrgmId = "PRG0034";
|
||||||
@ -267,6 +279,7 @@ export default {
|
|||||||
Utility,
|
Utility,
|
||||||
Editor,
|
Editor,
|
||||||
Viewer,
|
Viewer,
|
||||||
|
pagination,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -281,6 +294,11 @@ export default {
|
|||||||
loadGrid: false,
|
loadGrid: false,
|
||||||
selectedRowKey: null,
|
selectedRowKey: null,
|
||||||
selectedRowData: null,
|
selectedRowData: null,
|
||||||
|
itemsPerPage: 10,
|
||||||
|
itemsPerPageArray: [10, 20, 30],
|
||||||
|
limit: 20,
|
||||||
|
page: 1,
|
||||||
|
totalCount: 0,
|
||||||
writeActionData: {
|
writeActionData: {
|
||||||
title: '',
|
title: '',
|
||||||
postNo: null,
|
postNo: null,
|
||||||
@ -322,7 +340,10 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
chkIsFind(val) {
|
chkIsFind(val) {
|
||||||
if (val) this.search();
|
if (val) {
|
||||||
|
this.page = 1;
|
||||||
|
this.search();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
async beforeCreate() {
|
async beforeCreate() {
|
||||||
@ -408,7 +429,7 @@ export default {
|
|||||||
this.getGridData();
|
this.getGridData();
|
||||||
},
|
},
|
||||||
gridInit() {
|
gridInit() {
|
||||||
const gridHeight = this.$refs.contents.offsetHeight - 76;
|
const gridHeight = this.$refs.contents.offsetHeight - 120;
|
||||||
|
|
||||||
const myOptions = {
|
const myOptions = {
|
||||||
header: {
|
header: {
|
||||||
@ -480,16 +501,29 @@ export default {
|
|||||||
async getGridData() {
|
async getGridData() {
|
||||||
var params = {
|
var params = {
|
||||||
bordNo: 'BORD0001',
|
bordNo: 'BORD0001',
|
||||||
|
limit: this.limit,
|
||||||
|
page: this.page,
|
||||||
|
offset: (this.page - 1) * this.limit, // MariaDB Query에서 직접 계산이 안됨
|
||||||
};
|
};
|
||||||
|
|
||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
|
|
||||||
const res = await this.postApiReturn({
|
const res = await this.postApiReturn({
|
||||||
apiKey: 'selectPostList',
|
apiKey: 'selectPostData',
|
||||||
resKey: 'postData',
|
resKey: 'postPage',
|
||||||
sendParam: params,
|
sendParam: params,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const res2 = await this.postApiReturn({
|
||||||
|
apiKey: 'selectPostPageTotal',
|
||||||
|
resKey: 'postPageTotal',
|
||||||
|
sendParam: {
|
||||||
|
bordNo: 'BORD0001',
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
this.totalCount = res2[0].totalcount;
|
||||||
|
|
||||||
this.setGridData({
|
this.setGridData({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
value: res,
|
value: res,
|
||||||
@ -1021,6 +1055,12 @@ export default {
|
|||||||
|
|
||||||
return resultFlag;
|
return resultFlag;
|
||||||
},
|
},
|
||||||
|
changeGrid: async function (pageNum, limit) {
|
||||||
|
this.page = pageNum;
|
||||||
|
this.limit = limit;
|
||||||
|
|
||||||
|
this.search();
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1042,17 +1082,6 @@ const defaultData = {
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.file-item {
|
|
||||||
width: auto;
|
|
||||||
margin: 2px 0;
|
|
||||||
padding: 4px;
|
|
||||||
background-color: #0000000A;
|
|
||||||
|
|
||||||
.file-item-name {
|
|
||||||
color: #1677FF;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
::v-deep {
|
::v-deep {
|
||||||
.v-input__slot {
|
.v-input__slot {
|
||||||
padding-left: 8px;
|
padding-left: 8px;
|
||||||
@ -1076,17 +1105,46 @@ const defaultData = {
|
|||||||
font-size: 1.0rem !important;
|
font-size: 1.0rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.toastui-editor-mode-switch .tab-item.active {
|
|
||||||
color: #1677FF
|
|
||||||
}
|
|
||||||
|
|
||||||
.toastui-editor-light .toastui-editor-mode-switch .tab-item {
|
|
||||||
color: #000000E0
|
|
||||||
}
|
|
||||||
|
|
||||||
.v-icon.anticon-delete svg {
|
.v-icon.anticon-delete svg {
|
||||||
width: 14px;
|
width: 14px;
|
||||||
height: 14px;
|
height: 14px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@each $theme in dark, light {
|
||||||
|
@include theme($theme);
|
||||||
|
|
||||||
|
::v-deep {
|
||||||
|
.toastui-editor-#{$theme} {
|
||||||
|
.toastui-editor-mode-switch {
|
||||||
|
>.tab-item {
|
||||||
|
border: none;
|
||||||
|
background-color: transparent;
|
||||||
|
color: map-deep-get($config, #{$theme}, "card-title-color") !important;
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
color: map-deep-get($config, #{$theme}, "card-text-info-color") !important;
|
||||||
|
border-top: 1px solid map-deep-get($config, #{$theme}, "card-text-info-color");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.file-item {
|
||||||
|
&.#{$theme} {
|
||||||
|
width: auto;
|
||||||
|
margin: 2px 0;
|
||||||
|
padding: 4px;
|
||||||
|
background-color: map-deep-get($config, #{$theme}, "v-calendar-day-in-not-month-color");
|
||||||
|
|
||||||
|
.file-item-name {
|
||||||
|
color: map-deep-get($config, #{$theme}, "card-text-info-color");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -512,7 +512,7 @@
|
|||||||
<v-col cols="12" sm="12" xl="12" style="height: 300px">
|
<v-col cols="12" sm="12" xl="12" style="height: 300px">
|
||||||
<v-card style="border-radius: 4px" class="pb-5">
|
<v-card style="border-radius: 4px" class="pb-5">
|
||||||
<div style="height: 20px"></div>
|
<div style="height: 20px"></div>
|
||||||
<div class="h100 px-5" style="height: calc(100% - 30px)">
|
<div class="h100 px-5" style="height: calc(100% - 70px)">
|
||||||
<div ref="gridParent" class="h100 w100">
|
<div ref="gridParent" class="h100 w100">
|
||||||
<component
|
<component
|
||||||
:is="loadGrid ? 'Grid' : null"
|
:is="loadGrid ? 'Grid' : null"
|
||||||
@ -521,6 +521,16 @@
|
|||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
@dblClick="gridClickEvent"
|
@dblClick="gridClickEvent"
|
||||||
/>
|
/>
|
||||||
|
<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>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
@ -539,6 +549,7 @@ import DateUtility from "~/plugins/dateUtility";
|
|||||||
import Utility from "~/plugins/utility";
|
import Utility from "~/plugins/utility";
|
||||||
import Grid from "~/components/common/Grid";
|
import Grid from "~/components/common/Grid";
|
||||||
import Chart from "~/components/common/Chart";
|
import Chart from "~/components/common/Chart";
|
||||||
|
import pagination from "~/components/common/Pagination";
|
||||||
|
|
||||||
import AntCard from "~/components/common/card/AntCard";
|
import AntCard from "~/components/common/card/AntCard";
|
||||||
|
|
||||||
@ -579,7 +590,8 @@ export default {
|
|||||||
Chart,
|
Chart,
|
||||||
UnusedStatPopPage,
|
UnusedStatPopPage,
|
||||||
EtcStatPopPage,
|
EtcStatPopPage,
|
||||||
PageTitle
|
PageTitle,
|
||||||
|
pagination
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState({
|
...mapState({
|
||||||
@ -697,6 +709,10 @@ export default {
|
|||||||
|
|
||||||
gridName: "dashBoard_grid_01",
|
gridName: "dashBoard_grid_01",
|
||||||
loadGrid: false,
|
loadGrid: false,
|
||||||
|
itemsPerPageArray: [10, 20, 50],
|
||||||
|
limit: 10,
|
||||||
|
page: 1,
|
||||||
|
totalCount: 0,
|
||||||
isGridLoading: true,
|
isGridLoading: true,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -735,6 +751,11 @@ export default {
|
|||||||
}
|
}
|
||||||
this.timer = setInterval(this.search, 90000); //15분 주기마다 갱신
|
this.timer = setInterval(this.search, 90000); //15분 주기마다 갱신
|
||||||
},
|
},
|
||||||
|
changeGrid: async function (pageNum, limit) {
|
||||||
|
this.page = pageNum;
|
||||||
|
this.limit = limit;
|
||||||
|
await this.getGridData();
|
||||||
|
},
|
||||||
async search() {
|
async search() {
|
||||||
await new Promise((resolve) => setTimeout(resolve, 1500));
|
await new Promise((resolve) => setTimeout(resolve, 1500));
|
||||||
if (this.$router.currentRoute.fullPath == this.myHome.root) {
|
if (this.$router.currentRoute.fullPath == this.myHome.root) {
|
||||||
@ -756,6 +777,41 @@ export default {
|
|||||||
// gridHeight = gridHeight*0.9
|
// gridHeight = gridHeight*0.9
|
||||||
gridHeight = this.$refs.gridParent.offsetHeight - 35;
|
gridHeight = this.$refs.gridParent.offsetHeight - 35;
|
||||||
}
|
}
|
||||||
|
// Define custom button
|
||||||
|
class CustomButton {
|
||||||
|
constructor(props, pageData) {
|
||||||
|
const { grid, rowKey, columnInfo } = props;
|
||||||
|
const gridData = grid.store.data.rawData;
|
||||||
|
const value = gridData[rowKey][columnInfo.name];
|
||||||
|
const onClickCallback = columnInfo.renderer.options.onClick;
|
||||||
|
|
||||||
|
this.disabled = columnInfo.renderer.options.disabled || false;
|
||||||
|
const elDiv = document.createElement("div");
|
||||||
|
elDiv.innerHTML = `<span>${value}</span>`;
|
||||||
|
$(elDiv).addClass("tui-grid-cell-content d-flex justify-space-between");
|
||||||
|
const el2 = document.createElement("button");
|
||||||
|
$(el2).addClass("edit-btn blue--text");
|
||||||
|
el2.innerText = "보기";
|
||||||
|
elDiv.appendChild(el2);
|
||||||
|
this.el = elDiv;
|
||||||
|
if (!this.disabled && typeof onClickCallback === "function") {
|
||||||
|
// click 이벤트
|
||||||
|
this.el.addEventListener("click", function (event) {
|
||||||
|
onClickCallback(rowKey);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
getElement() {
|
||||||
|
return this.el;
|
||||||
|
}
|
||||||
|
getValue() {
|
||||||
|
// return this.el.value;
|
||||||
|
}
|
||||||
|
mounted() {
|
||||||
|
// this.el.focus();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const myOptions = {
|
const myOptions = {
|
||||||
// scrollX: false,
|
// scrollX: false,
|
||||||
setScroll: true,
|
setScroll: true,
|
||||||
@ -840,7 +896,42 @@ export default {
|
|||||||
{ header: "주의", name: "careStndVal", align: "right", width: 40 },
|
{ header: "주의", name: "careStndVal", align: "right", width: 40 },
|
||||||
{ header: "경고", name: "warnStndVal", align: "right", width: 40 },
|
{ header: "경고", name: "warnStndVal", align: "right", width: 40 },
|
||||||
{ header: "가이드", name: "totVal", align: "right", width: 40 },
|
{ header: "가이드", name: "totVal", align: "right", width: 40 },
|
||||||
{ header: "알람 내용", name: "alrmMsg", align: "left", resizable: false },
|
{ header: "알람 내용", name: "alrmMsg", align: "left", resizable: false,
|
||||||
|
// Render custom button to switch page instead of double click on row
|
||||||
|
renderer: {
|
||||||
|
type: CustomButton,
|
||||||
|
options: {
|
||||||
|
value: "보기",
|
||||||
|
onClick: (rowKey) => {
|
||||||
|
var gridInstance = this.$refs[this.gridName].gridInstance;
|
||||||
|
var eventRowData = gridInstance.invoke("getRow", rowKey);
|
||||||
|
var data = {
|
||||||
|
cmCycle: "CYC_DAY",
|
||||||
|
fromDt:
|
||||||
|
eventRowData.totDttm != undefined
|
||||||
|
? eventRowData.totDttm
|
||||||
|
: Utility.setFormatDate(new Date(), "YYYY-MM-DD HH:mm"),
|
||||||
|
fabId: eventRowData.fabId,
|
||||||
|
eqpmKindId: eventRowData.eqpmKindId,
|
||||||
|
eqpmGrpId: eventRowData.eqpmGrpId,
|
||||||
|
eqpmId: eventRowData.eqpmId,
|
||||||
|
};
|
||||||
|
var key = "tick_" + Math.random();
|
||||||
|
this.$router.push({
|
||||||
|
name: "ems-effc-EnrgUseEqpmDetlMntrPage",
|
||||||
|
query: {
|
||||||
|
prgmId: "PRG0082",
|
||||||
|
// tick:key
|
||||||
|
},
|
||||||
|
params: {
|
||||||
|
...data,
|
||||||
|
key: key,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
{ header: "설비종류", name: "eqpmKindId", align: "left", hidden: true },
|
{ header: "설비종류", name: "eqpmKindId", align: "left", hidden: true },
|
||||||
{ header: "설비종류", name: "eqpmKindNm", align: "left", hidden: true },
|
{ header: "설비종류", name: "eqpmKindNm", align: "left", hidden: true },
|
||||||
];
|
];
|
||||||
@ -855,11 +946,21 @@ export default {
|
|||||||
},
|
},
|
||||||
async getGridData() {
|
async getGridData() {
|
||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
// console
|
// Get total records of grid
|
||||||
|
const totalRes = await this.postApiReturn({
|
||||||
|
apiKey: "selectIssueGdIdxDataPageTotal",
|
||||||
|
resKey: "issueGdIdxDataPageTotal",
|
||||||
|
});
|
||||||
|
this.totalCount = totalRes[0].totalcount;
|
||||||
|
|
||||||
const res = await this.postApiReturn({
|
const res = await this.postApiReturn({
|
||||||
apiKey: "selectIssueGdIdxData",
|
apiKey: "selectIssueGdIdxData",
|
||||||
resKey: "issueGdIdxData",
|
resKey: "issueGdIdxData",
|
||||||
sendParam: {},
|
sendParam: {
|
||||||
|
limit: this.limit,
|
||||||
|
page: this.page,
|
||||||
|
offset: (this.page - 1) * this.limit,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
// let fakeData = [
|
// let fakeData = [
|
||||||
// {
|
// {
|
||||||
@ -1196,7 +1297,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 +1374,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",
|
||||||
},
|
},
|
||||||
|
@ -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 }" />
|
||||||
|
@ -84,9 +84,9 @@
|
|||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row >
|
<v-row align="stretch">
|
||||||
<v-col :cols="5" class="h100">
|
<v-col :cols="5">
|
||||||
<v-card class="pb-5">
|
<v-card class="d-flex flex-column h100">
|
||||||
<v-card-title class="d-flex justify-space-between align-end">
|
<v-card-title class="d-flex justify-space-between align-end">
|
||||||
<span class="tit ft-size_20 ft-weight_600">에너지원 정보</span>
|
<span class="tit ft-size_20 ft-weight_600">에너지원 정보</span>
|
||||||
<Buttons
|
<Buttons
|
||||||
@ -96,8 +96,8 @@
|
|||||||
:btnActionsFnc="btnActions"
|
:btnActionsFnc="btnActions"
|
||||||
/>
|
/>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<div class="px-5" style="height:calc(100% - 106px)">
|
<div class="px-5" style="height: auto;">
|
||||||
<div ref="gridParent" class="w100 h100">
|
<div ref="gridParent" class="w100">
|
||||||
<component
|
<component
|
||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
:is="loadGrid ? 'Grid' : null"
|
:is="loadGrid ? 'Grid' : null"
|
||||||
@ -111,10 +111,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="7" class="h100">
|
|
||||||
<v-card class="pb-5">
|
<v-col :cols="7">
|
||||||
|
<v-card class="d-flex flex-column h100">
|
||||||
<v-card-title>에너지원 상세</v-card-title>
|
<v-card-title>에너지원 상세</v-card-title>
|
||||||
<div class="px-5" style="min-height: auto;">
|
<div class="px-5" style="height: auto;">
|
||||||
<v-tabs v-model="tab">
|
<v-tabs v-model="tab">
|
||||||
<v-tab
|
<v-tab
|
||||||
v-for="item in items"
|
v-for="item in items"
|
||||||
@ -124,11 +125,7 @@
|
|||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</v-tab>
|
</v-tab>
|
||||||
</v-tabs>
|
</v-tabs>
|
||||||
<v-tabs-items
|
<v-tabs-items v-model="tab" class="py-6">
|
||||||
v-model="tab"
|
|
||||||
class="py-6"
|
|
||||||
style="min-height: auto;"
|
|
||||||
>
|
|
||||||
<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
|
<component
|
||||||
v-if="item.id == 'ercInfoTab'"
|
v-if="item.id == 'ercInfoTab'"
|
||||||
@ -835,7 +832,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 +845,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 +857,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 +872,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 +887,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 +902,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 +913,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 +925,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 +941,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 +953,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 +978,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 +988,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 pa-0" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<!-- 대상일 -->
|
<!-- 대상일 -->
|
||||||
@ -29,17 +29,18 @@
|
|||||||
</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="pa-5 pb-0">
|
||||||
<div ref="gridParent" class="h100 px-5" style="height: 100%">
|
<div ref="gridParent" class="px-5" style="height:calc(100% - 70px)">
|
||||||
<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">
|
<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-card>
|
||||||
|
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</div>
|
</div>
|
||||||
@ -61,7 +62,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 +213,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% - 30px - ${searchFilterHeight}px) `;
|
||||||
},
|
},
|
||||||
async setFromDt() {
|
async setFromDt() {
|
||||||
this.pageData.fromDt = Utility.setBeforetDate(
|
this.pageData.fromDt = Utility.setBeforetDate(
|
||||||
@ -220,7 +221,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;
|
||||||
|
@ -100,6 +100,10 @@
|
|||||||
:gridName="gridName"
|
:gridName="gridName"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<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"
|
||||||
|
@loadData="changeGrid" />
|
||||||
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
@ -117,6 +121,7 @@ import selectCodeList from "@/components/common/select/selectCodeList";
|
|||||||
import SelectMttList from "@/components/common/select/SelectMttList";
|
import SelectMttList from "@/components/common/select/SelectMttList";
|
||||||
import Datepicker from "~/components/common/Datepicker";
|
import Datepicker from "~/components/common/Datepicker";
|
||||||
import BtnExcelDownload from "~/components/common/button/BtnExcelDownload";
|
import BtnExcelDownload from "~/components/common/button/BtnExcelDownload";
|
||||||
|
import pagination from '~/components/common/Pagination';
|
||||||
|
|
||||||
let myTitle;
|
let myTitle;
|
||||||
// const myPrgmId = "PRG0018";
|
// const myPrgmId = "PRG0018";
|
||||||
@ -144,27 +149,18 @@ export default {
|
|||||||
Datepicker,
|
Datepicker,
|
||||||
Search,
|
Search,
|
||||||
Grid,
|
Grid,
|
||||||
|
pagination,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
myPrgmId: myPrgmId,
|
myPrgmId: myPrgmId,
|
||||||
gridName: "rowGrid",
|
gridName: "rowGrid",
|
||||||
loadGrid: false,
|
loadGrid: false,
|
||||||
dataPathMock: {
|
itemsPerPage: 10,
|
||||||
rowGrid: {
|
itemsPerPageArray: [10, 20, 30],
|
||||||
column: [
|
limit: 20,
|
||||||
{ header: "태그", name: "id", headerAlign: "left" },
|
page: 1,
|
||||||
{ header: "배율", name: "lable", headerAlign: "left" },
|
totalCount: 0,
|
||||||
{ header: "설비비", name: "type", headerAlign: "left" },
|
|
||||||
{ header: "설비배분비율", name: "note", headerAlign: "left" },
|
|
||||||
{ header: "금일데이터", name: "note", headerAlign: "left" },
|
|
||||||
{ header: "최종마감시각", name: "date", headerAlign: "left" },
|
|
||||||
],
|
|
||||||
data: dataPathDataExample,
|
|
||||||
defaultRow: dataPathDataExample,
|
|
||||||
option: {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -190,7 +186,10 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
chkIsFind(val) {
|
chkIsFind(val) {
|
||||||
if (val) this.search();
|
if (val) {
|
||||||
|
this.page = 1;
|
||||||
|
this.search();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
chkBlocId() {
|
chkBlocId() {
|
||||||
this.setPageData({ isFind: true });
|
this.setPageData({ isFind: true });
|
||||||
@ -243,10 +242,6 @@ export default {
|
|||||||
columnOptions: {
|
columnOptions: {
|
||||||
resizable: true,
|
resizable: true,
|
||||||
},
|
},
|
||||||
pageOptions: {
|
|
||||||
useClient: true,
|
|
||||||
perPage: 13,
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
@ -261,6 +256,8 @@ export default {
|
|||||||
await this.getRowGridData();
|
await this.getRowGridData();
|
||||||
},
|
},
|
||||||
async getRowGridData() {
|
async getRowGridData() {
|
||||||
|
this.loadGrid = false;
|
||||||
|
|
||||||
if (
|
if (
|
||||||
this.pageData.blocMstrList.length > 0 &&
|
this.pageData.blocMstrList.length > 0 &&
|
||||||
this.pageData.commCdList.length > 0 &&
|
this.pageData.commCdList.length > 0 &&
|
||||||
@ -274,8 +271,25 @@ export default {
|
|||||||
mttCd: this.pageData.commCd, // 검침대상유형
|
mttCd: this.pageData.commCd, // 검침대상유형
|
||||||
mttTp: this.pageData.readObjId, // 검침대상
|
mttTp: this.pageData.readObjId, // 검침대상
|
||||||
readDt: this.pageData.fromDt, // 조회기간
|
readDt: this.pageData.fromDt, // 조회기간
|
||||||
|
limit: this.limit,
|
||||||
|
page: this.page,
|
||||||
|
offset: (this.page - 1) * this.limit, // MariaDB Query에서 직접 계산이 안됨
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const res2 = await this.postApiReturn({
|
||||||
|
apiKey: 'selectReadResultCloseMngPageTotal',
|
||||||
|
resKey: 'cdKindPageTotal',
|
||||||
|
sendParam: {
|
||||||
|
blocId: this.pageData.blocMstrList[this.pageData.blocId].blocId, // 사업장
|
||||||
|
mttCd: this.pageData.commCd, // 검침대상유형
|
||||||
|
mttTp: this.pageData.readObjId, // 검침대상
|
||||||
|
readDt: this.pageData.fromDt, // 조회기간
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
this.totalCount = res2[0].totalcount;
|
||||||
|
|
||||||
this.setGridData({
|
this.setGridData({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
value: res.map((item) => ({
|
value: res.map((item) => ({
|
||||||
@ -325,6 +339,12 @@ export default {
|
|||||||
this.setPageData({ isFind: true });
|
this.setPageData({ isFind: true });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
changeGrid: async function (pageNum, limit) {
|
||||||
|
this.page = pageNum;
|
||||||
|
this.limit = limit;
|
||||||
|
|
||||||
|
this.search();
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -431,13 +451,4 @@ const myColumns = [
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
import { getPathDataExample } from "@/const/const";
|
|
||||||
const dataPathDataExample = getPathDataExample({
|
|
||||||
id: "INCHEON.HVAC.EQP_HT_CH001.UT_CH101.CHI_AMP_1A_PV",
|
|
||||||
lable: "INCHEON 고온 냉동기 101호기 - 호로1",
|
|
||||||
type: "사용",
|
|
||||||
note: "-",
|
|
||||||
date: "2023-01-10 20:02:00",
|
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -546,12 +546,6 @@ export default {
|
|||||||
columnOptions: {
|
columnOptions: {
|
||||||
resizable: true,
|
resizable: true,
|
||||||
},
|
},
|
||||||
rowHeaders: [
|
|
||||||
{
|
|
||||||
type: 'rowNum',
|
|
||||||
align: 'right',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
header: {
|
header: {
|
||||||
height: 37,
|
height: 37,
|
||||||
},
|
},
|
||||||
@ -575,6 +569,7 @@ export default {
|
|||||||
|
|
||||||
const _this = this;
|
const _this = this;
|
||||||
const myColumns = [
|
const myColumns = [
|
||||||
|
{ header: 'No.', name: 'rowSeq', align: 'right', width: 90 },
|
||||||
{
|
{
|
||||||
header: 'FAB',
|
header: 'FAB',
|
||||||
name: 'fabNm',
|
name: 'fabNm',
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="6.5" class="text-right d-flex align-end justify-end align-self-end">
|
<v-col :cols="6.5" class="text-right d-flex align-end justify-end align-self-end">
|
||||||
<!-- 조회버튼 -->
|
<!-- 조회버튼 -->
|
||||||
<a-button icon="file-excel" class="d-inline-flex-1 mr-1" size="large" @click="createExcel()">엑셀</a-button>
|
<a-button type="default" icon="file-excel" class="d-inline-flex-1 mr-1" size="large" @click="createExcel()">엑셀</a-button>
|
||||||
<BtnSearch @click="search" size="large" />
|
<BtnSearch @click="search" size="large" />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
@ -152,16 +152,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row class="pa-1" style="height: 52%; width: 100%">
|
<v-row class="pa-1" style="height: 45%; 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 pt-2">
|
||||||
<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-3"
|
||||||
|
style="height: 75%; overflow: hidden;"
|
||||||
>
|
>
|
||||||
<component
|
<component
|
||||||
:ref="gridName01"
|
:ref="gridName01"
|
||||||
@ -177,12 +178,12 @@
|
|||||||
<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"
|
||||||
|
@ -32,15 +32,19 @@
|
|||||||
</v-row>
|
</v-row>
|
||||||
<v-row ref="contents">
|
<v-row ref="contents">
|
||||||
<v-col :cols="12" >
|
<v-col :cols="12" >
|
||||||
<v-card class="pb-5">
|
<v-card>
|
||||||
<div class="d-flex align-center justify-space-between py-4 px-4">
|
<div class="d-flex align-center justify-space-between py-4 px-4">
|
||||||
<v-card-title class="pa-0 custom-title-4">설비별 에너지 계획 리스트</v-card-title>
|
<v-card-title class="pa-0 custom-title-4">설비별 에너지 계획 리스트</v-card-title>
|
||||||
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
||||||
</div>
|
</div>
|
||||||
<div ref="gridParent" class="px-5" style="min-height: 60vh;">
|
<div ref="gridParent" class="px-5" style="min-height: 50vh;">
|
||||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
|
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
|
||||||
:editorGrid="true" @getRowsData="getRowData" />
|
:editorGrid="true" @getRowsData="getRowData" />
|
||||||
</div>
|
</div>
|
||||||
|
<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"
|
||||||
|
@loadData="changeGrid" />
|
||||||
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
@ -57,7 +61,7 @@ import Grid from '~/components/common/Grid';
|
|||||||
import Utility from '~/plugins/utility';
|
import Utility from '~/plugins/utility';
|
||||||
import Buttons from '~/components/common/button/Buttons';
|
import Buttons from '~/components/common/button/Buttons';
|
||||||
import EnrgUsePlanModiPop from '~/components/common/modal/EnrgUsePlanModiPop';
|
import EnrgUsePlanModiPop from '~/components/common/modal/EnrgUsePlanModiPop';
|
||||||
import DateUtility from '~/plugins/dateUtility';
|
import pagination from '~/components/common/Pagination';
|
||||||
|
|
||||||
let myTitle;
|
let myTitle;
|
||||||
let myPrgmId;
|
let myPrgmId;
|
||||||
@ -86,6 +90,7 @@ export default {
|
|||||||
Grid,
|
Grid,
|
||||||
Buttons,
|
Buttons,
|
||||||
EnrgUsePlanModiPop,
|
EnrgUsePlanModiPop,
|
||||||
|
pagination
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -104,7 +109,11 @@ export default {
|
|||||||
fromDt: new Date().getFullYear(),
|
fromDt: new Date().getFullYear(),
|
||||||
rowKey: null,
|
rowKey: null,
|
||||||
edtingFinishFlag: 'Y',
|
edtingFinishFlag: 'Y',
|
||||||
// gridName: 'rowGrid',
|
itemsPerPage: 10,
|
||||||
|
itemsPerPageArray: [10, 20, 30],
|
||||||
|
limit: 20,
|
||||||
|
page: 1,
|
||||||
|
totalCount: 0,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -134,7 +143,10 @@ export default {
|
|||||||
this.fromDt = val;
|
this.fromDt = val;
|
||||||
},
|
},
|
||||||
chkIsFind(val) {
|
chkIsFind(val) {
|
||||||
if (val) this.search();
|
if (val) {
|
||||||
|
this.page = 1;
|
||||||
|
this.search();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
async selectValue01(val) {
|
async selectValue01(val) {
|
||||||
if (this.initedFlag) {
|
if (this.initedFlag) {
|
||||||
@ -265,7 +277,7 @@ export default {
|
|||||||
gridInit() {
|
gridInit() {
|
||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
let _this = this;
|
let _this = this;
|
||||||
const gridHeight = this.$refs.gridParent.offsetHeight - 50;
|
const gridHeight = this.$refs.gridParent.offsetHeight - 40;
|
||||||
let yyyyCol = this.pageData.fromDt + '년';
|
let yyyyCol = this.pageData.fromDt + '년';
|
||||||
let childCols1 = [];
|
let childCols1 = [];
|
||||||
let myComplexColumns = [
|
let myComplexColumns = [
|
||||||
@ -358,14 +370,14 @@ export default {
|
|||||||
{
|
{
|
||||||
header: 'FAB',
|
header: 'FAB',
|
||||||
name: 'fab',
|
name: 'fab',
|
||||||
width: 100,
|
width: 85,
|
||||||
align: 'left',
|
align: 'left',
|
||||||
// hidden: true,
|
// hidden: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: '공정명',
|
header: '공정명',
|
||||||
name: 'eccNm',
|
name: 'eccNm',
|
||||||
width: 100,
|
width: 150,
|
||||||
align: 'left',
|
align: 'left',
|
||||||
hidden: true,
|
hidden: true,
|
||||||
},
|
},
|
||||||
@ -415,7 +427,7 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '구분',
|
header: '구분',
|
||||||
name: 'gubun',
|
name: 'gubun',
|
||||||
width: 200,
|
width: 150,
|
||||||
align: 'left',
|
align: 'left',
|
||||||
// hidden: true,
|
// hidden: true,
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
@ -447,7 +459,7 @@ export default {
|
|||||||
myColumns.push({
|
myColumns.push({
|
||||||
header: i.toString() + '월',
|
header: i.toString() + '월',
|
||||||
name: qty,
|
name: qty,
|
||||||
width: 80,
|
width: 70,
|
||||||
align: 'right',
|
align: 'right',
|
||||||
editor: 'text',
|
editor: 'text',
|
||||||
formatter: this.numberFormatter,
|
formatter: this.numberFormatter,
|
||||||
@ -500,8 +512,25 @@ export default {
|
|||||||
pastDt: parseInt(this.fromDt) - 1,
|
pastDt: parseInt(this.fromDt) - 1,
|
||||||
eqpmGrpId: this.selectValue03,
|
eqpmGrpId: this.selectValue03,
|
||||||
eccId: this.selectValue01,
|
eccId: this.selectValue01,
|
||||||
|
limit: this.limit,
|
||||||
|
page: this.page,
|
||||||
|
offset: (this.page - 1) * this.limit, // MariaDB Query에서 직접 계산이 안됨
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const res2 = await this.postApiReturn({
|
||||||
|
apiKey: 'selectEnrgUsePlanPageTotal',
|
||||||
|
resKey: 'enrgUsePlanPageTotal',
|
||||||
|
sendParam: {
|
||||||
|
fromDt: this.fromDt,
|
||||||
|
pastDt: parseInt(this.fromDt) - 1,
|
||||||
|
eqpmGrpId: this.selectValue03,
|
||||||
|
eccId: this.selectValue01,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
this.totalCount = res2[0].totalcount;
|
||||||
|
|
||||||
let fabText = this.pageData.eccIdList.filter(item => {
|
let fabText = this.pageData.eccIdList.filter(item => {
|
||||||
return item.value == this.selectValue01;
|
return item.value == this.selectValue01;
|
||||||
})[0]['text'];
|
})[0]['text'];
|
||||||
@ -734,6 +763,12 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
changeGrid: async function (pageNum, limit) {
|
||||||
|
this.page = pageNum;
|
||||||
|
this.limit = limit;
|
||||||
|
|
||||||
|
this.search();
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
const dt = new Date();
|
const dt = new Date();
|
||||||
|
@ -47,13 +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>
|
<v-card>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="v-box"
|
class="v-box"
|
||||||
style="height: 330px; position: relative"
|
style="height: 330px; position: relative"
|
||||||
@ -126,7 +127,6 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
|
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</div>
|
</div>
|
||||||
|
@ -105,8 +105,7 @@
|
|||||||
:gridName="gridName"
|
:gridName="gridName"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
/>
|
/>
|
||||||
|
<div v-if="loadGrid && totalCount > 0" class="pagination-wrapper">
|
||||||
<div class="pagination-wrapper">
|
|
||||||
<pagination
|
<pagination
|
||||||
id="pagination"
|
id="pagination"
|
||||||
:total-count="totalCount"
|
:total-count="totalCount"
|
||||||
@ -201,7 +200,7 @@ export default {
|
|||||||
gridName: "grid01",
|
gridName: "grid01",
|
||||||
|
|
||||||
enrgUseMainIdxDesc: [],
|
enrgUseMainIdxDesc: [],
|
||||||
itemsPerPageArray: [10, 20, 30],
|
itemsPerPageArray: [10, 20, 50],
|
||||||
limit: 10,
|
limit: 10,
|
||||||
page: 1,
|
page: 1,
|
||||||
totalCount: 0,
|
totalCount: 0,
|
||||||
|
@ -210,6 +210,8 @@ const INIT_URL_STATE = {
|
|||||||
// prgmId: "TMP0013" 검침실적마감관리 ems/ReadResultCloseMngPage
|
// prgmId: "TMP0013" 검침실적마감관리 ems/ReadResultCloseMngPage
|
||||||
selectReadResultCloseMng:
|
selectReadResultCloseMng:
|
||||||
'ems/base/ReadResultCloseMngCtr/selectReadResultCloseMng', // 일일검침정보
|
'ems/base/ReadResultCloseMngCtr/selectReadResultCloseMng', // 일일검침정보
|
||||||
|
selectReadResultCloseMngPageTotal:
|
||||||
|
'ems/base/ReadResultCloseMngCtr/selectReadResultCloseMngPageTotal', // 일일검침정보
|
||||||
saveReadResultCloseMngSP:
|
saveReadResultCloseMngSP:
|
||||||
'ems/base/ReadResultCloseMngCtr/saveReadResultCloseMngSP', // 전월 or 일 마감
|
'ems/base/ReadResultCloseMngCtr/saveReadResultCloseMngSP', // 전월 or 일 마감
|
||||||
saveReadResultCloseMngSPMM:
|
saveReadResultCloseMngSPMM:
|
||||||
@ -279,6 +281,7 @@ const INIT_URL_STATE = {
|
|||||||
|
|
||||||
// prgmId: "PRG0020" 배치로그
|
// prgmId: "PRG0020" 배치로그
|
||||||
selectBatchLog: 'comm/base/BatchLogCtr/selectBatchLog', // 배치 로그
|
selectBatchLog: 'comm/base/BatchLogCtr/selectBatchLog', // 배치 로그
|
||||||
|
selectBatchLogPageTotal: 'comm/base/BatchLogCtr/selectBatchLogPageTotal', // 배치 로그
|
||||||
|
|
||||||
// prgmId: "PRG0017" 검침개소 기간별 비교
|
// prgmId: "PRG0017" 검침개소 기간별 비교
|
||||||
selectSameReadPlcTime: 'ems/base/sameReadPlcCtr/selectSameReadPlcTime',
|
selectSameReadPlcTime: 'ems/base/sameReadPlcCtr/selectSameReadPlcTime',
|
||||||
@ -511,6 +514,8 @@ const INIT_URL_STATE = {
|
|||||||
|
|
||||||
// prgmId: "PRG0003" 공지사항
|
// prgmId: "PRG0003" 공지사항
|
||||||
selectPostList: 'comm/base/NoticeMngCtr/selectPostList',
|
selectPostList: 'comm/base/NoticeMngCtr/selectPostList',
|
||||||
|
selectPostData: 'comm/base/NoticeMngCtr/selectPostData',
|
||||||
|
selectPostPageTotal: 'comm/base/NoticeMngCtr/selectPostPageTotal',
|
||||||
deletePostList: 'comm/base/NoticeMngCtr/deletePost',
|
deletePostList: 'comm/base/NoticeMngCtr/deletePost',
|
||||||
|
|
||||||
//prgmId: "PRG0121" 공지사항 게시물 상세조회
|
//prgmId: "PRG0121" 공지사항 게시물 상세조회
|
||||||
@ -899,6 +904,8 @@ const INIT_URL_STATE = {
|
|||||||
//prgmId: PRG0079 에너지사용량계획
|
//prgmId: PRG0079 에너지사용량계획
|
||||||
selectFabCodeList: 'ems/effc/EnrgUsePlanCtr/selectFabCodeList',
|
selectFabCodeList: 'ems/effc/EnrgUsePlanCtr/selectFabCodeList',
|
||||||
selectEnrgUsePlanData: 'ems/effc/EnrgUsePlanCtr/selectEnrgUsePlanData',
|
selectEnrgUsePlanData: 'ems/effc/EnrgUsePlanCtr/selectEnrgUsePlanData',
|
||||||
|
selectEnrgUsePlanPageTotal: 'ems/effc/EnrgUsePlanCtr/selectEnrgUsePlanPageTotal',
|
||||||
|
|
||||||
saveEmsEqpmMmPlanDatas: 'ems/effc/EnrgUsePlanCtr/saveEmsEqpmMmPlanDatas',
|
saveEmsEqpmMmPlanDatas: 'ems/effc/EnrgUsePlanCtr/saveEmsEqpmMmPlanDatas',
|
||||||
|
|
||||||
//prgmId : PRG0080 에너지 사용량 - Total Summary
|
//prgmId : PRG0080 에너지 사용량 - Total Summary
|
||||||
@ -967,4 +974,5 @@ const INIT_URL_STATE = {
|
|||||||
selectTodayNgTopTen: 'ems/base/DashboardCtr/selectTodayNgTopTen',
|
selectTodayNgTopTen: 'ems/base/DashboardCtr/selectTodayNgTopTen',
|
||||||
selectCompareEqpmTGdChart: 'ems/base/DashboardCtr/selectCompareEqpmTGdChart',
|
selectCompareEqpmTGdChart: 'ems/base/DashboardCtr/selectCompareEqpmTGdChart',
|
||||||
selectIssueGdIdxData: 'ems/base/DashboardCtr/selectIssueGdIdxData',
|
selectIssueGdIdxData: 'ems/base/DashboardCtr/selectIssueGdIdxData',
|
||||||
|
selectIssueGdIdxDataPageTotal: 'ems/base/DashboardCtr/selectIssueGdIdxDataPageTotal',
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user