Compare commits
39 Commits
dev-dungtv
...
dev-manhph
Author | SHA1 | Date | |
---|---|---|---|
34d5a1eeb7 | |||
f9643f46a0 | |||
056d1a1e17 | |||
a58062a7b7 | |||
44077048e6 | |||
e32f03c9ae | |||
58bb7f915c | |||
a85f9f98f6 | |||
791b291c30 | |||
e6e1703942 | |||
719e7cee69 | |||
9b89a5625b | |||
e600089f7e | |||
adbf220770 | |||
51b59bf4c9 | |||
b2e50837fd | |||
88b59f5f33 | |||
a2e7e8d74e | |||
d37f23512a | |||
1a23077421 | |||
9603353ab3 | |||
6077dddb74 | |||
2338bbf2ec | |||
c2e2c10a8a | |||
d790249743 | |||
205821fc11 | |||
fade079b06 | |||
98c26a156e | |||
b4f8e41c7e | |||
e9bdd80f14 | |||
eeadcd254d | |||
b56bd12bb7 | |||
bea1e0889b | |||
0f66d84b48 | |||
34d03b2546 | |||
8f83e1d60c | |||
1faf49056d | |||
e9ab3faa51 | |||
54220aa4eb |
@ -144,7 +144,7 @@ a {
|
|||||||
|
|
||||||
& .router-tab__container {
|
& .router-tab__container {
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
min-height: calc(100vh - 105px);
|
height: calc(100vh - 105px);
|
||||||
max-height: calc(100vh - 105px);
|
max-height: calc(100vh - 105px);
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
@ -434,7 +434,7 @@ a {
|
|||||||
.v-application.#{$theme}-mode {
|
.v-application.#{$theme}-mode {
|
||||||
min-width: 1000px;
|
min-width: 1000px;
|
||||||
|
|
||||||
.head-logo{
|
.head-logo {
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -485,8 +485,9 @@ a {
|
|||||||
|
|
||||||
.container--fluid {
|
.container--fluid {
|
||||||
background-color: map-deep-get($config, #{$theme}, "container-fluid");
|
background-color: map-deep-get($config, #{$theme}, "container-fluid");
|
||||||
|
|
||||||
.menu-container {
|
.menu-container {
|
||||||
max-height:calc(100vh - 60px);
|
height:calc(100vh - 60px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -950,15 +951,24 @@ a {
|
|||||||
"v-calendar-weekday-backgroundColor"
|
"v-calendar-weekday-backgroundColor"
|
||||||
);
|
);
|
||||||
border-right: 1px solid map-deep-get($config, #{$theme}, "v-calendar-weekday-border-color");
|
border-right: 1px solid map-deep-get($config, #{$theme}, "v-calendar-weekday-border-color");
|
||||||
|
border-bottom: 1px solid map-deep-get($config, #{$theme}, "v-calendar-weekday-border-color");
|
||||||
|
border-top: 1px solid map-deep-get($config, #{$theme}, "v-calendar-weekday-border-color");
|
||||||
color: map-deep-get($config, #{$theme}, "v-calendar-weekday-color");
|
color: map-deep-get($config, #{$theme}, "v-calendar-weekday-color");
|
||||||
|
|
||||||
&:nth-of-type(1) {
|
&:nth-of-type(1) {
|
||||||
color: map-deep-get($color, "week", "sun");
|
// color: map-deep-get($config,
|
||||||
|
// #{$theme},
|
||||||
|
// "v-calendar-is-sun"
|
||||||
|
// );
|
||||||
|
border-left: 1px solid map-deep-get($config, #{$theme}, "v-calendar-weekday-border-color");
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-of-type(7) {
|
// &:nth-of-type(7) {
|
||||||
color: map-deep-get($color, "week", "sat");
|
// color: map-deep-get($config,
|
||||||
}
|
// #{$theme},
|
||||||
|
// "v-calendar-is-sat"
|
||||||
|
// );
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
>.vc-day {
|
>.vc-day {
|
||||||
@ -967,22 +977,33 @@ a {
|
|||||||
|
|
||||||
.day-hldyNm,
|
.day-hldyNm,
|
||||||
.day-label.is-holiday {
|
.day-label.is-holiday {
|
||||||
color: map-deep-get($color, "week", "sun");
|
color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"v-calendar-is-sun"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
&.weekday-1 {
|
&.weekday-1 {
|
||||||
|
|
||||||
.day-label,
|
.day-label,
|
||||||
.day-hldyNm {
|
.day-hldyNm {
|
||||||
color: map-deep-get($color, "week", "sun");
|
color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"v-calendar-is-sun"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
border-left: 1px solid map-deep-get($config, #{$theme}, "v-calendar-weekday-border-color");
|
||||||
}
|
}
|
||||||
|
|
||||||
&.weekday-7 {
|
&.weekday-7 {
|
||||||
|
|
||||||
.day-label,
|
.day-label,
|
||||||
.day-hldyNm {
|
.day-hldyNm {
|
||||||
color: map-deep-get($color, "week", "sat");
|
color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"v-calendar-is-sat"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1184,11 +1205,17 @@ a {
|
|||||||
}
|
}
|
||||||
|
|
||||||
th.tui-sun {
|
th.tui-sun {
|
||||||
color: map-deep-get($color, "week", "sun");
|
color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"v-calendar-is-sun"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
th.tui-sat {
|
th.tui-sat {
|
||||||
color: map-deep-get($color, "week", "sat");
|
color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"v-calendar-is-sat"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1204,11 +1231,17 @@ a {
|
|||||||
}
|
}
|
||||||
|
|
||||||
td.tui-calendar-sun {
|
td.tui-calendar-sun {
|
||||||
color: map-deep-get($color, "week", "sun");
|
color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"v-calendar-is-sun"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
td.tui-calendar-sat {
|
td.tui-calendar-sat {
|
||||||
color: map-deep-get($color, "week", "sat");
|
color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"v-calendar-is-sat"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1322,6 +1355,7 @@ a {
|
|||||||
color: #46c0ff;
|
color: #46c0ff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.v-btn {
|
.v-btn {
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
color: map-deep-get($config, #{$theme}, "btn-header-select-color") !important;
|
color: map-deep-get($config, #{$theme}, "btn-header-select-color") !important;
|
||||||
|
@ -134,11 +134,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&-body-container{
|
&-body-container{
|
||||||
border-right: 1px solid;
|
border-right: 0;
|
||||||
border-right-color: map-deep-get($config,
|
// border-right-color: map-deep-get($config,
|
||||||
#{$theme},
|
// #{$theme},
|
||||||
"tui-grid-cell-borderColor"
|
// "tui-grid-cell-borderColor"
|
||||||
);
|
// );
|
||||||
width: auto !important;
|
width: auto !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,24 +151,27 @@
|
|||||||
width: $scrollbar-width !important;
|
width: $scrollbar-width !important;
|
||||||
height: $scrollbar-width !important;
|
height: $scrollbar-width !important;
|
||||||
-webkit-appearance: initial;
|
-webkit-appearance: initial;
|
||||||
background-color: map-deep-get($config,
|
// background-color: map-deep-get($config,
|
||||||
#{$theme},
|
// #{$theme},
|
||||||
"scrollbar-track"
|
// "tui-grid-cell-borderColor"
|
||||||
) !important;
|
// ) !important;
|
||||||
|
background-color: rgba(0, 0, 0, 0) !important;
|
||||||
border-radius: 3px !important;
|
border-radius: 3px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
& ::-webkit-scrollbar-track {
|
& ::-webkit-scrollbar-track {
|
||||||
background-color: map-deep-get($config,
|
// background-color: map-deep-get($config,
|
||||||
#{$theme},
|
// #{$theme},
|
||||||
"scrollbar-track"
|
// "tui-grid-cell-borderColor"
|
||||||
) !important;
|
// ) !important;
|
||||||
|
background-color: rgba(0, 0, 0, 0) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
& ::-webkit-scrollbar-thumb {
|
& ::-webkit-scrollbar-thumb {
|
||||||
width: 50px !important;
|
width: 50px !important;
|
||||||
height: 50px !important;
|
height: 50px !important;
|
||||||
background-color: map-deep-get($config, #{$theme}, "scrollbar-thumb");
|
background-color: map-deep-get($config, #{$theme}, "scrollbar-thumb");
|
||||||
|
// background-color: rgba(0, 0, 0, 0);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -195,6 +198,7 @@
|
|||||||
&-scrollbar-right-top {
|
&-scrollbar-right-top {
|
||||||
background-color: rgba(0, 0, 0, 0);
|
background-color: rgba(0, 0, 0, 0);
|
||||||
border: none;
|
border: none;
|
||||||
|
display: none;
|
||||||
// background-color: map-deep-get(
|
// background-color: map-deep-get(
|
||||||
// $config,
|
// $config,
|
||||||
// #{$theme},
|
// #{$theme},
|
||||||
@ -221,12 +225,13 @@
|
|||||||
width: $scrollbar-width !important;
|
width: $scrollbar-width !important;
|
||||||
height: $scrollbar-width !important;
|
height: $scrollbar-width !important;
|
||||||
// display: none !important;
|
// display: none !important;
|
||||||
border-color: map-deep-get($config, #{$theme}, "scrollbar-track");
|
border-color: map-deep-get($config, #{$theme}, "cardBackground");
|
||||||
background-color: map-deep-get($config, #{$theme}, "scrollbar-track");
|
background-color: map-deep-get($config, #{$theme}, "cardBackground");
|
||||||
// border: none !important;
|
// border: none !important;
|
||||||
// bottom: -1px;
|
// bottom: -1px;
|
||||||
// right: -2px;
|
// right: -2px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
// display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
&-scrollbar-frozen-border,
|
&-scrollbar-frozen-border,
|
||||||
@ -236,13 +241,9 @@
|
|||||||
border-color: transparent !important;
|
border-color: transparent !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
// &-body-area {
|
&-body-area,
|
||||||
// overflow: auto !important;
|
|
||||||
// }
|
|
||||||
|
|
||||||
&-container,
|
&-container,
|
||||||
&-layer-state,
|
&-layer-state,
|
||||||
&-body-area,
|
|
||||||
&-summary-area,
|
&-summary-area,
|
||||||
&-cell {
|
&-cell {
|
||||||
background-color: map-deep-get($config,
|
background-color: map-deep-get($config,
|
||||||
@ -254,23 +255,36 @@
|
|||||||
"tui-grid-border-vertical-color"
|
"tui-grid-border-vertical-color"
|
||||||
);
|
);
|
||||||
|
|
||||||
&-current-row{
|
// &-current-row{
|
||||||
td {
|
// }
|
||||||
.custom-radio {
|
td.row-selected {
|
||||||
.radio-mark{
|
.custom-radio {
|
||||||
border-color: #1677ff;
|
background-color: map-deep-get($config,
|
||||||
background-color: #fff;
|
#{$theme},
|
||||||
&::after {
|
"ant-btn-primary-color"
|
||||||
content: "";
|
);
|
||||||
position: absolute;
|
.radio-mark{
|
||||||
top: 50%;
|
border-color: map-deep-get($config,
|
||||||
left: 50%;
|
#{$theme},
|
||||||
transform: translate(-50%, -50%);
|
"arow-line-color"
|
||||||
height: 11px;
|
);
|
||||||
width: 11px;
|
background-color: map-deep-get($config,
|
||||||
border-radius: 50%;
|
#{$theme},
|
||||||
background-color: #1677ff;
|
"arow-line-btn-bg-color"
|
||||||
}
|
);
|
||||||
|
&::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
height: 8px;
|
||||||
|
width: 8px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background-color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"arow-line-color"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -302,8 +316,8 @@
|
|||||||
&-header-area,
|
&-header-area,
|
||||||
&-cell-header {
|
&-cell-header {
|
||||||
// font-family: inherit;
|
// font-family: inherit;
|
||||||
|
// font-style: Semi Bold;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
font-style: Semi Bold;
|
|
||||||
background-color: map-deep-get($config,
|
background-color: map-deep-get($config,
|
||||||
#{$theme},
|
#{$theme},
|
||||||
"tui-grid-header-backgroundColor"
|
"tui-grid-header-backgroundColor"
|
||||||
@ -320,8 +334,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&-header-area {
|
&-header-area {
|
||||||
background-color: none;
|
// background-color: none;
|
||||||
border: none;
|
border: none;
|
||||||
|
margin-right: 0 !important;
|
||||||
|
background-color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"tui-grid-cell-backgroundColor"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
&-row-odd,
|
&-row-odd,
|
||||||
|
@ -171,8 +171,8 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-left: 28px;
|
padding-left: 0;
|
||||||
margin: 10px;
|
margin: 5px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
.custom-radio input[type="radio"] {
|
.custom-radio input[type="radio"] {
|
||||||
@ -183,13 +183,13 @@
|
|||||||
/* Custom radio appearance */
|
/* Custom radio appearance */
|
||||||
.radio-mark {
|
.radio-mark {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: -8px;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
transform: translateY(-50%);
|
transform: translateY(-50%);
|
||||||
height: 18px;
|
height: 14px;
|
||||||
width: 18px;
|
width: 14px;
|
||||||
background-color: white;
|
// background-color: white;
|
||||||
border: 2px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
transition: all 0.2s ease;
|
transition: all 0.2s ease;
|
||||||
}
|
}
|
||||||
@ -263,9 +263,6 @@
|
|||||||
"v-input-backgroundColor"
|
"v-input-backgroundColor"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
&:not(.v-input--radio-group, .v-input--checkbox) {
|
&:not(.v-input--radio-group, .v-input--checkbox) {
|
||||||
.v-input__slot {
|
.v-input__slot {
|
||||||
background-color: map-deep-get($config,
|
background-color: map-deep-get($config,
|
||||||
@ -372,6 +369,17 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.radio-mark {
|
||||||
|
background-color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"ant-btn-primary-color"
|
||||||
|
);
|
||||||
|
border-color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"v-input-textarea-border"
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.v-radio {
|
.v-radio {
|
||||||
|
@ -14,10 +14,13 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
border: solid 1px;
|
border: solid 1px;
|
||||||
height: 40px;
|
height: 32px;
|
||||||
// border-color: #424242;
|
// border-color: #424242;
|
||||||
border-color: map-deep-get($config, #{$theme}, "tui-datepicker-border-color");
|
border-color: map-deep-get($config, #{$theme}, "tui-datepicker-border-color");
|
||||||
|
|
||||||
|
&.datepicker-large {
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
.v-input {
|
.v-input {
|
||||||
|
|
||||||
|
@ -32,8 +32,8 @@ $color: (
|
|||||||
"black": ("0": #000,
|
"black": ("0": #000,
|
||||||
"1": #111),
|
"1": #111),
|
||||||
"white": ("0": #fff),
|
"white": ("0": #fff),
|
||||||
"week": ("sun": #fb5a83,
|
"week": ("sun": #FF4D4F,
|
||||||
"sat": #2d8cf6)
|
"sat": #597EF7)
|
||||||
);
|
);
|
||||||
|
|
||||||
$config: (
|
$config: (
|
||||||
@ -96,17 +96,19 @@ $config: (
|
|||||||
v-input-disabled-backgroundColor:rgba(255, 255, 255, 0.08),
|
v-input-disabled-backgroundColor:rgba(255, 255, 255, 0.08),
|
||||||
v-input-disabled-color: rgba(255, 255, 255, 0.5),
|
v-input-disabled-color: rgba(255, 255, 255, 0.5),
|
||||||
v-select-label-color: rgba(255, 255, 255, 0.85),
|
v-select-label-color: rgba(255, 255, 255, 0.85),
|
||||||
v-calendar-weekday-backgroundColor: #383f5d,
|
v-calendar-weekday-backgroundColor: #FFFFFF0A,
|
||||||
v-calendar-weekday-color: #fff,
|
v-calendar-weekday-color: #FFFFFFD9,
|
||||||
v-calendar-weekday-border-color: rgba(255, 255, 255, 0.1),
|
v-calendar-weekday-border-color: #FFFFFF0F,
|
||||||
v-calendar-day-color: #fff,
|
v-calendar-day-color: #FFFFFFD9,
|
||||||
v-calendar-day-in-not-month-color: rgba(255, 255, 255, 0.05),
|
v-calendar-day-in-not-month-color: #FFFFFF14,
|
||||||
v-calendar-is-today-background-color: #2d4571,
|
v-calendar-is-today-background-color: #0A224F,
|
||||||
|
v-calendar-is-sat: #263EA0,
|
||||||
|
v-calendar-is-sun:#A61D24,
|
||||||
tui-grid-title-color: #FFFFFFD9,
|
tui-grid-title-color: #FFFFFFD9,
|
||||||
tui-grid-header-backgroundColor: #2a2b2d,
|
tui-grid-header-backgroundColor: #2a2b2d,
|
||||||
tui-grid-header-color: #FFFFFFD9,
|
tui-grid-header-color: #FFFFFFD9,
|
||||||
tui-grid-border-horziontal-color: #212224,
|
tui-grid-border-horziontal-color: #212224,
|
||||||
tui-grid-border-vertical-color: #212224,
|
tui-grid-border-vertical-color: #FFFFFF0F,
|
||||||
tui-grid-cell-backgroundColor: #212224,
|
tui-grid-cell-backgroundColor: #212224,
|
||||||
tui-grid-cell-color: #fff,
|
tui-grid-cell-color: #fff,
|
||||||
tui-grid-cell-insert-color: #13636c,
|
tui-grid-cell-insert-color: #13636c,
|
||||||
@ -234,12 +236,14 @@ $config: (
|
|||||||
v-input-disabled-backgroundColor: rgba(0, 0, 0, 0.04),
|
v-input-disabled-backgroundColor: rgba(0, 0, 0, 0.04),
|
||||||
v-input-disabled-color: rgba(0, 0, 0, 0.25),
|
v-input-disabled-color: rgba(0, 0, 0, 0.25),
|
||||||
v-select-label-color: rgba(0, 0, 0, 0.88),
|
v-select-label-color: rgba(0, 0, 0, 0.88),
|
||||||
v-calendar-weekday-backgroundColor: #e0e0e0,
|
v-calendar-weekday-backgroundColor: #00000005,
|
||||||
v-calendar-weekday-color: #111,
|
v-calendar-weekday-color: #000000E0,
|
||||||
v-calendar-weekday-border-color: #d4d4d4,
|
v-calendar-weekday-border-color: #0000000F,
|
||||||
v-calendar-day-color: #111,
|
v-calendar-day-color: #000000E0,
|
||||||
v-calendar-day-in-not-month-color: #f8f8f8,
|
v-calendar-day-in-not-month-color: #0000000A,
|
||||||
v-calendar-is-today-background-color: #e3eaf3,
|
v-calendar-is-today-background-color: #E6F4FF,
|
||||||
|
v-calendar-is-sat: #597EF7,
|
||||||
|
v-calendar-is-sun:#FF4D4F,
|
||||||
tui-grid-title-color: #000000E0,
|
tui-grid-title-color: #000000E0,
|
||||||
tui-grid-header-backgroundColor: #fafafa, //#e0e0e0,
|
tui-grid-header-backgroundColor: #fafafa, //#e0e0e0,
|
||||||
tui-grid-header-color: rgba(0, 0, 0, 0.88),
|
tui-grid-header-color: rgba(0, 0, 0, 0.88),
|
||||||
|
@ -3,45 +3,28 @@
|
|||||||
<div class="custom-vc-calender-title text-center" v-if="headerVisible">
|
<div class="custom-vc-calender-title text-center" v-if="headerVisible">
|
||||||
<span>{{ selectedYear }}년 {{ selectedMonth }}월</span>
|
<span>{{ selectedYear }}년 {{ selectedMonth }}월</span>
|
||||||
</div>
|
</div>
|
||||||
<vc-calendar
|
<vc-calendar locale="ko-KR" ref="myCalendar" :attributes="calendarAttributes" class="custom-calendar">
|
||||||
ref="myCalendar"
|
|
||||||
:attributes="calendarAttributes"
|
|
||||||
class="custom-calendar"
|
|
||||||
>
|
|
||||||
<!-- disable-page-swipe
|
<!-- disable-page-swipe
|
||||||
is-expanded -->
|
is-expanded -->
|
||||||
<template v-slot:day-content="{ day, attributes }">
|
<template v-slot:day-content="{ day, attributes }">
|
||||||
<div class="plusButton" style="overflow:auto">
|
<div class="plusButton" style="overflow:auto">
|
||||||
<!-- <p class="plusButton mr-1" >+</p> -->
|
<!-- <p class="plusButton mr-1" >+</p> -->
|
||||||
<span
|
<span :class="['day-label', { 'is-holiday': hldyValues(day.day) }]"
|
||||||
:class="['day-label', { 'is-holiday': hldyValues(day.day) }]"
|
@click="addPlan(day.year, day.month, day.day)">{{ day.day }}</span>
|
||||||
@click="addPlan(day.year, day.month, day.day)"
|
|
||||||
>{{ day.day }}</span
|
|
||||||
>
|
|
||||||
<span v-for="attr in attributes" :key="attr.key" class="day-hldyNm">
|
<span v-for="attr in attributes" :key="attr.key" class="day-hldyNm">
|
||||||
{{ attr.customData.title }}
|
{{ attr.customData.title }}
|
||||||
</span>
|
</span>
|
||||||
<div class="">
|
<div class="">
|
||||||
<p
|
<p v-for="attr in attributes" :key="attr.key" :class="attr.customData.planColor"
|
||||||
v-for="attr in attributes"
|
@click="updatePlan(attr.customData.planSeq)">
|
||||||
:key="attr.key"
|
|
||||||
:class="attr.customData.planColor"
|
|
||||||
@click="updatePlan(attr.customData.planSeq)"
|
|
||||||
>
|
|
||||||
{{ attr.customData.planTitle }}
|
{{ attr.customData.planTitle }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vc-calendar>
|
</vc-calendar>
|
||||||
<component
|
<component ref="planPop" :is="'PlanPop'" v-show="false" :detailList="detailList" :label="planLabel"
|
||||||
ref="planPop"
|
:parentPrgmId="parentPrgmId" />
|
||||||
:is="'PlanPop'"
|
|
||||||
v-show="false"
|
|
||||||
:detailList="detailList"
|
|
||||||
:label="planLabel"
|
|
||||||
:parentPrgmId="parentPrgmId"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@ -63,6 +46,10 @@ export default {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
|
showTitle: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState({
|
...mapState({
|
||||||
@ -122,7 +109,7 @@ export default {
|
|||||||
planColor:
|
planColor:
|
||||||
// item.endDt < Utility.setFormatDate(new Date(), 'YYYY-MM-DD')
|
// item.endDt < Utility.setFormatDate(new Date(), 'YYYY-MM-DD')
|
||||||
// ? 'grey':
|
// ? 'grey':
|
||||||
item.planColor,
|
item.planColor,
|
||||||
},
|
},
|
||||||
dates: new Date(yy, mm, dd),
|
dates: new Date(yy, mm, dd),
|
||||||
});
|
});
|
||||||
@ -166,15 +153,14 @@ export default {
|
|||||||
this.$refs['planPop'].strtDt = '';
|
this.$refs['planPop'].strtDt = '';
|
||||||
this.$refs['planPop'].endDt = '';
|
this.$refs['planPop'].endDt = '';
|
||||||
this.$refs['planPop'].addPlanData = {
|
this.$refs['planPop'].addPlanData = {
|
||||||
year : year,
|
year: year,
|
||||||
month : month,
|
month: month,
|
||||||
day : day
|
day: day
|
||||||
}
|
}
|
||||||
// BEGIN TEST UI
|
|
||||||
// this.$refs['planPop'].blocId = this.pageData.blocMstrList[
|
this.$refs['planPop'].blocId = this.pageData.blocMstrList[
|
||||||
// this.pageData.blocId
|
this.pageData.blocId
|
||||||
// ].blocId;
|
].blocId;
|
||||||
// END TEST UI
|
|
||||||
this.$refs['planPop'].dialog = true;
|
this.$refs['planPop'].dialog = true;
|
||||||
},
|
},
|
||||||
updatePlan(val) {
|
updatePlan(val) {
|
||||||
@ -188,7 +174,7 @@ export default {
|
|||||||
this.$refs['planPop'].dialog = true;
|
this.$refs['planPop'].dialog = true;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {},
|
mounted() { },
|
||||||
};
|
};
|
||||||
const myDetail = [];
|
const myDetail = [];
|
||||||
</script>
|
</script>
|
||||||
@ -196,36 +182,44 @@ const myDetail = [];
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/assets/scss/var.scss';
|
@import '@/assets/scss/var.scss';
|
||||||
@import '@/assets/scss/mixin.scss';
|
@import '@/assets/scss/mixin.scss';
|
||||||
|
|
||||||
::-webkit-scrollbar {
|
::-webkit-scrollbar {
|
||||||
width: 0px;
|
width: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar-track {
|
::-webkit-scrollbar-track {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.custom-vc-calender {
|
.custom-vc-calender {
|
||||||
&-title {
|
&-title {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep {
|
::v-deep {
|
||||||
.custom-calendar.vc-container {
|
.custom-calendar.vc-container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.vc-header,
|
.vc-header,
|
||||||
.vc-arrows-container {
|
.vc-arrows-container {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.vc-weeks {
|
.vc-weeks {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
> div {
|
|
||||||
|
>div {
|
||||||
flex: 1 0 calc(100% / 7);
|
flex: 1 0 calc(100% / 7);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.vc-weekday {
|
.vc-weekday {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -233,6 +227,7 @@ const myDetail = [];
|
|||||||
height: 36px;
|
height: 36px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.vc-day {
|
.vc-day {
|
||||||
height: 10.889vh;
|
height: 10.889vh;
|
||||||
min-height: auto;
|
min-height: auto;
|
||||||
@ -241,6 +236,7 @@ const myDetail = [];
|
|||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
line-height: 1.235;
|
line-height: 1.235;
|
||||||
}
|
}
|
||||||
|
|
||||||
.day-hldyNm {
|
.day-hldyNm {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
@ -251,25 +247,27 @@ const myDetail = [];
|
|||||||
font-size: 10pt;
|
font-size: 10pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
> div {
|
>div {
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border-radius: 0 !important;
|
border-radius: 0 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.vc-day.is-not-in-month {
|
.vc-day.is-not-in-month {
|
||||||
* {
|
* {
|
||||||
opacity: 1 !important;
|
opacity: 1 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.plusButton:hover > span:first-child {
|
|
||||||
|
.plusButton:hover>span:first-child {
|
||||||
font-weight: bolder;
|
font-weight: bolder;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.red {
|
.red {
|
||||||
//background-color: rgba(229,62,62,var(--bg-opacity));
|
background-color: #FF4D4F !important;
|
||||||
background-color: #e53e3e !important;
|
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-radius: 0.125rem;
|
border-radius: 0.125rem;
|
||||||
font-size: 0.75rem;
|
font-size: 0.75rem;
|
||||||
@ -277,9 +275,9 @@ const myDetail = [];
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
margin-bottom: 0.25rem;
|
margin-bottom: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.blue {
|
.blue {
|
||||||
//background-color: rgba(66,153,225,var(--bg-opacity));
|
background-color: #597EF7 !important;
|
||||||
background-color: #4299e1 !important;
|
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-radius: 0.125rem;
|
border-radius: 0.125rem;
|
||||||
font-size: 0.75rem;
|
font-size: 0.75rem;
|
||||||
@ -287,9 +285,9 @@ const myDetail = [];
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
margin-bottom: 0.25rem;
|
margin-bottom: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.puple {
|
.puple {
|
||||||
//background-color: rgba(102,126,234,var(--bg-opacity));
|
background-color: #9254DE !important;
|
||||||
background-color: #667eea !important;
|
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-radius: 0.125rem;
|
border-radius: 0.125rem;
|
||||||
font-size: 0.75rem;
|
font-size: 0.75rem;
|
||||||
@ -297,9 +295,9 @@ const myDetail = [];
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
margin-bottom: 0.25rem;
|
margin-bottom: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.green {
|
.green {
|
||||||
//background-color: rgba(56,178,172,var(--bg-opacity));
|
background-color: #73D13D !important;
|
||||||
background-color: #38b2ac !important;
|
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-radius: 0.125rem;
|
border-radius: 0.125rem;
|
||||||
font-size: 0.75rem;
|
font-size: 0.75rem;
|
||||||
@ -308,9 +306,9 @@ const myDetail = [];
|
|||||||
margin-bottom: 0.25rem;
|
margin-bottom: 0.25rem;
|
||||||
width: 90%;
|
width: 90%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.orange {
|
.orange {
|
||||||
//background-color: rgba(237,137,54,var(--bg-opacity));
|
background-color: #FFA940 !important;
|
||||||
background-color: #ed8936 !important;
|
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-radius: 0.125rem;
|
border-radius: 0.125rem;
|
||||||
font-size: 0.75rem;
|
font-size: 0.75rem;
|
||||||
@ -318,9 +316,9 @@ const myDetail = [];
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
margin-bottom: 0.25rem;
|
margin-bottom: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pink {
|
.pink {
|
||||||
//background-color: rgba(237,100,166,var(--bg-opacity));
|
background-color: #F759AB !important;
|
||||||
background-color: #ed64a6 !important;
|
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-radius: 0.125rem;
|
border-radius: 0.125rem;
|
||||||
font-size: 0.75rem;
|
font-size: 0.75rem;
|
||||||
@ -328,8 +326,8 @@ const myDetail = [];
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
margin-bottom: 0.25rem;
|
margin-bottom: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.grey {
|
.grey {
|
||||||
background-color: #6d6d6d;
|
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border-radius: 0.125rem;
|
border-radius: 0.125rem;
|
||||||
font-size: 0.75rem;
|
font-size: 0.75rem;
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="label ? textCols : ''">
|
<v-col :cols="label ? textCols : ''">
|
||||||
<div class="datepicker-container" >
|
<div :class="['datepicker-container', customClass]" >
|
||||||
<v-text-field
|
<v-text-field
|
||||||
id="startpicker"
|
id="startpicker"
|
||||||
ref="startpicker"
|
ref="startpicker"
|
||||||
@ -93,7 +93,12 @@ export default {
|
|||||||
type:Boolean,
|
type:Boolean,
|
||||||
require:false,
|
require:false,
|
||||||
default: true
|
default: true
|
||||||
}
|
},
|
||||||
|
customClass: {
|
||||||
|
type: String,
|
||||||
|
require: false,
|
||||||
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -4,12 +4,13 @@
|
|||||||
:data="chkGridData"
|
:data="chkGridData"
|
||||||
:columns="chkGridColumns"
|
:columns="chkGridColumns"
|
||||||
:options="chkGridOptions"
|
:options="chkGridOptions"
|
||||||
@focusChange="focusChangeEvt"
|
@mousedown="onMousedown"
|
||||||
@click="startEditing"
|
@click="startEditing"
|
||||||
@editingFinish="editingFinish"
|
@editingFinish="editingFinish"
|
||||||
@dblclick="dblClick"
|
@dblclick="dblClick"
|
||||||
@mouseover="mouseoverEvent"
|
@mouseover="mouseoverEvent"
|
||||||
@mouseout="mouseoutEvent"
|
@mouseout="mouseoutEvent"
|
||||||
|
@focusChange="focusChangeEvt"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@ -107,16 +108,13 @@ export default {
|
|||||||
},
|
},
|
||||||
chkGridOptions() {
|
chkGridOptions() {
|
||||||
const options = {
|
const options = {
|
||||||
// bodyHeight: 'fitToContent',
|
|
||||||
scrollX: false,
|
|
||||||
scrollY: false,
|
|
||||||
...this.gridData.option,
|
...this.gridData.option,
|
||||||
useIcon: false,
|
|
||||||
};
|
};
|
||||||
options.treeColumnOptions = {
|
options.treeColumnOptions = {
|
||||||
useIcon: false,
|
useIcon: false,
|
||||||
...options.treeColumnOptions,
|
...options.treeColumnOptions,
|
||||||
};
|
};
|
||||||
|
|
||||||
return options;
|
return options;
|
||||||
},
|
},
|
||||||
defaultRow() {
|
defaultRow() {
|
||||||
@ -163,7 +161,7 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
// console.log('--------------DEBUG----gridData: ', this.gridData);
|
// console.log(this.dataPath);
|
||||||
if (this.gridName) {
|
if (this.gridName) {
|
||||||
this.gridInstance = this.$refs['tuigrid' + this.gridName];
|
this.gridInstance = this.$refs['tuigrid' + this.gridName];
|
||||||
|
|
||||||
@ -186,13 +184,13 @@ export default {
|
|||||||
}),
|
}),
|
||||||
// true : 현재 행 혹은 연결된 그리드가 수정중인 상태
|
// true : 현재 행 혹은 연결된 그리드가 수정중인 상태
|
||||||
checkGridState() {
|
checkGridState() {
|
||||||
var rowStatList = ['I', 'U', 'D'];
|
const rowStatList = ['I', 'U', 'D'];
|
||||||
var row = this.gridInstance.invoke('getFocusedCell');
|
const row = this.gridInstance.invoke('getFocusedCell');
|
||||||
|
|
||||||
if (row) {
|
if (row) {
|
||||||
var rowData = this.gridInstance.invoke('getRow', row.rowKey);
|
const rowData = this.gridInstance.invoke('getRow', row.rowKey);
|
||||||
if (rowData) {
|
if (rowData) {
|
||||||
var rowStat = rowData['rowStat'];
|
const rowStat = rowData['rowStat'];
|
||||||
if (rowStatList.includes(rowStat)) {
|
if (rowStatList.includes(rowStat)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -200,8 +198,8 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (this.preventFocusChangeEventTargetGridList) {
|
if (this.preventFocusChangeEventTargetGridList) {
|
||||||
for (var gridInstance of this.preventFocusChangeEventTargetGridList) {
|
for (let gridInstance of this.preventFocusChangeEventTargetGridList) {
|
||||||
var dataArr = gridInstance.save();
|
const dataArr = gridInstance.save();
|
||||||
|
|
||||||
if (dataArr.length > 0) {
|
if (dataArr.length > 0) {
|
||||||
return true;
|
return true;
|
||||||
@ -253,9 +251,11 @@ export default {
|
|||||||
this.gridInstance.invoke('check', rowData.rowKey, instance);
|
this.gridInstance.invoke('check', rowData.rowKey, instance);
|
||||||
},
|
},
|
||||||
setSelectionRange(rowKey) {
|
setSelectionRange(rowKey) {
|
||||||
|
// console.log("------------------DEBUG-------setSelectionRange:", rowKey);
|
||||||
const rowDatas = this.gridInstance.invoke('getData');
|
const rowDatas = this.gridInstance.invoke('getData');
|
||||||
rowDatas.forEach(item => {
|
rowDatas.forEach(item => {
|
||||||
if (item.rowKey == rowKey) {
|
if (item.rowKey == rowKey) {
|
||||||
|
// console.log("------------------DEBUG-------setSelectionRange---item:", item);
|
||||||
this.gridInstance.invoke(
|
this.gridInstance.invoke(
|
||||||
'addRowClassName',
|
'addRowClassName',
|
||||||
item.rowKey,
|
item.rowKey,
|
||||||
@ -270,7 +270,12 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
onMousedown(evt) {
|
||||||
|
// console.log("------------------DEBUG-------onMousedown:", evt);
|
||||||
|
this.focusChangeEvt(evt);
|
||||||
|
},
|
||||||
focusChangeEvt(e) {
|
focusChangeEvt(e) {
|
||||||
|
// console.log("------------------DEBUG-------focusChangeEvt:", e);
|
||||||
// console.log('focusChangeEvt1...')
|
// console.log('focusChangeEvt1...')
|
||||||
if (this.preventFocusChangeEvent(e)) {
|
if (this.preventFocusChangeEvent(e)) {
|
||||||
// console.log('prevent focusChangeEvt')
|
// console.log('prevent focusChangeEvt')
|
||||||
@ -291,6 +296,7 @@ export default {
|
|||||||
this.sendSelectedRowData(e.rowKey);
|
this.sendSelectedRowData(e.rowKey);
|
||||||
},
|
},
|
||||||
startEditing(e) {
|
startEditing(e) {
|
||||||
|
// console.log("------------------DEBUG-------startEditing:", e);
|
||||||
// console.log('startEditing1...')
|
// console.log('startEditing1...')
|
||||||
if (this.preventFocusChangeEvent(e)) {
|
if (this.preventFocusChangeEvent(e)) {
|
||||||
// console.log('prevent startEditing')
|
// console.log('prevent startEditing')
|
||||||
@ -317,6 +323,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async editingFinish(e) {
|
async editingFinish(e) {
|
||||||
|
// console.log('------------------DEBUG-------editingFinish:', e);
|
||||||
// console.log("Editing END E::", e);
|
// console.log("Editing END E::", e);
|
||||||
// editor 간 이동시 수정되는 문제 수정
|
// editor 간 이동시 수정되는 문제 수정
|
||||||
// e.rowEditingFg: grid의 한 row를 한번에 수정할 시 각각의 cell 마다 click 이벤트가 발생하지 않아 this.editorStartKey값이 제대로 입력 되지 않는 경우를 대비하여 만든 Fg
|
// e.rowEditingFg: grid의 한 row를 한번에 수정할 시 각각의 cell 마다 click 이벤트가 발생하지 않아 this.editorStartKey값이 제대로 입력 되지 않는 경우를 대비하여 만든 Fg
|
||||||
@ -666,8 +673,6 @@ export default {
|
|||||||
store.dimension.offsetLeft = offsetLeft;
|
store.dimension.offsetLeft = offsetLeft;
|
||||||
},
|
},
|
||||||
setHeight(_a,height){
|
setHeight(_a,height){
|
||||||
return; // setting auto height
|
|
||||||
|
|
||||||
// console.log("setHeight");
|
// console.log("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;
|
||||||
@ -680,6 +685,7 @@ export default {
|
|||||||
? this.gridInstance.invoke('getFocusedCell').rowKey
|
? this.gridInstance.invoke('getFocusedCell').rowKey
|
||||||
: eventRowKey;
|
: eventRowKey;
|
||||||
var rowData = this.gridInstance.invoke('getRow', rowKey);
|
var rowData = this.gridInstance.invoke('getRow', rowKey);
|
||||||
|
// console.log('------------------DEBUG-------sendSelectedRowData:', {eventRowKey, rowKey});
|
||||||
this.$emit('sendSelectedRowStatInfo', rowData);
|
this.$emit('sendSelectedRowStatInfo', rowData);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -705,11 +711,6 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
::v-deep .tui-grid-container {
|
::v-deep .tui-grid-container {
|
||||||
|
|
||||||
// .tui-grid-body-area {
|
|
||||||
// overflow: hidden !important;
|
|
||||||
// }
|
|
||||||
|
|
||||||
.tui-grid-content-area {
|
.tui-grid-content-area {
|
||||||
.tui-grid-cell-content {
|
.tui-grid-cell-content {
|
||||||
input[type='number'] {
|
input[type='number'] {
|
||||||
|
@ -2,12 +2,14 @@
|
|||||||
<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 x-small color="primary" class="mr-1">mdi-record-circle</v-icon>
|
<v-icon small color="primary"
|
||||||
|
: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 : ''">
|
||||||
<div class="datepicker-container">
|
<div :class="['datepicker-container', customClass]" >
|
||||||
<v-text-field
|
<v-text-field
|
||||||
id="startpicker"
|
id="startpicker"
|
||||||
ref="startpicker"
|
ref="startpicker"
|
||||||
@ -17,14 +19,16 @@
|
|||||||
readonly
|
readonly
|
||||||
outlined
|
outlined
|
||||||
>
|
>
|
||||||
<template #append>
|
<template #append >
|
||||||
<v-icon size="20">$icoCalendar</v-icon>
|
<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>
|
||||||
</template>
|
</template>
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
<div v-show="isRange" class="mx-3" :style="{ lineHeight: 0 }">~</div>
|
<div v-if="isRange" class="mx-3" :style="{ lineHeight: 0 }">
|
||||||
|
<img :src="arrowIcon" alt="">
|
||||||
|
</div>
|
||||||
<v-text-field
|
<v-text-field
|
||||||
v-show="isRange"
|
v-show="isRange"
|
||||||
id="endpicker"
|
id="endpicker"
|
||||||
@ -75,6 +79,10 @@ export default {
|
|||||||
require: false,
|
require: false,
|
||||||
default: 8,
|
default: 8,
|
||||||
},
|
},
|
||||||
|
customClass: {
|
||||||
|
type: String,
|
||||||
|
require: false,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -129,6 +137,12 @@ export default {
|
|||||||
this.defaultRange === 'no limite'
|
this.defaultRange === 'no limite'
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
arrowIcon() {
|
||||||
|
if(this.isDarkMode){
|
||||||
|
return require('@/assets/images/arrow_datepicker_dm.png');
|
||||||
|
}
|
||||||
|
return require('@/assets/images/arrow_datepicker.png');
|
||||||
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
myCmCycle() {
|
myCmCycle() {
|
||||||
|
@ -31,8 +31,8 @@ export default {
|
|||||||
this.mode = !this.mode;
|
this.mode = !this.mode;
|
||||||
this.$vuetify.theme.isDark = this.mode;
|
this.$vuetify.theme.isDark = this.mode;
|
||||||
this.setThemeChange(this.mode);
|
this.setThemeChange(this.mode);
|
||||||
console.log(this.mode)
|
// console.log(this.mode)
|
||||||
console.log(this.$vuetify.theme.isDark)
|
// console.log(this.$vuetify.theme.isDark)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -16,6 +16,7 @@ export default function getLineChartOption({
|
|||||||
const color = item.color || defaultColors[index % defaultColors.length];
|
const color = item.color || defaultColors[index % defaultColors.length];
|
||||||
return {
|
return {
|
||||||
...item,
|
...item,
|
||||||
|
showSymbol: true, // Show symbol at each data point
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
color,
|
color,
|
||||||
},
|
},
|
||||||
@ -27,9 +28,9 @@ export default function getLineChartOption({
|
|||||||
left: '3%',
|
left: '3%',
|
||||||
right: '5%',
|
right: '5%',
|
||||||
top: '25%',
|
top: '25%',
|
||||||
|
bottom: '0%',
|
||||||
containLabel: true,
|
containLabel: true,
|
||||||
},
|
},
|
||||||
|
|
||||||
legend: {
|
legend: {
|
||||||
// data: legendData,
|
// data: legendData,
|
||||||
icon: 'circle',
|
icon: 'circle',
|
||||||
@ -37,7 +38,7 @@ export default function getLineChartOption({
|
|||||||
right: '5%',
|
right: '5%',
|
||||||
orient: 'horizontal',
|
orient: 'horizontal',
|
||||||
textStyle: {
|
textStyle: {
|
||||||
color: isDarkMode ? '#676A7B' : '#676A7B',
|
color: isDarkMode ? 'white' : '#676A7B',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
xAxis: {
|
xAxis: {
|
||||||
|
@ -125,7 +125,7 @@ export default {
|
|||||||
modifyValue(e) {
|
modifyValue(e) {
|
||||||
let val = e.target.value.replace(/[^-.0-9]/g, '');
|
let val = e.target.value.replace(/[^-.0-9]/g, '');
|
||||||
|
|
||||||
console.log('val : ', val);
|
// console.log('val : ', val);
|
||||||
|
|
||||||
if(this.item.min != undefined && parseFloat(val) < this.item.min){
|
if(this.item.min != undefined && parseFloat(val) < this.item.min){
|
||||||
val = this.item.min;
|
val = this.item.min;
|
||||||
@ -134,7 +134,7 @@ export default {
|
|||||||
if(this.item.max != undefined && parseFloat(val) > this.item.max){
|
if(this.item.max != undefined && parseFloat(val) > this.item.max){
|
||||||
val = this.item.max;
|
val = this.item.max;
|
||||||
}
|
}
|
||||||
console.log('val2 : ', val);
|
// console.log('val2 : ', val);
|
||||||
|
|
||||||
this.textValue = val;
|
this.textValue = val;
|
||||||
// this.textValue = this.validateNumber(val);
|
// this.textValue = this.validateNumber(val);
|
||||||
|
@ -152,12 +152,12 @@ export default {
|
|||||||
const snarData = this.searchParam.isMulti
|
const snarData = this.searchParam.isMulti
|
||||||
? this.searchParam.snarInfoList
|
? this.searchParam.snarInfoList
|
||||||
: this.searchParam.snarInfo;
|
: this.searchParam.snarInfo;
|
||||||
console.log('this.searchParam.isMulti', this.searchParam.isMulti);
|
// console.log('this.searchParam.isMulti', this.searchParam.isMulti);
|
||||||
console.log(
|
// console.log(
|
||||||
'this.searchParam.snarInfoList',
|
// 'this.searchParam.snarInfoList',
|
||||||
this.searchParam.snarInfoList,
|
// this.searchParam.snarInfoList,
|
||||||
);
|
// );
|
||||||
console.log('this.searchParam.snarInfo', this.searchParam.snarInfo);
|
// console.log('this.searchParam.snarInfo', this.searchParam.snarInfo);
|
||||||
if (Array.isArray(snarData)) {
|
if (Array.isArray(snarData)) {
|
||||||
if (snarData.length > 0) {
|
if (snarData.length > 0) {
|
||||||
for (const item of snarData) {
|
for (const item of snarData) {
|
||||||
|
@ -394,7 +394,7 @@ export default {
|
|||||||
params: {},
|
params: {},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
console.log('statusCd', statusCd);
|
// console.log('statusCd', statusCd);
|
||||||
if (statusCd.data.retnCd == 0) {
|
if (statusCd.data.retnCd == 0) {
|
||||||
const params2 = {
|
const params2 = {
|
||||||
simulationId: statusCd.data.dataset.simulId,
|
simulationId: statusCd.data.dataset.simulId,
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
<span class="custom-title-4">{{ option.modalTitle }}</span>
|
<span class="custom-title-4">{{ option.modalTitle }}</span>
|
||||||
<a-button icon="close" type="text" @click="dialogOpenCloseEvent(dialog)"></a-button>
|
<a-button icon="close" type="text" @click="dialogOpenCloseEvent(dialog)"></a-button>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
|
|
||||||
<div class="px-6 py-4 pt-0">
|
<div class="px-6 py-4 pt-0">
|
||||||
<v-row align="center">
|
<v-row align="center">
|
||||||
<v-col :cols="5">
|
<v-col :cols="5">
|
||||||
@ -46,11 +47,10 @@
|
|||||||
v-model="searchWord" @keyup.enter="search"><template v-slot:append>
|
v-model="searchWord" @keyup.enter="search"><template v-slot:append>
|
||||||
<!-- Custom SVG icon -->
|
<!-- Custom SVG icon -->
|
||||||
<v-icon>$icoSearch</v-icon>
|
<v-icon>$icoSearch</v-icon>
|
||||||
|
|
||||||
</template></v-text-field>
|
</template></v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-spacer></v-spacer>
|
<v-spacer></v-spacer>
|
||||||
<v-col cols="3" class="text-right">
|
<v-col :cols="3" class="text-right">
|
||||||
<a-button icon="search" type="primary" @click="search()"
|
<a-button icon="search" type="primary" @click="search()"
|
||||||
class="search-button">조회</a-button>
|
class="search-button">조회</a-button>
|
||||||
<!-- <v-btn :ripple="false" @click="initSearch()">
|
<!-- <v-btn :ripple="false" @click="initSearch()">
|
||||||
@ -59,24 +59,32 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
<v-col :cols="12">
|
||||||
|
<div style="height: 50vh;">
|
||||||
|
<div ref="modalGridParent" class="h100 py-4">
|
||||||
|
<component :is="loadGrid && dialog ? 'Grid' : null" :gridName="grid_01"
|
||||||
|
:dataPath="searchParam.pyscModalData.egrpPysclQtyPop" :parentPrgmId="parentPrgmId"
|
||||||
|
@getRowsData="getRowData" @dblClick="setUpdate($event)" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div :style="'height: calc(50vh)'">
|
<!-- <div style="height: 50vh;">
|
||||||
<div ref="modalGridParent" class="h100 px-6 py-4">
|
<div ref="modalGridParent" class="h100 px-6 py-4">
|
||||||
<component :is="loadGrid && dialog ? 'Grid' : null" :gridName="grid_01"
|
<component :is="loadGrid && dialog ? 'Grid' : null" :gridName="grid_01"
|
||||||
:dataPath="searchParam.pyscModalData.egrpPysclQtyPop" :parentPrgmId="parentPrgmId"
|
:dataPath="searchParam.pyscModalData.egrpPysclQtyPop" :parentPrgmId="parentPrgmId"
|
||||||
@getRowsData="getRowData" @dblClick="setUpdate($event)" />
|
@getRowsData="getRowData" @dblClick="setUpdate($event)" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
<v-card-actions class="px-6 py-4 d-flex align-center justify-end">
|
<v-card-actions class="px-6 py-4 d-flex align-center justify-end">
|
||||||
|
|
||||||
<a-button :ripple="false" @click="dialogOpenCloseEvent(dialog)"
|
<a-button :ripple="false" @click="dialogOpenCloseEvent(dialog)" class="mr-2">닫기</a-button>
|
||||||
class="mr-2">닫기</a-button>
|
<a-button v-if="item.closeBtnFg || false" :ripple="false" type="danger" ghost danger
|
||||||
<a-button v-if="item.closeBtnFg || false" :ripple="false" type="danger" ghost danger
|
|
||||||
@click="deleteBtnAction($event)" class="mr-2">삭제</a-button>
|
@click="deleteBtnAction($event)" class="mr-2">삭제</a-button>
|
||||||
<a-button :ripple="false" type="primary" @click="setUpdate($event)" >확인</a-button>
|
<a-button :ripple="false" type="primary" @click="setUpdate($event)">확인</a-button>
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-dialog>
|
</v-dialog>
|
||||||
@ -148,23 +156,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
dialog: false,
|
dialog: false,
|
||||||
|
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
dataPathPopExample: {
|
|
||||||
"rowGrid": {
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
'calcProc': 'AVG_CNT2',
|
|
||||||
'argCnt': '2',
|
|
||||||
'calcDesc': '두개 변수에 대한 평균'
|
|
||||||
|
|
||||||
}
|
|
||||||
],
|
|
||||||
column: [
|
|
||||||
{ header: '계산코드', name: 'calcProc', width: 150 },
|
|
||||||
{ header: '아규먼트갯수', name: 'argCnt', align: 'center', width: 100 },
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
grid_01: 'grid_01',
|
grid_01: 'grid_01',
|
||||||
myModalKey: 'egrpPysclQtyPop',
|
myModalKey: 'egrpPysclQtyPop',
|
||||||
modalDataKey: 'pyscModalData',
|
modalDataKey: 'pyscModalData',
|
||||||
@ -329,13 +321,6 @@ export default {
|
|||||||
this.selectValueList01 = [];
|
this.selectValueList01 = [];
|
||||||
this.selectValue01 = null;
|
this.selectValue01 = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// this.selectValueList01 = [
|
|
||||||
// { label: '냉동기고온', value: '냉동기고온' },
|
|
||||||
// { label: '냉동기저온', value: '냉동기저온' },
|
|
||||||
// { label: '공조기', value: '공조기' },
|
|
||||||
// { label: '보일러', value: '보일러' }
|
|
||||||
// ];
|
|
||||||
},
|
},
|
||||||
search() {
|
search() {
|
||||||
this.getGridData();
|
this.getGridData();
|
||||||
@ -357,7 +342,7 @@ export default {
|
|||||||
modalDataKey: this.modalDataKey,
|
modalDataKey: this.modalDataKey,
|
||||||
value: Object.assign(
|
value: Object.assign(
|
||||||
// Utility.defaultGridOption(this.$refs.modalGridParent.offsetHeight - 60, myOptions),
|
// Utility.defaultGridOption(this.$refs.modalGridParent.offsetHeight - 60, myOptions),
|
||||||
// Utility.defaultGridOption(100, myOptions),
|
Utility.defaultGridOption(400, myOptions),
|
||||||
myOptions,
|
myOptions,
|
||||||
),
|
),
|
||||||
});
|
});
|
||||||
@ -415,6 +400,15 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// res = [
|
||||||
|
// {
|
||||||
|
// 'pysclQtyId' : 'PYSCL00001',
|
||||||
|
// 'pysclQtyCd' : 'AMP_1A',
|
||||||
|
// 'pysclQtyNm' : '회로1 전류A',
|
||||||
|
// 'pysclQtyTpNm' : 'TAG'
|
||||||
|
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
this.setModalGridData({
|
this.setModalGridData({
|
||||||
modalKey: this.myModalKey,
|
modalKey: this.myModalKey,
|
||||||
gridKey: this.grid_01,
|
gridKey: this.grid_01,
|
||||||
@ -469,10 +463,10 @@ export default {
|
|||||||
this.dialog = flag;
|
this.dialog = flag;
|
||||||
},
|
},
|
||||||
async dialogOpenCloseEvent(val) {
|
async dialogOpenCloseEvent(val) {
|
||||||
// await this.setSelectValueList01();
|
await this.setSelectValueList01();
|
||||||
// if (!this.myBindingData) {
|
if (!this.myBindingData) {
|
||||||
// return alert('그리드를 먼저 선택해주세요.');
|
return alert('그리드를 먼저 선택해주세요.');
|
||||||
// }
|
}
|
||||||
this.dialog = !val;
|
this.dialog = !val;
|
||||||
},
|
},
|
||||||
deleteBtnAction(v) {
|
deleteBtnAction(v) {
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<v-icon
|
<v-icon
|
||||||
v-if="iconShow"
|
v-if="iconShow"
|
||||||
small
|
small
|
||||||
:class="['mr-1', required ? 'icon-orange' : 'icon-blue']"
|
:class="['mr-1', item.required ? 'icon-orange' : 'icon-blue']"
|
||||||
>$icoBulletPoint</v-icon
|
>$icoBulletPoint</v-icon
|
||||||
>
|
>
|
||||||
{{ option.labelContent }}
|
{{ option.labelContent }}
|
||||||
|
@ -286,8 +286,8 @@ export default {
|
|||||||
// Row selection config
|
// Row selection config
|
||||||
rowSelection: {
|
rowSelection: {
|
||||||
onChange: (selectedRowKeys, selectedRows) => {
|
onChange: (selectedRowKeys, selectedRows) => {
|
||||||
console.log('Selected Row Keys:', selectedRowKeys);
|
// console.log('Selected Row Keys:', selectedRowKeys);
|
||||||
console.log('Selected Rows:', selectedRows);
|
// console.log('Selected Rows:', selectedRows);
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -332,7 +332,7 @@ export default {
|
|||||||
// this.getRowGridData();
|
// this.getRowGridData();
|
||||||
// },
|
// },
|
||||||
searchFab() {
|
searchFab() {
|
||||||
console.log('tttttttttttt')
|
// console.log('tttttttttttt')
|
||||||
// this.filteredData = this.data.filter(item => {
|
// this.filteredData = this.data.filter(item => {
|
||||||
// const matchGrp = this.eqpmGrpSelected ? item.group === this.eqpmGrpSelected : true;
|
// const matchGrp = this.eqpmGrpSelected ? item.group === this.eqpmGrpSelected : true;
|
||||||
// const matchFab = this.localFabSelected ? item.fab === this.localFabSelected : true;
|
// const matchFab = this.localFabSelected ? item.fab === this.localFabSelected : true;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<v-row class="search-box" align="center">
|
<v-row class="search-box no-gutters" 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
|
||||||
@ -8,13 +8,11 @@
|
|||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="option.textCols" class="py-0">
|
<v-col :cols="option.textCols" class="py-0">
|
||||||
<v-text-field readonly append-icon="" class="v-input__custom" outlined :hide-details="true"
|
<v-text-field readonly append-icon="" :class="['v-select__custom', customClass]" outlined :hide-details="true"
|
||||||
v-model="searchWord" @keyup.enter="typeEnterKey" @click="dialogOpenCloseEvent(dialog)"
|
v-model="selectValue" @keyup.enter="typeEnterKey" @click="dialogOpenCloseEvent(dialog)" style="padding: 0;"
|
||||||
:required="item.required || false"><template v-slot:append>
|
:required="item.required || false"><template v-slot:append>
|
||||||
<!-- Custom SVG icon -->
|
<!-- Custom SVG icon -->
|
||||||
<v-icon>$icoSearch</v-icon>
|
<v-icon>$icoSearch</v-icon>
|
||||||
|
|
||||||
|
|
||||||
</template></v-text-field>
|
</template></v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
@ -43,8 +41,6 @@
|
|||||||
class="search-button">조회</a-button>
|
class="search-button">조회</a-button>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
|
|
||||||
</v-row>
|
</v-row>
|
||||||
<!-- <div :style="'height: calc(65vh)'"> -->
|
<!-- <div :style="'height: calc(65vh)'"> -->
|
||||||
<div :style="'height: 600px'" class="px-5">
|
<div :style="'height: 600px'" class="px-5">
|
||||||
|
@ -126,7 +126,7 @@ export default {
|
|||||||
async chkDialog(val) {
|
async chkDialog(val) {
|
||||||
if (val) {
|
if (val) {
|
||||||
// 열릴 때
|
// 열릴 때
|
||||||
console.log('dsfafds');
|
// console.log('dsfafds');
|
||||||
await this.getData();
|
await this.getData();
|
||||||
// console.log("chkDialog: ", val);
|
// console.log("chkDialog: ", val);
|
||||||
// if(this.searchParam.selecUserList.length > 0){
|
// if(this.searchParam.selecUserList.length > 0){
|
||||||
|
@ -22,37 +22,29 @@
|
|||||||
outlined
|
outlined
|
||||||
:hide-details="true"
|
:hide-details="true"
|
||||||
>
|
>
|
||||||
|
<!-- Custom SVG icon -->
|
||||||
<template v-slot:append>
|
<template v-slot:append>
|
||||||
<!-- Custom SVG icon -->
|
<v-icon>$icoSearch</v-icon>
|
||||||
<v-icon>$icoSearch</v-icon>
|
|
||||||
</template>
|
</template>
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
<v-dialog v-model="dialog" scrollable width="700px">
|
<v-dialog v-model="dialog" scrollable width="700px">
|
||||||
<v-card style="height: 100%">
|
<v-card style="height: 100%">
|
||||||
<v-card-title class="pa-5 d-flex align-center justify-space-between">
|
<v-card-title class="px-6 py-4 d-flex align-center justify-space-between">
|
||||||
<span class="custom-title-4">{{ option.modalTitle }}</span>
|
<span class="custom-title-4">{{ option.modalTitle }}</span>
|
||||||
<v-btn
|
<a-button icon="close" type="text" @click="dialogOpenCloseEvent(dialog)"></a-button>
|
||||||
icon
|
|
||||||
tile
|
|
||||||
:ripple="false"
|
|
||||||
@click="dialogOpenCloseEvent(dialog)"
|
|
||||||
>
|
|
||||||
<v-icon>mdi-close</v-icon>
|
|
||||||
</v-btn>
|
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<div class="pa-5">
|
<div class="pa-5">
|
||||||
<v-row align="center" no-gutters>
|
<v-row align="center" no-gutters>
|
||||||
<v-col :cols="3">
|
<v-col :cols="12">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
<v-icon x-small color="primary" class="mr-1"
|
<!-- <v-icon x-small color="primary" class="mr-1">mdi-record-circle</v-icon> -->
|
||||||
>mdi-record-circle</v-icon
|
<v-icon small :class="['mr-1 icon-blue']">$icoBulletPoint</v-icon>
|
||||||
>
|
|
||||||
검색
|
검색
|
||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="5">
|
<v-col :cols="9">
|
||||||
<v-text-field
|
<v-text-field
|
||||||
append-icon="mdi-magnify"
|
append-icon="mdi-magnify"
|
||||||
class="v-input__custom"
|
class="v-input__custom"
|
||||||
@ -63,21 +55,19 @@
|
|||||||
></v-text-field>
|
></v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-spacer></v-spacer>
|
<v-spacer></v-spacer>
|
||||||
<v-col cols="4" class="text-right">
|
<v-col :cols="3" class="text-right">
|
||||||
<v-btn :ripple="false" @click="search()">
|
<a-button type="primary" @click="search()" icon="search">
|
||||||
조회
|
조회
|
||||||
</v-btn>
|
</a-button>
|
||||||
<v-btn :ripple="false" @click="initSearch()">
|
<a-button @click="initSearch()">
|
||||||
초기화
|
초기화
|
||||||
</v-btn>
|
</a-button>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</div>
|
</div>
|
||||||
<v-divider></v-divider>
|
<!-- <v-divider></v-divider> -->
|
||||||
<!-- <div :style="'height: calc(65vh)'"> -->
|
<div style="height: 429px;" class="py-3 px-5">
|
||||||
<div :style="'height: 429px;'">
|
<div ref="modalGridParent" class="h100 w100">
|
||||||
<!-- <div :style="{ height: 'calc(100% - 213px)' }"> -->
|
|
||||||
<div ref="modalGridParent" class="h100 w100 py-3">
|
|
||||||
<component
|
<component
|
||||||
:is="loadGrid && dialog ? 'Grid' : null"
|
:is="loadGrid && dialog ? 'Grid' : null"
|
||||||
:gridName="grid_01"
|
:gridName="grid_01"
|
||||||
@ -88,11 +78,9 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<v-card-actions class="pa-5 d-flex align-center justify-center">
|
<v-card-actions class="pa-5 d-flex align-center justify-end">
|
||||||
<v-btn :ripple="false" @click="setUpdate($event)">확인</v-btn>
|
<a-button class="mr-2" @click="dialogOpenCloseEvent(dialog)">닫기</a-button>
|
||||||
<v-btn :ripple="false" @click="dialogOpenCloseEvent(dialog)"
|
<a-button type="primary" @click="setUpdate($event)">확인</a-button>
|
||||||
>닫기</v-btn
|
|
||||||
>
|
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-dialog>
|
</v-dialog>
|
||||||
@ -336,7 +324,7 @@ export default {
|
|||||||
}))
|
}))
|
||||||
};
|
};
|
||||||
|
|
||||||
console.log(res);
|
// console.log(res);
|
||||||
|
|
||||||
this.setModalGridData({
|
this.setModalGridData({
|
||||||
modalKey: this.myModalKey,
|
modalKey: this.myModalKey,
|
||||||
@ -395,7 +383,31 @@ var FtnPlcFormPop = {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
// @each $theme in dark, light {
|
||||||
|
// @include theme($theme);
|
||||||
|
// .v-application.#{$theme}-mode {
|
||||||
|
// .v-input--is-readonly {
|
||||||
|
// border-color: map-deep-get($config,
|
||||||
|
// #{$theme},
|
||||||
|
// "v-input-readonly-border-color"
|
||||||
|
// );
|
||||||
|
// ::v-deep {
|
||||||
|
// &:not(.v-input--radio-group, .v-input--checkbox) {
|
||||||
|
// .v-input__slot {
|
||||||
|
// background-color: map-deep-get($config,
|
||||||
|
// #{$theme},
|
||||||
|
// "v-input-backgroundColor"
|
||||||
|
// ) !important;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
::v-deep {
|
::v-deep {
|
||||||
|
|
||||||
.v-dialog {
|
.v-dialog {
|
||||||
overflow-y: hidden !important;
|
overflow-y: hidden !important;
|
||||||
}
|
}
|
||||||
@ -418,26 +430,4 @@ var FtnPlcFormPop = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@each $theme in dark, light {
|
|
||||||
.v-application.#{$theme}-mode {
|
|
||||||
.v-dialog {
|
|
||||||
.v-card {
|
|
||||||
&__title {
|
|
||||||
color: map-deep-get($color, 'white', '0');
|
|
||||||
@if $theme == dark {
|
|
||||||
background-color: #2d3355;
|
|
||||||
.v-btn {
|
|
||||||
background-color: #2d3355;
|
|
||||||
}
|
|
||||||
} @else {
|
|
||||||
background-color: #3f4d7d;
|
|
||||||
.v-btn {
|
|
||||||
background-color: #3f4d7d;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -294,10 +294,10 @@ export default {
|
|||||||
if (this.searchParam.energyCd < 0) {
|
if (this.searchParam.energyCd < 0) {
|
||||||
roiIdVal = null;
|
roiIdVal = null;
|
||||||
} else {
|
} else {
|
||||||
console.log(
|
// console.log(
|
||||||
'this.searchParam.energyList[this.searchParam.energyCd]',
|
// 'this.searchParam.energyList[this.searchParam.energyCd]',
|
||||||
this.searchParam.energyList[this.searchParam.energyCd],
|
// this.searchParam.energyList[this.searchParam.energyCd],
|
||||||
);
|
// );
|
||||||
roiIdVal = this.searchParam.energyList[this.searchParam.energyCd + 1]
|
roiIdVal = this.searchParam.energyList[this.searchParam.energyCd + 1]
|
||||||
.cd;
|
.cd;
|
||||||
}
|
}
|
||||||
|
@ -239,13 +239,13 @@ export default {
|
|||||||
this.selectedData.eccNm = '';
|
this.selectedData.eccNm = '';
|
||||||
|
|
||||||
if (this.bindOption === null) {
|
if (this.bindOption === null) {
|
||||||
console.log('this.bindOption is null...');
|
// console.log('this.bindOption is null...');
|
||||||
this.setPageData({
|
this.setPageData({
|
||||||
modalEccId: '',
|
modalEccId: '',
|
||||||
modalEccNm: '',
|
modalEccNm: '',
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
console.log('this.bindOption is not null...');
|
// console.log('this.bindOption is not null...');
|
||||||
this.setPageData({
|
this.setPageData({
|
||||||
[this.bindOption.eccId]: '',
|
[this.bindOption.eccId]: '',
|
||||||
[this.bindOption.eccNm]: '',
|
[this.bindOption.eccNm]: '',
|
||||||
@ -296,12 +296,12 @@ export default {
|
|||||||
? localStorage.getItem(this.parentPrgmId + 'ModalEccNm')
|
? localStorage.getItem(this.parentPrgmId + 'ModalEccNm')
|
||||||
: '',
|
: '',
|
||||||
});
|
});
|
||||||
console.log(
|
// console.log(
|
||||||
'localStorage.getItem(this.parentPrgmId + "ModalEccNm") : ',
|
// 'localStorage.getItem(this.parentPrgmId + "ModalEccNm") : ',
|
||||||
localStorage.getItem(this.parentPrgmId + 'ModalEccNm') != null
|
// localStorage.getItem(this.parentPrgmId + 'ModalEccNm') != null
|
||||||
? localStorage.getItem(this.parentPrgmId + 'ModalEccNm')
|
// ? localStorage.getItem(this.parentPrgmId + 'ModalEccNm')
|
||||||
: '',
|
// : '',
|
||||||
);
|
// );
|
||||||
this.textFieldData =
|
this.textFieldData =
|
||||||
localStorage.getItem(this.parentPrgmId + 'ModalEccNm') != null
|
localStorage.getItem(this.parentPrgmId + 'ModalEccNm') != null
|
||||||
? localStorage.getItem(this.parentPrgmId + 'ModalEccNm')
|
? localStorage.getItem(this.parentPrgmId + 'ModalEccNm')
|
||||||
|
@ -43,7 +43,10 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="6" class="py-0 pl-2">
|
<v-col :cols="6" class="py-0 pl-2">
|
||||||
<!-- <DatePicker v-model="strtDt" :parentPrgmId="parentPrgmId"/> -->
|
<!-- <DatePicker v-model="strtDt" :parentPrgmId="parentPrgmId"/> -->
|
||||||
<div class="startpicker-container2">
|
<component :parentPrgmId="parentPrgmId" :is="'SelectBoxTime'" ref="SelectBox1"
|
||||||
|
:propsValue="selectTimeValue1" :itemList="selectTimeValueList1" :minInterval="selectBoxTimeItemList.minInterval ? selectBoxTimeItemList.minInterval : 1
|
||||||
|
" @update:propsValue="selectTimeValue1 = $event" />
|
||||||
|
<!-- <div class="startpicker-container2">
|
||||||
<v-text-field id="startpicker2" ref="startpicker2" v-model="strtDt"
|
<v-text-field id="startpicker2" ref="startpicker2" v-model="strtDt"
|
||||||
:class="'v-input__custom'" :hide-details="true" readonly outlined>
|
:class="'v-input__custom'" :hide-details="true" readonly outlined>
|
||||||
<template #append>
|
<template #append>
|
||||||
@ -53,7 +56,7 @@
|
|||||||
<div ref="startpicker-container2" id="startpicker-container2"></div>
|
<div ref="startpicker-container2" id="startpicker-container2"></div>
|
||||||
</template>
|
</template>
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
</div>
|
</div> -->
|
||||||
</v-col>
|
</v-col>
|
||||||
<!-- <v-col :cols="2">
|
<!-- <v-col :cols="2">
|
||||||
<vue-numeric-input v-model="strtHh" :min="0" :max="23" controls-type="updown"
|
<vue-numeric-input v-model="strtHh" :min="0" :max="23" controls-type="updown"
|
||||||
@ -91,17 +94,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="6" class="pl-2">
|
<v-col :cols="6" class="pl-2">
|
||||||
<div class="startpicker-container3">
|
<component :parentPrgmId="parentPrgmId" :is="'SelectBoxTime'" ref="SelectBox2"
|
||||||
<v-text-field id="startpicker3" ref="startpicker3" v-model="endDt"
|
:propsValue="selectTimeValue2" :itemList="selectTimeValueList2" :minInterval="selectBoxTimeItemList.minInterval ? selectBoxTimeItemList.minInterval : 1
|
||||||
:class="'v-input__custom'" :hide-details="true" readonly outlined>
|
" @update:propsValue="selectTimeValue2 = $event" />
|
||||||
<template #append>
|
|
||||||
<v-icon size="20">$icoCalendar</v-icon>
|
|
||||||
</template>
|
|
||||||
<template #append-outer>
|
|
||||||
<div ref="startpicker-container3" id="startpicker-container3"></div>
|
|
||||||
</template>
|
|
||||||
</v-text-field>
|
|
||||||
</div>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<!-- <v-col :cols="2">
|
<!-- <v-col :cols="2">
|
||||||
<vue-numeric-input v-model="endHh" :min="0" :max="23" controls-type="updown"
|
<vue-numeric-input v-model="endHh" :min="0" :max="23" controls-type="updown"
|
||||||
@ -186,10 +181,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<v-card-actions class="justify-end">
|
<v-card-actions class="justify-end">
|
||||||
<a-button :ripple="false" @click="btnAction('save')" class="mr-2">저장</a-button>
|
<a-button :ripple="false" @click="btnAction('close')" class="mr-2">닫기</a-button>
|
||||||
|
<a-button type="primary" :ripple="false" @click="btnAction('save')" class="mr-2">저장</a-button>
|
||||||
<a-button v-show="popUpAction === 'update'" type="danger" ghost danger :ripple="false"
|
<a-button v-show="popUpAction === 'update'" type="danger" ghost danger :ripple="false"
|
||||||
@click="btnAction('delete')" class="mr-2">삭제</a-button>
|
@click="btnAction('delete')">삭제</a-button>
|
||||||
<a-button :ripple="false" type="primary" @click="btnAction('close')" class="mr-2">닫기</a-button>
|
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-dialog>
|
</v-dialog>
|
||||||
@ -210,6 +206,7 @@ import DatePicker from '~/components/common/Datepicker';
|
|||||||
import mixinGlobal from '@/mixin/global.js';
|
import mixinGlobal from '@/mixin/global.js';
|
||||||
import Utility from '~/plugins/utility';
|
import Utility from '~/plugins/utility';
|
||||||
import TuiDatepicker from 'tui-date-picker';
|
import TuiDatepicker from 'tui-date-picker';
|
||||||
|
import SelectBoxTime from "@/components/common/select/SelectBoxTime";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
mixins: [mixinGlobal],
|
mixins: [mixinGlobal],
|
||||||
@ -237,6 +234,13 @@ export default {
|
|||||||
type: String,
|
type: String,
|
||||||
require: false,
|
require: false,
|
||||||
},
|
},
|
||||||
|
selectBoxTimeItemList: {
|
||||||
|
type: Object,
|
||||||
|
require: false,
|
||||||
|
default: () => {
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
InputText,
|
InputText,
|
||||||
@ -250,6 +254,7 @@ export default {
|
|||||||
Utility,
|
Utility,
|
||||||
TuiDatepicker,
|
TuiDatepicker,
|
||||||
VueNumericInput,
|
VueNumericInput,
|
||||||
|
SelectBoxTime,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -272,7 +277,23 @@ export default {
|
|||||||
planSeq: '',
|
planSeq: '',
|
||||||
blocId: '',
|
blocId: '',
|
||||||
addPlanData: {
|
addPlanData: {
|
||||||
}
|
},
|
||||||
|
selectTimeValue1:
|
||||||
|
this.selectBoxTimeItemList.selectTimeValue1 != undefined
|
||||||
|
? this.selectBoxTimeItemList.selectTimeValue1
|
||||||
|
: null, // selectBoxTime에 필요한 prop
|
||||||
|
selectTimeValueList1:
|
||||||
|
this.selectBoxTimeItemList.selectTimeValueList1 != undefined
|
||||||
|
? this.selectBoxTimeItemList.selectTimeValueList1
|
||||||
|
: [], // selectBoxTime에 필요한 prop
|
||||||
|
selectTimeValue2:
|
||||||
|
this.selectBoxTimeItemList.selectTimeValue2 != undefined
|
||||||
|
? this.selectBoxTimeItemList.selectTimeValue2
|
||||||
|
: null, // selectBoxTime에 필요한 prop
|
||||||
|
selectTimeValueList2:
|
||||||
|
this.selectBoxTimeItemList.selectTimeValueList2 != undefined
|
||||||
|
? this.selectBoxTimeItemList.selectTimeValueList2
|
||||||
|
: [], // selectBoxTime에 필요한 prop
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -296,25 +317,29 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
strtDt(val) {
|
strtDt(val) {
|
||||||
console.log('strtDt : ', val);
|
// console.log('strtDt : ', val);
|
||||||
this.checkStrtAndEndDateTime('start');
|
this.checkStrtAndEndDateTime('start');
|
||||||
if (this.startDatepickerInstance3) {
|
if (this.startDatepickerInstance3) {
|
||||||
this.startDatepickerInstance3.setDate(new Date(this.endDt));
|
this.startDatepickerInstance3.setDate(new Date(this.endDt));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
endDt(val) {
|
endDt(val) {
|
||||||
console.log('endDt : ', val);
|
// console.log('endDt : ', val);
|
||||||
this.checkStrtAndEndDateTime('end');
|
this.checkStrtAndEndDateTime('end');
|
||||||
if (this.startDatepickerInstance) {
|
if (this.startDatepickerInstance) {
|
||||||
this.startDatepickerInstance.setDate(new Date(this.strtDt));
|
this.startDatepickerInstance.setDate(new Date(this.strtDt));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
strtHh(val) {
|
strtHh(val) {
|
||||||
|
|
||||||
|
// const [hh, mm] = selectTimeValue1.split(':');
|
||||||
|
// console.log(`Hours: ${hh}, Minutes: ${mm}`);
|
||||||
|
|
||||||
console.log('strtHh : ', val);
|
console.log('strtHh : ', val);
|
||||||
this.checkStrtAndEndDateTime('start');
|
this.checkStrtAndEndDateTime('start');
|
||||||
},
|
},
|
||||||
endHh(val) {
|
endHh(val) {
|
||||||
console.log('endHh : ', val);
|
// console.log('endHh : ', val);
|
||||||
this.checkStrtAndEndDateTime('end');
|
this.checkStrtAndEndDateTime('end');
|
||||||
},
|
},
|
||||||
strtMm(val) {
|
strtMm(val) {
|
||||||
@ -323,6 +348,12 @@ export default {
|
|||||||
endMm(val) {
|
endMm(val) {
|
||||||
this.checkStrtAndEndDateTime('end');
|
this.checkStrtAndEndDateTime('end');
|
||||||
},
|
},
|
||||||
|
selectTimeValue1(val) {
|
||||||
|
this.setPageData({ selectTimeValue1: val });
|
||||||
|
},
|
||||||
|
selectTimeValue2(val) {
|
||||||
|
this.setPageData({ selectTimeValue2: val });
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapMutations({
|
...mapMutations({
|
||||||
@ -505,10 +536,8 @@ export default {
|
|||||||
let returnData = res[0];
|
let returnData = res[0];
|
||||||
this.strtDt = Utility.setFormatDate(returnData.strtDt, 'YYYY-MM-DD');
|
this.strtDt = Utility.setFormatDate(returnData.strtDt, 'YYYY-MM-DD');
|
||||||
this.endDt = Utility.setFormatDate(returnData.endDt, 'YYYY-MM-DD');
|
this.endDt = Utility.setFormatDate(returnData.endDt, 'YYYY-MM-DD');
|
||||||
this.strtHh = returnData.strtHh;
|
this.selectTimeValue1 = returnData.strtHh+' : '+ returnData.strtMm;
|
||||||
this.strtMm = returnData.strtMm;
|
this.selectTimeValue2 = returnData.endHh+' : '+ returnData.endMm;
|
||||||
this.endHh = returnData.endHh;
|
|
||||||
this.endMm = returnData.endMm;
|
|
||||||
this.planTitle = returnData.planTitle;
|
this.planTitle = returnData.planTitle;
|
||||||
this.planCntn = returnData.planCntn;
|
this.planCntn = returnData.planCntn;
|
||||||
this.planColor = returnData.planColor;
|
this.planColor = returnData.planColor;
|
||||||
@ -525,10 +554,8 @@ export default {
|
|||||||
if (
|
if (
|
||||||
this.strtDt === '' ||
|
this.strtDt === '' ||
|
||||||
this.endDt === '' ||
|
this.endDt === '' ||
|
||||||
this.strtHh === '' ||
|
this.selectTimeValue1 === '' ||
|
||||||
this.strtMm === '' ||
|
this.selectTimeValue2 === '' ||
|
||||||
this.endHh === '' ||
|
|
||||||
this.endMm === '' ||
|
|
||||||
this.planTitle === '' ||
|
this.planTitle === '' ||
|
||||||
this.planCntn === '' ||
|
this.planCntn === '' ||
|
||||||
this.planColor === ''
|
this.planColor === ''
|
||||||
@ -542,10 +569,8 @@ export default {
|
|||||||
if (
|
if (
|
||||||
this.strtDt == '' ||
|
this.strtDt == '' ||
|
||||||
this.endDt == '' ||
|
this.endDt == '' ||
|
||||||
this.strtHh == '' ||
|
this.selectTimeValue1 === '' ||
|
||||||
this.strtMm == '' ||
|
this.selectTimeValue2 === '' ||
|
||||||
this.endHh == '' ||
|
|
||||||
this.endMm == '' ||
|
|
||||||
this.planTitle == '' ||
|
this.planTitle == '' ||
|
||||||
this.planCntn == '' ||
|
this.planCntn == '' ||
|
||||||
this.planColor == ''
|
this.planColor == ''
|
||||||
@ -565,13 +590,17 @@ export default {
|
|||||||
//console.log(this);
|
//console.log(this);
|
||||||
},
|
},
|
||||||
async insertDetail() {
|
async insertDetail() {
|
||||||
|
|
||||||
|
const [strtHh, strtMm] = this.selectTimeValue1 ? this.selectTimeValue1.split(':') : '00:00'.split(':');
|
||||||
|
const [endHh, endMm] = this.selectTimeValue2 ? this.selectTimeValue2.split(':') : '01:00'.split(':');
|
||||||
|
|
||||||
var params = {
|
var params = {
|
||||||
strtDt: this.strtDt,
|
strtDt: this.strtDt,
|
||||||
endDt: this.endDt,
|
endDt: this.endDt,
|
||||||
strtHh: this.strtHh.toString(),
|
strtHh: strtHh.trim().toString(),
|
||||||
strtMm: this.strtMm.toString(),
|
strtMm: strtMm.trim().toString(),
|
||||||
endHh: this.endHh.toString(),
|
endHh: endHh.trim().toString(),
|
||||||
endMm: this.endMm.toString(),
|
endMm: endMm.trim().toString(),
|
||||||
blocId: this.blocId,
|
blocId: this.blocId,
|
||||||
planTitle: this.planTitle,
|
planTitle: this.planTitle,
|
||||||
planCntn: this.planCntn,
|
planCntn: this.planCntn,
|
||||||
@ -592,13 +621,16 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async updateDetail() {
|
async updateDetail() {
|
||||||
|
const [strtHh, strtMm] = this.selectTimeValue1 ? this.selectTimeValue1.split(':') : '00:00'.split(':');
|
||||||
|
const [endHh, endMm] = this.selectTimeValue2 ? this.selectTimeValue2.split(':') : '01:00'.split(':');
|
||||||
|
|
||||||
var params = {
|
var params = {
|
||||||
strtDt: this.strtDt.substr(0, 10),
|
strtDt: this.strtDt.substr(0, 10),
|
||||||
endDt: this.endDt.substr(0, 10),
|
endDt: this.endDt.substr(0, 10),
|
||||||
strtHh: this.strtHh.toString(),
|
strtHh: strtHh.trim().toString(),
|
||||||
strtMm: this.strtMm.toString(),
|
strtMm: strtMm.trim().toString(),
|
||||||
endHh: this.endHh.toString(),
|
endHh: endHh.trim().toString(),
|
||||||
endMm: this.endMm.toString(),
|
endMm: endMm.trim().toString(),
|
||||||
planTitle: this.planTitle,
|
planTitle: this.planTitle,
|
||||||
planCntn: this.planCntn,
|
planCntn: this.planCntn,
|
||||||
planColor: this.planColor,
|
planColor: this.planColor,
|
||||||
|
@ -253,7 +253,7 @@ export default {
|
|||||||
readObjid: this.searchParam.energyCd,
|
readObjid: this.searchParam.energyCd,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
console.log('getTreeData : ', res);
|
// console.log('getTreeData : ', res);
|
||||||
// this.treeData = res;
|
// this.treeData = res;
|
||||||
// const ROOT = res[0].plcCd;
|
// const ROOT = res[0].plcCd;
|
||||||
const setTreeData = await this.setTree({
|
const setTreeData = await this.setTree({
|
||||||
@ -327,7 +327,7 @@ export default {
|
|||||||
// 공정/설비 트리 row 클릭이벤트
|
// 공정/설비 트리 row 클릭이벤트
|
||||||
async getRowData(data) {
|
async getRowData(data) {
|
||||||
// console.log("getRowData 시작...");
|
// console.log("getRowData 시작...");
|
||||||
console.log('data', data);
|
// console.log('data', data);
|
||||||
this.activeRowData = data;
|
this.activeRowData = data;
|
||||||
// if(data.enableFg == 1){
|
// if(data.enableFg == 1){
|
||||||
// this.activeRowData = data;
|
// this.activeRowData = data;
|
||||||
|
@ -268,7 +268,7 @@ export default {
|
|||||||
header: '',
|
header: '',
|
||||||
name: '',
|
name: '',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 50,
|
width: 20,
|
||||||
formatter: (props) => {
|
formatter: (props) => {
|
||||||
return `<label class="custom-radio">
|
return `<label class="custom-radio">
|
||||||
<span class="radio-mark"></span>
|
<span class="radio-mark"></span>
|
||||||
@ -278,10 +278,10 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '검침개소명',
|
header: '검침개소명',
|
||||||
name: 'readPlcNm',
|
name: 'readPlcNm',
|
||||||
width: 300,
|
width: 500,
|
||||||
align: 'left',
|
align: 'left',
|
||||||
},
|
},
|
||||||
{ header: '검침개소', name: 'name', align: 'center' },
|
{ header: '검침개소', name: 'name', align: 'left', width: 200 },
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -307,6 +307,9 @@ export default {
|
|||||||
|
|
||||||
// console.log("treeData", res)
|
// console.log("treeData", res)
|
||||||
let myOptionsTree = {
|
let myOptionsTree = {
|
||||||
|
columnOptions: {
|
||||||
|
resizable: true,
|
||||||
|
},
|
||||||
treeColumnOptions: {
|
treeColumnOptions: {
|
||||||
name: 'readPlcNm',
|
name: 'readPlcNm',
|
||||||
},
|
},
|
||||||
|
@ -22,11 +22,11 @@
|
|||||||
outlined
|
outlined
|
||||||
:menu-props="{ auto: true, offsetY: true }"
|
:menu-props="{ auto: true, offsetY: true }"
|
||||||
:hide-details="true"
|
:hide-details="true"
|
||||||
:class="'v-select__custom select-large'"
|
:class="'v-select__custom'"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
:readonly="readonly"
|
:readonly="readonly"
|
||||||
@click="setDatepickerHide"
|
@click="setDatepickerHide"
|
||||||
style="width: 170px; border-radius: 6px !important"
|
style="min-width: 170px;"
|
||||||
>
|
>
|
||||||
<template v-slot:append>
|
<template v-slot:append>
|
||||||
<a-icon
|
<a-icon
|
||||||
|
@ -70,7 +70,7 @@ export default {
|
|||||||
return this.searchParam[this.parentPrgmId][this.enrgCd];
|
return this.searchParam[this.parentPrgmId][this.enrgCd];
|
||||||
},
|
},
|
||||||
set(value) {
|
set(value) {
|
||||||
console.log('value : ', value);
|
// console.log('value : ', value);
|
||||||
return this.setPageData({ [this.enrgCd]: value });
|
return this.setPageData({ [this.enrgCd]: value });
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -270,8 +270,8 @@ export default {
|
|||||||
filteredData: [],
|
filteredData: [],
|
||||||
rowSelection: {
|
rowSelection: {
|
||||||
onChange: (selectedRowKeys, selectedRows) => {
|
onChange: (selectedRowKeys, selectedRows) => {
|
||||||
console.log('Selected Row Keys:', selectedRowKeys);
|
// console.log('Selected Row Keys:', selectedRowKeys);
|
||||||
console.log('Selected Rows:', selectedRows);
|
// console.log('Selected Rows:', selectedRows);
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -213,7 +213,7 @@ export default {
|
|||||||
let dataArr = [];
|
let dataArr = [];
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case 'add':
|
case 'add':
|
||||||
console.log('add this.pageData : '); // , this.pageData);
|
// console.log('add this.pageData : '); // , this.pageData);
|
||||||
const defaultRow = {
|
const defaultRow = {
|
||||||
dataSetId: this.pageData.dataSetId,
|
dataSetId: this.pageData.dataSetId,
|
||||||
dataSetNm: this.pageData.dataSetNm,
|
dataSetNm: this.pageData.dataSetNm,
|
||||||
@ -296,7 +296,7 @@ export default {
|
|||||||
comId: this.selectedComId,
|
comId: this.selectedComId,
|
||||||
dataSetId: this.selectedDataSetId,
|
dataSetId: this.selectedDataSetId,
|
||||||
};
|
};
|
||||||
console.log('data : ', data);
|
// console.log('data : ', data);
|
||||||
this.$emit('jamoviClickEvent', 'view1', data);
|
this.$emit('jamoviClickEvent', 'view1', data);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
:editorGrid="true"
|
:editorGrid="true"
|
||||||
:innerTabGridInfo="innerTabGridInfo"
|
:innerTabGridInfo="innerTabGridInfo"
|
||||||
@getRowsData="getRowData"
|
@getRowsData="getRowData"
|
||||||
:dataPath="dataPathMock"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -54,22 +53,10 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
gridName: 'rowDetailGrid',
|
gridName: 'rowDetailGrid',
|
||||||
rowKey: null,
|
rowKey: null,
|
||||||
edtingFinishFlag: 'Y',
|
edtingFinishFlag: 'Y',
|
||||||
dataPathMock: {
|
|
||||||
"rowDetailGrid": {
|
|
||||||
column: [
|
|
||||||
{ header: '추가 정보', name: 'readObjId', align: 'left' },
|
|
||||||
{ header: 'Data 구분', name: 'readObjNm', align: 'left' },
|
|
||||||
{ header: '추가 정보 값', name: 'readObjKind', align: 'left' },
|
|
||||||
],
|
|
||||||
data: dataPathDataExample,
|
|
||||||
defaultRow: dataPathDataExample,
|
|
||||||
option: {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -444,22 +431,4 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const dataPathDataExample = [
|
|
||||||
{
|
|
||||||
readObjId: 'OBJ001',
|
|
||||||
readObjNm: '서울 본사',
|
|
||||||
readObjKind: 'TYPE01',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
readObjId: 'OBJ002',
|
|
||||||
readObjNm: '부산 지사',
|
|
||||||
readObjKind: 'TYPE02',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
readObjId: 'OBJ003',
|
|
||||||
readObjNm: '대전 공장',
|
|
||||||
readObjKind: 'TYPE03',
|
|
||||||
}
|
|
||||||
]
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
@getRowsData="getRowData"
|
@getRowsData="getRowData"
|
||||||
:innerTabGridInfo="innerTabGridInfo"
|
:innerTabGridInfo="innerTabGridInfo"
|
||||||
:dataPath="dataPathMock"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
@ -60,24 +59,11 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
gridName: 'rowEccIaoGrid',
|
gridName: 'rowEccIaoGrid',
|
||||||
inputList_emMapDiv: [],
|
inputList_emMapDiv: [],
|
||||||
inputList_cmInOut: [],
|
inputList_cmInOut: [],
|
||||||
detailList: myDetail,
|
detailList: myDetail,
|
||||||
dataPathMock: {
|
|
||||||
"rowEccIaoGrid": {
|
|
||||||
column: [
|
|
||||||
{ header: '검침 대상 ID', name: 'readObjId', align: 'left' },
|
|
||||||
{ header: '검침 대상 명', name: 'readObjNm', align: 'left' },
|
|
||||||
{ header: '검침 대상 유형', name: 'readObjKind', align: 'left' },
|
|
||||||
{ header: '그룹', name: 'grpCd', align: 'left' },
|
|
||||||
],
|
|
||||||
data: dataPathDataExample,
|
|
||||||
defaultRow: dataPathDataExample,
|
|
||||||
option: {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -516,12 +502,4 @@ const myDetail = [
|
|||||||
iconShow: true,
|
iconShow: true,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
const dataPathDataExample = [
|
|
||||||
{
|
|
||||||
readObjId: 'OBJ001',
|
|
||||||
readObjNm: '서울 본사',
|
|
||||||
readObjKind: 'TYPE01',
|
|
||||||
grpCd: 'GRP01',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div class="d-flex justify-space-between align-center my-5" >
|
||||||
class="d-flex justify-space-between align-center"
|
<span class="txt custom-subtitle-tab">설비 추가 정보</span>
|
||||||
style="height: 80px;"
|
|
||||||
>
|
|
||||||
<span class="txt custom-title-4-new">설비 추가 정보</span>
|
|
||||||
<Buttons
|
<Buttons
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
:bindingData="gridName"
|
:bindingData="gridName"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="d-flex justify-space-between align-center" style="height: 80px;">
|
<div class="d-flex justify-space-between align-center my-5" >
|
||||||
<span class="txt custom-title-4-new">설비 상수 정보</span>
|
<span class="txt custom-subtitle-tab">설비 상수 정보</span>
|
||||||
<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);">
|
||||||
@ -291,8 +291,8 @@ export default {
|
|||||||
|
|
||||||
dataArr.map(item => {
|
dataArr.map(item => {
|
||||||
for (var key of Object.keys(item)) {
|
for (var key of Object.keys(item)) {
|
||||||
console.log('key : ', key);
|
// console.log('key : ', key);
|
||||||
console.log('item[key] : ', item[key]);
|
// console.log('item[key] : ', item[key]);
|
||||||
if (!item[key] && requiredKeyList.includes(key)) {
|
if (!item[key] && requiredKeyList.includes(key)) {
|
||||||
validCheck = false;
|
validCheck = false;
|
||||||
}
|
}
|
||||||
|
@ -1,27 +1,24 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div class="d-flex justify-space-between align-center my-5" >
|
||||||
class="d-flex justify-space-between align-center"
|
<span class="txt custom-subtitle-tab">설비 입출력 정보</span>
|
||||||
style="height: 80px;"
|
|
||||||
>
|
|
||||||
<span class="txt custom-title-4-new">설비 입출력 정보</span>
|
|
||||||
<Buttons
|
<Buttons
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
:bindingData="gridName"
|
:bindingData="gridName"
|
||||||
:btnActionsFnc="btnActions"
|
:btnActionsFnc="btnActions"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div ref="gridParent" style="min-height: calc(100vh - 800px);" >
|
<div ref="gridParent" style="height: calc(100vh - 800px);">
|
||||||
<!-- :is="loadGrid ? 'Grid' : null" -->
|
|
||||||
<Grid
|
<Grid
|
||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
|
:is="loadGrid ? 'Grid' : null"
|
||||||
:gridName="gridName"
|
:gridName="gridName"
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
@getRowsData="getRowData"
|
@getRowsData="getRowData"
|
||||||
:innerTabGridInfo="innerTabGridInfo"
|
:innerTabGridInfo="innerTabGridInfo"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div style="min-height: calc(100vh - 900px);" class="mt-4">
|
<div style="min-height: calc(100vh - 900px);">
|
||||||
<component
|
<component
|
||||||
:is="'Form'"
|
:is="'Form'"
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
@ -65,22 +62,6 @@ export default {
|
|||||||
|
|
||||||
inputList_emMapDiv: [],
|
inputList_emMapDiv: [],
|
||||||
inputList_cmInOut: [],
|
inputList_cmInOut: [],
|
||||||
dataPathMock: {
|
|
||||||
'rowEqpmIaoGrid' : {
|
|
||||||
column: [
|
|
||||||
{ header: '대상항목', name: 'id', headerAlign: 'left' },
|
|
||||||
{ header: '에너지원 명', name: 'lable', headerAlign: 'left' },
|
|
||||||
{ header: '대상 유형', name: 'type', headerAlign: 'left' },
|
|
||||||
{ header: '물리량', name: 'note', headerAlign: 'left' },
|
|
||||||
{ header: '계산여부', name: 'field1', headerAlign: 'left' },
|
|
||||||
{ header: '분배율', name: 'field2', headerAlign: 'left' }
|
|
||||||
],
|
|
||||||
data: dataPathDataExample,
|
|
||||||
defaultRow: dataPathDataExample,
|
|
||||||
option: {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -127,18 +108,18 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
selectedObjId(val) {
|
selectedObjId(val) {
|
||||||
console.log('selectedObjId : ', val);
|
// console.log('selectedObjId : ', val);
|
||||||
if (val === 'TAG') {
|
if (val === 'TAG') {
|
||||||
this.detailList[2].class = 'py-2 d-none';
|
this.detailList[2].class = 'py-3 d-none';
|
||||||
this.detailList[3].class = 'py-2 d-none';
|
this.detailList[3].class = 'py-3 pl-4 pt-1 d-none';
|
||||||
this.detailList[4].class = 'py-2';
|
this.detailList[4].class = 'py-3';
|
||||||
this.detailList[5].class = 'py-2';
|
this.detailList[5].class = 'py-3';
|
||||||
} else {
|
} else {
|
||||||
// }else if(val==="READ_PLC"){
|
// }else if(val==="READ_PLC"){
|
||||||
this.detailList[5].class = 'py-2 d-none';
|
this.detailList[5].class = 'py-3 d-none';
|
||||||
this.detailList[4].class = 'py-2 d-none';
|
this.detailList[4].class = 'py-3 d-none';
|
||||||
this.detailList[3].class = 'py-2';
|
this.detailList[3].class = 'py-3 pl-4 pt-1';
|
||||||
this.detailList[2].class = 'py-2';
|
this.detailList[2].class = 'py-3';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
selectedCalcFg(val) {
|
selectedCalcFg(val) {
|
||||||
@ -171,7 +152,7 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
// this.init();
|
this.init();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapMutations({
|
...mapMutations({
|
||||||
@ -296,9 +277,7 @@ export default {
|
|||||||
value: myColumns,
|
value: myColumns,
|
||||||
});
|
});
|
||||||
|
|
||||||
this.$nextTick(() => {
|
this.loadGrid = true;
|
||||||
this.loadGrid = true;
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
async getRowData(data, gridName) {
|
async getRowData(data, gridName) {
|
||||||
if (data.rowStat === 'I') {
|
if (data.rowStat === 'I') {
|
||||||
@ -356,7 +335,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (dataArr.length > 0) {
|
if (dataArr.length > 0) {
|
||||||
console.log('dataArr : ', dataArr);
|
// console.log('dataArr : ', dataArr);
|
||||||
|
|
||||||
var requiredKeyList = this.detailList
|
var requiredKeyList = this.detailList
|
||||||
.filter(item => {
|
.filter(item => {
|
||||||
@ -417,6 +396,7 @@ export default {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
function checkDuplicate(data, targetKey) {
|
function checkDuplicate(data, targetKey) {
|
||||||
var duplicateFlag = false;
|
var duplicateFlag = false;
|
||||||
var set = new Set();
|
var set = new Set();
|
||||||
@ -487,7 +467,7 @@ const myEqpmIaoDetail = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'EvtObjPop',
|
type: 'EvtObjPop',
|
||||||
labelContent: '대상 항목 111',
|
labelContent: '대상 항목',
|
||||||
valueNm: 'objId',
|
valueNm: 'objId',
|
||||||
valueNm2: 'objNm',
|
valueNm2: 'objNm',
|
||||||
bindNm: 'objNm',
|
bindNm: 'objNm',
|
||||||
@ -502,7 +482,7 @@ const myEqpmIaoDetail = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
cols: 5,
|
cols: 6,
|
||||||
class: 'py-3 d-none',
|
class: 'py-3 d-none',
|
||||||
valueNm: 'objNm',
|
valueNm: 'objNm',
|
||||||
readonly: true,
|
readonly: true,
|
||||||
@ -615,13 +595,4 @@ const myEqpmIaoDetail = [
|
|||||||
iconShow: true
|
iconShow: true
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
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: '-',
|
|
||||||
field1: '1111',
|
|
||||||
field2: '2222',
|
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -6,12 +6,23 @@
|
|||||||
:btnActionsFnc="btnActions" />
|
:btnActionsFnc="btnActions" />
|
||||||
</div>
|
</div>
|
||||||
<div ref="gridParent" style="height: calc((100vh - 520px) /2);">
|
<div ref="gridParent" style="height: calc((100vh - 520px) /2);">
|
||||||
<Grid :ref="gridName" :gridName="gridName" :parentPrgmId="parentPrgmId" @getRowsData="getRowData"
|
<Grid
|
||||||
:innerTabGridInfo="innerTabGridInfo" />
|
:ref="gridName"
|
||||||
|
:is="loadGrid ? 'Grid' : null"
|
||||||
|
:gridName="gridName"
|
||||||
|
:parentPrgmId="parentPrgmId"
|
||||||
|
@getRowsData="getRowData"
|
||||||
|
:innerTabGridInfo="innerTabGridInfo"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3" ref="formParent" style="height: calc((100vh - 400px) /2);">
|
<div ref="formParent" style="height: calc((100vh - 400px) /2);">
|
||||||
<component :is="'Form'" :parentPrgmId="parentPrgmId" :bindingData="gridName"
|
<component
|
||||||
:detailList="detailReadPlcTagList" @gridEditingFinish="gridEditingFinish" />
|
:is="'Form'"
|
||||||
|
:parentPrgmId="parentPrgmId"
|
||||||
|
:bindingData="gridName"
|
||||||
|
:detailList="detailReadPlcTagList"
|
||||||
|
@gridEditingFinish="gridEditingFinish"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -99,9 +110,9 @@ export default {
|
|||||||
// bodyHeight: gridHeight,
|
// bodyHeight: gridHeight,
|
||||||
// minBodyHeight: gridHeight,
|
// minBodyHeight: gridHeight,
|
||||||
header: {
|
header: {
|
||||||
height: 28,
|
height: 37,
|
||||||
},
|
},
|
||||||
rowHeight: 29,
|
rowHeight: 37,
|
||||||
minRowHeight: 29,
|
minRowHeight: 29,
|
||||||
selectionUnit: 'row',
|
selectionUnit: 'row',
|
||||||
editingEvent: 'click',
|
editingEvent: 'click',
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<v-card-title class="d-flex justify-space-between align-end">
|
<v-card-title class="d-flex justify-space-between align-end">
|
||||||
<span class="tit ft-size_20 ft-weight_600">TAG 추가 정보</span>
|
<span style="color:#000000A6" class="tit custom-title-4-new">TAG 추가 정보</span>
|
||||||
<Buttons
|
<Buttons
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
:bindingData="gridName"
|
:bindingData="gridName"
|
||||||
@ -107,8 +107,7 @@ export default {
|
|||||||
header: {
|
header: {
|
||||||
height: 38,
|
height: 38,
|
||||||
},
|
},
|
||||||
rowHeight: 22,
|
|
||||||
minRowHeight: 22,
|
|
||||||
selectionUnit: 'row',
|
selectionUnit: 'row',
|
||||||
editingEvent: 'click',
|
editingEvent: 'click',
|
||||||
};
|
};
|
||||||
@ -269,7 +268,7 @@ export default {
|
|||||||
{
|
{
|
||||||
header: 'Data 구분',
|
header: 'Data 구분',
|
||||||
name: 'addInfoDataKind',
|
name: 'addInfoDataKind',
|
||||||
align: 'center',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
let retVal = '';
|
let retVal = '';
|
||||||
const newValue = addInfoDataKindList.filter(
|
const newValue = addInfoDataKindList.filter(
|
||||||
|
@ -58,7 +58,7 @@ export default {
|
|||||||
layoutInit() {
|
layoutInit() {
|
||||||
if (this.$refs.searchFilter) {
|
if (this.$refs.searchFilter) {
|
||||||
const searchFilterHeight = this.$refs.searchFilter.offsetHeight;
|
const searchFilterHeight = this.$refs.searchFilter.offsetHeight;
|
||||||
this.$refs.contents.style.minHeight = `calc(100% - ${searchFilterHeight + 20}px)`;
|
this.$refs.contents.style.height = `calc(100% - ${searchFilterHeight + 20}px)`;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//init() {}
|
//init() {}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<v-row ref="searchFilter">
|
<common-page-title />
|
||||||
|
<v-row ref="searchFilter" class="mt-2">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row align="end" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
@ -34,7 +35,7 @@
|
|||||||
<div class="h100 px-4" style="height:calc(100% - 70px)">
|
<div class="h100 px-4" style="height:calc(100% - 70px)">
|
||||||
<div ref="treeGridParent" class="w100 h100">
|
<div ref="treeGridParent" class="w100 h100">
|
||||||
<component :ref="gridName + myPrgmId" :is="loadTree ? 'Grid' : null" :gridName="gridName"
|
<component :ref="gridName + myPrgmId" :is="loadTree ? 'Grid' : null" :gridName="gridName"
|
||||||
:parentPrgmId="myPrgmId" @getRowsData="getRowData" :dataPath="dataPathExample" />
|
:parentPrgmId="myPrgmId" @getRowsData="getRowData" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
@ -91,21 +92,9 @@ export default {
|
|||||||
return {
|
return {
|
||||||
myPrgmId: myPrgmId,
|
myPrgmId: myPrgmId,
|
||||||
gridName: 'treeGrid',
|
gridName: 'treeGrid',
|
||||||
loadTree: true,
|
loadTree: false,
|
||||||
detailList: myDetail,
|
detailList: myDetail,
|
||||||
addRowFg: false,
|
addRowFg: false,
|
||||||
dataPathExample: {
|
|
||||||
"treeGrid": {
|
|
||||||
data: sampleData,
|
|
||||||
column: [
|
|
||||||
{ header: '메뉴명', name: 'menuNm' },
|
|
||||||
{ header: 'prgmId ', name: 'prgmId', hidden: true },
|
|
||||||
{ header: 'sysDivCd ', name: 'sysDivCd', hidden: true },
|
|
||||||
],
|
|
||||||
option: myOptions,
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -162,10 +151,17 @@ export default {
|
|||||||
gridInit() {
|
gridInit() {
|
||||||
const treeGridHeight = this.$refs.treeGridParent.offsetHeight - 30;
|
const treeGridHeight = this.$refs.treeGridParent.offsetHeight - 30;
|
||||||
const myOptionsTree = {
|
const myOptionsTree = {
|
||||||
|
columnOptions: {
|
||||||
|
resizable: true,
|
||||||
|
},
|
||||||
treeColumnOptions: {
|
treeColumnOptions: {
|
||||||
name: 'menuNm',
|
name: 'menuNm',
|
||||||
},
|
},
|
||||||
scrollX: false,
|
scrollX: false,
|
||||||
|
header: {
|
||||||
|
height: 37,
|
||||||
|
},
|
||||||
|
rowHeight: 37,
|
||||||
};
|
};
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
@ -178,6 +174,17 @@ export default {
|
|||||||
this.setGridColumn({
|
this.setGridColumn({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
value: [
|
value: [
|
||||||
|
{
|
||||||
|
header: '',
|
||||||
|
name: '',
|
||||||
|
align: 'center',
|
||||||
|
width: 20,
|
||||||
|
formatter: (props) => {
|
||||||
|
return `<label class="custom-radio">
|
||||||
|
<span class="radio-mark"></span>
|
||||||
|
</label>`;
|
||||||
|
}
|
||||||
|
},
|
||||||
{ header: '메뉴명', name: 'menuNm' },
|
{ header: '메뉴명', name: 'menuNm' },
|
||||||
{ header: 'prgmId ', name: 'prgmId', hidden: true },
|
{ header: 'prgmId ', name: 'prgmId', hidden: true },
|
||||||
{ header: 'sysDivCd ', name: 'sysDivCd', hidden: true },
|
{ header: 'sysDivCd ', name: 'sysDivCd', hidden: true },
|
||||||
|
@ -36,19 +36,14 @@
|
|||||||
<v-card-title>
|
<v-card-title>
|
||||||
<span class="custom-title-4">역할 리스트</span>
|
<span class="custom-title-4">역할 리스트</span>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<div class="px-5" style="height:calc(100% - 100px)">
|
<div ref="gridParent" class="px-5" style="height: 60vh;">
|
||||||
<div
|
<component
|
||||||
ref="gridParent"
|
:is="loadGrid ? 'Grid' : null"
|
||||||
class="w100 h100"
|
:ref="gridName + myPrgmId"
|
||||||
>
|
:gridName="gridName"
|
||||||
<component
|
:parentPrgmId="myPrgmId"
|
||||||
:is="loadGrid ? 'Grid' : null"
|
@getRowsData="getRowData"
|
||||||
:ref="gridName + myPrgmId"
|
/>
|
||||||
:gridName="gridName"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
@getRowsData="getRowData"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -69,19 +64,19 @@
|
|||||||
:style="{ minHeight: '36px' }"
|
:style="{ minHeight: '36px' }"
|
||||||
>[미배정]메뉴리스트</span
|
>[미배정]메뉴리스트</span
|
||||||
>
|
>
|
||||||
<div class="px-0 mt-2" style="height:calc(100% - 64px)">
|
<div ref="treeGridParent" class="px-0 mt-2" style="height: 60vh;">
|
||||||
<div
|
<!-- <div
|
||||||
ref="treeGridParent"
|
ref="treeGridParent"
|
||||||
class="w100 h100"
|
class="w100 h100"
|
||||||
>
|
>
|
||||||
<component
|
</div> -->
|
||||||
:is="loadTreeGrid ? 'Grid' : null"
|
<component
|
||||||
:ref="gridName2 + myPrgmId"
|
:is="loadTreeGrid ? 'Grid' : null"
|
||||||
:gridName="gridName2"
|
:ref="gridName2 + myPrgmId"
|
||||||
:parentPrgmId="myPrgmId"
|
:gridName="gridName2"
|
||||||
@getRowsData="getUnAsgnRowData"
|
:parentPrgmId="myPrgmId"
|
||||||
/>
|
@getRowsData="getUnAsgnRowData"
|
||||||
</div>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="1">
|
<v-col :cols="1">
|
||||||
@ -112,20 +107,20 @@
|
|||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<div class="px-0 mt-2" style="height:calc(100% - 64px)">
|
<div ref="treeGridParent2" class="px-0 mt-2" style="height: 60vh;">
|
||||||
<div
|
<!-- <div
|
||||||
ref="treeGridParent2"
|
ref="treeGridParent2"
|
||||||
class="w100 h100"
|
class="w100 h100"
|
||||||
>
|
>
|
||||||
<component
|
</div> -->
|
||||||
:is="loadTreeGrid2 ? 'Grid' : null"
|
<component
|
||||||
:ref="gridName3 + myPrgmId"
|
:is="loadTreeGrid2 ? 'Grid' : null"
|
||||||
:gridName="gridName3"
|
:ref="gridName3 + myPrgmId"
|
||||||
:parentPrgmId="myPrgmId"
|
:gridName="gridName3"
|
||||||
:editorGrid="true"
|
:parentPrgmId="myPrgmId"
|
||||||
@getRowsData="getAsgnRowData"
|
:editorGrid="true"
|
||||||
/>
|
@getRowsData="getAsgnRowData"
|
||||||
</div>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
@ -408,9 +403,9 @@ export default {
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
width: 30,
|
width: 30,
|
||||||
formatter: (props) => {
|
formatter: (props) => {
|
||||||
return `<label class="custom-radio">
|
return `<span class="custom-radio">
|
||||||
<span class="radio-mark"></span>
|
<span class="radio-mark"></span>
|
||||||
</label>`;
|
</span>`;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -431,9 +426,9 @@ export default {
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
width: 30,
|
width: 30,
|
||||||
formatter: (props) => {
|
formatter: (props) => {
|
||||||
return `<label class="custom-radio">
|
return `<span class="custom-radio">
|
||||||
<span class="radio-mark"></span>
|
<span class="radio-mark"></span>
|
||||||
</label>`;
|
</span>`;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ header: '역할ID', name: 'roleId', hidden: true },
|
{ header: '역할ID', name: 'roleId', hidden: true },
|
||||||
@ -573,6 +568,7 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async getRowData(data) {
|
async getRowData(data) {
|
||||||
|
|
||||||
await this.setPageData({
|
await this.setPageData({
|
||||||
rowGridSelectKey: data.rowKey,
|
rowGridSelectKey: data.rowKey,
|
||||||
rowGridSelectData: {
|
rowGridSelectData: {
|
||||||
@ -678,6 +674,8 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
getUnAsgnRowData(data) {
|
getUnAsgnRowData(data) {
|
||||||
|
console.log("------------------DEBUG-------getUnAsgnRowData:", data);
|
||||||
|
|
||||||
const getRowData = data;
|
const getRowData = data;
|
||||||
this.leftSelectRowData = Object.assign({}, getRowData);
|
this.leftSelectRowData = Object.assign({}, getRowData);
|
||||||
},
|
},
|
||||||
|
@ -12,6 +12,8 @@
|
|||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
:sendParam="{ comId }"
|
:sendParam="{ comId }"
|
||||||
customClass="select-large"
|
customClass="select-large"
|
||||||
|
labelCols="12"
|
||||||
|
textCols="12"
|
||||||
/>
|
/>
|
||||||
<!-- <component
|
<!-- <component
|
||||||
:is="'selectCodeList'"
|
:is="'selectCodeList'"
|
||||||
@ -79,7 +81,6 @@
|
|||||||
@getRowsData="getRowData"
|
@getRowsData="getRowData"
|
||||||
@sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
@sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
||||||
:selectedRowDataWatchFlag="true"
|
:selectedRowDataWatchFlag="true"
|
||||||
:dataPath="dataPathMock"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -128,7 +129,7 @@
|
|||||||
<template v-else-if="item.id == 'AsgnRoleByUser'">
|
<template v-else-if="item.id == 'AsgnRoleByUser'">
|
||||||
<v-col :cols="3" class="h100">
|
<v-col :cols="3" class="h100">
|
||||||
<v-card-title
|
<v-card-title
|
||||||
class="pa-0 custom-title-4"
|
class="pa-0 custom-subtitle-tab"
|
||||||
style="min-height:36px;"
|
style="min-height:36px;"
|
||||||
>역할리스트</v-card-title
|
>역할리스트</v-card-title
|
||||||
>
|
>
|
||||||
@ -154,7 +155,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="8" class="h100">
|
<v-col :cols="8" class="h100">
|
||||||
<div class="d-flex align-center justify-space-between">
|
<div class="d-flex align-center justify-space-between">
|
||||||
<v-card-title class="pa-0 custom-title-4">
|
<v-card-title class="pa-0 custom-subtitle-tab">
|
||||||
사용자 역할</v-card-title
|
사용자 역할</v-card-title
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
@ -307,40 +308,10 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async init() {
|
async init() {
|
||||||
this.gridInit();
|
await this.gridInit();
|
||||||
},
|
},
|
||||||
|
|
||||||
gridInitTest() {
|
|
||||||
const rowGrid = {
|
|
||||||
column: [
|
|
||||||
{ header: '사용자No', name: 'userNo', align: 'center', hidden: true },
|
|
||||||
{ header: '사용자명', name: 'userNm' },
|
|
||||||
{ header: '사용자ID', name: 'userLoginId' },
|
|
||||||
{ header: '사용자비밀번호', name: 'userPswd', hidden: true },
|
|
||||||
{ header: '사업장', name: 'blocId', hidden: true },
|
|
||||||
{ header: 'email', name: 'email', hidden: true },
|
|
||||||
{ header: '등록자NO', name: 'regUserNo', hidden: true },
|
|
||||||
{ header: '등록일시', name: 'regDttm', hidden: true },
|
|
||||||
{ header: '수정자NO', name: 'procUserNo', hidden: true },
|
|
||||||
{ header: '수정일시', name: 'procDttm', hidden: true },
|
|
||||||
{ header: 'comId', name: 'comId', hidden: true },
|
|
||||||
{ header: 'deptId', name: 'deptId', hidden: true },
|
|
||||||
],
|
|
||||||
data: dataMockExample,
|
|
||||||
defaultRow: dataMockExample,
|
|
||||||
option: [],
|
|
||||||
}
|
|
||||||
this.dataPathMock = {rowGrid};
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.loadGrid = true;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
// 사용자 리스트 그리드 세팅
|
// 사용자 리스트 그리드 세팅
|
||||||
gridInit() {
|
gridInit() {
|
||||||
|
|
||||||
// this.gridInitTest(); return
|
|
||||||
|
|
||||||
const gridHeight = this.$refs.gridParent.offsetHeight - 90;
|
const gridHeight = this.$refs.gridParent.offsetHeight - 90;
|
||||||
|
|
||||||
const myOptions = {
|
const myOptions = {
|
||||||
@ -1100,67 +1071,4 @@ function sha512(str) {
|
|||||||
.update(str)
|
.update(str)
|
||||||
.digest('hex');
|
.digest('hex');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const dataMockExample = [
|
|
||||||
{
|
|
||||||
userNo: 1,
|
|
||||||
userNm: '홍길동',
|
|
||||||
userLoginId: 'hong123',
|
|
||||||
userPswd: 'password123',
|
|
||||||
blocId: 'B001',
|
|
||||||
email: 'hong@example.com',
|
|
||||||
regUserNo: 100,
|
|
||||||
regDttm: '2025-07-01 10:00:00',
|
|
||||||
procUserNo: 101,
|
|
||||||
procDttm: '2025-07-15 14:30:00',
|
|
||||||
comId: 'C001',
|
|
||||||
deptId: 'D001'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
userNo: 2,
|
|
||||||
userNm: '김영희',
|
|
||||||
userLoginId: 'kimyh',
|
|
||||||
userPswd: 'securePass456',
|
|
||||||
blocId: 'B002',
|
|
||||||
email: 'kim@example.com',
|
|
||||||
regUserNo: 102,
|
|
||||||
regDttm: '2025-07-02 11:20:00',
|
|
||||||
procUserNo: 103,
|
|
||||||
procDttm: '2025-07-16 09:45:00',
|
|
||||||
comId: 'C002',
|
|
||||||
deptId: 'D002'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
userNo: 3,
|
|
||||||
userNm: '관리자',
|
|
||||||
userLoginId: 'user',
|
|
||||||
userPswd: 'securePass456',
|
|
||||||
blocId: 'B002',
|
|
||||||
email: 'kim@example.com',
|
|
||||||
regUserNo: 102,
|
|
||||||
regDttm: '2025-07-02 11:20:00',
|
|
||||||
procUserNo: 103,
|
|
||||||
procDttm: '2025-07-16 09:45:00',
|
|
||||||
comId: 'C002',
|
|
||||||
deptId: 'D002'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
userNo: 4,
|
|
||||||
userNm: '사용자',
|
|
||||||
userLoginId: 'admin',
|
|
||||||
userPswd: 'securePass456',
|
|
||||||
blocId: 'B002',
|
|
||||||
email: 'kim@example.com',
|
|
||||||
regUserNo: 102,
|
|
||||||
regDttm: '2025-07-02 11:20:00',
|
|
||||||
procUserNo: 103,
|
|
||||||
procDttm: '2025-07-16 09:45:00',
|
|
||||||
comId: 'C002',
|
|
||||||
deptId: 'D002'
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
@ -4,24 +4,27 @@
|
|||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row align="center" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
<v-col :cols="2">
|
<div></div>
|
||||||
|
<v-col :cols="2.5">
|
||||||
<InputText
|
<InputText
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
label="배치ID"
|
label="배치ID"
|
||||||
valueNm="batchId"
|
valueNm="batchId"
|
||||||
:searchOption="true"
|
:searchOption="true"
|
||||||
|
customClass="input-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2">
|
<v-col :cols="2.5">
|
||||||
<InputText
|
<InputText
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
label="배치명"
|
label="배치명"
|
||||||
valueNm="batchNm"
|
valueNm="batchNm"
|
||||||
:searchOption="true"
|
:searchOption="true"
|
||||||
|
customClass="input-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2">
|
<v-col :cols="2.5">
|
||||||
<component
|
<component
|
||||||
:is="'selectCodeList'"
|
:is="'selectCodeList'"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
@ -29,20 +32,21 @@
|
|||||||
:dataKey="'execRsltCd'"
|
:dataKey="'execRsltCd'"
|
||||||
:sendParam="{ commGrpCd: 'CO_BATCH_EXEC_RSLT', useFg: '1' }"
|
:sendParam="{ commGrpCd: 'CO_BATCH_EXEC_RSLT', useFg: '1' }"
|
||||||
:addAll="true"
|
:addAll="true"
|
||||||
|
customClass="select-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2">
|
<v-col :cols="2.5">
|
||||||
<component
|
<component
|
||||||
:is="'Datepicker'"
|
:is="'Datepicker'"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
:label="'조회기간'"
|
:label="'조회기간'"
|
||||||
|
customClass="datepicker-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-spacer></v-spacer>
|
<div class="text-right d-flex align-end justify-end pl-9" style="gap: 8px">
|
||||||
<v-col :cols="4" class="text-right">
|
|
||||||
<BtnSearch />
|
<BtnSearch />
|
||||||
<BtnExcelDownload :parentPrgmId="myPrgmId" :gridName="gridName" />
|
<BtnExcelDownload :parentPrgmId="myPrgmId" :gridName="gridName" size="large" />
|
||||||
</v-col>
|
</div>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -427,6 +431,3 @@ const myDetail = [
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
|
||||||
@import '@/assets/scss/common.scss';
|
|
||||||
</style>
|
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<!-- 조회조견 -->
|
<!-- 조회조견 -->
|
||||||
<v-row ref="searchFilter">
|
<common-page-title />
|
||||||
|
<v-row ref="searchFilter" class="mt-2">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row align="end" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
@ -24,7 +25,7 @@
|
|||||||
:customClass="'select-large'"
|
:customClass="'select-large'"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2.5" class="pr-4">
|
||||||
<component
|
<component
|
||||||
:is="'selectCodeList'"
|
:is="'selectCodeList'"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
@ -34,7 +35,7 @@
|
|||||||
:customClass="'select-large'"
|
:customClass="'select-large'"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<BtnSearch size="large" />
|
<BtnSearch size="large" class="mr-2" />
|
||||||
|
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-card>
|
</v-card>
|
||||||
@ -57,7 +58,7 @@
|
|||||||
<div class="px-4">
|
<div class="px-4">
|
||||||
<div ref="gridParent" class="h100 w100">
|
<div ref="gridParent" class="h100 w100">
|
||||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :parentPrgmId="myPrgmId"
|
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :parentPrgmId="myPrgmId"
|
||||||
:gridName="gridName" @getRowsData="getRowData" :dataPath="dataPathExample" />
|
:gridName="gridName" @getRowsData="getRowData" />
|
||||||
</div>
|
</div>
|
||||||
<!-- </v-card-actions> -->
|
<!-- </v-card-actions> -->
|
||||||
</div>
|
</div>
|
||||||
@ -77,7 +78,7 @@
|
|||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-dialog ref="popModal" v-model="dialog" width="700" overlay-color="#000" overlay-opacity="0.8" scrollable>
|
<v-dialog ref="popModal" v-model="dialog" width="800" overlay-color="#000" overlay-opacity="0.8" scrollable>
|
||||||
<v-card style="height: 100%">
|
<v-card style="height: 100%">
|
||||||
<v-card-title class="v-card__title d-flex align-center justify-space-between">
|
<v-card-title class="v-card__title d-flex align-center justify-space-between">
|
||||||
<span class="custom-title-4">DB 프로시져 파라메터 설정</span>
|
<span class="custom-title-4">DB 프로시져 파라메터 설정</span>
|
||||||
@ -91,7 +92,6 @@
|
|||||||
<v-col cols="12" class="text-right"> </v-col>
|
<v-col cols="12" class="text-right"> </v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</div>
|
</div>
|
||||||
<v-divider></v-divider>
|
|
||||||
<v-card-text style="height: 300px;">
|
<v-card-text style="height: 300px;">
|
||||||
<div id="gridParent" class="mt-6" style="height:calc(100% - 36px);">
|
<div id="gridParent" class="mt-6" style="height:calc(100% - 36px);">
|
||||||
<div style="height:calc(100% - 36px);">
|
<div style="height:calc(100% - 36px);">
|
||||||
@ -101,7 +101,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</v-card-text>
|
</v-card-text>
|
||||||
<v-divider></v-divider>
|
|
||||||
<v-card-actions>
|
<v-card-actions>
|
||||||
<v-spacer></v-spacer>
|
<v-spacer></v-spacer>
|
||||||
<v-btn color="primary" dark @click="setParamChangeData()">확인</v-btn>
|
<v-btn color="primary" dark @click="setParamChangeData()">확인</v-btn>
|
||||||
@ -155,76 +154,16 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
myPrgmId: myPrgmId,
|
myPrgmId: myPrgmId,
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
gridName: 'rowGrid',
|
gridName: 'rowGrid',
|
||||||
dataPathExample: {
|
|
||||||
"rowGrid": {
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
"batchId": "BATCH001",
|
|
||||||
"batchNm": "일일 데이터 백업",
|
|
||||||
"batchExecTp": "자동 실행",
|
|
||||||
"batchDupExecFg": "N",
|
|
||||||
"useFg": "사용"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"batchId": "BATCH002",
|
|
||||||
"batchNm": "월간 리포트 생성",
|
|
||||||
"batchExecTp": "수동 실행",
|
|
||||||
"batchDupExecFg": "Y",
|
|
||||||
"useFg": "사용"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"batchId": "BATCH003",
|
|
||||||
"batchNm": "로그 정리 작업",
|
|
||||||
"batchExecTp": "자동 실행",
|
|
||||||
"batchDupExecFg": "N",
|
|
||||||
"useFg": "미사용"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"batchId": "BATCH004",
|
|
||||||
"batchNm": "사용자 통계 수집",
|
|
||||||
"batchExecTp": "예약 실행",
|
|
||||||
"batchDupExecFg": "Y",
|
|
||||||
"useFg": "사용"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"batchId": "BATCH005",
|
|
||||||
"batchNm": "서버 상태 점검",
|
|
||||||
"batchExecTp": "수동 실행",
|
|
||||||
"batchDupExecFg": "N",
|
|
||||||
"useFg": "미사용"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
,
|
|
||||||
column: [
|
|
||||||
{ header: '배치ID', name: 'batchId', align: 'center', width: 100 },
|
|
||||||
{ header: '배치명', name: 'batchNm', minWidth: 200 },
|
|
||||||
{
|
|
||||||
header: '배치 실행 구분',
|
|
||||||
name: 'batchExecTp',
|
|
||||||
align: 'left',
|
|
||||||
minWidth: 190,
|
|
||||||
},
|
|
||||||
{ header: '배치 중복 여부', name: 'batchDupExecFg', hidden: true },
|
|
||||||
{
|
|
||||||
header: '사용여부',
|
|
||||||
name: 'useFg',
|
|
||||||
align: 'center',
|
|
||||||
width: 145,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// rowGridOrigin: [],
|
// rowGridOrigin: [],
|
||||||
detailList: myDetail,
|
detailList: myDetail,
|
||||||
|
|
||||||
// 파라메터 셋팅용 변수
|
// 파라메터 셋팅용 변수
|
||||||
dialog: false,
|
dialog: false,
|
||||||
gridNameParam: 'paramGrid',
|
gridNameParam: 'paramGrid',
|
||||||
paramLoadGrid: true,
|
paramLoadGrid: false,
|
||||||
selectedGridNameParamRow: null,
|
selectedGridNameParamRow: null,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -292,7 +231,7 @@ export default {
|
|||||||
}),
|
}),
|
||||||
init() {
|
init() {
|
||||||
// this.layoutInit();
|
// this.layoutInit();
|
||||||
// this.gridInit();
|
this.gridInit();
|
||||||
this.gridParamInit();
|
this.gridParamInit();
|
||||||
},
|
},
|
||||||
// layoutInit() {
|
// layoutInit() {
|
||||||
@ -309,6 +248,10 @@ export default {
|
|||||||
columnOptions: {
|
columnOptions: {
|
||||||
resizable: true,
|
resizable: true,
|
||||||
},
|
},
|
||||||
|
header: {
|
||||||
|
height: 37,
|
||||||
|
},
|
||||||
|
rowHeight: 37,
|
||||||
};
|
};
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
@ -384,7 +327,7 @@ export default {
|
|||||||
},
|
},
|
||||||
async search() {
|
async search() {
|
||||||
// console.log("search");
|
// console.log("search");
|
||||||
// await this.getRowGridData();
|
await this.getRowGridData();
|
||||||
await this.setPageData({
|
await this.setPageData({
|
||||||
isFind: false,
|
isFind: false,
|
||||||
});
|
});
|
||||||
@ -629,20 +572,20 @@ export default {
|
|||||||
gridKey: this.gridNameParam,
|
gridKey: this.gridNameParam,
|
||||||
value: myOptions,
|
value: myOptions,
|
||||||
});
|
});
|
||||||
// setTimeout(() => { });
|
setTimeout(() => { });
|
||||||
|
|
||||||
// let modeList = [];
|
let modeList = [];
|
||||||
// const modeIn = { text: 'IN', value: 'IN' };
|
const modeIn = { text: 'IN', value: 'IN' };
|
||||||
// const modeOut = { text: 'OUT', value: 'OUT' };
|
const modeOut = { text: 'OUT', value: 'OUT' };
|
||||||
// modeList.push(modeIn);
|
modeList.push(modeIn);
|
||||||
// modeList.push(modeOut);
|
modeList.push(modeOut);
|
||||||
// let typeList = [];
|
let typeList = [];
|
||||||
// const typeInt = { text: 'INT', value: 'int' };
|
const typeInt = { text: 'INT', value: 'int' };
|
||||||
// const typeStr = { text: 'STRING', value: 'str' };
|
const typeStr = { text: 'STRING', value: 'str' };
|
||||||
// const typeFunc = { text: 'FUNCTION', value: 'function' };
|
const typeFunc = { text: 'FUNCTION', value: 'function' };
|
||||||
// typeList.push(typeInt);
|
typeList.push(typeInt);
|
||||||
// typeList.push(typeStr);
|
typeList.push(typeStr);
|
||||||
// typeList.push(typeFunc);
|
typeList.push(typeFunc);
|
||||||
|
|
||||||
const myColumns = [
|
const myColumns = [
|
||||||
{ header: 'ID', name: 'id', editor: 'text' },
|
{ header: 'ID', name: 'id', editor: 'text' },
|
||||||
@ -664,27 +607,27 @@ export default {
|
|||||||
header: 'Type',
|
header: 'Type',
|
||||||
name: 'type',
|
name: 'type',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
// formatter({ value }) {
|
formatter({ value }) {
|
||||||
// let retVal = '';
|
let retVal = '';
|
||||||
// switch (value) {
|
switch (value) {
|
||||||
// case 'int':
|
case 'int':
|
||||||
// retVal = 'INT';
|
retVal = 'INT';
|
||||||
// break;
|
break;
|
||||||
// case 'str':
|
case 'str':
|
||||||
// retVal = 'STRING';
|
retVal = 'STRING';
|
||||||
// break;
|
break;
|
||||||
// case 'function':
|
case 'function':
|
||||||
// retVal = 'FUNCTION';
|
retVal = 'FUNCTION';
|
||||||
// break;
|
break;
|
||||||
// }
|
}
|
||||||
// return retVal;
|
return retVal;
|
||||||
// },
|
},
|
||||||
// editor: {
|
editor: {
|
||||||
// type: 'select',
|
type: 'select',
|
||||||
// options: {
|
options: {
|
||||||
// listItems: typeList,
|
listItems: typeList,
|
||||||
// },
|
},
|
||||||
// },
|
},
|
||||||
},
|
},
|
||||||
{ header: '값', name: 'val', editor: 'text' },
|
{ header: '값', name: 'val', editor: 'text' },
|
||||||
{ header: 'rowStat', name: 'rowStat', hidden: true },
|
{ header: 'rowStat', name: 'rowStat', hidden: true },
|
||||||
@ -703,86 +646,49 @@ export default {
|
|||||||
|
|
||||||
// /* this.pageData.paramStrData 처리 */
|
// /* this.pageData.paramStrData 처리 */
|
||||||
// // console.log("this.pageData.paramStrData : ", JSON.parse(this.pageData.paramStrData));
|
// // console.log("this.pageData.paramStrData : ", JSON.parse(this.pageData.paramStrData));
|
||||||
// let rowData = {};
|
let rowData = {};
|
||||||
// if (
|
if (
|
||||||
// this.pageData.paramStrData.startsWith('{') &&
|
this.pageData.paramStrData.startsWith('{') &&
|
||||||
// this.pageData.paramStrData.endsWith('}')
|
this.pageData.paramStrData.endsWith('}')
|
||||||
// ) {
|
) {
|
||||||
// rowData = JSON.parse(this.pageData.paramStrData);
|
rowData = JSON.parse(this.pageData.paramStrData);
|
||||||
// }
|
}
|
||||||
// var keys = Object.keys(rowData); //키를 가져옵니다. 이때, keys 는 반복가능한 객체가 됩니다.
|
var keys = Object.keys(rowData); //키를 가져옵니다. 이때, keys 는 반복가능한 객체가 됩니다.
|
||||||
// for (var i = 0; i < keys.length; i++) {
|
for (var i = 0; i < keys.length; i++) {
|
||||||
// var key = keys[i];
|
var key = keys[i];
|
||||||
// res.push(rowData[key]);
|
res.push(rowData[key]);
|
||||||
// }
|
}
|
||||||
|
|
||||||
// const newRes = res.map(item => {
|
const newRes = res.map(item => {
|
||||||
// const newObj = {
|
const newObj = {
|
||||||
// ...item,
|
...item,
|
||||||
// rowStat: null,
|
rowStat: null,
|
||||||
// id: item.id || '',
|
id: item.id || '',
|
||||||
// mode: item.mode || 'in',
|
mode: item.mode || 'in',
|
||||||
// type: item.type || 'str',
|
type: item.type || 'str',
|
||||||
// val: item.val || '',
|
val: item.val || '',
|
||||||
// };
|
};
|
||||||
// return newObj;
|
return newObj;
|
||||||
// });
|
});
|
||||||
|
|
||||||
const newRes = [
|
|
||||||
{
|
|
||||||
"id": "VAR001",
|
|
||||||
"mode": "OUT",
|
|
||||||
"type": "int",
|
|
||||||
"val": "100",
|
|
||||||
"rowStat": "C"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "VAR002",
|
|
||||||
"mode": "IN",
|
|
||||||
"type": "str",
|
|
||||||
"val": "Hello World",
|
|
||||||
"rowStat": "U"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "FUNC001",
|
|
||||||
"mode": "out",
|
|
||||||
"type": "function",
|
|
||||||
"val": "calculateSum()",
|
|
||||||
"rowStat": "C"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "VAR003",
|
|
||||||
"mode": "IN",
|
|
||||||
"type": "int",
|
|
||||||
"val": "42",
|
|
||||||
"rowStat": "D"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "VAR004",
|
|
||||||
"mode": "OUT",
|
|
||||||
"type": "str",
|
|
||||||
"val": "Sample Text",
|
|
||||||
"rowStat": "C"
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
this.setGridData({
|
this.setGridData({
|
||||||
gridKey: this.gridNameParam,
|
gridKey: this.gridNameParam,
|
||||||
value: newRes,
|
value: newRes,
|
||||||
});
|
});
|
||||||
// this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
// if (newRes.length > 0) {
|
if (newRes.length > 0) {
|
||||||
// try {
|
try {
|
||||||
// this.$refs[this.gridNameParam].focus({
|
this.$refs[this.gridNameParam].focus({
|
||||||
// //rowKey: 0,
|
//rowKey: 0,
|
||||||
// rowKey: 0,
|
rowKey: 0,
|
||||||
// setScroll: true,
|
setScroll: true,
|
||||||
// });
|
});
|
||||||
// } catch (error) {
|
} catch (error) {
|
||||||
// console.log('error[nextTick grid] : ', error);
|
console.log('error[nextTick grid] : ', error);
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// });
|
});
|
||||||
this.paramLoadGrid = true;
|
this.paramLoadGrid = true;
|
||||||
},
|
},
|
||||||
xlsDataBind(res) {
|
xlsDataBind(res) {
|
||||||
@ -812,21 +718,21 @@ export default {
|
|||||||
inputClick(event, item, valueNm) {
|
inputClick(event, item, valueNm) {
|
||||||
if (valueNm == 'refVal1') {
|
if (valueNm == 'refVal1') {
|
||||||
this.dialog = true;
|
this.dialog = true;
|
||||||
// const rowIdxKey = this.$refs[this.gridName].gridInstance.invoke(
|
const rowIdxKey = this.$refs[this.gridName].gridInstance.invoke(
|
||||||
// 'getFocusedCell',
|
'getFocusedCell',
|
||||||
// ).rowKey;
|
).rowKey;
|
||||||
// const selectRowData = this.$refs[this.gridName].gridInstance.invoke(
|
const selectRowData = this.$refs[this.gridName].gridInstance.invoke(
|
||||||
// 'getRow',
|
'getRow',
|
||||||
// rowIdxKey,
|
rowIdxKey,
|
||||||
// );
|
);
|
||||||
|
|
||||||
// if (selectRowData.batchExecTp == 'DP') {
|
if (selectRowData.batchExecTp == 'DP') {
|
||||||
// // 여기에 팝업 레이어 띠우기 기능 추가
|
// 여기에 팝업 레이어 띠우기 기능 추가
|
||||||
// this.pageData.paramStrData = event.target.value;
|
this.pageData.paramStrData = event.target.value;
|
||||||
// this.pageData.paramChangeDataTarget = event.target;
|
this.pageData.paramChangeDataTarget = event.target;
|
||||||
// this.getRowParamData();
|
this.getRowParamData();
|
||||||
// this.dialog = true;
|
this.dialog = true;
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
setParamChangeData() {
|
setParamChangeData() {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<v-row ref="searchFilter">
|
<common-page-title />
|
||||||
|
<v-row ref="searchFilter" class="mt-2">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row align="end" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
@ -10,7 +11,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="3">
|
<v-col cols="3">
|
||||||
<!-- <component :is="'SelectDateSolo'" :parentPrgmId="myPrgmId" /> -->
|
<!-- <component :is="'SelectDateSolo'" :parentPrgmId="myPrgmId" /> -->
|
||||||
<DatePicker :parentPrgmId="myPrgmId" :label="'조회연월'" />
|
<DatePicker :parentPrgmId="myPrgmId" customClass="datepicker-large" :label="'조회연월'" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="6" class="text-right">
|
<v-col cols="6" class="text-right">
|
||||||
<BtnSearch @click="search()" size="large" />
|
<BtnSearch @click="search()" size="large" />
|
||||||
@ -20,28 +21,29 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row ref="contents" id="CalendarMngContent" class="mt-4">
|
<v-row ref="contents" id="CalendarMngContent" class="mt-4">
|
||||||
<v-col cols="12" lg="4" class="h100 pr-2">
|
<v-col cols="12" lg="4" class=" pr-2">
|
||||||
<v-card class="w100">
|
<v-card class="w100">
|
||||||
<v-card-title class="d-flex justify-space-between align-center">
|
<v-card-title class="d-flex justify-space-between align-center">
|
||||||
<span class="custom-title-4">캘린더 리스트</span>
|
<span class="custom-title-4">캘린더 리스트</span>
|
||||||
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<v-card-actions class="pt-0 px-5 pb-5" :style="{ height: 'calc(100% - 72.56px)' }">
|
<v-card-actions class="pt-0 px-5 pb-5" :style="{ height: 'calc(100% - 10px)' }">
|
||||||
<div ref="gridParent" class="w100 h100">
|
<div ref="gridParent" class="w100 h100">
|
||||||
<component class="w100" :ref="gridName + myPrgmId" :is="loadGrid ? 'Grid' : null"
|
<component class="w100" :ref="gridName + myPrgmId" :is="loadGrid ? 'Grid' : null"
|
||||||
:gridName="gridName" :parentPrgmId="myPrgmId" :editorGrid="true"
|
:gridName="gridName" :parentPrgmId="myPrgmId" :editorGrid="true"
|
||||||
@getRowsData="getRowData" :dataPath="dataPathExample" />
|
@getRowsData="getRowData" />
|
||||||
</div>
|
</div>
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="12" lg="8" class="h100 pl-3">
|
<v-col cols="12" lg="8" class=" pl-3">
|
||||||
<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-card-actions class="px-5 d-block" :style="{ height: 'calc(100% - 62px)' }">
|
<v-card-actions class="px-5 d-block" >
|
||||||
<Calendar :parentPrgmId="myPrgmId" :gridName="gridName" :headerVisible="false" />
|
<Calendar :parentPrgmId="myPrgmId" :gridName="gridName" :headerVisible="false"
|
||||||
|
:showTitle="false" />
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -94,81 +96,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
myPrgmId: myPrgmId,
|
myPrgmId: myPrgmId,
|
||||||
gridName: 'rowGrid',
|
gridName: 'rowGrid',
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
dataPathExample: {
|
|
||||||
"rowGrid": {
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
"hldyFg": "평일",
|
|
||||||
"hldyNm": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dt": "2025-07-23",
|
|
||||||
"dtNm": "수요일",
|
|
||||||
"dt": "2025-07-21",
|
|
||||||
"dtNm": "월요일",
|
|
||||||
"hldyFg": "평일",
|
|
||||||
"hldyNm": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dt": "2025-07-22",
|
|
||||||
"dtNm": "화요일",
|
|
||||||
"hldyFg": "평일",
|
|
||||||
"hldyNm": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dt": "2025-07-24",
|
|
||||||
"dtNm": "목요일",
|
|
||||||
"hldyFg": "평일",
|
|
||||||
"hldyNm": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dt": "2025-07-25",
|
|
||||||
"dtNm": "금요일",
|
|
||||||
"hldyFg": "평일",
|
|
||||||
"hldyNm": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dt": "2025-07-26",
|
|
||||||
"dtNm": "토요일",
|
|
||||||
"hldyFg": "주말",
|
|
||||||
"hldyNm": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dt": "2025-07-27",
|
|
||||||
"dtNm": "일요일",
|
|
||||||
"hldyFg": "휴일",
|
|
||||||
"hldyNm": "정기휴일"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
column: [
|
|
||||||
{
|
|
||||||
header: '일자',
|
|
||||||
name: 'dt',
|
|
||||||
align: 'center',
|
|
||||||
// formatter({ value }) {
|
|
||||||
// return value.split(' ')[0];
|
|
||||||
// },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '요일',
|
|
||||||
name: 'dtNm',
|
|
||||||
align: 'center',
|
|
||||||
// formatter({ value }) {
|
|
||||||
// return value + '요일';
|
|
||||||
// },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '구분',
|
|
||||||
name: 'hldyFg',
|
|
||||||
align: 'center',
|
|
||||||
essential: true,
|
|
||||||
},
|
|
||||||
{ header: '휴일명', name: 'hldyNm', editor: 'text' },
|
|
||||||
],
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
|
||||||
rowKey: null,
|
rowKey: null,
|
||||||
edtingFinishFlag: 'Y',
|
edtingFinishFlag: 'Y',
|
||||||
};
|
};
|
||||||
@ -241,16 +169,19 @@ export default {
|
|||||||
await this.gridInit();
|
await this.gridInit();
|
||||||
},
|
},
|
||||||
async search() {
|
async search() {
|
||||||
// await this.getRowGridData();
|
await this.getRowGridData();
|
||||||
},
|
},
|
||||||
async gridInit() {
|
async gridInit() {
|
||||||
// const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
||||||
// this.setGridOption({
|
this.setGridOption({
|
||||||
// gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
// value: Object.assign(Utility.defaultGridOption(gridHeight), {
|
value: Object.assign(Utility.defaultGridOption(gridHeight), {
|
||||||
// scrollX: false,
|
scrollX: false, header: {
|
||||||
// }),
|
height: 37,
|
||||||
// });
|
},
|
||||||
|
rowHeight: 37,
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
// this.getRowGridData();
|
// this.getRowGridData();
|
||||||
},
|
},
|
||||||
@ -350,86 +281,86 @@ export default {
|
|||||||
|
|
||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
|
|
||||||
// let res = await this.postApiReturn({
|
let res = await this.postApiReturn({
|
||||||
// apiKey: 'selectWorkCald',
|
apiKey: 'selectWorkCald',
|
||||||
// resKey: 'workcaldData',
|
resKey: 'workcaldData',
|
||||||
// sendParam: {
|
sendParam: {
|
||||||
// blocId: this.pageData.blocMstrList[this.chkBlocCd].blocId,
|
blocId: this.pageData.blocMstrList[this.chkBlocCd].blocId,
|
||||||
// yymm: this.chkFromDt,
|
yymm: this.chkFromDt,
|
||||||
// comId: this.comId,
|
comId: this.comId,
|
||||||
// },
|
},
|
||||||
// });
|
});
|
||||||
|
|
||||||
// let res2 = await this.postApiReturn({
|
let res2 = await this.postApiReturn({
|
||||||
// apiKey: 'selectWorkCaldDetl',
|
apiKey: 'selectWorkCaldDetl',
|
||||||
// resKey: 'workcaldDetlData',
|
resKey: 'workcaldDetlData',
|
||||||
// sendParam: {
|
sendParam: {
|
||||||
// blocId: this.pageData.blocMstrList[this.chkBlocCd].blocId,
|
blocId: this.pageData.blocMstrList[this.chkBlocCd].blocId,
|
||||||
// yymm: this.chkFromDt,
|
yymm: this.chkFromDt,
|
||||||
// comId: this.comId,
|
comId: this.comId,
|
||||||
// },
|
},
|
||||||
// });
|
});
|
||||||
|
|
||||||
// for (var i = 0; i < res2.length; i++) {
|
for (var i = 0; i < res2.length; i++) {
|
||||||
// if (
|
if (
|
||||||
// !(
|
!(
|
||||||
// res2[i].hldyNm == null ||
|
res2[i].hldyNm == null ||
|
||||||
// res2[i].hldyNm == '토요일' ||
|
res2[i].hldyNm == '토요일' ||
|
||||||
// res2[i].hldyNm == '일요일'
|
res2[i].hldyNm == '일요일'
|
||||||
// )
|
)
|
||||||
// ) {
|
) {
|
||||||
// for (var j = i + 1; j < res2.length; j++) {
|
for (var j = i + 1; j < res2.length; j++) {
|
||||||
// if (res2[i].hldyNm == res2[j].hldyNm) {
|
if (res2[i].hldyNm == res2[j].hldyNm) {
|
||||||
// res2[i].hldyNm = '';
|
res2[i].hldyNm = '';
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
|
|
||||||
// res = res.map(item => {
|
res = res.map(item => {
|
||||||
// const dt = this.$dayjs(item.dt.split(' ')[0]); // YYYY-MM-DD
|
const dt = this.$dayjs(item.dt.split(' ')[0]); // YYYY-MM-DD
|
||||||
// const dtNm = dt.format('ddd'); // 요일
|
const dtNm = dt.format('ddd'); // 요일
|
||||||
// const newItem = {
|
const newItem = {
|
||||||
// ...item,
|
...item,
|
||||||
// dtNm: dtNm,
|
dtNm: dtNm,
|
||||||
// hldyNm: item.hldyNm ? item.hldyNm : '',
|
hldyNm: item.hldyNm ? item.hldyNm : '',
|
||||||
// rowStat: null,
|
rowStat: null,
|
||||||
// };
|
};
|
||||||
// return newItem;
|
return newItem;
|
||||||
// });
|
});
|
||||||
|
|
||||||
// this.loadGrid = true;
|
this.loadGrid = true;
|
||||||
// this.setPageData({ isFind: false });
|
this.setPageData({ isFind: false });
|
||||||
|
|
||||||
// this.setGridColumn({
|
this.setGridColumn({
|
||||||
// gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
// value: myColumns,
|
value: myColumns,
|
||||||
// });
|
});
|
||||||
|
|
||||||
// this.setGridData({
|
this.setGridData({
|
||||||
// gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
// value: res,
|
value: res,
|
||||||
// });
|
});
|
||||||
|
|
||||||
// this.setPageData({ planData: res2 });
|
this.setPageData({ planData: res2 });
|
||||||
|
|
||||||
// // 첫번째 row 선택상태
|
// 첫번째 row 선택상태
|
||||||
// this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
// this.$refs[this.gridName + this.myPrgmId].focus({
|
this.$refs[this.gridName + this.myPrgmId].focus({
|
||||||
// //rowKey: 0,
|
//rowKey: 0,
|
||||||
// rowKey:
|
rowKey:
|
||||||
// this.pageData.rowGridSelectKey == '' ||
|
this.pageData.rowGridSelectKey == '' ||
|
||||||
// this.pageData.rowGridSelectKey == null
|
this.pageData.rowGridSelectKey == null
|
||||||
// ? 0
|
? 0
|
||||||
// : this.pageData.rowGridSelectKey ==
|
: this.pageData.rowGridSelectKey ==
|
||||||
// this.$refs[this.gridName + this.myPrgmId].getData().length - 1
|
this.$refs[this.gridName + this.myPrgmId].getData().length - 1
|
||||||
// ? this.pageData.rowGridSelectKey
|
? this.pageData.rowGridSelectKey
|
||||||
// : 0,
|
: 0,
|
||||||
// columnName: 'dt',
|
columnName: 'dt',
|
||||||
// setScroll: true,
|
setScroll: true,
|
||||||
// });
|
});
|
||||||
// this.setPageData({ isFind: false });
|
this.setPageData({ isFind: false });
|
||||||
// });
|
});
|
||||||
},
|
},
|
||||||
async getRowData(data, gridName) {
|
async getRowData(data, gridName) {
|
||||||
this.setGridSelectData({
|
this.setGridSelectData({
|
||||||
@ -604,4 +535,17 @@ select.selectbox {
|
|||||||
border-width: 0px;
|
border-width: 0px;
|
||||||
// box-sizing: border-box;
|
// box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
::v-deep {
|
||||||
|
.custom-vc-calender {
|
||||||
|
.vc-header {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.vc-weeks {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<PageTitle text="공통코드" />
|
<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">
|
||||||
@ -56,7 +56,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
<v-col :cols="12" class="text-right">
|
<v-col :cols="12" class="text-right">
|
||||||
<BtnSearch style="margin-top:20px" @click="search" />
|
<BtnSearch style="margin-top:20px" @click="search" size="large" />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<!-- <v-row align="center" no-gutters>
|
<!-- <v-row align="center" no-gutters>
|
||||||
@ -363,7 +363,7 @@ export default {
|
|||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
value: newRes,
|
value: newRes,
|
||||||
});
|
});
|
||||||
this.loadGrid = true;
|
this.loadGrid = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if (newRes.length > 0) {
|
if (newRes.length > 0) {
|
||||||
this.$refs[this.gridName].focus({
|
this.$refs[this.gridName].focus({
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
customClass="select-large"
|
customClass="select-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="4">
|
<v-col :cols="3">
|
||||||
<InputText
|
<InputText
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
label="프로그램명"
|
label="프로그램명"
|
||||||
@ -50,17 +50,16 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="min-height: 60vh">
|
<div ref="gridParent" style="height: 60vh">
|
||||||
<div ref="gridParent" class="px-5 h100">
|
<!-- <div ref="gridParent" class="px-5 h100">
|
||||||
<component
|
</div> -->
|
||||||
:ref="gridName"
|
<component
|
||||||
:is="loadGrid ? 'Grid' : null"
|
:ref="gridName"
|
||||||
:parentPrgmId="myPrgmId"
|
:is="loadGrid ? 'Grid' : null"
|
||||||
:gridName="gridName"
|
:parentPrgmId="myPrgmId"
|
||||||
@getRowsData="getRowData"
|
:gridName="gridName"
|
||||||
:dataPath="dataPathMock"
|
@getRowsData="getRowData"
|
||||||
/>
|
/>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -262,8 +261,6 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// this.getRowGridData();
|
// this.getRowGridData();
|
||||||
|
|
||||||
this.loadGrid = true;
|
|
||||||
},
|
},
|
||||||
async search() {
|
async search() {
|
||||||
await this.getRowGridData();
|
await this.getRowGridData();
|
||||||
@ -296,6 +293,7 @@ export default {
|
|||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
value: newRes,
|
value: newRes,
|
||||||
});
|
});
|
||||||
|
this.loadGrid = true;
|
||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if (newRes.length > 0) {
|
if (newRes.length > 0) {
|
||||||
@ -316,6 +314,12 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async getRowData(data, gridName) {
|
async getRowData(data, gridName) {
|
||||||
|
// console.log("-----------------------DEBUG--getRowData--------------", {
|
||||||
|
// gridKey: gridName,
|
||||||
|
// gridSelect: true,
|
||||||
|
// rowGridSelectKey: data.rowKey,
|
||||||
|
// rowGridSelectData: data,
|
||||||
|
// });
|
||||||
this.setGridSelectData({
|
this.setGridSelectData({
|
||||||
gridKey: gridName,
|
gridKey: gridName,
|
||||||
gridSelect: true,
|
gridSelect: true,
|
||||||
@ -327,6 +331,7 @@ export default {
|
|||||||
rowGridSelectKey: data.rowKey,
|
rowGridSelectKey: data.rowKey,
|
||||||
rowGridSelectData: data,
|
rowGridSelectData: data,
|
||||||
});
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
compareData(type, newDt) {
|
compareData(type, newDt) {
|
||||||
if (this.selectedCommCdData[type] == newDt) {
|
if (this.selectedCommCdData[type] == newDt) {
|
||||||
|
@ -64,7 +64,6 @@
|
|||||||
:gridName="gridName"
|
:gridName="gridName"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
@getRowsData="getRowData"
|
@getRowsData="getRowData"
|
||||||
:dataPath="dataPathMock"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -137,24 +136,10 @@ export default {
|
|||||||
return {
|
return {
|
||||||
myPrgmId: myPrgmId,
|
myPrgmId: myPrgmId,
|
||||||
gridName: 'rowGrid',
|
gridName: 'rowGrid',
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
tab: null,
|
tab: null,
|
||||||
detailList: myDetail,
|
detailList: myDetail,
|
||||||
initedFlag: false,
|
initedFlag: false,
|
||||||
dataPathMock : {
|
|
||||||
'rowGrid': {
|
|
||||||
column: [
|
|
||||||
{ header: '추가 정보 그룹', name: 'addGrpId', align: 'left' },
|
|
||||||
{ header: '추가 정보 ID', name: 'addInfoId', align: 'left' },
|
|
||||||
{ header: '추가 정보 명', name: 'addInfoNm', align: 'left' },
|
|
||||||
{ header: 'Data 형식', name: 'addInfoDataKind', align: 'center' },
|
|
||||||
{ header: '사용여부', name: 'useFg', align: 'center' },
|
|
||||||
],
|
|
||||||
data: dataMockExample,
|
|
||||||
defaultRow: dataMockExample,
|
|
||||||
option: {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -642,43 +627,4 @@ const myDetail = [
|
|||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const dataMockExample = [
|
|
||||||
{
|
|
||||||
addGrpId: 'GRP001',
|
|
||||||
addInfoId: 'INFO001',
|
|
||||||
addInfoNm: '온도 센서',
|
|
||||||
addInfoDataKind: 'DATA01',
|
|
||||||
useFg: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
addGrpId: 'GRP002',
|
|
||||||
addInfoId: 'INFO002',
|
|
||||||
addInfoNm: '압력 센서',
|
|
||||||
addInfoDataKind: 'DATA02',
|
|
||||||
useFg: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
addGrpId: 'GRP003',
|
|
||||||
addInfoId: 'INFO003',
|
|
||||||
addInfoNm: '압력 센서',
|
|
||||||
addInfoDataKind: 'DATA03',
|
|
||||||
useFg: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
addGrpId: 'GRP004',
|
|
||||||
addInfoId: 'INFO004',
|
|
||||||
addInfoNm: '압력 센서',
|
|
||||||
addInfoDataKind: 'DATA04',
|
|
||||||
useFg: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
addGrpId: 'GRP005',
|
|
||||||
addInfoId: 'INFO005',
|
|
||||||
addInfoNm: '압력 센서',
|
|
||||||
addInfoDataKind: 'DATA05',
|
|
||||||
useFg: false,
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<!-- <h1 class="h1-title">대시보드</h1> -->
|
<CommonPageTitle/>
|
||||||
<PageTitle text="대시보드" />
|
|
||||||
<!-- <CheckBox
|
<!-- <CheckBox
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
label="사용여부"
|
label="사용여부"
|
||||||
@ -600,7 +599,7 @@ export default {
|
|||||||
this.getEnrgUsage();
|
this.getEnrgUsage();
|
||||||
},
|
},
|
||||||
isDarkMode(newVal) {
|
isDarkMode(newVal) {
|
||||||
// let chartOption = this.getGuageChartOption2(this.chart_01);
|
// Update color of dark mode or light mode into each charts
|
||||||
let chartOption = getGaugeChartOption({
|
let chartOption = getGaugeChartOption({
|
||||||
title: this.chart_01,
|
title: this.chart_01,
|
||||||
isDarkMode: this.isDarkMode,
|
isDarkMode: this.isDarkMode,
|
||||||
@ -610,7 +609,6 @@ export default {
|
|||||||
]?.series?.[0]?.data?.[0]?.value;
|
]?.series?.[0]?.data?.[0]?.value;
|
||||||
this.$store.state.pageData[myPrgmId][this.chart_01] = chartOption;
|
this.$store.state.pageData[myPrgmId][this.chart_01] = chartOption;
|
||||||
|
|
||||||
// let chartOption3 = this.getGuageChartOption2(this.chart_03);
|
|
||||||
let chartOption3 = getGaugeChartOption({
|
let chartOption3 = getGaugeChartOption({
|
||||||
title: this.chart_03,
|
title: this.chart_03,
|
||||||
isDarkMode: this.isDarkMode,
|
isDarkMode: this.isDarkMode,
|
||||||
@ -620,12 +618,24 @@ export default {
|
|||||||
]?.series?.[0]?.data?.[0]?.value;
|
]?.series?.[0]?.data?.[0]?.value;
|
||||||
this.$store.state.pageData[myPrgmId][this.chart_03] = chartOption3;
|
this.$store.state.pageData[myPrgmId][this.chart_03] = chartOption3;
|
||||||
|
|
||||||
let mockres = this.$store.state.pageData[myPrgmId][this.chart_04];
|
|
||||||
this.setChart04Data(mockres);
|
|
||||||
|
|
||||||
this.setChart02Data("test");
|
let chart04Dat = this.$store.state.pageData[myPrgmId]['chart04Data'];
|
||||||
|
this.setChart04Data(chart04Dat);
|
||||||
|
|
||||||
|
let chartOption2 = getLineChartOption({
|
||||||
|
xAxisData: this.$store.state.pageData[myPrgmId][this.chart_02].xAxisData,
|
||||||
|
seriesData: this.$store.state.pageData[myPrgmId][this.chart_02].seriesData,
|
||||||
|
isDarkMode: this.isDarkMode,
|
||||||
|
});
|
||||||
|
this.$store.state.pageData[myPrgmId][this.chart_02] = chartOption2
|
||||||
|
|
||||||
|
let chartOption5 = getLineChartOption({
|
||||||
|
xAxisData: this.$store.state.pageData[myPrgmId][this.chart_05].xAxisData,
|
||||||
|
seriesData: this.$store.state.pageData[myPrgmId][this.chart_05].seriesData,
|
||||||
|
isDarkMode: this.isDarkMode,
|
||||||
|
});
|
||||||
|
this.$store.state.pageData[myPrgmId][this.chart_05] = chartOption5
|
||||||
|
|
||||||
this.setChart05Data("test");
|
|
||||||
},
|
},
|
||||||
// beforeDestroy() {
|
// beforeDestroy() {
|
||||||
// this.cancelAutoUpdate();
|
// this.cancelAutoUpdate();
|
||||||
@ -1169,6 +1179,7 @@ export default {
|
|||||||
chartKey: "compareEqpmTGdChart",
|
chartKey: "compareEqpmTGdChart",
|
||||||
value: chartOption,
|
value: chartOption,
|
||||||
});
|
});
|
||||||
|
this.$store.state.pageData[myPrgmId][this.chart_05] = chartOption
|
||||||
},
|
},
|
||||||
async setChart04Data(data) {
|
async setChart04Data(data) {
|
||||||
if (this.$store.state.pageData[this.myPrgmId].todayNgTopTen != undefined) {
|
if (this.$store.state.pageData[this.myPrgmId].todayNgTopTen != undefined) {
|
||||||
@ -1268,6 +1279,7 @@ export default {
|
|||||||
},
|
},
|
||||||
series: seriesData,
|
series: seriesData,
|
||||||
};
|
};
|
||||||
|
|
||||||
await this.$nextTick(() => {});
|
await this.$nextTick(() => {});
|
||||||
this.setChartOption({ chartKey: "todayNgTopTen", value: chartOption });
|
this.setChartOption({ chartKey: "todayNgTopTen", value: chartOption });
|
||||||
},
|
},
|
||||||
@ -1401,6 +1413,7 @@ export default {
|
|||||||
chartKey: "compareEqpmTotChart",
|
chartKey: "compareEqpmTotChart",
|
||||||
value: chartOption,
|
value: chartOption,
|
||||||
});
|
});
|
||||||
|
this.$store.state.pageData[myPrgmId][this.chart_02] = chartOption
|
||||||
},
|
},
|
||||||
getGuageChartOption(chartName) {
|
getGuageChartOption(chartName) {
|
||||||
const gaugeColors = [
|
const gaugeColors = [
|
||||||
@ -1710,7 +1723,7 @@ export default {
|
|||||||
let chartData = this.pageData.chart04Data;
|
let chartData = this.pageData.chart04Data;
|
||||||
// let chartData = this.$store.state.pageData[myPrgmId][this.chart_04]['series'][0]['data']
|
// let chartData = this.$store.state.pageData[myPrgmId][this.chart_04]['series'][0]['data']
|
||||||
let selectedChartData = chartData.filter((item) => {
|
let selectedChartData = chartData.filter((item) => {
|
||||||
return item.eqpmId == event["data"]["groupId"];
|
return item.eqpmId == event["data"]["name"];
|
||||||
});
|
});
|
||||||
var data = {
|
var data = {
|
||||||
cmCycle: "CYC_DAY",
|
cmCycle: "CYC_DAY",
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
:textCols="12" :searchOption="true" :customClass="'input-large'" :iconShow="true" />
|
:textCols="12" :searchOption="true" :customClass="'input-large'" :iconShow="true" />
|
||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
<BtnSearch @click="search" size="large" />
|
<BtnSearch @click="search" size="large" class="mr-2" />
|
||||||
|
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-card>
|
</v-card>
|
||||||
@ -43,8 +43,7 @@
|
|||||||
<div ref="gridParent" class="w100 h100">
|
<div ref="gridParent" class="w100 h100">
|
||||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
||||||
:parentPrgmId="myPrgmId" @getRowsData="getRowData"
|
:parentPrgmId="myPrgmId" @getRowsData="getRowData"
|
||||||
@sendSelectedRowStatInfo="getSelectedRowStatInfo" :selectedRowDataWatchFlag="true"
|
@sendSelectedRowStatInfo="getSelectedRowStatInfo" :selectedRowDataWatchFlag="true" />
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
@ -308,12 +307,22 @@ export default {
|
|||||||
|
|
||||||
const _this = this;
|
const _this = this;
|
||||||
const myColumns = [
|
const myColumns = [
|
||||||
|
{
|
||||||
|
header: '',
|
||||||
|
name: '',
|
||||||
|
align: 'center',
|
||||||
|
formatter: (props) => {
|
||||||
|
return `<span class="custom-radio">
|
||||||
|
<span class="radio-mark"></span>
|
||||||
|
</span>`;
|
||||||
|
}
|
||||||
|
},
|
||||||
{ header: '회사 ID', name: 'comId', hidden: true },
|
{ header: '회사 ID', name: 'comId', hidden: true },
|
||||||
{
|
{
|
||||||
header: '검침개소명',
|
header: '검침개소명',
|
||||||
name: 'readPlcNm',
|
name: 'readPlcNm',
|
||||||
align: 'left',
|
align: 'left',
|
||||||
minWidth: 400,
|
minWidth: 350,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: '검침개소 ID',
|
header: '검침개소 ID',
|
||||||
@ -470,12 +479,12 @@ export default {
|
|||||||
this.$refs[this.gridName].focus({
|
this.$refs[this.gridName].focus({
|
||||||
rowKey:
|
rowKey:
|
||||||
this.pageData.rowGridSelectKey == '' ||
|
this.pageData.rowGridSelectKey == '' ||
|
||||||
this.pageData.rowGridSelectKey == null
|
this.pageData.rowGridSelectKey == null
|
||||||
? 0
|
? 0
|
||||||
: this.pageData.rowGridSelectKey ==
|
: this.pageData.rowGridSelectKey ==
|
||||||
this.$refs[this.gridName].getData().length - 1
|
this.$refs[this.gridName].getData().length - 1
|
||||||
? this.pageData.rowGridSelectKey
|
? this.pageData.rowGridSelectKey
|
||||||
: 0,
|
: 0,
|
||||||
columnName: 'readPlcNm',
|
columnName: 'readPlcNm',
|
||||||
setScroll: true,
|
setScroll: true,
|
||||||
});
|
});
|
||||||
@ -493,7 +502,7 @@ export default {
|
|||||||
if (this.tab == 2) {
|
if (this.tab == 2) {
|
||||||
this.tab = 0;
|
this.tab = 0;
|
||||||
}
|
}
|
||||||
this.isImgTabDisabled = false;
|
this.isImgTabDisabled = true;
|
||||||
} else {
|
} else {
|
||||||
this.isImgTabDisabled = false;
|
this.isImgTabDisabled = false;
|
||||||
}
|
}
|
||||||
@ -917,47 +926,47 @@ const defaultData = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const sampleData = [
|
const sampleData = [
|
||||||
{
|
{
|
||||||
readPlcNm: '서울 본사',
|
readPlcNm: '서울 본사',
|
||||||
plcKind: '본사',
|
plcKind: '본사',
|
||||||
useFg: '사용',
|
useFg: '사용',
|
||||||
_children: [
|
_children: [
|
||||||
{
|
{
|
||||||
readPlcNm: '서울 본사 - 1층',
|
readPlcNm: '서울 본사 - 1층',
|
||||||
plcKind: '층',
|
plcKind: '층',
|
||||||
useFg: '사용',
|
useFg: '사용',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
readPlcNm: '서울 본사 - 2층',
|
readPlcNm: '서울 본사 - 2층',
|
||||||
plcKind: '층',
|
plcKind: '층',
|
||||||
useFg: '미사용',
|
useFg: '미사용',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
readPlcNm: '부산 지사',
|
readPlcNm: '부산 지사',
|
||||||
plcKind: '지사',
|
plcKind: '지사',
|
||||||
useFg: '사용',
|
useFg: '사용',
|
||||||
_children: [
|
_children: [
|
||||||
{
|
{
|
||||||
readPlcNm: '부산 지사 - A동',
|
readPlcNm: '부산 지사 - A동',
|
||||||
plcKind: '건물',
|
plcKind: '건물',
|
||||||
useFg: '사용',
|
useFg: '사용',
|
||||||
_children: [
|
_children: [
|
||||||
{
|
{
|
||||||
readPlcNm: '부산 지사 - A동 1층',
|
readPlcNm: '부산 지사 - A동 1층',
|
||||||
plcKind: '층',
|
plcKind: '층',
|
||||||
useFg: '사용',
|
useFg: '사용',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
readPlcNm: '대전 창고',
|
readPlcNm: '대전 창고',
|
||||||
plcKind: '창고',
|
plcKind: '창고',
|
||||||
useFg: '미사용',
|
useFg: '미사용',
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
@ -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">
|
||||||
@ -83,7 +84,7 @@
|
|||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row ref="contents" style="height: calc(100vh - 400px)">
|
<v-row >
|
||||||
<v-col :cols="5" class="h100">
|
<v-col :cols="5" class="h100">
|
||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<v-card-title class="d-flex justify-space-between align-end">
|
<v-card-title class="d-flex justify-space-between align-end">
|
||||||
@ -113,7 +114,7 @@
|
|||||||
<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>에너지원 상세</v-card-title>
|
<v-card-title>에너지원 상세</v-card-title>
|
||||||
<div class="px-5" style="height:calc(100% - 70px)">
|
<div class="px-5" style="min-height: auto;">
|
||||||
<v-tabs v-model="tab">
|
<v-tabs v-model="tab">
|
||||||
<v-tab
|
<v-tab
|
||||||
v-for="item in items"
|
v-for="item in items"
|
||||||
@ -125,21 +126,21 @@
|
|||||||
</v-tabs>
|
</v-tabs>
|
||||||
<v-tabs-items
|
<v-tabs-items
|
||||||
v-model="tab"
|
v-model="tab"
|
||||||
style="height: calc(100% - 65px);"
|
|
||||||
class="py-6"
|
class="py-6"
|
||||||
|
style="min-height: auto;"
|
||||||
>
|
>
|
||||||
<v-tab-item v-for="(item, idx) in items" :key="item.id">
|
<v-tab-item v-for="(item, idx) in items" :key="item.id">
|
||||||
<component
|
<component
|
||||||
v-if="item.id == 'ercInfoTab'"
|
v-if="item.id == 'ercInfoTab'"
|
||||||
:is="'Form'"
|
:is="'Form'"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
:detailList="detailList"
|
:detailList="detailList"
|
||||||
@gridEditingFinish="gridEditingFinish"
|
@gridEditingFinish="gridEditingFinish"
|
||||||
/>
|
/>
|
||||||
<ErcChrgInfoTab
|
<ErcChrgInfoTab
|
||||||
v-if="item.id == 'ercChrgInfoTab'"
|
v-if="item.id == 'ercChrgInfoTab'"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
:innerTabGridInfo="{ tab, idx }"
|
:innerTabGridInfo="{ tab, idx }"
|
||||||
/>
|
/>
|
||||||
</v-tab-item>
|
</v-tab-item>
|
||||||
</v-tabs-items>
|
</v-tabs-items>
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row ref="contents" class="mt-3">
|
<v-row ref="contents" class="mt-3">
|
||||||
<v-col :cols="5" class="h100 pr-2">
|
<v-col :cols="5" class="pr-2">
|
||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<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">
|
||||||
물리량 리스트
|
물리량 리스트
|
||||||
@ -50,7 +50,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="7" class="h100 pl-2">
|
<v-col :cols="7" class="pl-2">
|
||||||
<v-card class="pb-5 px-4">
|
<v-card class="pb-5 px-4">
|
||||||
<v-card-title class="px-0">물리량 상세</v-card-title>
|
<v-card-title class="px-0">물리량 상세</v-card-title>
|
||||||
<v-row no-gutters>
|
<v-row no-gutters>
|
||||||
@ -114,7 +114,7 @@
|
|||||||
<component :is="'TextArea'" :parentPrgmId="myPrgmId" ref="TextArea" :item="calcDescItem" />
|
<component :is="'TextArea'" :parentPrgmId="myPrgmId" ref="TextArea" :item="calcDescItem" />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row no-gutters v-show="argContentShowFlag">
|
<v-row no-gutters v-show="argContentShowFlag" align="end" >
|
||||||
<v-col :cols="12" class="py-2">
|
<v-col :cols="12" class="py-2">
|
||||||
<label for="">
|
<label for="">
|
||||||
<v-icon small
|
<v-icon small
|
||||||
@ -122,13 +122,13 @@
|
|||||||
계산Argument
|
계산Argument
|
||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="6" class="py-2">
|
<v-col :cols="6" class="py-2 pr-4">
|
||||||
<InputText :parentPrgmId="myPrgmId" label="ARG갯수" valueNm="argCnt" :labelCols="12"
|
<InputText :parentPrgmId="myPrgmId" label="ARG갯수" valueNm="argCnt" :labelCols="12"
|
||||||
:textCols="12" :iconShow="true" :required="requiredValueList[7]"
|
:textCols="12" :iconShow="false" :required="requiredValueList[7]"
|
||||||
:disabled="disabledValueList[7]" :readonly="readOnlyValueList[7]" />
|
:disabled="disabledValueList[7]" :readonly="readOnlyValueList[7]" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="4"> </v-col>
|
<!-- <v-col :cols="4"> </v-col> -->
|
||||||
<v-col :cols="12" class="py-2" align="right">
|
<v-col :cols="6" class="py-2" align="right">
|
||||||
<a-button type="primary" @click="btnAction('add')" class="v-btn-add-text mr-1" icon="plus">추가</a-button>
|
<a-button type="primary" @click="btnAction('add')" class="v-btn-add-text mr-1" icon="plus">추가</a-button>
|
||||||
<a-button type="danger" @click="btnAction('remove')" ghost danger icon="delete">삭제</a-button>
|
<a-button type="danger" @click="btnAction('remove')" ghost danger icon="delete">삭제</a-button>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -225,61 +225,6 @@ export default {
|
|||||||
formatterSelectList02: [],
|
formatterSelectList02: [],
|
||||||
|
|
||||||
loadGrid: false,
|
loadGrid: false,
|
||||||
dataPathExample: {
|
|
||||||
"rowGrid": {
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
"pysclQtyId": "001",
|
|
||||||
"pysclQtyCd": "TEMP001",
|
|
||||||
"pysclQtyNm": "온도",
|
|
||||||
"pysclQtyTp": "실수"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pysclQtyId": "002",
|
|
||||||
"pysclQtyCd": "PRESS001",
|
|
||||||
"pysclQtyNm": "압력",
|
|
||||||
"pysclQtyTp": "실수"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pysclQtyId": "003",
|
|
||||||
"pysclQtyCd": "FLOW001",
|
|
||||||
"pysclQtyNm": "유량",
|
|
||||||
"pysclQtyTp": "정수"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pysclQtyId": "004",
|
|
||||||
"pysclQtyCd": "HUMID001",
|
|
||||||
"pysclQtyNm": "습도",
|
|
||||||
"pysclQtyTp": "실수"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pysclQtyId": "005",
|
|
||||||
"pysclQtyCd": "VOLT001",
|
|
||||||
"pysclQtyNm": "전압",
|
|
||||||
"pysclQtyTp": "실수"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
,
|
|
||||||
column: [
|
|
||||||
{
|
|
||||||
header: '물리량 ID',
|
|
||||||
name: 'pysclQtyId',
|
|
||||||
width: 100,
|
|
||||||
align: 'center',
|
|
||||||
},
|
|
||||||
{ header: '물리량코드', name: 'pysclQtyCd', minWidth: 255 },
|
|
||||||
{ header: '물리량명', name: 'pysclQtyNm', width: 150 },
|
|
||||||
{
|
|
||||||
header: '물리량타입',
|
|
||||||
name: 'pysclQtyTp',
|
|
||||||
width: 80,
|
|
||||||
},
|
|
||||||
|
|
||||||
],
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
|
||||||
loadGrid2: false,
|
loadGrid2: false,
|
||||||
detailList: myDetail,
|
detailList: myDetail,
|
||||||
|
|
||||||
@ -954,6 +899,8 @@ export default {
|
|||||||
height: 37,
|
height: 37,
|
||||||
},
|
},
|
||||||
rowHeight: 'auto',
|
rowHeight: 'auto',
|
||||||
|
scrollX: true,
|
||||||
|
scrollY: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
@ -967,7 +914,7 @@ export default {
|
|||||||
header: '물리량 ID',
|
header: '물리량 ID',
|
||||||
name: 'pysclQtyId',
|
name: 'pysclQtyId',
|
||||||
width: 100,
|
width: 100,
|
||||||
align: 'center',
|
align: 'left',
|
||||||
},
|
},
|
||||||
{ header: '설비그룹 ID', name: 'eqpmGrpId', hidden: true },
|
{ header: '설비그룹 ID', name: 'eqpmGrpId', hidden: true },
|
||||||
{ header: 'argCnt', name: 'argCnt', hidden: true },
|
{ header: 'argCnt', name: 'argCnt', hidden: true },
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="mainDiv" class="l-layout">
|
<div ref="mainDiv" class="l-layout">
|
||||||
<PageTitle/>
|
<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">
|
||||||
@ -359,7 +359,7 @@ const myDetail = [
|
|||||||
label: '설비종류 ID',
|
label: '설비종류 ID',
|
||||||
valueNm: 'eqpmKindId',
|
valueNm: 'eqpmKindId',
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 pt-1',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
required: false,
|
required: false,
|
||||||
readonly: true,
|
readonly: true,
|
||||||
@ -373,7 +373,7 @@ const myDetail = [
|
|||||||
valueNm: 'eqpmKindNm',
|
valueNm: 'eqpmKindNm',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 pt-1',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
required: true,
|
required: true,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="mainDiv" class="l-layout">
|
<div ref="mainDiv" class="l-layout">
|
||||||
<PageTitle />
|
<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">
|
||||||
@ -461,7 +461,7 @@ const myDetail = [
|
|||||||
valueNm: 'eqpmGrpId',
|
valueNm: 'eqpmGrpId',
|
||||||
disabled: true,
|
disabled: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pr-4',
|
class: 'py-2 pr-4 pt-1',
|
||||||
required: false,
|
required: false,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
@ -474,24 +474,23 @@ const myDetail = [
|
|||||||
valueNm: 'eqpmGrpNm',
|
valueNm: 'eqpmGrpNm',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pl-4',
|
class: 'py-2 pl-4 pt-1',
|
||||||
required: true,
|
required: true,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
type: 'CheckBox',
|
type: 'CheckBox',
|
||||||
label: '사용 여부',
|
label: '사용 여부',
|
||||||
valueNm: 'useFg',
|
valueNm: 'useFg',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pr-4 pt-5',
|
class: 'py-2 pr-4 pt-4',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
required: true,
|
required: true,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
labelCols: 12,
|
|
||||||
textCols: 12,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'SelectBox',
|
type: 'SelectBox',
|
||||||
|
@ -119,109 +119,6 @@ export default {
|
|||||||
selectValueList01: [],
|
selectValueList01: [],
|
||||||
selectValue02: null,
|
selectValue02: null,
|
||||||
selectValueList02: [],
|
selectValueList02: [],
|
||||||
// pyscPopupValueChkList: 'pyscPopupValueChkList',
|
|
||||||
// pyscListChk: {
|
|
||||||
// pysclQtyId1 : null,
|
|
||||||
// pysclQtyId2 : null,
|
|
||||||
// pysclQtyId3 : null,
|
|
||||||
// pysclQtyId4 : null
|
|
||||||
// }
|
|
||||||
// dataPathExample: {
|
|
||||||
// "rowGrid": {
|
|
||||||
// data: [
|
|
||||||
|
|
||||||
// {
|
|
||||||
// gdIdxId: 'GD001',
|
|
||||||
// gdIdxNm: '온도 가이드',
|
|
||||||
// eqpmGrpId: 'EQ001',
|
|
||||||
// upTotMeth: 'AVG',
|
|
||||||
// careStndVal: 50,
|
|
||||||
// warnStndVal: 70,
|
|
||||||
// alrmMsg: '온도가 기준치를 초과했습니다.',
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// gdIdxId: 'GD002',
|
|
||||||
// gdIdxNm: '습도 가이드',
|
|
||||||
// eqpmGrpId: 'EQ002',
|
|
||||||
// upTotMeth: 'MAX',
|
|
||||||
// careStndVal: 30,
|
|
||||||
// warnStndVal: 60,
|
|
||||||
// alrmMsg: '습도가 기준치를 초과했습니다.',
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// gdIdxId: 'GD003',
|
|
||||||
// gdIdxNm: '압력 가이드',
|
|
||||||
// eqpmGrpId: 'EQ003',
|
|
||||||
// upTotMeth: 'SUM',
|
|
||||||
// careStndVal: 100,
|
|
||||||
// warnStndVal: 150,
|
|
||||||
// alrmMsg: '압력이 기준치를 초과했습니다.',
|
|
||||||
// }
|
|
||||||
|
|
||||||
// ],
|
|
||||||
// column: [
|
|
||||||
// {
|
|
||||||
// header: '가이드',
|
|
||||||
// name: 'gdIdxId',
|
|
||||||
// width: 100,
|
|
||||||
// align: 'center',
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// header: '가이드명',
|
|
||||||
// name: 'gdIdxNm',
|
|
||||||
// width: 210,
|
|
||||||
// align: 'left',
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// header: '설비그룹ID',
|
|
||||||
// name: 'eqpmGrpId',
|
|
||||||
// width: 100,
|
|
||||||
// align: 'center',
|
|
||||||
// // formatter({ value }) {
|
|
||||||
// // let retVal = '';
|
|
||||||
// // const newValue = _this.pageData.eqpmGrpList.filter(item => item.value == value);
|
|
||||||
// // if (newValue.length > 0) {
|
|
||||||
// // retVal = newValue[0].text;
|
|
||||||
// // }
|
|
||||||
// // return retVal;
|
|
||||||
// // },
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// header: '상위집계방법',
|
|
||||||
// name: 'upTotMeth',
|
|
||||||
// width: 100,
|
|
||||||
// align: 'center',
|
|
||||||
// // formatter({ value }) {
|
|
||||||
// // let retVal = '';
|
|
||||||
// // const newValue = _this.pageData.upTotMethList.filter(item => item.commCd == value);
|
|
||||||
// // if (newValue.length > 0) {
|
|
||||||
// // retVal = newValue[0].commCdNm;
|
|
||||||
// // }
|
|
||||||
// // return retVal;
|
|
||||||
// // },
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// header: '주의기준',
|
|
||||||
// name: 'careStndVal',
|
|
||||||
// width: 100,
|
|
||||||
// align: 'right',
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// header: '경고기준',
|
|
||||||
// name: 'warnStndVal',
|
|
||||||
// width: 100,
|
|
||||||
// align: 'right',
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// header: '알람메세지',
|
|
||||||
// name: 'alrmMsg',
|
|
||||||
// minWidth: 860,
|
|
||||||
// align: 'left',
|
|
||||||
// }
|
|
||||||
// ]
|
|
||||||
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -627,58 +524,6 @@ export default {
|
|||||||
async getRowGridData() {
|
async getRowGridData() {
|
||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
let res = [];
|
let res = [];
|
||||||
// const newRes = [
|
|
||||||
// {
|
|
||||||
// comId: 'COM001',
|
|
||||||
// gdIdxId: 'GD001',
|
|
||||||
// gdIdxNm: '온도 가이드',
|
|
||||||
// eqpmGrpId: 'EQ001',
|
|
||||||
// upTotMeth: 'AVG',
|
|
||||||
// sortSeq: 1,
|
|
||||||
// pysclQtyId1: 'TEMP',
|
|
||||||
// pysclQtyId2: null,
|
|
||||||
// pysclQtyId3: null,
|
|
||||||
// pysclQtyId4: null,
|
|
||||||
// ctgr1: '환경',
|
|
||||||
// ctgr2: '내부',
|
|
||||||
// careStndVal: 50,
|
|
||||||
// warnStndVal: 70,
|
|
||||||
// gdMeth: '자동',
|
|
||||||
// useFg: '1',
|
|
||||||
// alrmMsg: '온도가 기준치를 초과했습니다.',
|
|
||||||
// calcProc: 'PROC001',
|
|
||||||
// calcDesc: '평균 계산',
|
|
||||||
// calcMeth: '(A+B)/2',
|
|
||||||
// unit: 'C',
|
|
||||||
// argCnt: 2,
|
|
||||||
// rowStat: null,
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// comId: 'COM002',
|
|
||||||
// gdIdxId: 'GD002',
|
|
||||||
// gdIdxNm: '습도 가이드',
|
|
||||||
// eqpmGrpId: 'EQ002',
|
|
||||||
// upTotMeth: 'MAX',
|
|
||||||
// sortSeq: 2,
|
|
||||||
// pysclQtyId1: 'HUMID',
|
|
||||||
// pysclQtyId2: null,
|
|
||||||
// pysclQtyId3: null,
|
|
||||||
// pysclQtyId4: null,
|
|
||||||
// ctgr1: '환경',
|
|
||||||
// ctgr2: '외부',
|
|
||||||
// careStndVal: 30,
|
|
||||||
// warnStndVal: 60,
|
|
||||||
// gdMeth: '수동',
|
|
||||||
// useFg: '0',
|
|
||||||
// alrmMsg: '습도가 기준치를 초과했습니다.',
|
|
||||||
// calcProc: 'PROC002',
|
|
||||||
// calcDesc: '최대값 계산',
|
|
||||||
// calcMeth: 'MAX(A,B)',
|
|
||||||
// unit: '%',
|
|
||||||
// argCnt: 2,
|
|
||||||
// rowStat: null,
|
|
||||||
// },
|
|
||||||
// ];
|
|
||||||
|
|
||||||
res = await this.postApiReturn({
|
res = await this.postApiReturn({
|
||||||
apiKey: 'selectEqpmGdIdxDataList',
|
apiKey: 'selectEqpmGdIdxDataList',
|
||||||
@ -1453,7 +1298,7 @@ const myDetail = [
|
|||||||
class: 'pa-3',
|
class: 'pa-3',
|
||||||
// required: true,
|
// required: true,
|
||||||
openMode: 'ALL',
|
openMode: 'ALL',
|
||||||
disabled: false,
|
disabled: true,
|
||||||
eqpmKindId: '',
|
eqpmKindId: '',
|
||||||
eqpmGrpId: '',
|
eqpmGrpId: '',
|
||||||
closeBtnFg: true,
|
closeBtnFg: true,
|
||||||
|
@ -1,63 +1,27 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<PageTitle text="측정 위치 데이터 조회" />
|
<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">
|
||||||
<v-row align="end" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
<v-col :cols="2">
|
|
||||||
<component
|
|
||||||
:is="'SelectBlocMstr'"
|
|
||||||
ref="SelectBlocMstr"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:textCols="12"
|
|
||||||
customClass="select-large"
|
|
||||||
/>
|
|
||||||
</v-col>
|
|
||||||
<!-- <v-col :cols="2">
|
|
||||||
<component
|
|
||||||
label="검침개소"
|
|
||||||
:is="'PastRsltDataReadPop'"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
/>
|
|
||||||
</v-col> -->
|
|
||||||
<!-- <v-col :cols="2">
|
|
||||||
<component
|
|
||||||
:is="'SelectTagNmList'"
|
|
||||||
ref="SelectTagNmList"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
/>
|
|
||||||
</v-col> -->
|
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<!-- <component
|
<component :is="'SelectBlocMstr'" ref="SelectBlocMstr" :parentPrgmId="myPrgmId"
|
||||||
:is="'PastRsltDataReadTagPop'"
|
:textCols="12" customClass="select-large" />
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:label="'TAG'"
|
|
||||||
/> -->
|
|
||||||
<component
|
|
||||||
:is="'EvtObjPop'"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:item="evtObjPopItem"
|
|
||||||
customClass="select-large"
|
|
||||||
/>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="4">
|
<v-col :cols="3">
|
||||||
<component
|
<component :is="'EvtObjPop'" :parentPrgmId="myPrgmId" :item="evtObjPopItem"
|
||||||
:is="'Datepicker'"
|
customClass="select-large" />
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:label="'조회기간'"
|
|
||||||
:textCols="12"
|
|
||||||
/>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3" class="d-flex align-end justify-end text-right">
|
<v-col :cols="3">
|
||||||
<BtnExcelDownload
|
<!-- 대상일 -->
|
||||||
class="mr-1"
|
<component :is="'Datepicker'" :parentPrgmId="myPrgmId" :label="'조회기간'" :textCols="12"
|
||||||
:parentPrgmId="myPrgmId"
|
customClass="datepicker-large" />
|
||||||
:gridName="gridName"
|
</v-col>
|
||||||
type="primary"
|
<v-col :cols="3" class="d-flex align-end justify-end text-right">
|
||||||
size="large"
|
<BtnExcelDownload class="mr-1" :parentPrgmId="myPrgmId" :gridName="gridName" type="primary"
|
||||||
/>
|
size="large" />
|
||||||
<BtnSearch @click="search" size="large" />
|
<BtnSearch @click="search" size="large" />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
@ -68,12 +32,12 @@
|
|||||||
<v-col :cols="12" style="height: 100%" class="h100">
|
<v-col :cols="12" style="height: 100%" class="h100">
|
||||||
<v-card class="px-5 py-5 h100">
|
<v-card class="px-5 py-5 h100">
|
||||||
<div ref="gridParent" class="h100 px-5" style="height: 100%">
|
<div ref="gridParent" class="h100 px-5" style="height: 100%">
|
||||||
<component
|
<component ref="myGrid" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
||||||
ref="myGrid"
|
:parentPrgmId="myPrgmId" />
|
||||||
:is="loadGrid ? 'Grid' : null"
|
</div>
|
||||||
:gridName="gridName"
|
<div class="d-flex align-center justify-space-between">
|
||||||
:parentPrgmId="myPrgmId"
|
<pagination id="pagination" :total-count="totalCount" :page-num="page" :limit="limit"
|
||||||
/>
|
@loadData="changeGrid" />
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -97,7 +61,7 @@ import BtnExcelDownload from '~/components/common/button/BtnExcelDownload';
|
|||||||
import DateUtility from '~/plugins/dateUtility';
|
import DateUtility from '~/plugins/dateUtility';
|
||||||
// import Search from "~/components/common/search";
|
// import Search from "~/components/common/search";
|
||||||
import EvtObjPop from '~/components/common/modal/EvtObjPop';
|
import EvtObjPop from '~/components/common/modal/EvtObjPop';
|
||||||
import PageTitle from "~/components/common/PageTitle";
|
import pagination from '~/components/Pagination';
|
||||||
|
|
||||||
let myTitle;
|
let myTitle;
|
||||||
// const myPrgmId = "PRG0052";
|
// const myPrgmId = "PRG0052";
|
||||||
@ -130,7 +94,7 @@ export default {
|
|||||||
PastRsltDataReadPop,
|
PastRsltDataReadPop,
|
||||||
PastRsltDataReadTagPop,
|
PastRsltDataReadTagPop,
|
||||||
EvtObjPop,
|
EvtObjPop,
|
||||||
PageTitle,
|
pagination,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -146,12 +110,16 @@ export default {
|
|||||||
valueNm2: 'tagNm',
|
valueNm2: 'tagNm',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
labelCols: 12,
|
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2',
|
class: 'py-2',
|
||||||
required: false,
|
required: false,
|
||||||
formFg: false,
|
formFg: false,
|
||||||
},
|
},
|
||||||
|
itemsPerPage: 10,
|
||||||
|
itemsPerPageArray: [10, 20, 30],
|
||||||
|
limit: 20,
|
||||||
|
page: 1,
|
||||||
|
totalCount: 0,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -164,9 +132,6 @@ export default {
|
|||||||
chkTagId() {
|
chkTagId() {
|
||||||
return this.pageData.tagList === undefined ? null : this.pageData.tagId;
|
return this.pageData.tagList === undefined ? null : this.pageData.tagId;
|
||||||
},
|
},
|
||||||
// chkTagList() {
|
|
||||||
// return this.pageData.tagList;
|
|
||||||
// },
|
|
||||||
chkTagNm() {
|
chkTagNm() {
|
||||||
return this.pageData.tagData.tagNm;
|
return this.pageData.tagData.tagNm;
|
||||||
},
|
},
|
||||||
@ -176,18 +141,16 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
chkIsFind(val) {
|
chkIsFind(val) {
|
||||||
if (val) this.search();
|
if (val) {
|
||||||
|
this.page = 1;
|
||||||
|
this.search();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
chkTagId(val) {
|
chkTagId(val) {
|
||||||
if (this.initFlag && val != null) {
|
if (this.initFlag && val != null) {
|
||||||
this.search();
|
this.search();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// chkTagList() {
|
|
||||||
// if(this.initFlag){
|
|
||||||
// this.search();
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
chkTagNm() {
|
chkTagNm() {
|
||||||
if (this.initFlag) {
|
if (this.initFlag) {
|
||||||
this.search();
|
this.search();
|
||||||
@ -207,7 +170,7 @@ export default {
|
|||||||
defaultData: defaultData,
|
defaultData: defaultData,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
created() {},
|
created() { },
|
||||||
async mounted() {
|
async mounted() {
|
||||||
await this.setFromDt();
|
await this.setFromDt();
|
||||||
await this.init();
|
await this.init();
|
||||||
@ -330,6 +293,7 @@ export default {
|
|||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
|
|
||||||
let res = [];
|
let res = [];
|
||||||
|
let res2 = [];
|
||||||
let yearQuarterData = [];
|
let yearQuarterData = [];
|
||||||
yearQuarterData = this.yearQuarterMaker([
|
yearQuarterData = this.yearQuarterMaker([
|
||||||
this.pageData.fromDt,
|
this.pageData.fromDt,
|
||||||
@ -381,8 +345,18 @@ export default {
|
|||||||
apiKey: 'selectTagRawDataByQuarter',
|
apiKey: 'selectTagRawDataByQuarter',
|
||||||
resKey: 'pastRsltReadData',
|
resKey: 'pastRsltReadData',
|
||||||
sendParam: sendParams,
|
sendParam: sendParams,
|
||||||
|
limit: this.limit,
|
||||||
|
page: this.page,
|
||||||
|
offset: (this.page - 1) * this.limit, // MariaDB Query에서 직접 계산이 안됨
|
||||||
});
|
});
|
||||||
|
|
||||||
|
res2 = await this.postApiReturn({
|
||||||
|
apiKey: 'selectTagRawDataByQuarterPageTotal',
|
||||||
|
resKey: 'pastRslPageTotal',
|
||||||
|
sendParam: sendParams
|
||||||
|
});
|
||||||
|
this.totalCount = res2[0].totalcount;
|
||||||
|
|
||||||
this.setGridData({
|
this.setGridData({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
value: res,
|
value: res,
|
||||||
@ -393,6 +367,9 @@ export default {
|
|||||||
fromDt: this.pageData.fromDt,
|
fromDt: this.pageData.fromDt,
|
||||||
toDt: this.pageData.toDt,
|
toDt: this.pageData.toDt,
|
||||||
yearQuarterList: yearQuarterData['yearQuarterList'],
|
yearQuarterList: yearQuarterData['yearQuarterList'],
|
||||||
|
limit: this.limit,
|
||||||
|
page: this.page,
|
||||||
|
offset: (this.page - 1) * this.limit, // MariaDB Query에서 직접 계산이 안됨
|
||||||
};
|
};
|
||||||
sendParams['tagId'] = this.pageData.tagId;
|
sendParams['tagId'] = this.pageData.tagId;
|
||||||
//
|
//
|
||||||
@ -410,6 +387,14 @@ export default {
|
|||||||
sendParam: sendParams,
|
sendParam: sendParams,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
res2 = await this.postApiReturn({
|
||||||
|
apiKey: 'selectTagRawDataByQuarterPageTotal',
|
||||||
|
resKey: 'pastRslPageTotal',
|
||||||
|
sendParam: sendParams
|
||||||
|
});
|
||||||
|
|
||||||
|
this.totalCount = res2[0].totalcount;
|
||||||
|
|
||||||
this.setGridData({
|
this.setGridData({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
value: res,
|
value: res,
|
||||||
@ -487,6 +472,12 @@ export default {
|
|||||||
finalResult['yearQuarterList'] = result;
|
finalResult['yearQuarterList'] = result;
|
||||||
return finalResult;
|
return finalResult;
|
||||||
},
|
},
|
||||||
|
changeGrid: async function (pageNum, limit) {
|
||||||
|
this.page = pageNum;
|
||||||
|
this.limit = limit;
|
||||||
|
|
||||||
|
this.search();
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -59,18 +59,16 @@
|
|||||||
:btnActionsFnc="btnActions"
|
:btnActionsFnc="btnActions"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="h100 px-5" style="height:calc(100% - 70px)">
|
<div ref="gridParent" class="h100 px-5" style="height:calc(100% - 70px)">
|
||||||
<div ref="gridParent" class="w100 h100">
|
<component
|
||||||
<component
|
:ref="gridName"
|
||||||
:ref="gridName"
|
:is="loadGrid ? 'Grid' : null"
|
||||||
:is="loadGrid ? 'Grid' : null"
|
:gridName="gridName"
|
||||||
:gridName="gridName"
|
:parentPrgmId="myPrgmId"
|
||||||
:parentPrgmId="myPrgmId"
|
@getRowsData="getRowData"
|
||||||
@getRowsData="getRowData"
|
@sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
||||||
@sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
:selectedRowDataWatchFlag="true"
|
||||||
:selectedRowDataWatchFlag="true"
|
/>
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
@ -91,7 +91,7 @@
|
|||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div ref="gridParent" class="px-5 w100" style="min-height: 60vh">
|
<div ref="gridParent" class="px-5 w100" style="height: 55vh;">
|
||||||
<component
|
<component
|
||||||
:is="loadGrid ? 'Grid' : null"
|
:is="loadGrid ? 'Grid' : null"
|
||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
@ -242,6 +242,10 @@ export default {
|
|||||||
columnOptions: {
|
columnOptions: {
|
||||||
resizable: true,
|
resizable: true,
|
||||||
},
|
},
|
||||||
|
pageOptions: {
|
||||||
|
useClient: true,
|
||||||
|
perPage: 13,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
|
@ -1,61 +1,43 @@
|
|||||||
<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">
|
||||||
<v-row align="center" no-gutters>
|
<v-row align="center" no-gutters>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<!-- 사업장 -->
|
<!-- 사업장 -->
|
||||||
<component
|
<component :is="'SelectBlocMstr'" ref="SelectBlocMstr" :parentPrgmId="myPrgmId"
|
||||||
:is="'SelectBlocMstr'"
|
:textCols="12" customClass="select-large" />
|
||||||
ref="SelectBlocMstr"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
/>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<component
|
<component :is="'selectCodeList'" :parentPrgmId="myPrgmId" :label="'측정 Data 유형'"
|
||||||
:is="'selectCodeList'"
|
dataKey="searchReadDataType" :sendParam="{ commGrpCd: 'EM_READ_DATA_TYPE', useFg: '1' }"
|
||||||
:parentPrgmId="myPrgmId"
|
:addAll="true" :textCols="12" customClass="select-large" />
|
||||||
:label="'측정 Data 유형'"
|
|
||||||
dataKey="searchReadDataType"
|
|
||||||
:sendParam="{ commGrpCd: 'EM_READ_DATA_TYPE', useFg: '1' }"
|
|
||||||
:addAll="true"
|
|
||||||
/>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<component
|
<component :is="'SelectReadObj'" :parentPrgmId="myPrgmId" :label="'측정대상'"
|
||||||
:is="'SelectReadObj'"
|
dataKey="searchReadObj" :sendParam="{ useFg: '1' }" :labelCols="12" :textCols="12"
|
||||||
:parentPrgmId="myPrgmId"
|
:addAll="true" customClass="select-large" />
|
||||||
:label="'측정대상'"
|
|
||||||
dataKey="searchReadObj"
|
|
||||||
:sendParam="{ useFg: '1' }"
|
|
||||||
:addAll="true"
|
|
||||||
/>
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="3" class="text-right">
|
|
||||||
<BtnSearch @click="search" />
|
|
||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row align="center" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<component
|
<component :is="'selectCodeList'" :parentPrgmId="myPrgmId" :label="'사용여부'" dataKey="useFg"
|
||||||
:is="'selectCodeList'"
|
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }" :addAll="true" :textCols="12"
|
||||||
:parentPrgmId="myPrgmId"
|
customClass="select-large" />
|
||||||
:label="'사용여부'"
|
|
||||||
dataKey="useFg"
|
|
||||||
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
|
||||||
:addAll="true"
|
|
||||||
/>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="6">
|
<v-col :cols="3">
|
||||||
<InputText
|
<InputText :parentPrgmId="myPrgmId" label="TAG ID" valueNm="tagId" :labelCols="12"
|
||||||
:parentPrgmId="myPrgmId"
|
:textCols="12" :searchOption="true" customClass="input-large" />
|
||||||
label="TAG명"
|
</v-col>
|
||||||
valueNm="tagNm"
|
<v-col :cols="3">
|
||||||
:labelCols="2"
|
<InputText :parentPrgmId="myPrgmId" label="TAG명" valueNm="tagNm" :labelCols="12"
|
||||||
:textCols="9"
|
:textCols="12" :searchOption="true" customClass="input-large" />
|
||||||
:searchOption="true"
|
</v-col>
|
||||||
/>
|
<v-col :cols="3" class="d-flex align-end justify-end text-right">
|
||||||
|
<BtnSearch @click="search" size="large" />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-card>
|
</v-card>
|
||||||
@ -66,63 +48,33 @@
|
|||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<v-card-title class="d-flex justify-space-between align-end">
|
<v-card-title class="d-flex justify-space-between align-end">
|
||||||
<span class="tit ft-size_20 ft-weight_600">TAG 정보</span>
|
<span class="tit ft-size_20 ft-weight_600">TAG 정보</span>
|
||||||
<Buttons
|
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :detailList="detailList"
|
||||||
:parentPrgmId="myPrgmId"
|
:btnActionsFnc="btnActions" />
|
||||||
:bindingData="gridName"
|
|
||||||
:detailList="detailList"
|
|
||||||
:btnActionsFnc="btnActions"
|
|
||||||
/>
|
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<v-card-actions>
|
<v-card-actions>
|
||||||
<div
|
<div ref="gridParent" class="w100" style="height: calc(100vh - 400px)">
|
||||||
ref="gridParent"
|
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
||||||
class="w100"
|
:parentPrgmId="myPrgmId" @getRowsData="getRowData"
|
||||||
style="height: calc(100vh - 360px)"
|
@sendSelectedRowStatInfo="getSelectedRowStatInfo" :selectedRowDataWatchFlag="true" />
|
||||||
>
|
|
||||||
<component
|
|
||||||
:ref="gridName"
|
|
||||||
:is="loadGrid ? 'Grid' : null"
|
|
||||||
:gridName="gridName"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
@getRowsData="getRowData"
|
|
||||||
@sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
|
||||||
:selectedRowDataWatchFlag="true"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="7" class="h100">
|
<v-col :cols="7" class="">
|
||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<v-card-title>TAG 상세</v-card-title>
|
<v-card-title>TAG 상세</v-card-title>
|
||||||
<div class="px-5" style="height:calc(100% - 70px)">
|
<div class="px-5" style="height:calc(100% - 70px)">
|
||||||
<v-tabs v-model="tab">
|
<v-tabs v-model="tab">
|
||||||
<v-tab
|
<v-tab v-for="item in items" :key="item.id" :disabled="item.disabledFlag">
|
||||||
v-for="item in items"
|
|
||||||
:key="item.id"
|
|
||||||
:disabled="item.disabledFlag"
|
|
||||||
>
|
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</v-tab>
|
</v-tab>
|
||||||
</v-tabs>
|
</v-tabs>
|
||||||
<v-tabs-items
|
<v-tabs-items v-model="tab" style="height: calc(100% - 65px);" class="py-6">
|
||||||
v-model="tab"
|
|
||||||
style="height: calc(100% - 65px);"
|
|
||||||
class="py-6"
|
|
||||||
>
|
|
||||||
<v-tab-item v-for="(item, idx) in items" :key="item.id">
|
<v-tab-item v-for="(item, idx) in items" :key="item.id">
|
||||||
<component
|
<component v-if="item.id == 'tagBaseInfoTab'" :is="'Form'" :parentPrgmId="myPrgmId"
|
||||||
v-if="item.id == 'tagBaseInfoTab'"
|
:detailList="detailList" @gridEditingFinish="gridEditingFinish" />
|
||||||
:is="'Form'"
|
<TagAddInfoTab v-if="item.id == 'tagAddInfoTab'" :parentPrgmId="myPrgmId"
|
||||||
:parentPrgmId="myPrgmId"
|
:innerTabGridInfo="{ tab, idx }" />
|
||||||
:detailList="detailList"
|
|
||||||
@gridEditingFinish="gridEditingFinish"
|
|
||||||
/>
|
|
||||||
<TagAddInfoTab
|
|
||||||
v-if="item.id == 'tagAddInfoTab'"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:innerTabGridInfo="{ tab, idx }"
|
|
||||||
/>
|
|
||||||
</v-tab-item>
|
</v-tab-item>
|
||||||
</v-tabs-items>
|
</v-tabs-items>
|
||||||
</div>
|
</div>
|
||||||
@ -134,6 +86,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { mapState, mapMutations, mapActions } from 'vuex';
|
import { mapState, mapMutations, mapActions } from 'vuex';
|
||||||
import mixinGlobal from '@/mixin/global.js';
|
import mixinGlobal from '@/mixin/global.js';
|
||||||
|
import { resize } from '@/mixin/resize.js';
|
||||||
import BtnSearch from '~/components/common/button/BtnSearch';
|
import BtnSearch from '~/components/common/button/BtnSearch';
|
||||||
import Buttons from '~/components/common/button/Buttons';
|
import Buttons from '~/components/common/button/Buttons';
|
||||||
import SelectBlocMstr from '@/components/common/select/SelectBlocMstr';
|
import SelectBlocMstr from '@/components/common/select/SelectBlocMstr';
|
||||||
@ -149,7 +102,7 @@ let myTitle;
|
|||||||
// const myPrgmId = "PRG0051";
|
// const myPrgmId = "PRG0051";
|
||||||
let myPrgmId;
|
let myPrgmId;
|
||||||
export default {
|
export default {
|
||||||
mixins: [mixinGlobal],
|
mixins: [mixinGlobal, resize],
|
||||||
async asyncData(context) {
|
async asyncData(context) {
|
||||||
const myState = context.store.state;
|
const myState = context.store.state;
|
||||||
// context.store.commit("setActiveMenuInfo", myState.menuData[myPrgmId]);
|
// context.store.commit("setActiveMenuInfo", myState.menuData[myPrgmId]);
|
||||||
@ -219,15 +172,19 @@ export default {
|
|||||||
},
|
},
|
||||||
chkBlocId() {
|
chkBlocId() {
|
||||||
this.setPageData({ isFind: true });
|
this.setPageData({ isFind: true });
|
||||||
|
// this.search();
|
||||||
},
|
},
|
||||||
chkReadDataType() {
|
chkReadDataType() {
|
||||||
this.setPageData({ isFind: true });
|
this.setPageData({ isFind: true });
|
||||||
|
// this.search();
|
||||||
},
|
},
|
||||||
chkReadObj() {
|
chkReadObj() {
|
||||||
this.setPageData({ isFind: true });
|
this.setPageData({ isFind: true });
|
||||||
|
// this.search();
|
||||||
},
|
},
|
||||||
chkUseFg() {
|
chkUseFg() {
|
||||||
this.setPageData({ isFind: true });
|
this.setPageData({ isFind: true });
|
||||||
|
// this.search();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
async beforeCreate() {
|
async beforeCreate() {
|
||||||
@ -297,12 +254,16 @@ export default {
|
|||||||
this.gridInit();
|
this.gridInit();
|
||||||
},
|
},
|
||||||
gridInit() {
|
gridInit() {
|
||||||
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
const gridHeight = this.$refs.gridParent.offsetHeight - 16;
|
||||||
|
|
||||||
const myOptions = {
|
const myOptions = {
|
||||||
columnOptions: {
|
columnOptions: {
|
||||||
resizable: true,
|
resizable: true,
|
||||||
},
|
},
|
||||||
|
scrollX: true,
|
||||||
|
header: {
|
||||||
|
height: 38,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
@ -316,21 +277,21 @@ export default {
|
|||||||
header: 'TAG ID',
|
header: 'TAG ID',
|
||||||
name: 'tagId',
|
name: 'tagId',
|
||||||
width: 'auto',
|
width: 'auto',
|
||||||
minWidth: 280,
|
minWidth: 340,
|
||||||
align: 'left',
|
align: 'left',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'TAG 명',
|
header: 'TAG 명',
|
||||||
name: 'tagNm',
|
name: 'tagNm',
|
||||||
width: 'auto',
|
width: 'auto',
|
||||||
minWidth: 140,
|
minWidth: 220,
|
||||||
align: 'left',
|
align: 'left',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: '측정 값 유형',
|
header: '측정 값 유형',
|
||||||
name: 'readDataTypeCd',
|
name: 'readDataTypeCd',
|
||||||
width: 100,
|
width: 90,
|
||||||
align: 'center',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
let retVal = '';
|
let retVal = '';
|
||||||
const newValue = _this.pageData.readDataTypeCdList.filter(
|
const newValue = _this.pageData.readDataTypeCdList.filter(
|
||||||
@ -346,7 +307,7 @@ export default {
|
|||||||
header: '측정대상',
|
header: '측정대상',
|
||||||
name: 'readObjId',
|
name: 'readObjId',
|
||||||
width: 100,
|
width: 100,
|
||||||
align: 'center',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
let retVal = '';
|
let retVal = '';
|
||||||
const newValue = _this.pageData.readObjList.filter(
|
const newValue = _this.pageData.readObjList.filter(
|
||||||
@ -363,7 +324,7 @@ export default {
|
|||||||
header: '단위',
|
header: '단위',
|
||||||
name: 'unitCd',
|
name: 'unitCd',
|
||||||
width: 80,
|
width: 80,
|
||||||
align: 'center',
|
align: 'left',
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
let retVal = '';
|
let retVal = '';
|
||||||
const newValue = _this.pageData.unitCdList.filter(
|
const newValue = _this.pageData.unitCdList.filter(
|
||||||
@ -493,6 +454,7 @@ export default {
|
|||||||
readObjId: this.pageData.searchReadObj,
|
readObjId: this.pageData.searchReadObj,
|
||||||
useFg: this.pageData.useFg,
|
useFg: this.pageData.useFg,
|
||||||
tagNmLike: this.pageData.tagNm,
|
tagNmLike: this.pageData.tagNm,
|
||||||
|
tagIdLike: this.pageData.tagId,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
@ -751,7 +713,8 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.setPageData({ isFind: true });
|
// this.setPageData({ isFind: true });
|
||||||
|
this.search();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -818,6 +781,7 @@ function isValidAlrmVal(obj) {
|
|||||||
|
|
||||||
const defaultData = {
|
const defaultData = {
|
||||||
/* 검색옵션 */
|
/* 검색옵션 */
|
||||||
|
tagId: '',
|
||||||
tagNm: '',
|
tagNm: '',
|
||||||
blocId: '',
|
blocId: '',
|
||||||
blocMstrList: [],
|
blocMstrList: [],
|
||||||
@ -907,30 +871,39 @@ const myDetail = [
|
|||||||
label: 'TAG ID',
|
label: 'TAG ID',
|
||||||
valueNm: 'tagId',
|
valueNm: 'tagId',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
|
iconShow: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pr-4',
|
||||||
required: false,
|
required: false,
|
||||||
|
labelCols: 12,
|
||||||
|
textCols: 12,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
label: 'TAG 명',
|
label: 'TAG 명',
|
||||||
valueNm: 'tagNm',
|
valueNm: 'tagNm',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
|
iconShow: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pl-4',
|
||||||
required: false,
|
required: false,
|
||||||
|
labelCols: 12,
|
||||||
|
textCols: 12,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'SelectBox',
|
type: 'SelectBox',
|
||||||
label: '측정 값 유형',
|
label: '측정 값 유형',
|
||||||
valueNm: 'readDataTypeCd',
|
valueNm: 'readDataTypeCd',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
|
iconShow: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pr-4 pt-5',
|
||||||
list: 'readDataTypeCdList',
|
list: 'readDataTypeCdList',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
itemValue: 'commCd',
|
itemValue: 'commCd',
|
||||||
required: true,
|
required: true,
|
||||||
|
labelCols: 12,
|
||||||
|
textCols: 12,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'SelectBox',
|
type: 'SelectBox',
|
||||||
@ -938,11 +911,14 @@ const myDetail = [
|
|||||||
valueNm: 'readObjId',
|
valueNm: 'readObjId',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pl-4 pt-5',
|
||||||
list: 'readObjList',
|
list: 'readObjList',
|
||||||
itemText: 'readObjNm',
|
itemText: 'readObjNm',
|
||||||
itemValue: 'readObjId',
|
itemValue: 'readObjId',
|
||||||
required: true,
|
required: true,
|
||||||
|
iconShow: true,
|
||||||
|
labelCols: 12,
|
||||||
|
textCols: 12,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
@ -950,8 +926,11 @@ const myDetail = [
|
|||||||
valueNm: 'mgnf',
|
valueNm: 'mgnf',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pr-4 pt-5',
|
||||||
required: true,
|
required: true,
|
||||||
|
iconShow: true,
|
||||||
|
labelCols: 12,
|
||||||
|
textCols: 12,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'SelectBox',
|
type: 'SelectBox',
|
||||||
@ -959,10 +938,13 @@ const myDetail = [
|
|||||||
valueNm: 'unitCd',
|
valueNm: 'unitCd',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pl-4 pt-5',
|
||||||
list: 'unitCdList',
|
list: 'unitCdList',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
itemValue: 'commCd',
|
itemValue: 'commCd',
|
||||||
|
iconShow: true,
|
||||||
|
labelCols: 12,
|
||||||
|
textCols: 12,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
@ -970,7 +952,10 @@ const myDetail = [
|
|||||||
valueNm: 'rangMin',
|
valueNm: 'rangMin',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pr-4 pt-5',
|
||||||
|
iconShow: true,
|
||||||
|
labelCols: 12,
|
||||||
|
textCols: 12,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
@ -978,7 +963,10 @@ const myDetail = [
|
|||||||
valueNm: 'rangMax',
|
valueNm: 'rangMax',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pl-4 pt-5',
|
||||||
|
iconShow: true,
|
||||||
|
labelCols: 12,
|
||||||
|
textCols: 12,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
@ -986,7 +974,10 @@ const myDetail = [
|
|||||||
valueNm: 'alrmHihi',
|
valueNm: 'alrmHihi',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pr-4 pt-5',
|
||||||
|
iconShow: true,
|
||||||
|
labelCols: 12,
|
||||||
|
textCols: 12,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
@ -994,7 +985,10 @@ const myDetail = [
|
|||||||
valueNm: 'alrmHi',
|
valueNm: 'alrmHi',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pl-4 pt-5',
|
||||||
|
iconShow: true,
|
||||||
|
labelCols: 12,
|
||||||
|
textCols: 12,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
@ -1002,7 +996,10 @@ const myDetail = [
|
|||||||
valueNm: 'alrmLo',
|
valueNm: 'alrmLo',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pr-4 pt-5',
|
||||||
|
iconShow: true,
|
||||||
|
labelCols: 12,
|
||||||
|
textCols: 12,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
@ -1010,7 +1007,10 @@ const myDetail = [
|
|||||||
valueNm: 'alrmLolo',
|
valueNm: 'alrmLolo',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pl-4 pt-5',
|
||||||
|
iconShow: true,
|
||||||
|
labelCols: 12,
|
||||||
|
textCols: 12,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'CheckBox',
|
type: 'CheckBox',
|
||||||
@ -1018,8 +1018,11 @@ const myDetail = [
|
|||||||
valueNm: 'totFg',
|
valueNm: 'totFg',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pr-4 pt-5',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
|
iconShow: true,
|
||||||
|
labelCols: 12,
|
||||||
|
textCols: 12,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'CheckBox',
|
type: 'CheckBox',
|
||||||
@ -1027,9 +1030,12 @@ const myDetail = [
|
|||||||
valueNm: 'useFg',
|
valueNm: 'useFg',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pl-4 pt-5',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
required: false,
|
required: false,
|
||||||
|
iconShow: true,
|
||||||
|
labelCols: 12,
|
||||||
|
textCols: 12,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'SelectBox',
|
type: 'SelectBox',
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<PageTitle/>
|
<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">
|
||||||
@ -58,7 +58,7 @@
|
|||||||
@sendSelectedRowStatInfo="getSelectedRowStatInfo" :selectedRowDataWatchFlag="true" />
|
@sendSelectedRowStatInfo="getSelectedRowStatInfo" :selectedRowDataWatchFlag="true" />
|
||||||
</div>
|
</div>
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
<!-- <div class="d-flex align-center justify-space-between">
|
<div class="d-flex align-center justify-space-between">
|
||||||
<pagination
|
<pagination
|
||||||
id="pagination"
|
id="pagination"
|
||||||
:total-count="totalCount"
|
:total-count="totalCount"
|
||||||
@ -66,10 +66,10 @@
|
|||||||
:limit="limit"
|
:limit="limit"
|
||||||
@loadData="changeGrid"
|
@loadData="changeGrid"
|
||||||
/>
|
/>
|
||||||
</div> -->
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="7" class="h100">
|
<v-col :cols="7" class="">
|
||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<v-card-title>TAG 상세</v-card-title>
|
<v-card-title>TAG 상세</v-card-title>
|
||||||
<div class="px-5" style="height:calc(100% - 70px)">
|
<div class="px-5" style="height:calc(100% - 70px)">
|
||||||
@ -107,7 +107,6 @@ import TagAddInfoTab from '@/components/pages/ems/TagInfo/TagAddInfoTab';
|
|||||||
import Grid from '~/components/common/Grid';
|
import Grid from '~/components/common/Grid';
|
||||||
import Utility from '~/plugins/utility';
|
import Utility from '~/plugins/utility';
|
||||||
import pagination from '~/components/Pagination';
|
import pagination from '~/components/Pagination';
|
||||||
import PageTitle from "~/components/common/PageTitle";
|
|
||||||
|
|
||||||
let myTitle;
|
let myTitle;
|
||||||
// const myPrgmId = "PRG0051";
|
// const myPrgmId = "PRG0051";
|
||||||
@ -140,13 +139,12 @@ export default {
|
|||||||
TagAddInfoTab,
|
TagAddInfoTab,
|
||||||
Grid,
|
Grid,
|
||||||
pagination,
|
pagination,
|
||||||
PageTitle
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
myPrgmId: myPrgmId,
|
myPrgmId: myPrgmId,
|
||||||
gridName: 'rowGrid',
|
gridName: 'rowGrid',
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
tab: null,
|
tab: null,
|
||||||
items: [
|
items: [
|
||||||
{ name: 'TAG 정보', id: 'tagBaseInfoTab', disabledFlag: false },
|
{ name: 'TAG 정보', id: 'tagBaseInfoTab', disabledFlag: false },
|
||||||
@ -275,16 +273,12 @@ export default {
|
|||||||
this.gridInit();
|
this.gridInit();
|
||||||
},
|
},
|
||||||
gridInit() {
|
gridInit() {
|
||||||
const gridHeight = this.$refs.gridParent.offsetHeight - 180;
|
const gridHeight = this.$refs.gridParent.offsetHeight - 16;
|
||||||
|
|
||||||
const myOptions = {
|
const myOptions = {
|
||||||
columnOptions: {
|
columnOptions: {
|
||||||
resizable: true,
|
resizable: true,
|
||||||
},
|
},
|
||||||
pageOptions: {
|
|
||||||
useClient: true,
|
|
||||||
perPage: 10,
|
|
||||||
},
|
|
||||||
scrollX: true,
|
scrollX: true,
|
||||||
header: {
|
header: {
|
||||||
height: 38,
|
height: 38,
|
||||||
@ -527,16 +521,16 @@ export default {
|
|||||||
//rowKey: 0,
|
//rowKey: 0,
|
||||||
rowKey:
|
rowKey:
|
||||||
this.pageData.rowGridSelectKey == '' ||
|
this.pageData.rowGridSelectKey == '' ||
|
||||||
this.pageData.rowGridSelectKey == null
|
this.pageData.rowGridSelectKey == null
|
||||||
? 0
|
? 0
|
||||||
: this.pageData.rowGridSelectKey ==
|
: this.pageData.rowGridSelectKey ==
|
||||||
this.$refs[this.gridName].getData().length - 1
|
this.$refs[this.gridName].getData().length - 1
|
||||||
? this.pageData.rowGridSelectKey
|
? this.pageData.rowGridSelectKey
|
||||||
: 0,
|
: 0,
|
||||||
columnName: 'tagId',
|
columnName: 'tagId',
|
||||||
setScroll: true,
|
setScroll: true,
|
||||||
});
|
});
|
||||||
} catch (error) { }
|
} catch (error) {}
|
||||||
// this.$refs[this.gridName].focus({
|
// this.$refs[this.gridName].focus({
|
||||||
// rowKey: 0,
|
// rowKey: 0,
|
||||||
// columnName: "tagId",
|
// columnName: "tagId",
|
||||||
@ -773,7 +767,7 @@ export default {
|
|||||||
gridEditingFinish(data) {
|
gridEditingFinish(data) {
|
||||||
this.$refs[this.gridName].editingFinish(data);
|
this.$refs[this.gridName].editingFinish(data);
|
||||||
},
|
},
|
||||||
changeGrid: async function (pageNum, limit) {
|
changeGrid: async function(pageNum, limit) {
|
||||||
this.page = pageNum;
|
this.page = pageNum;
|
||||||
this.limit = limit;
|
this.limit = limit;
|
||||||
|
|
||||||
@ -817,9 +811,9 @@ function isValidAlrmVal(obj) {
|
|||||||
if (Number(obj[keyList[i]]) >= Number(obj[keyList[j]])) {
|
if (Number(obj[keyList[i]]) >= Number(obj[keyList[j]])) {
|
||||||
alert(
|
alert(
|
||||||
nameList[j] +
|
nameList[j] +
|
||||||
'값은 ' +
|
'값은 ' +
|
||||||
nameList[i] +
|
nameList[i] +
|
||||||
'값보다 큰 숫자를 입력해야 합니다.',
|
'값보다 큰 숫자를 입력해야 합니다.',
|
||||||
);
|
);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<v-row ref="searchFilter">
|
<common-page-title />
|
||||||
|
<v-row ref="searchFilter" class="mt-2">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row align="center" no-gutters>
|
<v-row align="center" no-gutters>
|
||||||
@ -555,7 +556,7 @@ export default {
|
|||||||
header: {
|
header: {
|
||||||
height: 37,
|
height: 37,
|
||||||
},
|
},
|
||||||
rowHeight: 'auto',
|
rowHeight: 37,
|
||||||
|
|
||||||
|
|
||||||
// pageOptions: {
|
// pageOptions: {
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="mainDiv" class="l-layout">
|
<div ref="mainDiv" class="l-layout">
|
||||||
<PageTitle text="냉동기" />
|
<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">
|
||||||
@ -180,7 +180,7 @@ export default {
|
|||||||
contentData: {},
|
contentData: {},
|
||||||
loadChart: false,
|
loadChart: false,
|
||||||
|
|
||||||
testFlag: true,
|
testFlag: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -270,15 +270,14 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async getEnrgUseTotSummData() {
|
async getEnrgUseTotSummData() {
|
||||||
// var res = await this.postApiReturn({
|
var res = await this.postApiReturn({
|
||||||
// apiKey: "selectEnrgUseTotSumm",
|
apiKey: "selectEnrgUseTotSumm",
|
||||||
// resKey: "data",
|
resKey: "data",
|
||||||
// sendParam: {
|
sendParam: {
|
||||||
// fromDt: this.pageData.fromDt,
|
fromDt: this.pageData.fromDt,
|
||||||
// eqpmKind: this.selectValue01,
|
eqpmKind: this.selectValue01,
|
||||||
// },
|
},
|
||||||
// });
|
});
|
||||||
let res = [];
|
|
||||||
|
|
||||||
if (this.testFlag == true) {
|
if (this.testFlag == true) {
|
||||||
res = [
|
res = [
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<v-avatar size="12" :style="{ backgroundColor: 'currentColor' }"></v-avatar>
|
<v-avatar size="12" :style="{ backgroundColor: 'currentColor' }"></v-avatar>
|
||||||
에너지 사용량 실적
|
에너지 사용량 실적
|
||||||
</h1> -->
|
</h1> -->
|
||||||
<PageTitle text="에너지 사용량 실적" />
|
<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">
|
||||||
@ -255,9 +255,8 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async init() {
|
async init() {
|
||||||
// await this.getSelectValueList();
|
await this.getSelectValueList();
|
||||||
|
await this.setQueryParams();
|
||||||
// await this.setQueryParams();
|
|
||||||
this.gridInit();
|
this.gridInit();
|
||||||
await this.getGridData();
|
await this.getGridData();
|
||||||
|
|
||||||
@ -488,131 +487,41 @@ export default {
|
|||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
this.enrgUseMainIdxDesc = [];
|
this.enrgUseMainIdxDesc = [];
|
||||||
var apiKey = null;
|
var apiKey = 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,
|
||||||
// };
|
};
|
||||||
|
|
||||||
// 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";
|
||||||
// } else if (this.pageData.cmCycle == "CYC_MONTH") {
|
} else if (this.pageData.cmCycle == "CYC_MONTH") {
|
||||||
// apiKey = "selectMonthlyEnrgUseMainIdx";
|
apiKey = "selectMonthlyEnrgUseMainIdx";
|
||||||
// }
|
}
|
||||||
|
|
||||||
// var res = await this.postApiReturn({
|
var res = await this.postApiReturn({
|
||||||
// apiKey: apiKey,
|
apiKey: apiKey,
|
||||||
// resKey: "eqpmIndMntrData",
|
resKey: "eqpmIndMntrData",
|
||||||
// sendParam: params,
|
sendParam: params,
|
||||||
// });
|
});
|
||||||
|
|
||||||
// this.enrgUseMainIdxDesc = await this.postApiReturn({
|
this.enrgUseMainIdxDesc = await this.postApiReturn({
|
||||||
// apiKey: "selectEnrgUseMainIdxDesc",
|
apiKey: "selectEnrgUseMainIdxDesc",
|
||||||
// resKey: "eqpmIndMntrData",
|
resKey: "eqpmIndMntrData",
|
||||||
// sendParam: {
|
sendParam: {
|
||||||
// eqpmGrpId: this.selectValue03,
|
eqpmGrpId: this.selectValue03,
|
||||||
// },
|
|
||||||
// });
|
|
||||||
|
|
||||||
var newRes = [
|
|
||||||
{
|
|
||||||
no: 1,
|
|
||||||
fabId: "FAB001",
|
|
||||||
fabNm: "서울FAB",
|
|
||||||
eqpmGrpId: "GRP01",
|
|
||||||
eqpmGrpNm: "조립라인",
|
|
||||||
eqpmId: "EQ001",
|
|
||||||
eqpmNm: "설비A",
|
|
||||||
planVal: 1000,
|
|
||||||
usedVal: 950,
|
|
||||||
effcRt: "95%",
|
|
||||||
gd01: 88,
|
|
||||||
gd02: 90,
|
|
||||||
gd03: 85,
|
|
||||||
gd04: 87,
|
|
||||||
gd05: 89,
|
|
||||||
gd06: 86,
|
|
||||||
gd07: 90,
|
|
||||||
gd08: 88,
|
|
||||||
gd09: 87,
|
|
||||||
gd10: 89,
|
|
||||||
},
|
},
|
||||||
{
|
});
|
||||||
no: 2,
|
|
||||||
fabId: "FAB002",
|
|
||||||
fabNm: "부산FAB",
|
|
||||||
eqpmGrpId: "GRP02",
|
|
||||||
eqpmGrpNm: "검사라인",
|
|
||||||
eqpmId: "EQ002",
|
|
||||||
eqpmNm: "설비B",
|
|
||||||
planVal: 1200,
|
|
||||||
usedVal: 1100,
|
|
||||||
effcRt: "91.7%",
|
|
||||||
gd01: 85,
|
|
||||||
gd02: 84,
|
|
||||||
gd03: 86,
|
|
||||||
gd04: 83,
|
|
||||||
gd05: 82,
|
|
||||||
gd06: 84,
|
|
||||||
gd07: 85,
|
|
||||||
gd08: 86,
|
|
||||||
gd09: 87,
|
|
||||||
gd10: 88,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
no: 3,
|
|
||||||
fabId: "FAB003",
|
|
||||||
fabNm: "대전FAB",
|
|
||||||
eqpmGrpId: "GRP03",
|
|
||||||
eqpmGrpNm: "포장라인",
|
|
||||||
eqpmId: "EQ003",
|
|
||||||
eqpmNm: "설비C",
|
|
||||||
planVal: 900,
|
|
||||||
usedVal: 870,
|
|
||||||
effcRt: "96.7%",
|
|
||||||
gd01: 90,
|
|
||||||
gd02: 91,
|
|
||||||
gd03: 89,
|
|
||||||
gd04: 88,
|
|
||||||
gd05: 90,
|
|
||||||
gd06: 91,
|
|
||||||
gd07: 92,
|
|
||||||
gd08: 90,
|
|
||||||
gd09: 89,
|
|
||||||
gd10: 91,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
no: 4,
|
|
||||||
fabId: "FAB004",
|
|
||||||
fabNm: "광주FAB",
|
|
||||||
eqpmGrpId: "GRP04",
|
|
||||||
eqpmGrpNm: "테스트라인",
|
|
||||||
eqpmId: "EQ004",
|
|
||||||
eqpmNm: "설비D",
|
|
||||||
planVal: 1100,
|
|
||||||
usedVal: 1050,
|
|
||||||
effcRt: "95.5%",
|
|
||||||
gd01: 87,
|
|
||||||
gd02: 88,
|
|
||||||
gd03: 86,
|
|
||||||
gd04: 85,
|
|
||||||
gd05: 86,
|
|
||||||
gd06: 87,
|
|
||||||
gd07: 88,
|
|
||||||
gd08: 89,
|
|
||||||
gd09: 90,
|
|
||||||
gd10: 91,
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
// for (var i = 0; i < res.length; i++) {
|
var newRes = [];
|
||||||
// newRes.push({
|
for (var i = 0; i < res.length; i++) {
|
||||||
// ...res[i],
|
newRes.push({
|
||||||
// no: i + 1,
|
...res[i],
|
||||||
// });
|
no: i + 1,
|
||||||
// }
|
});
|
||||||
|
}
|
||||||
|
|
||||||
this.setGridData({
|
this.setGridData({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
@ -752,141 +661,9 @@ const defaultData = {
|
|||||||
},
|
},
|
||||||
fromDt: Utility.setFormatDate(new Date(), "YYYYMM"), // 조회 시작일
|
fromDt: Utility.setFormatDate(new Date(), "YYYYMM"), // 조회 시작일
|
||||||
grid01: {
|
grid01: {
|
||||||
data: [
|
data: [],
|
||||||
{
|
column: [],
|
||||||
no: 1,
|
option: {},
|
||||||
fabId: "FAB001",
|
|
||||||
fabNm: "서울FAB",
|
|
||||||
eqpmGrpId: "GRP01",
|
|
||||||
eqpmGrpNm: "조립라인",
|
|
||||||
eqpmId: "EQ001",
|
|
||||||
eqpmNm: "설비A",
|
|
||||||
planVal: 1000,
|
|
||||||
usedVal: 950,
|
|
||||||
effcRt: "95%",
|
|
||||||
gd01: 88,
|
|
||||||
gd02: 90,
|
|
||||||
gd03: 85,
|
|
||||||
gd04: 87,
|
|
||||||
gd05: 89,
|
|
||||||
gd06: 86,
|
|
||||||
gd07: 90,
|
|
||||||
gd08: 88,
|
|
||||||
gd09: 87,
|
|
||||||
gd10: 89,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
no: 2,
|
|
||||||
fabId: "FAB002",
|
|
||||||
fabNm: "부산FAB",
|
|
||||||
eqpmGrpId: "GRP02",
|
|
||||||
eqpmGrpNm: "검사라인",
|
|
||||||
eqpmId: "EQ002",
|
|
||||||
eqpmNm: "설비B",
|
|
||||||
planVal: 1200,
|
|
||||||
usedVal: 1100,
|
|
||||||
effcRt: "91.7%",
|
|
||||||
gd01: 85,
|
|
||||||
gd02: 84,
|
|
||||||
gd03: 86,
|
|
||||||
gd04: 83,
|
|
||||||
gd05: 82,
|
|
||||||
gd06: 84,
|
|
||||||
gd07: 85,
|
|
||||||
gd08: 86,
|
|
||||||
gd09: 87,
|
|
||||||
gd10: 88,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
no: 3,
|
|
||||||
fabId: "FAB003",
|
|
||||||
fabNm: "대전FAB",
|
|
||||||
eqpmGrpId: "GRP03",
|
|
||||||
eqpmGrpNm: "포장라인",
|
|
||||||
eqpmId: "EQ003",
|
|
||||||
eqpmNm: "설비C",
|
|
||||||
planVal: 900,
|
|
||||||
usedVal: 870,
|
|
||||||
effcRt: "96.7%",
|
|
||||||
gd01: 90,
|
|
||||||
gd02: 91,
|
|
||||||
gd03: 89,
|
|
||||||
gd04: 88,
|
|
||||||
gd05: 90,
|
|
||||||
gd06: 91,
|
|
||||||
gd07: 92,
|
|
||||||
gd08: 90,
|
|
||||||
gd09: 89,
|
|
||||||
gd10: 91,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
no: 4,
|
|
||||||
fabId: "FAB004",
|
|
||||||
fabNm: "광주FAB",
|
|
||||||
eqpmGrpId: "GRP04",
|
|
||||||
eqpmGrpNm: "테스트라인",
|
|
||||||
eqpmId: "EQ004",
|
|
||||||
eqpmNm: "설비D",
|
|
||||||
planVal: 1100,
|
|
||||||
usedVal: 1050,
|
|
||||||
effcRt: "95.5%",
|
|
||||||
gd01: 87,
|
|
||||||
gd02: 88,
|
|
||||||
gd03: 86,
|
|
||||||
gd04: 85,
|
|
||||||
gd05: 86,
|
|
||||||
gd06: 87,
|
|
||||||
gd07: 88,
|
|
||||||
gd08: 89,
|
|
||||||
gd09: 90,
|
|
||||||
gd10: 91,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
column: [
|
|
||||||
{ header: "NO", name: "no", align: "center" },
|
|
||||||
{ header: "fabId", name: "fabId", hidden: true },
|
|
||||||
{ header: "FAB", name: "fabNm", align: "left" },
|
|
||||||
{ header: "eqpmGrpId", name: "eqpmGrpId", hidden: true },
|
|
||||||
{ header: "설비그룹", name: "eqpmGrpNm", align: "left" },
|
|
||||||
{ header: "eqpmId", name: "eqpmId", hidden: true },
|
|
||||||
{ header: "설비명", name: "eqpmNm", align: "left" },
|
|
||||||
{ header: "계획량", name: "planVal", align: "right" },
|
|
||||||
{ header: "사용량", name: "usedVal", align: "right" },
|
|
||||||
{ header: "KPI", name: "effcRt", align: "right" },
|
|
||||||
{ header: "지표1", name: "gd01", align: "right" },
|
|
||||||
{ header: "지표2", name: "gd02", align: "right" },
|
|
||||||
{ header: "지표3", name: "gd03", align: "right" },
|
|
||||||
{ header: "지표4", name: "gd04", align: "right" },
|
|
||||||
{ header: "지표5", name: "gd05", align: "right" },
|
|
||||||
{ header: "지표6", name: "gd06", align: "right" },
|
|
||||||
{ header: "지표7", name: "gd07", align: "right" },
|
|
||||||
{ header: "지표8", name: "gd08", align: "right" },
|
|
||||||
{ header: "지표9", name: "gd09", align: "right" },
|
|
||||||
{ header: "지표10", name: "gd10", align: "right" },
|
|
||||||
],
|
|
||||||
option: {
|
|
||||||
header: {
|
|
||||||
height: 65,
|
|
||||||
complexColumns: [
|
|
||||||
{
|
|
||||||
header: "주요지표",
|
|
||||||
name: "complexColumn01",
|
|
||||||
childNames: [
|
|
||||||
"gd01",
|
|
||||||
"gd02",
|
|
||||||
"gd03",
|
|
||||||
"gd04",
|
|
||||||
"gd05",
|
|
||||||
"gd06",
|
|
||||||
"gd07",
|
|
||||||
"gd08",
|
|
||||||
"gd09",
|
|
||||||
"gd10",
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -253,8 +253,9 @@ export class NewCustomRenderer {
|
|||||||
} else {
|
} else {
|
||||||
el.type = 'text';
|
el.type = 'text';
|
||||||
|
|
||||||
$(el).addClass('tui-grid-cell-content');
|
$(el).addClass('tui-grid-cell-content w100');
|
||||||
$(el).css('text-align', 'center');
|
$(el).css('text-align', 'center');
|
||||||
|
$(el).css('border', '0');
|
||||||
}
|
}
|
||||||
this.render(props);
|
this.render(props);
|
||||||
if(!this.disabled){
|
if(!this.disabled){
|
||||||
@ -314,6 +315,8 @@ export class NewCustomEditor {
|
|||||||
this.rowKey = rowKey;
|
this.rowKey = rowKey;
|
||||||
this.columnInfo = columnInfo;
|
this.columnInfo = columnInfo;
|
||||||
this.grid = grid;
|
this.grid = grid;
|
||||||
|
const divEl = document.createElement('div');
|
||||||
|
$(divEl).css('text-align', 'center');
|
||||||
const el = document.createElement('input');
|
const el = document.createElement('input');
|
||||||
if (
|
if (
|
||||||
props.grid.store.data.rawData[props.rowKey].addInfoDataKind == 'FG'
|
props.grid.store.data.rawData[props.rowKey].addInfoDataKind == 'FG'
|
||||||
@ -364,15 +367,19 @@ export class NewCustomEditor {
|
|||||||
$(el).addClass('tui-grid-content-text');
|
$(el).addClass('tui-grid-content-text');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
divEl.append(el);
|
||||||
|
|
||||||
// console.log('props: %o', props);
|
// console.log('props: %o', props);
|
||||||
// console.log('el: %o', el);
|
// console.log('el: %o', el);
|
||||||
this.el = el;
|
this.el = el;
|
||||||
|
this.divEl = divEl;
|
||||||
|
|
||||||
this.render(props);
|
this.render(props);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getElement() {
|
getElement() {
|
||||||
return this.el;
|
return this.divEl;
|
||||||
}
|
}
|
||||||
|
|
||||||
getValue() {
|
getValue() {
|
||||||
@ -389,9 +396,9 @@ export class NewCustomEditor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
if (this.el.type == 'checkbox') {
|
// if (this.el.type == 'checkbox') {
|
||||||
$(this.el.parentElement).css('text-align', 'center');
|
// $(this.el.parentElement).css('text-align', 'center');
|
||||||
}
|
// }
|
||||||
this.el.select();
|
this.el.select();
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -669,7 +669,8 @@ const INIT_URL_STATE = {
|
|||||||
// prgmId : PRG0052 과거 검침 데이터 조회
|
// prgmId : PRG0052 과거 검침 데이터 조회
|
||||||
selectTagRawDataByQuarter:
|
selectTagRawDataByQuarter:
|
||||||
'ems/base/PastRsltDataReadCtr/selectTagRawDataByQuarter',
|
'ems/base/PastRsltDataReadCtr/selectTagRawDataByQuarter',
|
||||||
|
selectTagRawDataByQuarterPageTotal:
|
||||||
|
'ems/base/PastRsltDataReadCtr/selectTagRawDataByQuarterPageTotal',
|
||||||
// prgmId : PRG4107 개인화 대시보드
|
// prgmId : PRG4107 개인화 대시보드
|
||||||
selectIndvWidgetList: 'ems/base/DashboardHfemsCtr/selectIndvWidgetList',
|
selectIndvWidgetList: 'ems/base/DashboardHfemsCtr/selectIndvWidgetList',
|
||||||
selectEnergyUseReadHourAddup:
|
selectEnergyUseReadHourAddup:
|
||||||
|
Reference in New Issue
Block a user