Merge pull request 'dev-luannv24-s32s17s2' (#30) from dev-luannv24-s32s17 into dev
Reviewed-on: #30
This commit is contained in:
@ -474,7 +474,7 @@ a {
|
|||||||
|
|
||||||
.header {
|
.header {
|
||||||
background-color: map-deep-get($config, #{$theme}, "header-backgroud");
|
background-color: map-deep-get($config, #{$theme}, "header-backgroud");
|
||||||
border-color: #D3D6EA;
|
border-bottom: 1px solid map-deep-get($config, #{$theme}, "v-header-border");
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-header {
|
.btn-header {
|
||||||
@ -489,6 +489,7 @@ a {
|
|||||||
.menu-container {
|
.menu-container {
|
||||||
height:calc(100vh - 60px);
|
height:calc(100vh - 60px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
border-right: 1px solid map-deep-get($config, #{$theme}, "v-sidebar-border") ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,6 +109,15 @@
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.grid-toggle-section{
|
||||||
|
.tui-grid-rside-area{
|
||||||
|
.tui-grid-body-area {
|
||||||
|
height: auto !important;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.tui-grid {
|
.tui-grid {
|
||||||
&-table {
|
&-table {
|
||||||
border: 1px solid;
|
border: 1px solid;
|
||||||
|
@ -174,6 +174,8 @@ $config: (
|
|||||||
btn-header-select-bg: #1F1F1F,
|
btn-header-select-bg: #1F1F1F,
|
||||||
btn-header-select-color:#FFFFFFD9,
|
btn-header-select-color:#FFFFFFD9,
|
||||||
subtitle-tab: #FFFFFFA6,
|
subtitle-tab: #FFFFFFA6,
|
||||||
|
v-header-border: #424242,
|
||||||
|
v-sidebar-border: #303030,
|
||||||
),
|
),
|
||||||
light: (w-g5: $--color-gray_555,
|
light: (w-g5: $--color-gray_555,
|
||||||
g5-w: $--color-white,
|
g5-w: $--color-white,
|
||||||
@ -312,5 +314,7 @@ $config: (
|
|||||||
btn-header-select-color:#1F1F1F,
|
btn-header-select-color:#1F1F1F,
|
||||||
btn-header-select-bg:#FFFFFF,
|
btn-header-select-bg:#FFFFFF,
|
||||||
subtitle-tab: #000000A6,
|
subtitle-tab: #000000A6,
|
||||||
|
v-header-border: #D9D9D9,
|
||||||
|
v-sidebar-border: #F0F0F0,
|
||||||
),
|
),
|
||||||
);
|
);
|
@ -1,9 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="d-flex flex-column justify-center align-center">
|
<div class="d-flex flex-row justify-center align-center" style="gap: 12px">
|
||||||
<!--<v-btn icon tile :ripple="false" @click="btnActionsFnc('addLeftToRight')">
|
<!--<v-btn icon tile :ripple="false" @click="btnActionsFnc('addLeftToRight')">
|
||||||
<v-icon>mdi-chevron-right</v-icon>
|
<v-icon>mdi-chevron-right</v-icon>
|
||||||
</v-btn> -->
|
</v-btn> -->
|
||||||
<a-button @click="btnActionsFnc('addLeftToRight')" type="primary" ghost icon="right" >
|
<a-button @click="btnActionsFnc('removeRightToLeft')" type="primary" ghost icon="up" >
|
||||||
</a-button>
|
</a-button>
|
||||||
|
|
||||||
<!--<v-btn
|
<!--<v-btn
|
||||||
@ -15,7 +15,7 @@
|
|||||||
>
|
>
|
||||||
<v-icon>mdi-chevron-left</v-icon>
|
<v-icon>mdi-chevron-left</v-icon>
|
||||||
</v-btn> -->
|
</v-btn> -->
|
||||||
<a-button class="mt-2" @click="btnActionsFnc('removeRightToLeft')" type="primary" ghost icon="left">
|
<a-button @click="btnActionsFnc('addLeftToRight')" type="primary" ghost icon="down">
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -127,13 +127,13 @@
|
|||||||
|
|
||||||
<!-- 역할수정 -->
|
<!-- 역할수정 -->
|
||||||
<template v-else-if="item.id == 'AsgnRoleByUser'">
|
<template v-else-if="item.id == 'AsgnRoleByUser'">
|
||||||
<v-col :cols="3" class="h100">
|
<v-col :cols="12" class="overflow-y-scroll grid-toggle-section">
|
||||||
<v-card-title
|
<v-card-title
|
||||||
class="pa-0 custom-subtitle-tab"
|
class="pa-0 custom-subtitle-tab"
|
||||||
style="min-height:36px;"
|
style="min-height:36px;"
|
||||||
>역할리스트</v-card-title
|
>역할리스트</v-card-title
|
||||||
>
|
>
|
||||||
<div style="height:calc(100% - 36px)" class="py-5">
|
<div class="py-5">
|
||||||
<component
|
<component
|
||||||
class="w100"
|
class="w100"
|
||||||
:is="loadGridTab2 ? 'Grid' : null"
|
:is="loadGridTab2 ? 'Grid' : null"
|
||||||
@ -145,7 +145,7 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="1" class="d-flex justify-center">
|
<v-col :cols="12" class="d-flex justify-center">
|
||||||
<ActionButtons
|
<ActionButtons
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
:leftGridName="gridName2"
|
:leftGridName="gridName2"
|
||||||
@ -153,7 +153,7 @@
|
|||||||
:btnActionsFnc="dualGridBtnActions"
|
:btnActionsFnc="dualGridBtnActions"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="8" class="h100">
|
<v-col :cols="12" class="h100">
|
||||||
<div class="d-flex align-center justify-space-between">
|
<div class="d-flex align-center justify-space-between">
|
||||||
<v-card-title class="pa-0 custom-subtitle-tab">
|
<v-card-title class="pa-0 custom-subtitle-tab">
|
||||||
사용자 역할</v-card-title
|
사용자 역할</v-card-title
|
||||||
@ -894,6 +894,7 @@ const defaultData = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const myColumns = [
|
const myColumns = [
|
||||||
|
|
||||||
{ header: '사용자No', name: 'userNo', align: 'center', hidden: true },
|
{ header: '사용자No', name: 'userNo', align: 'center', hidden: true },
|
||||||
{ header: '사용자명', name: 'userNm' },
|
{ header: '사용자명', name: 'userNm' },
|
||||||
{ header: '사용자ID', name: 'userLoginId' },
|
{ header: '사용자ID', name: 'userLoginId' },
|
||||||
@ -909,6 +910,17 @@ const myColumns = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
const unAsgnRoleByUserColumns = [
|
const unAsgnRoleByUserColumns = [
|
||||||
|
{
|
||||||
|
header: '',
|
||||||
|
name: '',
|
||||||
|
align: 'center',
|
||||||
|
width: 50,
|
||||||
|
formatter: (props) => {
|
||||||
|
return `<label class="custom-radio">
|
||||||
|
<span class="radio-mark"></span>
|
||||||
|
</label>`;
|
||||||
|
}
|
||||||
|
},
|
||||||
{ header: '역할ID', name: 'roleId', align: 'center' },
|
{ header: '역할ID', name: 'roleId', align: 'center' },
|
||||||
{ header: '역할명', name: 'roleNm' },
|
{ header: '역할명', name: 'roleNm' },
|
||||||
{ header: '적용시작일', name: 'aplyStartDt', hidden: true },
|
{ header: '적용시작일', name: 'aplyStartDt', hidden: true },
|
||||||
@ -918,6 +930,7 @@ const unAsgnRoleByUserColumns = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
const asgnRoleByUserColumns = [
|
const asgnRoleByUserColumns = [
|
||||||
|
|
||||||
{ header: '역할ID', name: 'roleId', align: 'center' },
|
{ header: '역할ID', name: 'roleId', align: 'center' },
|
||||||
{ header: '역할명', name: 'roleNm' },
|
{ header: '역할명', name: 'roleNm' },
|
||||||
{
|
{
|
||||||
@ -931,7 +944,19 @@ const asgnRoleByUserColumns = [
|
|||||||
{ header: 'comId', name: 'comId', hidden: true },
|
{ header: 'comId', name: 'comId', hidden: true },
|
||||||
];
|
];
|
||||||
|
|
||||||
const asgnMenuByUserColumns = [{ header: '메뉴명', name: 'menuNm' }];
|
const asgnMenuByUserColumns = [
|
||||||
|
{
|
||||||
|
header: '',
|
||||||
|
name: '',
|
||||||
|
align: 'center',
|
||||||
|
width: 50,
|
||||||
|
formatter: (props) => {
|
||||||
|
return `<label class="custom-radio">
|
||||||
|
<span class="radio-mark"></span>
|
||||||
|
</label>`;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ header: '메뉴명', name: 'menuNm' }];
|
||||||
|
|
||||||
const myDetail = blocCdList => {
|
const myDetail = blocCdList => {
|
||||||
return [
|
return [
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row align="end" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
<div></div>
|
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2.5">
|
||||||
<InputText
|
<InputText
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row align="end" no-gutters>
|
<v-row align="center" no-gutters>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="3">
|
||||||
<component
|
<component
|
||||||
:is="'selectCodeList'"
|
:is="'selectCodeList'"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
@ -12,11 +12,9 @@
|
|||||||
dataKey="searchLocKind"
|
dataKey="searchLocKind"
|
||||||
:sendParam="{ commGrpCd: 'EM_LOC_KIND', useFg: '1' }"
|
:sendParam="{ commGrpCd: 'EM_LOC_KIND', useFg: '1' }"
|
||||||
:addAll="true"
|
:addAll="true"
|
||||||
:iconShow="true"
|
|
||||||
customClass="select-large"
|
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="3">
|
||||||
<component
|
<component
|
||||||
:is="'selectCodeList'"
|
:is="'selectCodeList'"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
@ -24,12 +22,10 @@
|
|||||||
dataKey="searchEccKind"
|
dataKey="searchEccKind"
|
||||||
:sendParam="{ commGrpCd: 'EM_ECC_KIND', useFg: '1' }"
|
:sendParam="{ commGrpCd: 'EM_ECC_KIND', useFg: '1' }"
|
||||||
:addAll="true"
|
:addAll="true"
|
||||||
:iconShow="true"
|
|
||||||
customClass="select-large"
|
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<!-- <v-col :cols="3">
|
<v-col :cols="3">
|
||||||
사업장
|
<!-- 사업장 -->
|
||||||
<div style="visibility:hidden">
|
<div style="visibility:hidden">
|
||||||
<component
|
<component
|
||||||
:is="'SelectBlocMstr'"
|
:is="'SelectBlocMstr'"
|
||||||
@ -37,8 +33,13 @@
|
|||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</v-col> -->
|
</v-col>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="3" class="text-right">
|
||||||
|
<BtnSearch @click="search" />
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
<v-row align="center" no-gutters>
|
||||||
|
<v-col :cols="3">
|
||||||
<component
|
<component
|
||||||
:is="'selectCodeList'"
|
:is="'selectCodeList'"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
@ -46,23 +47,18 @@
|
|||||||
dataKey="useFg"
|
dataKey="useFg"
|
||||||
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
||||||
:addAll="true"
|
:addAll="true"
|
||||||
:iconShow="true"
|
|
||||||
customClass="select-large"
|
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="6">
|
||||||
<InputText
|
<InputText
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
label="공정명"
|
label="공정명"
|
||||||
valueNm="eccNm"
|
valueNm="eccNm"
|
||||||
:labelCols="12"
|
:labelCols="2"
|
||||||
:textCols="12"
|
:textCols="9"
|
||||||
:searchOption="true"
|
:searchOption="true"
|
||||||
:iconShow="true"
|
|
||||||
customClass="input-large"
|
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<BtnSearch @click="search" size="large" />
|
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -79,8 +75,8 @@
|
|||||||
:btnActionsFnc="btnActions"
|
:btnActionsFnc="btnActions"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="px-5" style="min-height:calc(100% - 76px)">
|
<div class="px-5" style="height:calc(100% - 76px)">
|
||||||
<div ref="gridParent" class="w100 h100 pb-2">
|
<div ref="gridParent" class="w100 h100">
|
||||||
<component
|
<component
|
||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
:is="loadGrid ? 'Grid' : null"
|
:is="loadGrid ? 'Grid' : null"
|
||||||
@ -89,7 +85,6 @@
|
|||||||
@getRowsData="getRowData"
|
@getRowsData="getRowData"
|
||||||
@sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
@sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
||||||
:selectedRowDataWatchFlag="true"
|
:selectedRowDataWatchFlag="true"
|
||||||
:dataPath="dataPathMock"
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -196,15 +191,13 @@ export default {
|
|||||||
gridName: 'rowGrid',
|
gridName: 'rowGrid',
|
||||||
loadGrid: false,
|
loadGrid: false,
|
||||||
tab: null,
|
tab: null,
|
||||||
selectedRowKey: null,
|
|
||||||
// rowSelectionStatus: {},
|
|
||||||
dataPathMock : { },
|
|
||||||
items: [
|
items: [
|
||||||
{ name: '공정 정보', id: 'eccBaseInfoTab', disabledFlag: false },
|
{ name: '공정 정보', id: 'eccBaseInfoTab', disabledFlag: false },
|
||||||
{ name: '공정 추가 정보', id: 'eccAddInfoTab', disabledFlag: false },
|
{ name: '공정 추가 정보', id: 'eccAddInfoTab', disabledFlag: false },
|
||||||
{ name: '공정 연결 정보', id: 'eccIaoTab', disabledFlag: false },
|
{ name: '공정 연결 정보', id: 'eccIaoTab', disabledFlag: false },
|
||||||
],
|
],
|
||||||
detailList: myDetail,
|
detailList: myDetail,
|
||||||
|
loadGrid: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -320,23 +313,11 @@ export default {
|
|||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.init();
|
this.init();
|
||||||
this.$nextTick(() => {
|
|
||||||
// const checkbox = document.getElementById('headerCheckbox');
|
|
||||||
// if (checkbox) {
|
|
||||||
// checkbox.addEventListener('change', this.handleHeaderCheckboxChange);
|
|
||||||
// }
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
this.chkOpenTabList({ key: 'destroy', prgmId: myPrgmId });
|
this.chkOpenTabList({ key: 'destroy', prgmId: myPrgmId });
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleHeaderCheckboxChange(event) {
|
|
||||||
const checked = event.target.checked;
|
|
||||||
this.dataPathMock.rowGrid.data.forEach(row => {
|
|
||||||
row.selected = checked;
|
|
||||||
});},
|
|
||||||
|
|
||||||
...mapMutations({
|
...mapMutations({
|
||||||
setPageData: 'setPageData',
|
setPageData: 'setPageData',
|
||||||
}),
|
}),
|
||||||
@ -351,41 +332,7 @@ export default {
|
|||||||
blocId: this.userInfo.blocId,
|
blocId: this.userInfo.blocId,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
gridInitTest() {
|
|
||||||
const rowGrid = {
|
|
||||||
column: [
|
|
||||||
{
|
|
||||||
header: '',
|
|
||||||
name: '',
|
|
||||||
align: 'center',
|
|
||||||
width: 50,
|
|
||||||
formatter: (props) => {
|
|
||||||
return `<label class="custom-radio">
|
|
||||||
<span class="radio-mark"></span>
|
|
||||||
</label>`;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{ header: '공정 정보', name: 'eccNm', align: 'left' },
|
|
||||||
{ header: '현재 상태', name: 'status', align: 'center' },
|
|
||||||
{ header: '공정 유형', name: 'eccKind', align: 'left' },
|
|
||||||
{ header: '사용 여부', name: 'useFg', align: 'center' },
|
|
||||||
],
|
|
||||||
data: dataMockExample,
|
|
||||||
defaultRow: dataMockExample,
|
|
||||||
option: {
|
|
||||||
...gridOptions,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
this.dataPathMock = {rowGrid};
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.loadGrid = true;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
gridInit() {
|
gridInit() {
|
||||||
// Test
|
|
||||||
this.gridInitTest(); return;
|
|
||||||
// End test
|
|
||||||
|
|
||||||
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
||||||
const gridWidth = this.$refs.gridParent.offsetWidth;
|
const gridWidth = this.$refs.gridParent.offsetWidth;
|
||||||
|
|
||||||
@ -404,6 +351,17 @@ export default {
|
|||||||
|
|
||||||
const _this = this;
|
const _this = this;
|
||||||
const myColumns = [
|
const myColumns = [
|
||||||
|
{
|
||||||
|
header: '',
|
||||||
|
name: '',
|
||||||
|
align: 'center',
|
||||||
|
width: 50,
|
||||||
|
formatter: (props) => {
|
||||||
|
return `<label class="custom-radio">
|
||||||
|
<span class="radio-mark"></span>
|
||||||
|
</label>`;
|
||||||
|
}
|
||||||
|
},
|
||||||
{ header: '회사 ID', name: 'comId', hidden: true },
|
{ header: '회사 ID', name: 'comId', hidden: true },
|
||||||
{
|
{
|
||||||
header: '공정 명',
|
header: '공정 명',
|
||||||
@ -598,16 +556,6 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async getRowData(data) {
|
async getRowData(data) {
|
||||||
|
|
||||||
//Progess and fake radio
|
|
||||||
// const rowKey = data.rowKey;
|
|
||||||
// this.selectedRowKey = rowKey;
|
|
||||||
// Object.keys(this.rowSelectionStatus).forEach(key => {
|
|
||||||
// this.$set(this.rowSelectionStatus, key, false);
|
|
||||||
// });
|
|
||||||
// this.$set(this.rowSelectionStatus, rowKey, true);
|
|
||||||
|
|
||||||
|
|
||||||
this.setEccAddInfo(data);
|
this.setEccAddInfo(data);
|
||||||
this.setEccIao(data);
|
this.setEccIao(data);
|
||||||
this.setGridSelectData({
|
this.setGridSelectData({
|
||||||
@ -623,9 +571,6 @@ export default {
|
|||||||
rowGridSelectKey: data.rowKey,
|
rowGridSelectKey: data.rowKey,
|
||||||
rowGridSelectData: Object.assign({}, data),
|
rowGridSelectData: Object.assign({}, data),
|
||||||
});
|
});
|
||||||
//fake radio need recheck
|
|
||||||
// this.$refs[this.gridName]?.repaint?.();
|
|
||||||
|
|
||||||
},
|
},
|
||||||
async setEccAddInfo(data) {
|
async setEccAddInfo(data) {
|
||||||
this.setPageData({
|
this.setPageData({
|
||||||
@ -1070,142 +1015,4 @@ const myDetail = [
|
|||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const dataMockExample = [
|
|
||||||
{
|
|
||||||
eccId: 'ECC000001',
|
|
||||||
eccNm: 'EGP_HVAC_LT_CH001',
|
|
||||||
status: '운영중',
|
|
||||||
eccKind: '공정',
|
|
||||||
useFg: '1',
|
|
||||||
_children: [
|
|
||||||
{
|
|
||||||
eccId: 'ECC000002',
|
|
||||||
eccNm: 'B01',
|
|
||||||
status: '대기',
|
|
||||||
eccKind: '공정',
|
|
||||||
useFg: '1',
|
|
||||||
_children: [
|
|
||||||
{
|
|
||||||
eccId: 'ECC000005',
|
|
||||||
eccNm: 'B01-1',
|
|
||||||
status: '운영중',
|
|
||||||
eccKind: '공정',
|
|
||||||
useFg: '1',
|
|
||||||
_children: [
|
|
||||||
{
|
|
||||||
eccId: 'ECC000009',
|
|
||||||
eccNm: 'B01-1-1',
|
|
||||||
status: '운영중',
|
|
||||||
eccKind: '공정',
|
|
||||||
useFg: '1'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
eccId: 'ECC0000010',
|
|
||||||
eccNm: 'B01-1-2',
|
|
||||||
status: '운영중',
|
|
||||||
eccKind: '공정',
|
|
||||||
useFg: '1'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
eccId: 'ECC0000011',
|
|
||||||
eccNm: 'B01-1-3',
|
|
||||||
status: '운영중',
|
|
||||||
eccKind: '공정',
|
|
||||||
useFg: '1'
|
|
||||||
},
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
eccId: 'ECC000006',
|
|
||||||
eccNm: 'B01-2',
|
|
||||||
status: '점검중',
|
|
||||||
eccKind: '공정',
|
|
||||||
useFg: '0',
|
|
||||||
_children: [
|
|
||||||
{
|
|
||||||
eccId: 'ECC0000013',
|
|
||||||
eccNm: 'B01-2-1',
|
|
||||||
status: '운영중',
|
|
||||||
eccKind: '공정',
|
|
||||||
useFg: '1'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
eccId: 'ECC0000014',
|
|
||||||
eccNm: 'B01-1-2',
|
|
||||||
status: '운영중',
|
|
||||||
eccKind: '공정',
|
|
||||||
useFg: '1'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
eccId: 'ECC0000015',
|
|
||||||
eccNm: 'B01-1-3',
|
|
||||||
status: '운영중',
|
|
||||||
eccKind: '공정',
|
|
||||||
useFg: '1'
|
|
||||||
},
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
eccId: 'ECC000007',
|
|
||||||
eccNm: 'B01-3',
|
|
||||||
status: '운영중',
|
|
||||||
eccKind: '공정',
|
|
||||||
useFg: '1',
|
|
||||||
_children: [
|
|
||||||
{
|
|
||||||
eccId: 'ECC000009',
|
|
||||||
eccNm: 'B01-3-1',
|
|
||||||
status: '운영중',
|
|
||||||
eccKind: '공정',
|
|
||||||
useFg: '1'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
eccId: 'ECC0000010',
|
|
||||||
eccNm: 'B01-3-2',
|
|
||||||
status: '운영중',
|
|
||||||
eccKind: '공정',
|
|
||||||
useFg: '1'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
eccId: 'ECC0000011',
|
|
||||||
eccNm: 'B01-3-3',
|
|
||||||
status: '운영중',
|
|
||||||
eccKind: '공정',
|
|
||||||
useFg: '1'
|
|
||||||
},
|
|
||||||
]
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
eccId: 'ECC000003',
|
|
||||||
eccNm: 'B02',
|
|
||||||
status: '운영중',
|
|
||||||
eccKind: '공정',
|
|
||||||
useFg: '1',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
eccId: 'ECC000004',
|
|
||||||
eccNm: 'B03',
|
|
||||||
status: '점검중',
|
|
||||||
eccKind: '공정',
|
|
||||||
useFg: '0',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
const gridOptions = {
|
|
||||||
treeColumnOptions: {
|
|
||||||
name: 'eccNm', // Showing tree table
|
|
||||||
useIcon: false, // Not using icon
|
|
||||||
indentWidth: 10,// spacing when showing children
|
|
||||||
},
|
|
||||||
header: {
|
|
||||||
height: 40,
|
|
||||||
},
|
|
||||||
rowHeight: 35,
|
|
||||||
showCheckbox: false,
|
|
||||||
};
|
|
||||||
</script>
|
</script>
|
@ -6,7 +6,7 @@
|
|||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row align="end" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2.5">
|
||||||
<DatePicker :parentPrgmId="myPrgmId" :label="'조회연도'" />
|
<DatePicker :parentPrgmId="myPrgmId" :label="'조회연도'" customClass="datepicker-large"/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2.5">
|
||||||
<component :is="'SelectBox'" ref="SelectBox1" :propsValue="selectValue01" :itemList="selectValueList01"
|
<component :is="'SelectBox'" ref="SelectBox1" :propsValue="selectValue01" :itemList="selectValueList01"
|
||||||
@ -24,9 +24,9 @@
|
|||||||
<BtnSearch size="large" @click="search" />
|
<BtnSearch size="large" @click="search" />
|
||||||
<!-- <v-col>
|
<!-- <v-col>
|
||||||
</v-col> -->
|
</v-col> -->
|
||||||
|
</v-row>
|
||||||
<component ref="EnrgUsePlanModiPop" :is="'EnrgUsePlanModiPop'" :label="'test'" :parentPrgmId="myPrgmId"
|
<component ref="EnrgUsePlanModiPop" :is="'EnrgUsePlanModiPop'" :label="'test'" :parentPrgmId="myPrgmId"
|
||||||
@gridEditingFinish="gridEditingFinish" />
|
@gridEditingFinish="gridEditingFinish" />
|
||||||
</v-row>
|
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
@ -44,8 +44,6 @@
|
|||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@ -106,9 +104,6 @@ export default {
|
|||||||
fromDt: new Date().getFullYear(),
|
fromDt: new Date().getFullYear(),
|
||||||
rowKey: null,
|
rowKey: null,
|
||||||
edtingFinishFlag: 'Y',
|
edtingFinishFlag: 'Y',
|
||||||
dataPathMock: {
|
|
||||||
// "grid01": {}
|
|
||||||
},
|
|
||||||
// gridName: 'rowGrid',
|
// gridName: 'rowGrid',
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -168,10 +163,6 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
// -------
|
|
||||||
// this.initTest();
|
|
||||||
// return;
|
|
||||||
// ========End test===========
|
|
||||||
await this.init();
|
await this.init();
|
||||||
this.initedFlag = true;
|
this.initedFlag = true;
|
||||||
},
|
},
|
||||||
@ -184,122 +175,6 @@ export default {
|
|||||||
getBlocMstrList: 'modules/search/getBlocMstrList',
|
getBlocMstrList: 'modules/search/getBlocMstrList',
|
||||||
getAddInfoList: 'modules/search/getAddInfoList',
|
getAddInfoList: 'modules/search/getAddInfoList',
|
||||||
}),
|
}),
|
||||||
...mapMutations({
|
|
||||||
setPageData: 'setPageData',
|
|
||||||
}),
|
|
||||||
initTest() {
|
|
||||||
let _this = this;
|
|
||||||
// _this.setPageData({ popupDialogFg: true });
|
|
||||||
|
|
||||||
class MockCustumButton {
|
|
||||||
constructor(props) {
|
|
||||||
const { grid, rowKey, columnInfo } = props;
|
|
||||||
const value = columnInfo.renderer.options.value;
|
|
||||||
|
|
||||||
const elDiv = document.createElement('div');
|
|
||||||
elDiv.innerHTML = `<span>${value}</span>`;
|
|
||||||
$(elDiv).addClass('tui-grid-cell-content d-flex justify-space-between');
|
|
||||||
const el = document.createElement('button');
|
|
||||||
$(el).addClass('edit-btn blue--text');
|
|
||||||
el.innerText = 'Edit';
|
|
||||||
|
|
||||||
el.addEventListener('click', function (event) {
|
|
||||||
// console.log("------DEBUG----_this:", _this);
|
|
||||||
// _this.setPageData({ eqpmNm: selectedGridData[0]?.eqpmNm });
|
|
||||||
_this.setPageData({ popupDialogFg: true });
|
|
||||||
});
|
|
||||||
|
|
||||||
elDiv.appendChild(el);
|
|
||||||
this.elDiv = elDiv;
|
|
||||||
}
|
|
||||||
|
|
||||||
getElement() {
|
|
||||||
return this.elDiv;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const mockData = {
|
|
||||||
column: [
|
|
||||||
{ header: 'No', name: 'rowNum', align: 'center', width: 40 },
|
|
||||||
{ header: 'FAB', name: 'fab', align: 'left', width: 80 },
|
|
||||||
{ header: '설비 그룹', name: 'eqpmGrpNm', align: 'left', minWidth: 150 },
|
|
||||||
// {
|
|
||||||
// header: '설비명', name: 'eqpmNm', align: 'left', minWidth: 150,
|
|
||||||
// formatter: ({ value, row }) => {
|
|
||||||
// return `
|
|
||||||
// <div class="d-flex justify-space-between">
|
|
||||||
// <span>${value}</span>
|
|
||||||
// <button class="edit-btn blue--text" data-row='${JSON.stringify(row)}'>Edit</button
|
|
||||||
// </div>
|
|
||||||
// `;
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
{
|
|
||||||
header: '설비명',
|
|
||||||
name: 'eqpmNm',
|
|
||||||
width: 70,
|
|
||||||
align: 'left',
|
|
||||||
minWidth: 150,
|
|
||||||
renderer: {
|
|
||||||
type: MockCustumButton,
|
|
||||||
options: {
|
|
||||||
value: '계획수정',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '구분', name: 'gubun', align: 'left', width: 80,
|
|
||||||
formatter({ value }) {
|
|
||||||
let retVal = '';
|
|
||||||
if (value == '1RSLT') {
|
|
||||||
retVal = '전년실적';
|
|
||||||
} else if (value == '2PLAN') {
|
|
||||||
retVal = '계획';
|
|
||||||
} else {
|
|
||||||
retVal = value;
|
|
||||||
}
|
|
||||||
return retVal;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
{ header: '1월', name: 'jan', align: 'right', width: 80 },
|
|
||||||
{ header: '2월', name: 'feb', align: 'right', width: 80 },
|
|
||||||
{ header: '3월', name: 'mar', align: 'right', width: 80 },
|
|
||||||
{ header: '4월', name: 'apr', align: 'right', width: 80 },
|
|
||||||
{ header: '5월', name: 'may', align: 'right', width: 80 },
|
|
||||||
{ header: '6월', name: 'jun', align: 'right', width: 80 },
|
|
||||||
{ header: '7월', name: 'jul', align: 'right', width: 80 },
|
|
||||||
{ header: '8월', name: 'aug', align: 'right', width: 80 },
|
|
||||||
{ header: '9월', name: 'sep', align: 'right', width: 80 },
|
|
||||||
{ header: '10월', name: 'oct', align: 'right', width: 80 },
|
|
||||||
{ header: '11월', name: 'nov', align: 'right', width: 80 },
|
|
||||||
{ header: '12월', name: 'dec', align: 'right', width: 80 }
|
|
||||||
],
|
|
||||||
data: dataPathDataExample,
|
|
||||||
defaultRow: dataPathDataExample,
|
|
||||||
option: {
|
|
||||||
columnOptions: {
|
|
||||||
resizable: true,
|
|
||||||
},
|
|
||||||
header: {
|
|
||||||
height: 65,
|
|
||||||
complexColumns: [
|
|
||||||
{
|
|
||||||
header: '2025 년',
|
|
||||||
name: 'yyyyCol',
|
|
||||||
childNames: [
|
|
||||||
'jan', 'feb', 'mar', 'apr', 'may', 'jun',
|
|
||||||
'jul', 'aug', 'sep', 'oct', 'nov', 'dec'
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
this.dataPathMock[this.gridName] = mockData;
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.loadGrid = true;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
async init() {
|
async init() {
|
||||||
await this.getFab();
|
await this.getFab();
|
||||||
await this.getEqpmKind();
|
await this.getEqpmKind();
|
||||||
@ -436,7 +311,7 @@ export default {
|
|||||||
|
|
||||||
if (!this.disabled) {
|
if (!this.disabled) {
|
||||||
// click 이벤트
|
// click 이벤트
|
||||||
el2.addEventListener('click', function (event) {
|
this.el.addEventListener('click', function(event) {
|
||||||
let gridData = grid.store.data.rawData;
|
let gridData = grid.store.data.rawData;
|
||||||
let rowNum = gridData[rowKey].rowNum;
|
let rowNum = gridData[rowKey].rowNum;
|
||||||
let selectedGridData = gridData.filter(item => {
|
let selectedGridData = gridData.filter(item => {
|
||||||
@ -942,110 +817,18 @@ const defaultData = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const dataPathDataExample = [
|
|
||||||
{
|
|
||||||
rowNum: 1,
|
|
||||||
fab: 'B01',
|
|
||||||
eqpmGrpNm: '방송기술운',
|
|
||||||
eqpmNm: 'U/T_LT_CH101',
|
|
||||||
gubun: '전력량',
|
|
||||||
jan: 110000,
|
|
||||||
feb: 112000,
|
|
||||||
mar: 115000,
|
|
||||||
apr: 117000,
|
|
||||||
may: 120000,
|
|
||||||
jun: 118000,
|
|
||||||
jul: 119000,
|
|
||||||
aug: 121000,
|
|
||||||
sep: 122000,
|
|
||||||
oct: 123000,
|
|
||||||
nov: 124000,
|
|
||||||
dec: 125000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rowNum: 2,
|
|
||||||
fab: 'B02',
|
|
||||||
eqpmGrpNm: '방송기술운',
|
|
||||||
eqpmNm: 'U/T_LT_CH102',
|
|
||||||
gubun: '전력량',
|
|
||||||
jan: 81000,
|
|
||||||
feb: 82000,
|
|
||||||
mar: 83000,
|
|
||||||
apr: 84000,
|
|
||||||
may: 85000,
|
|
||||||
jun: 86000,
|
|
||||||
jul: 87000,
|
|
||||||
aug: 88000,
|
|
||||||
sep: 89000,
|
|
||||||
oct: 90000,
|
|
||||||
nov: 91000,
|
|
||||||
dec: 92000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rowNum: 3, fab: 'C01', eqpmGrpNm: '방송기술운', eqpmNm: 'U/T_LT_CH124', gubun: '수도량',
|
|
||||||
jan: 106178, feb: 104740, mar: 92283, apr: 116081, may: 98945, jun: 126579,
|
|
||||||
jul: 90690, aug: 124243, sep: 97524, oct: 84072, nov: 88160, dec: 118183
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rowNum: 4, fab: 'B01', eqpmGrpNm: '방송기술운', eqpmNm: 'U/T_LT_CH103', gubun: '가스량',
|
|
||||||
jan: 80442, feb: 102867, mar: 114939, apr: 106335, may: 81743, jun: 83711,
|
|
||||||
jul: 86114, aug: 97432, sep: 84146, oct: 84775, nov: 117921, dec: 119417
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rowNum: 5, fab: 'B01', eqpmGrpNm: '설비운영팀', eqpmNm: 'U/T_LT_CH156', gubun: '전력량',
|
|
||||||
jan: 90341, feb: 94072, mar: 122754, apr: 85471, may: 90813, jun: 116831,
|
|
||||||
jul: 90856, aug: 109437, sep: 94029, oct: 96075, nov: 127067, dec: 102503
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rowNum: 6, fab: 'B03', eqpmGrpNm: '방송기술운', eqpmNm: 'U/T_LT_CH183', gubun: '가스량',
|
|
||||||
jan: 104163, feb: 107012, mar: 104631, apr: 83055, may: 106311, jun: 117306,
|
|
||||||
jul: 86434, aug: 117087, sep: 118414, oct: 91499, nov: 93829, dec: 94192
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rowNum: 7, fab: 'C01', eqpmGrpNm: '전력관리부', eqpmNm: 'U/T_LT_CH158', gubun: '가스량',
|
|
||||||
jan: 84821, feb: 128234, mar: 116883, apr: 116718, may: 114738, jun: 88297,
|
|
||||||
jul: 93840, aug: 84700, sep: 98360, oct: 87021, nov: 113098, dec: 94734
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rowNum: 8, fab: 'B02', eqpmGrpNm: '방송기술운', eqpmNm: 'U/T_LT_CH179', gubun: '가스량',
|
|
||||||
jan: 128714, feb: 88797, mar: 124808, apr: 109283, may: 113141, jun: 82873,
|
|
||||||
jul: 114993, aug: 129108, sep: 100885, oct: 125730, nov: 92127, dec: 122286
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rowNum: 9, fab: 'C01', eqpmGrpNm: '전력관리부', eqpmNm: 'U/T_LT_CH191', gubun: '전력량',
|
|
||||||
jan: 107258, feb: 108424, mar: 113604, apr: 116648, may: 124149, jun: 129978,
|
|
||||||
jul: 112215, aug: 129602, sep: 93551, oct: 111272, nov: 89736, dec: 128423
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rowNum: 10, fab: 'B02', eqpmGrpNm: '방송기술운', eqpmNm: 'U/T_LT_CH104', gubun: '전력량',
|
|
||||||
jan: 82089, feb: 102793, mar: 96784, apr: 85238, may: 86153, jun: 123849,
|
|
||||||
jul: 115095, aug: 129484, sep: 102109, oct: 80976, nov: 119841, dec: 106309
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rowNum: 11, fab: 'C02', eqpmGrpNm: '전력관리부', eqpmNm: 'U/T_LT_CH139', gubun: '전력량',
|
|
||||||
jan: 128592, feb: 95647, mar: 85982, apr: 126824, may: 87928, jun: 128967,
|
|
||||||
jul: 94637, aug: 107530, sep: 122533, oct: 97546, nov: 112110, dec: 126250
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rowNum: 12, fab: 'C01', eqpmGrpNm: '설비운영팀', eqpmNm: 'U/T_LT_CH109', gubun: '전력량',
|
|
||||||
jan: 106530, feb: 91716, mar: 111104, apr: 102663, may: 108912, jun: 91464,
|
|
||||||
jul: 121245, aug: 90785, sep: 120586, oct: 105718, nov: 96191, dec: 111513
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
// @import '@/assets/scss/common.scss';
|
||||||
@import '@/assets/scss/var.scss';
|
@import '@/assets/scss/var.scss';
|
||||||
|
|
||||||
@each $theme in dark, light {
|
@each $theme in dark, light {
|
||||||
.v-application.#{$theme}-mode {
|
.v-application.#{$theme}-mode {
|
||||||
.tui-grid {
|
.tui-grid {
|
||||||
|
|
||||||
&-row-odd,
|
&-row-odd,
|
||||||
&-row-even {
|
&-row-even {
|
||||||
&:hover > .colrowspan {
|
&:hover > .colrowspan {
|
||||||
background-color: map-deep-get($config,
|
background-color: map-deep-get(
|
||||||
|
$config,
|
||||||
#{$theme},
|
#{$theme},
|
||||||
'tui-grid-cell-backgroundColor'
|
'tui-grid-cell-backgroundColor'
|
||||||
) !important;
|
) !important;
|
||||||
@ -1055,10 +838,10 @@ const dataPathDataExample = [
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&-cell {
|
&-cell {
|
||||||
&.row-selected.colrowspan {
|
&.row-selected.colrowspan {
|
||||||
background-color: map-deep-get($config,
|
background-color: map-deep-get(
|
||||||
|
$config,
|
||||||
#{$theme},
|
#{$theme},
|
||||||
'tui-grid-cell-backgroundColor'
|
'tui-grid-cell-backgroundColor'
|
||||||
) !important;
|
) !important;
|
||||||
|
Reference in New Issue
Block a user