Compare commits
44 Commits
dev-luannv
...
270279b0c2
Author | SHA1 | Date | |
---|---|---|---|
270279b0c2 | |||
9a42291cf4 | |||
2802e93a44 | |||
7d2bcb9496 | |||
ffdc56b8f1 | |||
245444d5fa | |||
541ae86068 | |||
5c43496282 | |||
31413d1e48 | |||
dd24592eca | |||
e59078a19c | |||
bc96d2ae45 | |||
4fd2eac344 | |||
c40352e37c | |||
6583d68ea7 | |||
5859c5d681 | |||
d6dd66c4b3 | |||
f666110a1a | |||
d22b09cc47 | |||
ecfbeb3afa | |||
1ece377457 | |||
335f93e6cf | |||
9979f32f8c | |||
71394443ac | |||
d8c5bd5323 | |||
c9bc9d3186 | |||
a06d2e553d | |||
6a894df6ec | |||
e194557753 | |||
d0572dc07c | |||
ea4910db79 | |||
c636db83bd | |||
6871d6034d | |||
1352223416 | |||
fa68aa31e6 | |||
439079eee8 | |||
93dd46c225 | |||
537a16fbc7 | |||
6f6f19349f | |||
2533d5bb7a | |||
19a634e3a5 | |||
e4331ad79f | |||
8c7a8d5b29 | |||
f80bfc5c71 |
3
assets/images/SwapRight.svg
Normal file
3
assets/images/SwapRight.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M12.4369 8.15117L10.1947 5.30742C10.1538 5.25551 10.1017 5.21353 10.0423 5.18464C9.98285 5.15575 9.91764 5.14071 9.85156 5.14062H8.96562C8.87402 5.14062 8.82344 5.2459 8.87949 5.31836L10.8523 7.82031H2.57812C2.51797 7.82031 2.46875 7.86953 2.46875 7.92969V8.75C2.46875 8.81016 2.51797 8.85938 2.57812 8.85938H12.0924C12.4588 8.85938 12.6625 8.43828 12.4369 8.15117Z" fill="black" fill-opacity="0.45"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 514 B |
3
assets/images/SwapRight_Dark.svg
Normal file
3
assets/images/SwapRight_Dark.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M12.4369 8.15117L10.1947 5.30742C10.1538 5.25551 10.1017 5.21353 10.0423 5.18464C9.98285 5.15575 9.91764 5.14071 9.85156 5.14062H8.96562C8.87402 5.14062 8.82344 5.2459 8.87949 5.31836L10.8523 7.82031H2.57812C2.51797 7.82031 2.46875 7.86953 2.46875 7.92969V8.75C2.46875 8.81016 2.51797 8.85938 2.57812 8.85938H12.0924C12.4588 8.85938 12.6625 8.43828 12.4369 8.15117Z" fill="white" fill-opacity="0.45"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 514 B |
@ -9,6 +9,9 @@
|
|||||||
@import "./common/card.scss";
|
@import "./common/card.scss";
|
||||||
@import "./common/tabs.scss";
|
@import "./common/tabs.scss";
|
||||||
@import "./common/numericInput.scss";
|
@import "./common/numericInput.scss";
|
||||||
|
@import "./common/pagination.scss";
|
||||||
|
@import "./common/editor.scss";
|
||||||
|
|
||||||
|
|
||||||
html,
|
html,
|
||||||
body {
|
body {
|
||||||
@ -441,6 +444,10 @@ a {
|
|||||||
.v-application.#{$theme}-mode {
|
.v-application.#{$theme}-mode {
|
||||||
min-width: 1000px;
|
min-width: 1000px;
|
||||||
|
|
||||||
|
.icon-datepicker-color {
|
||||||
|
color: map-deep-get($config, #{$theme}, "icon-datepicker-color");
|
||||||
|
}
|
||||||
|
|
||||||
.head-logo {
|
.head-logo {
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
}
|
}
|
||||||
@ -947,6 +954,7 @@ a {
|
|||||||
& th,
|
& th,
|
||||||
& td {
|
& td {
|
||||||
height: 48px;
|
height: 48px;
|
||||||
|
color: map-deep-get($config, #{$theme}, "tui-datepicker-calendar-color");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1170,14 +1178,14 @@ a {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.toastui-editor-contents {
|
// .toastui-editor-contents {
|
||||||
* {
|
// * {
|
||||||
color: map-deep-get($config,
|
// color: map-deep-get($config,
|
||||||
#{$theme},
|
// #{$theme},
|
||||||
"tui-editor-contents-color"
|
// "tui-editor-contents-color"
|
||||||
) !important;
|
// ) !important;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
.lnb-logo {
|
.lnb-logo {
|
||||||
color: map-deep-get($config, #{$theme}, "v-dialog-card-text-color");
|
color: map-deep-get($config, #{$theme}, "v-dialog-card-text-color");
|
||||||
|
@ -137,6 +137,12 @@
|
|||||||
color:map-deep-get($config, #{$theme}, "ant-btn-default-color");
|
color:map-deep-get($config, #{$theme}, "ant-btn-default-color");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.ant-btn-popup-default {
|
||||||
|
background:map-deep-get($config, #{$theme}, "ant-btn-popup-bg");
|
||||||
|
color:map-deep-get($config, #{$theme}, "ant-btn-popup-color");
|
||||||
|
border: 1px solid map-deep-get($config, #{$theme}, "ant-btn-popup-border");
|
||||||
|
}
|
||||||
|
|
||||||
&.ant-btn-danger {
|
&.ant-btn-danger {
|
||||||
&.ant-btn-background-ghost {
|
&.ant-btn-background-ghost {
|
||||||
color:map-deep-get($config, #{$theme}, "ant-btn-danger-color");
|
color:map-deep-get($config, #{$theme}, "ant-btn-danger-color");
|
||||||
|
474
assets/scss/common/editor.scss
Normal file
474
assets/scss/common/editor.scss
Normal file
@ -0,0 +1,474 @@
|
|||||||
|
@charset "utf-8";
|
||||||
|
.toastui-editor-dark .toastui-editor-defaultUI {
|
||||||
|
border-color: #424242;
|
||||||
|
color: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-container,
|
||||||
|
.toastui-editor-dark .toastui-editor-ww-container {
|
||||||
|
background-color: #212224;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-defaultUI-toolbar {
|
||||||
|
background-color: #212224;
|
||||||
|
border-bottom-color: #303238;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-toolbar-icons {
|
||||||
|
background-position-y: -49px;
|
||||||
|
border-color: #232428;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-toolbar-icons:not(:disabled):hover {
|
||||||
|
background-color: #36383f;
|
||||||
|
border-color: #36383f;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-toolbar-divider {
|
||||||
|
background-color: #303238;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-tooltip {
|
||||||
|
background-color: #535662;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-tooltip .arrow {
|
||||||
|
background-color: #535662;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-defaultUI-toolbar .scroll-sync::before {
|
||||||
|
color: #8f939f;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-defaultUI-toolbar .scroll-sync.active::before {
|
||||||
|
color: #67ccff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-defaultUI-toolbar .switch {
|
||||||
|
background-color: #2b4455;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-defaultUI-toolbar input:checked + .switch {
|
||||||
|
background-color: #2b4455;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-defaultUI-toolbar .switch::before {
|
||||||
|
background-color: #8f939f;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-defaultUI-toolbar input:checked + .switch::before {
|
||||||
|
background-color: #67ccff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-main .toastui-editor-md-splitter {
|
||||||
|
background-color: #303238;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-mode-switch {
|
||||||
|
border-top-color: #424242;
|
||||||
|
background-color: #212224;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-mode-switch .tab-item {
|
||||||
|
border-color: #424242;
|
||||||
|
background-color: #212224;
|
||||||
|
color: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-mode-switch .tab-item.active {
|
||||||
|
border-top-color: #424242;
|
||||||
|
background-color: #212224;
|
||||||
|
color: #1677FF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup,
|
||||||
|
.toastui-editor-dark .toastui-editor-context-menu {
|
||||||
|
background-color: #121212;
|
||||||
|
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08);
|
||||||
|
border-color: #494c56;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-add-heading ul li:hover {
|
||||||
|
background-color: #36383f;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-body label {
|
||||||
|
color: #9a9da3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-body input[type='text'] {
|
||||||
|
background-color: transparent;
|
||||||
|
color: #eee;
|
||||||
|
border-color: #303238;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-body input[type='text']:focus {
|
||||||
|
outline-color: #67ccff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-body input[type='text'].disabled {
|
||||||
|
color: #969aa5;
|
||||||
|
border-color: #303238;
|
||||||
|
background-color: rgba(48, 50, 56, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-add-image .toastui-editor-tabs .tab-item {
|
||||||
|
border-bottom-color: #292e37;
|
||||||
|
color: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-add-image .toastui-editor-tabs .tab-item:hover {
|
||||||
|
border-bottom-color: #3c424d;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-add-image .toastui-editor-tabs .tab-item.active {
|
||||||
|
color: #67ccff;
|
||||||
|
border-bottom-color: #67ccff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-body .toastui-editor-file-name {
|
||||||
|
border-color: #303238;
|
||||||
|
color: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-body .toastui-editor-file-select-button {
|
||||||
|
border-color: #303238;
|
||||||
|
background-color: #232428;
|
||||||
|
color: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-body .toastui-editor-file-select-button:hover {
|
||||||
|
border-color: #494c56;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark.toastui-editor-defaultUI .toastui-editor-close-button {
|
||||||
|
color: #eee;
|
||||||
|
border-color: #303238;
|
||||||
|
background-color: #232428;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark.toastui-editor-defaultUI .toastui-editor-close-button:hover {
|
||||||
|
border-color: #494c56;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark.toastui-editor-defaultUI .toastui-editor-ok-button {
|
||||||
|
color: #121212;
|
||||||
|
background-color: #67ccff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark.toastui-editor-defaultUI .toastui-editor-ok-button:hover {
|
||||||
|
color: #121212;
|
||||||
|
background-color: #32baff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-add-table .toastui-editor-table-cell {
|
||||||
|
border-color: #303238;
|
||||||
|
background-color: #121212;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-add-table .toastui-editor-table-cell.header {
|
||||||
|
border-color: #303238;
|
||||||
|
background-color: #232428;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-add-table .toastui-editor-table-selection-layer {
|
||||||
|
border-color: rgba(103, 204, 255, 0.4);
|
||||||
|
background-color: rgba(103, 204, 255, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-popup-add-table .toastui-editor-table-description {
|
||||||
|
color: #eee
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-tab-container {
|
||||||
|
background-color: #232428;
|
||||||
|
border-bottom-color: #303238;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-tab-container .tab-item {
|
||||||
|
border-color: #393b42;
|
||||||
|
background-color: #2d2f34;
|
||||||
|
color: #757a86;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-tab-container .tab-item.active {
|
||||||
|
border-bottom-color: #121212;
|
||||||
|
background-color: #121212;
|
||||||
|
color: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-context-menu .menu-group {
|
||||||
|
border-bottom-color: #303238;
|
||||||
|
color: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-context-menu .menu-item span::before {
|
||||||
|
background-position-y: -126px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-context-menu li:not(.disabled):hover {
|
||||||
|
background-color: #36383f;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-context-menu li.disabled {
|
||||||
|
color: #969aa5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-dropdown-toolbar {
|
||||||
|
border-color: #494c56;
|
||||||
|
background-color: #232428;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .ProseMirror,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents p,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents h1,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents h2,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents h3,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents h4,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents h5,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents h6 {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents h1,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents h2 {
|
||||||
|
border-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents del {
|
||||||
|
color: #777980;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents blockquote {
|
||||||
|
border-color: #303135;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents blockquote p,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents blockquote ul,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents blockquote ol {
|
||||||
|
color: #777980;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents pre {
|
||||||
|
background-color: #232428;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents pre code {
|
||||||
|
background-color: transparent;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents code {
|
||||||
|
color: #c1798b;
|
||||||
|
background-color: #35262a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents div {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-ww-code-block-language {
|
||||||
|
border-color: #303238;
|
||||||
|
background-color: #121212;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-ww-code-block-language input {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents .toastui-editor-ww-code-block:after {
|
||||||
|
background-color: #232428;
|
||||||
|
border: 1px solid #393b42;
|
||||||
|
color: #eee;
|
||||||
|
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuugiOydtOyWtF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzAgMzAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMwIDMwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I2ZmZjt9Cjwvc3R5bGU+CjxnPgoJPGc+CgkJPGc+CgkJCTxnPgoJCQkJPGc+CgkJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTE1LjUsMTIuNWwyLDJMMTIsMjBoLTJ2LTJMMTUuNSwxMi41eiBNMTgsMTBsMiwybC0xLjUsMS41bC0yLTJMMTgsMTB6Ii8+CgkJCQk8L2c+CgkJCTwvZz4KCQk8L2c+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==');
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents .toastui-editor-custom-block-editor {
|
||||||
|
background: #392d31;
|
||||||
|
color: #fff;
|
||||||
|
border-color: #327491;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-custom-block.ProseMirror-selectednode .toastui-editor-custom-block-view {
|
||||||
|
color: #fff;
|
||||||
|
border-color: #327491;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-custom-block-view button {
|
||||||
|
background-color: #232428;
|
||||||
|
border-color: #393b42;
|
||||||
|
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuugiOydtOyWtF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzAgMzAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMwIDMwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I2ZmZjt9Cjwvc3R5bGU+CjxnPgoJPGc+CgkJPGc+CgkJCTxnPgoJCQkJPGc+CgkJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTE1LjUsMTIuNWwyLDJMMTIsMjBoLTJ2LTJMMTUuNSwxMi41eiBNMTgsMTBsMiwybC0xLjUsMS41bC0yLTJMMTgsMTB6Ii8+CgkJCQk8L2c+CgkJCTwvZz4KCQk8L2c+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==');
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-custom-block-view button:hover {
|
||||||
|
background-color: #232428;
|
||||||
|
border-color: #595c68;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-custom-block-view .info {
|
||||||
|
color: #65acca;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents table {
|
||||||
|
border-color: #303238;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents table th,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents table td {
|
||||||
|
border-color: #303238;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents table th {
|
||||||
|
background-color: #3a3c42;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents table td,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents table td p {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents td.toastui-editor-cell-selected {
|
||||||
|
background-color: rgba(103, 204, 255, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents th.toastui-editor-cell-selected {
|
||||||
|
background-color: rgba(103, 204, 255, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark table.ProseMirror-selectednode {
|
||||||
|
outline-color: #67ccff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .html-block.ProseMirror-selectednode {
|
||||||
|
outline-color: #67ccff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents ul,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents menu,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents ol,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents dir {
|
||||||
|
color: #55575f;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents ul > li::before {
|
||||||
|
background-color: #55575f;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents hr {
|
||||||
|
border-color: #55575f;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents a {
|
||||||
|
color: #4b96e6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents a:hover {
|
||||||
|
color: #1f70de;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents .image-link:hover::before {
|
||||||
|
border-color: #393b42;
|
||||||
|
background-color: #232428;
|
||||||
|
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj4KICAgICAgICA8ZyBzdHJva2U9IiNFRUUiIHN0cm9rZS13aWR0aD0iMS41Ij4KICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICA8Zz4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNy42NjUgMTUuMDdsLTEuODE5LS4wMDJjLTEuNDg2IDAtMi42OTItMS4yMjgtMi42OTItMi43NDR2LS4xOTJjMC0xLjUxNSAxLjIwNi0yLjc0NCAyLjY5Mi0yLjc0NGgzLjg0NmMxLjQ4NyAwIDIuNjkyIDEuMjI5IDIuNjkyIDIuNzQ0di4xOTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMDQ1IC0xNzQzKSB0cmFuc2xhdGUoMTA0MCAxNzM4KSB0cmFuc2xhdGUoNSA1KSBzY2FsZSgxIC0xKSByb3RhdGUoNDUgMzcuMjkzIDApIi8+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyLjMyNiA0LjkzNGwxLjgyMi4wMDJjMS40ODcgMCAyLjY5MyAxLjIyOCAyLjY5MyAyLjc0NHYuMTkyYzAgMS41MTUtMS4yMDYgMi43NDQtMi42OTMgMi43NDRoLTMuODQ1Yy0xLjQ4NyAwLTIuNjkyLTEuMjI5LTIuNjkyLTIuNzQ0VjcuNjgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMDQ1IC0xNzQzKSB0cmFuc2xhdGUoMTA0MCAxNzM4KSB0cmFuc2xhdGUoNSA1KSBzY2FsZSgxIC0xKSByb3RhdGUoNDUgMzAuOTk2IDApIi8+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo=');
|
||||||
|
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08);
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents .task-list-item::before {
|
||||||
|
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgc3Ryb2tlPSIjNTU1NzVGIj4KICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAzMCAtMzE2KSB0cmFuc2xhdGUoNzg4IDE5MikgdHJhbnNsYXRlKDI0MiAxMjQpIj4KICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD0iMTciIGhlaWdodD0iMTciIHg9Ii41IiB5PSIuNSIgcng9IjIiLz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==');
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents .task-list-item.checked::before {
|
||||||
|
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgZmlsbD0iIzRCOTZFNiI+CiAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE2IDBjMS4xMDUgMCAyIC44OTUgMiAydjE0YzAgMS4xMDUtLjg5NSAyLTIgMkgyYy0xLjEwNSAwLTItLjg5NS0yLTJWMkMwIC44OTUuODk1IDAgMiAwaDE0em0tMS43OTMgNS4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNy41IDEwLjU4NSA1LjIwNyA4LjI5M2wtLjA5NC0uMDgzYy0uMzkyLS4zMDUtLjk2LS4yNzgtMS4zMi4wODMtLjM5LjM5LS4zOSAxLjAyNCAwIDEuNDE0bDMgMyAuMDk0LjA4M2MuMzkyLjMwNS45Ni4yNzggMS4zMi0uMDgzbDYtNiAuMDgzLS4wOTRjLjMwNS0uMzkyLjI3OC0uOTYtLjA4My0xLjMyeiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwNTAgLTI5NikgdHJhbnNsYXRlKDc4OCAxOTIpIHRyYW5zbGF0ZSgyNjIgMTA0KSIvPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K');
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-delimiter,
|
||||||
|
.toastui-editor-dark .toastui-editor-md-code.toastui-editor-md-delimiter,
|
||||||
|
.toastui-editor-dark .toastui-editor-md-thematic-break,
|
||||||
|
.toastui-editor-dark .toastui-editor-md-link,
|
||||||
|
.toastui-editor-dark .toastui-editor-md-table,
|
||||||
|
.toastui-editor-dark .toastui-editor-md-block-quote {
|
||||||
|
color: #55575f;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-meta,
|
||||||
|
.toastui-editor-dark .toastui-editor-md-html {
|
||||||
|
color: #55575f;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-link.toastui-editor-md-link-url.toastui-editor-md-marked-text {
|
||||||
|
color: #777980;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-block-quote .toastui-editor-md-marked-text,
|
||||||
|
.toastui-editor-dark .toastui-editor-md-list-item .toastui-editor-md-meta {
|
||||||
|
color: #b3b5bc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-link.toastui-editor-md-link-desc.toastui-editor-md-marked-text,
|
||||||
|
.toastui-editor-dark .toastui-editor-md-list-item-style.toastui-editor-md-list-item-odd {
|
||||||
|
color: #4b96e6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-list-item-style.toastui-editor-md-list-item-even {
|
||||||
|
color: #ef6767;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-table .toastui-editor-md-table-cell {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-code.toastui-editor-md-marked-text {
|
||||||
|
color: #c1798b;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-code {
|
||||||
|
background-color: #35262a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-code-block-line-background {
|
||||||
|
background-color: #232428;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-code-block .toastui-editor-md-meta {
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-custom-block {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-custom-block-line-background {
|
||||||
|
background-color: #392d31;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-custom-block .toastui-editor-md-delimiter {
|
||||||
|
color: #327491;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-md-custom-block .toastui-editor-md-meta {
|
||||||
|
color: #65acca;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents .toastui-editor-md-preview-highlight::after {
|
||||||
|
background-color: rgba(255, 250, 193, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents th.toastui-editor-md-preview-highlight,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents td.toastui-editor-md-preview-highlight {
|
||||||
|
background-color: rgba(255, 250, 193, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents th.toastui-editor-md-preview-highlight {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents th.toastui-editor-md-preview-highlight,
|
||||||
|
.toastui-editor-dark .toastui-editor-contents td.toastui-editor-md-preview-highlight {
|
||||||
|
background-color: rgba(255, 250, 193, 0.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-dark .toastui-editor-contents .toastui-editor-md-preview-highlight::after {
|
||||||
|
background-color: rgba(255, 250, 193, 0.25);
|
||||||
|
}
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
.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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -358,7 +358,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"
|
||||||
|
@ -50,6 +50,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.v-input__custom {
|
.v-input__custom {
|
||||||
.v-input__slot {
|
.v-input__slot {
|
||||||
|
|
||||||
@ -149,6 +150,11 @@
|
|||||||
.v-input {
|
.v-input {
|
||||||
margin-top: 0 !important;
|
margin-top: 0 !important;
|
||||||
padding-top: 0 !important;
|
padding-top: 0 !important;
|
||||||
|
&.v-text-field--outlined {
|
||||||
|
fieldset {
|
||||||
|
top: -4px
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.v-input__append-inner {
|
.v-input__append-inner {
|
||||||
@ -241,9 +247,16 @@ input[type="checkbox"] {
|
|||||||
.v-application.#{$theme}-mode {
|
.v-application.#{$theme}-mode {
|
||||||
|
|
||||||
.ant-checkbox-wrapper {
|
.ant-checkbox-wrapper {
|
||||||
|
.ant-checkbox {
|
||||||
|
.ant-checkbox-inner {
|
||||||
|
background-color: map-deep-get($config, #{$theme}, "ant-checkbox-bg"); // background for unchecked checkbox
|
||||||
|
border-color: map-deep-get($config, #{$theme}, "ant-checkbox-border");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.ant-checkbox-checked {
|
.ant-checkbox-checked {
|
||||||
.ant-checkbox-inner {
|
.ant-checkbox-inner {
|
||||||
background: map-deep-get($config, #{$theme}, "ant-btn-primary-bg");
|
background: map-deep-get($config, #{$theme}, "ant-btn-primary-bg"); // background for checked checkbox
|
||||||
border-color:map-deep-get($config, #{$theme}, "ant-btn-primary-bg");
|
border-color:map-deep-get($config, #{$theme}, "ant-btn-primary-bg");
|
||||||
color:map-deep-get($config, #{$theme}, "ant-btn-primary-color");
|
color:map-deep-get($config, #{$theme}, "ant-btn-primary-color");
|
||||||
|
|
||||||
@ -442,7 +455,7 @@ input[type="checkbox"] {
|
|||||||
transform: none;
|
transform: none;
|
||||||
|
|
||||||
&.mdi:before {
|
&.mdi:before {
|
||||||
font-size: 16px;
|
font-size: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@if $theme ==dark {
|
@if $theme ==dark {
|
||||||
|
43
assets/scss/common/pagination.scss
Normal file
43
assets/scss/common/pagination.scss
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
@each $theme in dark, light {
|
||||||
|
|
||||||
|
// @include theme($theme);
|
||||||
|
.v-application.#{$theme}-mode {
|
||||||
|
|
||||||
|
.ant-pagination-item,
|
||||||
|
.ant-pagination-prev,
|
||||||
|
.ant-pagination-next {
|
||||||
|
// border: none !important;
|
||||||
|
// box-shadow: none !important;
|
||||||
|
background-color: map-deep-get($config, #{$theme}, "paging-background") !important;
|
||||||
|
color: map-deep-get($config, #{$theme}, "paging-text") !important;
|
||||||
|
border: 0.5px solid #424242;
|
||||||
|
|
||||||
|
.ant-pagination-item-link {
|
||||||
|
border: none;
|
||||||
|
background-color: map-deep-get($config, #{$theme}, "paging-background") !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-pagination-item-active {
|
||||||
|
border-color: #1890ff !important;
|
||||||
|
color: #1890ff !important
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-pagination-options-size-changer {
|
||||||
|
.ant-select-selection {
|
||||||
|
border: 0.5px solid #424242;
|
||||||
|
background: map-deep-get($config, #{$theme}, "paging-background") !important;
|
||||||
|
color: map-deep-get($config, #{$theme}, "paging-text") !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-select-arrow {
|
||||||
|
color: map-deep-get($config, #{$theme}, "paging-text") !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-select-selection__rendered {
|
||||||
|
margin-right: 30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -19,6 +19,13 @@
|
|||||||
border-color: currentColor;
|
border-color: currentColor;
|
||||||
// border-color: map-deep-get($config, #{$theme}, "tui-datepicker-border-color");
|
// border-color: map-deep-get($config, #{$theme}, "tui-datepicker-border-color");
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
border-color: map-deep-get($config, #{$theme}, "v-input-fieldset-hover-color" ) !important;
|
||||||
|
}
|
||||||
|
&:has(.v-input--is-focused){
|
||||||
|
border-width: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
&.datepicker-large {
|
&.datepicker-large {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
@ -59,6 +66,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.v-icon {
|
||||||
|
color: map-deep-get($config, #{$theme}, "v-icon-chevron-down") !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.v-input__custom {
|
.v-input__custom {
|
||||||
|
@ -110,11 +110,11 @@ $config: (
|
|||||||
tui-grid-border-horziontal-color: #212224,
|
tui-grid-border-horziontal-color: #212224,
|
||||||
tui-grid-border-vertical-color: #FFFFFF0F,
|
tui-grid-border-vertical-color: #FFFFFF0F,
|
||||||
tui-grid-cell-backgroundColor: #212224,
|
tui-grid-cell-backgroundColor: #212224,
|
||||||
tui-grid-cell-color: #FFFFFFA6,
|
tui-grid-cell-color: #FFFFFFD9,
|
||||||
tui-grid-cell-insert-color: #13636c,
|
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: #13636c,
|
||||||
tui-grid-cell-removed-color: #f6637b,
|
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,
|
||||||
v-tabs-items-border-color: #FFFFFF0F,
|
v-tabs-items-border-color: #FFFFFF0F,
|
||||||
@ -177,6 +177,14 @@ $config: (
|
|||||||
v-header-border: #424242,
|
v-header-border: #424242,
|
||||||
v-chart-border: #424242,
|
v-chart-border: #424242,
|
||||||
v-sidebar-border: #303030,
|
v-sidebar-border: #303030,
|
||||||
|
ant-checkbox-bg: #212224,
|
||||||
|
ant-checkbox-border: #424242,
|
||||||
|
ant-btn-popup-bg: #212224,
|
||||||
|
ant-btn-popup-color: #FFFFFFD9,
|
||||||
|
ant-btn-popup-border: #424242,
|
||||||
|
paging-background: #212224,
|
||||||
|
paging-text: #FFFFFFD9,
|
||||||
|
icon-datepicker-color: #FFFFFF73,
|
||||||
),
|
),
|
||||||
light: (w-g5: $--color-gray_555,
|
light: (w-g5: $--color-gray_555,
|
||||||
g5-w: $--color-white,
|
g5-w: $--color-white,
|
||||||
@ -317,5 +325,13 @@ $config: (
|
|||||||
v-header-border: #D9D9D9,
|
v-header-border: #D9D9D9,
|
||||||
v-chart-border: #D9D9D9,
|
v-chart-border: #D9D9D9,
|
||||||
v-sidebar-border: #F0F0F0,
|
v-sidebar-border: #F0F0F0,
|
||||||
|
ant-checkbox-bg: #FFFFFF,
|
||||||
|
ant-checkbox-border: #D9D9D9,
|
||||||
|
ant-btn-popup-bg: #FFFFFF,
|
||||||
|
ant-btn-popup-color: #000000E0,
|
||||||
|
ant-btn-popup-border: #D9D9D9,
|
||||||
|
paging-background: #FFFFFF,
|
||||||
|
paging-text: #000000E0,
|
||||||
|
icon-datepicker-color: #00000073,
|
||||||
),
|
),
|
||||||
);
|
);
|
@ -1,14 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<v-row class="search-box" align="center" no-gutters>
|
<v-row class="search-box" align="center" no-gutters>
|
||||||
<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 v-if="iconShow" small :class="['mr-1', required ? 'icon-orange' : 'icon-blue']">$icoBulletPoint</v-icon>
|
<v-icon v-if="iconShow" small :class="['mr-1', required ? 'icon-orange' : 'icon-blue']">$icoBulletPoint</v-icon>
|
||||||
{{ label }}
|
{{ label }}
|
||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="label ? textCols : ''">
|
<v-col :cols="label ? textCols : ''">
|
||||||
|
|
||||||
|
|
||||||
<a-checkbox v-model="chkValue" :disabled="disabledFlag" :readonly="readonly || false"
|
<a-checkbox v-model="chkValue" :disabled="disabledFlag" :readonly="readonly || false"
|
||||||
:required="required || false" @change="modifyValue">
|
:required="required || false" @change="modifyValue">
|
||||||
</a-checkbox>
|
</a-checkbox>
|
||||||
|
@ -19,15 +19,18 @@
|
|||||||
readonly
|
readonly
|
||||||
outlined
|
outlined
|
||||||
>
|
>
|
||||||
<template #append >
|
<!-- <template #append >
|
||||||
<v-icon size="20" v-show="!isRange">$icoCalendar</v-icon>
|
<v-icon size="20" v-show="!isRange">$icoCalendar</v-icon>
|
||||||
|
</template> -->
|
||||||
|
<template v-slot:append>
|
||||||
|
<a-icon v-show="!isRange" class="v-icon" type="calendar" style="width: 14px; height: 14px;" />
|
||||||
</template>
|
</template>
|
||||||
<template #append-outer>
|
<template #append-outer>
|
||||||
<div ref="startpicker-container" id="startpicker-container"></div>
|
<div ref="startpicker-container" id="startpicker-container"></div>
|
||||||
</template>
|
</template>
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
<div v-if="isRange" class="mx-3" :style="{ lineHeight: 0 }">
|
<div v-if="isRange" class="mx-3" :style="{ lineHeight: 0 }">
|
||||||
<img :src="arrowIcon" alt="">
|
<img :src="arrowIcon">
|
||||||
</div>
|
</div>
|
||||||
<v-text-field
|
<v-text-field
|
||||||
v-show="isRange"
|
v-show="isRange"
|
||||||
@ -40,7 +43,9 @@
|
|||||||
outlined
|
outlined
|
||||||
>
|
>
|
||||||
<template #append>
|
<template #append>
|
||||||
<v-icon size="20">$icoCalendar</v-icon>
|
<div class="pr-1">
|
||||||
|
<a-icon class="v-icon" type="calendar" style="width: 14px; height: 14px;" />
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template #append-outer>
|
<template #append-outer>
|
||||||
<div ref="endpicker-container" id="endpicker-container"></div>
|
<div ref="endpicker-container" id="endpicker-container"></div>
|
||||||
@ -209,9 +214,9 @@ export default {
|
|||||||
},
|
},
|
||||||
arrowIcon() {
|
arrowIcon() {
|
||||||
if(this.isDarkMode){
|
if(this.isDarkMode){
|
||||||
return require('@/assets/images/arrow_datepicker_dm.png');
|
return require('@/assets/images/SwapRight_Dark.svg');
|
||||||
}
|
}
|
||||||
return require('@/assets/images/arrow_datepicker.png');
|
return require('@/assets/images/SwapRight.svg');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -426,7 +431,7 @@ export default {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "@/assets/scss/datepicker.scss";
|
// @import "@/assets/scss/datepicker.scss";
|
||||||
|
|
||||||
::v-deep {
|
::v-deep {
|
||||||
.tui-timepicker-row {
|
.tui-timepicker-row {
|
||||||
|
@ -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>
|
||||||
@ -91,9 +77,9 @@ export default {
|
|||||||
require: false,
|
require: false,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
isRangeOption:{
|
isRangeOption: {
|
||||||
type:Boolean,
|
type: Boolean,
|
||||||
require:false,
|
require: false,
|
||||||
default: true
|
default: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -177,21 +163,23 @@ export default {
|
|||||||
this.myOptions.viewFormat,
|
this.myOptions.viewFormat,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
toDtChange(){
|
toDtChange() {
|
||||||
return {
|
return {
|
||||||
isCheck:this.searchParam.isCheck ,
|
isCheck: this.searchParam.isCheck,
|
||||||
toDt : Utility.setFormatDate(
|
toDt: Utility.setFormatDate(
|
||||||
this.searchParam.toDt,
|
this.searchParam.toDt,
|
||||||
this.myOptions.viewFormat,
|
this.myOptions.viewFormat,
|
||||||
)};
|
)
|
||||||
|
};
|
||||||
},
|
},
|
||||||
fromDtChange(){
|
fromDtChange() {
|
||||||
return {
|
return {
|
||||||
isCheck:this.searchParam.isCheck ,
|
isCheck: this.searchParam.isCheck,
|
||||||
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
|
||||||
@ -205,10 +193,10 @@ 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: {
|
||||||
@ -242,24 +230,24 @@ export default {
|
|||||||
this.endDatepickerInstance.setDate(new Date(newVal));
|
this.endDatepickerInstance.setDate(new Date(newVal));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
fromDtChange:{
|
fromDtChange: {
|
||||||
deep:true,
|
deep: true,
|
||||||
handler(){
|
handler() {
|
||||||
if(this.fromDtChange.isCheck){
|
if (this.fromDtChange.isCheck) {
|
||||||
this.fromDtChanged(this.fromDtChange.fromDt);
|
this.fromDtChanged(this.fromDtChange.fromDt);
|
||||||
this.setPageData({
|
this.setPageData({
|
||||||
isCheck : false
|
isCheck: false
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
toDtChange:{
|
toDtChange: {
|
||||||
deep:true,
|
deep: true,
|
||||||
handler(){
|
handler() {
|
||||||
if(this.toDtChange.isCheck){
|
if (this.toDtChange.isCheck) {
|
||||||
this.toDtChanged(this.toDtChange.toDt);
|
this.toDtChanged(this.toDtChange.toDt);
|
||||||
this.setPageData({
|
this.setPageData({
|
||||||
isCheck : false
|
isCheck: false
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -370,7 +358,7 @@ export default {
|
|||||||
if (
|
if (
|
||||||
(myRange > rangeGap && compareDt.isAfter(defaultDt)) ||
|
(myRange > rangeGap && compareDt.isAfter(defaultDt)) ||
|
||||||
defaultDt.format(this.myOptions.sendFormat) ===
|
defaultDt.format(this.myOptions.sendFormat) ===
|
||||||
compareDt.format(this.myOptions.sendFormat)
|
compareDt.format(this.myOptions.sendFormat)
|
||||||
) {
|
) {
|
||||||
// if(this.cmCycleFlag){
|
// if(this.cmCycleFlag){
|
||||||
this.setPageData({ isFind: true });
|
this.setPageData({ isFind: true });
|
||||||
@ -400,7 +388,7 @@ export default {
|
|||||||
if (
|
if (
|
||||||
(myRange > rangeGap && defaultDt.isAfter(compareDt)) ||
|
(myRange > rangeGap && defaultDt.isAfter(compareDt)) ||
|
||||||
defaultDt.format(this.myOptions.sendFormat) ===
|
defaultDt.format(this.myOptions.sendFormat) ===
|
||||||
compareDt.format(this.myOptions.sendFormat)
|
compareDt.format(this.myOptions.sendFormat)
|
||||||
) {
|
) {
|
||||||
this.setPageData({ isFind: true });
|
this.setPageData({ isFind: true });
|
||||||
} else {
|
} else {
|
||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
@dblclick="dblClick"
|
@dblclick="dblClick"
|
||||||
@mouseover="mouseoverEvent"
|
@mouseover="mouseoverEvent"
|
||||||
@mouseout="mouseoutEvent"
|
@mouseout="mouseoutEvent"
|
||||||
@mousedown="onMousedown"
|
|
||||||
@focusChange="focusChangeEvt"
|
@focusChange="focusChangeEvt"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
@ -159,7 +158,7 @@ export default {
|
|||||||
}, 500);
|
}, 500);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
created() {},
|
created() { },
|
||||||
async mounted() {
|
async mounted() {
|
||||||
// console.log(this.dataPath);
|
// console.log(this.dataPath);
|
||||||
if (this.gridName) {
|
if (this.gridName) {
|
||||||
@ -167,9 +166,9 @@ export default {
|
|||||||
|
|
||||||
this.scrollBody = document
|
this.scrollBody = document
|
||||||
.getElementsByClassName('tui-grid-rside-area')
|
.getElementsByClassName('tui-grid-rside-area')
|
||||||
[
|
[
|
||||||
document.getElementsByClassName('tui-grid-rside-area').length - 1
|
document.getElementsByClassName('tui-grid-rside-area').length - 1
|
||||||
].getElementsByClassName('tui-grid-body-area')[0];
|
].getElementsByClassName('tui-grid-body-area')[0];
|
||||||
|
|
||||||
this.scrollBody.addEventListener('scroll', e => {
|
this.scrollBody.addEventListener('scroll', e => {
|
||||||
this.gridScrollTop = e.target.scrollTop;
|
this.gridScrollTop = e.target.scrollTop;
|
||||||
@ -268,15 +267,7 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onMousedown(evt) {
|
|
||||||
this.handleSelectedRow(evt);
|
|
||||||
},
|
|
||||||
focusChangeEvt(e) {
|
focusChangeEvt(e) {
|
||||||
if(e.rowKey === 0) {
|
|
||||||
this.handleSelectedRow(e);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
handleSelectedRow(e) {
|
|
||||||
// console.log('focusChangeEvt1...')
|
// console.log('focusChangeEvt1...')
|
||||||
if (this.preventFocusChangeEvent(e)) {
|
if (this.preventFocusChangeEvent(e)) {
|
||||||
// console.log('prevent focusChangeEvt')
|
// console.log('prevent focusChangeEvt')
|
||||||
@ -615,18 +606,20 @@ export default {
|
|||||||
list.map(item => this.gridInstance.invoke('check', item));
|
list.map(item => this.gridInstance.invoke('check', item));
|
||||||
},
|
},
|
||||||
refreshLayout() {
|
refreshLayout() {
|
||||||
// console.log("---------DEBUG---refreshLayout: ");
|
setTimeout(() => {
|
||||||
this.gridInstance.invoke('refreshLayout');
|
this.gridInstance.invoke('refreshLayout');
|
||||||
|
}, 150);
|
||||||
|
// this.gridInstance.invoke('refreshLayout');
|
||||||
},
|
},
|
||||||
refreshGrid(){
|
refreshGrid() {
|
||||||
// console.log("refreshLayout",this.$refs['tuigrid' + this.gridName])
|
// console.log("refreshLayout",this.$refs['tuigrid' + this.gridName])
|
||||||
var store = this.$refs['tuigrid' + this.gridName].gridInstance.store;
|
var store = this.$refs['tuigrid' + this.gridName].gridInstance.store;
|
||||||
var containerEl = this.$refs['tuigrid' + this.gridName].$el;
|
var containerEl = this.$refs['tuigrid' + this.gridName].$el;
|
||||||
// var containerEl = document.querySelector('.tui-grid-container')
|
// var containerEl = document.querySelector('.tui-grid-container')
|
||||||
var parentEl = containerEl.parentElement;
|
var parentEl = containerEl.parentElement;
|
||||||
|
|
||||||
// console.log("---------DEBUG---containerEl: ",containerEl);
|
// console.log("---------DEBUG---containerEl: ",containerEl);
|
||||||
// console.log('---------DEBUG---parentEl: ', parentEl)
|
// console.log('---------DEBUG---parentEl: ', parentEl)
|
||||||
// function refreshLayout(store, containerEl, parentEl) {
|
// function refreshLayout(store, containerEl, parentEl) {
|
||||||
var dimension = store.dimension;
|
var dimension = store.dimension;
|
||||||
var autoWidth = dimension.autoWidth, fitToParentHeight = dimension.fitToParentHeight;
|
var autoWidth = dimension.autoWidth, fitToParentHeight = dimension.fitToParentHeight;
|
||||||
@ -645,35 +638,35 @@ export default {
|
|||||||
// console.log("parentEl.clientHeight" , parentEl.clientHeight)
|
// console.log("parentEl.clientHeight" , parentEl.clientHeight)
|
||||||
// console.log("clientHeight : ",clientHeight);
|
// console.log("clientHeight : ",clientHeight);
|
||||||
if (parentEl && parentEl.clientHeight !== clientHeight) {
|
if (parentEl && parentEl.clientHeight !== clientHeight) {
|
||||||
var _b = getComputedStyle(parentEl), paddingTop = _b.paddingTop, paddingBottom = _b.paddingBottom;
|
var _b = getComputedStyle(parentEl), paddingTop = _b.paddingTop, paddingBottom = _b.paddingBottom;
|
||||||
this.setHeight(store, parentEl.clientHeight - (parseFloat(paddingTop) + parseFloat(paddingBottom)));
|
this.setHeight(store, parentEl.clientHeight - (parseFloat(paddingTop) + parseFloat(paddingBottom)));
|
||||||
}
|
}
|
||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
setOffsetTop(store, offsetTop) {
|
setOffsetTop(store, offsetTop) {
|
||||||
// console.log("---------DEBUG---setOffsetTop: ");
|
// console.log("---------DEBUG---setOffsetTop: ");
|
||||||
store.dimension.offsetTop = offsetTop;
|
store.dimension.offsetTop = offsetTop;
|
||||||
},
|
},
|
||||||
setWidth(_a, width, autoWidth) {
|
setWidth(_a, width, autoWidth) {
|
||||||
// console.log("---------DEBUG---setWidth: ");
|
// console.log("---------DEBUG---setWidth: ");
|
||||||
var dimension = _a.dimension;
|
var dimension = _a.dimension;
|
||||||
dimension.autoWidth = autoWidth;
|
dimension.autoWidth = autoWidth;
|
||||||
dimension.width = width;
|
dimension.width = width;
|
||||||
},
|
},
|
||||||
setHeaderHeight(store, height) {
|
setHeaderHeight(store, height) {
|
||||||
// console.log("---------DEBUG---setHeaderHeight: ");
|
// console.log("---------DEBUG---setHeaderHeight: ");
|
||||||
store.dimension.headerHeight = height;
|
store.dimension.headerHeight = height;
|
||||||
},
|
},
|
||||||
setOffsetLeft(store, offsetLeft) {
|
setOffsetLeft(store, offsetLeft) {
|
||||||
// console.log("---------DEBUG---setOffsetLeft: ");
|
// console.log("---------DEBUG---setOffsetLeft: ");
|
||||||
store.dimension.offsetLeft = offsetLeft;
|
store.dimension.offsetLeft = offsetLeft;
|
||||||
},
|
},
|
||||||
setHeight(_a,height){
|
setHeight(_a, height) {
|
||||||
// console.log("---------DEBUG---setHeight: ");
|
// console.log("---------DEBUG---setHeight: ");
|
||||||
var dimension = _a.dimension;
|
var dimension = _a.dimension;
|
||||||
var headerHeight = dimension.headerHeight, summaryHeight = dimension.summaryHeight, tableBorderWidth = dimension.tableBorderWidth;
|
var headerHeight = dimension.headerHeight, summaryHeight = dimension.summaryHeight, tableBorderWidth = dimension.tableBorderWidth;
|
||||||
dimension.bodyHeight = height - headerHeight - summaryHeight - tableBorderWidth;
|
dimension.bodyHeight = height - headerHeight - summaryHeight - tableBorderWidth;
|
||||||
},
|
},
|
||||||
sendSelectedRowData(eventRowKey) {
|
sendSelectedRowData(eventRowKey) {
|
||||||
if (this.selectedRowDataWatchFlag) {
|
if (this.selectedRowDataWatchFlag) {
|
||||||
var rowKey =
|
var rowKey =
|
||||||
|
93
components/common/Pagination.vue
Normal file
93
components/common/Pagination.vue
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
|
||||||
|
<template>
|
||||||
|
<div class="custom-pagination">
|
||||||
|
<a-pagination
|
||||||
|
:current="pageNum"
|
||||||
|
:total="totalCount"
|
||||||
|
:page-size="itemsPerPage"
|
||||||
|
:show-size-changer="useLimit"
|
||||||
|
:page-size-options="itemsPerPageArray.map(String)"
|
||||||
|
@change="handlePageChange"
|
||||||
|
@showSizeChange="changePageLeng"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
useLimit: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
totalCount: {
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
|
pageNum: {
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
|
limit: {
|
||||||
|
type: Number,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
|
itemsPerPageArray: {
|
||||||
|
type: Array,
|
||||||
|
default: () => [20, 50, 100],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
moveToPage: '',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
page: function() {
|
||||||
|
return this.numberOfPages + '-' + this.lastPage;
|
||||||
|
},
|
||||||
|
lastPage: function() {
|
||||||
|
//grid data가 없을 경우 1 리턴
|
||||||
|
if (this.totalCount == 0) return 1;
|
||||||
|
|
||||||
|
let pageLength = Math.floor(this.totalCount / this.itemsPerPage);
|
||||||
|
if (this.totalCount % this.itemsPerPage > 0) {
|
||||||
|
pageLength++;
|
||||||
|
}
|
||||||
|
return pageLength;
|
||||||
|
},
|
||||||
|
itemsPerPage: function() {
|
||||||
|
return this.limit;
|
||||||
|
},
|
||||||
|
numberOfPages: function() {
|
||||||
|
return Number(this.pageNum);
|
||||||
|
},
|
||||||
|
plusPage: function() {
|
||||||
|
return Number(this.pageNum) + 1;
|
||||||
|
},
|
||||||
|
minusPage: function() {
|
||||||
|
return Number(this.pageNum) - 1;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
totalCount: function(newData) {
|
||||||
|
return (this.moveToPage = newData > 0 ? this.moveToPage : '');
|
||||||
|
},
|
||||||
|
moveToPage: function() {
|
||||||
|
return (this.moveToPage = this.moveToPage.replaceAll(/[^0-9]/g, ''));
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handlePageChange(newPage) {
|
||||||
|
// Emit an event to the parent to load data for the selected page
|
||||||
|
this.$emit('loadData', newPage, this.itemsPerPage);
|
||||||
|
},
|
||||||
|
changePageLeng: function(current, newLimit) {
|
||||||
|
//부모 컴포넌트에서 loadData(데이터 조회) 구현
|
||||||
|
//this.$emit('loadData', this.pageNum, limit);
|
||||||
|
// limit 변경 시 1 페이지로 초기화
|
||||||
|
this.$emit('loadData', 1, newLimit);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
@ -3,24 +3,18 @@
|
|||||||
<v-col v-if="label" :cols="labelCols">
|
<v-col v-if="label" :cols="labelCols">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
<v-icon small color="primary"
|
<v-icon small color="primary"
|
||||||
:class="['mr-1', required ? 'icon-orange' : 'icon-blue']"
|
:class="['mr-1', required ? 'icon-orange' : 'icon-blue']">$icoBulletPoint</v-icon>
|
||||||
>$icoBulletPoint</v-icon>
|
|
||||||
{{ label }}
|
{{ label }}
|
||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="label ? textCols : ''">
|
<v-col :cols="label ? textCols : ''">
|
||||||
<div :class="['datepicker-container', customClass]" >
|
<div :class="['datepicker-container', customClass]">
|
||||||
<v-text-field
|
<v-text-field id="startpicker" ref="startpicker" v-model="fromDtValue"
|
||||||
id="startpicker"
|
:class="isRange ? 'v-input__custom half' : 'v-input__custom'" :hide-details="true" readonly
|
||||||
ref="startpicker"
|
outlined>
|
||||||
v-model="fromDtValue"
|
<template #append>
|
||||||
:class="isRange ? 'v-input__custom half' : 'v-input__custom'"
|
<a-icon class="v-icon" v-show="!isRange" type="calendar" style="width: 14px; height: 14px;" />
|
||||||
:hide-details="true"
|
<!-- <v-icon size="20" v-show="!isRange">$icoCalendar</v-icon> -->
|
||||||
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>
|
||||||
@ -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;
|
||||||
@ -138,10 +128,10 @@ 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: {
|
||||||
@ -280,7 +270,7 @@ export default {
|
|||||||
if (
|
if (
|
||||||
(myRange > rangeGap && compareDt.isAfter(defaultDt)) ||
|
(myRange > rangeGap && compareDt.isAfter(defaultDt)) ||
|
||||||
defaultDt.format(this.myOptions.sendFormat) ===
|
defaultDt.format(this.myOptions.sendFormat) ===
|
||||||
compareDt.format(this.myOptions.sendFormat)
|
compareDt.format(this.myOptions.sendFormat)
|
||||||
) {
|
) {
|
||||||
// if(this.cmCycleFlag){
|
// if(this.cmCycleFlag){
|
||||||
this.setPageData({ isFind: true });
|
this.setPageData({ isFind: true });
|
||||||
@ -310,7 +300,7 @@ export default {
|
|||||||
if (
|
if (
|
||||||
(myRange > rangeGap && defaultDt.isAfter(compareDt)) ||
|
(myRange > rangeGap && defaultDt.isAfter(compareDt)) ||
|
||||||
defaultDt.format(this.myOptions.sendFormat) ===
|
defaultDt.format(this.myOptions.sendFormat) ===
|
||||||
compareDt.format(this.myOptions.sendFormat)
|
compareDt.format(this.myOptions.sendFormat)
|
||||||
) {
|
) {
|
||||||
this.setPageData({ isFind: true });
|
this.setPageData({ isFind: true });
|
||||||
} else {
|
} else {
|
||||||
@ -334,6 +324,7 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
background-color: #edf4fc;
|
background-color: #edf4fc;
|
||||||
|
|
||||||
.tui-timepicker-column.tui-timepicker-colon {
|
.tui-timepicker-column.tui-timepicker-colon {
|
||||||
color: #000 !important;
|
color: #000 !important;
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
<div class="d-flex justify-center align-center"
|
<div class="d-flex justify-center align-center"
|
||||||
:class="directionBtn === 'vertically'?'flex-row':'flex-column'"
|
:class="directionBtn === 'vertically'?'flex-row':'flex-column'"
|
||||||
style="gap: 12px">
|
style="gap: 12px">
|
||||||
<a-button @click="btnActionsFnc('removeRightToLeft')" type="primary" ghost :icon="icons.remove" class="custom-action-btn">
|
<a-button @click="directionBtn === 'vertically' ? btnActionsFnc('removeRightToLeft') : btnActionsFnc('addLeftToRight')" type="primary" ghost :icon="directionBtn === 'vertically'? icons.remove :icons.add " class="custom-action-btn">
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button @click="btnActionsFnc('addLeftToRight')" type="primary" ghost :icon="icons.add" class="custom-action-btn">
|
<a-button @click="directionBtn === 'vertically' ? btnActionsFnc('removeRightToLeft') :btnActionsFnc('removeRightToLeft')" type="primary" ghost :icon="directionBtn === 'vertically'? icons.add :icons.remove" class="custom-action-btn">
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -70,6 +70,7 @@ export default function getLineChartOption({
|
|||||||
},
|
},
|
||||||
splitLine: {
|
splitLine: {
|
||||||
lineStyle: {
|
lineStyle: {
|
||||||
|
type: 'dashed', // Options: 'solid', 'dashed', 'dotted'
|
||||||
color: isDarkMode ? '#444444' : '#EEEEEE',
|
color: isDarkMode ? '#444444' : '#EEEEEE',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
46
components/common/chartoptions/SankeyChart.js
Normal file
46
components/common/chartoptions/SankeyChart.js
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
// Sankey chart options
|
||||||
|
export function getSankeyChartOption({ isDarkMode = false, data = [], links = [] }) {
|
||||||
|
const chartOption = {
|
||||||
|
backgroundColor: '#FFFFFF',
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
data,
|
||||||
|
links,
|
||||||
|
|
||||||
|
layoutIterations: 0,
|
||||||
|
type: 'sankey',
|
||||||
|
left: 25.0,
|
||||||
|
top: 20.0,
|
||||||
|
right: 120,
|
||||||
|
bottom: 50.0,
|
||||||
|
nodeGap: 10,
|
||||||
|
nodeAlign: 'left',
|
||||||
|
lineStyle: {
|
||||||
|
color: 'source',
|
||||||
|
curveness: 0.5,
|
||||||
|
},
|
||||||
|
// nodeWidth:10,
|
||||||
|
// triggerEvent: true,
|
||||||
|
itemStyle: {
|
||||||
|
//color: '#1f77b4',
|
||||||
|
//borderColor: '#1f77b4'
|
||||||
|
},
|
||||||
|
label: {
|
||||||
|
color: isDarkMode
|
||||||
|
? '#FFFFFFD9'
|
||||||
|
: '#000000E0',
|
||||||
|
// fontFamily: 'Arial',
|
||||||
|
fontSize: 14,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
tooltip: {
|
||||||
|
trigger: 'item',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
return chartOption;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default getSankeyChartOption;
|
||||||
|
|
@ -12,15 +12,26 @@
|
|||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="item.label ? 7 : ''" >
|
<v-col :cols="item.label ? 7 : ''" >
|
||||||
<v-checkbox
|
<!-- <v-checkbox
|
||||||
v-model="chkValue"
|
v-model="chkValue"
|
||||||
:disabled="disabledFlag"
|
:disabled="disabledFlag"
|
||||||
:readonly="item.readonly || false"
|
:readonly="item.readonly || false"
|
||||||
:required="item.required || false"
|
:required="item.required || false"
|
||||||
:false-value="false"
|
:false-value="false"
|
||||||
:color="isDarkMode ? '#fff' : '#1890ff'"
|
:color="isDarkMode ? '#1668DC' : '#1890ff'"
|
||||||
@change="modifyValue"
|
@change="modifyValue"
|
||||||
></v-checkbox>
|
class="small-checkbox"
|
||||||
|
></v-checkbox> -->
|
||||||
|
<a-checkbox
|
||||||
|
v-model="chkValue"
|
||||||
|
:disabled="disabledFlag"
|
||||||
|
:readonly="item.readonly || false"
|
||||||
|
:required="item.required || false"
|
||||||
|
:false-value="false"
|
||||||
|
:color="isDarkMode ? '#1668DC' : '#1890ff'"
|
||||||
|
@change="modifyValue"
|
||||||
|
>
|
||||||
|
</a-checkbox>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</template>
|
</template>
|
||||||
@ -141,7 +152,7 @@ export default {
|
|||||||
modifyValue(e) {
|
modifyValue(e) {
|
||||||
const dt = {
|
const dt = {
|
||||||
columnName: this.item.valueNm,
|
columnName: this.item.valueNm,
|
||||||
value: e,
|
value: e.target.checked,
|
||||||
};
|
};
|
||||||
this.$emit('gridEditingFinish', dt);
|
this.$emit('gridEditingFinish', dt);
|
||||||
},
|
},
|
||||||
|
@ -3,12 +3,13 @@
|
|||||||
<v-col v-if="item.label" :cols="item.labelCols !== undefined ? item.labelCols : item.cols == 12 ? 2 : 4">
|
<v-col v-if="item.label" :cols="item.labelCols !== undefined ? item.labelCols : item.cols == 12 ? 2 : 4">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
<v-icon
|
<v-icon
|
||||||
x-small
|
v-if="item.iconShow"
|
||||||
:color="item.required ? '#fb8200' : 'primary'"
|
small
|
||||||
class="mr-1"
|
:class="['mr-1', item.required ? 'icon-orange' : 'icon-blue']"
|
||||||
>mdi-record-circle</v-icon
|
>$icoBulletPoint</v-icon
|
||||||
>
|
>
|
||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
|
<span v-if="item.essential">*</span>
|
||||||
</label>
|
</label>
|
||||||
<!-- <label for="" class="search-box-label ft-size_14 ft-clr_g-c">
|
<!-- <label for="" class="search-box-label ft-size_14 ft-clr_g-c">
|
||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
@ -39,12 +40,12 @@
|
|||||||
</template>
|
</template>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
<v-dialog v-model="dialog" scrollable width="540px">
|
<v-dialog v-model="dialog" scrollable width="504px">
|
||||||
<v-card style="height: 100%">
|
<v-card style="height: 100%">
|
||||||
<v-card-title>
|
<v-card-title class="px-4">
|
||||||
<span class="custom-title-4">비밀번호 {{ isPassword }}</span>
|
<span class="custom-title-4" style="padding-left: 1px;">비밀번호 {{ isPassword }}</span>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<v-card-text class="pb-4">
|
<v-card-text class="pb-4 px-3">
|
||||||
<v-col>
|
<v-col>
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
{{ isPassword }}할 비밀번호를 입력하세요
|
{{ isPassword }}할 비밀번호를 입력하세요
|
||||||
@ -75,8 +76,8 @@
|
|||||||
<v-card-actions class="pb-4">
|
<v-card-actions class="pb-4">
|
||||||
<v-spacer></v-spacer>
|
<v-spacer></v-spacer>
|
||||||
<!-- <v-btn color="primary" dark @click="setUpdate()">확인</v-btn> -->
|
<!-- <v-btn color="primary" dark @click="setUpdate()">확인</v-btn> -->
|
||||||
<div class="pr-3">
|
<div class="d-flex" style="gap: 8px">
|
||||||
<a-button @click="close()" class="btn-default">삭제</a-button>
|
<a-button @click="close()" class="ant-btn-popup-default">닫기</a-button>
|
||||||
<a-button type="primary" @click="setUpdate()" class="v-btn-add-text">
|
<a-button type="primary" @click="setUpdate()" class="v-btn-add-text">
|
||||||
확인
|
확인
|
||||||
</a-button>
|
</a-button>
|
||||||
|
@ -37,6 +37,7 @@
|
|||||||
:itemList="selectValueList01"
|
:itemList="selectValueList01"
|
||||||
:label="'대상월'"
|
:label="'대상월'"
|
||||||
@update:propsValue="selectValue01 = $event"
|
@update:propsValue="selectValue01 = $event"
|
||||||
|
customClass="select-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="5.5" class="mr-2">
|
<v-col :cols="5.5" class="mr-2">
|
||||||
@ -49,9 +50,10 @@
|
|||||||
:itemList="selectValueList02"
|
:itemList="selectValueList02"
|
||||||
:label="'전년대비절감율'"
|
:label="'전년대비절감율'"
|
||||||
@update:propsValue="selectValue02 = $event"
|
@update:propsValue="selectValue02 = $event"
|
||||||
|
customClass="select-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<a-button color="primary" dark @click="search()" icon="clock-circle" >
|
<a-button class="ant-btn-popup-default" color="primary" dark @click="search()" icon="check-circle" size="large">
|
||||||
<!-- <template #icon>
|
<!-- <template #icon>
|
||||||
<ClockCircleOutlined />
|
<ClockCircleOutlined />
|
||||||
</template> -->
|
</template> -->
|
||||||
@ -128,7 +130,7 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
|
|
||||||
<v-card-actions class="pa-5 d-flex align-center justify-end">
|
<v-card-actions class="pa-5 d-flex align-center justify-end">
|
||||||
<a-button color="primary" type="default" class="mr-2" dark @click="closePop()">취소</a-button>
|
<a-button color="primary" class="mr-2 ant-btn-popup-default" dark @click="closePop()">취소</a-button>
|
||||||
<a-button color="primary" type="primary" dark @click="setUpdate()">확정</a-button>
|
<a-button color="primary" type="primary" dark @click="setUpdate()">확정</a-button>
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
</v-card>
|
</v-card>
|
||||||
|
@ -10,7 +10,10 @@
|
|||||||
<v-col :cols="textCols">
|
<v-col :cols="textCols">
|
||||||
<v-text-field readonly v-model="selectValue" append-icon="" :class="['v-input__custom', customClass]"
|
<v-text-field readonly v-model="selectValue" append-icon="" :class="['v-input__custom', customClass]"
|
||||||
@click="dialogOpenCloseEvent(dialog)" outlined :hide-details="true" :required="required || false"
|
@click="dialogOpenCloseEvent(dialog)" outlined :hide-details="true" :required="required || false"
|
||||||
:disabled="disabled || false"><template v-slot:append>
|
:disabled="disabled || false"
|
||||||
|
:placeholder="placeholder"
|
||||||
|
>
|
||||||
|
<template v-slot:append>
|
||||||
<!-- Custom SVG icon -->
|
<!-- Custom SVG icon -->
|
||||||
<v-icon>$icoSearch</v-icon>
|
<v-icon>$icoSearch</v-icon>
|
||||||
</template>
|
</template>
|
||||||
@ -401,8 +404,8 @@ export default {
|
|||||||
rowHeight: 'auto',
|
rowHeight: 'auto',
|
||||||
};
|
};
|
||||||
if (this.isMulti) {
|
if (this.isMulti) {
|
||||||
// myOptions['rowHeaders'] = [{ type: 'checkbox' }];
|
myOptions['rowHeaders'] = [{ type: 'checkbox' }];
|
||||||
// myOptions['rowHeight'] = 'auto';
|
myOptions['rowHeight'] = 'auto';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -520,12 +523,11 @@ export default {
|
|||||||
|
|
||||||
|
|
||||||
this.loadGrid = true;
|
this.loadGrid = true;
|
||||||
// this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
// if (this.isMulti) {
|
if (this.isMulti) {
|
||||||
// this.getChecked();
|
this.getChecked();
|
||||||
// }
|
}
|
||||||
// });
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
setUpdate() {
|
setUpdate() {
|
||||||
if (this.isMulti) {
|
if (this.isMulti) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<v-row class="search-box no-gutters" align="center">
|
<v-row class="search-box" align="center">
|
||||||
<v-col :cols="option.labelCols" class="py-0">
|
<v-col :cols="option.labelCols" class="py-0">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
<v-icon v-if="item.iconShow" small
|
<v-icon v-if="item.iconShow" small
|
||||||
|
@ -81,6 +81,10 @@ export default {
|
|||||||
type: String,
|
type: String,
|
||||||
require: false,
|
require: false,
|
||||||
},
|
},
|
||||||
|
required: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {};
|
return {};
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
outlined
|
outlined
|
||||||
append-icon=""
|
append-icon=""
|
||||||
:class="['v-select__custom', customClass]"
|
:class="['v-select__custom', customClass]"
|
||||||
|
:menu-props="{ top: false, offsetY: true }"
|
||||||
><template v-slot:append>
|
><template v-slot:append>
|
||||||
<v-icon>$icoChevronDown</v-icon>
|
<v-icon>$icoChevronDown</v-icon>
|
||||||
</template></v-select>
|
</template></v-select>
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="d-flex justify-space-between align-center" style="min-height: 80px;">
|
<div class="d-flex justify-space-between align-center pb-5" >
|
||||||
<span class="txt custom-subtitle-tab">Data Set TAG 연결 정보</span>
|
<!-- <span class="txt custom-title-4">Data Set TAG 연결 정보</span> -->
|
||||||
|
<v-card-title class="pa-0">
|
||||||
|
Data Set TAG 연결 정보
|
||||||
|
</v-card-title>
|
||||||
<Buttons :parentPrgmId="parentPrgmId" :bindingData="gridName" :detailList="detailDataSetTagList"
|
<Buttons :parentPrgmId="parentPrgmId" :bindingData="gridName" :detailList="detailDataSetTagList"
|
||||||
:btnActionsFnc="btnActions" />
|
:btnActionsFnc="btnActions" />
|
||||||
</div>
|
</div>
|
||||||
@ -14,22 +17,20 @@
|
|||||||
@gridEditingFinish="gridEditingFinish" />
|
@gridEditingFinish="gridEditingFinish" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div ref="formParent" style="min-height: 100px;" class="w100 h100">
|
<div ref="formParent" class="h100">
|
||||||
<v-row ref="contents" class="w100">
|
<v-row align="end" ref="contents" class="">
|
||||||
<v-col :cols="6">
|
<v-col>
|
||||||
<component :is="'Datepicker'" :parentPrgmId="parentPrgmId" :label="'검색기간'" :labelCols="12" :textCols="12" />
|
<component :is="'Datepicker'" :parentPrgmId="parentPrgmId" :label="'검색기간'" :labelCols="12" :textCols="12" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="4">
|
<v-col >
|
||||||
<component :is="'selectCodeList'" :parentPrgmId="parentPrgmId" :label="'주기'" dataKey="mdlDataTerm"
|
<component :is="'selectCodeList'" :parentPrgmId="parentPrgmId" :label="'주기'" dataKey="mdlDataTerm"
|
||||||
:sendParam="{ commGrpCd: 'MDL_DATA_TERM', useFg: '1' }" :addAll="false" :labelCols="12" :textCols="12" :iconShow="true" />
|
:sendParam="{ commGrpCd: 'MDL_DATA_TERM', useFg: '1' }" :addAll="false" :labelCols="12" :textCols="12" :iconShow="true" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col class="text-right align-self-end">
|
</v-row>
|
||||||
<a-button @click="jamoviProcClickEvent('view1')" type="primary" :ripple="false" class="mr-1">데이터 분석</a-button>
|
<v-row align="center" no-gutters class="searchFilter mt-2">
|
||||||
|
<v-col class="d-flex justify-end">
|
||||||
|
<a-button @click="jamoviProcClickEvent('view1')" type="primary" :ripple="false" class="mb-1">데이터 분석</a-button>
|
||||||
</v-col>
|
</v-col>
|
||||||
<!-- <v-card class="searchFilter w100">
|
|
||||||
<v-row align="center" no-gutters>
|
|
||||||
</v-row>
|
|
||||||
</v-card> -->
|
|
||||||
</v-row>
|
</v-row>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -156,7 +157,7 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '모델 Data 구분',
|
header: '모델 Data 구분',
|
||||||
name: 'mdlDataTypeCd',
|
name: 'mdlDataTypeCd',
|
||||||
align: 'center',
|
align: 'left',
|
||||||
width: 120,
|
width: 120,
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
var retVal = '';
|
var retVal = '';
|
||||||
@ -173,7 +174,7 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '사용여부',
|
header: '사용여부',
|
||||||
name: 'useFg',
|
name: 'useFg',
|
||||||
align: 'center',
|
align: 'left',
|
||||||
width: 100,
|
width: 100,
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
value = value === true ? '1' : '0';
|
value = value === true ? '1' : '0';
|
||||||
@ -189,7 +190,7 @@ export default {
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
{ header: '비고', name: 'rmrk', align: 'center' },
|
{ header: '비고', name: 'rmrk', align: 'left' },
|
||||||
];
|
];
|
||||||
|
|
||||||
this.setGridColumn({
|
this.setGridColumn({
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
class="d-flex justify-space-between align-center"
|
class="d-flex justify-space-between align-center"
|
||||||
style="height: 80px;"
|
style="height: 80px;"
|
||||||
>
|
>
|
||||||
<span class="txt custom-title-4-new">공정 추가 정보</span>
|
<span class="txt custom-subtitle-tab">공정 추가 정보</span>
|
||||||
<Buttons
|
<Buttons
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
:bindingData="gridName"
|
:bindingData="gridName"
|
||||||
|
@ -4,14 +4,14 @@
|
|||||||
class="d-flex justify-space-between align-center"
|
class="d-flex justify-space-between align-center"
|
||||||
style="height: 80px;"
|
style="height: 80px;"
|
||||||
>
|
>
|
||||||
<span class="txt custom-title-4-new">공정 입출력 정보</span>
|
<span class="txt custom-subtitle-tab">공정 입출력 정보</span>
|
||||||
<Buttons
|
<Buttons
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
:bindingData="gridName"
|
:bindingData="gridName"
|
||||||
:btnActionsFnc="btnActions"
|
:btnActionsFnc="btnActions"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div ref="gridParent" >
|
<div ref="gridParent" style="height: calc(90vh - 700px);">
|
||||||
<component
|
<component
|
||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
:is="loadGrid ? 'Grid' : null"
|
:is="loadGrid ? 'Grid' : null"
|
||||||
@ -21,7 +21,7 @@
|
|||||||
:innerTabGridInfo="innerTabGridInfo"
|
:innerTabGridInfo="innerTabGridInfo"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div style="height: 25vh;" class="mt-5">
|
||||||
<component
|
<component
|
||||||
:is="'Form'"
|
:is="'Form'"
|
||||||
:bindingData="gridName"
|
:bindingData="gridName"
|
||||||
@ -98,17 +98,19 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
selectedObjId(val) {
|
selectedObjId(val) {
|
||||||
if (val === 'TAG') {
|
if (val === 'TAG') {
|
||||||
this.detailList[2].class = 'py-2 d-none';
|
this.detailList[1].class = 'd-none';
|
||||||
this.detailList[3].class = 'py-2 d-none';
|
this.detailList[2].class = 'd-block pl-4';
|
||||||
this.detailList[4].class = 'py-2';
|
this.detailList[3].class = 'd-block';
|
||||||
this.detailList[5].class = 'py-2';
|
|
||||||
} else {
|
} else {
|
||||||
// }else if(val==="READ_PLC"){
|
// }else if(val==="READ_PLC"){
|
||||||
this.detailList[5].class = 'py-2 d-none';
|
this.detailList[3].class = 'd-block';
|
||||||
this.detailList[4].class = 'py-2 d-none';
|
this.detailList[2].class = 'd-none';
|
||||||
this.detailList[3].class = 'py-2';
|
this.detailList[1].class = 'd-block pl-4';
|
||||||
this.detailList[2].class = 'py-2';
|
|
||||||
}
|
}
|
||||||
|
this.detailList[4].class = 'pl-4 mt-2';
|
||||||
|
|
||||||
|
console.log(val)
|
||||||
|
console.log(this.detailList)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
@ -188,6 +190,7 @@ export default {
|
|||||||
{ header: '대상 명', name: 'objNm', width: 300, align: 'left' },
|
{ header: '대상 명', name: 'objNm', width: 300, align: 'left' },
|
||||||
{
|
{
|
||||||
header: '에너지원 명',
|
header: '에너지원 명',
|
||||||
|
width: 150,
|
||||||
name: 'ercId',
|
name: 'ercId',
|
||||||
align: 'left',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
@ -204,8 +207,9 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: '대상 유형',
|
header: '대상 유형',
|
||||||
|
width: 150,
|
||||||
name: 'objKind',
|
name: 'objKind',
|
||||||
align: 'center',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
var retVal = '';
|
var retVal = '';
|
||||||
|
|
||||||
@ -221,7 +225,8 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '투입 생산 유형',
|
header: '투입 생산 유형',
|
||||||
name: 'inProdKind',
|
name: 'inProdKind',
|
||||||
align: 'center',
|
width: 150,
|
||||||
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
var retVal = '';
|
var retVal = '';
|
||||||
|
|
||||||
@ -237,7 +242,8 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '계산 여부',
|
header: '계산 여부',
|
||||||
name: 'calcFg',
|
name: 'calcFg',
|
||||||
align: 'center',
|
width: 150,
|
||||||
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
value = value === true ? '1' : '0';
|
value = value === true ? '1' : '0';
|
||||||
const newValue = _this.pageData.useFgList.filter(
|
const newValue = _this.pageData.useFgList.filter(
|
||||||
@ -247,7 +253,7 @@ export default {
|
|||||||
// return value === true ? "사용" : "사용안함";
|
// return value === true ? "사용" : "사용안함";
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{ header: '분배율(1~100)', name: 'distRt', align: 'right' },
|
{ header: '분배율(1~100)', name: 'distRt', align: 'right', width: 150 },
|
||||||
{ header: '사업장', name: 'blocId', align: 'center', hidden: true },
|
{ header: '사업장', name: 'blocId', align: 'center', hidden: true },
|
||||||
{ header: '등록 사용자', name: 'regUserNo', hidden: true },
|
{ header: '등록 사용자', name: 'regUserNo', hidden: true },
|
||||||
{ header: '등록 일자', name: 'regDttm', hidden: true },
|
{ header: '등록 일자', name: 'regDttm', hidden: true },
|
||||||
@ -374,7 +380,7 @@ const myDetail = [
|
|||||||
label: '대상 유형',
|
label: '대상 유형',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pr-4',
|
class: 'pr-4',
|
||||||
list: 'emMapDivList',
|
list: 'emMapDivList',
|
||||||
valueNm: 'objKind',
|
valueNm: 'objKind',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
@ -391,7 +397,7 @@ const myDetail = [
|
|||||||
valueNm: 'objId',
|
valueNm: 'objId',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'pt-2 pb-0 mb-0 pl-4',
|
class: 'pl-4 py-2',
|
||||||
required: true,
|
required: true,
|
||||||
bindNm: 'objNm',
|
bindNm: 'objNm',
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
@ -400,24 +406,6 @@ const myDetail = [
|
|||||||
noText: true,
|
noText: true,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
// 공백 처리
|
|
||||||
type: 'Label',
|
|
||||||
cols: 6,
|
|
||||||
class: 'py-2 pr-4',
|
|
||||||
disabled: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'InputText',
|
|
||||||
valueNm: 'objNm',
|
|
||||||
readonly: true,
|
|
||||||
disabled: true,
|
|
||||||
cols: 6,
|
|
||||||
class: 'pl-4',
|
|
||||||
labelCols: 12,
|
|
||||||
textCols: 12,
|
|
||||||
iconShow: true,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
type: 'EvtObjPop',
|
type: 'EvtObjPop',
|
||||||
labelContent: '대상 항목',
|
labelContent: '대상 항목',
|
||||||
@ -428,16 +416,23 @@ const myDetail = [
|
|||||||
disabled: true,
|
disabled: true,
|
||||||
required: true,
|
required: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'd-none pr-4',
|
class: 'd-none pr-4 py-2',
|
||||||
disableContent: true,
|
disableContent: true,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
// 공백 처리
|
||||||
|
type: 'Label',
|
||||||
|
cols: 6,
|
||||||
|
class: 'py-2 pr-4',
|
||||||
|
disabled: false,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'd-none pt-0 pl-4',
|
class: 'pt-0 pl-4 mt-2 py-2',
|
||||||
valueNm: 'objNm',
|
valueNm: 'objNm',
|
||||||
readonly: true,
|
readonly: true,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
@ -450,7 +445,7 @@ const myDetail = [
|
|||||||
label: '에너지원',
|
label: '에너지원',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
list: 'ercNmList',
|
list: 'ercNmList',
|
||||||
valueNm: 'ercId',
|
valueNm: 'ercId',
|
||||||
itemText: 'text',
|
itemText: 'text',
|
||||||
@ -465,7 +460,7 @@ const myDetail = [
|
|||||||
label: '투입생산유형',
|
label: '투입생산유형',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
list: 'cmInoutList',
|
list: 'cmInoutList',
|
||||||
valueNm: 'inProdKind',
|
valueNm: 'inProdKind',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
@ -478,7 +473,7 @@ const myDetail = [
|
|||||||
{
|
{
|
||||||
type: 'CheckBox',
|
type: 'CheckBox',
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
label: '계산 여부',
|
label: '계산 여부',
|
||||||
valueNm: 'calcFg',
|
valueNm: 'calcFg',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
@ -495,7 +490,7 @@ const myDetail = [
|
|||||||
valueNm: 'distRt',
|
valueNm: 'distRt',
|
||||||
readonly: false,
|
readonly: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
required: true,
|
required: true,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
@ -503,3 +498,10 @@ const myDetail = [
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
</script>
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
::v-deep{
|
||||||
|
.tui-grid-layer-state{
|
||||||
|
top: 40px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -1,7 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="d-flex justify-space-between align-center my-5" >
|
<div class="d-flex justify-space-between align-center mb-5" >
|
||||||
<span class="txt custom-subtitle-tab">설비 추가 정보</span>
|
<v-card-title class="txt custom-title-4 pa-0">
|
||||||
|
설비 추가 정보
|
||||||
|
</v-card-title>
|
||||||
<Buttons
|
<Buttons
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
:bindingData="gridName"
|
:bindingData="gridName"
|
||||||
@ -120,10 +122,10 @@ export default {
|
|||||||
bodyHeight: gridHeight,
|
bodyHeight: gridHeight,
|
||||||
minBodyHeight: gridHeight,
|
minBodyHeight: gridHeight,
|
||||||
header: {
|
header: {
|
||||||
height: 28,
|
height: 38,
|
||||||
},
|
},
|
||||||
rowHeight: 29,
|
// rowHeight: 39,
|
||||||
minRowHeight: 29,
|
// minRowHeight: 29,
|
||||||
selectionUnit: 'row',
|
selectionUnit: 'row',
|
||||||
editingEvent: 'click',
|
editingEvent: 'click',
|
||||||
};
|
};
|
||||||
@ -263,11 +265,12 @@ export default {
|
|||||||
}
|
}
|
||||||
return retVal;
|
return retVal;
|
||||||
},
|
},
|
||||||
|
minWidth: 230,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Data 구분',
|
header: 'Data 구분',
|
||||||
name: 'addInfoDataKind',
|
name: 'addInfoDataKind',
|
||||||
align: 'center',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
let retVal = '';
|
let retVal = '';
|
||||||
const newValue = addInfoDataKindList.filter(
|
const newValue = addInfoDataKindList.filter(
|
||||||
@ -278,6 +281,7 @@ export default {
|
|||||||
}
|
}
|
||||||
return retVal;
|
return retVal;
|
||||||
},
|
},
|
||||||
|
minWidth: 330,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: '숫자 값',
|
header: '숫자 값',
|
||||||
@ -308,6 +312,7 @@ export default {
|
|||||||
// console.log('test :', test);
|
// console.log('test :', test);
|
||||||
return data.row.addInfoDataKind;
|
return data.row.addInfoDataKind;
|
||||||
},
|
},
|
||||||
|
minWidth: 330,
|
||||||
},
|
},
|
||||||
//{ header: "추가 정보 값", name: "addInfoVal", align: "center" , editor: "text",
|
//{ header: "추가 정보 값", name: "addInfoVal", align: "center" , editor: "text",
|
||||||
//},
|
//},
|
||||||
@ -414,3 +419,4 @@ const dataPathDataExample = getPathDataExample({
|
|||||||
type: '사용', note: '-'
|
type: '사용', note: '-'
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
<style lang="scss" scoped> </style>
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="d-flex justify-space-between align-center my-5" >
|
<div class="d-flex justify-space-between align-center mb-5" >
|
||||||
<span class="txt custom-subtitle-tab">설비 상수 정보</span>
|
<!-- <span class="txt custom-subtitle-tab">설비 상수 정보</span> -->
|
||||||
|
<v-card-title class="txt custom-title-4 pa-0">
|
||||||
|
설비 상수 정보
|
||||||
|
</v-card-title>
|
||||||
<Buttons :parentPrgmId="parentPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
<Buttons :parentPrgmId="parentPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
||||||
</div>
|
</div>
|
||||||
<div ref="gridParent" style="min-height: calc(100vh - 800px);">
|
<div ref="gridParent" style="min-height: calc(100vh - 800px);">
|
||||||
@ -160,11 +163,11 @@ export default {
|
|||||||
{ header: '회사 ID', name: 'comId', hidden: true },
|
{ header: '회사 ID', name: 'comId', hidden: true },
|
||||||
{ header: '설비 번호', name: 'eqpmId', hidden: true },
|
{ header: '설비 번호', name: 'eqpmId', hidden: true },
|
||||||
// { header: '대상항목', name: 'objId', align: 'center', hidden: true},
|
// { header: '대상항목', name: 'objId', align: 'center', hidden: true},
|
||||||
{ header: '물리량 ID', name: 'pysclQtyId', align: 'left' },
|
{ header: '물리량 ID', name: 'pysclQtyId', align: 'left', minWidth: 230, },
|
||||||
{ header: '물리량 명', name: 'pysclQtyNm', align: 'left' },
|
{ header: '물리량 명', name: 'pysclQtyNm', align: 'left', minWidth: 230, },
|
||||||
{ header: '물리량값', name: 'pysclQtyVal', align: 'left' },
|
{ header: '물리량값', name: 'pysclQtyVal', align: 'left', minWidth: 230, },
|
||||||
// { header: '대상항목', name: 'objNm', align: 'left'},
|
// { header: '대상항목', name: 'objNm', align: 'left'},
|
||||||
{ header: '대상항목', name: 'objId', align: 'left' },
|
{ header: '대상항목', name: 'objId', align: 'left', minWidth: 230, },
|
||||||
{
|
{
|
||||||
header: '에너지원 명',
|
header: '에너지원 명',
|
||||||
name: 'ercId',
|
name: 'ercId',
|
||||||
@ -386,7 +389,7 @@ const myEqpmConstDetail = [
|
|||||||
required: true,
|
required: true,
|
||||||
openMode: 'CONST',
|
openMode: 'CONST',
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-3 pl-4',
|
class: 'pt-3 pb-1 pl-4',
|
||||||
eqpmGrpDisableFlag: true,
|
eqpmGrpDisableFlag: true,
|
||||||
// eqpmGrpId:'',
|
// eqpmGrpId:'',
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
@ -406,7 +409,7 @@ const myEqpmConstDetail = [
|
|||||||
disabled: true,
|
disabled: true,
|
||||||
readonly: true,
|
readonly: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-3 pt-1 pl-4',
|
class: 'pb-3 pt-0 pl-4',
|
||||||
align: 'right',
|
align: 'right',
|
||||||
// class: 'py-2 d-none',
|
// class: 'py-2 d-none',
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
@ -441,3 +444,11 @@ const dataPathDataExample = getPathDataExample({
|
|||||||
field2: '2222',
|
field2: '2222',
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
::v-deep {
|
||||||
|
.tui-grid-layer-state {
|
||||||
|
top: 40px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="d-flex justify-space-between align-center my-5" >
|
<div class="d-flex justify-space-between align-center mb-5" >
|
||||||
<span class="txt custom-subtitle-tab">설비 입출력 정보</span>
|
<!-- <span class="txt custom-subtitle-tab">설비 입출력 정보</span> -->
|
||||||
|
<v-card-title class="txt custom-title-4 pa-0">
|
||||||
|
설비 입출력 정보
|
||||||
|
</v-card-title>
|
||||||
<Buttons
|
<Buttons
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
:bindingData="gridName"
|
:bindingData="gridName"
|
||||||
@ -226,6 +229,7 @@ export default {
|
|||||||
|
|
||||||
return retVal;
|
return retVal;
|
||||||
},
|
},
|
||||||
|
minWidth: 150,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: '대상 유형',
|
header: '대상 유형',
|
||||||
@ -242,9 +246,10 @@ export default {
|
|||||||
|
|
||||||
return retVal;
|
return retVal;
|
||||||
},
|
},
|
||||||
|
minWidth: 150,
|
||||||
},
|
},
|
||||||
{ header: '물리량', name: 'pysclQtyId', align: 'left', hidden: true },
|
{ header: '물리량', name: 'pysclQtyId', align: 'left', hidden: true },
|
||||||
{ header: '물리량', name: 'pysclQtyNm', align: 'left' },
|
{ header: '물리량', name: 'pysclQtyNm', align: 'left', minWidth: 150, },
|
||||||
{
|
{
|
||||||
header: '물리량값',
|
header: '물리량값',
|
||||||
name: 'pysclQtyVal',
|
name: 'pysclQtyVal',
|
||||||
@ -269,6 +274,7 @@ export default {
|
|||||||
);
|
);
|
||||||
return newValue[0].commCdNm;
|
return newValue[0].commCdNm;
|
||||||
},
|
},
|
||||||
|
minWidth: 100,
|
||||||
},
|
},
|
||||||
{ header: '분배율', name: 'distRt', align: 'right' },
|
{ header: '분배율', name: 'distRt', align: 'right' },
|
||||||
{ header: '등록 사용자', name: 'regUserNo', hidden: true },
|
{ header: '등록 사용자', name: 'regUserNo', hidden: true },
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div
|
||||||
class="d-flex justify-space-between"
|
class="d-flex justify-space-between mb-3 pr-4"
|
||||||
style="height: 45px;"
|
style="height: 45px;"
|
||||||
>
|
>
|
||||||
<span class="txt custom-subtitle-tab">검침 대상 추가 정보</span>
|
<span class="txt custom-subtitle-tab">검침 대상 추가 정보</span>
|
||||||
@ -102,7 +102,7 @@ export default {
|
|||||||
this.gridInit();
|
this.gridInit();
|
||||||
},
|
},
|
||||||
gridInit() {
|
gridInit() {
|
||||||
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
const gridHeight = this.$refs.gridParent.offsetHeight - 31;
|
||||||
|
|
||||||
const myOptions = {
|
const myOptions = {
|
||||||
columnOptions: {
|
columnOptions: {
|
||||||
@ -113,8 +113,8 @@ export default {
|
|||||||
header: {
|
header: {
|
||||||
height: 28,
|
height: 28,
|
||||||
},
|
},
|
||||||
rowHeight: 29,
|
rowHeight: 36,
|
||||||
minRowHeight: 29,
|
minRowHeight: 36,
|
||||||
selectionUnit: 'row',
|
selectionUnit: 'row',
|
||||||
editingEvent: 'click',
|
editingEvent: 'click',
|
||||||
};
|
};
|
||||||
@ -440,3 +440,15 @@ export default {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
<style lang="scss" scoped >
|
||||||
|
::v-deep {
|
||||||
|
.tui-grid-layer-state {
|
||||||
|
top: 40px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tui-grid-cell-content-editor {
|
||||||
|
height: 36px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
@ -332,7 +332,7 @@ const myReadPlcTagDetail = [
|
|||||||
valueNm2: 'tagNm',
|
valueNm2: 'tagNm',
|
||||||
disabled: true,
|
disabled: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'pr-4 pb-2 py-2',
|
class: 'pr-4 pb-2 py-2 mt-2',
|
||||||
required: true,
|
required: true,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
@ -345,7 +345,7 @@ const myReadPlcTagDetail = [
|
|||||||
valueNm: 'ercId',
|
valueNm: 'ercId',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'pl-4 pb-2 py-3',
|
class: 'pl-4 pb-2 py-3 mt-2',
|
||||||
list: 'ercNmList',
|
list: 'ercNmList',
|
||||||
itemText: 'text',
|
itemText: 'text',
|
||||||
itemValue: 'value',
|
itemValue: 'value',
|
||||||
@ -360,7 +360,7 @@ const myReadPlcTagDetail = [
|
|||||||
readonly: true,
|
readonly: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'pt-1 py-3 pr-4',
|
class: 'pt-1 py-3 pr-4 mt-2',
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -372,7 +372,7 @@ const myReadPlcTagDetail = [
|
|||||||
valueNm: 'distRt',
|
valueNm: 'distRt',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-3 pr-4',
|
class: 'py-3 pr-4 mt-2',
|
||||||
inputType: 'number',
|
inputType: 'number',
|
||||||
min: 1,
|
min: 1,
|
||||||
max: 100,
|
max: 100,
|
||||||
@ -387,7 +387,7 @@ const myReadPlcTagDetail = [
|
|||||||
valueNm: 'reprTagFg',
|
valueNm: 'reprTagFg',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-3 pl-4',
|
class: 'py-3 pl-4 mt-2',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
required: true,
|
required: true,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
@ -401,7 +401,7 @@ const myReadPlcTagDetail = [
|
|||||||
valueNm: 'useFg',
|
valueNm: 'useFg',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-3 pr-4',
|
class: 'py-3 pr-4 mt-2',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
required: true,
|
required: true,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
@ -414,7 +414,7 @@ const myReadPlcTagDetail = [
|
|||||||
valueNm: 'rmrk',
|
valueNm: 'rmrk',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-3 pl-4',
|
class: 'py-3 pl-4 mt-2',
|
||||||
inputType: 'string',
|
inputType: 'string',
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
|
@ -32,15 +32,18 @@
|
|||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="12" lg="9">
|
<v-col cols="12" lg="9" class="pl-0">
|
||||||
<v-card>
|
<v-card>
|
||||||
<v-card-title>
|
<v-card-title>
|
||||||
<span class="custom-title-4">역할 메뉴별 권한</span>
|
<span class="custom-title-4">역할 메뉴별 권한</span>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<v-row align="center" no-gutters :style="{ height: 'calc(100% - 62px)' }" class="px-5">
|
<v-row align="center" no-gutters :style="{ height: 'calc(100% - 62px)' }" class="px-5">
|
||||||
<v-col class="h100" style="max-width: 400px;">
|
<v-col class="h100" style="max-width: 400px;">
|
||||||
<span class="body-1 font-weight-bold d-flex align-center"
|
<v-card-title class="pl-0 pb-3">
|
||||||
:style="{ minHeight: '36px' }">[미배정]메뉴리스트</span>
|
<span class="custom-title-4">[미배정]메뉴리스트</span>
|
||||||
|
</v-card-title>
|
||||||
|
<!-- <span class="body-1 font-weight-bold d-flex align-center"
|
||||||
|
:style="{ minHeight: '36px' }">[미배정]메뉴리스트</span> -->
|
||||||
<div ref="treeGridParent" class="px-0 mt-2" style="height: 60vh;">
|
<div ref="treeGridParent" class="px-0 mt-2" style="height: 60vh;">
|
||||||
<!-- <div
|
<!-- <div
|
||||||
ref="treeGridParent"
|
ref="treeGridParent"
|
||||||
@ -55,15 +58,18 @@
|
|||||||
<ActionButtons :parentPrgmId="myPrgmId" :leftGridName="gridName2" :rightGridName="gridName3"
|
<ActionButtons :parentPrgmId="myPrgmId" :leftGridName="gridName2" :rightGridName="gridName3"
|
||||||
:btnActionsFnc="dualGridBtnActions" />
|
:btnActionsFnc="dualGridBtnActions" />
|
||||||
</v-col> -->
|
</v-col> -->
|
||||||
<div class="pr-2">
|
<div class="pr-2 arrow-button">
|
||||||
<ActionButtons :parentPrgmId="myPrgmId" :leftGridName="gridName2" :rightGridName="gridName3"
|
<ActionButtons :parentPrgmId="myPrgmId" :leftGridName="gridName2" :rightGridName="gridName3"
|
||||||
:btnActionsFnc="dualGridBtnActions" />
|
:btnActionsFnc="dualGridBtnActions"/>
|
||||||
</div>
|
</div>
|
||||||
<v-col :cols="7" class="h100">
|
<v-col :cols="7" class="h100">
|
||||||
<v-row justify="space-between" align="center" no-gutters class="px-5">
|
<v-row justify="space-between" align="center" no-gutters class="px-5 pl-0">
|
||||||
<v-col :cols="11">
|
<v-col :cols="11">
|
||||||
<span class="body-1 font-weight-bold d-flex align-center"
|
<v-card-title class="pl-0 pb-3">
|
||||||
:style="{ minHeight: '36px' }">[배정]메뉴별권한 리스트</span>
|
<span class="custom-title-4">[배정]메뉴별권한 리스트</span>
|
||||||
|
</v-card-title>
|
||||||
|
<!-- <span class="body-1 font-weight-bold d-flex align-center"
|
||||||
|
:style="{ minHeight: '36px' }">[배정]메뉴별권한 리스트</span> -->
|
||||||
<!-- <span class="body-1 font-weight-bold">[배정]메뉴별권한 리스트</span> -->
|
<!-- <span class="body-1 font-weight-bold">[배정]메뉴별권한 리스트</span> -->
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="1" class="text-right">
|
<v-col :cols="1" class="text-right">
|
||||||
@ -344,8 +350,8 @@ export default {
|
|||||||
const _this = this;
|
const _this = this;
|
||||||
|
|
||||||
const myColumns = [
|
const myColumns = [
|
||||||
{ header: '역할ID', name: 'roleId', align: 'left', minWidth: 70,width:120 },
|
{ header: '역할ID', name: 'roleId', align: 'left', minWidth: 70, width: 120 },
|
||||||
{ header: '역할명', name: 'roleNm', minWidth: 70, align: 'left',width:120 },
|
{ header: '역할명', name: 'roleNm', minWidth: 70, align: 'left', width: 120 },
|
||||||
{
|
{
|
||||||
header: '사용여부',
|
header: '사용여부',
|
||||||
name: 'useFg',
|
name: 'useFg',
|
||||||
@ -805,4 +811,23 @@ function numberFormatter({ value }) {
|
|||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
::v-deep {
|
||||||
|
.arrow-button button {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.arrow-button svg {
|
||||||
|
width: 14px;
|
||||||
|
height: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
|
<CommonPageTitle />
|
||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
@ -205,12 +206,12 @@ export default {
|
|||||||
|
|
||||||
const _this = this;
|
const _this = this;
|
||||||
const myColumns = [
|
const myColumns = [
|
||||||
{ header: '역할ID', name: 'roleId', align: 'center' },
|
{ header: '역할ID', name: 'roleId', align: 'left' },
|
||||||
{ header: '역할명', name: 'roleNm' },
|
{ header: '역할명', name: 'roleNm' },
|
||||||
{
|
{
|
||||||
header: '사용여부',
|
header: '사용여부',
|
||||||
name: 'useFg',
|
name: 'useFg',
|
||||||
align: 'center',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
value = value === true ? '1' : '0';
|
value = value === true ? '1' : '0';
|
||||||
const newValue = _this.pageData.useFgList.filter(
|
const newValue = _this.pageData.useFgList.filter(
|
||||||
@ -431,7 +432,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
@ -444,7 +445,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// type: "InputText",
|
// type: "InputText",
|
||||||
@ -463,7 +464,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -475,7 +476,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -487,7 +488,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -499,7 +500,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<!-- 조회조견 -->
|
<!-- 조회조견 -->
|
||||||
|
<CommonPageTitle />
|
||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
@ -89,7 +90,7 @@
|
|||||||
<!-- 사용자 정보 -->
|
<!-- 사용자 정보 -->
|
||||||
<v-col :cols="7" class="h100">
|
<v-col :cols="7" class="h100">
|
||||||
<v-card class="pb-5 h100">
|
<v-card class="pb-5 h100">
|
||||||
<v-card-title class="custom-title-4">사용자 정보</v-card-title>
|
<v-card-title class="custom-title-4 pb-0">사용자 정보</v-card-title>
|
||||||
<div class="px-5" :style="{ height: 'calc(100% - 62.5px)' }">
|
<div class="px-5" :style="{ height: 'calc(100% - 62.5px)' }">
|
||||||
<v-tabs v-model="tab">
|
<v-tabs v-model="tab">
|
||||||
<v-tab
|
<v-tab
|
||||||
@ -922,7 +923,7 @@ const unAsgnRoleByUserColumns = [
|
|||||||
</label>`;
|
</label>`;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ header: '역할ID', name: 'roleId', align: 'center' },
|
{ header: '역할ID', name: 'roleId', align: 'left' },
|
||||||
{ header: '역할명', name: 'roleNm' },
|
{ header: '역할명', name: 'roleNm' },
|
||||||
{ header: '적용시작일', name: 'aplyStartDt', hidden: true },
|
{ header: '적용시작일', name: 'aplyStartDt', hidden: true },
|
||||||
{ header: '적용종료일', name: 'aplyEndDt', hidden: true },
|
{ header: '적용종료일', name: 'aplyEndDt', hidden: true },
|
||||||
@ -970,7 +971,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
required: false,
|
required: false,
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
@ -982,7 +983,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
@ -995,8 +996,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
iconShow: true,
|
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1006,7 +1006,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
@ -1017,7 +1017,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
list: blocCdList.map(item => ({
|
list: blocCdList.map(item => ({
|
||||||
text: item.blocNm,
|
text: item.blocNm,
|
||||||
@ -1032,7 +1032,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1043,7 +1043,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
@ -1055,7 +1055,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
@ -1067,7 +1067,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
@ -1079,7 +1079,7 @@ const myDetail = blocCdList => {
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<!-- 조회조견 -->
|
<!-- 조회조견 -->
|
||||||
|
<CommonPageTitle />
|
||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
@ -66,6 +67,10 @@
|
|||||||
@getRowsData="getRowData"
|
@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>
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -104,6 +109,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;
|
||||||
@ -132,6 +138,7 @@ export default {
|
|||||||
BtnSearch,
|
BtnSearch,
|
||||||
BtnExcelDownload,
|
BtnExcelDownload,
|
||||||
Buttons,
|
Buttons,
|
||||||
|
pagination,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -140,6 +147,11 @@ export default {
|
|||||||
gridName: 'rowGrid',
|
gridName: 'rowGrid',
|
||||||
// rowGridOrigin: [],
|
// rowGridOrigin: [],
|
||||||
detailList: myDetail,
|
detailList: myDetail,
|
||||||
|
itemsPerPage: 10,
|
||||||
|
itemsPerPageArray: [10, 20, 30],
|
||||||
|
limit: 20,
|
||||||
|
page: 1,
|
||||||
|
totalCount: 0,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -160,7 +172,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 });
|
||||||
@ -196,16 +211,15 @@ export default {
|
|||||||
// chkOpenTabList: "chkOpenTabList"
|
// chkOpenTabList: "chkOpenTabList"
|
||||||
// }),
|
// }),
|
||||||
init() {
|
init() {
|
||||||
// this.layoutInit();
|
this.layoutInit();
|
||||||
this.gridInit();
|
this.gridInit();
|
||||||
},
|
},
|
||||||
// layoutInit() {
|
layoutInit() {
|
||||||
// const searchFilterHeight = this.$refs.searchFilter.offsetHeight;
|
this.$refs.contents.style.height = 'auto';
|
||||||
// this.$refs.contents.style.height = `calc(100% - ${searchFilterHeight}px)`;
|
},
|
||||||
// },
|
|
||||||
gridInit() {
|
gridInit() {
|
||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
const gridHeight = this.$refs.gridParent.offsetHeight;
|
||||||
|
|
||||||
const myOptions = {
|
const myOptions = {
|
||||||
scrollX: false,
|
scrollX: false,
|
||||||
@ -218,14 +232,14 @@ export default {
|
|||||||
|
|
||||||
const _this = this;
|
const _this = this;
|
||||||
const myColumns = [
|
const myColumns = [
|
||||||
{ header: 'No.', name: 'batchLogSeq', align: 'center', width: 100 },
|
{ header: 'No.', name: 'batchLogSeq', align: 'right', width: 90 },
|
||||||
{ header: '배치ID', name: 'batchId', align: 'center', 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: 'center', width: 80 },
|
{ header: '실행 일자', name: 'execDt', align: 'right', width: 70 },
|
||||||
{
|
{
|
||||||
header: '실행 결과',
|
header: '실행 결과',
|
||||||
name: 'execRsltCd',
|
name: 'execRsltCd',
|
||||||
align: 'center',
|
align: 'left',
|
||||||
width: 80,
|
width: 80,
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
let retVal = '';
|
let retVal = '';
|
||||||
@ -242,7 +256,7 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '배치 시작 일시',
|
header: '배치 시작 일시',
|
||||||
name: 'batchStrtDttm',
|
name: 'batchStrtDttm',
|
||||||
align: 'center',
|
align: 'left',
|
||||||
width: 160,
|
width: 160,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -251,9 +265,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 },
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -273,6 +287,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',
|
||||||
@ -281,8 +300,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,
|
||||||
@ -301,6 +336,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,
|
||||||
@ -360,6 +396,12 @@ export default {
|
|||||||
}
|
}
|
||||||
return retVal;
|
return retVal;
|
||||||
},
|
},
|
||||||
|
changeGrid: async function (pageNum, limit) {
|
||||||
|
this.page = pageNum;
|
||||||
|
this.limit = limit;
|
||||||
|
|
||||||
|
this.search();
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -250,7 +250,6 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '요일',
|
header: '요일',
|
||||||
name: 'dtNm',
|
name: 'dtNm',
|
||||||
align: 'center',
|
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
return value + '요일';
|
return value + '요일';
|
||||||
},
|
},
|
||||||
@ -258,7 +257,6 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '구분',
|
header: '구분',
|
||||||
name: 'hldyFg',
|
name: 'hldyFg',
|
||||||
align: 'center',
|
|
||||||
essential: true,
|
essential: true,
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
return value == 1 ? '휴일' : '평일';
|
return value == 1 ? '휴일' : '평일';
|
||||||
|
@ -46,19 +46,21 @@
|
|||||||
icon="delete">삭제</a-button>
|
icon="delete">삭제</a-button>
|
||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" class="mt-5">
|
<v-col :cols="12" class="mt-5 pb-4">
|
||||||
<v-card-title class="custom-title-6 pa-0">{{ viewActionData.title }}</v-card-title>
|
<v-card-title class="custom-title-6 pa-0">{{ viewActionData.title }}</v-card-title>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" style="min-height: 30vh;" class="pa-0">
|
<v-col :cols="12" style="min-height: 50vh;" class="pa-0 custom-view">
|
||||||
<viewer v-if="viewActionData.viewerFlag" ref="tuiViewer" height="inherit"
|
<v-card class="pa-3" style="overflow-y:auto;">
|
||||||
:initialValue="viewActionData.content" theme="white"
|
<viewer v-if="viewActionData.viewerFlag" ref="tuiViewer" height="inherit"
|
||||||
:class="[isDarkMode ? 'theme--white' : 'theme--black', 'custom-view pa-3']" />
|
:initialValue="viewActionData.content" theme="white"
|
||||||
|
:class="[isDarkMode ? 'theme--white' : 'theme--black']" />
|
||||||
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="6" class="mt-5">
|
<v-col :cols="6" class="mt-5">
|
||||||
<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">
|
<div v-for="fileData in viewActionData.fileData" :key="fileData.apndFileId" class="file-item" style="background-color: unset;">
|
||||||
<a @click.prevent="downloadFile(fileData)">
|
<a @click.prevent="downloadFile(fileData)">
|
||||||
<div class="d-flex justify-start search-box-label">
|
<div class="d-flex justify-start search-box-label">
|
||||||
<v-icon>mdi-paperclip</v-icon>
|
<v-icon>mdi-paperclip</v-icon>
|
||||||
@ -86,7 +88,8 @@
|
|||||||
</v-text-field>
|
</v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" style="min-height: calc(100vh - 450px);">
|
<v-col :cols="12" style="min-height: calc(100vh - 450px);">
|
||||||
<editor ref="tuiEditor" height="100%" initialEditType="wysiwyg" />
|
<editor ref="tuiEditor" height="100%" initialEditType="wysiwyg"
|
||||||
|
:class="[isDarkMode ? 'toastui-editor-dark' : 'toastui-editor-light']"/>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
<v-col :cols="6" class="mt-5">
|
<v-col :cols="6" class="mt-5">
|
||||||
@ -132,7 +135,8 @@
|
|||||||
</v-text-field>
|
</v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" style="height: calc(100vh - 270px);" class="mt-2">
|
<v-col :cols="12" style="height: calc(100vh - 270px);" class="mt-2">
|
||||||
<editor ref="tuiReplyEditor" height="100%" initialEditType="wysiwyg" />
|
<editor ref="tuiReplyEditor" height="100%" initialEditType="wysiwyg"
|
||||||
|
:class="[isDarkMode ? 'toastui-editor-dark' : 'toastui-editor-light']"/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="6" class="mt-5">
|
<v-col :cols="6" class="mt-5">
|
||||||
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
||||||
@ -179,7 +183,8 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" style="height: calc(90vh - 270px);" class="mt-4">
|
<v-col :cols="12" style="height: calc(90vh - 270px);" class="mt-4">
|
||||||
<editor ref="tuiUpdateEditor" height="100%" initialEditType="wysiwyg"
|
<editor ref="tuiUpdateEditor" height="100%" initialEditType="wysiwyg"
|
||||||
:initialValue="updateActionData.content" />
|
:initialValue="updateActionData.content"
|
||||||
|
:class="[isDarkMode ? 'toastui-editor-dark' : 'toastui-editor-light']"/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="6" class="mt-5">
|
<v-col :cols="6" class="mt-5">
|
||||||
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
||||||
@ -187,13 +192,26 @@
|
|||||||
<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">
|
||||||
<div class="file-item-detail">
|
<div class="file-item-detail">
|
||||||
<v-icon>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>
|
||||||
</div>
|
</div>
|
||||||
<a-icon type="delete" class="v-icon pointer"
|
<a-icon type="delete" class="v-icon pointer"
|
||||||
@click="updateActionData.fileData.splice(index, 1)" />
|
@click="updateActionData.fileData.splice(index, 1)" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="" v-if="updateActionData.currentFileList">
|
||||||
|
<div v-for="(fileData, index) in updateActionData.currentFileList"
|
||||||
|
:key="fileData.apndFileId" class="file-item d-flex justify-space-between">
|
||||||
|
<div class="file-item-detail">
|
||||||
|
<v-icon style="font-size: 18px;">mdi-paperclip</v-icon>
|
||||||
|
<span @click.prevent="downloadFile(fileData)" href="#"
|
||||||
|
class="file-item-name pointer">{{ fileData.apndFileNm + '.' +
|
||||||
|
fileData.apndFileExt }}</span>
|
||||||
|
</div>
|
||||||
|
<a-icon type="delete" class="v-icon pointer"
|
||||||
|
@click="addFileToDeleteFileList(fileData)" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<a-button class="mt-2" icon="upload" @click="$refs.updateInputFile.$refs.input.click()">
|
<a-button class="mt-2" icon="upload" @click="$refs.updateInputFile.$refs.input.click()">
|
||||||
업로드
|
업로드
|
||||||
</a-button>
|
</a-button>
|
||||||
@ -1044,7 +1062,7 @@ const defaultData = {
|
|||||||
.custom-view {
|
.custom-view {
|
||||||
border: 1px solid;
|
border: 1px solid;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
height: 100%;
|
height: 0;
|
||||||
|
|
||||||
@each $theme in dark, light {
|
@each $theme in dark, light {
|
||||||
@include theme($theme);
|
@include theme($theme);
|
||||||
@ -1062,8 +1080,13 @@ const defaultData = {
|
|||||||
color: #1677FF
|
color: #1677FF
|
||||||
}
|
}
|
||||||
|
|
||||||
.toastui-editor-mode-switch .tab-item {
|
.toastui-editor-light .toastui-editor-mode-switch .tab-item {
|
||||||
color: #000000E0
|
color: #000000E0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.v-icon.anticon-delete svg {
|
||||||
|
width: 14px;
|
||||||
|
height: 14px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -103,21 +103,6 @@ export default {
|
|||||||
gridName: 'rowGrid',
|
gridName: 'rowGrid',
|
||||||
// rowGridOrigin: [],
|
// rowGridOrigin: [],
|
||||||
detailList: myDetail,
|
detailList: myDetail,
|
||||||
|
|
||||||
dataPathMock: {
|
|
||||||
'rowGrid': {
|
|
||||||
column: [
|
|
||||||
{ header: '프로그램ID', name: 'field1', align: 'left' },
|
|
||||||
{ header: '프로그램덤', name: 'field2', align: 'left' },
|
|
||||||
{ header: '타임', name: 'field3', align: 'left' },
|
|
||||||
{ header: '사용여부', name: 'field4', align: 'left' }
|
|
||||||
],
|
|
||||||
option: {
|
|
||||||
scrollY: false,
|
|
||||||
scrollX: false,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -189,17 +174,17 @@ export default {
|
|||||||
const gridHeight = this.$refs.gridParent.offsetHeight - 36;
|
const gridHeight = this.$refs.gridParent.offsetHeight - 36;
|
||||||
|
|
||||||
const myOptions = {
|
const myOptions = {
|
||||||
scrollX: false,
|
scrollY: true,
|
||||||
};
|
};
|
||||||
// console.log("this.pageData", this.pageData)
|
// console.log("this.pageData", this.pageData)
|
||||||
const _this = this;
|
const _this = this;
|
||||||
const myColumns = [
|
const myColumns = [
|
||||||
{ header: '프로그램ID', name: 'prgmId', align: 'center' },
|
{ header: '프로그램ID', name: 'prgmId', align: 'left' },
|
||||||
{ header: '프로그램명', name: 'prgmNm' },
|
{ header: '프로그램명', name: 'prgmNm', align: 'left' },
|
||||||
{
|
{
|
||||||
header: '타입',
|
header: '타입',
|
||||||
name: 'prgmTpCd',
|
name: 'prgmTpCd',
|
||||||
align: 'center',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
return value ? (value === '1' ? '프로그램' : '팝업') : null;
|
return value ? (value === '1' ? '프로그램' : '팝업') : null;
|
||||||
},
|
},
|
||||||
@ -207,7 +192,7 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '사용여부',
|
header: '사용여부',
|
||||||
name: 'useFg',
|
name: 'useFg',
|
||||||
align: 'center',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
value = value === true ? '1' : '0';
|
value = value === true ? '1' : '0';
|
||||||
const newValue = _this.pageData.selectUseFgList.filter(
|
const newValue = _this.pageData.selectUseFgList.filter(
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
|
<CommonPageTitle />
|
||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="mainDiv" class="l-layout">
|
<div ref="mainDiv" class="l-layout">
|
||||||
|
<CommonPageTitle/>
|
||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
@ -12,7 +13,6 @@
|
|||||||
dataKey="searchAddGrp"
|
dataKey="searchAddGrp"
|
||||||
:sendParam="{ useFg: '1' }"
|
:sendParam="{ useFg: '1' }"
|
||||||
:addAll="true"
|
:addAll="true"
|
||||||
:iconShow="true"
|
|
||||||
customClass="select-large"
|
customClass="select-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -22,7 +22,6 @@
|
|||||||
label="추가 정보명"
|
label="추가 정보명"
|
||||||
valueNm="addInfoNm"
|
valueNm="addInfoNm"
|
||||||
:searchOption="true"
|
:searchOption="true"
|
||||||
:iconShow="true"
|
|
||||||
customClass="input-large"
|
customClass="input-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -289,7 +288,7 @@ export default {
|
|||||||
header: 'Data 형식',
|
header: 'Data 형식',
|
||||||
name: 'addInfoDataKind',
|
name: 'addInfoDataKind',
|
||||||
minWidth: 85,
|
minWidth: 85,
|
||||||
align: 'center',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
let retVal = '';
|
let retVal = '';
|
||||||
const newValue = _this.pageData.addInfoDataKindList.filter(
|
const newValue = _this.pageData.addInfoDataKindList.filter(
|
||||||
@ -306,7 +305,7 @@ export default {
|
|||||||
header: '사용여부',
|
header: '사용여부',
|
||||||
name: 'useFg',
|
name: 'useFg',
|
||||||
minWidth: 85,
|
minWidth: 85,
|
||||||
align: 'center',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
let retVal = '';
|
let retVal = '';
|
||||||
value = value === true ? '1' : '0';
|
value = value === true ? '1' : '0';
|
||||||
@ -336,8 +335,7 @@ export default {
|
|||||||
this.search();
|
this.search();
|
||||||
},
|
},
|
||||||
async search() {
|
async search() {
|
||||||
//process
|
this.loadGrid = false;
|
||||||
this.loadGrid = true;
|
|
||||||
await this.getRowGridData();
|
await this.getRowGridData();
|
||||||
await this.setPageData({
|
await this.setPageData({
|
||||||
isFind: false,
|
isFind: false,
|
||||||
@ -547,7 +545,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -559,7 +557,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
list: 'addInfoDataKindList',
|
list: 'addInfoDataKindList',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
itemValue: 'commCd',
|
itemValue: 'commCd',
|
||||||
@ -574,7 +572,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2 d-flex align-items-center',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
@ -587,7 +585,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -599,7 +597,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -611,7 +609,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 mt-2',
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -623,8 +621,11 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
</script>
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
@import '@/assets/scss/common.scss';
|
||||||
|
</style>
|
||||||
|
@ -840,7 +840,7 @@ 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" },
|
{ header: "알람 내용", name: "alrmMsg", align: "left", resizable: false },
|
||||||
{ 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 },
|
||||||
];
|
];
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
|
<CommonPageTitle/>
|
||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
@ -12,6 +13,7 @@
|
|||||||
dataKey="searchLocKind"
|
dataKey="searchLocKind"
|
||||||
:sendParam="{ commGrpCd: 'EM_LOC_KIND', useFg: '1' }"
|
:sendParam="{ commGrpCd: 'EM_LOC_KIND', useFg: '1' }"
|
||||||
:addAll="true"
|
:addAll="true"
|
||||||
|
customClass="select-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2.5">
|
||||||
@ -22,6 +24,7 @@
|
|||||||
dataKey="searchEccKind"
|
dataKey="searchEccKind"
|
||||||
:sendParam="{ commGrpCd: 'EM_ECC_KIND', useFg: '1' }"
|
:sendParam="{ commGrpCd: 'EM_ECC_KIND', useFg: '1' }"
|
||||||
:addAll="true"
|
:addAll="true"
|
||||||
|
customClass="select-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<!-- 사업장 -->
|
<!-- 사업장 -->
|
||||||
@ -42,6 +45,7 @@
|
|||||||
dataKey="useFg"
|
dataKey="useFg"
|
||||||
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
||||||
:addAll="true"
|
:addAll="true"
|
||||||
|
customClass="select-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2.5">
|
||||||
@ -52,6 +56,7 @@
|
|||||||
:labelCols="12"
|
:labelCols="12"
|
||||||
:textCols="12"
|
:textCols="12"
|
||||||
:searchOption="true"
|
:searchOption="true"
|
||||||
|
customClass="input-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col class="text-right">
|
<v-col class="text-right">
|
||||||
@ -64,6 +69,7 @@
|
|||||||
:is="'SelectBlocMstr'"
|
:is="'SelectBlocMstr'"
|
||||||
ref="SelectBlocMstr"
|
ref="SelectBlocMstr"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
|
customClass="select-large"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</v-row>
|
</v-row>
|
||||||
@ -99,7 +105,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="7" style="min-height:75vh;">
|
<v-col :cols="7" style="min-height:75vh;">
|
||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<v-card-title class="custom-title-4" style="min-height:76px;"
|
<v-card-title class="custom-title-4 pb-0" style="min-height:65px;"
|
||||||
>공정 상세
|
>공정 상세
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<div class="px-5" style="height:calc(100% - 76px)">
|
<div class="px-5" style="height:calc(100% - 76px)">
|
||||||
@ -471,7 +477,7 @@ export default {
|
|||||||
header: '사용 여부',
|
header: '사용 여부',
|
||||||
name: 'useFg',
|
name: 'useFg',
|
||||||
width: gridWidth * 0.18,
|
width: gridWidth * 0.18,
|
||||||
align: 'center',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
value = value === true ? '1' : '0';
|
value = value === true ? '1' : '0';
|
||||||
const newValue = _this.pageData.useFgList.filter(
|
const newValue = _this.pageData.useFgList.filter(
|
||||||
@ -895,7 +901,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 px-4',
|
||||||
required: true,
|
required: true,
|
||||||
iconShow: true
|
iconShow: true
|
||||||
},
|
},
|
||||||
@ -921,7 +927,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'pb-0 mb-0 pr-4',
|
class: 'pb-0 mb-0 pr-4 mt-2',
|
||||||
disableContent: true,
|
disableContent: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -932,7 +938,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 mb-0 pb-0 pl-4',
|
class: 'py-2 mb-0 pb-0 px-4 mt-2',
|
||||||
list: 'locKindList',
|
list: 'locKindList',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
itemValue: 'commCd',
|
itemValue: 'commCd',
|
||||||
@ -944,13 +950,13 @@ const myDetail = [
|
|||||||
valueNm: 'upEccNm',
|
valueNm: 'upEccNm',
|
||||||
readonly: true,
|
readonly: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// 공백 처리
|
// 공백 처리
|
||||||
type: 'Label',
|
type: 'Label',
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 px-4 mt-2',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
@ -964,7 +970,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
list: 'eccKindList',
|
list: 'eccKindList',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
itemValue: 'commCd',
|
itemValue: 'commCd',
|
||||||
@ -979,7 +985,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 px-4 mt-2',
|
||||||
inputType: 'number',
|
inputType: 'number',
|
||||||
iconShow: true
|
iconShow: true
|
||||||
// onkeydown : "if(this.value > 100) this.value = 100;if(this.value < 0) this.value = 0;if(this.value == '') this.value = 0;"
|
// onkeydown : "if(this.value > 100) this.value = 100;if(this.value < 0) this.value = 0;if(this.value == '') this.value = 0;"
|
||||||
@ -992,7 +998,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
list: 'blocIdList',
|
list: 'blocIdList',
|
||||||
itemText: 'blocNm',
|
itemText: 'blocNm',
|
||||||
itemValue: 'blocId',
|
itemValue: 'blocId',
|
||||||
@ -1006,7 +1012,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 px-4 mt-2',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
required: true,
|
required: true,
|
||||||
@ -1017,7 +1023,7 @@ const myDetail = [
|
|||||||
valueNm: 'eccFg',
|
valueNm: 'eccFg',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
},
|
},
|
||||||
|
@ -365,7 +365,7 @@ export default {
|
|||||||
header: '사업장',
|
header: '사업장',
|
||||||
name: 'blocId',
|
name: 'blocId',
|
||||||
width: 100,
|
width: 100,
|
||||||
align: 'center',
|
align: 'left',
|
||||||
hidden: true,
|
hidden: true,
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
let retVal = '';
|
let retVal = '';
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<component :is="'EvtObjPop'" :parentPrgmId="myPrgmId" :item="evtObjPopItem"
|
<component :is="'EvtObjPop'" :parentPrgmId="myPrgmId" :item="evtObjPopItem"
|
||||||
customClass="select-large" />
|
class="no-gutters" customClass="select-large" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<!-- 대상일 -->
|
<!-- 대상일 -->
|
||||||
@ -29,17 +29,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="px-5 py-5">
|
||||||
<div ref="gridParent" class="h100 px-5" style="height: 100%">
|
<div ref="gridParent" class="px-5" style="height:calc(100% - 40px)">
|
||||||
<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;
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="mainDiv" class="l-layout">
|
<div ref="mainDiv" class="l-layout">
|
||||||
|
<CommonPageTitle />
|
||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
@ -49,7 +50,7 @@
|
|||||||
<v-col :cols="5" class="h100">
|
<v-col :cols="5" class="h100">
|
||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<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 custom-title-4-new"
|
<v-card-title class="pa-0 custom-title-4"
|
||||||
>검침 대상 정보</v-card-title
|
>검침 대상 정보</v-card-title
|
||||||
>
|
>
|
||||||
<Buttons
|
<Buttons
|
||||||
@ -74,7 +75,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="7" class="h100">
|
<v-col :cols="7" class="h100">
|
||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<v-card-title class="custom-title-4-new" style="min-height:76px;"
|
<v-card-title class="custom-title-4-new pb-0" style="min-height:65px;"
|
||||||
>검침대상 상세
|
>검침대상 상세
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<div class="px-5" style="height:calc(100% - 76px)">
|
<div class="px-5" style="height:calc(100% - 76px)">
|
||||||
@ -314,7 +315,7 @@ export default {
|
|||||||
header: '검침 대상 ID',
|
header: '검침 대상 ID',
|
||||||
name: 'readObjId',
|
name: 'readObjId',
|
||||||
width: 130,
|
width: 130,
|
||||||
align: 'center',
|
align: 'left',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: '검침 대상 명',
|
header: '검침 대상 명',
|
||||||
@ -384,7 +385,7 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '사용여부',
|
header: '사용여부',
|
||||||
name: 'useFg',
|
name: 'useFg',
|
||||||
align: 'center',
|
align: 'left',
|
||||||
width: 100,
|
width: 100,
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
value = value === true ? '1' : '0';
|
value = value === true ? '1' : '0';
|
||||||
@ -741,7 +742,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-2 pr-2',
|
class: 'py-2 pr-2 mt-2',
|
||||||
required: false,
|
required: false,
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
@ -753,7 +754,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2',
|
class: 'py-2 mt-2',
|
||||||
required: true,
|
required: true,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
},
|
},
|
||||||
@ -765,7 +766,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-2',
|
class: 'py-2 pr-2 mt-2',
|
||||||
list: 'readObjKindDetailList',
|
list: 'readObjKindDetailList',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
itemValue: 'commCd',
|
itemValue: 'commCd',
|
||||||
@ -780,7 +781,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2',
|
class: 'py-2 mt-2',
|
||||||
list: 'readObjGrpList',
|
list: 'readObjGrpList',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
itemValue: 'commCd',
|
itemValue: 'commCd',
|
||||||
@ -795,7 +796,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-2',
|
class: 'py-2 pr-2 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
inputType: 'number',
|
inputType: 'number',
|
||||||
},
|
},
|
||||||
@ -807,7 +808,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2',
|
class: 'py-2 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
inputType: 'number',
|
inputType: 'number',
|
||||||
},
|
},
|
||||||
@ -819,7 +820,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-2',
|
class: 'py-2 pr-2 mt-2',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
inputType: 'number',
|
inputType: 'number',
|
||||||
},
|
},
|
||||||
@ -831,7 +832,7 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2',
|
class: 'py-2 mt-2',
|
||||||
list: 'unitCdList',
|
list: 'unitCdList',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
itemValue: 'commCd',
|
itemValue: 'commCd',
|
||||||
@ -846,13 +847,24 @@ const myDetail = [
|
|||||||
cols: 6,
|
cols: 6,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2 pr-2',
|
class: 'py-2 pr-2 mt-2',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss" scoped>
|
||||||
@import '@/assets/scss/common.scss';
|
@import '@/assets/scss/common.scss';
|
||||||
|
::v-deep {
|
||||||
|
.tui-grid-layer-state {
|
||||||
|
top: 40px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tui-grid-layer-selection,
|
||||||
|
.tui-grid-cell-content-editor{
|
||||||
|
height: 36px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
</style>
|
</style>
|
@ -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>
|
||||||
|
@ -53,7 +53,8 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="7" >
|
<v-col :cols="7" >
|
||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<v-card-title class="custom-title-4" style="min-height:76px;">Data Set 상세
|
<v-card-title class="custom-title-4 pb-0 mb-2" >
|
||||||
|
Data Set 상세
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<div class="px-5" style="min-height:calc(100% - 76px)">
|
<div class="px-5" style="min-height:calc(100% - 76px)">
|
||||||
<v-tabs v-model="tab">
|
<v-tabs v-model="tab">
|
||||||
@ -284,13 +285,13 @@ export default {
|
|||||||
header: '모델링 DataSet ID',
|
header: '모델링 DataSet ID',
|
||||||
name: 'dataSetId',
|
name: 'dataSetId',
|
||||||
align: 'left',
|
align: 'left',
|
||||||
width: 180,
|
minWidth: 200,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'DataSet 명',
|
header: 'DataSet 명',
|
||||||
name: 'dataSetNm',
|
name: 'dataSetNm',
|
||||||
align: 'left',
|
align: 'left',
|
||||||
width: 200,
|
minWidth: 200,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: '사업장',
|
header: '사업장',
|
||||||
@ -311,8 +312,8 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '사용 여부',
|
header: '사용 여부',
|
||||||
name: 'useFg',
|
name: 'useFg',
|
||||||
width: 100,
|
minWidth: 200,
|
||||||
align: 'center',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
value = value === true ? '1' : '0';
|
value = value === true ? '1' : '0';
|
||||||
const newValue = _this.pageData.useFgList.filter(
|
const newValue = _this.pageData.useFgList.filter(
|
||||||
@ -321,7 +322,7 @@ export default {
|
|||||||
return newValue[0].commCdNm;
|
return newValue[0].commCdNm;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{ header: '비고', name: 'rmrk', align: 'left' },
|
{ header: '비고', name: 'rmrk', align: 'left', minWidth: 100, },
|
||||||
];
|
];
|
||||||
|
|
||||||
this.setGridColumn({
|
this.setGridColumn({
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="6" class="text-right">
|
<v-col :cols="6" class="text-right">
|
||||||
<!-- 조회버튼 -->
|
<!-- 조회버튼 -->
|
||||||
<BtnSearch style="margin-top: 20px" size="large" @click="search" />
|
<BtnSearch style="margin-top: 25px" size="large" @click="search" />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-card>
|
</v-card>
|
||||||
|
@ -14,9 +14,9 @@
|
|||||||
<!-- 대상일 -->
|
<!-- 대상일 -->
|
||||||
<component :is="'Datepicker'" :parentPrgmId="myPrgmId" :label="'대상일'" :labelCols="3" customClass="datepicker-large" />
|
<component :is="'Datepicker'" :parentPrgmId="myPrgmId" :label="'대상일'" :labelCols="3" customClass="datepicker-large" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="4" class="text-right">
|
<v-col :cols="6" class="text-right">
|
||||||
<BtnSearch @click="search" size="large" />
|
|
||||||
<!-- 조회버튼 -->
|
<!-- 조회버튼 -->
|
||||||
|
<BtnSearch @click="search" size="large" />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-card>
|
</v-card>
|
||||||
@ -47,8 +47,13 @@
|
|||||||
</v-row>
|
</v-row>
|
||||||
<div class="px-5" style="height: 80%">
|
<div class="px-5" style="height: 80%">
|
||||||
<div ref="chartParent" class="w100 h100">
|
<div ref="chartParent" class="w100 h100">
|
||||||
<component :ref="chartName" class="w100 h100" :is="loadChart ? 'Chart' : null" :parentPrgmId="myPrgmId"
|
<component
|
||||||
:chartName="chartName" />
|
:ref="chartName"
|
||||||
|
class="w100 h100"
|
||||||
|
:is="loadChart ? 'Chart' : null"
|
||||||
|
:parentPrgmId="myPrgmId"
|
||||||
|
:chartName="chartName"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
@ -68,6 +73,8 @@ import SelectBox from '@/components/common/select/SelectBox';
|
|||||||
import DateUtility from '~/plugins/dateUtility';
|
import DateUtility from '~/plugins/dateUtility';
|
||||||
import Chart from '~/components/common/Chart';
|
import Chart from '~/components/common/Chart';
|
||||||
|
|
||||||
|
import getSankeyChartOption from "~/components/common/chartoptions/sankeyChart";
|
||||||
|
|
||||||
let myTitle;
|
let myTitle;
|
||||||
let myPrgmId;
|
let myPrgmId;
|
||||||
|
|
||||||
@ -101,6 +108,8 @@ export default {
|
|||||||
selectValue01: null,
|
selectValue01: null,
|
||||||
loadChart: false,
|
loadChart: false,
|
||||||
chartName: 'sankeyChart',
|
chartName: 'sankeyChart',
|
||||||
|
sankeyChartData: [],
|
||||||
|
sankeyChartLinks: []
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -148,6 +157,16 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
isDarkMode(newVal) {
|
||||||
|
this.setChartOption({
|
||||||
|
chartKey: this.chartName,
|
||||||
|
value: getSankeyChartOption({
|
||||||
|
isDarkMode: newVal,
|
||||||
|
data: this.sankeyChartData,
|
||||||
|
links: this.sankeyChartLinks
|
||||||
|
})
|
||||||
|
});
|
||||||
|
},
|
||||||
},
|
},
|
||||||
async beforeCreate() {
|
async beforeCreate() {
|
||||||
myPrgmId = this.$route.query.prgmId;
|
myPrgmId = this.$route.query.prgmId;
|
||||||
@ -159,9 +178,6 @@ export default {
|
|||||||
},
|
},
|
||||||
async created() { },
|
async created() { },
|
||||||
async mounted() {
|
async mounted() {
|
||||||
// this.initTest();
|
|
||||||
// return;
|
|
||||||
|
|
||||||
this.init();
|
this.init();
|
||||||
// document.querySelector('.icon_arrow').style.width = document.querySelector('.iconArrowCols').clientWidth-20 + "px";
|
// document.querySelector('.icon_arrow').style.width = document.querySelector('.iconArrowCols').clientWidth-20 + "px";
|
||||||
},
|
},
|
||||||
@ -176,10 +192,8 @@ export default {
|
|||||||
...mapActions({
|
...mapActions({
|
||||||
getCodeList: 'modules/search/getCodeList',
|
getCodeList: 'modules/search/getCodeList',
|
||||||
}),
|
}),
|
||||||
initTest() {
|
initTestChart() {
|
||||||
|
const randomNumber = n => Math.floor(Math.random() * n) + 1;
|
||||||
const randomNumber = n => Math.floor(Math.random() * n) + 1;
|
|
||||||
|
|
||||||
const makeData = [
|
const makeData = [
|
||||||
{ name: 'A' },
|
{ name: 'A' },
|
||||||
{ name: 'B' },
|
{ name: 'B' },
|
||||||
@ -205,45 +219,13 @@ export default {
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
const chartOption = {
|
this.sankeyChartData = makeData;
|
||||||
backgroundColor: '#FFFFFF',
|
this.sankeyChartLinks = makeLinks;
|
||||||
series: [
|
const chartOption = getSankeyChartOption({
|
||||||
{
|
isDarkMode: this.isDarkMode,
|
||||||
layoutIterations: 0,
|
data: makeData,
|
||||||
type: 'sankey',
|
links: makeLinks
|
||||||
left: 25.0,
|
});
|
||||||
top: 20.0,
|
|
||||||
right: 120,
|
|
||||||
bottom: 50.0,
|
|
||||||
// nodeWidth:10,
|
|
||||||
nodeGap: 10,
|
|
||||||
nodeAlign: 'left',
|
|
||||||
data: makeData,
|
|
||||||
links: makeLinks,
|
|
||||||
lineStyle: {
|
|
||||||
color: 'source',
|
|
||||||
curveness: 0.5,
|
|
||||||
},
|
|
||||||
// triggerEvent: true,
|
|
||||||
itemStyle: {
|
|
||||||
//color: '#1f77b4',
|
|
||||||
//borderColor: '#1f77b4'
|
|
||||||
},
|
|
||||||
label: {
|
|
||||||
color: this.isDarkMode
|
|
||||||
? 'rgba(250,250,250,0.7)'
|
|
||||||
: 'rgba(0,0,0,0.7)',
|
|
||||||
fontFamily: 'Arial',
|
|
||||||
fontSize: 12,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
tooltip: {
|
|
||||||
trigger: 'item',
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
this.setChartOption({ chartKey: this.chartName, value: chartOption });
|
this.setChartOption({ chartKey: this.chartName, value: chartOption });
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.loadChart = true;
|
this.loadChart = true;
|
||||||
@ -254,7 +236,11 @@ export default {
|
|||||||
this.setFromDt();
|
this.setFromDt();
|
||||||
},
|
},
|
||||||
async search() {
|
async search() {
|
||||||
await this.getChartData();
|
try{
|
||||||
|
await this.getChartData();
|
||||||
|
}catch(err){
|
||||||
|
this.initTestChart();
|
||||||
|
}
|
||||||
this.setPageData({
|
this.setPageData({
|
||||||
isFind: false,
|
isFind: false,
|
||||||
});
|
});
|
||||||
@ -458,43 +444,13 @@ export default {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const chartOption = {
|
this.sankeyChartData = makeData;
|
||||||
backgroundColor: '#FFFFFF',
|
this.sankeyChartLinks = makeLinks;
|
||||||
series: [
|
const chartOption = getSankeyChartOption({
|
||||||
{
|
isDarkMode: this.isDarkMode,
|
||||||
layoutIterations: 0,
|
data: makeData,
|
||||||
type: 'sankey',
|
links: makeLinks
|
||||||
left: 25.0,
|
});
|
||||||
top: 20.0,
|
|
||||||
right: 120,
|
|
||||||
bottom: 50.0,
|
|
||||||
// nodeWidth:10,
|
|
||||||
nodeGap: 10,
|
|
||||||
nodeAlign: 'left',
|
|
||||||
data: makeData,
|
|
||||||
links: makeLinks,
|
|
||||||
lineStyle: {
|
|
||||||
color: 'source',
|
|
||||||
curveness: 0.5,
|
|
||||||
},
|
|
||||||
// triggerEvent: true,
|
|
||||||
itemStyle: {
|
|
||||||
//color: '#1f77b4',
|
|
||||||
//borderColor: '#1f77b4'
|
|
||||||
},
|
|
||||||
label: {
|
|
||||||
color: this.isDarkMode
|
|
||||||
? 'rgba(250,250,250,0.7)'
|
|
||||||
: 'rgba(0,0,0,0.7)',
|
|
||||||
fontFamily: 'Arial',
|
|
||||||
fontSize: 12,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
tooltip: {
|
|
||||||
trigger: 'item',
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
this.setChartOption({ chartKey: this.chartName, value: chartOption });
|
this.setChartOption({ chartKey: this.chartName, value: chartOption });
|
||||||
|
|
||||||
|
@ -62,20 +62,20 @@
|
|||||||
<v-card-title class="pa-0">설비별 효율지표 Trend</v-card-title>
|
<v-card-title class="pa-0">설비별 효율지표 Trend</v-card-title>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="4" class="d-flex justify-space-end" >
|
<v-col :cols="4" class="d-flex justify-space-end" >
|
||||||
<component
|
<component
|
||||||
class="text-right mr-2"
|
class="text-right mr-2"
|
||||||
ref="EqpmSelectPop"
|
ref="EqpmSelectPop"
|
||||||
label=""
|
label=""
|
||||||
placeholder="설비..."
|
placeholder="설비..."
|
||||||
is="EqpmSelectPop"
|
is="EqpmSelectPop"
|
||||||
valueNm="eqpmId"
|
valueNm="eqpmId"
|
||||||
:textCols="12"
|
:textCols="12"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
:eqpmGrpDisabled="true"
|
:eqpmGrpDisabled="true"
|
||||||
:fabDisabled="true"
|
:fabDisabled="true"
|
||||||
:iconShow="false"
|
:iconShow="false"
|
||||||
:isMulti="true"
|
:isMulti="true"
|
||||||
/>
|
/>
|
||||||
<a-button @click="getEqpmData()" type="primary" >조회</a-button>
|
<a-button @click="getEqpmData()" type="primary" >조회</a-button>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -304,7 +304,7 @@ export default {
|
|||||||
$(elDiv).addClass('tui-grid-cell-content d-flex justify-space-between');
|
$(elDiv).addClass('tui-grid-cell-content d-flex justify-space-between');
|
||||||
const el2 = document.createElement('button');
|
const el2 = document.createElement('button');
|
||||||
$(el2).addClass('edit-btn blue--text');
|
$(el2).addClass('edit-btn blue--text');
|
||||||
el2.innerText = '편집하다';
|
el2.innerText = '수정';
|
||||||
elDiv.appendChild(el2);
|
elDiv.appendChild(el2);
|
||||||
|
|
||||||
this.el = elDiv;
|
this.el = elDiv;
|
||||||
@ -415,7 +415,7 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '구분',
|
header: '구분',
|
||||||
name: 'gubun',
|
name: 'gubun',
|
||||||
width: 80,
|
width: 200,
|
||||||
align: 'left',
|
align: 'left',
|
||||||
// hidden: true,
|
// hidden: true,
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
@ -447,7 +447,7 @@ export default {
|
|||||||
myColumns.push({
|
myColumns.push({
|
||||||
header: i.toString() + '월',
|
header: i.toString() + '월',
|
||||||
name: qty,
|
name: qty,
|
||||||
width: 73,
|
width: 80,
|
||||||
align: 'right',
|
align: 'right',
|
||||||
editor: 'text',
|
editor: 'text',
|
||||||
formatter: this.numberFormatter,
|
formatter: this.numberFormatter,
|
||||||
|
@ -52,6 +52,8 @@
|
|||||||
</v-card-title>
|
</v-card-title>
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col :cols="3" v-for="(item, i) in value.chartData" :key="'key2_' + i">
|
<v-col :cols="3" v-for="(item, i) in value.chartData" :key="'key2_' + i">
|
||||||
|
<v-card>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="v-box"
|
class="v-box"
|
||||||
style="height: 330px; position: relative"
|
style="height: 330px; position: relative"
|
||||||
@ -73,7 +75,7 @@
|
|||||||
<!-- Information area -->
|
<!-- Information area -->
|
||||||
<v-col :cols="5" style="height: 100%">
|
<v-col :cols="5" style="height: 100%">
|
||||||
<div style="height: 10%">
|
<div style="height: 10%">
|
||||||
<strong style="font-size: 20px; font-weight: 600">{{
|
<strong class="v-card v-card__title pa-0" >{{
|
||||||
item.fabNm
|
item.fabNm
|
||||||
}}</strong>
|
}}</strong>
|
||||||
</div>
|
</div>
|
||||||
@ -123,6 +125,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
</div>
|
</div>
|
||||||
|
</v-card>
|
||||||
|
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</div>
|
</div>
|
||||||
|
@ -97,14 +97,25 @@
|
|||||||
<v-card-title class="d-flex align-center justify-space-between pa-5">
|
<v-card-title class="d-flex align-center justify-space-between pa-5">
|
||||||
<span class="tit ft-size_20 ft-weight_600">설비별 현황 리스트</span>
|
<span class="tit ft-size_20 ft-weight_600">설비별 현황 리스트</span>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<div class="px-5" style="height: calc(100% - 106px)">
|
<div class="px-5" style="height: calc(100% - 56px)">
|
||||||
<div ref="gridParent" class="w100 h100">
|
<div ref="gridParent" class="w100 h100" style="height: calc(100% - 166px)">
|
||||||
<component
|
<component
|
||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
:is="loadGrid ? 'Grid' : null"
|
:is="loadGrid ? 'Grid' : null"
|
||||||
:gridName="gridName"
|
:gridName="gridName"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<div class="pagination-wrapper">
|
||||||
|
<pagination
|
||||||
|
id="pagination"
|
||||||
|
:total-count="totalCount"
|
||||||
|
:page-num="page"
|
||||||
|
:limit="limit"
|
||||||
|
:itemsPerPageArray="itemsPerPageArray"
|
||||||
|
@loadData="changeGrid"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
<!--
|
<!--
|
||||||
<component
|
<component
|
||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
@ -142,6 +153,7 @@ import SelectBox from "@/components/common/select/SelectBox";
|
|||||||
import SelectCmCycle from "@/components/common/select/SelectCmCycle";
|
import SelectCmCycle from "@/components/common/select/SelectCmCycle";
|
||||||
import DatePicker from "@/components/common/Datepicker";
|
import DatePicker from "@/components/common/Datepicker";
|
||||||
import Grid from "~/components/common/Grid";
|
import Grid from "~/components/common/Grid";
|
||||||
|
import pagination from "~/components/common/Pagination";
|
||||||
|
|
||||||
let myTitle;
|
let myTitle;
|
||||||
let myPrgmId;
|
let myPrgmId;
|
||||||
@ -168,6 +180,7 @@ export default {
|
|||||||
SelectCmCycle,
|
SelectCmCycle,
|
||||||
DatePicker,
|
DatePicker,
|
||||||
Grid,
|
Grid,
|
||||||
|
pagination,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -188,6 +201,10 @@ export default {
|
|||||||
gridName: "grid01",
|
gridName: "grid01",
|
||||||
|
|
||||||
enrgUseMainIdxDesc: [],
|
enrgUseMainIdxDesc: [],
|
||||||
|
itemsPerPageArray: [10, 20, 30],
|
||||||
|
limit: 10,
|
||||||
|
page: 1,
|
||||||
|
totalCount: 0,
|
||||||
|
|
||||||
// tooltipData: {
|
// tooltipData: {
|
||||||
// show: false,
|
// show: false,
|
||||||
@ -263,6 +280,11 @@ export default {
|
|||||||
this.chkOpenTabList({ key: "destroy", prgmId: myPrgmId });
|
this.chkOpenTabList({ key: "destroy", prgmId: myPrgmId });
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
changeGrid: async function (pageNum, limit) {
|
||||||
|
this.page = pageNum;
|
||||||
|
this.limit = limit;
|
||||||
|
this.search();
|
||||||
|
},
|
||||||
async init() {
|
async init() {
|
||||||
await this.getSelectValueList();
|
await this.getSelectValueList();
|
||||||
await this.setQueryParams();
|
await this.setQueryParams();
|
||||||
@ -367,50 +389,57 @@ export default {
|
|||||||
const _this = this;
|
const _this = this;
|
||||||
// Define custom button
|
// Define custom button
|
||||||
class CustomButton {
|
class CustomButton {
|
||||||
constructor(props,pageData) {
|
constructor(props, pageData) {
|
||||||
const { grid, rowKey, columnInfo } = props;
|
const { grid, rowKey, columnInfo } = props;
|
||||||
const gridData = grid.store.data.rawData;
|
const gridData = grid.store.data.rawData;
|
||||||
const value = gridData[rowKey][columnInfo.name];
|
const value = gridData[rowKey][columnInfo.name];
|
||||||
const onClickCallback = columnInfo.renderer.options.onClick;
|
const onClickCallback = columnInfo.renderer.options.onClick;
|
||||||
|
|
||||||
this.disabled = columnInfo.renderer.options.disabled || false;
|
this.disabled = columnInfo.renderer.options.disabled || false;
|
||||||
const elDiv = document.createElement('div');
|
const elDiv = document.createElement("div");
|
||||||
elDiv.innerHTML = `<span>${value}</span>`;
|
elDiv.innerHTML = `<span>${value}</span>`;
|
||||||
$(elDiv).addClass('tui-grid-cell-content d-flex justify-space-between');
|
$(elDiv).addClass("tui-grid-cell-content d-flex justify-space-between");
|
||||||
const el2 = document.createElement('button');
|
const el2 = document.createElement("button");
|
||||||
$(el2).addClass('edit-btn blue--text');
|
$(el2).addClass("edit-btn blue--text");
|
||||||
el2.innerText = '보기';
|
el2.innerText = "보기";
|
||||||
elDiv.appendChild(el2);
|
elDiv.appendChild(el2);
|
||||||
this.el = elDiv;
|
this.el = elDiv;
|
||||||
if (!this.disabled && typeof onClickCallback === 'function') {
|
if (!this.disabled && typeof onClickCallback === "function") {
|
||||||
// click 이벤트
|
// click 이벤트
|
||||||
this.el.addEventListener('click', function(event) {
|
this.el.addEventListener("click", function (event) {
|
||||||
onClickCallback(rowKey);
|
onClickCallback(rowKey);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
getElement() {
|
getElement() {
|
||||||
return this.el;
|
return this.el;
|
||||||
}
|
}
|
||||||
getValue() {
|
getValue() {
|
||||||
// return this.el.value;
|
// return this.el.value;
|
||||||
}
|
}
|
||||||
mounted() {
|
mounted() {
|
||||||
// this.el.focus();
|
// this.el.focus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var columnList = [
|
var columnList = [
|
||||||
{ header: "NO", name: "no", align: "right", width: 80 },
|
{ header: "NO", name: "no", align: "right", width: 80 },
|
||||||
{ header: "fabId", name: "fabId", hidden: true },
|
{ header: "fabId", name: "fabId", hidden: true },
|
||||||
{ header: "FAB", name: "fabNm", align: "left" },
|
{ header: "FAB", name: "fabNm", align: "left" },
|
||||||
{ header: "eqpmGrpId", name: "eqpmGrpId", hidden: true },
|
{ header: "eqpmGrpId", name: "eqpmGrpId", hidden: true },
|
||||||
{ header: "설비그룹", name: "eqpmGrpNm", align: "left", width: 200,
|
{
|
||||||
|
header: "설비그룹",
|
||||||
|
name: "eqpmGrpNm",
|
||||||
|
align: "left",
|
||||||
|
width: 200,
|
||||||
|
},
|
||||||
|
{ header: "eqpmId", name: "eqpmId", hidden: true },
|
||||||
|
{ header: "설비명", name: "eqpmNm", align: "left", width: 200,
|
||||||
// Render custom button to switch page instead of double click on row
|
// Render custom button to switch page instead of double click on row
|
||||||
renderer: {
|
renderer: {
|
||||||
type: CustomButton,
|
type: CustomButton,
|
||||||
options: {
|
options: {
|
||||||
value: '보기',
|
value: "보기",
|
||||||
onClick: (rowKey) => {
|
onClick: (rowKey) => {
|
||||||
const gridInstance = this.$refs[this.gridName].gridInstance;
|
const gridInstance = this.$refs[this.gridName].gridInstance;
|
||||||
const eventRowData = gridInstance.invoke("getRow", rowKey);
|
const eventRowData = gridInstance.invoke("getRow", rowKey);
|
||||||
@ -434,12 +463,10 @@ export default {
|
|||||||
key: key,
|
key: key,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
{ header: "eqpmId", name: "eqpmId", hidden: true },
|
|
||||||
{ header: "설비명", name: "eqpmNm", align: "left", width: 200 },
|
|
||||||
{
|
{
|
||||||
header: "계획량",
|
header: "계획량",
|
||||||
name: "planVal",
|
name: "planVal",
|
||||||
@ -546,10 +573,10 @@ export default {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
pageOptions: {
|
// pageOptions: {
|
||||||
useClient: true,
|
// useClient: true,
|
||||||
perPage: 3,
|
// perPage: 3,
|
||||||
}
|
// }
|
||||||
};
|
};
|
||||||
|
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
@ -566,26 +593,39 @@ export default {
|
|||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
this.enrgUseMainIdxDesc = [];
|
this.enrgUseMainIdxDesc = [];
|
||||||
var apiKey = null;
|
var apiKey = null;
|
||||||
|
var apiKey2 = null;
|
||||||
var params = {
|
var params = {
|
||||||
fabId: this.selectValue01,
|
fabId: this.selectValue01,
|
||||||
eqpmKindId: this.selectValue02,
|
eqpmKindId: this.selectValue02,
|
||||||
eqpmGrpId: this.selectValue03,
|
eqpmGrpId: this.selectValue03,
|
||||||
fromDt: this.pageData.fromDt,
|
fromDt: this.pageData.fromDt,
|
||||||
|
limit: this.limit,
|
||||||
|
page: this.page,
|
||||||
|
offset: (this.page - 1) * this.limit, // MariaDB Query에서 직접 계산이 안됨
|
||||||
};
|
};
|
||||||
|
|
||||||
if (this.pageData.cmCycle == "CYC_DAY") {
|
if (this.pageData.cmCycle == "CYC_DAY") {
|
||||||
params["fromDtMm"] = String(this.pageData.fromDt).substring(0, 6);
|
params["fromDtMm"] = String(this.pageData.fromDt).substring(0, 6);
|
||||||
apiKey = "selectDailyEnrgUseMainIdx";
|
apiKey = "selectDailyEnrgUseMainIdx";
|
||||||
|
apiKey2 = "selectDailyEnrgUseMainIdxPageTotal";
|
||||||
} else if (this.pageData.cmCycle == "CYC_MONTH") {
|
} else if (this.pageData.cmCycle == "CYC_MONTH") {
|
||||||
apiKey = "selectMonthlyEnrgUseMainIdx";
|
apiKey = "selectMonthlyEnrgUseMainIdx";
|
||||||
|
apiKey2 = "selectMonthlyEnrgUseMainIdxPageTotal";
|
||||||
}
|
}
|
||||||
|
|
||||||
var res = await this.postApiReturn({
|
var res = await this.postApiReturn({
|
||||||
apiKey: apiKey,
|
apiKey: apiKey,
|
||||||
resKey: "eqpmIndMntrData",
|
resKey: "eqpmIndMntrData",
|
||||||
sendParam: params,
|
sendParam: params,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var res2 = await this.postApiReturn({
|
||||||
|
apiKey: apiKey2,
|
||||||
|
resKey: "eqpmIndMntrPageTotal",
|
||||||
|
sendParam: params,
|
||||||
|
});
|
||||||
|
|
||||||
|
this.totalCount = res2[0].totalcount;
|
||||||
|
|
||||||
this.enrgUseMainIdxDesc = await this.postApiReturn({
|
this.enrgUseMainIdxDesc = await this.postApiReturn({
|
||||||
apiKey: "selectEnrgUseMainIdxDesc",
|
apiKey: "selectEnrgUseMainIdxDesc",
|
||||||
resKey: "eqpmIndMntrData",
|
resKey: "eqpmIndMntrData",
|
||||||
@ -654,7 +694,7 @@ export default {
|
|||||||
// id값 설정
|
// id값 설정
|
||||||
elementList[i].id = "tooltipTargetElement_" + i;
|
elementList[i].id = "tooltipTargetElement_" + i;
|
||||||
tooltipElement.id = "tooltipElement_" + i;
|
tooltipElement.id = "tooltipElement_" + i;
|
||||||
|
tooltipElement.classList.add(this.isDarkmode ? "dark-mode" : "light-mode");
|
||||||
// element 추가
|
// element 추가
|
||||||
elementList[i].append(tooltipElement);
|
elementList[i].append(tooltipElement);
|
||||||
}
|
}
|
||||||
@ -849,5 +889,12 @@ function numberFormatter({ value }) {
|
|||||||
overflow-y: visible;
|
overflow-y: visible;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.pagination-wrapper {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
padding: 12px 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import Vue from "vue";
|
import Vue from "vue";
|
||||||
// import Antd from "ant-design-vue";
|
// import Antd from "ant-design-vue";
|
||||||
import { Row, Col, Card, Button, Checkbox, DatePicker, Select, Table, Modal, Input, Icon, Divider } from "ant-design-vue";
|
import { Row, Col, Card, Button, Checkbox, DatePicker, Select, Table, Modal, Input, Icon, Divider, Pagination } from "ant-design-vue";
|
||||||
|
|
||||||
import 'ant-design-vue/dist/antd.css'
|
import 'ant-design-vue/dist/antd.css'
|
||||||
// import { RangePicker } from "ant-design-vue/types/date-picker/range-picker";
|
// import { RangePicker } from "ant-design-vue/types/date-picker/range-picker";
|
||||||
@ -17,4 +17,5 @@ Vue.component(Modal.name, Modal)
|
|||||||
Vue.component(Input.name, Input)
|
Vue.component(Input.name, Input)
|
||||||
Vue.component(Icon.name, Icon)
|
Vue.component(Icon.name, Icon)
|
||||||
Vue.component(Divider.name, Divider)
|
Vue.component(Divider.name, Divider)
|
||||||
|
Vue.component(Pagination.name, Pagination)
|
||||||
// Vue.component(RangePicker.name, RangePicker)
|
// Vue.component(RangePicker.name, RangePicker)
|
@ -289,8 +289,8 @@ const Utility = () => {
|
|||||||
header: {
|
header: {
|
||||||
height: 28,
|
height: 28,
|
||||||
},
|
},
|
||||||
rowHeight: 29,
|
rowHeight: 37,
|
||||||
minRowHeight: 29,
|
minRowHeight: 37,
|
||||||
columnOptions: {
|
columnOptions: {
|
||||||
resizable: true,
|
resizable: true,
|
||||||
minWidth: 100,
|
minWidth: 100,
|
||||||
|
@ -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',
|
||||||
@ -910,6 +913,11 @@ const INIT_URL_STATE = {
|
|||||||
'ems/effc/eqpmIndMntrCtr/selectDailyEnrgUseMainIdx',
|
'ems/effc/eqpmIndMntrCtr/selectDailyEnrgUseMainIdx',
|
||||||
selectMonthlyEnrgUseMainIdx:
|
selectMonthlyEnrgUseMainIdx:
|
||||||
'ems/effc/eqpmIndMntrCtr/selectMonthlyEnrgUseMainIdx',
|
'ems/effc/eqpmIndMntrCtr/selectMonthlyEnrgUseMainIdx',
|
||||||
|
selectDailyEnrgUseMainIdxPageTotal:
|
||||||
|
'ems/effc/eqpmIndMntrCtr/selectDailyEnrgUseMainIdxPageTotal',
|
||||||
|
selectMonthlyEnrgUseMainIdxPageTotal:
|
||||||
|
'ems/effc/eqpmIndMntrCtr/selectMonthlyEnrgUseMainIdxPageTotal',
|
||||||
|
|
||||||
|
|
||||||
//prgmId : PRG0082 에너지 사용량 - 설비상세 모니터링
|
//prgmId : PRG0082 에너지 사용량 - 설비상세 모니터링
|
||||||
selectDailyEnrgUseMainGuideIdx:
|
selectDailyEnrgUseMainGuideIdx:
|
||||||
|
Reference in New Issue
Block a user