Compare commits
14 Commits
dev-luannv
...
dev-dungtv
Author | SHA1 | Date | |
---|---|---|---|
a7968774c3 | |||
195c48ff25 | |||
7bca077859 | |||
6dfda50ebd | |||
df678daedf | |||
06308055ef | |||
1284d5b14f | |||
cd7a6362a5 | |||
39cb5d2883 | |||
dcdcf772ce | |||
40addfe639 | |||
238fdb5fc5 | |||
bfe206a2bf | |||
a6e8e6cf86 |
@ -266,7 +266,7 @@ a {
|
||||
}
|
||||
|
||||
&>.v-treeview-node__root:hover:before {
|
||||
opacity: 1 !important;
|
||||
opacity: 0 !important;
|
||||
}
|
||||
|
||||
.v-treeview-node__children {
|
||||
@ -280,13 +280,17 @@ a {
|
||||
|
||||
.v-treeview-node--click[aria-expanded="true"] {
|
||||
&>.v-treeview-node__root:before {
|
||||
opacity: 1 !important;
|
||||
opacity: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.v-treeview-node[aria-expanded="true"] {
|
||||
&>.v-treeview-node__root>.v-treeview-node__content>.v-treeview-node__label>button>.v-icon.mdi-chevron-down {
|
||||
transform: rotate(-180deg);
|
||||
&>.v-treeview-node__root>.v-treeview-node__content
|
||||
>.v-treeview-node__label>button {
|
||||
>.anticon,
|
||||
>.v-icon.mdi-chevron-down {
|
||||
transform: rotate(-180deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -298,15 +302,17 @@ a {
|
||||
// justify-content: center;
|
||||
}
|
||||
|
||||
& .anticon,
|
||||
& .v-icon.mdi-chevron-down {
|
||||
margin-left: auto;
|
||||
animation-duration: 0.5s;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.v-treeview-node--active {
|
||||
&:before {
|
||||
opacity: 1 !important;
|
||||
opacity: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
@ -322,7 +328,8 @@ a {
|
||||
.v-treeview-node__content span:not(.v-icon),
|
||||
.v-treeview-node__root>button,
|
||||
.v-treeview-node__level,
|
||||
.v-treeview-node__content .v-icon.mdi-chevron-down {
|
||||
.v-treeview-node__content .v-icon.mdi-chevron-down,
|
||||
.v-treeview-node__content .anticon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@ -615,36 +622,36 @@ a {
|
||||
|
||||
.v-navigation-drawer__append {
|
||||
>p {
|
||||
@if $theme ==dark {
|
||||
color: rgba(255, 255, 255, 0.6);
|
||||
}
|
||||
color: map-deep-get($config, #{$theme}, "v-banner-border-color" ) !important;
|
||||
// @if $theme ==dark {
|
||||
// color: rgba(255, 255, 255, 0.6);
|
||||
// }
|
||||
|
||||
@else {
|
||||
color: #999;
|
||||
}
|
||||
// @else {
|
||||
// color: #999;
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
.v-footer {
|
||||
@if $theme ==light {
|
||||
background-color: #dfdfe5;
|
||||
color: #767d83;
|
||||
}
|
||||
}
|
||||
// .v-footer {
|
||||
// @if $theme ==light {
|
||||
// background-color: #dfdfe5;
|
||||
// color: #767d83;
|
||||
// }
|
||||
// }
|
||||
|
||||
.bd {
|
||||
@if $theme ==dark {
|
||||
&-r-1 {
|
||||
border-right: 1px #373f45 solid;
|
||||
}
|
||||
}
|
||||
|
||||
@else {
|
||||
&-r-1 {
|
||||
border-right: 1px #efefef solid;
|
||||
}
|
||||
}
|
||||
}
|
||||
// .bd {
|
||||
// @if $theme ==dark {
|
||||
// &-r-1 {
|
||||
// border-right: 1px #373f45 solid;
|
||||
// }
|
||||
// }
|
||||
// @else {
|
||||
// &-r-1 {
|
||||
// border-right: 1px #efefef solid;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
.border-bottom-1 {
|
||||
border-bottom: 1px solid map-deep-get($config, #{$theme}, "border-color");
|
||||
@ -692,256 +699,224 @@ a {
|
||||
}
|
||||
|
||||
&>.v-treeview-node {
|
||||
&>.v-treeview-node__root {
|
||||
&:before {
|
||||
background-color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-root-backgroundColor"
|
||||
);
|
||||
}
|
||||
|
||||
&>.v-treeview-node__content {
|
||||
.v-treeview-node__label {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-root-label-color"
|
||||
);
|
||||
}
|
||||
|
||||
.v-icon {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-root-icon-color"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
.v-treeview-node__root {
|
||||
border-radius: 8px;
|
||||
&:hover {
|
||||
&>.v-treeview-node__content {
|
||||
.v-treeview-node__label {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-root-label-active-color"
|
||||
);
|
||||
}
|
||||
|
||||
.v-icon {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-root-icon-active-color"
|
||||
);
|
||||
}
|
||||
}
|
||||
background-color: map-deep-get($config, #{$theme}, "v-calendar-weekday-border-color" );
|
||||
}
|
||||
}
|
||||
|
||||
&>.v-treeview-node__children {
|
||||
&>.v-treeview-node {
|
||||
&>.v-treeview-node__root {
|
||||
&:before {
|
||||
background-color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-subroot-backgroundColor"
|
||||
);
|
||||
}
|
||||
|
||||
&>.v-treeview-node__content {
|
||||
.v-treeview-node__label {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-label-color"
|
||||
);
|
||||
}
|
||||
|
||||
.v-icon {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-icon-color"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
&:not(.v-treeview-node--active):hover {
|
||||
&:before {
|
||||
background-color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-leaf-active-backgroundColor"
|
||||
);
|
||||
}
|
||||
|
||||
&>.v-treeview-node__content {
|
||||
.v-treeview-node__label {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-leaf-active-color"
|
||||
);
|
||||
}
|
||||
|
||||
.v-icon {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-leaf-active-color"
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&>.v-treeview-node__children {
|
||||
background-color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-leaf-subchildren-backgroundColor"
|
||||
);
|
||||
}
|
||||
|
||||
&>.v-treeview-node--active {
|
||||
&:before {
|
||||
background-color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-subroot-backgroundColor"
|
||||
);
|
||||
}
|
||||
|
||||
&>.v-treeview-node__content {
|
||||
.v-treeview-node__label {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-label-active-color"
|
||||
);
|
||||
}
|
||||
|
||||
.v-icon {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-icon-active-color"
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&>.v-treeview-node__children {
|
||||
& .v-treeview-node {
|
||||
&>.v-treeview-node__root {
|
||||
&:before {
|
||||
background-color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-subroot-backgroundColor"
|
||||
);
|
||||
}
|
||||
|
||||
&>.v-treeview-node__content {
|
||||
.v-treeview-node__label {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-label-color"
|
||||
);
|
||||
}
|
||||
|
||||
.v-icon {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-icon-color"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
&:not(.v-treeview-node--active):hover {
|
||||
&:before {
|
||||
background-color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-leaf-active-backgroundColor"
|
||||
);
|
||||
}
|
||||
|
||||
&>.v-treeview-node__content {
|
||||
.v-treeview-node__label {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-leaf-active-color"
|
||||
);
|
||||
}
|
||||
|
||||
.v-icon {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-leaf-active-color"
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&>.v-treeview-node--active {
|
||||
background-color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-label-active-bg"
|
||||
);
|
||||
border: 1px solid map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-label-active-border"
|
||||
);
|
||||
border-radius: 8px;
|
||||
|
||||
&:before {
|
||||
opacity: 0 !important;
|
||||
}
|
||||
|
||||
&>.v-treeview-node__content {
|
||||
.v-treeview-node__label {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-label-active-color"
|
||||
);
|
||||
}
|
||||
|
||||
.v-icon {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-label-active-color"
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&[aria-expanded="true"] {
|
||||
& .v-treeview-node__root>.v-treeview-node__content {
|
||||
.v-treeview-node__label {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-label-children-color"
|
||||
);
|
||||
}
|
||||
|
||||
.v-icon {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-icon-active-color"
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&[aria-expanded="true"] {
|
||||
& .v-treeview-node__root>.v-treeview-node__content {
|
||||
.v-treeview-node__content {
|
||||
.v-treeview-node__label {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-root-label-active-color"
|
||||
);
|
||||
}
|
||||
|
||||
.v-icon {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-treeview-node-root-icon-active-color"
|
||||
);
|
||||
color: map-deep-get($config, #{$theme}, "tui-grid-title-color");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&[aria-expanded="true"]{
|
||||
|
||||
// Level 1
|
||||
&>.v-treeview-node__root {
|
||||
background-color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-bg" );
|
||||
border: 1px solid map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border" );
|
||||
color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border");
|
||||
|
||||
&:before {
|
||||
background-color: map-deep-get($config, #{$theme}, "v-treeview-node-subroot-backgroundColor");
|
||||
}
|
||||
|
||||
.v-treeview-node__content {
|
||||
.v-treeview-node__label {
|
||||
color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border");
|
||||
}
|
||||
|
||||
.v-icon:first-child,
|
||||
.v-icon:first-child::before {
|
||||
color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&>.v-treeview-node__children {
|
||||
// Level 2
|
||||
.v-treeview-node__root {
|
||||
color: map-deep-get($config, #{$theme}, "v-treeview-node-root-label-color");
|
||||
&:hover {
|
||||
background-color: map-deep-get($config, #{$theme}, "v-calendar-weekday-backgroundColor");
|
||||
}
|
||||
}
|
||||
&>[aria-expanded="true"] >.v-treeview-node__root,
|
||||
.v-treeview-node__root.v-treeview-node--active {
|
||||
background-color: map-deep-get($config, #{$theme}, "v-calendar-day-in-not-month-color" );
|
||||
.v-treeview-node__content {
|
||||
.v-treeview-node__label {
|
||||
color: map-deep-get($config, #{$theme}, "card-title-color");
|
||||
}
|
||||
|
||||
.v-icon,
|
||||
.v-icon::before,
|
||||
.anticon {
|
||||
color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Level 3
|
||||
.v-treeview-node__children {
|
||||
.v-treeview-node {
|
||||
>.v-treeview-node__root {
|
||||
.v-treeview-node__content {
|
||||
.v-treeview-node__label {
|
||||
color: map-deep-get($config, #{$theme}, "card-default-color");
|
||||
}
|
||||
}
|
||||
|
||||
*:hover,
|
||||
:hover {
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
border: 1px solid map-deep-get($config, #{$theme}, "v-input-textarea-border");
|
||||
border-radius: 8px;
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
.v-treeview-node__content {
|
||||
.v-treeview-node__label {
|
||||
color: map-deep-get($config, #{$theme}, "tui-grid-title-color");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
&.v-treeview-node--active {
|
||||
// color: map-deep-get($config, #{$theme}, "card-title-color");
|
||||
background-color: rgba(0, 0, 0, 0);
|
||||
.v-treeview-node__content {
|
||||
.v-treeview-node__label {
|
||||
color: map-deep-get($config, #{$theme}, "tui-grid-title-color");
|
||||
}
|
||||
|
||||
.v-icon,
|
||||
.v-icon::before,
|
||||
.anticon {
|
||||
color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// &>.v-treeview-node__root {
|
||||
// &:before {
|
||||
// background-color: map-deep-get($config, #{$theme}, "v-treeview-node-root-backgroundColor" );
|
||||
// }
|
||||
|
||||
// &>.v-treeview-node__content {
|
||||
// .v-treeview-node__label {
|
||||
// color: map-deep-get($config, #{$theme}, "v-treeview-node-root-label-color");
|
||||
// }
|
||||
// }
|
||||
|
||||
// &:hover {
|
||||
// &>.v-treeview-node__content {
|
||||
// .v-treeview-node__label {
|
||||
// color: map-deep-get($config,
|
||||
// #{$theme},
|
||||
// "v-treeview-node-root-label-active-color"
|
||||
// );
|
||||
// }
|
||||
|
||||
// .v-icon {
|
||||
// color: map-deep-get($config,
|
||||
// #{$theme},
|
||||
// "v-treeview-node-root-icon-active-color"
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// &>.v-treeview-node__children {
|
||||
// &>.v-treeview-node {
|
||||
|
||||
// &>.v-treeview-node__root {
|
||||
// &:before {
|
||||
// background-color: map-deep-get($config,
|
||||
// #{$theme},
|
||||
// "v-treeview-node-subroot-backgroundColor"
|
||||
// );
|
||||
// }
|
||||
|
||||
// &>.v-treeview-node__content {
|
||||
// .v-treeview-node__label {
|
||||
// color: map-deep-get($config, #{$theme}, "v-treeview-node-label-color" );
|
||||
// }
|
||||
|
||||
// .v-icon {
|
||||
// color: map-deep-get($config, #{$theme}, "v-treeview-icon-color" );
|
||||
// }
|
||||
// }
|
||||
|
||||
// &:not(.v-treeview-node--active):hover {
|
||||
// &:before {
|
||||
// background-color: map-deep-get($config,
|
||||
// #{$theme},
|
||||
// "v-treeview-leaf-active-backgroundColor"
|
||||
// );
|
||||
// }
|
||||
|
||||
// &>.v-treeview-node__content {
|
||||
// .v-treeview-node__label {
|
||||
// color: map-deep-get($config,
|
||||
// #{$theme},
|
||||
// "v-treeview-leaf-active-color"
|
||||
// );
|
||||
// }
|
||||
|
||||
// .v-icon {
|
||||
// color: map-deep-get($config,
|
||||
// #{$theme},
|
||||
// "v-treeview-leaf-active-color"
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// &>.v-treeview-node__children {
|
||||
// // background-color: map-deep-get($config,
|
||||
// // #{$theme},
|
||||
// // "v-treeview-leaf-subchildren-backgroundColor"
|
||||
// // );
|
||||
// }
|
||||
|
||||
// // &[aria-expanded="true"] {
|
||||
// // & .v-treeview-node__root>.v-treeview-node__content {
|
||||
// // .v-treeview-node__label {
|
||||
// // color: map-deep-get($config,
|
||||
// // #{$theme},
|
||||
// // "v-treeview-node-label-children-color"
|
||||
// // );
|
||||
// // }
|
||||
|
||||
// // .v-icon {
|
||||
// // color: map-deep-get($config,
|
||||
// // #{$theme},
|
||||
// // "v-treeview-icon-active-color"
|
||||
// // );
|
||||
// // }
|
||||
// // }
|
||||
// // }
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4,12 +4,12 @@
|
||||
:data="chkGridData"
|
||||
:columns="chkGridColumns"
|
||||
:options="chkGridOptions"
|
||||
@mousedown="onMousedown"
|
||||
@click="startEditing"
|
||||
@editingFinish="editingFinish"
|
||||
@dblclick="dblClick"
|
||||
@mouseover="mouseoverEvent"
|
||||
@mouseout="mouseoutEvent"
|
||||
@mousedown="onMousedown"
|
||||
@focusChange="focusChangeEvt"
|
||||
/>
|
||||
</template>
|
||||
@ -251,11 +251,9 @@ export default {
|
||||
this.gridInstance.invoke('check', rowData.rowKey, instance);
|
||||
},
|
||||
setSelectionRange(rowKey) {
|
||||
// console.log("------------------DEBUG-------setSelectionRange:", rowKey);
|
||||
const rowDatas = this.gridInstance.invoke('getData');
|
||||
rowDatas.forEach(item => {
|
||||
if (item.rowKey == rowKey) {
|
||||
// console.log("------------------DEBUG-------setSelectionRange---item:", item);
|
||||
this.gridInstance.invoke(
|
||||
'addRowClassName',
|
||||
item.rowKey,
|
||||
@ -271,11 +269,14 @@ export default {
|
||||
});
|
||||
},
|
||||
onMousedown(evt) {
|
||||
// console.log("------------------DEBUG-------onMousedown:", evt);
|
||||
this.focusChangeEvt(evt);
|
||||
this.handleSelectedRow(evt);
|
||||
},
|
||||
focusChangeEvt(e) {
|
||||
// console.log("------------------DEBUG-------focusChangeEvt:", e);
|
||||
if(e.rowKey === 0) {
|
||||
this.handleSelectedRow(e);
|
||||
}
|
||||
},
|
||||
handleSelectedRow(e) {
|
||||
// console.log('focusChangeEvt1...')
|
||||
if (this.preventFocusChangeEvent(e)) {
|
||||
// console.log('prevent focusChangeEvt')
|
||||
@ -283,7 +284,7 @@ export default {
|
||||
}
|
||||
// console.log('focusChangeEvt2...')
|
||||
// cell 선택시 row 선택 method
|
||||
if (e.rowKey >= 0) {
|
||||
if (e.rowKey > -1) {
|
||||
this.$emit(
|
||||
'getRowsData',
|
||||
this.gridInstance.invoke('getRow', e.rowKey),
|
||||
@ -296,7 +297,6 @@ export default {
|
||||
this.sendSelectedRowData(e.rowKey);
|
||||
},
|
||||
startEditing(e) {
|
||||
// console.log("------------------DEBUG-------startEditing:", e);
|
||||
// console.log('startEditing1...')
|
||||
if (this.preventFocusChangeEvent(e)) {
|
||||
// console.log('prevent startEditing')
|
||||
@ -323,7 +323,6 @@ export default {
|
||||
}
|
||||
},
|
||||
async editingFinish(e) {
|
||||
// console.log('------------------DEBUG-------editingFinish:', e);
|
||||
// console.log("Editing END E::", e);
|
||||
// editor 간 이동시 수정되는 문제 수정
|
||||
// e.rowEditingFg: grid의 한 row를 한번에 수정할 시 각각의 cell 마다 click 이벤트가 발생하지 않아 this.editorStartKey값이 제대로 입력 되지 않는 경우를 대비하여 만든 Fg
|
||||
@ -685,7 +684,6 @@ export default {
|
||||
? this.gridInstance.invoke('getFocusedCell').rowKey
|
||||
: eventRowKey;
|
||||
var rowData = this.gridInstance.invoke('getRow', rowKey);
|
||||
// console.log('------------------DEBUG-------sendSelectedRowData:', {eventRowKey, rowKey});
|
||||
this.$emit('sendSelectedRowStatInfo', rowData);
|
||||
}
|
||||
},
|
||||
|
@ -58,7 +58,7 @@
|
||||
<div class="pa-5">
|
||||
<!-- <v-text-field label="위치정보 선택"></v-text-field> -->
|
||||
<v-row align="center" no-gutters>
|
||||
<v-col :cols="label ? 3 : ''">
|
||||
<v-col :cols="label ? 3 : ''" class="pr-3" >
|
||||
<component
|
||||
:is="'selectCodeList'"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
@ -66,41 +66,66 @@
|
||||
dataKey="searchElecContKind"
|
||||
:sendParam="{ commGrpCd: 'EM_CONT', useFg: '1' }"
|
||||
:addAll="true"
|
||||
:customClass="'select-large'"
|
||||
/>
|
||||
</v-col>
|
||||
<v-col :cols="label ? 3 : ''">
|
||||
<v-col :cols="label ? 3 : ''" class="pr-3" >
|
||||
<component
|
||||
:is="'selectCodeList'"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:label="'전압구분'"
|
||||
dataKey="searchVoltKind"
|
||||
:sendParam="{ commGrpCd: 'EM_VOLT_KIND', useFg: '1' }"
|
||||
:customClass="'select-large'"
|
||||
:addAll="true"
|
||||
/>
|
||||
</v-col>
|
||||
<v-col :cols="label ? 3 : ''">
|
||||
<v-col :cols="label ? 3 : ''" class="pr-3" >
|
||||
<component
|
||||
:is="'selectCodeList'"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:label="'전압구분'"
|
||||
dataKey="searchOptKind"
|
||||
:sendParam="{ commGrpCd: 'EM_VOLT_OPT', useFg: '1' }"
|
||||
:customClass="'select-large'"
|
||||
:addAll="true"
|
||||
/>
|
||||
</v-col>
|
||||
<v-col cols="3" class="text-right">
|
||||
<v-btn
|
||||
<div style="height: 25px"></div>
|
||||
<!-- <v-btn
|
||||
v-if="!searchParam.isMulti"
|
||||
:ripple="false"
|
||||
@click="search()"
|
||||
>검색</v-btn
|
||||
> -->
|
||||
<a-button
|
||||
v-if="!searchParam.isMulti"
|
||||
type="primary"
|
||||
class="mr-1"
|
||||
icon="search"
|
||||
:ripple="false"
|
||||
@click="search"
|
||||
style="height: 40px"
|
||||
>
|
||||
<v-btn
|
||||
검색
|
||||
</a-button>
|
||||
<!-- <v-btn
|
||||
v-if="!searchParam.isMulti"
|
||||
:ripple="false"
|
||||
@click="initVal()"
|
||||
>초기화</v-btn
|
||||
> -->
|
||||
<a-button
|
||||
v-if="!searchParam.isMulti"
|
||||
type="primary"
|
||||
class="mr-1"
|
||||
:ripple="false"
|
||||
@click="initVal"
|
||||
style="height: 40px"
|
||||
>
|
||||
초기화
|
||||
</a-button>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</div>
|
||||
@ -310,7 +335,11 @@ export default {
|
||||
},
|
||||
// 공정/설비 트리 그리드 세팅
|
||||
gridInit() {
|
||||
const myOptions = {};
|
||||
const myOptions = {
|
||||
header: {
|
||||
height: 38,
|
||||
},
|
||||
};
|
||||
this.setModalGridOption({
|
||||
modalKey: this.myModalKey,
|
||||
gridKey: this.gridName,
|
||||
@ -606,11 +635,11 @@ const myColumns = [
|
||||
{ header: '전력계약 ID', name: 'eleclContId', hidden: true},
|
||||
{ header: '전력계약 명', name: 'eleclContNm', hidden: true},
|
||||
{ header: '전력계약구분CD', name: 'elecContKind', hidden: true},
|
||||
{ header: '전력계약구분', name: 'elecContKindNm', align: 'center'},
|
||||
{ header: '전력계약구분', name: 'elecContKindNm', align: 'left'},
|
||||
{ header: '전압구분CD', name: 'voltKind', hidden: true },
|
||||
{ header: '전압구분', name: 'voltKindNm', align: 'center' },
|
||||
{ header: '전압구분', name: 'voltKindNm', align: 'left' },
|
||||
{ header: '옵션CD', name: 'optKind', hidden: true },
|
||||
{ header: '옵션', name: 'optKindNm', align: 'center' },
|
||||
{ header: '옵션', name: 'optKindNm', align: 'left' },
|
||||
{
|
||||
header: '기본요금(원/kW)',
|
||||
name: 'baseChrg',
|
||||
@ -620,7 +649,7 @@ const myColumns = [
|
||||
},
|
||||
},
|
||||
{ header: '시간대CD', name: 'peakKind', hidden: true },
|
||||
{ header: '시간대', name: 'peakKindNm', align: 'center' },
|
||||
{ header: '시간대', name: 'peakKindNm', align: 'left' },
|
||||
{
|
||||
header: '여름철(6~8월)',
|
||||
name: 'unitPrcSum',
|
||||
|
@ -16,54 +16,52 @@
|
||||
|
||||
</template></v-text-field>
|
||||
</v-col>
|
||||
<v-dialog ref="popModal" v-model="dialog" width="800" overlay-color="#000" overlay-opacity="0.8" scrollable>
|
||||
<v-card style="height: 100%">
|
||||
<v-dialog ref="popModal" v-model="dialog" width="800" scrollable>
|
||||
<v-card style="height: 90vh;">
|
||||
<v-card-title class="px-5 py-4 d-flex align-center justify-space-between">
|
||||
<span class="custom-title-4">설비 선택</span>
|
||||
<a-button icon="close" type="text" @click="dialogOpenCloseEvent(dialog)"></a-button>
|
||||
</v-card-title>
|
||||
<div class="pa-2 pt-0">
|
||||
<v-card class="searchFilter">
|
||||
<v-row align="end">
|
||||
<v-col :cols="3.5">
|
||||
<!-- 설비그룹 -->
|
||||
<component :is="'SelectBox'" :propsValue="selectValue01" :itemList="selectValueList01"
|
||||
:label="'설비그룹'" :disabled="eqpmGrpDisabled"
|
||||
@update:propsValue="selectValue01 = $event" :labelCols="12" :textCols="12"
|
||||
:iconShow="true" />
|
||||
</v-col>
|
||||
<v-col :cols="3.5">
|
||||
<!-- FAB -->
|
||||
<component :is="'SelectBoxMulti'" :propsValue="selectValue02"
|
||||
:itemList="selectValueList02" :label="'FAB'" :labelCols="12" :multiple="true"
|
||||
:disabled="fabDisabled" @update:propsValue="selectValue02 = $event" :textCols="12"
|
||||
:iconShow="true" />
|
||||
</v-col>
|
||||
<v-col :cols="3.5">
|
||||
<v-row>
|
||||
<v-col :cols="12" class="py-0">
|
||||
<label for="" class="search-box-label">
|
||||
<v-icon small :class="['mr-1', 'icon-blue']">$icoBulletPoint</v-icon>
|
||||
설비명
|
||||
</label>
|
||||
</v-col>
|
||||
<v-col :cols="12" class="pt-0">
|
||||
<v-text-field append-icon="" class="v-input__custom" outlined
|
||||
:hide-details="true" v-model="searchWord" @keyup.enter="search"><template
|
||||
v-slot:append>
|
||||
<!-- Custom SVG icon -->
|
||||
<v-icon>$icoSearch</v-icon>
|
||||
<!-- <v-card class="searchFilter">
|
||||
</v-card> -->
|
||||
<v-row align="end" class="searchFilter">
|
||||
<v-col :cols="3.5">
|
||||
<!-- 설비그룹 -->
|
||||
<component :is="'SelectBox'" :propsValue="selectValue01" :itemList="selectValueList01"
|
||||
:label="'설비그룹'" :disabled="eqpmGrpDisabled"
|
||||
@update:propsValue="selectValue01 = $event" :labelCols="12" :textCols="12"
|
||||
:iconShow="true" />
|
||||
</v-col>
|
||||
<v-col :cols="3.5">
|
||||
<!-- FAB -->
|
||||
<component :is="'SelectBoxMulti'" :propsValue="selectValue02"
|
||||
:itemList="selectValueList02" :label="'FAB'" :labelCols="12" :multiple="true"
|
||||
:disabled="fabDisabled" @update:propsValue="selectValue02 = $event" :textCols="12"
|
||||
:iconShow="true" />
|
||||
</v-col>
|
||||
<v-col :cols="3.5">
|
||||
<v-row>
|
||||
<v-col :cols="12" class="py-0">
|
||||
<label for="" class="search-box-label">
|
||||
<v-icon small :class="['mr-1', 'icon-blue']">$icoBulletPoint</v-icon>
|
||||
설비명
|
||||
</label>
|
||||
</v-col>
|
||||
<v-col :cols="12" class="pt-0">
|
||||
<v-text-field append-icon="" class="v-input__custom" outlined
|
||||
:hide-details="true" v-model="searchWord" @keyup.enter="search"><template
|
||||
v-slot:append>
|
||||
<!-- Custom SVG icon -->
|
||||
<v-icon>$icoSearch</v-icon>
|
||||
|
||||
</template></v-text-field>
|
||||
</v-col>
|
||||
</template></v-text-field>
|
||||
</v-col>
|
||||
|
||||
</v-row>
|
||||
</v-col>
|
||||
<a-button icon="search" type="primary" @click="search()" class="search-button">조회</a-button>
|
||||
|
||||
|
||||
</v-row>
|
||||
</v-card>
|
||||
</v-row>
|
||||
</v-col>
|
||||
<a-button icon="search" type="primary" @click="search()" class="search-button">조회</a-button>
|
||||
</v-row>
|
||||
|
||||
<!-- <v-row align="center" no-gutters style="margin-top: 14px;">
|
||||
<v-col :cols="1">
|
||||
@ -77,14 +75,20 @@
|
||||
:hide-details="true" v-model="searchWord" @keyup.enter="search"></v-text-field>
|
||||
</v-col>
|
||||
</v-row> -->
|
||||
<!-- <v-row>
|
||||
<v-col :col="12">
|
||||
</v-col>
|
||||
</v-row> -->
|
||||
</div>
|
||||
<div class="px-5" style="height:429px;">
|
||||
<div ref="modalGridParent" class="w100 h100">
|
||||
|
||||
<v-card-text class="px-2 w100">
|
||||
<div ref="modalGridParent" style="height: 450px;" class="h100 w100">
|
||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null"
|
||||
:dataPath="searchParam.eqpmSelectPopData.eqpmSelectPop" :gridName="gridName"
|
||||
:parentPrgmId="parentPrgmId" @getRowsData="getRowData" />
|
||||
</div>
|
||||
</div>
|
||||
</v-card-text>
|
||||
|
||||
<v-card-actions class="px-6 py-4 d-flex align-center justify-end">
|
||||
<a-button :ripple="false" @click="dialogOpenCloseEvent(dialog)" class="mr-2">닫기</a-button>
|
||||
<a-button :ripple="false" type="primary" @click="setUpdate($event)">확인</a-button>
|
||||
|
@ -280,52 +280,41 @@ export default {
|
||||
modalKey: this.myModalKey,
|
||||
gridKey: this.grid_01,
|
||||
modalDataKey: this.modalDataKey,
|
||||
value: [{ header: '위치정보', name: 'eccNm' }],
|
||||
value: [
|
||||
{
|
||||
align: 'center',
|
||||
width: 30,
|
||||
minWidth: 60,
|
||||
formatter: (props) => {
|
||||
return `<span class="custom-radio"><span class="radio-mark"></span></span>`;
|
||||
}
|
||||
},
|
||||
{ header: '위치정보', name: 'eccNm' }
|
||||
],
|
||||
});
|
||||
},
|
||||
async getGridData() {
|
||||
// this.loadGrid = false;
|
||||
this.loadGrid = false;
|
||||
|
||||
// const res = await this.postApiReturn({
|
||||
// apiKey: 'selectEccBaseInfo',
|
||||
// resKey: 'eccBaseInfoData',
|
||||
// sendParam: {
|
||||
// blocId: this.myBindingData.blocId,
|
||||
// eqpmYn: '0',
|
||||
// search: this.searchWord,
|
||||
// },
|
||||
// });
|
||||
const res = await this.postApiReturn({
|
||||
apiKey: 'selectEccBaseInfo',
|
||||
resKey: 'eccBaseInfoData',
|
||||
sendParam: {
|
||||
blocId: this.myBindingData.blocId,
|
||||
eqpmYn: '0',
|
||||
search: this.searchWord,
|
||||
},
|
||||
});
|
||||
|
||||
// const setTreeData = await this.setTree({
|
||||
// gridKey: this.gridNameTree,
|
||||
// treeKey: 'ECC_ID',
|
||||
// value: res.map(item => ({
|
||||
// ...item,
|
||||
// eccNm: item.eccNm,
|
||||
// })),
|
||||
// });
|
||||
|
||||
//mockdata eccNm
|
||||
|
||||
|
||||
let res = [
|
||||
{ ECC_ID: 'ECC001', eccNm: '서울 본사', iconShow: false, align: 'center' },
|
||||
{ ECC_ID: 'ECC002', eccNm: '부산 지사', useIcon: false, align: 'center' },
|
||||
{ ECC_ID: 'ECC003', eccNm: '대구 센터', useIcon: false, align: 'center' },
|
||||
{ ECC_ID: 'ECC004', eccNm: '광주 사무소' , useIcon: false, align: 'center'},
|
||||
{ ECC_ID: 'ECC005', eccNm: '인천 물류창고' , useIcon: false, align: 'center'},
|
||||
];
|
||||
|
||||
|
||||
const setTreeData = {
|
||||
ROOT: res.map(item => ({
|
||||
const setTreeData = await this.setTree({
|
||||
gridKey: this.gridNameTree,
|
||||
treeKey: 'ECC_ID',
|
||||
value: res.map(item => ({
|
||||
...item,
|
||||
eccNm: item.eccNm,
|
||||
}))
|
||||
};
|
||||
})),
|
||||
});
|
||||
|
||||
// console.log(res);
|
||||
|
||||
this.setModalGridData({
|
||||
modalKey: this.myModalKey,
|
||||
gridKey: this.grid_01,
|
||||
|
@ -273,9 +273,9 @@ export default {
|
||||
});
|
||||
},
|
||||
async created() {
|
||||
// await this.setSelectValueList01();
|
||||
// await this.setSelectValueList02();
|
||||
// await this.setSelectValueList03();
|
||||
await this.setSelectValueList01();
|
||||
await this.setSelectValueList02();
|
||||
await this.setSelectValueList03();
|
||||
this.init();
|
||||
// if(this.searchParam.isMulti == true){
|
||||
// this.setPageData({
|
||||
@ -487,40 +487,40 @@ export default {
|
||||
eqpmId: this.selectValue03,
|
||||
searchWord: this.searchWord,
|
||||
};
|
||||
let res = [
|
||||
{
|
||||
eqpmGrpNm: "냉각 시스템",
|
||||
eqpmGrpId: "GRP001",
|
||||
eqpmId: "EQ001",
|
||||
eqpmNm: "냉각기 A",
|
||||
tagId: "TAG001-001",
|
||||
tagNm: "냉각 온도 센서",
|
||||
rowStat: "I",
|
||||
},
|
||||
{
|
||||
eqpmGrpNm: "전력 시스템",
|
||||
eqpmGrpId: "GRP002",
|
||||
eqpmId: "EQ002",
|
||||
eqpmNm: "변압기 B",
|
||||
tagId: "TAG002-002",
|
||||
tagNm: "전류 센서",
|
||||
rowStat: "U",
|
||||
},
|
||||
{
|
||||
eqpmGrpNm: "공기압 시스템",
|
||||
eqpmGrpId: "GRP003",
|
||||
eqpmId: "EQ003",
|
||||
eqpmNm: "압축기 C",
|
||||
tagId: "TAG003-003",
|
||||
tagNm: "압력 센서",
|
||||
rowStat: "D",
|
||||
},
|
||||
];
|
||||
// res = await this.postApiReturn({
|
||||
// apiKey: "selectTagAndEqpmList",
|
||||
// resKey: "tagTrndDatas",
|
||||
// sendParam: searchParam,
|
||||
// });
|
||||
// let res = [
|
||||
// {
|
||||
// eqpmGrpNm: "냉각 시스템",
|
||||
// eqpmGrpId: "GRP001",
|
||||
// eqpmId: "EQ001",
|
||||
// eqpmNm: "냉각기 A",
|
||||
// tagId: "TAG001-001",
|
||||
// tagNm: "냉각 온도 센서",
|
||||
// rowStat: "I",
|
||||
// },
|
||||
// {
|
||||
// eqpmGrpNm: "전력 시스템",
|
||||
// eqpmGrpId: "GRP002",
|
||||
// eqpmId: "EQ002",
|
||||
// eqpmNm: "변압기 B",
|
||||
// tagId: "TAG002-002",
|
||||
// tagNm: "전류 센서",
|
||||
// rowStat: "U",
|
||||
// },
|
||||
// {
|
||||
// eqpmGrpNm: "공기압 시스템",
|
||||
// eqpmGrpId: "GRP003",
|
||||
// eqpmId: "EQ003",
|
||||
// eqpmNm: "압축기 C",
|
||||
// tagId: "TAG003-003",
|
||||
// tagNm: "압력 센서",
|
||||
// rowStat: "D",
|
||||
// },
|
||||
// ];
|
||||
let res = await this.postApiReturn({
|
||||
apiKey: "selectTagAndEqpmList",
|
||||
resKey: "tagTrndDatas",
|
||||
sendParam: searchParam,
|
||||
});
|
||||
let newRes = [];
|
||||
if (this.searchParam["tagList"].length > 0) {
|
||||
newRes = res.filter((item) => {
|
||||
|
@ -96,20 +96,20 @@ export default {
|
||||
watch: {
|
||||
selectedEqpmKindId(val) {
|
||||
if (val) {
|
||||
this.detailList[2].eqpmKindId = val;
|
||||
this.detailList[1].eqpmKindId = val;
|
||||
}
|
||||
},
|
||||
selectedEqpmGrpId(val) {
|
||||
// if(!val){
|
||||
// this.detailList[2].eqpmGrpId = '';
|
||||
// this.detailList[1].eqpmGrpId = '';
|
||||
// }else{
|
||||
// this.detailList[2].eqpmGrpId = val;
|
||||
// this.detailList[1].eqpmGrpId = val;
|
||||
// }
|
||||
// if(val){
|
||||
// this.detailList[2].eqpmGrpId = val;
|
||||
// this.detailList[1].eqpmGrpId = val;
|
||||
// }
|
||||
// else if(val == null || val == ''){
|
||||
// this.detailList[2].eqpmGrpId = '';
|
||||
// this.detailList[1].eqpmGrpId = '';
|
||||
// }
|
||||
},
|
||||
},
|
||||
@ -238,10 +238,10 @@ export default {
|
||||
},
|
||||
async getRowData(data, gridName) {
|
||||
if (data.rowStat === 'I') {
|
||||
this.detailList[2].disabled = false;
|
||||
this.detailList[1].disabled = false;
|
||||
this.detailList[3].disabled = false;
|
||||
} else {
|
||||
this.detailList[2].disabled = true;
|
||||
this.detailList[1].disabled = true;
|
||||
this.detailList[3].disabled = true;
|
||||
}
|
||||
|
||||
@ -257,12 +257,12 @@ export default {
|
||||
switch (action) {
|
||||
case 'add':
|
||||
this.$refs[this.gridName].addRow();
|
||||
this.detailList[2].disabled = false;
|
||||
this.detailList[1].disabled = false;
|
||||
this.detailList[3].disabled = false;
|
||||
break;
|
||||
|
||||
case 'remove':
|
||||
this.detailList[2].disabled = true;
|
||||
this.detailList[1].disabled = true;
|
||||
this.detailList[3].disabled = true;
|
||||
this.$refs[this.gridName].removeRow();
|
||||
break;
|
||||
@ -358,7 +358,6 @@ const myEqpmConstDetail = [
|
||||
{
|
||||
type: 'SelectBox',
|
||||
label: '대상 유형',
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-3 pr-4',
|
||||
list: 'emMapDivList2',
|
||||
@ -371,6 +370,7 @@ const myEqpmConstDetail = [
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
// ==================
|
||||
{
|
||||
type: 'EgrpPysclQtyPop',
|
||||
labelContent: '물리량',
|
||||
@ -382,7 +382,7 @@ const myEqpmConstDetail = [
|
||||
pysclQtyNm: 'pysclQtyNm',
|
||||
},
|
||||
valueNm: 'objId',
|
||||
disabled: false,
|
||||
disabled: true,
|
||||
required: true,
|
||||
openMode: 'CONST',
|
||||
cols: 6,
|
||||
@ -413,6 +413,7 @@ const myEqpmConstDetail = [
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
},
|
||||
// ------------
|
||||
{
|
||||
type: 'InputText',
|
||||
label: '물리량 값',
|
||||
|
@ -18,7 +18,7 @@
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
/>
|
||||
</div>
|
||||
<div style="min-height: calc(100vh - 900px);">
|
||||
<div style="min-height: calc(100vh - 900px);" class="mt-4">
|
||||
<component
|
||||
:is="'Form'"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
@ -108,18 +108,24 @@ export default {
|
||||
},
|
||||
watch: {
|
||||
selectedObjId(val) {
|
||||
// console.log('selectedObjId : ', val);
|
||||
if (val === 'TAG') {
|
||||
// this.detailList[1].class = 'py-3 pl-4 pb-0';
|
||||
this.detailList[1].class = 'py-3 d-none';
|
||||
this.detailList[2].class = 'py-3 d-none';
|
||||
this.detailList[3].class = 'py-3 pl-4 pt-1 d-none';
|
||||
|
||||
this.detailList[4].class = 'py-3';
|
||||
this.detailList[5].class = 'py-3';
|
||||
this.detailList[5].class = 'py-3 pl-4';
|
||||
this.detailList[6].class = 'py-3 pl-4 pt-0';
|
||||
} else {
|
||||
// }else if(val==="READ_PLC"){
|
||||
this.detailList[5].class = 'py-3 d-none';
|
||||
this.detailList[4].class = 'py-3 d-none';
|
||||
this.detailList[3].class = 'py-3 pl-4 pt-1';
|
||||
this.detailList[1].class = 'py-3 pl-4';
|
||||
this.detailList[2].class = 'py-3';
|
||||
this.detailList[3].class = 'py-3 pl-4 pt-0';
|
||||
|
||||
this.detailList[4].class = 'py-3 d-none';
|
||||
this.detailList[5].class = 'py-3 d-none';
|
||||
this.detailList[6].class = 'py-3 d-none';
|
||||
}
|
||||
},
|
||||
selectedCalcFg(val) {
|
||||
@ -282,13 +288,13 @@ export default {
|
||||
async getRowData(data, gridName) {
|
||||
if (data.rowStat === 'I') {
|
||||
this.detailList[0].disabled = false;
|
||||
this.detailList[2].disabled = false;
|
||||
this.detailList[1].disabled = false;
|
||||
this.detailList[3].disabled = false;
|
||||
this.detailList[4].disabled = false;
|
||||
this.detailList[5].disabled = false;
|
||||
} else {
|
||||
this.detailList[0].disabled = true;
|
||||
this.detailList[2].disabled = true;
|
||||
this.detailList[1].disabled = true;
|
||||
this.detailList[3].disabled = true;
|
||||
this.detailList[4].disabled = true;
|
||||
this.detailList[5].disabled = true;
|
||||
@ -306,7 +312,7 @@ export default {
|
||||
case 'add':
|
||||
this.$refs[this.gridName].addRow();
|
||||
this.detailList[0].disabled = false;
|
||||
this.detailList[2].disabled = false;
|
||||
this.detailList[1].disabled = false;
|
||||
this.detailList[3].disabled = false;
|
||||
this.detailList[4].disabled = false;
|
||||
this.detailList[5].disabled = false;
|
||||
@ -315,7 +321,7 @@ export default {
|
||||
case 'remove':
|
||||
this.$refs[this.gridName].removeRow();
|
||||
this.detailList[0].disabled = true;
|
||||
this.detailList[2].disabled = true;
|
||||
this.detailList[1].disabled = true;
|
||||
this.detailList[3].disabled = true;
|
||||
this.detailList[4].disabled = true;
|
||||
this.detailList[5].disabled = true;
|
||||
@ -436,10 +442,10 @@ const myEqpmIaoDetail = [
|
||||
type: 'ReadPlcPop',
|
||||
label: '대상 항목',
|
||||
valueNm: 'objId',
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-3 pl-4',
|
||||
class: 'py-3 pl-4 pb-0',
|
||||
required: true,
|
||||
disabled: true,
|
||||
bindNm: 'objNm',
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
@ -460,11 +466,12 @@ const myEqpmIaoDetail = [
|
||||
readonly: true,
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-3 pl-4 pt-1',
|
||||
class: 'py-3 pl-4 pt-0',
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
// ============
|
||||
{
|
||||
type: 'EvtObjPop',
|
||||
labelContent: '대상 항목',
|
||||
@ -474,16 +481,24 @@ const myEqpmIaoDetail = [
|
||||
disabled: true,
|
||||
required: true,
|
||||
cols: 6,
|
||||
class: 'py-3 d-none',
|
||||
class: 'py-3 pl-4 d-none',
|
||||
disableContent: true,
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
type: 'Label',
|
||||
cols: 6,
|
||||
class: 'py-3 d-none',
|
||||
disabled: true,
|
||||
textCols: 12,
|
||||
labelCols: 12,
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
cols: 6,
|
||||
class: 'py-3 pl-4 d-none',
|
||||
valueNm: 'objNm',
|
||||
readonly: true,
|
||||
disabled: true,
|
||||
@ -491,6 +506,7 @@ const myEqpmIaoDetail = [
|
||||
labelCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
// --------------------------------------------
|
||||
{
|
||||
type: 'SelectBox',
|
||||
label: '에너지원',
|
||||
|
@ -9,7 +9,6 @@
|
||||
<div class="lnb-logo">
|
||||
<img v-if="isDarkMode" src="@/assets/images/logo_dm.png" />
|
||||
<img v-else src="@/assets/images/logo_lm.png" />
|
||||
<!-- <img v-else src="@/assets/images/logo_lm.png" /> -->
|
||||
</div>
|
||||
<!-- <div class="lnb-logo">FEMS</div>-->
|
||||
</router-link>
|
||||
@ -40,16 +39,16 @@
|
||||
<v-menu offset-y>
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<a-button
|
||||
:ripple="false"
|
||||
tile
|
||||
class="btn-header"
|
||||
v-bind="attrs"
|
||||
v-on="on"
|
||||
style="width: 100px"
|
||||
>
|
||||
<span class="body-2">즐겨찾기</span>
|
||||
<v-icon size="20">mdi-chevron-down</v-icon>
|
||||
</a-button>
|
||||
:ripple="false"
|
||||
tile
|
||||
class="btn-header"
|
||||
v-bind="attrs"
|
||||
v-on="on"
|
||||
style="width: 100px"
|
||||
>
|
||||
<span class="body-2">즐겨찾기</span>
|
||||
<v-icon size="20">mdi-chevron-down</v-icon>
|
||||
</a-button>
|
||||
<!-- <a-button style="width: 100px; height: 36px" class="btn-header">
|
||||
<span class="body-2">즐겨찾기</span>
|
||||
<v-icon size="20">mdi-chevron-down</v-icon></a-button> -->
|
||||
@ -62,10 +61,10 @@
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</v-menu>
|
||||
<a-button id="refresh" class="btn-header" @click="removeBookMark" v-if="bookmarkBtn == 1">
|
||||
<a-button id="removeBm" class="btn-header" @click="removeBookMark" v-if="bookmarkBtn == 1">
|
||||
<span class="material-icons" style="font-size: 17px">star</span>
|
||||
</a-button>
|
||||
<a-button id="refresh" class="btn-header" :style="{
|
||||
<a-button id="addBm" class="btn-header" :style="{
|
||||
display: 'flex',
|
||||
alignItems: 'center'}" @click="addBookMark" v-if="bookmarkBtn == 0">
|
||||
<span class="material-icons" style="font-size: 17px">star_border</span>
|
||||
@ -88,32 +87,12 @@
|
||||
</v-row>
|
||||
</div>
|
||||
<v-main>
|
||||
|
||||
<v-container fluid>
|
||||
<v-row class="flex-nowrap">
|
||||
<div class="menu-container">
|
||||
<v-navigation-drawer ref="navigationdrawer" :value="drawer" :mini-variant="miniVariant" :clipped="clipped"
|
||||
:absolute="false" mini-variant-width="60">
|
||||
|
||||
<div class="d-flex align-center justify-space-between py-4 px-3" v-if="false">
|
||||
<router-link class="home" :to="myHome.root">
|
||||
<div class="lnb-logo">
|
||||
<img v-if="isDarkMode" src="@/assets/images/logo_dm.png" />
|
||||
<img v-else src="@/assets/images/logo_lm.png" />
|
||||
</div>
|
||||
<!-- <div class="lnb-logo">FEMS</div>-->
|
||||
|
||||
</router-link>
|
||||
<ThemeSwitch style="margin-right: 20px" />
|
||||
<v-app-bar-nav-icon ref="appbarnavicon" id="appbarnavicon" @click.stop="miniVariant = !miniVariant"
|
||||
@click="updateTreeview" :style="{
|
||||
backgroundColor: 'transparent',
|
||||
color: isDarkMode ? '#fff' : '#111',
|
||||
}" />
|
||||
<!-- <router-view :key="$route.fullPath"/> -->
|
||||
</div>
|
||||
<AdminMenu :miniVariant="miniVariant" :userNm="this.userInfo.userNm" :comId="this.userInfo.comId" v-if="false" />
|
||||
|
||||
<component ref="changePswdPop" :is="'ChangePswdPop'" v-show="false" :comId="this.userInfo.comId" />
|
||||
<v-treeview ref="treeview" :active.sync="activeTree" active-class="v-treeview-node--active"
|
||||
:items="treevieItems" activatable hoverable color="#3896ff" open-on-click @update:open="openNode">
|
||||
@ -130,14 +109,16 @@
|
||||
:class="miniVariant === false ? 'mr-2' : ''" size="9">
|
||||
$depth3rdBulletDark
|
||||
</v-icon>
|
||||
<span v-if="item.url">{{ item.menuNm }}
|
||||
<span v-if="item.url">
|
||||
{{ item.menuNm }}
|
||||
<!-- <span v-if="item.bookmark" class="material-icons" style="font-size: 17px; vertical-align: middle;" @click="addBookMark(item.menuId, item.url, item.bookmark)">star</span>
|
||||
<span v-else-if="!item.bookmark" class="material-icons" style="font-size: 17px; vertical-align: middle;" @click="addBookMark(item.menuId, item.url, item.bookmark)">star_border</span> -->
|
||||
</span>
|
||||
<span v-else-if="!item.url">{{ item.menuNm }}</span>
|
||||
<v-icon v-if="item.lvl >= 1 && item.childeVo && item.childeVo.length > 0 && !item.url">
|
||||
<!-- <v-icon v-if="item.lvl >= 1 && item.childeVo && item.childeVo.length > 0 && !item.url">
|
||||
mdi-chevron-down
|
||||
</v-icon>
|
||||
</v-icon> -->
|
||||
<a-icon type="down" v-if="item.lvl >= 1 && item.childeVo && item.childeVo.length > 0 && !item.url" />
|
||||
</button>
|
||||
</template>
|
||||
</v-treeview>
|
||||
@ -805,7 +786,7 @@ export default {
|
||||
// console.log('if isLoading stmt3');
|
||||
// return;
|
||||
// }
|
||||
alert("move to", url);
|
||||
// alert("move to", url);
|
||||
this.$router.push({
|
||||
path: url + "?prgmId=" + prgmId,
|
||||
});
|
||||
|
@ -57,7 +57,7 @@ module.exports = {
|
||||
],
|
||||
|
||||
// Modules: https://go.nuxtjs.dev/config-modules
|
||||
modules: ['@nuxtjs/axios', '@nuxtjs/dayjs', '@nuxtjs/style-resources','@nuxtjs/google-fonts'],
|
||||
modules: ['@nuxtjs/axios', '@nuxtjs/dayjs', '@nuxtjs/style-resources' ],
|
||||
styleResources: {
|
||||
scss: ['./assets/scss/*.scss'],
|
||||
},
|
||||
|
@ -398,14 +398,11 @@ export default {
|
||||
|
||||
const myTreeColumns = [
|
||||
{
|
||||
header: '',
|
||||
name: '',
|
||||
align: 'center',
|
||||
width: 30,
|
||||
minWidth: 60,
|
||||
formatter: (props) => {
|
||||
return `<span class="custom-radio">
|
||||
<span class="radio-mark"></span>
|
||||
</span>`;
|
||||
return `<span class="custom-radio"><span class="radio-mark"></span></span>`;
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -421,14 +418,11 @@ export default {
|
||||
];
|
||||
const myTreeColumns2 = [
|
||||
{
|
||||
header: '',
|
||||
name: '',
|
||||
align: 'center',
|
||||
width: 30,
|
||||
minWidth: 60,
|
||||
formatter: (props) => {
|
||||
return `<span class="custom-radio">
|
||||
<span class="radio-mark"></span>
|
||||
</span>`;
|
||||
return `<span class="custom-radio"><span class="radio-mark"></span></span>`;
|
||||
}
|
||||
},
|
||||
{ header: '역할ID', name: 'roleId', hidden: true },
|
||||
@ -674,8 +668,6 @@ export default {
|
||||
},
|
||||
|
||||
getUnAsgnRowData(data) {
|
||||
console.log("------------------DEBUG-------getUnAsgnRowData:", data);
|
||||
|
||||
const getRowData = data;
|
||||
this.leftSelectRowData = Object.assign({}, getRowData);
|
||||
},
|
||||
|
@ -10,7 +10,7 @@
|
||||
<v-card-title class="pa-0 custom-title-4">공지사항</v-card-title>
|
||||
<div class="d-flex align-center">
|
||||
<!-- <v-btn @click="listPageButtonGroupClickEvent('view')" :ripple="false" class="mr-1">상세보기</v-btn> -->
|
||||
<a-button type="primary" size="large" @click="listPageButtonGroupClickEvent('write')" :ripple="false"
|
||||
<a-button type="primary" @click="listPageButtonGroupClickEvent('write')" :ripple="false"
|
||||
icon="edit" class="mr-1">작성</a-button>
|
||||
<!-- <v-btn @click="listPageButtonGroupClickEvent('delete')" :ripple="false">삭제</v-btn> -->
|
||||
</div>
|
||||
|
@ -1,5 +1,6 @@
|
||||
<template>
|
||||
<div class="l-layout">
|
||||
<CommonPageTitle />
|
||||
<!-- 조회조견 -->
|
||||
<v-row ref="searchFilter">
|
||||
<v-col :cols="12">
|
||||
@ -314,7 +315,6 @@ export default {
|
||||
});
|
||||
},
|
||||
async getRowData(data, gridName) {
|
||||
// console.log("-----------------------DEBUG--getRowData--------------", {
|
||||
// gridKey: gridName,
|
||||
// gridSelect: true,
|
||||
// rowGridSelectKey: data.rowKey,
|
||||
|
@ -53,7 +53,7 @@
|
||||
</v-col>
|
||||
<v-col :cols="7" >
|
||||
<v-card class="pb-5">
|
||||
<v-card-title class="custom-title-4" style="min-height:76px;">설비 상세</v-card-title>
|
||||
<v-card-title class="custom-title-4 pb-1" >설비 상세</v-card-title>
|
||||
<div class="px-5" style="min-height:calc(100% - 76px)">
|
||||
<v-tabs v-model="tab">
|
||||
<v-tab v-for="item in items" :key="item.id" :disabled="item.disabledFlag">
|
||||
@ -969,7 +969,7 @@ const myDetail = [
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
iconShow: true,
|
||||
class: 'py-3 pr-4',
|
||||
class: 'py-3 pr-4 pb-2',
|
||||
},
|
||||
{
|
||||
type: 'CheckBox',
|
||||
|
@ -43,6 +43,7 @@
|
||||
:is="'Datepicker'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:label="'조회기간'"
|
||||
customClass="datepicker-large"
|
||||
/>
|
||||
</v-col>
|
||||
<div class="d-flex">
|
||||
@ -282,7 +283,6 @@ export default {
|
||||
mgnf: item.mgnf || 0,
|
||||
})),
|
||||
});
|
||||
// console.log('--------------DEBUG-----res-------', res);
|
||||
}
|
||||
this.setPageData({ isFind: false });
|
||||
this.$nextTick(() => {
|
||||
|
@ -49,7 +49,7 @@
|
||||
<v-col :cols="3">
|
||||
<!-- 대상일 -->
|
||||
<component :is="'Datepicker'" :parentPrgmId="myPrgmId" :label="'대상일'" :labelCols="12"
|
||||
:textCols="12" :customClass="'input-large'" />
|
||||
:textCols="12" :customClass="'datepicker-large'" />
|
||||
</v-col>
|
||||
<v-col :cols="3" class="text-right">
|
||||
<!-- 조회버튼 -->
|
||||
|
@ -1,5 +1,6 @@
|
||||
<template>
|
||||
<div class="l-layout">
|
||||
<CommonPageTitle />
|
||||
<v-row ref="searchFilter">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
@ -25,7 +26,7 @@
|
||||
<component
|
||||
:is="'Datepicker'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:customClass="'select-large'"
|
||||
:customClass="'datepicker-large'"
|
||||
:label="'대상일'"
|
||||
:labelCols="3"
|
||||
/>
|
||||
@ -99,7 +100,6 @@ export default {
|
||||
async asyncData(context) {
|
||||
const myState = context.store.state;
|
||||
myPrgmId = context.route.query.prgmId;
|
||||
console.log("active menu:", myState.menuData);
|
||||
await context.store.commit("setActiveMenuInfo", myState.menuData[myPrgmId]);
|
||||
myTitle = await myState.activeMenuInfo.menuNm;
|
||||
},
|
||||
@ -319,8 +319,7 @@ export default {
|
||||
},
|
||||
};
|
||||
|
||||
console.log("data : ", data);
|
||||
data.map((item) => {
|
||||
data.map((item) => {
|
||||
xAxisData.push(item.fabNm);
|
||||
});
|
||||
|
||||
@ -374,8 +373,6 @@ export default {
|
||||
];
|
||||
}
|
||||
|
||||
// console.log("xAxisData : ", xAxisData);
|
||||
console.log("seriesData : ", seriesData);
|
||||
var chartOption = {
|
||||
legend: {
|
||||
top: xAxisData.length > 7 ? "top" : "bottom",
|
||||
|
@ -5,14 +5,14 @@
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
<v-row align="end" no-gutters>
|
||||
<v-col :cols="4">
|
||||
<v-col :cols="3">
|
||||
<!-- 차트목록 -->
|
||||
<component :is="'SelectBox'" ref="SelectBox" :propsValue="selectValue01" :itemList="selectValueList01"
|
||||
:label="'차트'" @update:propsValue="selectValue01 = $event" :textCols="12" customClass="select-large" />
|
||||
</v-col>
|
||||
<v-col :cols="4">
|
||||
<v-col :cols="3">
|
||||
<!-- 대상일 -->
|
||||
<component :is="'Datepicker'" :parentPrgmId="myPrgmId" :label="'대상일'" :labelCols="3" />
|
||||
<component :is="'Datepicker'" :parentPrgmId="myPrgmId" :label="'대상일'" :labelCols="3" customClass="datepicker-large" />
|
||||
</v-col>
|
||||
<v-col :cols="4" class="text-right">
|
||||
<BtnSearch @click="search" size="large" />
|
||||
@ -245,7 +245,6 @@ export default {
|
||||
|
||||
|
||||
this.setChartOption({ chartKey: this.chartName, value: chartOption });
|
||||
// console.log("----DEBUG chart-options-------", { chartOption });
|
||||
this.$nextTick(() => {
|
||||
this.loadChart = true;
|
||||
});
|
||||
|
@ -32,7 +32,7 @@
|
||||
</v-col>
|
||||
<v-col :cols="3">
|
||||
<!-- 대상일 -->
|
||||
<component :is="'Datepicker'" :parentPrgmId="myPrgmId" :label="'대상일'" :labelCols="3" />
|
||||
<component :is="'Datepicker'" :parentPrgmId="myPrgmId" :label="'대상일'" :labelCols="3" customClass="datepicker-large" />
|
||||
</v-col>
|
||||
<v-col :cols="6" class="text-right d-flex align-end justify-end align-self-end">
|
||||
<!-- 조회버튼 -->
|
||||
@ -99,6 +99,8 @@ import EqpmSelectPop from '~/components/common/modal/EqpmSelectPop';
|
||||
import DateUtility from '~/plugins/dateUtility';
|
||||
import XLSX from 'xlsx';
|
||||
|
||||
import getLineChartOption from "~/components/common/chartoptions/LineChart";
|
||||
|
||||
let myTitle;
|
||||
let myPrgmId;
|
||||
|
||||
@ -264,9 +266,6 @@ export default {
|
||||
},
|
||||
created() { },
|
||||
async mounted() {
|
||||
// console.log('----DEBUG---');
|
||||
// await this.initTest();
|
||||
// End Debug Test---
|
||||
await this.init();
|
||||
this.initedFlag = true;
|
||||
},
|
||||
@ -287,7 +286,7 @@ export default {
|
||||
}),
|
||||
async initTest() {
|
||||
// debug test
|
||||
console.log('----DEBUG init pages----');
|
||||
// console.log('----DEBUG init pages----');
|
||||
const seriesName1 = ['B01. 냉동기전력량', ' B01.COP'];
|
||||
const seriesName2 = [
|
||||
'UT_HT_CH101:냉동기전혁당', 'UT_HT_CH102:냉동기전력량', 'UT_HT_CH201:냉동기전력당',
|
||||
@ -767,22 +766,14 @@ export default {
|
||||
];
|
||||
}
|
||||
|
||||
var chartOption = {
|
||||
legend: {
|
||||
top: 'top',
|
||||
},
|
||||
grid: {
|
||||
top: '10%',
|
||||
bottom: '20%',
|
||||
},
|
||||
yAxis: {},
|
||||
xAxis: {
|
||||
data: xAxisData,
|
||||
},
|
||||
series: seriesData,
|
||||
tooltip: {},
|
||||
const chartOption = getLineChartOption({
|
||||
xAxisData: xAxisData,
|
||||
seriesData: seriesData,
|
||||
dataZoom: dataZoom,
|
||||
};
|
||||
// legendData: legendData,
|
||||
// isDarkMode: this.isDarkMode,
|
||||
});
|
||||
|
||||
this.setChartOption({ chartKey: this.chartName01, value: chartOption });
|
||||
// this.setChartYAxisData({ chartKey: this.chartName01, value: yAxisData });
|
||||
// this.setChartXAxisData({ chartKey: this.chartName01, value: xAxisData });
|
||||
@ -867,22 +858,13 @@ export default {
|
||||
];
|
||||
}
|
||||
|
||||
var chartOption = {
|
||||
legend: {
|
||||
top: 'top',
|
||||
},
|
||||
grid: {
|
||||
top: '10%',
|
||||
bottom: '20%',
|
||||
},
|
||||
yAxis: {},
|
||||
xAxis: {
|
||||
data: xAxisData,
|
||||
},
|
||||
series: seriesData,
|
||||
tooltip: {},
|
||||
const chartOption = getLineChartOption({
|
||||
xAxisData: xAxisData,
|
||||
seriesData: seriesData,
|
||||
dataZoom: dataZoom,
|
||||
};
|
||||
// legendData: legendData,
|
||||
// isDarkMode: this.isDarkMode,
|
||||
});
|
||||
|
||||
this.setChartOption({ chartKey: this.chartName02, value: chartOption });
|
||||
// this.setChartDataZoom({chartKey : this.chartName02,value: dataZoom});
|
||||
|
@ -97,7 +97,7 @@
|
||||
</v-row>
|
||||
<v-row ref="contents" style="height: calc(100vh - 230px)">
|
||||
<v-col :cols="12" style="height: 100%">
|
||||
<v-row class="pa-1" style="height: 37%; width: 100%">
|
||||
<v-row class="pa-1" style="height: 50%; width: 100%">
|
||||
<div style="width: 100%; height: 100%; overflow: hidden">
|
||||
<div style="height: 15%">
|
||||
<v-card-title
|
||||
@ -117,7 +117,7 @@
|
||||
v-for="(value, key, index) in contentData01"
|
||||
:key="'key1' + index"
|
||||
>
|
||||
<v-card>
|
||||
<v-card style="position: relative; overflow: hidden;" >
|
||||
<!-- Card header -->
|
||||
<div
|
||||
style="
|
||||
@ -133,23 +133,9 @@
|
||||
<v-card-title style="padding-left: 10px">{{
|
||||
value["gdIdxNm"]
|
||||
}}</v-card-title>
|
||||
<div class="v-box" style="height: 80%; padding: 3px; margin: 2px">
|
||||
<v-col :cols="12" style="height: 100%">
|
||||
<!-- <div style="height: 20%">
|
||||
<div
|
||||
style="
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 10px;
|
||||
width: 4px;
|
||||
height: 50px;
|
||||
background-color: #91caff;
|
||||
border-radius: 2px;
|
||||
"
|
||||
></div>
|
||||
<v-card-title>{{ value["gdIdxNm"] }}</v-card-title>
|
||||
</div> -->
|
||||
<div style="height: 95%">
|
||||
<div class="v-box" style="height: 80%; padding: 3px; margin: 10px;">
|
||||
<v-col :cols="12" style="height: 100%;">
|
||||
<div style="height: 85%;">
|
||||
<component
|
||||
class="w100 h100"
|
||||
:is="loadChart ? 'Chart' : null"
|
||||
@ -166,7 +152,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</v-row>
|
||||
<v-row class="pa-1" style="height: 33%; width: 100%">
|
||||
<v-row class="pa-1" style="height: 40%; width: 100%">
|
||||
<v-card class="pa-1" style="height: 100%; width: 100%; overflow: hidden">
|
||||
<div style="height: 25%">
|
||||
<v-card-title class="d-flex align-center justify-space-between pa-5">
|
||||
@ -746,10 +732,12 @@ export default {
|
||||
{
|
||||
type: "line",
|
||||
data: seriesData,
|
||||
symbol: "none",
|
||||
itemStyle: {
|
||||
color: "#D32029",
|
||||
},
|
||||
// symbol: "circle",
|
||||
showSymbol: true,
|
||||
connectNulls: true,
|
||||
},
|
||||
// {
|
||||
// type: "line",
|
||||
|
@ -24,6 +24,7 @@
|
||||
:is="'DatePicker'"
|
||||
:label="'대상연월'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:customClass="'datepicker-large'"
|
||||
/>
|
||||
</v-col>
|
||||
<v-col :cols="3"> </v-col>
|
||||
@ -429,9 +430,6 @@ export default {
|
||||
var chartKey = null;
|
||||
var chartOption = null;
|
||||
|
||||
console.log("data key:", dataKeyList);
|
||||
console.log("data test:", data);
|
||||
|
||||
for (var i = 0; i < dataKeyList.length; i++) {
|
||||
for (var j = 0; j < data[dataKeyList[i]].chartData.length; j++) {
|
||||
currentChartData = data[dataKeyList[i]].chartData[j];
|
||||
|
@ -71,6 +71,7 @@
|
||||
:label="'대상년월'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:isRangeOption="false"
|
||||
:customClass="'datepicker-large'"
|
||||
/>
|
||||
</v-col>
|
||||
<v-col :cols="6"> </v-col>
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user