Compare commits
33 Commits
f929ad2c28
...
dev-dungtv
Author | SHA1 | Date | |
---|---|---|---|
d0572dc07c | |||
ea4910db79 | |||
c636db83bd | |||
6871d6034d | |||
1352223416 | |||
439079eee8 | |||
93dd46c225 | |||
537a16fbc7 | |||
6f6f19349f | |||
2533d5bb7a | |||
19a634e3a5 | |||
e4331ad79f | |||
8c7a8d5b29 | |||
140f73814f | |||
b53ce8bd83 | |||
8bb0d56a80 | |||
f715405ad2 | |||
f80bfc5c71 | |||
56607d0770 | |||
6db0ff96c0 | |||
2cf00c0880 | |||
9155a2b55e | |||
484d8879aa | |||
38585f7b4f | |||
b0ad70d33e | |||
3f89707a01 | |||
a4007d5697 | |||
3b6c05c70a | |||
550659475f | |||
4a7077336d | |||
ca27167d3d | |||
bf6d03df63 | |||
8cadade514 |
@ -484,6 +484,10 @@ a {
|
||||
border-bottom: 1px solid map-deep-get($config, #{$theme}, "v-header-border");
|
||||
}
|
||||
|
||||
.custom-chart{
|
||||
border: 1px solid map-deep-get($config, #{$theme}, "v-chart-border");
|
||||
}
|
||||
|
||||
.btn-header {
|
||||
background-color: map-deep-get($config, #{$theme}, "v-btn-header-background");
|
||||
border:1px solid map-deep-get($config, #{$theme}, "v-btn-header-border");
|
||||
@ -611,48 +615,12 @@ a {
|
||||
}
|
||||
}
|
||||
|
||||
// .v-banner {
|
||||
// &__wrapper {
|
||||
// border-bottom-color: map-deep-get($config,
|
||||
// #{$theme},
|
||||
// "v-banner-border-color"
|
||||
// ) !important;
|
||||
// }
|
||||
// }
|
||||
|
||||
.v-navigation-drawer__append {
|
||||
>p {
|
||||
color: map-deep-get($config, #{$theme}, "v-banner-border-color" ) !important;
|
||||
// @if $theme ==dark {
|
||||
// color: rgba(255, 255, 255, 0.6);
|
||||
// }
|
||||
|
||||
// @else {
|
||||
// color: #999;
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
// .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;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
.border-bottom-1 {
|
||||
border-bottom: 1px solid map-deep-get($config, #{$theme}, "border-color");
|
||||
}
|
||||
@ -809,114 +777,7 @@ a {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// &>.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"
|
||||
// // );
|
||||
// // }
|
||||
// // }
|
||||
// // }
|
||||
// }
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -1003,7 +864,7 @@ a {
|
||||
);
|
||||
|
||||
.day-label {
|
||||
color: map-deep-get($config, #{$theme}, "non-activate");
|
||||
color: map-deep-get($config, #{$theme}, "card-text-title-color");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1265,19 +1126,40 @@ a {
|
||||
);
|
||||
border: 1px solid map-deep-get($config, #{$theme}, "tui-datepicker-border-color");
|
||||
border-radius: 4px;
|
||||
padding: 4px;
|
||||
|
||||
&-item--active {
|
||||
border-radius: 4px;
|
||||
&:before {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.v-list-item__title {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"tui-datepicker-calendar-color"
|
||||
);
|
||||
color: map-deep-get($config, #{$theme}, "tui-datepicker-calendar-color");
|
||||
}
|
||||
}
|
||||
|
||||
&.v-select-list{
|
||||
>.v-list-item {
|
||||
margin-bottom: 4px;
|
||||
.anticon {
|
||||
&.anticon-check {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
&[aria-selected="true"] {
|
||||
border-radius: 8px;
|
||||
background-color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-bg");
|
||||
.anticon {
|
||||
&.anticon-check {
|
||||
display: block;
|
||||
color: map-deep-get($config, #{$theme}, "v-icon-blue");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.theme--white {
|
||||
@ -1396,11 +1278,6 @@ a {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -66,6 +66,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
.custom-action-btn{
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.v-btn {
|
||||
background-color: map-deep-get($config,
|
||||
#{$theme},
|
||||
|
@ -17,18 +17,6 @@
|
||||
border: 0 !important;
|
||||
}
|
||||
|
||||
// &-body-container {
|
||||
// width: 100% !important;
|
||||
// }
|
||||
|
||||
// &-table {
|
||||
// width: 100% !important;
|
||||
// }
|
||||
|
||||
// &-lside-area .tui-grid-body-area {
|
||||
// margin-right: -11px;
|
||||
// }
|
||||
|
||||
&-lside-area .tui-grid-scrollbar-left-bottom {
|
||||
display: none;
|
||||
}
|
||||
@ -68,6 +56,12 @@
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
|
||||
th[data-column-name="_checked"] {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
.tui-grid-table{
|
||||
@ -75,6 +69,13 @@
|
||||
.tui-grid-cell-has-input .tui-grid-cell-content {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
th[data-column-name="_checked"] {
|
||||
&.tui-grid-cell-header {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.treeGrid {
|
||||
@ -150,48 +151,28 @@
|
||||
|
||||
&-body-container{
|
||||
border-right: 0;
|
||||
// border-right-color: map-deep-get($config,
|
||||
// #{$theme},
|
||||
// "tui-grid-cell-borderColor"
|
||||
// );
|
||||
// position: relative;
|
||||
width: auto !important;
|
||||
|
||||
.tui-grid-table-container{
|
||||
// width: 100% !important;
|
||||
.tui-grid-table {
|
||||
// width: 100% !important;
|
||||
// table-layout: fixed;
|
||||
// th, td {
|
||||
// &:last-child{
|
||||
// width: auto !important;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&-container,
|
||||
&-summary-area {
|
||||
&-summary-area,
|
||||
&-container {
|
||||
font-family: Inter;
|
||||
// color: #000000E0;
|
||||
|
||||
& ::-webkit-scrollbar {
|
||||
width: $scrollbar-width !important;
|
||||
height: $scrollbar-width !important;
|
||||
-webkit-appearance: initial;
|
||||
// background-color: map-deep-get($config,
|
||||
// #{$theme},
|
||||
// "tui-grid-cell-borderColor"
|
||||
// ) !important;
|
||||
background-color: rgba(0, 0, 0, 0) !important;
|
||||
border-radius: 3px !important;
|
||||
}
|
||||
|
||||
& ::-webkit-scrollbar-track {
|
||||
// background-color: map-deep-get($config,
|
||||
// #{$theme},
|
||||
// "tui-grid-cell-borderColor"
|
||||
// ) !important;
|
||||
background-color: rgba(0, 0, 0, 0) !important;
|
||||
}
|
||||
|
||||
& ::-webkit-scrollbar-thumb {
|
||||
width: 50px !important;
|
||||
height: 50px !important;
|
||||
background-color: map-deep-get($config, #{$theme}, "scrollbar-thumb");
|
||||
// background-color: rgba(0, 0, 0, 0);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.tui-grid-cell {
|
||||
|
||||
&.tui-grid-cell-summary {
|
||||
color: map-deep-get($config,
|
||||
#{$theme},
|
||||
@ -201,6 +182,32 @@
|
||||
}
|
||||
}
|
||||
|
||||
&-body-area {
|
||||
overflow: auto;
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
width: $scrollbar-width !important;
|
||||
height: $scrollbar-width !important;
|
||||
-webkit-appearance: initial;
|
||||
background-color: rgba(0, 0, 0, 0) !important;
|
||||
border-radius: 3px !important;
|
||||
// border-right: 1px solid;
|
||||
// border-right-color: map-deep-get($config, #{$theme}, "tui-grid-cell-borderColor");
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-track {
|
||||
background-color: rgba(0, 0, 0, 0) !important;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-thumb {
|
||||
height: 50px !important;
|
||||
background-color: map-deep-get($config, #{$theme}, "scrollbar-thumb");
|
||||
border-radius: 3px;
|
||||
// width: 50px !important;
|
||||
// background-color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
&-rside-area {
|
||||
background-color: map-deep-get($config, #{$theme}, "scrollbar-track");
|
||||
}
|
||||
@ -239,13 +246,13 @@
|
||||
&-scrollbar-right-bottom {
|
||||
width: $scrollbar-width !important;
|
||||
height: $scrollbar-width !important;
|
||||
// display: none !important;
|
||||
border-color: map-deep-get($config, #{$theme}, "cardBackground");
|
||||
background-color: map-deep-get($config, #{$theme}, "cardBackground");
|
||||
box-sizing: border-box;
|
||||
// display: none !important;
|
||||
// border: none !important;
|
||||
// bottom: -1px;
|
||||
// right: -2px;
|
||||
box-sizing: border-box;
|
||||
// display: none;
|
||||
}
|
||||
|
||||
@ -356,6 +363,10 @@
|
||||
#{$theme},
|
||||
"tui-grid-cell-backgroundColor"
|
||||
);
|
||||
// width: 100% !important;
|
||||
// .tui-grid-table {
|
||||
// width: 100% !important;
|
||||
// }
|
||||
}
|
||||
|
||||
&-row-odd,
|
||||
|
@ -230,6 +230,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
input[type="checkbox"] {
|
||||
width: 16px;
|
||||
height: 16px
|
||||
}
|
||||
|
||||
@each $theme in dark, light {
|
||||
@include theme($theme);
|
||||
@ -237,11 +241,19 @@
|
||||
.v-application.#{$theme}-mode {
|
||||
|
||||
.ant-checkbox-wrapper {
|
||||
.ant-checkbox {
|
||||
.ant-checkbox-inner {
|
||||
background-color: map-deep-get($config, #{$theme}, "ant-checkbox-bg"); // background for unchecked checkbox
|
||||
border-color: map-deep-get($config, #{$theme}, "ant-checkbox-border");
|
||||
}
|
||||
}
|
||||
|
||||
.ant-checkbox-checked {
|
||||
.ant-checkbox-inner {
|
||||
background: map-deep-get($config, #{$theme}, "ant-btn-primary-bg");
|
||||
background: map-deep-get($config, #{$theme}, "ant-btn-primary-bg"); // background for checked checkbox
|
||||
border-color:map-deep-get($config, #{$theme}, "ant-btn-primary-bg");
|
||||
color:map-deep-get($config, #{$theme}, "ant-btn-primary-color");
|
||||
|
||||
&.ant-checkbox-inner::after {
|
||||
border-color: map-deep-get($config, #{$theme}, "ant-btn-primary-color");
|
||||
}
|
||||
@ -403,6 +415,13 @@
|
||||
"v-input-textarea-border"
|
||||
);
|
||||
}
|
||||
|
||||
input[type="checkbox"] {
|
||||
accent-color: map-deep-get($config,
|
||||
#{$theme},
|
||||
"ant-btn-primary-bg"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
.v-radio {
|
||||
|
@ -15,8 +15,16 @@
|
||||
border-radius: 6px;
|
||||
border: solid 1px;
|
||||
height: 32px;
|
||||
// border-color: #424242;
|
||||
border-color: map-deep-get($config, #{$theme}, "tui-datepicker-border-color");
|
||||
color: map-deep-get($config, #{$theme}, "v-input-fieldset-color") !important;
|
||||
border-color: currentColor;
|
||||
// border-color: map-deep-get($config, #{$theme}, "tui-datepicker-border-color");
|
||||
|
||||
&:hover {
|
||||
border-color: map-deep-get($config, #{$theme}, "v-input-fieldset-hover-color" ) !important;
|
||||
}
|
||||
&:has(.v-input--is-focused){
|
||||
border-width: 2px;
|
||||
}
|
||||
|
||||
&.datepicker-large {
|
||||
height: 40px;
|
||||
|
@ -110,11 +110,11 @@ $config: (
|
||||
tui-grid-border-horziontal-color: #212224,
|
||||
tui-grid-border-vertical-color: #FFFFFF0F,
|
||||
tui-grid-cell-backgroundColor: #212224,
|
||||
tui-grid-cell-color: #fff,
|
||||
tui-grid-cell-insert-color: #13636c,
|
||||
tui-grid-cell-color: #FFFFFFD9,
|
||||
tui-grid-cell-insert-color: #2B2111,
|
||||
tui-grid-cell-selected-color: #0A224F,
|
||||
tui-grid-cell-modify-color: #13636c,
|
||||
tui-grid-cell-removed-color: #f6637b,
|
||||
tui-grid-cell-removed-color: #2A1215,
|
||||
tui-grid-cell-disabled-color: rgb(170, 170, 170),
|
||||
tui-grid-cell-hover-backgroundColor: #2d4571,
|
||||
v-tabs-items-border-color: #FFFFFF0F,
|
||||
@ -175,7 +175,10 @@ $config: (
|
||||
btn-header-select-color:#FFFFFFD9,
|
||||
subtitle-tab: #FFFFFFA6,
|
||||
v-header-border: #424242,
|
||||
v-chart-border: #424242,
|
||||
v-sidebar-border: #303030,
|
||||
ant-checkbox-bg: #212224,
|
||||
ant-checkbox-border: #424242,
|
||||
),
|
||||
light: (w-g5: $--color-gray_555,
|
||||
g5-w: $--color-white,
|
||||
@ -211,7 +214,6 @@ $config: (
|
||||
router-tab-item-hover-color: #1677ff,
|
||||
router-tab-slot-end-button-backgroundColor: #3f4d7d,
|
||||
v-btn-backgroundColor: #1677ff,
|
||||
// v-btn-backgroundColor: #fff,
|
||||
v-box: #FFFFFF,
|
||||
v-banner-border-color: #ddd,
|
||||
v-treeview-node-root-backgroundColor: #FFFFFF,
|
||||
@ -253,10 +255,10 @@ $config: (
|
||||
tui-grid-border-vertical-color: rgba(0, 0, 0, 0.06), //#d4d4d4,
|
||||
tui-grid-cell-backgroundColor: #fff,
|
||||
tui-grid-cell-color: #000000E0,
|
||||
tui-grid-cell-insert-color: #13636c,
|
||||
tui-grid-cell-insert-color: #FFFBE6,
|
||||
tui-grid-cell-selected-color: #E6F4FF,
|
||||
tui-grid-cell-modify-color: #e6f5f7,
|
||||
tui-grid-cell-removed-color: #fddde1,
|
||||
tui-grid-cell-removed-color: #FFF1F0,
|
||||
tui-grid-cell-hover-backgroundColor: #f5f5f5,
|
||||
v-tabs-items-border-color: #0000000F,
|
||||
v-tabs-backgroundColor: #ddd,
|
||||
@ -315,6 +317,9 @@ $config: (
|
||||
btn-header-select-bg:#FFFFFF,
|
||||
subtitle-tab: #000000A6,
|
||||
v-header-border: #D9D9D9,
|
||||
v-chart-border: #D9D9D9,
|
||||
v-sidebar-border: #F0F0F0,
|
||||
ant-checkbox-bg: #FFFFFF,
|
||||
ant-checkbox-border: #D9D9D9,
|
||||
),
|
||||
);
|
@ -61,7 +61,8 @@ export default {
|
||||
isDarkMode: 'isDarkMode',
|
||||
chartOption(state) {
|
||||
var dark_Col = [
|
||||
'#01AE6A',
|
||||
'#79B100',
|
||||
// '#01AE6A',
|
||||
'#FFB046',
|
||||
'#F6637B',
|
||||
'#944FE9',
|
||||
@ -194,7 +195,8 @@ export default {
|
||||
var lightCol_dashReadplcStatus = ['#3cc380', '#ffb13b', '#f98694'];
|
||||
|
||||
var light_Col = [
|
||||
'#3CC380',
|
||||
'#3BAD43',
|
||||
// '#3CC380',
|
||||
'#FFB13B',
|
||||
'#F98694',
|
||||
'#CF74E5',
|
||||
|
@ -426,7 +426,7 @@ export default {
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import "@/assets/scss/datepicker.scss";
|
||||
// @import "@/assets/scss/datepicker.scss";
|
||||
|
||||
::v-deep {
|
||||
.tui-timepicker-row {
|
||||
|
@ -9,7 +9,6 @@
|
||||
@dblclick="dblClick"
|
||||
@mouseover="mouseoverEvent"
|
||||
@mouseout="mouseoutEvent"
|
||||
@mousedown="onMousedown"
|
||||
@focusChange="focusChangeEvt"
|
||||
/>
|
||||
</template>
|
||||
@ -268,15 +267,7 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
onMousedown(evt) {
|
||||
this.handleSelectedRow(evt);
|
||||
},
|
||||
focusChangeEvt(e) {
|
||||
if(e.rowKey === 0) {
|
||||
this.handleSelectedRow(e);
|
||||
}
|
||||
},
|
||||
handleSelectedRow(e) {
|
||||
// console.log('focusChangeEvt1...')
|
||||
if (this.preventFocusChangeEvent(e)) {
|
||||
// console.log('prevent focusChangeEvt')
|
||||
@ -299,7 +290,6 @@ export default {
|
||||
startEditing(e) {
|
||||
// console.log('startEditing1...')
|
||||
if (this.preventFocusChangeEvent(e)) {
|
||||
// console.log('prevent startEditing')
|
||||
return;
|
||||
}
|
||||
|
||||
@ -311,7 +301,6 @@ export default {
|
||||
// console.log('startEditing2...')
|
||||
if (this.editorGrid && e.rowKey >= 0) {
|
||||
this.editorStartKey = e.rowKey;
|
||||
// console.log("E::", this.gridInstance.invoke("getRow", e.rowKey));
|
||||
this.gridInstance.invoke('startEditing', e.rowKey, e.columnName);
|
||||
this.$emit(
|
||||
'getRowsData',
|
||||
@ -617,6 +606,7 @@ export default {
|
||||
list.map(item => this.gridInstance.invoke('check', item));
|
||||
},
|
||||
refreshLayout() {
|
||||
// console.log("---------DEBUG---refreshLayout: ");
|
||||
this.gridInstance.invoke('refreshLayout');
|
||||
},
|
||||
refreshGrid(){
|
||||
@ -626,10 +616,8 @@ export default {
|
||||
// var containerEl = document.querySelector('.tui-grid-container')
|
||||
var parentEl = containerEl.parentElement;
|
||||
|
||||
|
||||
|
||||
// console.log("containerEl : ",containerEl);
|
||||
// console.log('parentEl : ', parentEl)
|
||||
// console.log("---------DEBUG---containerEl: ",containerEl);
|
||||
// console.log('---------DEBUG---parentEl: ', parentEl)
|
||||
// function refreshLayout(store, containerEl, parentEl) {
|
||||
var dimension = store.dimension;
|
||||
var autoWidth = dimension.autoWidth, fitToParentHeight = dimension.fitToParentHeight;
|
||||
@ -654,25 +642,25 @@ export default {
|
||||
// }
|
||||
},
|
||||
setOffsetTop(store, offsetTop) {
|
||||
// console.log("setOffsetTop");
|
||||
// console.log("---------DEBUG---setOffsetTop: ");
|
||||
store.dimension.offsetTop = offsetTop;
|
||||
},
|
||||
setWidth(_a, width, autoWidth) {
|
||||
// console.log("setWidth");
|
||||
// console.log("---------DEBUG---setWidth: ");
|
||||
var dimension = _a.dimension;
|
||||
dimension.autoWidth = autoWidth;
|
||||
dimension.width = width;
|
||||
},
|
||||
setHeaderHeight(store, height) {
|
||||
// console.log("setHeaderHeight")
|
||||
// console.log("---------DEBUG---setHeaderHeight: ");
|
||||
store.dimension.headerHeight = height;
|
||||
},
|
||||
setOffsetLeft(store, offsetLeft) {
|
||||
// console.log("setOffsetLeft")
|
||||
// console.log("---------DEBUG---setOffsetLeft: ");
|
||||
store.dimension.offsetLeft = offsetLeft;
|
||||
},
|
||||
setHeight(_a,height){
|
||||
// console.log("setHeight");
|
||||
// console.log("---------DEBUG---setHeight: ");
|
||||
var dimension = _a.dimension;
|
||||
var headerHeight = dimension.headerHeight, summaryHeight = dimension.summaryHeight, tableBorderWidth = dimension.tableBorderWidth;
|
||||
dimension.bodyHeight = height - headerHeight - summaryHeight - tableBorderWidth;
|
||||
@ -703,10 +691,11 @@ export default {
|
||||
// resetData() {
|
||||
// // console.log("resetData = ", this.tuigridProps.data);
|
||||
// this.$refs.tuigrid.invoke("resetData", this.tuigridProps.data);
|
||||
// }
|
||||
// },
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
::v-deep .tui-grid-container {
|
||||
.tui-grid-content-area {
|
||||
|
@ -1,8 +1,10 @@
|
||||
<template>
|
||||
<div class="d-flex flex-row justify-center align-center" style="gap: 12px">
|
||||
<a-button @click="btnActionsFnc('removeRightToLeft')" type="primary" ghost :icon="icons.remove" >
|
||||
<div class="d-flex justify-center align-center"
|
||||
:class="directionBtn === 'vertically'?'flex-row':'flex-column'"
|
||||
style="gap: 12px">
|
||||
<a-button @click="btnActionsFnc('removeRightToLeft')" type="primary" ghost :icon="icons.remove" class="custom-action-btn">
|
||||
</a-button>
|
||||
<a-button @click="btnActionsFnc('addLeftToRight')" type="primary" ghost :icon="icons.add">
|
||||
<a-button @click="btnActionsFnc('addLeftToRight')" type="primary" ghost :icon="icons.add" class="custom-action-btn">
|
||||
</a-button>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -10,7 +10,7 @@ export default {
|
||||
size: {
|
||||
type: String,
|
||||
require: false,
|
||||
default: "middle", // small, middle, large
|
||||
default: "default", // small, default, large
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
@ -12,15 +12,26 @@
|
||||
</label>
|
||||
</v-col>
|
||||
<v-col :cols="item.label ? 7 : ''" >
|
||||
<v-checkbox
|
||||
<!-- <v-checkbox
|
||||
v-model="chkValue"
|
||||
:disabled="disabledFlag"
|
||||
:readonly="item.readonly || false"
|
||||
:required="item.required || false"
|
||||
:false-value="false"
|
||||
:color="isDarkMode ? '#fff' : '#1890ff'"
|
||||
:color="isDarkMode ? '#1668DC' : '#1890ff'"
|
||||
@change="modifyValue"
|
||||
></v-checkbox>
|
||||
class="small-checkbox"
|
||||
></v-checkbox> -->
|
||||
<a-checkbox
|
||||
v-model="chkValue"
|
||||
:disabled="disabledFlag"
|
||||
:readonly="item.readonly || false"
|
||||
:required="item.required || false"
|
||||
:false-value="false"
|
||||
:color="isDarkMode ? '#1668DC' : '#1890ff'"
|
||||
@change="modifyValue"
|
||||
>
|
||||
</a-checkbox>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
@ -141,7 +152,7 @@ export default {
|
||||
modifyValue(e) {
|
||||
const dt = {
|
||||
columnName: this.item.valueNm,
|
||||
value: e,
|
||||
value: e.target.checked,
|
||||
};
|
||||
this.$emit('gridEditingFinish', dt);
|
||||
},
|
||||
|
@ -17,7 +17,9 @@
|
||||
:item-text="typeof item.list != 'string' ? 'text' : item.itemText"
|
||||
:item-value="typeof item.list != 'string' ? 'value' : item.itemValue" outlined :hide-details="true"
|
||||
class="v-select__custom" :disabled="item.disabled || false" :readonly="item.readonly || false"
|
||||
:required="item.required || false" @change="modifyValue($event, item.valueNm)" append-icon="">
|
||||
:required="item.required || false" @change="modifyValue($event, item.valueNm)" append-icon=""
|
||||
:menu-props="{ top: false, offsetY: true }"
|
||||
>
|
||||
|
||||
<template v-slot:append>
|
||||
<!-- Custom SVG icon -->
|
||||
|
@ -119,8 +119,7 @@
|
||||
/>
|
||||
</div> -->
|
||||
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-card-actions class="px-6 py-4 d-flex align-center justify-end">
|
||||
<a-button color="primary" type="primary" @click="closePop()">확인</a-button>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
@ -275,7 +274,12 @@ export default {
|
||||
// const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
||||
|
||||
const myOptions = {
|
||||
rowHeaders: ['rowNum'],
|
||||
rowHeaders: [
|
||||
{
|
||||
type: 'rowNum',
|
||||
align: 'right',
|
||||
},
|
||||
],
|
||||
columnOptions: {
|
||||
resizable: true,
|
||||
minWidth: 100
|
||||
@ -319,19 +323,19 @@ export default {
|
||||
header: '주의',
|
||||
width: 100,
|
||||
name: 'careStndVal',
|
||||
align: 'center'
|
||||
align: 'right'
|
||||
},
|
||||
{
|
||||
header: '경고',
|
||||
width: 100,
|
||||
name: 'warnStndVal',
|
||||
align: 'center'
|
||||
align: 'right'
|
||||
},
|
||||
{
|
||||
header: '가이드값',
|
||||
width: 100,
|
||||
name: 'totVal',
|
||||
align: 'center'
|
||||
align: 'right'
|
||||
},
|
||||
{
|
||||
header: '알람내용',
|
||||
|
@ -65,13 +65,10 @@
|
||||
|
||||
<!-- <div id="chartParent" ref="chartParent" style="height: 100px"> -->
|
||||
<div :style="'height: calc(50vh)'">
|
||||
<div class="d-flex align-center justify-space-between pa-4" style="height: 10%">
|
||||
<v-card-title class="pa-0 custom-title-4">사용량 계획</v-card-title>
|
||||
</div>
|
||||
<!-- <div id="chartParent" ref="chartParent" :style="'height: 80%'"> -->
|
||||
<div id="chartParent" ref="chartParent" style="height: 70%">
|
||||
<div id="chartParent" ref="chartParent" style="height: 100%" class="px-6">
|
||||
<component
|
||||
class="w100 h100"
|
||||
class="w100 h100 py-7 custom-chart"
|
||||
:is="loadChart ? 'Chart' : null"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:modalId="modalId"
|
||||
@ -130,7 +127,6 @@
|
||||
/>
|
||||
</div> -->
|
||||
|
||||
<v-divider></v-divider>
|
||||
<v-card-actions class="pa-5 d-flex align-center justify-end">
|
||||
<a-button color="primary" type="default" class="mr-2" dark @click="closePop()">취소</a-button>
|
||||
<a-button color="primary" type="primary" dark @click="setUpdate()">확정</a-button>
|
||||
@ -533,7 +529,7 @@ export default {
|
||||
seriesData = data.map(item => ({
|
||||
name: item.gubun == '2PLAN' ? '계획' : '전년실적',
|
||||
type: item.gubun == '2PLAN' ? 'line' : 'bar',
|
||||
data: targetMonthList.map(obj => item[obj] || null)
|
||||
data: targetMonthList.map(obj => item[obj] || null),
|
||||
// data: targetMonthList.map(obj => item[obj] || 0)
|
||||
}));
|
||||
this.nowSeriesData = seriesData;
|
||||
@ -558,7 +554,6 @@ export default {
|
||||
series: seriesData,
|
||||
tooltip: tooltipData
|
||||
};
|
||||
// console.log('option', option);
|
||||
await this.$nextTick(() => {
|
||||
|
||||
});
|
||||
@ -601,7 +596,6 @@ export default {
|
||||
sData2 = nowSeriesData.filter(item => {
|
||||
return item.name == '계획';
|
||||
})[0]['data'];
|
||||
// console.log('sData1', sData);
|
||||
if(targetMonth.includes('qty')){
|
||||
targetMonth = parseInt(targetMonth.slice(-2));
|
||||
}
|
||||
@ -610,13 +604,11 @@ export default {
|
||||
sData2[i] = sData[i] * targetRatio;
|
||||
}
|
||||
}
|
||||
// console.log('sData2', sData2);
|
||||
seriesData = nowSeriesData.map(item => ({
|
||||
...item,
|
||||
data: item.name == '계획' ? sData2 : item.data
|
||||
}));
|
||||
|
||||
// console.log('seriesData', seriesData);
|
||||
await this.$nextTick(() => {
|
||||
|
||||
});
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<v-row class="search-box" align="center" no-gutters>
|
||||
<v-col v-if="label" :cols="labelCols">
|
||||
<v-col v-if="label" :cols="labelCols" class="mr-2">
|
||||
<label for="" class="search-box-label">
|
||||
<v-icon v-if="iconShow" small
|
||||
:class="['mr-1', required ? 'icon-orange' : 'icon-blue']">$icoBulletPoint</v-icon>
|
||||
@ -8,39 +8,40 @@
|
||||
</label>
|
||||
</v-col>
|
||||
<v-col :cols="textCols">
|
||||
<v-text-field readonly append-icon="" :class="['v-input__custom', customClass]"
|
||||
<v-text-field readonly v-model="selectValue" append-icon="" :class="['v-input__custom', customClass]"
|
||||
@click="dialogOpenCloseEvent(dialog)" outlined :hide-details="true" :required="required || false"
|
||||
:disabled="disabled || false"><template v-slot:append>
|
||||
:disabled="disabled || false"
|
||||
:placeholder="placeholder"
|
||||
>
|
||||
<template v-slot:append>
|
||||
<!-- Custom SVG icon -->
|
||||
<v-icon>$icoSearch</v-icon>
|
||||
|
||||
</template></v-text-field>
|
||||
</template>
|
||||
</v-text-field>
|
||||
</v-col>
|
||||
<v-dialog ref="popModal" v-model="dialog" width="800" scrollable>
|
||||
<v-card style="height: 90vh;">
|
||||
<v-dialog ref="popModal" v-model="dialog" width="800" content-class="custom-dialog" scrollable>
|
||||
<v-card style="height: 100%;">
|
||||
<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">
|
||||
<div class="px-5 pt-2">
|
||||
<!-- <v-card class="searchFilter">
|
||||
</v-card> -->
|
||||
<v-row align="end" 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" />
|
||||
:label="'설비그룹'" :disabled="eqpmGrpDisabled" @update:propsValue="selectValue01 = $event"
|
||||
:labelCols="12" :textCols="12" :iconShow="true" />
|
||||
</v-col>
|
||||
<v-col :cols="3.5">
|
||||
<v-col>
|
||||
<!-- FAB -->
|
||||
<component :is="'SelectBoxMulti'" :propsValue="selectValue02"
|
||||
:itemList="selectValueList02" :label="'FAB'" :labelCols="12" :multiple="true"
|
||||
:disabled="fabDisabled" @update:propsValue="selectValue02 = $event" :textCols="12"
|
||||
:iconShow="true" />
|
||||
<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-col >
|
||||
<v-row>
|
||||
<v-col :cols="12" class="py-0">
|
||||
<label for="" class="search-box-label">
|
||||
@ -49,9 +50,8 @@
|
||||
</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>
|
||||
<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>
|
||||
|
||||
@ -60,7 +60,11 @@
|
||||
|
||||
</v-row>
|
||||
</v-col>
|
||||
<a-button icon="search" type="primary" @click="search()" class="search-button">조회</a-button>
|
||||
<v-col :cols="2" class="last-col mr-2">
|
||||
<a-button icon="search" :ripple="false" type="primary" @click="search()"
|
||||
class="search-button">조회</a-button>
|
||||
</v-col>
|
||||
|
||||
</v-row>
|
||||
|
||||
<!-- <v-row align="center" no-gutters style="margin-top: 14px;">
|
||||
@ -81,13 +85,13 @@
|
||||
</v-row> -->
|
||||
</div>
|
||||
|
||||
<v-card-text class="px-2 w100">
|
||||
<div ref="modalGridParent" style="height: 450px;" class="h100 w100">
|
||||
<div class="pa-5" style="height:calc(100% - 30px)">
|
||||
<div ref="modalGridParent" class="h100 w100">
|
||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null"
|
||||
:dataPath="searchParam.eqpmSelectPopData.eqpmSelectPop" :gridName="gridName"
|
||||
:parentPrgmId="parentPrgmId" @getRowsData="getRowData" />
|
||||
</div>
|
||||
</v-card-text>
|
||||
</div>
|
||||
|
||||
<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>
|
||||
@ -121,6 +125,11 @@ export default {
|
||||
require: false,
|
||||
default: '전력 계약 정보',
|
||||
},
|
||||
placeholder: {
|
||||
type: String,
|
||||
require: false,
|
||||
default: '',
|
||||
},
|
||||
valueNm: {
|
||||
type: String,
|
||||
require: false,
|
||||
@ -255,7 +264,7 @@ export default {
|
||||
},
|
||||
chkDialog() {
|
||||
if (this.isMulti) {
|
||||
this.$store.state.pageData[this.parentPrgmId][this.modalDataKey][this.myModalKey][this.gridName].option.rowHeaders = [{ type: 'checkbox' }];
|
||||
this.$store.state.pageData[this.parentPrgmId][this.modalDataKey][this.myModalKey][this.gridName].option.rowHeaders = [{ type: 'checkbox', width: 72 }];
|
||||
} else {
|
||||
this.$store.state.pageData[this.parentPrgmId][this.modalDataKey][this.myModalKey][this.gridName].option.rowHeaders = [];
|
||||
}
|
||||
@ -422,18 +431,15 @@ export default {
|
||||
{
|
||||
header: 'FAB',
|
||||
name: 'fabNm',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
header: '설비ID',
|
||||
name: 'eqpmId',
|
||||
align: 'center',
|
||||
name: 'eqpmId'
|
||||
// hidden:true
|
||||
},
|
||||
{
|
||||
header: '설비명',
|
||||
name: 'eqpmNm',
|
||||
align: 'center'
|
||||
name: 'eqpmNm'
|
||||
},
|
||||
{
|
||||
header: 'eccId',
|
||||
@ -517,11 +523,11 @@ export default {
|
||||
|
||||
|
||||
this.loadGrid = true;
|
||||
this.$nextTick(() => {
|
||||
if (this.isMulti) {
|
||||
this.getChecked();
|
||||
}
|
||||
});
|
||||
// this.$nextTick(() => {
|
||||
// if (this.isMulti) {
|
||||
// this.getChecked();
|
||||
// }
|
||||
// });
|
||||
|
||||
},
|
||||
setUpdate() {
|
||||
@ -573,3 +579,16 @@ var eqpmSelectPop = {
|
||||
}
|
||||
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
::v-deep {
|
||||
.last-col {
|
||||
flex-basis: content;
|
||||
}
|
||||
|
||||
.v-dialog {
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
|
@ -9,7 +9,9 @@
|
||||
<v-col :cols="label ? textCols : ''">
|
||||
<v-select v-model="selectValue" :items="searchParam[parentPrgmId].blocMstrList"
|
||||
item-text="blocNm" item-value="idx" append-icon="" outlined
|
||||
:hide-details="true" :class="['v-select__custom', customClass]">
|
||||
:hide-details="true" :class="['v-select__custom', customClass]"
|
||||
:menu-props="{ top: false, offsetY: true }"
|
||||
>
|
||||
<template v-slot:append><v-icon>$icoChevronDown</v-icon></template>
|
||||
</v-select>
|
||||
</v-col>
|
||||
|
@ -14,12 +14,14 @@
|
||||
<v-col :cols="label ? textCols : ''">
|
||||
<v-select v-model="innerValue" :items="itemList" item-text="text" item-value="value" solo outlined
|
||||
:hide-details="true" append-icon="" :class="['v-select__custom', customClass]" :disabled="disabled"
|
||||
:readonly="readonly"><template v-slot:append>
|
||||
:readonly="readonly"
|
||||
:menu-props="{ top: false, offsetY: true }"
|
||||
>
|
||||
<template v-slot:append>
|
||||
<!-- Custom SVG icon -->
|
||||
<v-icon>$icoChevronDown</v-icon>
|
||||
|
||||
|
||||
</template></v-select>
|
||||
</template>
|
||||
</v-select>
|
||||
<!-- @change="updateBlocCode($event)" -->
|
||||
</v-col>
|
||||
</v-row>
|
||||
|
@ -24,9 +24,24 @@
|
||||
:disabled="disabled"
|
||||
:readonly="readonly"
|
||||
append-icon=""
|
||||
><template v-slot:append>
|
||||
:menu-props="{ top: false, offsetY: true }"
|
||||
>
|
||||
<template v-slot:append>
|
||||
<v-icon>$icoChevronDown</v-icon>
|
||||
</template></v-select>
|
||||
</template>
|
||||
|
||||
<template v-slot:item="{item, attrs, on, props}">
|
||||
<v-list-item v-bind="attrs" v-on="on" >
|
||||
<v-list-item-content>
|
||||
<v-list-item-title class="d-flex justify-space-between">
|
||||
{{item.text}}
|
||||
<a-icon type="check" ></a-icon>
|
||||
</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</template>
|
||||
|
||||
</v-select>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
@ -125,4 +140,4 @@ export default {
|
||||
};
|
||||
</script>
|
||||
|
||||
<style></style>
|
||||
<style scoped lang="scss"></style>
|
||||
|
@ -11,7 +11,9 @@
|
||||
<v-col :cols="label ? textCols : ''">
|
||||
<v-select v-model="selectValue" :items="searchParam[parentPrgmId][dataKey + 'List']" item-text="commCdNm"
|
||||
item-value="commCd" outlined :hide-details="true" append-icon=""
|
||||
:class="['v-select__custom', customClass]">
|
||||
:class="['v-select__custom', customClass]"
|
||||
:menu-props="{ top: false, offsetY: true }"
|
||||
>
|
||||
<template v-slot:append>
|
||||
<v-icon>$icoChevronDown</v-icon>
|
||||
</template>
|
||||
|
@ -1,7 +1,10 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="d-flex justify-space-between align-center" style="min-height: 80px;">
|
||||
<span class="txt custom-title-4-new">Data Set TAG 연결 정보</span>
|
||||
<div class="d-flex justify-space-between align-center pb-5" >
|
||||
<!-- <span class="txt custom-title-4">Data Set TAG 연결 정보</span> -->
|
||||
<v-card-title class="pa-0">
|
||||
Data Set TAG 연결 정보
|
||||
</v-card-title>
|
||||
<Buttons :parentPrgmId="parentPrgmId" :bindingData="gridName" :detailList="detailDataSetTagList"
|
||||
:btnActionsFnc="btnActions" />
|
||||
</div>
|
||||
@ -14,22 +17,20 @@
|
||||
@gridEditingFinish="gridEditingFinish" />
|
||||
</div>
|
||||
|
||||
<div ref="formParent" style="min-height: 100px;" class="w100 h100">
|
||||
<v-row ref="contents" class="w100">
|
||||
<v-col :cols="6">
|
||||
<div ref="formParent" class="h100">
|
||||
<v-row align="end" ref="contents" class="">
|
||||
<v-col>
|
||||
<component :is="'Datepicker'" :parentPrgmId="parentPrgmId" :label="'검색기간'" :labelCols="12" :textCols="12" />
|
||||
</v-col>
|
||||
<v-col :cols="4">
|
||||
<v-col >
|
||||
<component :is="'selectCodeList'" :parentPrgmId="parentPrgmId" :label="'주기'" dataKey="mdlDataTerm"
|
||||
:sendParam="{ commGrpCd: 'MDL_DATA_TERM', useFg: '1' }" :addAll="false" :labelCols="12" :textCols="12" :iconShow="true" />
|
||||
</v-col>
|
||||
<v-col class="text-right align-self-end">
|
||||
<a-button @click="jamoviProcClickEvent('view1')" type="primary" :ripple="false" class="mr-1">데이터 분석</a-button>
|
||||
</v-col>
|
||||
<!-- <v-card class="searchFilter w100">
|
||||
<v-row align="center" no-gutters>
|
||||
</v-row>
|
||||
</v-card> -->
|
||||
<v-row align="center" no-gutters class="searchFilter mt-2">
|
||||
<v-col class="d-flex justify-end">
|
||||
<a-button @click="jamoviProcClickEvent('view1')" type="primary" :ripple="false" class="mb-1">데이터 분석</a-button>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</div>
|
||||
</div>
|
||||
@ -156,7 +157,7 @@ export default {
|
||||
{
|
||||
header: '모델 Data 구분',
|
||||
name: 'mdlDataTypeCd',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 120,
|
||||
formatter({ value }) {
|
||||
var retVal = '';
|
||||
@ -173,7 +174,7 @@ export default {
|
||||
{
|
||||
header: '사용여부',
|
||||
name: 'useFg',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 100,
|
||||
formatter({ value }) {
|
||||
value = value === true ? '1' : '0';
|
||||
@ -189,7 +190,7 @@ export default {
|
||||
// }
|
||||
// }
|
||||
},
|
||||
{ header: '비고', name: 'rmrk', align: 'center' },
|
||||
{ header: '비고', name: 'rmrk', align: 'left' },
|
||||
];
|
||||
|
||||
this.setGridColumn({
|
||||
|
@ -11,7 +11,7 @@
|
||||
:btnActionsFnc="btnActions"
|
||||
/>
|
||||
</div>
|
||||
<div ref="gridParent" style="height: calc(100vh - 760px);">
|
||||
<div ref="gridParent" >
|
||||
<component
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
|
@ -1,14 +1,16 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="d-flex justify-space-between align-center my-5" >
|
||||
<span class="txt custom-subtitle-tab">설비 추가 정보</span>
|
||||
<div class="d-flex justify-space-between align-center mb-5" >
|
||||
<v-card-title class="txt custom-title-4 pa-0">
|
||||
설비 추가 정보
|
||||
</v-card-title>
|
||||
<Buttons
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
:btnActionsFnc="btnActions"
|
||||
/>
|
||||
</div>
|
||||
<div ref="gridParent" style="height: calc(100vh - 520px);">
|
||||
<div ref="gridParent" class="w100" style="height: calc(100vh - 520px);">
|
||||
<Grid
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
@ -55,9 +57,9 @@ export default {
|
||||
dataPathMock: {
|
||||
'rowDetailGrid' : {
|
||||
column: [
|
||||
{ header: '추가 정보', name: 'id', headerAlign: 'left' },
|
||||
{ header: 'Data 구분', name: 'lable', headerAlign: 'left' },
|
||||
{ header: '추가 정보 값', name: 'type', headerAlign: 'left' },
|
||||
{ header: '추가 정보', name: 'id', headerAlign: 'left', align: 'left', },
|
||||
{ header: 'Data 구분', name: 'lable', headerAlign: 'left', align: 'left' },
|
||||
{ header: '추가 정보 값', name: 'type', headerAlign: 'left', align: 'right' },
|
||||
// { header: '비고', name: 'note', headerAlign: 'left' }
|
||||
],
|
||||
data: dataPathDataExample,
|
||||
@ -120,10 +122,10 @@ export default {
|
||||
bodyHeight: gridHeight,
|
||||
minBodyHeight: gridHeight,
|
||||
header: {
|
||||
height: 28,
|
||||
height: 38,
|
||||
},
|
||||
rowHeight: 29,
|
||||
minRowHeight: 29,
|
||||
// rowHeight: 39,
|
||||
// minRowHeight: 29,
|
||||
selectionUnit: 'row',
|
||||
editingEvent: 'click',
|
||||
};
|
||||
@ -263,11 +265,12 @@ export default {
|
||||
}
|
||||
return retVal;
|
||||
},
|
||||
minWidth: 230,
|
||||
},
|
||||
{
|
||||
header: 'Data 구분',
|
||||
name: 'addInfoDataKind',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
formatter({ value }) {
|
||||
let retVal = '';
|
||||
const newValue = addInfoDataKindList.filter(
|
||||
@ -278,6 +281,7 @@ export default {
|
||||
}
|
||||
return retVal;
|
||||
},
|
||||
minWidth: 330,
|
||||
},
|
||||
{
|
||||
header: '숫자 값',
|
||||
@ -296,7 +300,7 @@ export default {
|
||||
{
|
||||
header: '추가 정보 값',
|
||||
name: 'addInfoVal',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
renderer: {
|
||||
type: CustomRenderer,
|
||||
},
|
||||
@ -308,6 +312,7 @@ export default {
|
||||
// console.log('test :', test);
|
||||
return data.row.addInfoDataKind;
|
||||
},
|
||||
minWidth: 330,
|
||||
},
|
||||
//{ header: "추가 정보 값", name: "addInfoVal", align: "center" , editor: "text",
|
||||
//},
|
||||
@ -414,3 +419,4 @@ const dataPathDataExample = getPathDataExample({
|
||||
type: '사용', note: '-'
|
||||
});
|
||||
</script>
|
||||
<style lang="scss" scoped> </style>
|
||||
|
@ -1,7 +1,10 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="d-flex justify-space-between align-center my-5" >
|
||||
<span class="txt custom-subtitle-tab">설비 상수 정보</span>
|
||||
<div class="d-flex justify-space-between align-center mb-5" >
|
||||
<!-- <span class="txt custom-subtitle-tab">설비 상수 정보</span> -->
|
||||
<v-card-title class="txt custom-title-4 pa-0">
|
||||
설비 상수 정보
|
||||
</v-card-title>
|
||||
<Buttons :parentPrgmId="parentPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
||||
</div>
|
||||
<div ref="gridParent" style="min-height: calc(100vh - 800px);">
|
||||
@ -160,11 +163,11 @@ export default {
|
||||
{ header: '회사 ID', name: 'comId', hidden: true },
|
||||
{ header: '설비 번호', name: 'eqpmId', hidden: true },
|
||||
// { header: '대상항목', name: 'objId', align: 'center', hidden: true},
|
||||
{ header: '물리량 ID', name: 'pysclQtyId', align: 'left' },
|
||||
{ header: '물리량 명', name: 'pysclQtyNm', align: 'left' },
|
||||
{ header: '물리량값', name: 'pysclQtyVal', align: 'left' },
|
||||
{ header: '물리량 ID', name: 'pysclQtyId', align: 'left', minWidth: 230, },
|
||||
{ header: '물리량 명', name: 'pysclQtyNm', align: 'left', minWidth: 230, },
|
||||
{ header: '물리량값', name: 'pysclQtyVal', align: 'left', minWidth: 230, },
|
||||
// { header: '대상항목', name: 'objNm', align: 'left'},
|
||||
{ header: '대상항목', name: 'objId', align: 'left' },
|
||||
{ header: '대상항목', name: 'objId', align: 'left', minWidth: 230, },
|
||||
{
|
||||
header: '에너지원 명',
|
||||
name: 'ercId',
|
||||
@ -386,7 +389,7 @@ const myEqpmConstDetail = [
|
||||
required: true,
|
||||
openMode: 'CONST',
|
||||
cols: 6,
|
||||
class: 'py-3 pl-4',
|
||||
class: 'pt-3 pb-1 pl-4',
|
||||
eqpmGrpDisableFlag: true,
|
||||
// eqpmGrpId:'',
|
||||
labelCols: 12,
|
||||
@ -406,7 +409,7 @@ const myEqpmConstDetail = [
|
||||
disabled: true,
|
||||
readonly: true,
|
||||
cols: 6,
|
||||
class: 'py-3 pt-1 pl-4',
|
||||
class: 'pb-3 pt-0 pl-4',
|
||||
align: 'right',
|
||||
// class: 'py-2 d-none',
|
||||
labelCols: 12,
|
||||
@ -441,3 +444,11 @@ const dataPathDataExample = getPathDataExample({
|
||||
field2: '2222',
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
::v-deep {
|
||||
.tui-grid-layer-state {
|
||||
top: 40px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -1,14 +1,17 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="d-flex justify-space-between align-center my-5" >
|
||||
<span class="txt custom-subtitle-tab">설비 입출력 정보</span>
|
||||
<div class="d-flex justify-space-between align-center mb-5" >
|
||||
<!-- <span class="txt custom-subtitle-tab">설비 입출력 정보</span> -->
|
||||
<v-card-title class="txt custom-title-4 pa-0">
|
||||
설비 입출력 정보
|
||||
</v-card-title>
|
||||
<Buttons
|
||||
:parentPrgmId="parentPrgmId"
|
||||
:bindingData="gridName"
|
||||
:btnActionsFnc="btnActions"
|
||||
/>
|
||||
</div>
|
||||
<div ref="gridParent" style="height: calc(100vh - 800px);">
|
||||
<div ref="gridParent" style="height: calc(100vh - 700px);">
|
||||
<Grid
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
@ -18,7 +21,7 @@
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
/>
|
||||
</div>
|
||||
<div style="min-height: calc(100vh - 900px);" class="mt-4">
|
||||
<div style="height: 60vh;" class="mt-5">
|
||||
<component
|
||||
:is="'Form'"
|
||||
:parentPrgmId="parentPrgmId"
|
||||
@ -114,7 +117,7 @@ export default {
|
||||
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[4].class = 'py-3 pl-4';
|
||||
this.detailList[5].class = 'py-3 pl-4';
|
||||
this.detailList[6].class = 'py-3 pl-4 pt-0';
|
||||
} else {
|
||||
@ -226,11 +229,12 @@ export default {
|
||||
|
||||
return retVal;
|
||||
},
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
header: '대상 유형',
|
||||
name: 'objKind',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
formatter({ value }) {
|
||||
var retVal = '';
|
||||
|
||||
@ -242,9 +246,10 @@ export default {
|
||||
|
||||
return retVal;
|
||||
},
|
||||
minWidth: 150,
|
||||
},
|
||||
{ header: '물리량', name: 'pysclQtyId', align: 'left', hidden: true },
|
||||
{ header: '물리량', name: 'pysclQtyNm', align: 'left' },
|
||||
{ header: '물리량', name: 'pysclQtyNm', align: 'left', minWidth: 150, },
|
||||
{
|
||||
header: '물리량값',
|
||||
name: 'pysclQtyVal',
|
||||
@ -261,7 +266,7 @@ export default {
|
||||
{
|
||||
header: '계산여부',
|
||||
name: 'calcFg',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
formatter({ value }) {
|
||||
value = value === true ? '1' : '0';
|
||||
const newValue = _this.pageData.useFgList.filter(
|
||||
@ -269,6 +274,7 @@ export default {
|
||||
);
|
||||
return newValue[0].commCdNm;
|
||||
},
|
||||
minWidth: 100,
|
||||
},
|
||||
{ header: '분배율', name: 'distRt', align: 'right' },
|
||||
{ header: '등록 사용자', name: 'regUserNo', hidden: true },
|
||||
@ -612,3 +618,10 @@ const myEqpmIaoDetail = [
|
||||
},
|
||||
];
|
||||
</script>
|
||||
<style lang="scss" scoped >
|
||||
::v-deep {
|
||||
.tui-grid-layer-state {
|
||||
top: 40px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<div>
|
||||
<div
|
||||
class="d-flex justify-space-between align-center"
|
||||
style="height: 80px;"
|
||||
class="d-flex justify-space-between"
|
||||
style="height: 45px;"
|
||||
>
|
||||
<span class="txt custom-subtitle-tab">검침 대상 추가 정보</span>
|
||||
<Buttons
|
||||
@ -143,7 +143,6 @@ export default {
|
||||
class CustomRenderer {
|
||||
constructor(props) {
|
||||
//const { min, max } = props.columnInfo.renderer.options;
|
||||
//console.log('props: %o', props);
|
||||
|
||||
const el = document.createElement('input');
|
||||
if (
|
||||
@ -215,15 +214,12 @@ export default {
|
||||
}
|
||||
$(el).addClass('tui-grid-content-text');
|
||||
}
|
||||
// console.log('props: %o', props);
|
||||
// console.log('el: %o', el);
|
||||
this.el = el;
|
||||
|
||||
this.render(props);
|
||||
}
|
||||
|
||||
change(ev) {
|
||||
//console.log('props: %o', ev);
|
||||
if (ev.target.checked) {
|
||||
ev.target.value = 1;
|
||||
} else {
|
||||
@ -245,7 +241,6 @@ export default {
|
||||
} else {
|
||||
this.el.value = String(props.value);
|
||||
}
|
||||
//console.log('props: %o', props);
|
||||
}
|
||||
|
||||
mounted() {
|
||||
@ -275,7 +270,7 @@ export default {
|
||||
{
|
||||
header: 'Data 구분',
|
||||
name: 'addInfoDataKind',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
formatter({ value }) {
|
||||
let retVal = '';
|
||||
const newValue = addInfoDataKindList.filter(
|
||||
@ -323,8 +318,6 @@ export default {
|
||||
},
|
||||
//{ header: "추가 정보 값", name: "addInfoVal", align: "center" , editor: "text",
|
||||
// formatter({ value, row , column}) {
|
||||
// console.log("addInfoVal row : ", row);
|
||||
// console.log("addInfoVal state : ", column);
|
||||
// if(row.addInfoDataKind === "NUM"){
|
||||
// column.align = "right";
|
||||
// }else{
|
||||
|
@ -332,7 +332,7 @@ const myReadPlcTagDetail = [
|
||||
valueNm2: 'tagNm',
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'pr-4 pb-2 py-3',
|
||||
class: 'pr-4 pb-2 py-2',
|
||||
required: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
@ -345,7 +345,7 @@ const myReadPlcTagDetail = [
|
||||
valueNm: 'ercId',
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'pl-4 py-3',
|
||||
class: 'pl-4 pb-2 py-3',
|
||||
list: 'ercNmList',
|
||||
itemText: 'text',
|
||||
itemValue: 'value',
|
||||
|
@ -5,22 +5,12 @@
|
||||
<v-card class="searchFilter">
|
||||
<v-row algin="end" no-gutters>
|
||||
<v-col :cols="3">
|
||||
<InputText
|
||||
:parentPrgmId="myPrgmId"
|
||||
label="역할ID"
|
||||
valueNm="roleId"
|
||||
:searchOption="true"
|
||||
customClass="input-large"
|
||||
/>
|
||||
<InputText :parentPrgmId="myPrgmId" label="역할ID" valueNm="roleId" :searchOption="true"
|
||||
customClass="input-large" />
|
||||
</v-col>
|
||||
<v-col :cols="3">
|
||||
<InputText
|
||||
:parentPrgmId="myPrgmId"
|
||||
label="역할명"
|
||||
valueNm="roleNm"
|
||||
:searchOption="true"
|
||||
customClass="input-large"
|
||||
/>
|
||||
<InputText :parentPrgmId="myPrgmId" label="역할명" valueNm="roleNm" :searchOption="true"
|
||||
customClass="input-large" />
|
||||
</v-col>
|
||||
<v-col class="text-right d-flex justify-end align-end mr-3">
|
||||
<BtnSearch size="large" />
|
||||
@ -31,80 +21,60 @@
|
||||
</v-row>
|
||||
|
||||
<v-row ref="contents">
|
||||
<v-col cols="12" lg="2" >
|
||||
<v-col cols="12" lg="3">
|
||||
<v-card>
|
||||
<v-card-title>
|
||||
<span class="custom-title-4">역할 리스트</span>
|
||||
</v-card-title>
|
||||
<div ref="gridParent" class="px-5" style="height: 60vh;">
|
||||
<component
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:ref="gridName + myPrgmId"
|
||||
:gridName="gridName"
|
||||
:parentPrgmId="myPrgmId"
|
||||
@getRowsData="getRowData"
|
||||
/>
|
||||
<component :is="loadGrid ? 'Grid' : null" :ref="gridName + myPrgmId" :gridName="gridName"
|
||||
:parentPrgmId="myPrgmId" @getRowsData="getRowData" />
|
||||
</div>
|
||||
</v-card>
|
||||
</v-col>
|
||||
<v-col cols="12" lg="10" >
|
||||
<v-col cols="12" lg="9" class="pl-0">
|
||||
<v-card>
|
||||
<v-card-title>
|
||||
<span class="custom-title-4">역할 메뉴별 권한</span>
|
||||
</v-card-title>
|
||||
<v-row
|
||||
align="center"
|
||||
no-gutters
|
||||
:style="{ height: 'calc(100% - 62px)' }"
|
||||
class="px-5"
|
||||
>
|
||||
<v-col :cols="4" class="h100">
|
||||
<span
|
||||
class="body-1 font-weight-bold d-flex align-center"
|
||||
:style="{ minHeight: '36px' }"
|
||||
>[미배정]메뉴리스트</span
|
||||
>
|
||||
<v-row align="center" no-gutters :style="{ height: 'calc(100% - 62px)' }" class="px-5">
|
||||
<v-col class="h100" style="max-width: 400px;">
|
||||
<v-card-title class="pl-0 pb-3">
|
||||
<span class="custom-title-4">[미배정]메뉴리스트</span>
|
||||
</v-card-title>
|
||||
<!-- <span class="body-1 font-weight-bold d-flex align-center"
|
||||
:style="{ minHeight: '36px' }">[미배정]메뉴리스트</span> -->
|
||||
<div ref="treeGridParent" class="px-0 mt-2" style="height: 60vh;">
|
||||
<!-- <div
|
||||
ref="treeGridParent"
|
||||
class="w100 h100"
|
||||
>
|
||||
</div> -->
|
||||
<component
|
||||
:is="loadTreeGrid ? 'Grid' : null"
|
||||
:ref="gridName2 + myPrgmId"
|
||||
:gridName="gridName2"
|
||||
:parentPrgmId="myPrgmId"
|
||||
@getRowsData="getUnAsgnRowData"
|
||||
/>
|
||||
<component :is="loadTreeGrid ? 'Grid' : null" :ref="gridName2 + myPrgmId"
|
||||
:gridName="gridName2" :parentPrgmId="myPrgmId" @getRowsData="getUnAsgnRowData" />
|
||||
</div>
|
||||
</v-col>
|
||||
<v-col :cols="1">
|
||||
<ActionButtons
|
||||
:parentPrgmId="myPrgmId"
|
||||
:leftGridName="gridName2"
|
||||
:rightGridName="gridName3"
|
||||
:btnActionsFnc="dualGridBtnActions"
|
||||
/>
|
||||
</v-col>
|
||||
<!-- <v-col :cols="1.5">
|
||||
<ActionButtons :parentPrgmId="myPrgmId" :leftGridName="gridName2" :rightGridName="gridName3"
|
||||
:btnActionsFnc="dualGridBtnActions" />
|
||||
</v-col> -->
|
||||
<div class="pr-2 arrow-button">
|
||||
<ActionButtons :parentPrgmId="myPrgmId" :leftGridName="gridName2" :rightGridName="gridName3"
|
||||
:btnActionsFnc="dualGridBtnActions"/>
|
||||
</div>
|
||||
<v-col :cols="7" class="h100">
|
||||
<v-row
|
||||
justify="space-between"
|
||||
align="center"
|
||||
no-gutters
|
||||
class="px-5"
|
||||
>
|
||||
<v-row justify="space-between" align="center" no-gutters class="px-5 pl-0">
|
||||
<v-col :cols="11">
|
||||
<span class="body-1 font-weight-bold"
|
||||
>[배정]메뉴별권한 리스트</span
|
||||
>
|
||||
<v-card-title class="pl-0 pb-3">
|
||||
<span class="custom-title-4">[배정]메뉴별권한 리스트</span>
|
||||
</v-card-title>
|
||||
<!-- <span class="body-1 font-weight-bold d-flex align-center"
|
||||
:style="{ minHeight: '36px' }">[배정]메뉴별권한 리스트</span> -->
|
||||
<!-- <span class="body-1 font-weight-bold">[배정]메뉴별권한 리스트</span> -->
|
||||
</v-col>
|
||||
<v-col :cols="1" class="text-right">
|
||||
<Buttons
|
||||
:parentPrgmId="myPrgmId"
|
||||
:bindingData="gridName3"
|
||||
:btnActionsFnc="btnActions"
|
||||
/>
|
||||
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName3"
|
||||
:btnActionsFnc="btnActions" />
|
||||
</v-col>
|
||||
</v-row>
|
||||
<div ref="treeGridParent2" class="px-0 mt-2" style="height: 60vh;">
|
||||
@ -113,14 +83,9 @@
|
||||
class="w100 h100"
|
||||
>
|
||||
</div> -->
|
||||
<component
|
||||
:is="loadTreeGrid2 ? 'Grid' : null"
|
||||
:ref="gridName3 + myPrgmId"
|
||||
:gridName="gridName3"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:editorGrid="true"
|
||||
@getRowsData="getAsgnRowData"
|
||||
/>
|
||||
<component :is="loadTreeGrid2 ? 'Grid' : null" :ref="gridName3 + myPrgmId"
|
||||
:gridName="gridName3" :parentPrgmId="myPrgmId" :editorGrid="true"
|
||||
@getRowsData="getAsgnRowData" />
|
||||
</div>
|
||||
</v-col>
|
||||
</v-row>
|
||||
@ -286,8 +251,8 @@ export default {
|
||||
async gridInit() {
|
||||
//---------------------gridOption 설정 시작----------------------------
|
||||
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
||||
const treeGridHeight = this.$refs.treeGridParent.offsetHeight - 30;
|
||||
const treeGridHeight2 = this.$refs.treeGridParent2.offsetHeight - 30;
|
||||
const treeGridHeight = this.$refs.treeGridParent.offsetHeight - 50;
|
||||
const treeGridHeight2 = this.$refs.treeGridParent2.offsetHeight - 50;
|
||||
// const gridHeight = this.$refs.contents.offsetHeight - 30;
|
||||
|
||||
const myOptions = {
|
||||
@ -316,8 +281,10 @@ export default {
|
||||
treeColumnOptions: {
|
||||
name: 'menuNm',
|
||||
},
|
||||
scrollX: false,
|
||||
// scrollY: false,
|
||||
rowHeight: 37,
|
||||
minRowHeight: 37,
|
||||
scrollX: true,
|
||||
scrollY: true,
|
||||
};
|
||||
|
||||
this.setGridOption({
|
||||
@ -347,6 +314,9 @@ export default {
|
||||
const el = document.createElement('input');
|
||||
const { grid, rowKey, columnInfo } = props;
|
||||
el.type = 'checkbox';
|
||||
$(el).css('width', '16px');
|
||||
$(el).css('height', '16px');
|
||||
$(el).css('accent-color', '#1677FF');
|
||||
el.value = props.value;
|
||||
this.el = el;
|
||||
|
||||
@ -380,12 +350,12 @@ export default {
|
||||
const _this = this;
|
||||
|
||||
const myColumns = [
|
||||
{ header: '역할ID', name: 'roleId', align: 'center', minWidth: 70 },
|
||||
{ header: '역할명', name: 'roleNm', minWidth: 70 },
|
||||
{ header: '역할ID', name: 'roleId', align: 'left', minWidth: 70, width: 120 },
|
||||
{ header: '역할명', name: 'roleNm', minWidth: 70, align: 'left', width: 120 },
|
||||
{
|
||||
header: '사용여부',
|
||||
name: 'useFg',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
minWidth: 84,
|
||||
formatter({ value }) {
|
||||
const newValue = _this.pageData.useFgList.filter(
|
||||
@ -408,6 +378,7 @@ export default {
|
||||
{
|
||||
header: '메뉴명',
|
||||
name: 'menuNm',
|
||||
maxWidth: 120,
|
||||
validation: {
|
||||
dataType: 'string',
|
||||
validatorFn: (value, row) => {
|
||||
@ -840,4 +811,23 @@ function numberFormatter({ value }) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<style lang="scss" scoped>
|
||||
::v-deep {
|
||||
.arrow-button button {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.arrow-button svg {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -12,8 +12,8 @@
|
||||
:parentPrgmId="myPrgmId"
|
||||
:sendParam="{ comId }"
|
||||
customClass="select-large"
|
||||
labelCols="12"
|
||||
textCols="12"
|
||||
:labelCols="12"
|
||||
:textCols="12"
|
||||
/>
|
||||
<!-- <component
|
||||
:is="'selectCodeList'"
|
||||
|
@ -15,25 +15,15 @@
|
||||
:customClass="'input-large'" />
|
||||
</v-col>
|
||||
<v-col :cols="2.5">
|
||||
<component
|
||||
:is="'selectCodeList'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:label="'배치 실행 구분'"
|
||||
<component :is="'selectCodeList'" :parentPrgmId="myPrgmId" :label="'배치 실행 구분'"
|
||||
:dataKey="'searchBatchExecTp'"
|
||||
:sendParam="{ commGrpCd: 'CO_BATCH_EXEC_TP', useFg: '1' }"
|
||||
:addAll="true"
|
||||
:customClass="'select-large'"
|
||||
/>
|
||||
:sendParam="{ commGrpCd: 'CO_BATCH_EXEC_TP', useFg: '1' }" :addAll="true"
|
||||
:customClass="'select-large'" />
|
||||
</v-col>
|
||||
<v-col :cols="2.5" class="pr-4">
|
||||
<component
|
||||
:is="'selectCodeList'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:label="'사용여부'"
|
||||
:dataKey="'searchUseFg'"
|
||||
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
||||
:customClass="'select-large'"
|
||||
/>
|
||||
<component :is="'selectCodeList'" :parentPrgmId="myPrgmId" :label="'사용여부'"
|
||||
:dataKey="'searchUseFg'" :sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
||||
:customClass="'select-large'" />
|
||||
</v-col>
|
||||
<BtnSearch size="large" class="mr-2" />
|
||||
|
||||
@ -42,9 +32,9 @@
|
||||
</v-col>
|
||||
</v-row>
|
||||
|
||||
<v-row ref="contents" class="mt-4">
|
||||
<v-row ref="contents" class="mt-4 h100">
|
||||
<!-- 배치 리스트 -->
|
||||
<v-col :cols="6" class="h100 pr-2">
|
||||
<v-col :cols="6" class="pr-2">
|
||||
<v-card class="pb-5">
|
||||
<div class="d-flex align-center justify-space-between pa-4">
|
||||
<!-- <v-card-title>
|
||||
@ -56,7 +46,7 @@
|
||||
:btnActionsFnc="btnActions" />
|
||||
</div>
|
||||
<div class="px-4">
|
||||
<div ref="gridParent" class="h100 w100">
|
||||
<div ref="gridParent" class="h100 w100" style="height:calc(100% - 70px)">
|
||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :parentPrgmId="myPrgmId"
|
||||
:gridName="gridName" @getRowsData="getRowData" />
|
||||
</div>
|
||||
@ -65,7 +55,7 @@
|
||||
</v-card>
|
||||
</v-col>
|
||||
<!-- 배치 상세 -->
|
||||
<v-col :cols="6" class="h100 pl-3">
|
||||
<v-col :cols="6" class="pl-3">
|
||||
<v-card class="pd-y-20 h100">
|
||||
<v-card-title class="d-flex justify-space-between align-end pa-4">
|
||||
<span class="tit ft-size_20 ft-weight_600">배치 상세</span>
|
||||
@ -82,14 +72,17 @@
|
||||
<v-card style="height: 100%">
|
||||
<v-card-title class="v-card__title d-flex align-center justify-space-between">
|
||||
<span class="custom-title-4">DB 프로시져 파라메터 설정</span>
|
||||
<div>
|
||||
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridNameParam"
|
||||
:btnActionsFnc="btnActionsParam" />
|
||||
</div>
|
||||
<a-button icon="close" type="text" @click="dialog = false"></a-button>
|
||||
|
||||
</v-card-title>
|
||||
<div class="pa-5">
|
||||
<v-row align="center" no-gutters>
|
||||
<v-col cols="12" class="text-right"> </v-col>
|
||||
<v-row align="end" no-gutters>
|
||||
<v-col cols="12" class="d-flex justify-end">
|
||||
|
||||
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridNameParam"
|
||||
:btnActionsFnc="btnActionsParam" />
|
||||
|
||||
</v-col>
|
||||
</v-row>
|
||||
</div>
|
||||
<v-card-text style="height: 300px;">
|
||||
@ -101,10 +94,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn color="primary" dark @click="setParamChangeData()">확인</v-btn>
|
||||
<v-btn color="primary" dark @click="dialog = false">닫기</v-btn>
|
||||
<v-card-actions class="px-6 py-4 d-flex align-center justify-end">
|
||||
<a-button :ripple="false" @click="dialog = false" class="mr-2">닫기</a-button>
|
||||
<a-button :ripple="false" type="primary" @click="setParamChangeData()">확인</a-button>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
@ -261,7 +253,7 @@ export default {
|
||||
|
||||
const _this = this;
|
||||
const myColumns = [
|
||||
{ header: '배치ID', name: 'batchId', align: 'center', width: 100 },
|
||||
{ header: '배치ID', name: 'batchId', align: 'right', width: 100 },
|
||||
{ header: '배치명', name: 'batchNm', minWidth: 200 },
|
||||
{
|
||||
header: '배치 실행 구분',
|
||||
@ -283,7 +275,6 @@ export default {
|
||||
{
|
||||
header: '사용여부',
|
||||
name: 'useFg',
|
||||
align: 'center',
|
||||
width: 145,
|
||||
formatter({ value }) {
|
||||
let retVal = '';
|
||||
@ -567,6 +558,10 @@ export default {
|
||||
selectionUnit: 'row',
|
||||
editingEvent: 'click',
|
||||
scrollX: false,
|
||||
header: {
|
||||
height: 37,
|
||||
},
|
||||
rowHeight: 37,
|
||||
};
|
||||
this.setGridOption({
|
||||
gridKey: this.gridNameParam,
|
||||
@ -592,7 +587,6 @@ export default {
|
||||
{
|
||||
header: 'MODE',
|
||||
name: 'mode',
|
||||
align: 'center',
|
||||
formatter({ value }) {
|
||||
return value == ('OUT' || 'out') ? 'OUT' : 'IN';
|
||||
},
|
||||
@ -642,7 +636,7 @@ export default {
|
||||
},
|
||||
getRowParamData() {
|
||||
this.paramLoadGrid = false;
|
||||
// let res = [];
|
||||
let res = [];
|
||||
|
||||
// /* this.pageData.paramStrData 처리 */
|
||||
// // console.log("this.pageData.paramStrData : ", JSON.parse(this.pageData.paramStrData));
|
||||
@ -717,7 +711,6 @@ export default {
|
||||
},
|
||||
inputClick(event, item, valueNm) {
|
||||
if (valueNm == 'refVal1') {
|
||||
this.dialog = true;
|
||||
const rowIdxKey = this.$refs[this.gridName].gridInstance.invoke(
|
||||
'getFocusedCell',
|
||||
).rowKey;
|
||||
|
@ -46,19 +46,21 @@
|
||||
icon="delete">삭제</a-button>
|
||||
</div>
|
||||
</v-col>
|
||||
<v-col :cols="12" class="mt-5">
|
||||
<v-col :cols="12" class="mt-5 pb-4">
|
||||
<v-card-title class="custom-title-6 pa-0">{{ viewActionData.title }}</v-card-title>
|
||||
</v-col>
|
||||
<v-col :cols="12" style="min-height: 30vh;" class="pa-0">
|
||||
<v-col :cols="12" style="min-height: 30vh;" class="pa-0 custom-view">
|
||||
<v-card class="pa-3" style="overflow-y:auto;">
|
||||
<viewer v-if="viewActionData.viewerFlag" ref="tuiViewer" height="inherit"
|
||||
:initialValue="viewActionData.content" theme="white"
|
||||
:class="[isDarkMode ? 'theme--white' : 'theme--black', 'custom-view pa-3']" />
|
||||
:class="[isDarkMode ? 'theme--white' : 'theme--black']" />
|
||||
</v-card>
|
||||
</v-col>
|
||||
<v-col :cols="6" class="mt-5">
|
||||
<v-card-title class="custom-title-7 pa-0">
|
||||
파일목록
|
||||
</v-card-title>
|
||||
<div v-for="fileData in viewActionData.fileData" :key="fileData.apndFileId" class="file-item">
|
||||
<div v-for="fileData in viewActionData.fileData" :key="fileData.apndFileId" class="file-item" style="background-color: unset;">
|
||||
<a @click.prevent="downloadFile(fileData)">
|
||||
<div class="d-flex justify-start search-box-label">
|
||||
<v-icon>mdi-paperclip</v-icon>
|
||||
@ -187,13 +189,26 @@
|
||||
<div v-for="(fileData, index) in updateActionData.fileData" :key="fileData.apndFileId"
|
||||
class="file-item d-flex justify-space-between">
|
||||
<div class="file-item-detail">
|
||||
<v-icon>mdi-paperclip</v-icon>
|
||||
<v-icon style="font-size: 18px;">mdi-paperclip</v-icon>
|
||||
<span href="#" class="file-item-name">{{ fileData.name }}</span>
|
||||
</div>
|
||||
<a-icon type="delete" class="v-icon pointer"
|
||||
@click="updateActionData.fileData.splice(index, 1)" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="" v-if="updateActionData.currentFileList">
|
||||
<div v-for="(fileData, index) in updateActionData.currentFileList"
|
||||
:key="fileData.apndFileId" class="file-item d-flex justify-space-between">
|
||||
<div class="file-item-detail">
|
||||
<v-icon style="font-size: 18px;">mdi-paperclip</v-icon>
|
||||
<span @click.prevent="downloadFile(fileData)" href="#"
|
||||
class="file-item-name pointer">{{ fileData.apndFileNm + '.' +
|
||||
fileData.apndFileExt }}</span>
|
||||
</div>
|
||||
<a-icon type="delete" class="v-icon pointer"
|
||||
@click="addFileToDeleteFileList(fileData)" />
|
||||
</div>
|
||||
</div>
|
||||
<a-button class="mt-2" icon="upload" @click="$refs.updateInputFile.$refs.input.click()">
|
||||
업로드
|
||||
</a-button>
|
||||
@ -1044,7 +1059,7 @@ const defaultData = {
|
||||
.custom-view {
|
||||
border: 1px solid;
|
||||
border-radius: 6px;
|
||||
height: 100%;
|
||||
height: 0;
|
||||
|
||||
@each $theme in dark, light {
|
||||
@include theme($theme);
|
||||
@ -1065,5 +1080,10 @@ const defaultData = {
|
||||
.toastui-editor-mode-switch .tab-item {
|
||||
color: #000000E0
|
||||
}
|
||||
|
||||
.v-icon.anticon-delete svg {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -7,28 +7,15 @@
|
||||
<v-card class="searchFilter">
|
||||
<v-row align="end" no-gutters>
|
||||
<v-col :cols="3">
|
||||
<component
|
||||
:is="'selectCodeList'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:label="'사용여부'"
|
||||
:dataKey="'selectUseFg'"
|
||||
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
||||
:addAll="true"
|
||||
customClass="select-large"
|
||||
/>
|
||||
<component :is="'selectCodeList'" :parentPrgmId="myPrgmId" :label="'사용여부'"
|
||||
:dataKey="'selectUseFg'" :sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
||||
:addAll="true" customClass="select-large" />
|
||||
</v-col>
|
||||
<v-col :cols="3">
|
||||
<InputText
|
||||
:parentPrgmId="myPrgmId"
|
||||
label="프로그램명"
|
||||
valueNm="prgmNm"
|
||||
:searchOption="true"
|
||||
:labelCols="12"
|
||||
:textCols="12"
|
||||
customClass="input-large"
|
||||
/>
|
||||
<InputText :parentPrgmId="myPrgmId" label="프로그램명" valueNm="prgmNm" :searchOption="true"
|
||||
:labelCols="12" :textCols="12" customClass="input-large" />
|
||||
</v-col>
|
||||
<v-col :cols="5" class="text-right">
|
||||
<v-col :cols="6" class="text-right">
|
||||
<BtnSearch size="large" />
|
||||
</v-col>
|
||||
</v-row>
|
||||
@ -39,28 +26,19 @@
|
||||
<v-row ref="contents">
|
||||
<!-- 프로그램 리스트 -->
|
||||
<v-col :cols="5">
|
||||
<v-card class="pb-5">
|
||||
<div class="d-flex align-center justify-space-between pa-5">
|
||||
<v-card class="pa-5">
|
||||
<div class="d-flex align-center justify-space-between">
|
||||
<v-card-title class="pa-0">프로그램 리스트</v-card-title>
|
||||
<div>
|
||||
<Buttons
|
||||
:parentPrgmId="myPrgmId"
|
||||
:bindingData="gridName"
|
||||
:detailList="detailList"
|
||||
:btnActionsFnc="btnActions"
|
||||
/>
|
||||
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :detailList="detailList"
|
||||
:btnActionsFnc="btnActions" />
|
||||
</div>
|
||||
</div>
|
||||
<div ref="gridParent" style="height: 60vh">
|
||||
<div ref="gridParent" class="pt-5" style="height: 60vh">
|
||||
<!-- <div ref="gridParent" class="px-5 h100">
|
||||
</div> -->
|
||||
<component
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:gridName="gridName"
|
||||
@getRowsData="getRowData"
|
||||
/>
|
||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :parentPrgmId="myPrgmId"
|
||||
:gridName="gridName" @getRowsData="getRowData" />
|
||||
</div>
|
||||
</v-card>
|
||||
</v-col>
|
||||
@ -71,13 +49,8 @@
|
||||
<v-card-title class="pa-0">프로그램 상세</v-card-title>
|
||||
</div>
|
||||
<div class="px-5" style="min-height:calc(100% - 76px)">
|
||||
<component
|
||||
:is="'Form'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:bindingData="gridName"
|
||||
:detailList="detailList"
|
||||
@gridEditingFinish="gridEditingFinish"
|
||||
/>
|
||||
<component :is="'Form'" :parentPrgmId="myPrgmId" :bindingData="gridName"
|
||||
:detailList="detailList" @gridEditingFinish="gridEditingFinish" />
|
||||
<!-- <div class="w100">
|
||||
</div> -->
|
||||
</div>
|
||||
@ -130,23 +103,6 @@ export default {
|
||||
gridName: 'rowGrid',
|
||||
// rowGridOrigin: [],
|
||||
detailList: myDetail,
|
||||
|
||||
dataPathMock: {
|
||||
'rowGrid': {
|
||||
column: [
|
||||
{ header: '프로그램ID', name: 'field1', align: 'left' },
|
||||
{ header: '프로그램덤', name: 'field2', align: 'left' },
|
||||
{ header: '타임', name: 'field3', align: 'left' },
|
||||
{ header: '사용여부', name: 'field4', align: 'left' }
|
||||
],
|
||||
data: dataPathDataExample,
|
||||
defaultRow: dataPathDataExample,
|
||||
option: {
|
||||
scrollY: false,
|
||||
scrollX: false,
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -218,17 +174,17 @@ export default {
|
||||
const gridHeight = this.$refs.gridParent.offsetHeight - 36;
|
||||
|
||||
const myOptions = {
|
||||
scrollX: false,
|
||||
scrollY: true,
|
||||
};
|
||||
// console.log("this.pageData", this.pageData)
|
||||
const _this = this;
|
||||
const myColumns = [
|
||||
{ header: '프로그램ID', name: 'prgmId', align: 'center' },
|
||||
{ header: '프로그램명', name: 'prgmNm' },
|
||||
{ header: '프로그램ID', name: 'prgmId', align: 'left' },
|
||||
{ header: '프로그램명', name: 'prgmNm', align: 'left' },
|
||||
{
|
||||
header: '타입',
|
||||
name: 'prgmTpCd',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
formatter({ value }) {
|
||||
return value ? (value === '1' ? '프로그램' : '팝업') : null;
|
||||
},
|
||||
@ -236,7 +192,7 @@ export default {
|
||||
{
|
||||
header: '사용여부',
|
||||
name: 'useFg',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
formatter({ value }) {
|
||||
value = value === true ? '1' : '0';
|
||||
const newValue = _this.pageData.selectUseFgList.filter(
|
||||
@ -487,7 +443,7 @@ const myDetail = [
|
||||
valueNm: 'prgmTpCd',
|
||||
essential: true,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-2 pt-5',
|
||||
list: [
|
||||
{ text: '프로그램', value: '1' },
|
||||
{ text: '팝업', value: '2' },
|
||||
@ -502,10 +458,11 @@ const myDetail = [
|
||||
essential: true,
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-2 pt-13',
|
||||
value: { '1': true, '0': false },
|
||||
required: true,
|
||||
textCols: 12,
|
||||
labelCols:12,
|
||||
iconShow: true
|
||||
},
|
||||
{
|
||||
@ -514,7 +471,7 @@ const myDetail = [
|
||||
valueNm: 'url',
|
||||
disabled: false,
|
||||
cols: 12,
|
||||
class: 'py-2',
|
||||
class: 'py-2 pt-4',
|
||||
required: true,
|
||||
textCols: 12,
|
||||
iconShow: true
|
||||
@ -525,7 +482,7 @@ const myDetail = [
|
||||
valueNm: 'regUserNo',
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-2 pt-5',
|
||||
placeholder: '시스템 자동입력',
|
||||
textCols: 12,
|
||||
iconShow: true
|
||||
@ -536,7 +493,7 @@ const myDetail = [
|
||||
valueNm: 'regDttm',
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-2 pt-5',
|
||||
placeholder: '시스템 자동입력',
|
||||
textCols: 12,
|
||||
iconShow: true
|
||||
@ -547,7 +504,7 @@ const myDetail = [
|
||||
valueNm: 'procUserNo',
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-2 pt-5',
|
||||
placeholder: '시스템 자동입력',
|
||||
textCols: 12,
|
||||
iconShow: true
|
||||
@ -558,19 +515,10 @@ const myDetail = [
|
||||
valueNm: 'procDttm',
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
class: 'py-2 pt-5',
|
||||
placeholder: '시스템 자동입력',
|
||||
textCols: 12,
|
||||
iconShow: true
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
import { getPathDataExample } from '@/const/const'
|
||||
const dataPathDataExample = getPathDataExample({
|
||||
field1: 'PRG0001',
|
||||
field2: '대시보드',
|
||||
field3: '프로그램',
|
||||
field4: '사용'
|
||||
});
|
||||
</script>
|
||||
|
@ -840,7 +840,7 @@ export default {
|
||||
{ header: "주의", name: "careStndVal", align: "right", width: 40 },
|
||||
{ header: "경고", name: "warnStndVal", align: "right", width: 40 },
|
||||
{ header: "가이드", name: "totVal", align: "right", width: 40 },
|
||||
{ header: "알람 내용", name: "alrmMsg", align: "left" },
|
||||
{ header: "알람 내용", name: "alrmMsg", align: "left", resizable: false },
|
||||
{ header: "설비종류", name: "eqpmKindId", align: "left", hidden: true },
|
||||
{ header: "설비종류", name: "eqpmKindNm", align: "left", hidden: true },
|
||||
];
|
||||
|
@ -3,7 +3,7 @@
|
||||
<v-row ref="searchFilter">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
<v-row align="center" no-gutters>
|
||||
<v-row align="end" no-gutters>
|
||||
<v-col :cols="2.5">
|
||||
<component
|
||||
:is="'selectCodeList'"
|
||||
@ -49,8 +49,8 @@
|
||||
:parentPrgmId="myPrgmId"
|
||||
label="공정명"
|
||||
valueNm="eccNm"
|
||||
:labelCols="2"
|
||||
:textCols="9"
|
||||
:labelCols="12"
|
||||
:textCols="12"
|
||||
:searchOption="true"
|
||||
/>
|
||||
</v-col>
|
||||
@ -59,7 +59,13 @@
|
||||
</v-col>
|
||||
</v-row>
|
||||
<v-row align="center" no-gutters>
|
||||
|
||||
<div style="display: none">
|
||||
<component
|
||||
:is="'SelectBlocMstr'"
|
||||
ref="SelectBlocMstr"
|
||||
:parentPrgmId="myPrgmId"
|
||||
/>
|
||||
</div>
|
||||
</v-row>
|
||||
</v-card>
|
||||
</v-col>
|
||||
@ -91,7 +97,7 @@
|
||||
</div>
|
||||
</v-card>
|
||||
</v-col>
|
||||
<v-col :cols="7" class="h100">
|
||||
<v-col :cols="7" style="min-height:75vh;">
|
||||
<v-card class="pb-5">
|
||||
<v-card-title class="custom-title-4" style="min-height:76px;"
|
||||
>공정 상세
|
||||
|
@ -167,7 +167,7 @@ export default {
|
||||
header: '설비종류ID',
|
||||
name: 'eqpmKindId',
|
||||
width: gridWidth * 0.5,
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
},
|
||||
{
|
||||
header: '설비종류명',
|
||||
|
@ -365,7 +365,7 @@ export default {
|
||||
header: '사업장',
|
||||
name: 'blocId',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
hidden: true,
|
||||
formatter({ value }) {
|
||||
let retVal = '';
|
||||
@ -382,7 +382,7 @@ export default {
|
||||
header: '사용 여부',
|
||||
name: 'useFg',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
formatter({ value }) {
|
||||
const newValue = _this.pageData.useFgList.filter(
|
||||
item => item.commCd == value,
|
||||
|
@ -27,7 +27,7 @@
|
||||
</v-col>
|
||||
<v-col class="text-right d-flex align-end align-self-end justify-end">
|
||||
<a-button @click="jamoviClickEvent('view')" type="primary" :ripple="false" class="mr-1"
|
||||
depressed size="large">Jamovi</a-button>
|
||||
depressed size="large">JAMOVI</a-button>
|
||||
<BtnSearch @click="search" size="large" />
|
||||
</v-col>
|
||||
</v-row>
|
||||
@ -53,7 +53,8 @@
|
||||
</v-col>
|
||||
<v-col :cols="7" >
|
||||
<v-card class="pb-5">
|
||||
<v-card-title class="custom-title-4" style="min-height:76px;">Data Set 상세
|
||||
<v-card-title class="custom-title-4 pb-0 mb-2" >
|
||||
Data Set 상세
|
||||
</v-card-title>
|
||||
<div class="px-5" style="min-height:calc(100% - 76px)">
|
||||
<v-tabs v-model="tab">
|
||||
@ -283,14 +284,14 @@ export default {
|
||||
{
|
||||
header: '모델링 DataSet ID',
|
||||
name: 'dataSetId',
|
||||
align: 'center',
|
||||
width: 180,
|
||||
align: 'left',
|
||||
minWidth: 200,
|
||||
},
|
||||
{
|
||||
header: 'DataSet 명',
|
||||
name: 'dataSetNm',
|
||||
align: 'left',
|
||||
width: 200,
|
||||
minWidth: 200,
|
||||
},
|
||||
{
|
||||
header: '사업장',
|
||||
@ -311,8 +312,8 @@ export default {
|
||||
{
|
||||
header: '사용 여부',
|
||||
name: 'useFg',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
minWidth: 200,
|
||||
align: 'left',
|
||||
formatter({ value }) {
|
||||
value = value === true ? '1' : '0';
|
||||
const newValue = _this.pageData.useFgList.filter(
|
||||
@ -321,7 +322,7 @@ export default {
|
||||
return newValue[0].commCdNm;
|
||||
},
|
||||
},
|
||||
{ header: '비고', name: 'rmrk', align: 'left' },
|
||||
{ header: '비고', name: 'rmrk', align: 'left', minWidth: 100, },
|
||||
];
|
||||
|
||||
this.setGridColumn({
|
||||
|
@ -67,14 +67,8 @@
|
||||
</div>
|
||||
<div class="px-4" style="height:calc(100% - 76px)">
|
||||
<div ref="gridParent" class="w100 h100">
|
||||
<component
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:gridName="gridName"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:columnClickEventFlag="true"
|
||||
@columnClick="columnClick"
|
||||
/>
|
||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
||||
:parentPrgmId="myPrgmId" :columnClickEventFlag="true" @columnClick="columnClick" />
|
||||
</div>
|
||||
</div>
|
||||
</v-card>
|
||||
@ -552,7 +546,12 @@ export default {
|
||||
columnOptions: {
|
||||
resizable: true,
|
||||
},
|
||||
rowHeaders: ['rowNum'],
|
||||
rowHeaders: [
|
||||
{
|
||||
type: 'rowNum',
|
||||
align: 'right',
|
||||
},
|
||||
],
|
||||
header: {
|
||||
height: 37,
|
||||
},
|
||||
@ -642,7 +641,7 @@ export default {
|
||||
{
|
||||
header: '평가',
|
||||
name: 'okFg',
|
||||
align: 'center',
|
||||
align: 'left',
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
|
@ -21,22 +21,21 @@
|
||||
:itemList="selectValueList03" :label="'FAB'" :multiple="fabMultiple"
|
||||
@update:propsValue="selectValue03 = $event" :labelCols="12" :textCols="12" customClass="select-large" />
|
||||
</v-col>
|
||||
|
||||
</v-row>
|
||||
<v-row align="center" no-gutters>
|
||||
<v-col :cols="3">
|
||||
<!-- 효율지표 -->
|
||||
<component ref="effcIdxSelect" :is="'SelectBoxMulti'" :propsValue="selectValue04"
|
||||
:itemList="selectValueList04" :label="'효율지표'" :multiple="effcIdxMultiple"
|
||||
@update:propsValue="selectValue04 = $event" :labelCols="12" :textCols="12" customClass="select-large" />
|
||||
</v-col>
|
||||
</v-row>
|
||||
<v-row align="center" no-gutters>
|
||||
<v-col :cols="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">
|
||||
<v-col :cols="6.5" class="text-right d-flex align-end justify-end align-self-end">
|
||||
<!-- 조회버튼 -->
|
||||
<a-button type="primary" class="d-inline-flex-1 mr-1" size="large" @click="createExcel()">엑셀</a-button>
|
||||
<a-button icon="file-excel" class="d-inline-flex-1 mr-1" size="large" @click="createExcel()">엑셀</a-button>
|
||||
<BtnSearch @click="search" size="large" />
|
||||
</v-col>
|
||||
</v-row>
|
||||
@ -62,15 +61,23 @@
|
||||
<v-col :cols="3">
|
||||
<v-card-title class="pa-0">설비별 효율지표 Trend</v-card-title>
|
||||
</v-col>
|
||||
<!-- <v-col :cols="5"></v-col> -->
|
||||
<v-col :cols="4" class="d-flex justify-space-end" >
|
||||
<component class="text-right mr-2" ref="EqpmSelectPop" :is="'EqpmSelectPop'" :label="''" :labelCols="1"
|
||||
:textCols="12" :valueNm="'eqpmId'" :parentPrgmId="myPrgmId" :eqpmGrpDisabled="true"
|
||||
:fabDisabled="true" :isMulti="true" />
|
||||
<component
|
||||
class="text-right mr-2"
|
||||
ref="EqpmSelectPop"
|
||||
label=""
|
||||
placeholder="설비..."
|
||||
is="EqpmSelectPop"
|
||||
valueNm="eqpmId"
|
||||
:textCols="12"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:eqpmGrpDisabled="true"
|
||||
:fabDisabled="true"
|
||||
:iconShow="false"
|
||||
:isMulti="true"
|
||||
/>
|
||||
<a-button @click="getEqpmData()" type="primary" >조회</a-button>
|
||||
</v-col>
|
||||
<!-- <v-col :cols="1">
|
||||
</v-col> -->
|
||||
</v-row>
|
||||
</div>
|
||||
<div ref="chartParent" style="height: 100%">
|
||||
@ -316,6 +323,7 @@ export default {
|
||||
legend: {
|
||||
icon: 'circle',
|
||||
top: 'top',
|
||||
size: '8'
|
||||
},
|
||||
grid: {
|
||||
top: '10%',
|
||||
|
@ -286,7 +286,7 @@ export default {
|
||||
resizable: true,
|
||||
},
|
||||
header: {
|
||||
height: 65,
|
||||
height: 75,
|
||||
complexColumns: myComplexColumns,
|
||||
},
|
||||
};
|
||||
|
@ -289,8 +289,8 @@ const Utility = () => {
|
||||
header: {
|
||||
height: 28,
|
||||
},
|
||||
rowHeight: 29,
|
||||
minRowHeight: 29,
|
||||
rowHeight: 37,
|
||||
minRowHeight: 37,
|
||||
columnOptions: {
|
||||
resizable: true,
|
||||
minWidth: 100,
|
||||
|
Reference in New Issue
Block a user