Merge branch 'dev' of http://218.237.212.51:30003/gitadmin/sk_fems_ui into dev-dungtv-0805
This commit is contained in:
@ -52,6 +52,7 @@
|
|||||||
selectBoxTimeItemList.minInterval ? selectBoxTimeItemList.minInterval : 1
|
selectBoxTimeItemList.minInterval ? selectBoxTimeItemList.minInterval : 1
|
||||||
"
|
"
|
||||||
@update:propsValue="selectTimeValue1 = $event"
|
@update:propsValue="selectTimeValue1 = $event"
|
||||||
|
customClass="select-large"
|
||||||
/>
|
/>
|
||||||
<!-- <div v-show="isRange" class="mx-3" :style="{ lineHeight: 0 }">~</div> -->
|
<!-- <div v-show="isRange" class="mx-3" :style="{ lineHeight: 0 }">~</div> -->
|
||||||
|
|
||||||
@ -99,6 +100,7 @@
|
|||||||
selectBoxTimeItemList.minInterval ? selectBoxTimeItemList.minInterval : 1
|
selectBoxTimeItemList.minInterval ? selectBoxTimeItemList.minInterval : 1
|
||||||
"
|
"
|
||||||
@update:propsValue="selectTimeValue2 = $event"
|
@update:propsValue="selectTimeValue2 = $event"
|
||||||
|
customClass="select-large"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="d-flex flex-row justify-center align-center" style="gap: 12px">
|
<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" >
|
<a-button @click="btnActionsFnc('removeRightToLeft')" type="primary" ghost :icon="icons.remove" >
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button @click="btnActionsFnc('addLeftToRight')" type="primary" ghost :icon="icons.add">
|
<a-button @click="btnActionsFnc('addLeftToRight')" type="primary" ghost :icon="icons.add">
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
outlined
|
outlined
|
||||||
:menu-props="{ auto: true, offsetY: true }"
|
:menu-props="{ auto: true, offsetY: true }"
|
||||||
:hide-details="true"
|
:hide-details="true"
|
||||||
:class="'v-select__custom'"
|
:class="['v-select__custom', customClass]"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
:readonly="readonly"
|
:readonly="readonly"
|
||||||
@click="setDatepickerHide"
|
@click="setDatepickerHide"
|
||||||
@ -106,6 +106,10 @@ export default {
|
|||||||
require: false,
|
require: false,
|
||||||
default: 1,
|
default: 1,
|
||||||
},
|
},
|
||||||
|
customClass: {
|
||||||
|
type: String,
|
||||||
|
require: false,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
emits: ["update:propsValue"],
|
emits: ["update:propsValue"],
|
||||||
data() {
|
data() {
|
||||||
|
@ -20,6 +20,12 @@
|
|||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
<!-- Create the line between date picker and form -->
|
||||||
|
<v-row class="my-5" no-gutters>
|
||||||
|
<v-col>
|
||||||
|
<div style="height: 1px; background-color: #ccc;"></div>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
<v-row class="search-box" align="center" no-gutters style="height: 44px;">
|
<v-row class="search-box" align="center" no-gutters style="height: 44px;">
|
||||||
<v-col :cols="4">
|
<v-col :cols="4">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
|
@ -5,22 +5,12 @@
|
|||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row algin="end" no-gutters>
|
<v-row algin="end" no-gutters>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<InputText
|
<InputText :parentPrgmId="myPrgmId" label="역할ID" valueNm="roleId" :searchOption="true"
|
||||||
:parentPrgmId="myPrgmId"
|
customClass="input-large" />
|
||||||
label="역할ID"
|
|
||||||
valueNm="roleId"
|
|
||||||
:searchOption="true"
|
|
||||||
customClass="input-large"
|
|
||||||
/>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<InputText
|
<InputText :parentPrgmId="myPrgmId" label="역할명" valueNm="roleNm" :searchOption="true"
|
||||||
:parentPrgmId="myPrgmId"
|
customClass="input-large" />
|
||||||
label="역할명"
|
|
||||||
valueNm="roleNm"
|
|
||||||
:searchOption="true"
|
|
||||||
customClass="input-large"
|
|
||||||
/>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col class="text-right d-flex justify-end align-end mr-3">
|
<v-col class="text-right d-flex justify-end align-end mr-3">
|
||||||
<BtnSearch size="large" />
|
<BtnSearch size="large" />
|
||||||
@ -30,81 +20,55 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
|
||||||
<v-row ref="contents" >
|
<v-row ref="contents">
|
||||||
<v-col cols="12" lg="2" >
|
<v-col cols="12" lg="3">
|
||||||
<v-card>
|
<v-card>
|
||||||
<v-card-title>
|
<v-card-title>
|
||||||
<span class="custom-title-4">역할 리스트</span>
|
<span class="custom-title-4">역할 리스트</span>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<div ref="gridParent" class="px-5" style="height: 60vh;">
|
<div ref="gridParent" class="px-5" style="height: 60vh;">
|
||||||
<component
|
<component :is="loadGrid ? 'Grid' : null" :ref="gridName + myPrgmId" :gridName="gridName"
|
||||||
:is="loadGrid ? 'Grid' : null"
|
:parentPrgmId="myPrgmId" @getRowsData="getRowData" />
|
||||||
:ref="gridName + myPrgmId"
|
|
||||||
:gridName="gridName"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
@getRowsData="getRowData"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="12" lg="10" >
|
<v-col cols="12" lg="9">
|
||||||
<v-card>
|
<v-card>
|
||||||
<v-card-title>
|
<v-card-title>
|
||||||
<span class="custom-title-4">역할 메뉴별 권한</span>
|
<span class="custom-title-4">역할 메뉴별 권한</span>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<v-row
|
<v-row align="center" no-gutters :style="{ height: 'calc(100% - 62px)' }" class="px-5">
|
||||||
align="center"
|
<v-col class="h100" style="max-width: 400px;">
|
||||||
no-gutters
|
<span class="body-1 font-weight-bold d-flex align-center"
|
||||||
:style="{ height: 'calc(100% - 62px)' }"
|
:style="{ minHeight: '36px' }">[미배정]메뉴리스트</span>
|
||||||
class="px-5"
|
|
||||||
>
|
|
||||||
<v-col :cols="4" class="h100">
|
|
||||||
<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="px-0 mt-2" style="height: 60vh;">
|
||||||
<!-- <div
|
<!-- <div
|
||||||
ref="treeGridParent"
|
ref="treeGridParent"
|
||||||
class="w100 h100"
|
class="w100 h100"
|
||||||
>
|
>
|
||||||
</div> -->
|
</div> -->
|
||||||
<component
|
<component :is="loadTreeGrid ? 'Grid' : null" :ref="gridName2 + myPrgmId"
|
||||||
:is="loadTreeGrid ? 'Grid' : null"
|
:gridName="gridName2" :parentPrgmId="myPrgmId" @getRowsData="getUnAsgnRowData" />
|
||||||
:ref="gridName2 + myPrgmId"
|
|
||||||
:gridName="gridName2"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
@getRowsData="getUnAsgnRowData"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="1">
|
<!-- <v-col :cols="1.5">
|
||||||
<ActionButtons
|
<ActionButtons :parentPrgmId="myPrgmId" :leftGridName="gridName2" :rightGridName="gridName3"
|
||||||
:parentPrgmId="myPrgmId"
|
:btnActionsFnc="dualGridBtnActions" />
|
||||||
:leftGridName="gridName2"
|
</v-col> -->
|
||||||
:rightGridName="gridName3"
|
<div class="px-2">
|
||||||
:btnActionsFnc="dualGridBtnActions"
|
<ActionButtons :parentPrgmId="myPrgmId" :leftGridName="gridName2" :rightGridName="gridName3"
|
||||||
/>
|
:btnActionsFnc="dualGridBtnActions" />
|
||||||
</v-col>
|
</div>
|
||||||
<v-col :cols="7" class="h100">
|
<v-col :cols="7" class="h100">
|
||||||
<v-row
|
<v-row justify="space-between" align="center" no-gutters class="px-5">
|
||||||
justify="space-between"
|
|
||||||
align="center"
|
|
||||||
no-gutters
|
|
||||||
class="px-5"
|
|
||||||
>
|
|
||||||
<v-col :cols="11">
|
<v-col :cols="11">
|
||||||
<span class="body-1 font-weight-bold"
|
<span class="body-1 font-weight-bold d-flex align-center"
|
||||||
>[배정]메뉴별권한 리스트</span
|
:style="{ minHeight: '36px' }">[배정]메뉴별권한 리스트</span>
|
||||||
>
|
<!-- <span class="body-1 font-weight-bold">[배정]메뉴별권한 리스트</span> -->
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="1" class="text-right">
|
<v-col :cols="1" class="text-right">
|
||||||
<Buttons
|
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName3"
|
||||||
:parentPrgmId="myPrgmId"
|
:btnActionsFnc="btnActions" />
|
||||||
:bindingData="gridName3"
|
|
||||||
:btnActionsFnc="btnActions"
|
|
||||||
/>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<div ref="treeGridParent2" class="px-0 mt-2" style="height: 60vh;">
|
<div ref="treeGridParent2" class="px-0 mt-2" style="height: 60vh;">
|
||||||
@ -113,14 +77,9 @@
|
|||||||
class="w100 h100"
|
class="w100 h100"
|
||||||
>
|
>
|
||||||
</div> -->
|
</div> -->
|
||||||
<component
|
<component :is="loadTreeGrid2 ? 'Grid' : null" :ref="gridName3 + myPrgmId"
|
||||||
:is="loadTreeGrid2 ? 'Grid' : null"
|
:gridName="gridName3" :parentPrgmId="myPrgmId" :editorGrid="true"
|
||||||
:ref="gridName3 + myPrgmId"
|
@getRowsData="getAsgnRowData" />
|
||||||
:gridName="gridName3"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:editorGrid="true"
|
|
||||||
@getRowsData="getAsgnRowData"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
@ -286,8 +245,8 @@ export default {
|
|||||||
async gridInit() {
|
async gridInit() {
|
||||||
//---------------------gridOption 설정 시작----------------------------
|
//---------------------gridOption 설정 시작----------------------------
|
||||||
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
||||||
const treeGridHeight = this.$refs.treeGridParent.offsetHeight - 30;
|
const treeGridHeight = this.$refs.treeGridParent.offsetHeight - 50;
|
||||||
const treeGridHeight2 = this.$refs.treeGridParent2.offsetHeight - 30;
|
const treeGridHeight2 = this.$refs.treeGridParent2.offsetHeight - 50;
|
||||||
// const gridHeight = this.$refs.contents.offsetHeight - 30;
|
// const gridHeight = this.$refs.contents.offsetHeight - 30;
|
||||||
|
|
||||||
const myOptions = {
|
const myOptions = {
|
||||||
@ -316,8 +275,10 @@ export default {
|
|||||||
treeColumnOptions: {
|
treeColumnOptions: {
|
||||||
name: 'menuNm',
|
name: 'menuNm',
|
||||||
},
|
},
|
||||||
scrollX: false,
|
rowHeight: 37,
|
||||||
// scrollY: false,
|
minRowHeight: 37,
|
||||||
|
scrollX: true,
|
||||||
|
scrollY: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
@ -347,6 +308,9 @@ export default {
|
|||||||
const el = document.createElement('input');
|
const el = document.createElement('input');
|
||||||
const { grid, rowKey, columnInfo } = props;
|
const { grid, rowKey, columnInfo } = props;
|
||||||
el.type = 'checkbox';
|
el.type = 'checkbox';
|
||||||
|
$(el).css('width', '16px');
|
||||||
|
$(el).css('height', '16px');
|
||||||
|
$(el).css('accent-color', '#1677FF');
|
||||||
el.value = props.value;
|
el.value = props.value;
|
||||||
this.el = el;
|
this.el = el;
|
||||||
|
|
||||||
@ -380,12 +344,12 @@ export default {
|
|||||||
const _this = this;
|
const _this = this;
|
||||||
|
|
||||||
const myColumns = [
|
const myColumns = [
|
||||||
{ header: '역할ID', name: 'roleId', align: 'center', minWidth: 70 },
|
{ header: '역할ID', name: 'roleId', align: 'left', minWidth: 70,width:120 },
|
||||||
{ header: '역할명', name: 'roleNm', minWidth: 70 },
|
{ header: '역할명', name: 'roleNm', minWidth: 70, align: 'left',width:120 },
|
||||||
{
|
{
|
||||||
header: '사용여부',
|
header: '사용여부',
|
||||||
name: 'useFg',
|
name: 'useFg',
|
||||||
align: 'center',
|
align: 'left',
|
||||||
minWidth: 84,
|
minWidth: 84,
|
||||||
formatter({ value }) {
|
formatter({ value }) {
|
||||||
const newValue = _this.pageData.useFgList.filter(
|
const newValue = _this.pageData.useFgList.filter(
|
||||||
@ -408,6 +372,7 @@ export default {
|
|||||||
{
|
{
|
||||||
header: '메뉴명',
|
header: '메뉴명',
|
||||||
name: 'menuNm',
|
name: 'menuNm',
|
||||||
|
maxWidth: 120,
|
||||||
validation: {
|
validation: {
|
||||||
dataType: 'string',
|
dataType: 'string',
|
||||||
validatorFn: (value, row) => {
|
validatorFn: (value, row) => {
|
||||||
@ -549,12 +514,12 @@ export default {
|
|||||||
//rowKey: 0,
|
//rowKey: 0,
|
||||||
rowKey:
|
rowKey:
|
||||||
this.pageData.rowGridSelectKey == '' ||
|
this.pageData.rowGridSelectKey == '' ||
|
||||||
this.pageData.rowGridSelectKey == null
|
this.pageData.rowGridSelectKey == null
|
||||||
? 0
|
? 0
|
||||||
: this.pageData.rowGridSelectKey ==
|
: this.pageData.rowGridSelectKey ==
|
||||||
this.$refs[this.gridName + this.myPrgmId].getData().length - 1
|
this.$refs[this.gridName + this.myPrgmId].getData().length - 1
|
||||||
? this.pageData.rowGridSelectKey
|
? this.pageData.rowGridSelectKey
|
||||||
: 0,
|
: 0,
|
||||||
columnName: 'roleId',
|
columnName: 'roleId',
|
||||||
setScroll: true,
|
setScroll: true,
|
||||||
});
|
});
|
||||||
@ -609,8 +574,8 @@ export default {
|
|||||||
item.upMenuId && item.upMenuId != '0'
|
item.upMenuId && item.upMenuId != '0'
|
||||||
? item.upMenuId
|
? item.upMenuId
|
||||||
: item.upMenuId == '0'
|
: item.upMenuId == '0'
|
||||||
? '00'
|
? '00'
|
||||||
: 'ROOT',
|
: 'ROOT',
|
||||||
};
|
};
|
||||||
return newItem;
|
return newItem;
|
||||||
});
|
});
|
||||||
@ -649,8 +614,8 @@ export default {
|
|||||||
item.upMenuId && item.upMenuId != '0'
|
item.upMenuId && item.upMenuId != '0'
|
||||||
? item.upMenuId
|
? item.upMenuId
|
||||||
: item.upMenuId == '0'
|
: item.upMenuId == '0'
|
||||||
? '00'
|
? '00'
|
||||||
: 'ROOT',
|
: 'ROOT',
|
||||||
};
|
};
|
||||||
return newItem;
|
return newItem;
|
||||||
});
|
});
|
||||||
|
@ -7,28 +7,15 @@
|
|||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
<v-row align="end" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<component
|
<component :is="'selectCodeList'" :parentPrgmId="myPrgmId" :label="'사용여부'"
|
||||||
:is="'selectCodeList'"
|
:dataKey="'selectUseFg'" :sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
||||||
:parentPrgmId="myPrgmId"
|
:addAll="true" customClass="select-large" />
|
||||||
:label="'사용여부'"
|
|
||||||
:dataKey="'selectUseFg'"
|
|
||||||
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
|
||||||
:addAll="true"
|
|
||||||
customClass="select-large"
|
|
||||||
/>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<InputText
|
<InputText :parentPrgmId="myPrgmId" label="프로그램명" valueNm="prgmNm" :searchOption="true"
|
||||||
:parentPrgmId="myPrgmId"
|
:labelCols="12" :textCols="12" customClass="input-large" />
|
||||||
label="프로그램명"
|
|
||||||
valueNm="prgmNm"
|
|
||||||
:searchOption="true"
|
|
||||||
:labelCols="12"
|
|
||||||
:textCols="12"
|
|
||||||
customClass="input-large"
|
|
||||||
/>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="5" class="text-right">
|
<v-col :cols="6" class="text-right">
|
||||||
<BtnSearch size="large" />
|
<BtnSearch size="large" />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
@ -38,46 +25,32 @@
|
|||||||
|
|
||||||
<v-row ref="contents">
|
<v-row ref="contents">
|
||||||
<!-- 프로그램 리스트 -->
|
<!-- 프로그램 리스트 -->
|
||||||
<v-col :cols="5" >
|
<v-col :cols="5">
|
||||||
<v-card class="pb-5">
|
<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-5">
|
||||||
<v-card-title class="pa-0">프로그램 리스트</v-card-title>
|
<v-card-title class="pa-0">프로그램 리스트</v-card-title>
|
||||||
<div>
|
<div>
|
||||||
<Buttons
|
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :detailList="detailList"
|
||||||
:parentPrgmId="myPrgmId"
|
:btnActionsFnc="btnActions" />
|
||||||
:bindingData="gridName"
|
|
||||||
:detailList="detailList"
|
|
||||||
:btnActionsFnc="btnActions"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div ref="gridParent" style="height: 60vh">
|
<div ref="gridParent" style="height: 60vh">
|
||||||
<!-- <div ref="gridParent" class="px-5 h100">
|
<!-- <div ref="gridParent" class="px-5 h100">
|
||||||
</div> -->
|
</div> -->
|
||||||
<component
|
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :parentPrgmId="myPrgmId"
|
||||||
:ref="gridName"
|
:gridName="gridName" @getRowsData="getRowData" />
|
||||||
:is="loadGrid ? 'Grid' : null"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:gridName="gridName"
|
|
||||||
@getRowsData="getRowData"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<!-- 프로그램 상세 -->
|
<!-- 프로그램 상세 -->
|
||||||
<v-col :cols="7" >
|
<v-col :cols="7">
|
||||||
<v-card class="pb-5">
|
<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-5">
|
||||||
<v-card-title class="pa-0">프로그램 상세</v-card-title>
|
<v-card-title class="pa-0">프로그램 상세</v-card-title>
|
||||||
</div>
|
</div>
|
||||||
<div class="px-5" style="min-height:calc(100% - 76px)">
|
<div class="px-5" style="min-height:calc(100% - 76px)">
|
||||||
<component
|
<component :is="'Form'" :parentPrgmId="myPrgmId" :bindingData="gridName"
|
||||||
:is="'Form'"
|
:detailList="detailList" @gridEditingFinish="gridEditingFinish" />
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:bindingData="gridName"
|
|
||||||
:detailList="detailList"
|
|
||||||
@gridEditingFinish="gridEditingFinish"
|
|
||||||
/>
|
|
||||||
<!-- <div class="w100">
|
<!-- <div class="w100">
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
@ -132,21 +105,19 @@ export default {
|
|||||||
detailList: myDetail,
|
detailList: myDetail,
|
||||||
|
|
||||||
dataPathMock: {
|
dataPathMock: {
|
||||||
'rowGrid': {
|
'rowGrid': {
|
||||||
column: [
|
column: [
|
||||||
{ header: '프로그램ID', name: 'field1', align: 'left' },
|
{ header: '프로그램ID', name: 'field1', align: 'left' },
|
||||||
{ header: '프로그램덤', name: 'field2', align: 'left' },
|
{ header: '프로그램덤', name: 'field2', align: 'left' },
|
||||||
{ header: '타임', name: 'field3', align: 'left' },
|
{ header: '타임', name: 'field3', align: 'left' },
|
||||||
{ header: '사용여부', name: 'field4', align: 'left' }
|
{ header: '사용여부', name: 'field4', align: 'left' }
|
||||||
],
|
],
|
||||||
data: dataPathDataExample,
|
option: {
|
||||||
defaultRow: dataPathDataExample,
|
|
||||||
option: {
|
|
||||||
scrollY: false,
|
scrollY: false,
|
||||||
scrollX: false,
|
scrollX: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -295,7 +266,7 @@ export default {
|
|||||||
value: newRes,
|
value: newRes,
|
||||||
});
|
});
|
||||||
this.loadGrid = true;
|
this.loadGrid = true;
|
||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if (newRes.length > 0) {
|
if (newRes.length > 0) {
|
||||||
this.$refs[this.gridName].focus({
|
this.$refs[this.gridName].focus({
|
||||||
@ -303,12 +274,12 @@ export default {
|
|||||||
//rowKey: this.chkRowGridSelectKey || 0,
|
//rowKey: this.chkRowGridSelectKey || 0,
|
||||||
rowKey:
|
rowKey:
|
||||||
this.pageData.rowGridSelectKey == '' ||
|
this.pageData.rowGridSelectKey == '' ||
|
||||||
this.pageData.rowGridSelectKey == null
|
this.pageData.rowGridSelectKey == null
|
||||||
? 0
|
? 0
|
||||||
: this.pageData.rowGridSelectKey ==
|
: this.pageData.rowGridSelectKey ==
|
||||||
this.$refs[this.gridName].getData().length - 1
|
this.$refs[this.gridName].getData().length - 1
|
||||||
? this.pageData.rowGridSelectKey
|
? this.pageData.rowGridSelectKey
|
||||||
: 0,
|
: 0,
|
||||||
setScroll: true,
|
setScroll: true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -331,7 +302,7 @@ export default {
|
|||||||
rowGridSelectKey: data.rowKey,
|
rowGridSelectKey: data.rowKey,
|
||||||
rowGridSelectData: data,
|
rowGridSelectData: data,
|
||||||
});
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
compareData(type, newDt) {
|
compareData(type, newDt) {
|
||||||
if (this.selectedCommCdData[type] == newDt) {
|
if (this.selectedCommCdData[type] == newDt) {
|
||||||
@ -487,7 +458,7 @@ const myDetail = [
|
|||||||
valueNm: 'prgmTpCd',
|
valueNm: 'prgmTpCd',
|
||||||
essential: true,
|
essential: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pt-5',
|
||||||
list: [
|
list: [
|
||||||
{ text: '프로그램', value: '1' },
|
{ text: '프로그램', value: '1' },
|
||||||
{ text: '팝업', value: '2' },
|
{ text: '팝업', value: '2' },
|
||||||
@ -502,10 +473,11 @@ const myDetail = [
|
|||||||
essential: true,
|
essential: true,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pt-13',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
required: true,
|
required: true,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
|
labelCols:12,
|
||||||
iconShow: true
|
iconShow: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -514,7 +486,7 @@ const myDetail = [
|
|||||||
valueNm: 'url',
|
valueNm: 'url',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 12,
|
cols: 12,
|
||||||
class: 'py-2',
|
class: 'py-2 pt-4',
|
||||||
required: true,
|
required: true,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true
|
iconShow: true
|
||||||
@ -525,7 +497,7 @@ const myDetail = [
|
|||||||
valueNm: 'regUserNo',
|
valueNm: 'regUserNo',
|
||||||
disabled: true,
|
disabled: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pt-5',
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true
|
iconShow: true
|
||||||
@ -536,7 +508,7 @@ const myDetail = [
|
|||||||
valueNm: 'regDttm',
|
valueNm: 'regDttm',
|
||||||
disabled: true,
|
disabled: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pt-5',
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true
|
iconShow: true
|
||||||
@ -547,7 +519,7 @@ const myDetail = [
|
|||||||
valueNm: 'procUserNo',
|
valueNm: 'procUserNo',
|
||||||
disabled: true,
|
disabled: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pt-5',
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true
|
iconShow: true
|
||||||
@ -558,19 +530,10 @@ const myDetail = [
|
|||||||
valueNm: 'procDttm',
|
valueNm: 'procDttm',
|
||||||
disabled: true,
|
disabled: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2',
|
class: 'py-2 pt-5',
|
||||||
placeholder: '시스템 자동입력',
|
placeholder: '시스템 자동입력',
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true
|
iconShow: true
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
import { getPathDataExample } from '@/const/const'
|
|
||||||
const dataPathDataExample = getPathDataExample({
|
|
||||||
field1: 'PRG0001',
|
|
||||||
field2: '대시보드',
|
|
||||||
field3: '프로그램',
|
|
||||||
field4: '사용'
|
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -803,7 +803,7 @@ export default {
|
|||||||
header: "NO",
|
header: "NO",
|
||||||
name: "rowNum",
|
name: "rowNum",
|
||||||
width: 70,
|
width: 70,
|
||||||
align: "center",
|
align: "right",
|
||||||
// hidden: true,
|
// hidden: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -167,7 +167,7 @@ export default {
|
|||||||
header: '설비종류ID',
|
header: '설비종류ID',
|
||||||
name: 'eqpmKindId',
|
name: 'eqpmKindId',
|
||||||
width: gridWidth * 0.5,
|
width: gridWidth * 0.5,
|
||||||
align: 'center',
|
align: 'left',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: '설비종류명',
|
header: '설비종류명',
|
||||||
|
@ -104,7 +104,6 @@
|
|||||||
:is="loadGrid ? 'Grid' : null"
|
:is="loadGrid ? 'Grid' : null"
|
||||||
:gridName="gridName"
|
:gridName="gridName"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
@dblClick="gridDoubleClickEvent"
|
|
||||||
/>
|
/>
|
||||||
<!--
|
<!--
|
||||||
<component
|
<component
|
||||||
@ -143,7 +142,6 @@ import SelectBox from "@/components/common/select/SelectBox";
|
|||||||
import SelectCmCycle from "@/components/common/select/SelectCmCycle";
|
import SelectCmCycle from "@/components/common/select/SelectCmCycle";
|
||||||
import DatePicker from "@/components/common/Datepicker";
|
import DatePicker from "@/components/common/Datepicker";
|
||||||
import Grid from "~/components/common/Grid";
|
import Grid from "~/components/common/Grid";
|
||||||
import PageTitle from "@/components/common/PageTitle";
|
|
||||||
|
|
||||||
let myTitle;
|
let myTitle;
|
||||||
let myPrgmId;
|
let myPrgmId;
|
||||||
@ -170,7 +168,6 @@ export default {
|
|||||||
SelectCmCycle,
|
SelectCmCycle,
|
||||||
DatePicker,
|
DatePicker,
|
||||||
Grid,
|
Grid,
|
||||||
PageTitle,
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -204,6 +201,7 @@ export default {
|
|||||||
computed: {
|
computed: {
|
||||||
...mapState({
|
...mapState({
|
||||||
pageData: (state) => state.pageData[myPrgmId],
|
pageData: (state) => state.pageData[myPrgmId],
|
||||||
|
isDarkMode: "isDarkMode",
|
||||||
}),
|
}),
|
||||||
fromDt() {
|
fromDt() {
|
||||||
return this.pageData.fromDt;
|
return this.pageData.fromDt;
|
||||||
@ -237,6 +235,16 @@ export default {
|
|||||||
await this.search();
|
await this.search();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
isDarkMode(newVal) {
|
||||||
|
// Switch mode for 10 tooltips
|
||||||
|
for (let i = 0; i < 10; i++) {
|
||||||
|
const tooltipEl = document.getElementById(`tooltipElement_${i}`);
|
||||||
|
if (tooltipEl) {
|
||||||
|
tooltipEl.classList.remove("light-mode", "dark-mode");
|
||||||
|
tooltipEl.classList.add(newVal ? "dark-mode" : "light-mode");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
async beforeCreate() {
|
async beforeCreate() {
|
||||||
myPrgmId = this.$route.query.prgmId;
|
myPrgmId = this.$route.query.prgmId;
|
||||||
@ -357,13 +365,79 @@ export default {
|
|||||||
gridInit() {
|
gridInit() {
|
||||||
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
||||||
const _this = this;
|
const _this = this;
|
||||||
|
// Define custom button
|
||||||
|
class CustomButton {
|
||||||
|
constructor(props,pageData) {
|
||||||
|
const { grid, rowKey, columnInfo } = props;
|
||||||
|
const gridData = grid.store.data.rawData;
|
||||||
|
const value = gridData[rowKey][columnInfo.name];
|
||||||
|
const onClickCallback = columnInfo.renderer.options.onClick;
|
||||||
|
|
||||||
|
this.disabled = columnInfo.renderer.options.disabled || false;
|
||||||
|
const elDiv = document.createElement('div');
|
||||||
|
elDiv.innerHTML = `<span>${value}</span>`;
|
||||||
|
$(elDiv).addClass('tui-grid-cell-content d-flex justify-space-between');
|
||||||
|
const el2 = document.createElement('button');
|
||||||
|
$(el2).addClass('edit-btn blue--text');
|
||||||
|
el2.innerText = '보기';
|
||||||
|
elDiv.appendChild(el2);
|
||||||
|
this.el = elDiv;
|
||||||
|
if (!this.disabled && typeof onClickCallback === 'function') {
|
||||||
|
// click 이벤트
|
||||||
|
this.el.addEventListener('click', function(event) {
|
||||||
|
onClickCallback(rowKey);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
getElement() {
|
||||||
|
return this.el;
|
||||||
|
}
|
||||||
|
getValue() {
|
||||||
|
// return this.el.value;
|
||||||
|
}
|
||||||
|
mounted() {
|
||||||
|
// this.el.focus();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var columnList = [
|
var columnList = [
|
||||||
{ header: "NO", name: "no", align: "right", width: 80 },
|
{ header: "NO", name: "no", align: "right", width: 80 },
|
||||||
{ header: "fabId", name: "fabId", hidden: true },
|
{ header: "fabId", name: "fabId", hidden: true },
|
||||||
{ header: "FAB", name: "fabNm", align: "left" },
|
{ header: "FAB", name: "fabNm", align: "left" },
|
||||||
{ header: "eqpmGrpId", name: "eqpmGrpId", hidden: true },
|
{ header: "eqpmGrpId", name: "eqpmGrpId", hidden: true },
|
||||||
{ header: "설비그룹", name: "eqpmGrpNm", align: "left", width: 200 },
|
{ header: "설비그룹", name: "eqpmGrpNm", align: "left", width: 200,
|
||||||
|
// Render custom button to switch page instead of double click on row
|
||||||
|
renderer: {
|
||||||
|
type: CustomButton,
|
||||||
|
options: {
|
||||||
|
value: '보기',
|
||||||
|
onClick: (rowKey) => {
|
||||||
|
const gridInstance = this.$refs[this.gridName].gridInstance;
|
||||||
|
const eventRowData = gridInstance.invoke("getRow", rowKey);
|
||||||
|
|
||||||
|
const data = {
|
||||||
|
cmCycle: this.pageData.cmCycle,
|
||||||
|
fromDt: this.pageData.fromDt,
|
||||||
|
fabId: this.selectValue01,
|
||||||
|
eqpmKindId: this.selectValue02,
|
||||||
|
eqpmGrpId: this.selectValue03,
|
||||||
|
eqpmId: eventRowData.eqpmId,
|
||||||
|
};
|
||||||
|
const key = "tick_" + Math.random();
|
||||||
|
this.$router.push({
|
||||||
|
name: "ems-effc-EnrgUseEqpmDetlMntrPage",
|
||||||
|
query: {
|
||||||
|
prgmId: "PRG0082",
|
||||||
|
},
|
||||||
|
params: {
|
||||||
|
...data,
|
||||||
|
key: key,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
{ header: "eqpmId", name: "eqpmId", hidden: true },
|
{ header: "eqpmId", name: "eqpmId", hidden: true },
|
||||||
{ header: "설비명", name: "eqpmNm", align: "left", width: 200 },
|
{ header: "설비명", name: "eqpmNm", align: "left", width: 200 },
|
||||||
{
|
{
|
||||||
@ -472,6 +546,10 @@ export default {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
pageOptions: {
|
||||||
|
useClient: true,
|
||||||
|
perPage: 3,
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
@ -693,53 +771,83 @@ function numberFormatter({ value }) {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@for $i from 0 through 9 {
|
::v-deep {
|
||||||
#gridParent > * {
|
@for $i from 0 through 9 {
|
||||||
// .tui-grid-content-area{
|
#gridParent > * {
|
||||||
background-color: red;
|
// .tui-grid-content-area{
|
||||||
color: red;
|
background-color: red;
|
||||||
overflow: visible;
|
color: red;
|
||||||
position: relative;
|
overflow: visible;
|
||||||
}
|
position: relative;
|
||||||
#tooltipTargetElement_#{$i} {
|
}
|
||||||
overflow: visible;
|
#tooltipTargetElement_#{$i} {
|
||||||
position: relative; // 테스트3번쨰
|
overflow: visible;
|
||||||
white-space: nowrap; // 테스트3번쨰
|
position: relative; // 테스트3번쨰
|
||||||
}
|
white-space: nowrap; // 테스트3번쨰
|
||||||
#tooltipElement_#{$i} {
|
}
|
||||||
display: none;
|
#tooltipElement_#{$i} {
|
||||||
overflow: visible;
|
display: none;
|
||||||
position: relative;
|
overflow: visible;
|
||||||
}
|
position: relative;
|
||||||
#tooltipTargetElement_#{$i}:hover #tooltipElement_#{$i} {
|
}
|
||||||
display: block;
|
#tooltipTargetElement_#{$i}:hover #tooltipElement_#{$i} {
|
||||||
position: absolute;
|
display: block;
|
||||||
min-width: 100%;
|
position: absolute;
|
||||||
bottom: 30px;
|
min-width: 100%;
|
||||||
z-index: 1000000000;
|
bottom: 40px;
|
||||||
align: "center";
|
z-index: 1000000000;
|
||||||
color: #f2f2f2;
|
align: "center";
|
||||||
background-color: #7f7f7f;
|
color: #f2f2f2;
|
||||||
// width : 77px;
|
background-color: #000000d9;
|
||||||
width: 200%;
|
// width : 77px;
|
||||||
left: -50%;
|
width: 200%;
|
||||||
border-radius: 3px;
|
left: -50%;
|
||||||
word-break: keep-all;
|
border-radius: 4px;
|
||||||
white-space: pre-wrap;
|
padding: 6px 0px;
|
||||||
}
|
word-break: keep-all;
|
||||||
.tui-grid-rside-area {
|
white-space: pre-wrap;
|
||||||
display: none;
|
// Light mode
|
||||||
overflow: visible;
|
&.light-mode {
|
||||||
overflow-x: visible;
|
background-color: #000000d9;
|
||||||
overflow-y: visible;
|
}
|
||||||
}
|
// Dark mode
|
||||||
.tui-grid-header-area {
|
&.dark-mode {
|
||||||
border-style: solid;
|
background-color: #424242;
|
||||||
border-width: 0 0 1px;
|
}
|
||||||
position: relative;
|
|
||||||
overflow: visible;
|
&::after {
|
||||||
overflow-x: visible;
|
content: "";
|
||||||
overflow-y: visible;
|
position: absolute;
|
||||||
|
top: 100%;
|
||||||
|
left: 50%;
|
||||||
|
margin-left: -6px;
|
||||||
|
border-width: 6px;
|
||||||
|
border-style: solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.light-mode::after {
|
||||||
|
border-color: #000000d9 transparent transparent transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.dark-mode::after {
|
||||||
|
border-color: #424242 transparent transparent transparent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.tui-grid-rside-area {
|
||||||
|
display: none;
|
||||||
|
overflow: visible;
|
||||||
|
overflow-x: visible;
|
||||||
|
overflow-y: visible;
|
||||||
|
}
|
||||||
|
.tui-grid-header-area {
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 0 0 1px;
|
||||||
|
position: relative;
|
||||||
|
overflow: visible;
|
||||||
|
overflow-x: visible;
|
||||||
|
overflow-y: visible;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
Reference in New Issue
Block a user