Merge branch 'dev' of http://218.237.212.51:30003/gitadmin/sk_fems_ui into dev-dungtv-0725
This commit is contained in:
@ -433,6 +433,10 @@ a {
|
||||
.v-application.#{$theme}-mode {
|
||||
min-width: 1000px;
|
||||
|
||||
.head-logo{
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.v-navigation-drawer {
|
||||
background: map-deep-get($config, #{$theme}, "menu-bg-color");
|
||||
}
|
||||
@ -474,7 +478,7 @@ a {
|
||||
|
||||
.btn-header {
|
||||
background-color: map-deep-get($config, #{$theme}, "v-btn-header-background");
|
||||
border: map-deep-get($config, #{$theme}, "v-btn-header-border");
|
||||
border:1px solid map-deep-get($config, #{$theme}, "v-btn-header-border");
|
||||
color: map-deep-get($config, #{$theme}, "v-btn-header-text");
|
||||
}
|
||||
|
||||
@ -1310,18 +1314,24 @@ a {
|
||||
.btn-close-menu-list {
|
||||
min-width: 100px;
|
||||
border-color: transparent;
|
||||
background-color: map-deep-get($config, #{$theme}, "btn-header-select-bg") !important;
|
||||
|
||||
.v-list-item {
|
||||
min-height: 30px;
|
||||
}
|
||||
|
||||
.v-list-item__title {
|
||||
color: #fff;
|
||||
color: map-deep-get($config, #{$theme}, "btn-header-select-color");
|
||||
|
||||
&:hover {
|
||||
color: #46c0ff;
|
||||
}
|
||||
}
|
||||
.v-btn {
|
||||
background-color: transparent !important;
|
||||
color: map-deep-get($config, #{$theme}, "btn-header-select-color") !important;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[hover-tooltip] {
|
||||
|
@ -107,6 +107,13 @@
|
||||
}
|
||||
|
||||
.ant-btn {
|
||||
|
||||
&.ant-btn-outlined {
|
||||
color:map-deep-get($config, #{$theme}, "ant-btn-default-color");
|
||||
border:1px solid map-deep-get($config, #{$theme}, "ant-btn-default-border-outlined");
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
&.ant-btn-primary {
|
||||
background: map-deep-get($config, #{$theme}, "ant-btn-primary-bg");
|
||||
border-color:map-deep-get($config, #{$theme}, "ant-btn-primary-bg");
|
||||
|
@ -227,6 +227,16 @@
|
||||
|
||||
.v-application.#{$theme}-mode {
|
||||
|
||||
.v-input-popup__custom {
|
||||
.v-input__slot {
|
||||
padding-left: 12px;
|
||||
padding-right: 12px;
|
||||
border: 1px solid map-deep-get($config,
|
||||
#{$theme},
|
||||
"v-input-popup-password-border"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
.v-textarea {
|
||||
.v-input__slot{
|
||||
|
@ -72,11 +72,11 @@ $config: (
|
||||
v-btn-backgroundColor: #144985,
|
||||
v-box: #212224,
|
||||
v-banner-border-color: rgba(255, 255, 255, 0.1),
|
||||
v-treeview-node-root-backgroundColor: #18579e,
|
||||
v-treeview-node-root-label-color: #fff,
|
||||
v-treeview-node-root-label-active-color: #fff,
|
||||
v-treeview-node-root-icon-color: #fff,
|
||||
v-treeview-node-root-icon-active-color: #fff,
|
||||
v-treeview-node-root-backgroundColor: #212224,
|
||||
v-treeview-node-root-label-color: #FFFFFFD9,
|
||||
v-treeview-node-root-label-active-color: #FFFFFFD9,
|
||||
v-treeview-node-root-icon-color: #FFFFFFD9,
|
||||
v-treeview-node-root-icon-active-color: #FFFFFFD9,
|
||||
// v-treeview-node-subroot-backgroundColor: #FFFFFF0A,
|
||||
v-treeview-node-subroot-backgroundColor: transparent,
|
||||
v-treeview-node-label-color: rgba(255, 255, 255, 0.6),
|
||||
@ -152,6 +152,7 @@ $config: (
|
||||
search-btn-background: #1668DC,
|
||||
v-btn-color-default: #FFFFFFD9,
|
||||
v-btn-bg-default: #FFFFFF2E,
|
||||
v-input-popup-password-border: #424242,
|
||||
v-input-textarea-border: #424242,
|
||||
v-input-textarea-bg: #212224,
|
||||
v-input-textarea-color: #FFFFFFD9,
|
||||
@ -166,6 +167,9 @@ $config: (
|
||||
ant-btn-default-border:#FFFFFF2E,
|
||||
ant-btn-default-bg:#FFFFFF2E,
|
||||
ant-btn-default-color:#FFFFFFD9,
|
||||
ant-btn-default-border-outlined:#424242,
|
||||
btn-header-select-bg: #1F1F1F,
|
||||
btn-header-select-color:#FFFFFFD9,
|
||||
),
|
||||
light: (w-g5: $--color-gray_555,
|
||||
g5-w: $--color-white,
|
||||
@ -204,11 +208,11 @@ $config: (
|
||||
// v-btn-backgroundColor: #fff,
|
||||
v-box: #FFFFFF,
|
||||
v-banner-border-color: #ddd,
|
||||
v-treeview-node-root-backgroundColor: #4777d9,
|
||||
v-treeview-node-root-label-color: #111,
|
||||
v-treeview-node-root-label-active-color: #fff,
|
||||
v-treeview-node-root-icon-color: #555,
|
||||
v-treeview-node-root-icon-active-color: #fff,
|
||||
v-treeview-node-root-backgroundColor: #FFFFFF,
|
||||
v-treeview-node-root-label-color: #000000E0,
|
||||
v-treeview-node-root-label-active-color: #000000E0,
|
||||
v-treeview-node-root-icon-color: #000000E0,
|
||||
v-treeview-node-root-icon-active-color: #000000E0,
|
||||
// v-treeview-node-subroot-backgroundColor: #00000005,
|
||||
v-treeview-node-subroot-backgroundColor: transparent,
|
||||
v-treeview-node-label-color: #555,
|
||||
@ -282,6 +286,7 @@ $config: (
|
||||
search-btn-background: #1677FF,
|
||||
v-btn-bg-default: #00000026,
|
||||
v-btn-color-default: #000000E0,
|
||||
v-input-popup-password-border: #D9D9D9,
|
||||
v-input-textarea-border: #D9D9D9,
|
||||
v-input-textarea-bg: #FFFFFF,
|
||||
v-input-textarea-color: #000000E0,
|
||||
@ -296,5 +301,8 @@ $config: (
|
||||
ant-btn-default-border:#00000026,
|
||||
ant-btn-default-bg:#00000026,
|
||||
ant-btn-default-color:#000000E0,
|
||||
ant-btn-default-border-outlined:#D9D9D9,
|
||||
btn-header-select-color:#1F1F1F,
|
||||
btn-header-select-bg:#FFFFFF,
|
||||
),
|
||||
);
|
@ -27,7 +27,7 @@
|
||||
/> -->
|
||||
</template>
|
||||
|
||||
<v-list class="pa-2">
|
||||
<v-list class="pa-2 btn-close-menu-list" >
|
||||
<!-- <v-list-item class="mb-1">-->
|
||||
<!-- <div class="d-flex align-center">-->
|
||||
<!-- <v-avatar class="mr-1" size="20">-->
|
||||
|
@ -1,19 +1,26 @@
|
||||
<template>
|
||||
<h1 class="h1-title">
|
||||
<v-avatar size="12" :style="{ backgroundColor: 'currentColor' }"></v-avatar>
|
||||
{{ text }}
|
||||
{{ text ? text : menuNm}}
|
||||
</h1>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapState } from 'vuex';
|
||||
|
||||
export default {
|
||||
name: "PageTitle",
|
||||
props: {
|
||||
text: {
|
||||
type: String,
|
||||
required: true,
|
||||
required: false,
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
...mapState({
|
||||
menuNm: state => state.activeMenuInfo.menuNm,
|
||||
}),
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
|
@ -1,9 +1,11 @@
|
||||
<template>
|
||||
<v-switch
|
||||
class="theme-switch"
|
||||
v-model="mode"
|
||||
@change="themeChange"
|
||||
></v-switch>
|
||||
<a-button
|
||||
class="btn-header"
|
||||
:color="mode ? 'dark' : 'light'"
|
||||
@click="themeChange"
|
||||
icon="bulb"
|
||||
>
|
||||
</a-button>
|
||||
</template>
|
||||
<script>
|
||||
import { mapState, mapMutations } from 'vuex';
|
||||
@ -26,8 +28,11 @@ export default {
|
||||
setThemeChange: 'setThemeChange',
|
||||
}),
|
||||
themeChange() {
|
||||
this.mode = !this.mode;
|
||||
this.$vuetify.theme.isDark = this.mode;
|
||||
this.setThemeChange(this.mode);
|
||||
console.log(this.mode)
|
||||
console.log(this.$vuetify.theme.isDark)
|
||||
},
|
||||
},
|
||||
};
|
||||
@ -69,12 +74,14 @@ export default {
|
||||
background-color: #f2f2f2;
|
||||
top: 2px;
|
||||
left: 0;
|
||||
background-image: url(../../assets/images/icon/ico-theme-light.png);
|
||||
// background-image: url(../../assets/images/icon/ico-theme-light.png);
|
||||
content: "light";
|
||||
background-size: 18px 18px;
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
}
|
||||
|
||||
&.v-input--is-label-active {
|
||||
::v-deep {
|
||||
.v-input--switch__track {
|
||||
@ -82,7 +89,8 @@ export default {
|
||||
}
|
||||
.v-input--switch__thumb {
|
||||
// transform: translate(38px, 0);
|
||||
background-image: url(../../assets/images/icon/ico-theme-dark.png);
|
||||
// background-image: url(../../assets/images/icon/ico-theme-dark.png);
|
||||
content: 'dark';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<v-row class="search-box" align="center" no-gutters>
|
||||
<v-col v-if="item.label" :cols="item.cols == 12 ? 2 : 4">
|
||||
<v-col v-if="item.label" :cols="item.labelCols !== undefined ? item.labelCols : item.cols == 12 ? 2 : 4">
|
||||
<label for="" class="search-box-label">
|
||||
<v-icon
|
||||
x-small
|
||||
@ -28,10 +28,14 @@
|
||||
></v-text-field>
|
||||
</template>
|
||||
<template v-else>
|
||||
<v-btn :ripple="false" @click="dialog = !dialog">
|
||||
<!-- <v-icon>mdi-content-save</v-icon> -->
|
||||
<!-- <v-icon>mdi-content-save</v-icon> -->
|
||||
<!-- <v-btn :ripple="false" @click="dialog = !dialog">
|
||||
<span>비밀번호 {{ isPassword }}</span>
|
||||
</v-btn>
|
||||
</v-btn> -->
|
||||
<a-button :ripple="false" @click="dialog = !dialog" class="ant-btn-outlined">
|
||||
<!-- <v-icon>mdi-content-save</v-icon> -->
|
||||
비밀번호 {{ isPassword }}
|
||||
</a-button>
|
||||
</template>
|
||||
</v-col>
|
||||
|
||||
@ -48,7 +52,7 @@
|
||||
</label>
|
||||
<v-text-field
|
||||
v-model.trim="firstPswd"
|
||||
class="v-input__custom"
|
||||
class="v-input-popup__custom"
|
||||
type="password"
|
||||
:readonly="!isFocused"
|
||||
@focus="isFocused = true"
|
||||
@ -61,7 +65,7 @@
|
||||
</label>
|
||||
<v-text-field
|
||||
v-model.trim="secondPswd"
|
||||
class="v-input__custom"
|
||||
class="v-input-popup__custom"
|
||||
type="password"
|
||||
:readonly="!isFocused"
|
||||
@focus="isFocused = true"
|
||||
@ -72,8 +76,15 @@
|
||||
<v-divider></v-divider>
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn color="primary" dark @click="setUpdate()">확인</v-btn>
|
||||
<v-btn color="primary" dark @click="close()">닫기</v-btn>
|
||||
<!-- <v-btn color="primary" dark @click="setUpdate()">확인</v-btn> -->
|
||||
<div>
|
||||
<a-button @click="close()" class="btn-default">삭제</a-button>
|
||||
<a-button type="primary" @click="setUpdate()" class="v-btn-add-text">
|
||||
확인
|
||||
</a-button>
|
||||
</div>
|
||||
<!-- <v-btn color="primary" dark @click="close()">닫기</v-btn> -->
|
||||
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
@ -135,8 +146,10 @@ export default {
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
console.log(value)
|
||||
},
|
||||
set(value) {
|
||||
console.log(value)
|
||||
return value;
|
||||
},
|
||||
},
|
||||
|
@ -124,7 +124,7 @@ export default {
|
||||
return {
|
||||
dialog: false,
|
||||
|
||||
loadGrid: true,
|
||||
loadGrid: false,
|
||||
grid_01: 'grid_01',
|
||||
myModalKey: 'evtObjPop',
|
||||
modalDataKey: 'modalData2',
|
||||
@ -165,35 +165,6 @@ export default {
|
||||
computed: {
|
||||
...mapState({
|
||||
searchParam(state) {
|
||||
const myOptions = {
|
||||
columnOptions: {
|
||||
resizable: true,
|
||||
},
|
||||
treeColumnOptions: {
|
||||
name: 'readPlcNm', // Showing tree table
|
||||
useIcon: false, // Not using icon
|
||||
indentWidth: 10,
|
||||
},
|
||||
};
|
||||
const dataPathMock = {
|
||||
'grid_01': {
|
||||
column: [
|
||||
{ header: '검침개소명', name: 'readPlcNm', align: 'left', minWidth: 400, },
|
||||
{ header: '검침개소', name: 'plcKind', minWidth: 100, align: 'center', },
|
||||
// {
|
||||
// header: '사용 여부', name: 'useFg', minWidth: 100, align: 'center',
|
||||
// },
|
||||
],
|
||||
data: sampleData,
|
||||
option: myOptions
|
||||
}
|
||||
};
|
||||
return {
|
||||
modalData2: {
|
||||
evtObjPop: dataPathMock
|
||||
}
|
||||
}
|
||||
// end test
|
||||
return state.pageData[this.parentPrgmId];
|
||||
},
|
||||
myBindingData(state) {
|
||||
@ -277,6 +248,9 @@ export default {
|
||||
columnOptions: {
|
||||
resizable: true,
|
||||
},
|
||||
header: {
|
||||
height: 38,
|
||||
},
|
||||
};
|
||||
this.setModalGridOption({
|
||||
modalKey: this.myModalKey,
|
||||
@ -300,7 +274,7 @@ export default {
|
||||
});
|
||||
},
|
||||
async getGridData() {
|
||||
// this.loadGrid = false;
|
||||
this.loadGrid = false;
|
||||
|
||||
const res = await this.postApiReturn({
|
||||
apiKey: 'selectTagBaseInfo',
|
||||
@ -376,7 +350,6 @@ export default {
|
||||
// this.dialog = false;
|
||||
// return;
|
||||
// }
|
||||
console.log("this.dialog: ", this.dialog);
|
||||
this.dialog = !val;
|
||||
},
|
||||
},
|
||||
@ -389,50 +362,6 @@ var evtObjPop = {
|
||||
option: {},
|
||||
},
|
||||
};
|
||||
|
||||
const sampleData = [
|
||||
{
|
||||
readPlcNm: '서울 본사',
|
||||
plcKind: '본사',
|
||||
useFg: '사용',
|
||||
_children: [
|
||||
{
|
||||
readPlcNm: '서울 본사 - 1층',
|
||||
plcKind: '층',
|
||||
useFg: '사용',
|
||||
},
|
||||
{
|
||||
readPlcNm: '서울 본사 - 2층',
|
||||
plcKind: '층',
|
||||
useFg: '미사용',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
readPlcNm: '부산 지사',
|
||||
plcKind: '지사',
|
||||
useFg: '사용',
|
||||
_children: [
|
||||
{
|
||||
readPlcNm: '부산 지사 - A동',
|
||||
plcKind: '건물',
|
||||
useFg: '사용',
|
||||
_children: [
|
||||
{
|
||||
readPlcNm: '부산 지사 - A동 1층',
|
||||
plcKind: '층',
|
||||
useFg: '사용',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
readPlcNm: '대전 창고',
|
||||
plcKind: '창고',
|
||||
useFg: '미사용',
|
||||
},
|
||||
];
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
@ -22,7 +22,6 @@
|
||||
:editorGrid="true"
|
||||
:innerTabGridInfo="innerTabGridInfo"
|
||||
@getRowsData="getRowData"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
</div>
|
||||
</v-card-actions>
|
||||
@ -51,22 +50,10 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loadGrid: true,
|
||||
loadGrid: false,
|
||||
gridName: 'rowDetailGrid',
|
||||
rowKey: null,
|
||||
edtingFinishFlag: 'Y',
|
||||
dataPathMock: {
|
||||
"rowDetailGrid": {
|
||||
column: [
|
||||
{header: '추가 정보',name: 'addInfoId'},
|
||||
{header: 'Data 구분',name: 'addInfoDataKind',align: 'center'},
|
||||
{header: '추가 정보 값',name: 'addInfoVal',align: 'center', renderer: {type: NewCustomRenderer},editor: {type: NewCustomEditor},formatter(data) {return data.row.addInfoDataKind;},}
|
||||
],
|
||||
data: dataPathDataExample,
|
||||
option: {
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -444,37 +431,4 @@ export default {
|
||||
search() {},
|
||||
},
|
||||
};
|
||||
const dataPathDataExample =
|
||||
[
|
||||
{
|
||||
addInfoId:"경보 여부",
|
||||
addInfoDataKind:"FG",
|
||||
addInfoVal:"1"
|
||||
},
|
||||
{
|
||||
addInfoId:"예상 피크전력 여부",
|
||||
addInfoDataKind:"FG",
|
||||
addInfoVal:"0"
|
||||
},
|
||||
{
|
||||
addInfoId:"피크전력 여부",
|
||||
addInfoDataKind:"FG",
|
||||
addInfoVal:"1"
|
||||
},
|
||||
{
|
||||
addInfoId:"TAG 채널",
|
||||
addInfoDataKind:"숫자",
|
||||
addInfoVal:"채널"
|
||||
},
|
||||
{
|
||||
addInfoId:"PLC IP",
|
||||
addInfoDataKind:"문자",
|
||||
addInfoVal:"채널"
|
||||
},
|
||||
{
|
||||
addInfoId:"PLC 포트",
|
||||
addInfoDataKind:"숫자",
|
||||
addInfoVal:"채널"
|
||||
},
|
||||
]
|
||||
</script>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<fullscreen :fullscreen.sync="fullscreen">
|
||||
<div class="header">
|
||||
<v-row class="mx-0">
|
||||
<div class="head-logo pl-4">
|
||||
<div class="head-logo pl-4 d-flex gap-3">
|
||||
<router-link class="home" :to="myHome.root">
|
||||
<div class="lnb-logo">
|
||||
<img v-if="isDarkMode" src="@/assets/images/logo_dm.png" />
|
||||
@ -13,9 +13,11 @@
|
||||
</div>
|
||||
<!-- <div class="lnb-logo">FEMS</div>-->
|
||||
</router-link>
|
||||
<div class="align-center d-flex">
|
||||
<ThemeSwitch style="margin-right: 20px" />
|
||||
</div>
|
||||
</div>
|
||||
<v-col col="1" class="d-flex justify-end py-4 px-6 flex-row" style="gap: 8px;">
|
||||
<ThemeSwitch style="margin-right: 20px" />
|
||||
<v-menu offset-y>
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<a-button :ripple="false" tile class="btn-header" v-bind="attrs" v-on="on">
|
||||
@ -26,9 +28,7 @@
|
||||
<span class="body-2">닫기</span>
|
||||
<v-icon size="20">mdi-chevron-down</v-icon></a-button> -->
|
||||
</template>
|
||||
<v-list class="py-2 btn-close-menu-list" :style="{
|
||||
backgroundColor: isDarkMode ? '#144985' : '#3f4d7d',
|
||||
}">
|
||||
<v-list class="py-2 btn-close-menu-list">
|
||||
<v-list-item class="px-2">
|
||||
<v-list-item-title @click="delAllTabsData()" class="body-2">전체 닫기</v-list-item-title>
|
||||
</v-list-item>
|
||||
@ -54,9 +54,7 @@
|
||||
<span class="body-2">즐겨찾기</span>
|
||||
<v-icon size="20">mdi-chevron-down</v-icon></a-button> -->
|
||||
</template>
|
||||
<v-list v-if="myMenuList.length > 0" class="py-2 btn-close-menu-list" :style="{
|
||||
backgroundColor: isDarkMode ? '#144985' : '#3f4d7d',
|
||||
}">
|
||||
<v-list v-if="myMenuList.length > 0" class="py-2 btn-close-menu-list">
|
||||
<v-list-item v-for="item in myMenuList" :key="item.menuId" class="px-2" style="cursor: pointer">
|
||||
<v-list-item-title @click="moveToMyMenu(item.url, item.menuId, item.prgmId)" class="body-2">{{
|
||||
item.menuNm
|
||||
@ -67,7 +65,9 @@
|
||||
<a-button id="refresh" 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" @click="addBookMark" v-if="bookmarkBtn == 0">
|
||||
<a-button id="refresh" 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>
|
||||
</a-button>
|
||||
<a-button
|
||||
@ -102,7 +102,9 @@
|
||||
<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',
|
||||
@ -164,7 +166,6 @@
|
||||
<v-icon size="20" class="ml-2" v-if="closable" @click.stop="onCloseTab(to)">mdi-close</v-icon>
|
||||
</template>
|
||||
<template #end v-if="false">
|
||||
<ThemeSwitch style="margin-right: 20px" />
|
||||
<v-menu offset-y>
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<!-- <v-btn :ripple="false" tile class="btn-close" v-bind="attrs" v-on="on">
|
||||
@ -175,9 +176,7 @@
|
||||
<span class="body-2">닫기</span>
|
||||
<v-icon size="20">mdi-chevron-down</v-icon></a-button>
|
||||
</template>
|
||||
<v-list class="py-2 btn-close-menu-list" :style="{
|
||||
backgroundColor: isDarkMode ? '#144985' : '#3f4d7d',
|
||||
}">
|
||||
<v-list class="py-2 btn-close-menu-list" >
|
||||
<v-list-item class="px-2">
|
||||
<v-list-item-title @click="delAllTabsData()" class="body-2">전체 닫기</v-list-item-title>
|
||||
</v-list-item>
|
||||
@ -203,9 +202,7 @@
|
||||
<span class="body-2">즐겨찾기</span>
|
||||
<v-icon size="20">mdi-chevron-down</v-icon></a-button>
|
||||
</template>
|
||||
<v-list v-if="myMenuList.length > 0" class="py-2 btn-close-menu-list" :style="{
|
||||
backgroundColor: isDarkMode ? '#144985' : '#3f4d7d',
|
||||
}">
|
||||
<v-list v-if="myMenuList.length > 0" class="py-2 btn-close-menu-list" >
|
||||
<v-list-item v-for="item in myMenuList" :key="item.menuId" class="px-2" style="cursor: pointer">
|
||||
<v-list-item-title @click="moveToMyMenu(item.url, item.menuId, item.prgmId)" class="body-2">{{
|
||||
item.menuNm
|
||||
|
@ -4,13 +4,14 @@
|
||||
<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="3">
|
||||
<!-- 사업장 -->
|
||||
<component
|
||||
:is="'SelectBlocMstr'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:sendParam="{ comId }"
|
||||
customClass="select-large"
|
||||
/>
|
||||
<!-- <component
|
||||
:is="'selectCodeList'"
|
||||
@ -35,6 +36,7 @@
|
||||
label="로그인ID"
|
||||
valueNm="userLoginId"
|
||||
:searchOption="true"
|
||||
customClass="input-large"
|
||||
/>
|
||||
</v-col>
|
||||
<v-col :cols="3">
|
||||
@ -43,10 +45,11 @@
|
||||
label="사용자명"
|
||||
valueNm="userNm"
|
||||
:searchOption="true"
|
||||
customClass="input-large"
|
||||
/>
|
||||
</v-col>
|
||||
<v-col :cols="3" class="text-right">
|
||||
<BtnSearch />
|
||||
<BtnSearch size="large"/>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-card>
|
||||
@ -76,6 +79,7 @@
|
||||
@getRowsData="getRowData"
|
||||
@sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
||||
:selectedRowDataWatchFlag="true"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -303,10 +307,40 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
async init() {
|
||||
await this.gridInit();
|
||||
this.gridInit();
|
||||
},
|
||||
|
||||
gridInitTest() {
|
||||
const rowGrid = {
|
||||
column: [
|
||||
{ header: '사용자No', name: 'userNo', align: 'center', hidden: true },
|
||||
{ header: '사용자명', name: 'userNm' },
|
||||
{ header: '사용자ID', name: 'userLoginId' },
|
||||
{ header: '사용자비밀번호', name: 'userPswd', hidden: true },
|
||||
{ header: '사업장', name: 'blocId', hidden: true },
|
||||
{ header: 'email', name: 'email', hidden: true },
|
||||
{ header: '등록자NO', name: 'regUserNo', hidden: true },
|
||||
{ header: '등록일시', name: 'regDttm', hidden: true },
|
||||
{ header: '수정자NO', name: 'procUserNo', hidden: true },
|
||||
{ header: '수정일시', name: 'procDttm', hidden: true },
|
||||
{ header: 'comId', name: 'comId', hidden: true },
|
||||
{ header: 'deptId', name: 'deptId', hidden: true },
|
||||
],
|
||||
data: dataMockExample,
|
||||
defaultRow: dataMockExample,
|
||||
option: [],
|
||||
}
|
||||
this.dataPathMock = {rowGrid};
|
||||
this.$nextTick(() => {
|
||||
this.loadGrid = true;
|
||||
});
|
||||
},
|
||||
|
||||
// 사용자 리스트 그리드 세팅
|
||||
gridInit() {
|
||||
|
||||
// this.gridInitTest(); return
|
||||
|
||||
const gridHeight = this.$refs.gridParent.offsetHeight - 90;
|
||||
|
||||
const myOptions = {
|
||||
@ -937,7 +971,10 @@ const myDetail = blocCdList => {
|
||||
elseDisabled: 'I', // 선택적 disabled => rowStat 상태가 해당 값이 아닐경우 true
|
||||
readonly: true,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
class: 'py-2 pr-4',
|
||||
iconShow: true,
|
||||
required: false,
|
||||
placeholder: '시스템 자동입력',
|
||||
},
|
||||
@ -946,7 +983,10 @@ const myDetail = blocCdList => {
|
||||
label: '사용자ID',
|
||||
valueNm: 'userLoginId',
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
class: 'py-2 pr-4',
|
||||
iconShow: true,
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@ -956,7 +996,10 @@ const myDetail = blocCdList => {
|
||||
valueNm: 'userPswd',
|
||||
// disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
class: 'py-2 pr-4',
|
||||
iconShow: true,
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@ -964,7 +1007,10 @@ const myDetail = blocCdList => {
|
||||
label: '사용자명',
|
||||
valueNm: 'userNm',
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
class: 'py-2 pr-4',
|
||||
iconShow: true,
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@ -972,7 +1018,10 @@ const myDetail = blocCdList => {
|
||||
label: '사업장',
|
||||
valueNm: 'blocId',
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
class: 'py-2 pr-4',
|
||||
iconShow: true,
|
||||
list: blocCdList.map(item => ({
|
||||
text: item.blocNm,
|
||||
value: item.blocId,
|
||||
@ -984,7 +1033,10 @@ const myDetail = blocCdList => {
|
||||
label: 'email',
|
||||
valueNm: 'email',
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
class: 'py-2 pr-4',
|
||||
iconShow: true,
|
||||
},
|
||||
{
|
||||
type: 'InputText',
|
||||
@ -992,7 +1044,10 @@ const myDetail = blocCdList => {
|
||||
valueNm: 'regUserNo',
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
class: 'py-2 pr-4',
|
||||
iconShow: true,
|
||||
placeholder: '시스템 자동입력',
|
||||
},
|
||||
{
|
||||
@ -1001,7 +1056,10 @@ const myDetail = blocCdList => {
|
||||
valueNm: 'regDttm',
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
class: 'py-2 pr-4',
|
||||
iconShow: true,
|
||||
placeholder: '시스템 자동입력',
|
||||
},
|
||||
{
|
||||
@ -1010,7 +1068,10 @@ const myDetail = blocCdList => {
|
||||
valueNm: 'procUserNo',
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
class: 'py-2 pr-4',
|
||||
iconShow: true,
|
||||
placeholder: '시스템 자동입력',
|
||||
},
|
||||
{
|
||||
@ -1019,7 +1080,10 @@ const myDetail = blocCdList => {
|
||||
valueNm: 'procDttm',
|
||||
disabled: true,
|
||||
cols: 6,
|
||||
class: 'py-2',
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
class: 'py-2 pr-4',
|
||||
iconShow: true,
|
||||
placeholder: '시스템 자동입력',
|
||||
},
|
||||
];
|
||||
@ -1036,4 +1100,67 @@ function sha512(str) {
|
||||
.update(str)
|
||||
.digest('hex');
|
||||
}
|
||||
|
||||
|
||||
|
||||
const dataMockExample = [
|
||||
{
|
||||
userNo: 1,
|
||||
userNm: '홍길동',
|
||||
userLoginId: 'hong123',
|
||||
userPswd: 'password123',
|
||||
blocId: 'B001',
|
||||
email: 'hong@example.com',
|
||||
regUserNo: 100,
|
||||
regDttm: '2025-07-01 10:00:00',
|
||||
procUserNo: 101,
|
||||
procDttm: '2025-07-15 14:30:00',
|
||||
comId: 'C001',
|
||||
deptId: 'D001'
|
||||
},
|
||||
{
|
||||
userNo: 2,
|
||||
userNm: '김영희',
|
||||
userLoginId: 'kimyh',
|
||||
userPswd: 'securePass456',
|
||||
blocId: 'B002',
|
||||
email: 'kim@example.com',
|
||||
regUserNo: 102,
|
||||
regDttm: '2025-07-02 11:20:00',
|
||||
procUserNo: 103,
|
||||
procDttm: '2025-07-16 09:45:00',
|
||||
comId: 'C002',
|
||||
deptId: 'D002'
|
||||
},
|
||||
{
|
||||
userNo: 3,
|
||||
userNm: '관리자',
|
||||
userLoginId: 'user',
|
||||
userPswd: 'securePass456',
|
||||
blocId: 'B002',
|
||||
email: 'kim@example.com',
|
||||
regUserNo: 102,
|
||||
regDttm: '2025-07-02 11:20:00',
|
||||
procUserNo: 103,
|
||||
procDttm: '2025-07-16 09:45:00',
|
||||
comId: 'C002',
|
||||
deptId: 'D002'
|
||||
},
|
||||
{
|
||||
userNo: 4,
|
||||
userNm: '사용자',
|
||||
userLoginId: 'admin',
|
||||
userPswd: 'securePass456',
|
||||
blocId: 'B002',
|
||||
email: 'kim@example.com',
|
||||
regUserNo: 102,
|
||||
regDttm: '2025-07-02 11:20:00',
|
||||
procUserNo: 103,
|
||||
procDttm: '2025-07-16 09:45:00',
|
||||
comId: 'C002',
|
||||
deptId: 'D002'
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
</script>
|
||||
|
@ -1,19 +1,13 @@
|
||||
<template>
|
||||
<div ref="mainDiv" class="l-layout">
|
||||
<PageTitle/>
|
||||
<v-row ref="searchFilter">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
<v-row align="end" no-gutters>
|
||||
<v-col :cols="5">
|
||||
<InputText
|
||||
:parentPrgmId="myPrgmId"
|
||||
label="설비종류명"
|
||||
valueNm="eqpmKindNm"
|
||||
:searchOption="true"
|
||||
:textCols="12"
|
||||
:labelCols="12"
|
||||
customClass="input-large"
|
||||
/>
|
||||
<InputText :parentPrgmId="myPrgmId" label="설비종류명" valueNm="eqpmKindNm" :searchOption="true"
|
||||
:textCols="12" :labelCols="12" customClass="input-large" />
|
||||
</v-col>
|
||||
<v-col :cols="7" class="text-right">
|
||||
<BtnSearch @click="search" size="large" />
|
||||
@ -25,41 +19,27 @@
|
||||
<v-row ref="contents">
|
||||
<v-col :cols="5" class="h100">
|
||||
<v-card class="pb-5">
|
||||
<div class="d-flex align-center justify-space-between pa-5">
|
||||
<div class="d-flex align-center justify-space-between pa-4" style="padding-bottom: 30px !important;">
|
||||
<v-card-title class="pa-0">설비종류</v-card-title>
|
||||
<Buttons
|
||||
:parentPrgmId="myPrgmId"
|
||||
:bindingData="gridName"
|
||||
:btnActionsFnc="btnActions"
|
||||
/>
|
||||
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
||||
</div>
|
||||
<div class="h100 px-5" style="height:calc(100% - 70px)">
|
||||
<div ref="gridParent" class="w100 h100">
|
||||
<component
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:gridName="gridName"
|
||||
:parentPrgmId="myPrgmId"
|
||||
@getRowsData="getRowData"
|
||||
:preventFocusChangeEventFlag="false"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
||||
:parentPrgmId="myPrgmId" @getRowsData="getRowData"
|
||||
:preventFocusChangeEventFlag="false" />
|
||||
</div>
|
||||
</div>
|
||||
</v-card>
|
||||
</v-col>
|
||||
<v-col :cols="7" class="h100">
|
||||
<v-card class="pb-5">
|
||||
<div class="d-flex align-center justify-space-between pa-5">
|
||||
<div class="d-flex align-center justify-space-between pa-4" style="padding-bottom: 30px !important;">
|
||||
<v-card-title class="pa-0">설비종류 상세</v-card-title>
|
||||
</div>
|
||||
<div class="px-5" style="height:calc(100% - 76px)">
|
||||
<component
|
||||
:is="'Form'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:detailList="detailList"
|
||||
@gridEditingFinish="gridEditingFinish"
|
||||
/>
|
||||
<component :is="'Form'" :parentPrgmId="myPrgmId" :detailList="detailList"
|
||||
@gridEditingFinish="gridEditingFinish" />
|
||||
</div>
|
||||
</v-card>
|
||||
</v-col>
|
||||
@ -78,6 +58,8 @@ import Form from '~/components/common/form/Form';
|
||||
import Grid from '~/components/common/Grid';
|
||||
import Utility from '~/plugins/utility';
|
||||
import SelectBox from '@/components/common/select/SelectBox';
|
||||
import PageTitle from "~/components/common/PageTitle";
|
||||
|
||||
let myTitle;
|
||||
// const myPrgmId = "PRG0013";
|
||||
let myPrgmId;
|
||||
@ -108,6 +90,7 @@ export default {
|
||||
Grid,
|
||||
Utility,
|
||||
SelectBox,
|
||||
PageTitle,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -118,21 +101,6 @@ export default {
|
||||
detailList: myDetail,
|
||||
selectValueList01: [],
|
||||
selectValue01: null,
|
||||
dataPathMock: {
|
||||
'eqpmKindGrid': {
|
||||
column: [
|
||||
{ header: '설비종류ID', name: 'eqpmKindId', headerAlign: 'center' },
|
||||
{ header: '설비종류명', name: 'eqpmKindNm', headerAlign: 'left' },
|
||||
{ header: '등록자NO', name: 'regUserNo', hidden: true},
|
||||
{ header: '등록일시', name: 'regDttm', hidden: true },
|
||||
{ header: '수정자NO', name: 'procUserNo', hidden: true },
|
||||
{ header: '수정일시', name: 'procDttm', hidden: true}
|
||||
],
|
||||
data: dataPathDataExample,
|
||||
defaultRow: dataPathDataExample,
|
||||
option: {}
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -164,7 +132,7 @@ export default {
|
||||
defaultData: defaultData,
|
||||
});
|
||||
},
|
||||
created() {},
|
||||
created() { },
|
||||
mounted() {
|
||||
this.gridInit();
|
||||
// this.init();
|
||||
@ -184,6 +152,8 @@ export default {
|
||||
const myOptions = {
|
||||
columnOptions: {
|
||||
resizable: true,
|
||||
}, header: {
|
||||
height: 38,
|
||||
},
|
||||
};
|
||||
this.setGridOption({
|
||||
@ -255,12 +225,12 @@ export default {
|
||||
//rowKey: 0,
|
||||
rowKey:
|
||||
this.pageData.rowGridSelectKey == '' ||
|
||||
this.pageData.rowGridSelectKey == null
|
||||
this.pageData.rowGridSelectKey == null
|
||||
? 0
|
||||
: this.pageData.rowGridSelectKey ==
|
||||
this.$refs[this.gridName].getData().length - 1
|
||||
? this.pageData.rowGridSelectKey
|
||||
: 0,
|
||||
this.$refs[this.gridName].getData().length - 1
|
||||
? this.pageData.rowGridSelectKey
|
||||
: 0,
|
||||
setScroll: true,
|
||||
});
|
||||
}
|
||||
@ -398,7 +368,7 @@ const myDetail = [
|
||||
textCols: 12,
|
||||
},
|
||||
{
|
||||
type: 'InputTextReg',
|
||||
type: 'InputText',
|
||||
label: '설비종류명',
|
||||
valueNm: 'eqpmKindNm',
|
||||
disabled: false,
|
||||
@ -458,14 +428,4 @@ const myDetail = [
|
||||
textCols: 12,
|
||||
},
|
||||
];
|
||||
|
||||
import { getPathDataExample } from '@/const/const'
|
||||
const dataPathDataExample = getPathDataExample({
|
||||
eqpmKindId: 'EKIND0005',
|
||||
eqpmKindNm: 'VCB',
|
||||
regUserNo: '사용',
|
||||
regDttm: 'EQP_HVAC_LT_CH001',
|
||||
procUserNo: '사용',
|
||||
procDttm: 'EQP_HVAC_LT_CH001',
|
||||
});
|
||||
</script>
|
@ -1,41 +1,23 @@
|
||||
<template>
|
||||
<div ref="mainDiv" class="l-layout">
|
||||
<PageTitle />
|
||||
<v-row ref="searchFilter">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
<v-row align="end" no-gutters>
|
||||
<v-col :cols="3">
|
||||
<component
|
||||
:is="'selectCodeList'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:label="'사용여부'"
|
||||
dataKey="useFg"
|
||||
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
||||
:addAll="true"
|
||||
customClass="select-large"
|
||||
/>
|
||||
<component :is="'selectCodeList'" :parentPrgmId="myPrgmId" :label="'사용여부'" dataKey="useFg"
|
||||
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }" :addAll="true"
|
||||
customClass="select-large" />
|
||||
</v-col>
|
||||
<v-col :cols="3">
|
||||
<component
|
||||
:is="'SelectBox'"
|
||||
ref="SelectBox1"
|
||||
:propsValue="selectValue01"
|
||||
:itemList="selectValueList01"
|
||||
:label="'설비종류'"
|
||||
@update:propsValue="selectValue01 = $event"
|
||||
customClass="select-large"
|
||||
/>
|
||||
<component :is="'SelectBox'" ref="SelectBox1" :propsValue="selectValue01"
|
||||
:itemList="selectValueList01" :label="'설비종류'"
|
||||
@update:propsValue="selectValue01 = $event" customClass="select-large" />
|
||||
</v-col>
|
||||
<v-col :cols="3">
|
||||
<InputText
|
||||
:parentPrgmId="myPrgmId"
|
||||
label="설비 그룹 명"
|
||||
valueNm="eqpmGrpNm"
|
||||
:searchOption="true"
|
||||
:textCols="12"
|
||||
:labelCols="12"
|
||||
customClass="input-large"
|
||||
/>
|
||||
<InputText :parentPrgmId="myPrgmId" label="설비 그룹 명" valueNm="eqpmGrpNm" :searchOption="true"
|
||||
:textCols="12" :labelCols="12" customClass="input-large" />
|
||||
</v-col>
|
||||
<v-col :cols="3" class="text-right">
|
||||
<BtnSearch @click="search" size="large" />
|
||||
@ -47,41 +29,28 @@
|
||||
<v-row ref="contents">
|
||||
<v-col :cols="5" class="h100">
|
||||
<v-card class="pb-5">
|
||||
<v-card-title class="d-flex justify-space-between align-end">
|
||||
<span class="tit ft-size_20 ft-weight_600">설비 그룹</span>
|
||||
<Buttons
|
||||
:parentPrgmId="myPrgmId"
|
||||
:bindingData="gridName"
|
||||
:btnActionsFnc="btnActions"
|
||||
/>
|
||||
</v-card-title>
|
||||
|
||||
<div class="d-flex align-center justify-space-between pa-4"
|
||||
style="padding-bottom: 30px !important;">
|
||||
<v-card-title class="pa-0">설비 그룹</v-card-title>
|
||||
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
||||
</div>
|
||||
<div class="h100 px-5" style="height:calc(100% - 70px)">
|
||||
<div ref="gridParent" class="w100 h100">
|
||||
<component
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:gridName="gridName"
|
||||
:parentPrgmId="myPrgmId"
|
||||
@getRowsData="getRowData"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
||||
:parentPrgmId="myPrgmId" @getRowsData="getRowData" />
|
||||
</div>
|
||||
</div>
|
||||
</v-card>
|
||||
</v-col>
|
||||
<v-col :cols="7" class="h100">
|
||||
<v-card class="pb-5">
|
||||
<div class="d-flex align-center justify-space-between pa-5">
|
||||
<div class="d-flex align-center justify-space-between pa-4"
|
||||
style="padding-bottom: 30px !important;">
|
||||
<v-card-title class="pa-0">설비 그룹 상세</v-card-title>
|
||||
</div>
|
||||
<div class="px-5" style="height:calc(100% - 76px)">
|
||||
<component
|
||||
:is="'Form'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:detailList="detailList"
|
||||
@gridEditingFinish="gridEditingFinish"
|
||||
/>
|
||||
<component :is="'Form'" :parentPrgmId="myPrgmId" :detailList="detailList"
|
||||
@gridEditingFinish="gridEditingFinish" />
|
||||
</div>
|
||||
</v-card>
|
||||
</v-col>
|
||||
@ -100,6 +69,8 @@ import Form from '~/components/common/form/Form';
|
||||
import Grid from '~/components/common/Grid';
|
||||
import Utility from '~/plugins/utility';
|
||||
import SelectBox from '@/components/common/select/SelectBox';
|
||||
import PageTitle from "~/components/common/PageTitle";
|
||||
|
||||
let myTitle;
|
||||
// const myPrgmId = "PRG0013";
|
||||
let myPrgmId;
|
||||
@ -130,34 +101,17 @@ export default {
|
||||
Grid,
|
||||
Utility,
|
||||
SelectBox,
|
||||
PageTitle,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
myPrgmId: myPrgmId,
|
||||
gridName: 'rowGrid',
|
||||
loadGrid: true,
|
||||
loadGrid: false,
|
||||
tab: null,
|
||||
detailList: myDetail,
|
||||
selectValueList01: [],
|
||||
selectValue01: null,
|
||||
dataPathMock: {
|
||||
'rowGrid': {
|
||||
column: [
|
||||
{ header: '회사 ID', name: 'comId', hidden: true },
|
||||
{ header: '설비 그룹 ID', name: 'eqpmGrpId'},
|
||||
{ header: '설비 그룹 명', name: 'eqpmGrpNm'},
|
||||
{ header: '설비종류', name: 'eqpmKindId'},
|
||||
{ header: '사용여부', name: 'useFg'},
|
||||
{ header: '등록자NO', name: 'regUserNo', hidden: true},
|
||||
{ header: '등록일시', name: 'regDttm', hidden: true },
|
||||
{ header: '수정자NO', name: 'procUserNo', hidden: true },
|
||||
{ header: '수정일시', name: 'procDttm', hidden: true}
|
||||
],
|
||||
data: dataPathDataExample,
|
||||
defaultRow: dataPathDataExample,
|
||||
options:{}
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -203,7 +157,7 @@ export default {
|
||||
defaultData: defaultData,
|
||||
});
|
||||
},
|
||||
created() {},
|
||||
created() { },
|
||||
mounted() {
|
||||
this.setSelectValueList01();
|
||||
// if (this.loadFlag) {
|
||||
@ -252,12 +206,15 @@ export default {
|
||||
}
|
||||
},
|
||||
gridInit() {
|
||||
const gridHeight = this.$refs.gridParent.offsetHeight - 70;
|
||||
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
||||
|
||||
const myOptions = {
|
||||
columnOptions: {
|
||||
resizable: true,
|
||||
},
|
||||
header: {
|
||||
height: 38,
|
||||
},
|
||||
};
|
||||
this.setGridOption({
|
||||
gridKey: this.gridName,
|
||||
@ -365,12 +322,12 @@ export default {
|
||||
//rowKey: 0,
|
||||
rowKey:
|
||||
this.pageData.rowGridSelectKey == '' ||
|
||||
this.pageData.rowGridSelectKey == null
|
||||
this.pageData.rowGridSelectKey == null
|
||||
? 0
|
||||
: this.pageData.rowGridSelectKey ==
|
||||
this.$refs[this.gridName].getData().length - 1
|
||||
? this.pageData.rowGridSelectKey
|
||||
: 0,
|
||||
this.$refs[this.gridName].getData().length - 1
|
||||
? this.pageData.rowGridSelectKey
|
||||
: 0,
|
||||
setScroll: true,
|
||||
});
|
||||
}
|
||||
@ -512,7 +469,7 @@ const myDetail = [
|
||||
placeholder: '시스템 자동입력',
|
||||
},
|
||||
{
|
||||
type: 'InputTextReg',
|
||||
type: 'InputText',
|
||||
label: '설비 그룹 명',
|
||||
valueNm: 'eqpmGrpNm',
|
||||
disabled: false,
|
||||
@ -600,18 +557,4 @@ const myDetail = [
|
||||
textCols: 12,
|
||||
},
|
||||
];
|
||||
|
||||
import { getPathDataExample } from '@/const/const'
|
||||
const dataPathDataExample = getPathDataExample({
|
||||
comId: 'EKIND0005',
|
||||
eqpmGrpId: 'EQG000010',
|
||||
eqpmGrpNm:'냉수파이프고온',
|
||||
eqpmKindId:'냉동파이프',
|
||||
useFg:'1',
|
||||
regUserNo: '사용',
|
||||
regDttm: 'EQP_HVAC_LT_CH001',
|
||||
procUserNo: '사용',
|
||||
procDttm: 'EQP_HVAC_LT_CH001',
|
||||
});
|
||||
|
||||
</script>
|
||||
|
@ -73,10 +73,8 @@
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:gridName="gridName"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
</div>
|
||||
|
||||
</v-card>
|
||||
</v-col>
|
||||
</v-row>
|
||||
@ -154,53 +152,6 @@ export default {
|
||||
required: false,
|
||||
formFg: false,
|
||||
},
|
||||
dataPathMock: {
|
||||
"rowGrid": {
|
||||
column: [
|
||||
{
|
||||
header: 'TAG ID',
|
||||
name: 'tagId',
|
||||
minWidth: 500,
|
||||
},
|
||||
{
|
||||
header: 'TAG명',
|
||||
name: 'tagNm',
|
||||
},
|
||||
{
|
||||
header: '대상일시',
|
||||
name: 'readDttm',
|
||||
align:"center",
|
||||
width: 200,
|
||||
},
|
||||
{
|
||||
header: '값',
|
||||
name: 'readVal',
|
||||
width: 100,
|
||||
align:"center"
|
||||
},
|
||||
{
|
||||
header: '취득일시',
|
||||
name: 'regDttm',
|
||||
width: 200,
|
||||
align:"center"
|
||||
},
|
||||
{
|
||||
header: '적재일시',
|
||||
name: 'procDttm',
|
||||
width: 200,
|
||||
align:"center"
|
||||
},
|
||||
],
|
||||
data: dataPathDataExample,
|
||||
defaultRow: dataPathDataExample,
|
||||
option: {
|
||||
pageOptions: {
|
||||
useClient: true,
|
||||
perPage: 10,
|
||||
},
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -316,13 +267,15 @@ export default {
|
||||
columnOptions: {
|
||||
resizable: true,
|
||||
},
|
||||
header: {
|
||||
height: 38,
|
||||
},
|
||||
};
|
||||
|
||||
this.setGridOption({
|
||||
gridKey: this.gridName,
|
||||
value: Object.assign(Utility.defaultGridOption(gridHeight), myOptions),
|
||||
});
|
||||
|
||||
let myColumns = [
|
||||
{
|
||||
header: 'TAG ID',
|
||||
@ -569,13 +522,4 @@ const defaultData = {
|
||||
},
|
||||
},
|
||||
};
|
||||
import { getPathDataExample } from '@/const/const'
|
||||
const dataPathDataExample = getPathDataExample({
|
||||
"tagId": "ICHEON.ELEC.EQID101.VCB_111A_ACC_WH_PV",
|
||||
"tagNm": "ICHEON VCB_111A 적산 전력",
|
||||
"readDttm": "2023-01-10 00:00:00",
|
||||
"readVal": "581.27",
|
||||
"regDttm": "2023-01-09 15:03:08",
|
||||
"procDttm": "2023-01-10 00:03:09",
|
||||
});
|
||||
</script>
|
||||
|
@ -1,80 +1,40 @@
|
||||
<template>
|
||||
<div class="l-layout">
|
||||
<PageTitle/>
|
||||
<v-row ref="searchFilter">
|
||||
<v-col :cols="12">
|
||||
<v-card class="searchFilter">
|
||||
<v-row align="center" no-gutters>
|
||||
<v-col :cols="3">
|
||||
<!-- 사업장 -->
|
||||
<component
|
||||
:is="'SelectBlocMstr'"
|
||||
ref="SelectBlocMstr"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:textCols="12"
|
||||
customClass="select-large"
|
||||
/>
|
||||
<component :is="'SelectBlocMstr'" ref="SelectBlocMstr" :parentPrgmId="myPrgmId"
|
||||
:textCols="12" customClass="select-large" />
|
||||
</v-col>
|
||||
<v-col :cols="3">
|
||||
<component
|
||||
:is="'selectCodeList'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:label="'측정 Data 유형'"
|
||||
dataKey="searchReadDataType"
|
||||
:sendParam="{ commGrpCd: 'EM_READ_DATA_TYPE', useFg: '1' }"
|
||||
:addAll="true"
|
||||
:textCols="12"
|
||||
customClass="select-large"
|
||||
/>
|
||||
<component :is="'selectCodeList'" :parentPrgmId="myPrgmId" :label="'측정 Data 유형'"
|
||||
dataKey="searchReadDataType" :sendParam="{ commGrpCd: 'EM_READ_DATA_TYPE', useFg: '1' }"
|
||||
:addAll="true" :textCols="12" customClass="select-large" />
|
||||
</v-col>
|
||||
<v-col :cols="3">
|
||||
<component
|
||||
:is="'SelectReadObj'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:label="'측정대상'"
|
||||
dataKey="searchReadObj"
|
||||
:sendParam="{ useFg: '1' }"
|
||||
:labelCols="12"
|
||||
:textCols="12"
|
||||
:addAll="true"
|
||||
customClass="select-large"
|
||||
/>
|
||||
<component :is="'SelectReadObj'" :parentPrgmId="myPrgmId" :label="'측정대상'"
|
||||
dataKey="searchReadObj" :sendParam="{ useFg: '1' }" :labelCols="12" :textCols="12"
|
||||
:addAll="true" customClass="select-large" />
|
||||
</v-col>
|
||||
|
||||
</v-row>
|
||||
<v-row align="end" no-gutters>
|
||||
<v-col :cols="3">
|
||||
<component
|
||||
:is="'selectCodeList'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:label="'사용여부'"
|
||||
dataKey="useFg"
|
||||
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
||||
:addAll="true"
|
||||
:textCols="12"
|
||||
customClass="select-large"
|
||||
/>
|
||||
<component :is="'selectCodeList'" :parentPrgmId="myPrgmId" :label="'사용여부'" dataKey="useFg"
|
||||
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }" :addAll="true" :textCols="12"
|
||||
customClass="select-large" />
|
||||
</v-col>
|
||||
<v-col :cols="3">
|
||||
<InputText
|
||||
:parentPrgmId="myPrgmId"
|
||||
label="TAG ID"
|
||||
valueNm="tagId"
|
||||
:labelCols="12"
|
||||
:textCols="12"
|
||||
:searchOption="true"
|
||||
customClass="input-large"
|
||||
/>
|
||||
<InputText :parentPrgmId="myPrgmId" label="TAG ID" valueNm="tagId" :labelCols="12"
|
||||
:textCols="12" :searchOption="true" customClass="input-large" />
|
||||
</v-col>
|
||||
<v-col :cols="3">
|
||||
<InputText
|
||||
:parentPrgmId="myPrgmId"
|
||||
label="TAG명"
|
||||
valueNm="tagNm"
|
||||
:labelCols="12"
|
||||
:textCols="12"
|
||||
:searchOption="true"
|
||||
customClass="input-large"
|
||||
/>
|
||||
<InputText :parentPrgmId="myPrgmId" label="TAG명" valueNm="tagNm" :labelCols="12"
|
||||
:textCols="12" :searchOption="true" customClass="input-large" />
|
||||
</v-col>
|
||||
<v-col :cols="3" class="d-flex align-end justify-end text-right">
|
||||
<BtnSearch @click="search" size="large" />
|
||||
@ -88,29 +48,14 @@
|
||||
<v-card class="pb-5">
|
||||
<v-card-title class="d-flex justify-space-between align-end">
|
||||
<span class="tit ft-size_20 ft-weight_600">TAG 정보</span>
|
||||
<Buttons
|
||||
:parentPrgmId="myPrgmId"
|
||||
:bindingData="gridName"
|
||||
:detailList="detailList"
|
||||
:btnActionsFnc="btnActions"
|
||||
/>
|
||||
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :detailList="detailList"
|
||||
:btnActionsFnc="btnActions" />
|
||||
</v-card-title>
|
||||
<v-card-actions>
|
||||
<div
|
||||
ref="gridParent"
|
||||
class="w100"
|
||||
style="height: calc(100vh - 400px)"
|
||||
>
|
||||
<component
|
||||
:ref="gridName"
|
||||
:is="loadGrid ? 'Grid' : null"
|
||||
:gridName="gridName"
|
||||
:parentPrgmId="myPrgmId"
|
||||
@getRowsData="getRowData"
|
||||
@sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
||||
:selectedRowDataWatchFlag="true"
|
||||
:dataPath="dataPathMock"
|
||||
/>
|
||||
<div ref="gridParent" class="w100" style="height: calc(100vh - 400px)">
|
||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
||||
:parentPrgmId="myPrgmId" @getRowsData="getRowData"
|
||||
@sendSelectedRowStatInfo="getSelectedRowStatInfo" :selectedRowDataWatchFlag="true" />
|
||||
</div>
|
||||
</v-card-actions>
|
||||
<!-- <div class="d-flex align-center justify-space-between">
|
||||
@ -129,32 +74,16 @@
|
||||
<v-card-title>TAG 상세</v-card-title>
|
||||
<div class="px-5" style="height:calc(100% - 70px)">
|
||||
<v-tabs v-model="tab">
|
||||
<v-tab
|
||||
v-for="item in items"
|
||||
:key="item.id"
|
||||
:disabled="item.disabledFlag"
|
||||
>
|
||||
<v-tab v-for="item in items" :key="item.id" :disabled="item.disabledFlag">
|
||||
{{ item.name }}
|
||||
</v-tab>
|
||||
</v-tabs>
|
||||
<v-tabs-items
|
||||
v-model="tab"
|
||||
style="height: calc(100% - 65px);"
|
||||
class="py-6"
|
||||
>
|
||||
<v-tabs-items v-model="tab" style="height: calc(100% - 65px);" class="py-6">
|
||||
<v-tab-item v-for="(item, idx) in items" :key="item.id">
|
||||
<component
|
||||
v-if="item.id == 'tagBaseInfoTab'"
|
||||
:is="'Form'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:detailList="detailList"
|
||||
@gridEditingFinish="gridEditingFinish"
|
||||
/>
|
||||
<TagAddInfoTab
|
||||
v-if="item.id == 'tagAddInfoTab'"
|
||||
:parentPrgmId="myPrgmId"
|
||||
:innerTabGridInfo="{ tab, idx }"
|
||||
/>
|
||||
<component v-if="item.id == 'tagBaseInfoTab'" :is="'Form'" :parentPrgmId="myPrgmId"
|
||||
:detailList="detailList" @gridEditingFinish="gridEditingFinish" />
|
||||
<TagAddInfoTab v-if="item.id == 'tagAddInfoTab'" :parentPrgmId="myPrgmId"
|
||||
:innerTabGridInfo="{ tab, idx }" />
|
||||
</v-tab-item>
|
||||
</v-tabs-items>
|
||||
</div>
|
||||
@ -166,7 +95,7 @@
|
||||
<script>
|
||||
import { mapState, mapMutations, mapActions } from 'vuex';
|
||||
import mixinGlobal from '@/mixin/global.js';
|
||||
import { resize } from '@/mixin/resize.js';
|
||||
import { resize } from '@/mixin/resize.js';
|
||||
import BtnSearch from '~/components/common/button/BtnSearch';
|
||||
import Buttons from '~/components/common/button/Buttons';
|
||||
import SelectBlocMstr from '@/components/common/select/SelectBlocMstr';
|
||||
@ -178,12 +107,13 @@ import TagAddInfoTab from '@/components/pages/ems/TagInfo/TagAddInfoTab';
|
||||
import Grid from '~/components/common/Grid';
|
||||
import Utility from '~/plugins/utility';
|
||||
import pagination from '~/components/Pagination';
|
||||
import PageTitle from "~/components/common/PageTitle";
|
||||
|
||||
let myTitle;
|
||||
// const myPrgmId = "PRG0051";
|
||||
let myPrgmId;
|
||||
export default {
|
||||
mixins: [mixinGlobal,resize],
|
||||
mixins: [mixinGlobal, resize],
|
||||
async asyncData(context) {
|
||||
const myState = context.store.state;
|
||||
// context.store.commit("setActiveMenuInfo", myState.menuData[myPrgmId]);
|
||||
@ -210,6 +140,7 @@ export default {
|
||||
TagAddInfoTab,
|
||||
Grid,
|
||||
pagination,
|
||||
PageTitle
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -223,123 +154,11 @@ export default {
|
||||
],
|
||||
detailList: myDetail,
|
||||
alrmFg: null,
|
||||
dataPathMock: {
|
||||
"rowGrid": {
|
||||
column: [
|
||||
{ header: '회사 ID', name: 'comId', hidden: true },
|
||||
{
|
||||
header: 'TAG ID',
|
||||
name: 'tagId',
|
||||
width: 'auto',
|
||||
minWidth: 340,
|
||||
align: 'left',
|
||||
},
|
||||
{
|
||||
header: 'TAG 명',
|
||||
name: 'tagNm',
|
||||
width: 'auto',
|
||||
minWidth: 220,
|
||||
align: 'left',
|
||||
},
|
||||
{
|
||||
header: '측정 값 유형',
|
||||
name: 'readDataTypeCd',
|
||||
width: 90,
|
||||
align: 'left',
|
||||
},
|
||||
{
|
||||
header: '측정대상',
|
||||
name: 'readObjId',
|
||||
width: 100,
|
||||
align: 'left',
|
||||
},
|
||||
{ header: '배율', name: 'mgnf', width: 80, align: 'right' },
|
||||
{
|
||||
header: '단위',
|
||||
name: 'unitCd',
|
||||
width: 80,
|
||||
align: 'left',
|
||||
},
|
||||
{
|
||||
header: '최소값',
|
||||
name: 'rangMin',
|
||||
width: 100,
|
||||
align: 'right',
|
||||
hidden: true,
|
||||
},
|
||||
{
|
||||
header: '최대값',
|
||||
name: 'rangMax',
|
||||
width: 100,
|
||||
align: 'right',
|
||||
hidden: true,
|
||||
},
|
||||
{
|
||||
header: '경고 상상',
|
||||
name: 'alrmHihi',
|
||||
width: 100,
|
||||
align: 'right',
|
||||
hidden: true,
|
||||
},
|
||||
{
|
||||
header: '경고 상',
|
||||
name: 'alrmHi',
|
||||
width: 100,
|
||||
align: 'right',
|
||||
hidden: true,
|
||||
},
|
||||
{
|
||||
header: '경고 하',
|
||||
name: 'alrmLo',
|
||||
width: 100,
|
||||
align: 'right',
|
||||
hidden: true,
|
||||
},
|
||||
{
|
||||
header: '경고 하하',
|
||||
name: 'alrmLolo',
|
||||
width: 100,
|
||||
align: 'right',
|
||||
hidden: true,
|
||||
},
|
||||
{
|
||||
header: '사업장',
|
||||
name: 'blocId',
|
||||
width: 100,
|
||||
align: 'center',
|
||||
hidden: true,
|
||||
},
|
||||
{
|
||||
header: '집계 여부',
|
||||
name: 'totFg',
|
||||
width: 80,
|
||||
align: 'center',
|
||||
hidden: true,
|
||||
},
|
||||
{
|
||||
header: '사용 여부',
|
||||
name: 'useFg',
|
||||
width: 80,
|
||||
align: 'center',
|
||||
hidden: true,
|
||||
},
|
||||
],
|
||||
data: dataPathDataExample,
|
||||
defaultRow: dataPathDataExample,
|
||||
option: {
|
||||
pageOptions: {
|
||||
useClient: true,
|
||||
perPage: 10,
|
||||
},
|
||||
scrollX: true
|
||||
}
|
||||
}
|
||||
},
|
||||
// itemsPerPage: 10,
|
||||
// itemsPerPageArray: [10, 20, 30],
|
||||
// limit: 20,
|
||||
// page: 1,
|
||||
// totalCount: 0,
|
||||
itemsPerPage: 10,
|
||||
itemsPerPageArray: [10, 20, 30],
|
||||
limit: 20,
|
||||
page: 1,
|
||||
totalCount: 0,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -456,12 +275,20 @@ export default {
|
||||
this.gridInit();
|
||||
},
|
||||
gridInit() {
|
||||
const gridHeight = this.$refs.gridParent.offsetHeight - 16;
|
||||
const gridHeight = this.$refs.gridParent.offsetHeight - 180;
|
||||
|
||||
const myOptions = {
|
||||
columnOptions: {
|
||||
resizable: true,
|
||||
},
|
||||
pageOptions: {
|
||||
useClient: true,
|
||||
perPage: 10,
|
||||
},
|
||||
scrollX: true,
|
||||
header: {
|
||||
height: 38,
|
||||
},
|
||||
};
|
||||
this.setGridOption({
|
||||
gridKey: this.gridName,
|
||||
@ -700,16 +527,16 @@ export default {
|
||||
//rowKey: 0,
|
||||
rowKey:
|
||||
this.pageData.rowGridSelectKey == '' ||
|
||||
this.pageData.rowGridSelectKey == null
|
||||
this.pageData.rowGridSelectKey == null
|
||||
? 0
|
||||
: this.pageData.rowGridSelectKey ==
|
||||
this.$refs[this.gridName].getData().length - 1
|
||||
? this.pageData.rowGridSelectKey
|
||||
: 0,
|
||||
this.$refs[this.gridName].getData().length - 1
|
||||
? this.pageData.rowGridSelectKey
|
||||
: 0,
|
||||
columnName: 'tagId',
|
||||
setScroll: true,
|
||||
});
|
||||
} catch (error) {}
|
||||
} catch (error) { }
|
||||
// this.$refs[this.gridName].focus({
|
||||
// rowKey: 0,
|
||||
// columnName: "tagId",
|
||||
@ -946,7 +773,7 @@ export default {
|
||||
gridEditingFinish(data) {
|
||||
this.$refs[this.gridName].editingFinish(data);
|
||||
},
|
||||
changeGrid: async function(pageNum, limit) {
|
||||
changeGrid: async function (pageNum, limit) {
|
||||
this.page = pageNum;
|
||||
this.limit = limit;
|
||||
|
||||
@ -990,9 +817,9 @@ function isValidAlrmVal(obj) {
|
||||
if (Number(obj[keyList[i]]) >= Number(obj[keyList[j]])) {
|
||||
alert(
|
||||
nameList[j] +
|
||||
'값은 ' +
|
||||
nameList[i] +
|
||||
'값보다 큰 숫자를 입력해야 합니다.',
|
||||
'값은 ' +
|
||||
nameList[i] +
|
||||
'값보다 큰 숫자를 입력해야 합니다.',
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -1094,7 +921,7 @@ const myDetail = [
|
||||
label: 'TAG ID',
|
||||
valueNm: 'tagId',
|
||||
disabled: false,
|
||||
iconShow:true,
|
||||
iconShow: true,
|
||||
cols: 6,
|
||||
class: 'py-2 pr-4',
|
||||
required: false,
|
||||
@ -1106,7 +933,7 @@ const myDetail = [
|
||||
label: 'TAG 명',
|
||||
valueNm: 'tagNm',
|
||||
disabled: false,
|
||||
iconShow:true,
|
||||
iconShow: true,
|
||||
cols: 6,
|
||||
class: 'py-2 pl-4',
|
||||
required: false,
|
||||
@ -1118,7 +945,7 @@ const myDetail = [
|
||||
label: '측정 값 유형',
|
||||
valueNm: 'readDataTypeCd',
|
||||
disabled: false,
|
||||
iconShow:true,
|
||||
iconShow: true,
|
||||
cols: 6,
|
||||
class: 'py-2 pr-4 pt-5',
|
||||
list: 'readDataTypeCdList',
|
||||
@ -1139,7 +966,7 @@ const myDetail = [
|
||||
itemText: 'readObjNm',
|
||||
itemValue: 'readObjId',
|
||||
required: true,
|
||||
iconShow:true,
|
||||
iconShow: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
},
|
||||
@ -1151,7 +978,7 @@ const myDetail = [
|
||||
cols: 6,
|
||||
class: 'py-2 pr-4 pt-5',
|
||||
required: true,
|
||||
iconShow:true,
|
||||
iconShow: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
},
|
||||
@ -1165,7 +992,7 @@ const myDetail = [
|
||||
list: 'unitCdList',
|
||||
itemText: 'commCdNm',
|
||||
itemValue: 'commCd',
|
||||
iconShow:true,
|
||||
iconShow: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
},
|
||||
@ -1176,7 +1003,7 @@ const myDetail = [
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2 pr-4 pt-5',
|
||||
iconShow:true,
|
||||
iconShow: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
},
|
||||
@ -1187,7 +1014,7 @@ const myDetail = [
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2 pl-4 pt-5',
|
||||
iconShow:true,
|
||||
iconShow: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
},
|
||||
@ -1198,7 +1025,7 @@ const myDetail = [
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2 pr-4 pt-5',
|
||||
iconShow:true,
|
||||
iconShow: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
},
|
||||
@ -1209,7 +1036,7 @@ const myDetail = [
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2 pl-4 pt-5',
|
||||
iconShow:true,
|
||||
iconShow: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
},
|
||||
@ -1220,7 +1047,7 @@ const myDetail = [
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2 pr-4 pt-5',
|
||||
iconShow:true,
|
||||
iconShow: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
},
|
||||
@ -1231,7 +1058,7 @@ const myDetail = [
|
||||
disabled: false,
|
||||
cols: 6,
|
||||
class: 'py-2 pl-4 pt-5',
|
||||
iconShow:true,
|
||||
iconShow: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
},
|
||||
@ -1243,7 +1070,7 @@ const myDetail = [
|
||||
cols: 6,
|
||||
class: 'py-2 pr-4 pt-5',
|
||||
value: { '1': true, '0': false },
|
||||
iconShow:true,
|
||||
iconShow: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
},
|
||||
@ -1256,7 +1083,7 @@ const myDetail = [
|
||||
class: 'py-2 pl-4 pt-5',
|
||||
value: { '1': true, '0': false },
|
||||
required: false,
|
||||
iconShow:true,
|
||||
iconShow: true,
|
||||
labelCols: 12,
|
||||
textCols: 12,
|
||||
},
|
||||
@ -1285,25 +1112,4 @@ const myDetail = [
|
||||
class: 'py-2',
|
||||
},
|
||||
];
|
||||
|
||||
import { getPathDataExample } from '@/const/const'
|
||||
const dataPathDataExample = getPathDataExample({
|
||||
"comId": "",
|
||||
"tagId": "INCHEON.ELEC.EQID.VCB_111A_ACCWH_PV",
|
||||
"tagNm": "ICHEON VCB_111A - 적산 전력",
|
||||
"readDataTypeCd": "적산",
|
||||
"readObjId": "적산",
|
||||
"mgnf": "적산",
|
||||
"unitCd":"적산",
|
||||
"rangMin":"1",
|
||||
"rangMax":"10",
|
||||
"alrmHihi":"1",
|
||||
"alrmHi":"10",
|
||||
"alrmLo":"1",
|
||||
"alrmLolo":"10",
|
||||
"blocId":"1",
|
||||
"totFg":"1",
|
||||
"useFg":"1",
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -275,11 +275,11 @@ export default {
|
||||
}
|
||||
}
|
||||
.v-btn {
|
||||
@if $theme == dark {
|
||||
background-color: #18579e;
|
||||
} @else {
|
||||
background-color: #3f4d7d;
|
||||
}
|
||||
// @if $theme == dark {
|
||||
// background-color: #18579e;
|
||||
// } @else {
|
||||
// background-color: #3f4d7d;
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user