Compare commits
3 Commits
9603353ab3
...
dev-manhph
Author | SHA1 | Date | |
---|---|---|---|
205821fc11 | |||
bea1e0889b | |||
34d03b2546 |
@ -144,7 +144,7 @@ a {
|
|||||||
|
|
||||||
& .router-tab__container {
|
& .router-tab__container {
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
height: calc(100vh - 105px);
|
min-height: calc(100vh - 105px);
|
||||||
max-height: calc(100vh - 105px);
|
max-height: calc(100vh - 105px);
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
@ -486,7 +486,7 @@ a {
|
|||||||
.container--fluid {
|
.container--fluid {
|
||||||
background-color: map-deep-get($config, #{$theme}, "container-fluid");
|
background-color: map-deep-get($config, #{$theme}, "container-fluid");
|
||||||
.menu-container {
|
.menu-container {
|
||||||
height:calc(100vh - 60px);
|
max-height:calc(100vh - 60px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -254,23 +254,12 @@
|
|||||||
"tui-grid-border-vertical-color"
|
"tui-grid-border-vertical-color"
|
||||||
);
|
);
|
||||||
|
|
||||||
// &-current-row{
|
&-current-row{
|
||||||
// }
|
td {
|
||||||
td.row-selected {
|
|
||||||
.custom-radio {
|
.custom-radio {
|
||||||
background-color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"ant-btn-primary-color"
|
|
||||||
);
|
|
||||||
.radio-mark{
|
.radio-mark{
|
||||||
border-color: map-deep-get($config,
|
border-color: #1677ff;
|
||||||
#{$theme},
|
background-color: #fff;
|
||||||
"arow-line-color"
|
|
||||||
);
|
|
||||||
background-color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"arow-line-btn-bg-color"
|
|
||||||
);
|
|
||||||
&::after {
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -280,10 +269,8 @@
|
|||||||
height: 11px;
|
height: 11px;
|
||||||
width: 11px;
|
width: 11px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background-color: map-deep-get($config,
|
background-color: #1677ff;
|
||||||
#{$theme},
|
}
|
||||||
"arow-line-color"
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -188,7 +188,7 @@
|
|||||||
transform: translateY(-50%);
|
transform: translateY(-50%);
|
||||||
height: 18px;
|
height: 18px;
|
||||||
width: 18px;
|
width: 18px;
|
||||||
// background-color: white;
|
background-color: white;
|
||||||
border: 2px solid #ccc;
|
border: 2px solid #ccc;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
transition: all 0.2s ease;
|
transition: all 0.2s ease;
|
||||||
@ -263,6 +263,9 @@
|
|||||||
"v-input-backgroundColor"
|
"v-input-backgroundColor"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
&:not(.v-input--radio-group, .v-input--checkbox) {
|
&:not(.v-input--radio-group, .v-input--checkbox) {
|
||||||
.v-input__slot {
|
.v-input__slot {
|
||||||
background-color: map-deep-get($config,
|
background-color: map-deep-get($config,
|
||||||
@ -369,17 +372,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.radio-mark {
|
|
||||||
background-color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"ant-btn-primary-color"
|
|
||||||
);
|
|
||||||
border-color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"v-input-textarea-border"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.v-radio {
|
.v-radio {
|
||||||
|
@ -63,12 +63,6 @@
|
|||||||
line-height: 1.25 !important;
|
line-height: 1.25 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.custom-title-7 {
|
|
||||||
font-size: 0.875rem !important;
|
|
||||||
font-weight: 400 !important;
|
|
||||||
line-height: 22px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.custom-title-8 {
|
.custom-title-8 {
|
||||||
font-size: 0.75rem !important;
|
font-size: 0.75rem !important;
|
||||||
font-weight: 700 !important;
|
font-weight: 700 !important;
|
||||||
@ -82,15 +76,15 @@
|
|||||||
|
|
||||||
.custom-text-2 {
|
.custom-text-2 {
|
||||||
opacity: 0.6;
|
opacity: 0.6;
|
||||||
|
font-family: SpoqaHanSansNeo;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
font-weight: normal;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: normal;
|
||||||
line-height: 2.17;
|
line-height: 2.17;
|
||||||
// font-weight: normal;
|
letter-spacing: normal;
|
||||||
// font-stretch: normal;
|
text-align: right;
|
||||||
// font-style: normal;
|
color: #fff;
|
||||||
// letter-spacing: normal;
|
|
||||||
// text-align: right;
|
|
||||||
// color: #fff;
|
|
||||||
// font-family: SpoqaHanSansNeo;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-color--white-0 {
|
.text-color--white-0 {
|
||||||
|
@ -4,13 +4,12 @@
|
|||||||
:data="chkGridData"
|
:data="chkGridData"
|
||||||
:columns="chkGridColumns"
|
:columns="chkGridColumns"
|
||||||
:options="chkGridOptions"
|
:options="chkGridOptions"
|
||||||
@mousedown="onMousedown"
|
@focusChange="focusChangeEvt"
|
||||||
@click="startEditing"
|
@click="startEditing"
|
||||||
@editingFinish="editingFinish"
|
@editingFinish="editingFinish"
|
||||||
@dblclick="dblClick"
|
@dblclick="dblClick"
|
||||||
@mouseover="mouseoverEvent"
|
@mouseover="mouseoverEvent"
|
||||||
@mouseout="mouseoutEvent"
|
@mouseout="mouseoutEvent"
|
||||||
@focusChange="focusChangeEvt"
|
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@ -108,13 +107,16 @@ export default {
|
|||||||
},
|
},
|
||||||
chkGridOptions() {
|
chkGridOptions() {
|
||||||
const options = {
|
const options = {
|
||||||
|
// bodyHeight: 'fitToContent',
|
||||||
|
scrollX: false,
|
||||||
|
scrollY: false,
|
||||||
...this.gridData.option,
|
...this.gridData.option,
|
||||||
|
useIcon: false,
|
||||||
};
|
};
|
||||||
options.treeColumnOptions = {
|
options.treeColumnOptions = {
|
||||||
useIcon: false,
|
useIcon: false,
|
||||||
...options.treeColumnOptions,
|
...options.treeColumnOptions,
|
||||||
};
|
};
|
||||||
|
|
||||||
return options;
|
return options;
|
||||||
},
|
},
|
||||||
defaultRow() {
|
defaultRow() {
|
||||||
@ -161,7 +163,7 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {},
|
created() {},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
// console.log(this.dataPath);
|
// console.log('--------------DEBUG----gridData: ', this.gridData);
|
||||||
if (this.gridName) {
|
if (this.gridName) {
|
||||||
this.gridInstance = this.$refs['tuigrid' + this.gridName];
|
this.gridInstance = this.$refs['tuigrid' + this.gridName];
|
||||||
|
|
||||||
@ -184,13 +186,13 @@ export default {
|
|||||||
}),
|
}),
|
||||||
// true : 현재 행 혹은 연결된 그리드가 수정중인 상태
|
// true : 현재 행 혹은 연결된 그리드가 수정중인 상태
|
||||||
checkGridState() {
|
checkGridState() {
|
||||||
const rowStatList = ['I', 'U', 'D'];
|
var rowStatList = ['I', 'U', 'D'];
|
||||||
const row = this.gridInstance.invoke('getFocusedCell');
|
var row = this.gridInstance.invoke('getFocusedCell');
|
||||||
|
|
||||||
if (row) {
|
if (row) {
|
||||||
const rowData = this.gridInstance.invoke('getRow', row.rowKey);
|
var rowData = this.gridInstance.invoke('getRow', row.rowKey);
|
||||||
if (rowData) {
|
if (rowData) {
|
||||||
const rowStat = rowData['rowStat'];
|
var rowStat = rowData['rowStat'];
|
||||||
if (rowStatList.includes(rowStat)) {
|
if (rowStatList.includes(rowStat)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -198,8 +200,8 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (this.preventFocusChangeEventTargetGridList) {
|
if (this.preventFocusChangeEventTargetGridList) {
|
||||||
for (let gridInstance of this.preventFocusChangeEventTargetGridList) {
|
for (var gridInstance of this.preventFocusChangeEventTargetGridList) {
|
||||||
const dataArr = gridInstance.save();
|
var dataArr = gridInstance.save();
|
||||||
|
|
||||||
if (dataArr.length > 0) {
|
if (dataArr.length > 0) {
|
||||||
return true;
|
return true;
|
||||||
@ -251,11 +253,9 @@ export default {
|
|||||||
this.gridInstance.invoke('check', rowData.rowKey, instance);
|
this.gridInstance.invoke('check', rowData.rowKey, instance);
|
||||||
},
|
},
|
||||||
setSelectionRange(rowKey) {
|
setSelectionRange(rowKey) {
|
||||||
// console.log("------------------DEBUG-------setSelectionRange:", rowKey);
|
|
||||||
const rowDatas = this.gridInstance.invoke('getData');
|
const rowDatas = this.gridInstance.invoke('getData');
|
||||||
rowDatas.forEach(item => {
|
rowDatas.forEach(item => {
|
||||||
if (item.rowKey == rowKey) {
|
if (item.rowKey == rowKey) {
|
||||||
// console.log("------------------DEBUG-------setSelectionRange---item:", item);
|
|
||||||
this.gridInstance.invoke(
|
this.gridInstance.invoke(
|
||||||
'addRowClassName',
|
'addRowClassName',
|
||||||
item.rowKey,
|
item.rowKey,
|
||||||
@ -270,12 +270,7 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onMousedown(evt) {
|
|
||||||
// console.log("------------------DEBUG-------onMousedown:", evt);
|
|
||||||
this.focusChangeEvt(evt);
|
|
||||||
},
|
|
||||||
focusChangeEvt(e) {
|
focusChangeEvt(e) {
|
||||||
// console.log("------------------DEBUG-------focusChangeEvt:", e);
|
|
||||||
// console.log('focusChangeEvt1...')
|
// console.log('focusChangeEvt1...')
|
||||||
if (this.preventFocusChangeEvent(e)) {
|
if (this.preventFocusChangeEvent(e)) {
|
||||||
// console.log('prevent focusChangeEvt')
|
// console.log('prevent focusChangeEvt')
|
||||||
@ -296,7 +291,6 @@ export default {
|
|||||||
this.sendSelectedRowData(e.rowKey);
|
this.sendSelectedRowData(e.rowKey);
|
||||||
},
|
},
|
||||||
startEditing(e) {
|
startEditing(e) {
|
||||||
// console.log("------------------DEBUG-------startEditing:", e);
|
|
||||||
// console.log('startEditing1...')
|
// console.log('startEditing1...')
|
||||||
if (this.preventFocusChangeEvent(e)) {
|
if (this.preventFocusChangeEvent(e)) {
|
||||||
// console.log('prevent startEditing')
|
// console.log('prevent startEditing')
|
||||||
@ -323,7 +317,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async editingFinish(e) {
|
async editingFinish(e) {
|
||||||
// console.log('------------------DEBUG-------editingFinish:', e);
|
|
||||||
// console.log("Editing END E::", e);
|
// console.log("Editing END E::", e);
|
||||||
// editor 간 이동시 수정되는 문제 수정
|
// editor 간 이동시 수정되는 문제 수정
|
||||||
// e.rowEditingFg: grid의 한 row를 한번에 수정할 시 각각의 cell 마다 click 이벤트가 발생하지 않아 this.editorStartKey값이 제대로 입력 되지 않는 경우를 대비하여 만든 Fg
|
// e.rowEditingFg: grid의 한 row를 한번에 수정할 시 각각의 cell 마다 click 이벤트가 발생하지 않아 this.editorStartKey값이 제대로 입력 되지 않는 경우를 대비하여 만든 Fg
|
||||||
@ -673,6 +666,8 @@ export default {
|
|||||||
store.dimension.offsetLeft = offsetLeft;
|
store.dimension.offsetLeft = offsetLeft;
|
||||||
},
|
},
|
||||||
setHeight(_a,height){
|
setHeight(_a,height){
|
||||||
|
return; // setting auto height
|
||||||
|
|
||||||
// console.log("setHeight");
|
// console.log("setHeight");
|
||||||
var dimension = _a.dimension;
|
var dimension = _a.dimension;
|
||||||
var headerHeight = dimension.headerHeight, summaryHeight = dimension.summaryHeight, tableBorderWidth = dimension.tableBorderWidth;
|
var headerHeight = dimension.headerHeight, summaryHeight = dimension.summaryHeight, tableBorderWidth = dimension.tableBorderWidth;
|
||||||
@ -685,7 +680,6 @@ export default {
|
|||||||
? this.gridInstance.invoke('getFocusedCell').rowKey
|
? this.gridInstance.invoke('getFocusedCell').rowKey
|
||||||
: eventRowKey;
|
: eventRowKey;
|
||||||
var rowData = this.gridInstance.invoke('getRow', rowKey);
|
var rowData = this.gridInstance.invoke('getRow', rowKey);
|
||||||
// console.log('------------------DEBUG-------sendSelectedRowData:', {eventRowKey, rowKey});
|
|
||||||
this.$emit('sendSelectedRowStatInfo', rowData);
|
this.$emit('sendSelectedRowStatInfo', rowData);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -711,6 +705,11 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
::v-deep .tui-grid-container {
|
::v-deep .tui-grid-container {
|
||||||
|
|
||||||
|
// .tui-grid-body-area {
|
||||||
|
// overflow: hidden !important;
|
||||||
|
// }
|
||||||
|
|
||||||
.tui-grid-content-area {
|
.tui-grid-content-area {
|
||||||
.tui-grid-cell-content {
|
.tui-grid-cell-content {
|
||||||
input[type='number'] {
|
input[type='number'] {
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
<v-row class="search-box" align="center" no-gutters>
|
<v-row class="search-box" align="center" no-gutters>
|
||||||
<v-col v-if="label" :cols="labelCols">
|
<v-col v-if="label" :cols="labelCols">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
<v-icon x-small color="primary" class="mr-1">mdi-record-circle</v-icon>
|
<v-icon small color="primary"
|
||||||
|
:class="['mr-1', required ? 'icon-orange' : 'icon-blue']"
|
||||||
|
>$icoBulletPoint</v-icon>
|
||||||
{{ label }}
|
{{ label }}
|
||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -17,14 +19,16 @@
|
|||||||
readonly
|
readonly
|
||||||
outlined
|
outlined
|
||||||
>
|
>
|
||||||
<template #append>
|
<template #append >
|
||||||
<v-icon size="20">$icoCalendar</v-icon>
|
<v-icon size="20" v-show="!isRange">$icoCalendar</v-icon>
|
||||||
</template>
|
</template>
|
||||||
<template #append-outer>
|
<template #append-outer>
|
||||||
<div ref="startpicker-container" id="startpicker-container"></div>
|
<div ref="startpicker-container" id="startpicker-container"></div>
|
||||||
</template>
|
</template>
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
<div v-show="isRange" class="mx-3" :style="{ lineHeight: 0 }">~</div>
|
<div v-if="isRange" class="mx-3" :style="{ lineHeight: 0 }">
|
||||||
|
<img :src="arrowIcon" alt="">
|
||||||
|
</div>
|
||||||
<v-text-field
|
<v-text-field
|
||||||
v-show="isRange"
|
v-show="isRange"
|
||||||
id="endpicker"
|
id="endpicker"
|
||||||
@ -129,6 +133,12 @@ export default {
|
|||||||
this.defaultRange === 'no limite'
|
this.defaultRange === 'no limite'
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
arrowIcon() {
|
||||||
|
if(this.isDarkMode){
|
||||||
|
return require('@/assets/images/arrow_datepicker_dm.png');
|
||||||
|
}
|
||||||
|
return require('@/assets/images/arrow_datepicker.png');
|
||||||
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
myCmCycle() {
|
myCmCycle() {
|
||||||
|
@ -31,8 +31,8 @@ export default {
|
|||||||
this.mode = !this.mode;
|
this.mode = !this.mode;
|
||||||
this.$vuetify.theme.isDark = this.mode;
|
this.$vuetify.theme.isDark = this.mode;
|
||||||
this.setThemeChange(this.mode);
|
this.setThemeChange(this.mode);
|
||||||
// console.log(this.mode)
|
console.log(this.mode)
|
||||||
// console.log(this.$vuetify.theme.isDark)
|
console.log(this.$vuetify.theme.isDark)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -125,7 +125,7 @@ export default {
|
|||||||
modifyValue(e) {
|
modifyValue(e) {
|
||||||
let val = e.target.value.replace(/[^-.0-9]/g, '');
|
let val = e.target.value.replace(/[^-.0-9]/g, '');
|
||||||
|
|
||||||
// console.log('val : ', val);
|
console.log('val : ', val);
|
||||||
|
|
||||||
if(this.item.min != undefined && parseFloat(val) < this.item.min){
|
if(this.item.min != undefined && parseFloat(val) < this.item.min){
|
||||||
val = this.item.min;
|
val = this.item.min;
|
||||||
@ -134,7 +134,7 @@ export default {
|
|||||||
if(this.item.max != undefined && parseFloat(val) > this.item.max){
|
if(this.item.max != undefined && parseFloat(val) > this.item.max){
|
||||||
val = this.item.max;
|
val = this.item.max;
|
||||||
}
|
}
|
||||||
// console.log('val2 : ', val);
|
console.log('val2 : ', val);
|
||||||
|
|
||||||
this.textValue = val;
|
this.textValue = val;
|
||||||
// this.textValue = this.validateNumber(val);
|
// this.textValue = this.validateNumber(val);
|
||||||
|
@ -152,12 +152,12 @@ export default {
|
|||||||
const snarData = this.searchParam.isMulti
|
const snarData = this.searchParam.isMulti
|
||||||
? this.searchParam.snarInfoList
|
? this.searchParam.snarInfoList
|
||||||
: this.searchParam.snarInfo;
|
: this.searchParam.snarInfo;
|
||||||
// console.log('this.searchParam.isMulti', this.searchParam.isMulti);
|
console.log('this.searchParam.isMulti', this.searchParam.isMulti);
|
||||||
// console.log(
|
console.log(
|
||||||
// 'this.searchParam.snarInfoList',
|
'this.searchParam.snarInfoList',
|
||||||
// this.searchParam.snarInfoList,
|
this.searchParam.snarInfoList,
|
||||||
// );
|
);
|
||||||
// console.log('this.searchParam.snarInfo', this.searchParam.snarInfo);
|
console.log('this.searchParam.snarInfo', this.searchParam.snarInfo);
|
||||||
if (Array.isArray(snarData)) {
|
if (Array.isArray(snarData)) {
|
||||||
if (snarData.length > 0) {
|
if (snarData.length > 0) {
|
||||||
for (const item of snarData) {
|
for (const item of snarData) {
|
||||||
|
@ -394,7 +394,7 @@ export default {
|
|||||||
params: {},
|
params: {},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
// console.log('statusCd', statusCd);
|
console.log('statusCd', statusCd);
|
||||||
if (statusCd.data.retnCd == 0) {
|
if (statusCd.data.retnCd == 0) {
|
||||||
const params2 = {
|
const params2 = {
|
||||||
simulationId: statusCd.data.dataset.simulId,
|
simulationId: statusCd.data.dataset.simulId,
|
||||||
|
@ -46,10 +46,11 @@
|
|||||||
v-model="searchWord" @keyup.enter="search"><template v-slot:append>
|
v-model="searchWord" @keyup.enter="search"><template v-slot:append>
|
||||||
<!-- Custom SVG icon -->
|
<!-- Custom SVG icon -->
|
||||||
<v-icon>$icoSearch</v-icon>
|
<v-icon>$icoSearch</v-icon>
|
||||||
|
|
||||||
</template></v-text-field>
|
</template></v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-spacer></v-spacer>
|
<v-spacer></v-spacer>
|
||||||
<v-col :cols="3" class="text-right">
|
<v-col cols="3" class="text-right">
|
||||||
<a-button icon="search" type="primary" @click="search()"
|
<a-button icon="search" type="primary" @click="search()"
|
||||||
class="search-button">조회</a-button>
|
class="search-button">조회</a-button>
|
||||||
<!-- <v-btn :ripple="false" @click="initSearch()">
|
<!-- <v-btn :ripple="false" @click="initSearch()">
|
||||||
|
@ -286,8 +286,8 @@ export default {
|
|||||||
// Row selection config
|
// Row selection config
|
||||||
rowSelection: {
|
rowSelection: {
|
||||||
onChange: (selectedRowKeys, selectedRows) => {
|
onChange: (selectedRowKeys, selectedRows) => {
|
||||||
// console.log('Selected Row Keys:', selectedRowKeys);
|
console.log('Selected Row Keys:', selectedRowKeys);
|
||||||
// console.log('Selected Rows:', selectedRows);
|
console.log('Selected Rows:', selectedRows);
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -332,7 +332,7 @@ export default {
|
|||||||
// this.getRowGridData();
|
// this.getRowGridData();
|
||||||
// },
|
// },
|
||||||
searchFab() {
|
searchFab() {
|
||||||
// console.log('tttttttttttt')
|
console.log('tttttttttttt')
|
||||||
// this.filteredData = this.data.filter(item => {
|
// this.filteredData = this.data.filter(item => {
|
||||||
// const matchGrp = this.eqpmGrpSelected ? item.group === this.eqpmGrpSelected : true;
|
// const matchGrp = this.eqpmGrpSelected ? item.group === this.eqpmGrpSelected : true;
|
||||||
// const matchFab = this.localFabSelected ? item.fab === this.localFabSelected : true;
|
// const matchFab = this.localFabSelected ? item.fab === this.localFabSelected : true;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<v-row class="search-box" align="center">
|
<v-row class="search-box no-gutters" align="center">
|
||||||
<v-col :cols="option.labelCols" class="py-0">
|
<v-col :cols="option.labelCols" class="py-0">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
<v-icon v-if="item.iconShow" small
|
<v-icon v-if="item.iconShow" small
|
||||||
@ -8,13 +8,11 @@
|
|||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="option.textCols" class="py-0">
|
<v-col :cols="option.textCols" class="py-0">
|
||||||
<v-text-field readonly append-icon="" class="v-input__custom" outlined :hide-details="true"
|
<v-text-field readonly append-icon="" :class="['v-select__custom', customClass]" outlined :hide-details="true"
|
||||||
v-model="searchWord" @keyup.enter="typeEnterKey" @click="dialogOpenCloseEvent(dialog)"
|
v-model="selectValue" @keyup.enter="typeEnterKey" @click="dialogOpenCloseEvent(dialog)" style="padding: 0;"
|
||||||
:required="item.required || false"><template v-slot:append>
|
:required="item.required || false"><template v-slot:append>
|
||||||
<!-- Custom SVG icon -->
|
<!-- Custom SVG icon -->
|
||||||
<v-icon>$icoSearch</v-icon>
|
<v-icon>$icoSearch</v-icon>
|
||||||
|
|
||||||
|
|
||||||
</template></v-text-field>
|
</template></v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
@ -43,8 +41,6 @@
|
|||||||
class="search-button">조회</a-button>
|
class="search-button">조회</a-button>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
|
|
||||||
</v-row>
|
</v-row>
|
||||||
<!-- <div :style="'height: calc(65vh)'"> -->
|
<!-- <div :style="'height: calc(65vh)'"> -->
|
||||||
<div :style="'height: 600px'" class="px-5">
|
<div :style="'height: 600px'" class="px-5">
|
||||||
|
@ -126,7 +126,7 @@ export default {
|
|||||||
async chkDialog(val) {
|
async chkDialog(val) {
|
||||||
if (val) {
|
if (val) {
|
||||||
// 열릴 때
|
// 열릴 때
|
||||||
// console.log('dsfafds');
|
console.log('dsfafds');
|
||||||
await this.getData();
|
await this.getData();
|
||||||
// console.log("chkDialog: ", val);
|
// console.log("chkDialog: ", val);
|
||||||
// if(this.searchParam.selecUserList.length > 0){
|
// if(this.searchParam.selecUserList.length > 0){
|
||||||
|
@ -22,8 +22,8 @@
|
|||||||
outlined
|
outlined
|
||||||
:hide-details="true"
|
:hide-details="true"
|
||||||
>
|
>
|
||||||
<!-- Custom SVG icon -->
|
|
||||||
<template v-slot:append>
|
<template v-slot:append>
|
||||||
|
<!-- Custom SVG icon -->
|
||||||
<v-icon>$icoSearch</v-icon>
|
<v-icon>$icoSearch</v-icon>
|
||||||
</template>
|
</template>
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
@ -31,20 +31,28 @@
|
|||||||
|
|
||||||
<v-dialog v-model="dialog" scrollable width="700px">
|
<v-dialog v-model="dialog" scrollable width="700px">
|
||||||
<v-card style="height: 100%">
|
<v-card style="height: 100%">
|
||||||
<v-card-title class="px-6 py-4 d-flex align-center justify-space-between">
|
<v-card-title class="pa-5 d-flex align-center justify-space-between">
|
||||||
<span class="custom-title-4">{{ option.modalTitle }}</span>
|
<span class="custom-title-4">{{ option.modalTitle }}</span>
|
||||||
<a-button icon="close" type="text" @click="dialogOpenCloseEvent(dialog)"></a-button>
|
<v-btn
|
||||||
|
icon
|
||||||
|
tile
|
||||||
|
:ripple="false"
|
||||||
|
@click="dialogOpenCloseEvent(dialog)"
|
||||||
|
>
|
||||||
|
<v-icon>mdi-close</v-icon>
|
||||||
|
</v-btn>
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<div class="pa-5">
|
<div class="pa-5">
|
||||||
<v-row align="center" no-gutters>
|
<v-row align="center" no-gutters>
|
||||||
<v-col :cols="12">
|
<v-col :cols="3">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
<!-- <v-icon x-small color="primary" class="mr-1">mdi-record-circle</v-icon> -->
|
<v-icon x-small color="primary" class="mr-1"
|
||||||
<v-icon small :class="['mr-1 icon-blue']">$icoBulletPoint</v-icon>
|
>mdi-record-circle</v-icon
|
||||||
|
>
|
||||||
검색
|
검색
|
||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="9">
|
<v-col :cols="5">
|
||||||
<v-text-field
|
<v-text-field
|
||||||
append-icon="mdi-magnify"
|
append-icon="mdi-magnify"
|
||||||
class="v-input__custom"
|
class="v-input__custom"
|
||||||
@ -55,19 +63,21 @@
|
|||||||
></v-text-field>
|
></v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-spacer></v-spacer>
|
<v-spacer></v-spacer>
|
||||||
<v-col :cols="3" class="text-right">
|
<v-col cols="4" class="text-right">
|
||||||
<a-button type="primary" @click="search()" icon="search">
|
<v-btn :ripple="false" @click="search()">
|
||||||
조회
|
조회
|
||||||
</a-button>
|
</v-btn>
|
||||||
<a-button @click="initSearch()">
|
<v-btn :ripple="false" @click="initSearch()">
|
||||||
초기화
|
초기화
|
||||||
</a-button>
|
</v-btn>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</div>
|
</div>
|
||||||
<!-- <v-divider></v-divider> -->
|
<v-divider></v-divider>
|
||||||
<div style="height: 429px;" class="py-3 px-5">
|
<!-- <div :style="'height: calc(65vh)'"> -->
|
||||||
<div ref="modalGridParent" class="h100 w100">
|
<div :style="'height: 429px;'">
|
||||||
|
<!-- <div :style="{ height: 'calc(100% - 213px)' }"> -->
|
||||||
|
<div ref="modalGridParent" class="h100 w100 py-3">
|
||||||
<component
|
<component
|
||||||
:is="loadGrid && dialog ? 'Grid' : null"
|
:is="loadGrid && dialog ? 'Grid' : null"
|
||||||
:gridName="grid_01"
|
:gridName="grid_01"
|
||||||
@ -78,9 +88,11 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<v-card-actions class="pa-5 d-flex align-center justify-end">
|
<v-card-actions class="pa-5 d-flex align-center justify-center">
|
||||||
<a-button class="mr-2" @click="dialogOpenCloseEvent(dialog)">닫기</a-button>
|
<v-btn :ripple="false" @click="setUpdate($event)">확인</v-btn>
|
||||||
<a-button type="primary" @click="setUpdate($event)">확인</a-button>
|
<v-btn :ripple="false" @click="dialogOpenCloseEvent(dialog)"
|
||||||
|
>닫기</v-btn
|
||||||
|
>
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-dialog>
|
</v-dialog>
|
||||||
@ -324,7 +336,7 @@ export default {
|
|||||||
}))
|
}))
|
||||||
};
|
};
|
||||||
|
|
||||||
// console.log(res);
|
console.log(res);
|
||||||
|
|
||||||
this.setModalGridData({
|
this.setModalGridData({
|
||||||
modalKey: this.myModalKey,
|
modalKey: this.myModalKey,
|
||||||
@ -383,31 +395,7 @@ var FtnPlcFormPop = {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
// @each $theme in dark, light {
|
|
||||||
// @include theme($theme);
|
|
||||||
// .v-application.#{$theme}-mode {
|
|
||||||
// .v-input--is-readonly {
|
|
||||||
// border-color: map-deep-get($config,
|
|
||||||
// #{$theme},
|
|
||||||
// "v-input-readonly-border-color"
|
|
||||||
// );
|
|
||||||
// ::v-deep {
|
|
||||||
// &:not(.v-input--radio-group, .v-input--checkbox) {
|
|
||||||
// .v-input__slot {
|
|
||||||
// background-color: map-deep-get($config,
|
|
||||||
// #{$theme},
|
|
||||||
// "v-input-backgroundColor"
|
|
||||||
// ) !important;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
::v-deep {
|
::v-deep {
|
||||||
|
|
||||||
.v-dialog {
|
.v-dialog {
|
||||||
overflow-y: hidden !important;
|
overflow-y: hidden !important;
|
||||||
}
|
}
|
||||||
@ -430,4 +418,26 @@ var FtnPlcFormPop = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@each $theme in dark, light {
|
||||||
|
.v-application.#{$theme}-mode {
|
||||||
|
.v-dialog {
|
||||||
|
.v-card {
|
||||||
|
&__title {
|
||||||
|
color: map-deep-get($color, 'white', '0');
|
||||||
|
@if $theme == dark {
|
||||||
|
background-color: #2d3355;
|
||||||
|
.v-btn {
|
||||||
|
background-color: #2d3355;
|
||||||
|
}
|
||||||
|
} @else {
|
||||||
|
background-color: #3f4d7d;
|
||||||
|
.v-btn {
|
||||||
|
background-color: #3f4d7d;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -294,10 +294,10 @@ export default {
|
|||||||
if (this.searchParam.energyCd < 0) {
|
if (this.searchParam.energyCd < 0) {
|
||||||
roiIdVal = null;
|
roiIdVal = null;
|
||||||
} else {
|
} else {
|
||||||
// console.log(
|
console.log(
|
||||||
// 'this.searchParam.energyList[this.searchParam.energyCd]',
|
'this.searchParam.energyList[this.searchParam.energyCd]',
|
||||||
// this.searchParam.energyList[this.searchParam.energyCd],
|
this.searchParam.energyList[this.searchParam.energyCd],
|
||||||
// );
|
);
|
||||||
roiIdVal = this.searchParam.energyList[this.searchParam.energyCd + 1]
|
roiIdVal = this.searchParam.energyList[this.searchParam.energyCd + 1]
|
||||||
.cd;
|
.cd;
|
||||||
}
|
}
|
||||||
|
@ -239,13 +239,13 @@ export default {
|
|||||||
this.selectedData.eccNm = '';
|
this.selectedData.eccNm = '';
|
||||||
|
|
||||||
if (this.bindOption === null) {
|
if (this.bindOption === null) {
|
||||||
// console.log('this.bindOption is null...');
|
console.log('this.bindOption is null...');
|
||||||
this.setPageData({
|
this.setPageData({
|
||||||
modalEccId: '',
|
modalEccId: '',
|
||||||
modalEccNm: '',
|
modalEccNm: '',
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// console.log('this.bindOption is not null...');
|
console.log('this.bindOption is not null...');
|
||||||
this.setPageData({
|
this.setPageData({
|
||||||
[this.bindOption.eccId]: '',
|
[this.bindOption.eccId]: '',
|
||||||
[this.bindOption.eccNm]: '',
|
[this.bindOption.eccNm]: '',
|
||||||
@ -296,12 +296,12 @@ export default {
|
|||||||
? localStorage.getItem(this.parentPrgmId + 'ModalEccNm')
|
? localStorage.getItem(this.parentPrgmId + 'ModalEccNm')
|
||||||
: '',
|
: '',
|
||||||
});
|
});
|
||||||
// console.log(
|
console.log(
|
||||||
// 'localStorage.getItem(this.parentPrgmId + "ModalEccNm") : ',
|
'localStorage.getItem(this.parentPrgmId + "ModalEccNm") : ',
|
||||||
// localStorage.getItem(this.parentPrgmId + 'ModalEccNm') != null
|
localStorage.getItem(this.parentPrgmId + 'ModalEccNm') != null
|
||||||
// ? localStorage.getItem(this.parentPrgmId + 'ModalEccNm')
|
? localStorage.getItem(this.parentPrgmId + 'ModalEccNm')
|
||||||
// : '',
|
: '',
|
||||||
// );
|
);
|
||||||
this.textFieldData =
|
this.textFieldData =
|
||||||
localStorage.getItem(this.parentPrgmId + 'ModalEccNm') != null
|
localStorage.getItem(this.parentPrgmId + 'ModalEccNm') != null
|
||||||
? localStorage.getItem(this.parentPrgmId + 'ModalEccNm')
|
? localStorage.getItem(this.parentPrgmId + 'ModalEccNm')
|
||||||
|
@ -296,25 +296,25 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
strtDt(val) {
|
strtDt(val) {
|
||||||
// console.log('strtDt : ', val);
|
console.log('strtDt : ', val);
|
||||||
this.checkStrtAndEndDateTime('start');
|
this.checkStrtAndEndDateTime('start');
|
||||||
if (this.startDatepickerInstance3) {
|
if (this.startDatepickerInstance3) {
|
||||||
this.startDatepickerInstance3.setDate(new Date(this.endDt));
|
this.startDatepickerInstance3.setDate(new Date(this.endDt));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
endDt(val) {
|
endDt(val) {
|
||||||
// console.log('endDt : ', val);
|
console.log('endDt : ', val);
|
||||||
this.checkStrtAndEndDateTime('end');
|
this.checkStrtAndEndDateTime('end');
|
||||||
if (this.startDatepickerInstance) {
|
if (this.startDatepickerInstance) {
|
||||||
this.startDatepickerInstance.setDate(new Date(this.strtDt));
|
this.startDatepickerInstance.setDate(new Date(this.strtDt));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
strtHh(val) {
|
strtHh(val) {
|
||||||
// console.log('strtHh : ', val);
|
console.log('strtHh : ', val);
|
||||||
this.checkStrtAndEndDateTime('start');
|
this.checkStrtAndEndDateTime('start');
|
||||||
},
|
},
|
||||||
endHh(val) {
|
endHh(val) {
|
||||||
// console.log('endHh : ', val);
|
console.log('endHh : ', val);
|
||||||
this.checkStrtAndEndDateTime('end');
|
this.checkStrtAndEndDateTime('end');
|
||||||
},
|
},
|
||||||
strtMm(val) {
|
strtMm(val) {
|
||||||
|
@ -253,7 +253,7 @@ export default {
|
|||||||
readObjid: this.searchParam.energyCd,
|
readObjid: this.searchParam.energyCd,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
// console.log('getTreeData : ', res);
|
console.log('getTreeData : ', res);
|
||||||
// this.treeData = res;
|
// this.treeData = res;
|
||||||
// const ROOT = res[0].plcCd;
|
// const ROOT = res[0].plcCd;
|
||||||
const setTreeData = await this.setTree({
|
const setTreeData = await this.setTree({
|
||||||
@ -327,7 +327,7 @@ export default {
|
|||||||
// 공정/설비 트리 row 클릭이벤트
|
// 공정/설비 트리 row 클릭이벤트
|
||||||
async getRowData(data) {
|
async getRowData(data) {
|
||||||
// console.log("getRowData 시작...");
|
// console.log("getRowData 시작...");
|
||||||
// console.log('data', data);
|
console.log('data', data);
|
||||||
this.activeRowData = data;
|
this.activeRowData = data;
|
||||||
// if(data.enableFg == 1){
|
// if(data.enableFg == 1){
|
||||||
// this.activeRowData = data;
|
// this.activeRowData = data;
|
||||||
|
@ -70,7 +70,7 @@ export default {
|
|||||||
return this.searchParam[this.parentPrgmId][this.enrgCd];
|
return this.searchParam[this.parentPrgmId][this.enrgCd];
|
||||||
},
|
},
|
||||||
set(value) {
|
set(value) {
|
||||||
// console.log('value : ', value);
|
console.log('value : ', value);
|
||||||
return this.setPageData({ [this.enrgCd]: value });
|
return this.setPageData({ [this.enrgCd]: value });
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -270,8 +270,8 @@ export default {
|
|||||||
filteredData: [],
|
filteredData: [],
|
||||||
rowSelection: {
|
rowSelection: {
|
||||||
onChange: (selectedRowKeys, selectedRows) => {
|
onChange: (selectedRowKeys, selectedRows) => {
|
||||||
// console.log('Selected Row Keys:', selectedRowKeys);
|
console.log('Selected Row Keys:', selectedRowKeys);
|
||||||
// console.log('Selected Rows:', selectedRows);
|
console.log('Selected Rows:', selectedRows);
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -213,7 +213,7 @@ export default {
|
|||||||
let dataArr = [];
|
let dataArr = [];
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case 'add':
|
case 'add':
|
||||||
// console.log('add this.pageData : '); // , this.pageData);
|
console.log('add this.pageData : '); // , this.pageData);
|
||||||
const defaultRow = {
|
const defaultRow = {
|
||||||
dataSetId: this.pageData.dataSetId,
|
dataSetId: this.pageData.dataSetId,
|
||||||
dataSetNm: this.pageData.dataSetNm,
|
dataSetNm: this.pageData.dataSetNm,
|
||||||
@ -296,7 +296,7 @@ export default {
|
|||||||
comId: this.selectedComId,
|
comId: this.selectedComId,
|
||||||
dataSetId: this.selectedDataSetId,
|
dataSetId: this.selectedDataSetId,
|
||||||
};
|
};
|
||||||
// console.log('data : ', data);
|
console.log('data : ', data);
|
||||||
this.$emit('jamoviClickEvent', 'view1', data);
|
this.$emit('jamoviClickEvent', 'view1', data);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="d-flex justify-space-between align-center my-5" >
|
<div
|
||||||
<span class="txt custom-subtitle-tab">설비 추가 정보</span>
|
class="d-flex justify-space-between align-center"
|
||||||
|
style="height: 80px;"
|
||||||
|
>
|
||||||
|
<span class="txt custom-title-4-new">설비 추가 정보</span>
|
||||||
<Buttons
|
<Buttons
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
:bindingData="gridName"
|
:bindingData="gridName"
|
||||||
@ -17,6 +20,7 @@
|
|||||||
:editorGrid="true"
|
:editorGrid="true"
|
||||||
:innerTabGridInfo="innerTabGridInfo"
|
:innerTabGridInfo="innerTabGridInfo"
|
||||||
@getRowsData="getRowData"
|
@getRowsData="getRowData"
|
||||||
|
:dataPath="dataPathMock"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -48,7 +52,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loadGrid: false,
|
loadGrid: true,
|
||||||
gridName: 'rowDetailGrid',
|
gridName: 'rowDetailGrid',
|
||||||
rowKey: null,
|
rowKey: null,
|
||||||
edtingFinishFlag: 'Y',
|
edtingFinishFlag: 'Y',
|
||||||
@ -339,9 +343,7 @@ export default {
|
|||||||
value: myColumns,
|
value: myColumns,
|
||||||
});
|
});
|
||||||
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.loadGrid = true;
|
this.loadGrid = true;
|
||||||
});
|
|
||||||
},
|
},
|
||||||
async btnActions(action) {
|
async btnActions(action) {
|
||||||
let dataArr = [];
|
let dataArr = [];
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="d-flex justify-space-between align-center my-5" >
|
<div class="d-flex justify-space-between align-center" style="height: 80px;">
|
||||||
<span class="txt custom-subtitle-tab">설비 상수 정보</span>
|
<span class="txt custom-title-4-new">설비 상수 정보</span>
|
||||||
<Buttons :parentPrgmId="parentPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
<Buttons :parentPrgmId="parentPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
||||||
</div>
|
</div>
|
||||||
<div ref="gridParent" style="min-height: calc(100vh - 800px);">
|
<div ref="gridParent" style="min-height: calc(100vh - 800px);">
|
||||||
<Grid :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="parentPrgmId"
|
<Grid :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="parentPrgmId"
|
||||||
@getRowsData="getRowData" :innerTabGridInfo="innerTabGridInfo" />
|
@getRowsData="getRowData" :innerTabGridInfo="innerTabGridInfo" :dataPath="dataPathMock" />
|
||||||
</div>
|
</div>
|
||||||
<div style="min-height: calc(100vh - 900px);" class="mt-4">
|
<div style="min-height: calc(100vh - 900px);" class="mt-4">
|
||||||
<component :is="'Form'" :parentPrgmId="parentPrgmId" :bindingData="gridName" :detailList="detailList"
|
<component :is="'Form'" :parentPrgmId="parentPrgmId" :bindingData="gridName" :detailList="detailList"
|
||||||
@ -41,7 +41,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loadGrid: false,
|
loadGrid: true,
|
||||||
gridName: 'rowEqpmConstGrid',
|
gridName: 'rowEqpmConstGrid',
|
||||||
detailList: myEqpmConstDetail,
|
detailList: myEqpmConstDetail,
|
||||||
|
|
||||||
@ -232,9 +232,7 @@ export default {
|
|||||||
value: myColumns,
|
value: myColumns,
|
||||||
});
|
});
|
||||||
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.loadGrid = true;
|
this.loadGrid = true;
|
||||||
});
|
|
||||||
},
|
},
|
||||||
async getRowData(data, gridName) {
|
async getRowData(data, gridName) {
|
||||||
if (data.rowStat === 'I') {
|
if (data.rowStat === 'I') {
|
||||||
@ -291,8 +289,8 @@ export default {
|
|||||||
|
|
||||||
dataArr.map(item => {
|
dataArr.map(item => {
|
||||||
for (var key of Object.keys(item)) {
|
for (var key of Object.keys(item)) {
|
||||||
// console.log('key : ', key);
|
console.log('key : ', key);
|
||||||
// console.log('item[key] : ', item[key]);
|
console.log('item[key] : ', item[key]);
|
||||||
if (!item[key] && requiredKeyList.includes(key)) {
|
if (!item[key] && requiredKeyList.includes(key)) {
|
||||||
validCheck = false;
|
validCheck = false;
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,28 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="d-flex justify-space-between align-center my-5" >
|
<div
|
||||||
<span class="txt custom-subtitle-tab">설비 입출력 정보</span>
|
class="d-flex justify-space-between align-center"
|
||||||
|
style="height: 80px;"
|
||||||
|
>
|
||||||
|
<span class="txt custom-title-4-new">설비 입출력 정보</span>
|
||||||
<Buttons
|
<Buttons
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
:bindingData="gridName"
|
:bindingData="gridName"
|
||||||
:btnActionsFnc="btnActions"
|
:btnActionsFnc="btnActions"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div ref="gridParent" style="height: calc(100vh - 800px);">
|
<div ref="gridParent" style="min-height: calc(100vh - 800px);" >
|
||||||
|
<!-- :is="loadGrid ? 'Grid' : null" -->
|
||||||
<Grid
|
<Grid
|
||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
:is="loadGrid ? 'Grid' : null"
|
|
||||||
:gridName="gridName"
|
:gridName="gridName"
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
@getRowsData="getRowData"
|
@getRowsData="getRowData"
|
||||||
:innerTabGridInfo="innerTabGridInfo"
|
:innerTabGridInfo="innerTabGridInfo"
|
||||||
|
:dataPath="dataPathMock"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div style="min-height: calc(100vh - 900px);">
|
<div style="min-height: calc(100vh - 900px);" class="mt-4">
|
||||||
<component
|
<component
|
||||||
:is="'Form'"
|
:is="'Form'"
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
@ -56,12 +60,28 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loadGrid: false,
|
loadGrid: true,
|
||||||
gridName: 'rowEqpmIaoGrid',
|
gridName: 'rowEqpmIaoGrid',
|
||||||
detailList: myEqpmIaoDetail,
|
detailList: myEqpmIaoDetail,
|
||||||
|
|
||||||
inputList_emMapDiv: [],
|
inputList_emMapDiv: [],
|
||||||
inputList_cmInOut: [],
|
inputList_cmInOut: [],
|
||||||
|
dataPathMock: {
|
||||||
|
'rowEqpmIaoGrid' : {
|
||||||
|
column: [
|
||||||
|
{ header: '대상항목', name: 'id', headerAlign: 'left' },
|
||||||
|
{ header: '에너지원 명', name: 'lable', headerAlign: 'left' },
|
||||||
|
{ header: '대상 유형', name: 'type', headerAlign: 'left' },
|
||||||
|
{ header: '물리량', name: 'note', headerAlign: 'left' },
|
||||||
|
{ header: '계산여부', name: 'field1', headerAlign: 'left' },
|
||||||
|
{ header: '분배율', name: 'field2', headerAlign: 'left' }
|
||||||
|
],
|
||||||
|
data: dataPathDataExample,
|
||||||
|
defaultRow: dataPathDataExample,
|
||||||
|
option: {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -108,18 +128,18 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
selectedObjId(val) {
|
selectedObjId(val) {
|
||||||
// console.log('selectedObjId : ', val);
|
console.log('selectedObjId : ', val);
|
||||||
if (val === 'TAG') {
|
if (val === 'TAG') {
|
||||||
this.detailList[2].class = 'py-3 d-none';
|
this.detailList[2].class = 'py-2 d-none';
|
||||||
this.detailList[3].class = 'py-3 pl-4 pt-1 d-none';
|
this.detailList[3].class = 'py-2 d-none';
|
||||||
this.detailList[4].class = 'py-3';
|
this.detailList[4].class = 'py-2';
|
||||||
this.detailList[5].class = 'py-3';
|
this.detailList[5].class = 'py-2';
|
||||||
} else {
|
} else {
|
||||||
// }else if(val==="READ_PLC"){
|
// }else if(val==="READ_PLC"){
|
||||||
this.detailList[5].class = 'py-3 d-none';
|
this.detailList[5].class = 'py-2 d-none';
|
||||||
this.detailList[4].class = 'py-3 d-none';
|
this.detailList[4].class = 'py-2 d-none';
|
||||||
this.detailList[3].class = 'py-3 pl-4 pt-1';
|
this.detailList[3].class = 'py-2';
|
||||||
this.detailList[2].class = 'py-3';
|
this.detailList[2].class = 'py-2';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
selectedCalcFg(val) {
|
selectedCalcFg(val) {
|
||||||
@ -152,7 +172,7 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.init();
|
// this.init();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapMutations({
|
...mapMutations({
|
||||||
@ -335,7 +355,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (dataArr.length > 0) {
|
if (dataArr.length > 0) {
|
||||||
// console.log('dataArr : ', dataArr);
|
console.log('dataArr : ', dataArr);
|
||||||
|
|
||||||
var requiredKeyList = this.detailList
|
var requiredKeyList = this.detailList
|
||||||
.filter(item => {
|
.filter(item => {
|
||||||
@ -396,7 +416,6 @@ export default {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
function checkDuplicate(data, targetKey) {
|
function checkDuplicate(data, targetKey) {
|
||||||
var duplicateFlag = false;
|
var duplicateFlag = false;
|
||||||
var set = new Set();
|
var set = new Set();
|
||||||
@ -467,7 +486,7 @@ const myEqpmIaoDetail = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'EvtObjPop',
|
type: 'EvtObjPop',
|
||||||
labelContent: '대상 항목',
|
labelContent: '대상 항목 111',
|
||||||
valueNm: 'objId',
|
valueNm: 'objId',
|
||||||
valueNm2: 'objNm',
|
valueNm2: 'objNm',
|
||||||
bindNm: 'objNm',
|
bindNm: 'objNm',
|
||||||
@ -482,7 +501,7 @@ const myEqpmIaoDetail = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
cols: 6,
|
cols: 5,
|
||||||
class: 'py-3 d-none',
|
class: 'py-3 d-none',
|
||||||
valueNm: 'objNm',
|
valueNm: 'objNm',
|
||||||
readonly: true,
|
readonly: true,
|
||||||
@ -595,4 +614,13 @@ const myEqpmIaoDetail = [
|
|||||||
iconShow: true
|
iconShow: true
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
import { getPathDataExample } from '@/const/const'
|
||||||
|
const dataPathDataExample = getPathDataExample({
|
||||||
|
id: 'INCHEON.HVAC.EQP_HT_CH001.UT_CH101.CHI_AMP_1A_PV',
|
||||||
|
lable: 'INCHEON 고온 냉동기 101호기 - 호로1',
|
||||||
|
type: '사용', note: '-',
|
||||||
|
field1: '1111',
|
||||||
|
field2: '2222',
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<v-card-title class="d-flex justify-space-between align-end">
|
<v-card-title class="d-flex justify-space-between align-end">
|
||||||
<span class="tit ft-size_20 ft-weight_600">TAG 추가 정보</span>
|
<span style="color:#000000A6" class="tit custom-title-4-new">TAG 추가 정보</span>
|
||||||
<Buttons
|
<Buttons
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
:bindingData="gridName"
|
:bindingData="gridName"
|
||||||
|
@ -58,7 +58,7 @@ export default {
|
|||||||
layoutInit() {
|
layoutInit() {
|
||||||
if (this.$refs.searchFilter) {
|
if (this.$refs.searchFilter) {
|
||||||
const searchFilterHeight = this.$refs.searchFilter.offsetHeight;
|
const searchFilterHeight = this.$refs.searchFilter.offsetHeight;
|
||||||
this.$refs.contents.style.height = `calc(100% - ${searchFilterHeight + 20}px)`;
|
this.$refs.contents.style.minHeight = `calc(100% - ${searchFilterHeight + 20}px)`;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//init() {}
|
//init() {}
|
||||||
|
@ -36,7 +36,11 @@
|
|||||||
<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 class="px-5" style="height:calc(100% - 100px)">
|
||||||
|
<div
|
||||||
|
ref="gridParent"
|
||||||
|
class="w100 h100"
|
||||||
|
>
|
||||||
<component
|
<component
|
||||||
:is="loadGrid ? 'Grid' : null"
|
:is="loadGrid ? 'Grid' : null"
|
||||||
:ref="gridName + myPrgmId"
|
:ref="gridName + myPrgmId"
|
||||||
@ -45,6 +49,7 @@
|
|||||||
@getRowsData="getRowData"
|
@getRowsData="getRowData"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="12" lg="10" >
|
<v-col cols="12" lg="10" >
|
||||||
@ -64,12 +69,11 @@
|
|||||||
:style="{ minHeight: '36px' }"
|
:style="{ minHeight: '36px' }"
|
||||||
>[미배정]메뉴리스트</span
|
>[미배정]메뉴리스트</span
|
||||||
>
|
>
|
||||||
<div ref="treeGridParent" class="px-0 mt-2" style="height: 60vh;">
|
<div class="px-0 mt-2" style="height:calc(100% - 64px)">
|
||||||
<!-- <div
|
<div
|
||||||
ref="treeGridParent"
|
ref="treeGridParent"
|
||||||
class="w100 h100"
|
class="w100 h100"
|
||||||
>
|
>
|
||||||
</div> -->
|
|
||||||
<component
|
<component
|
||||||
:is="loadTreeGrid ? 'Grid' : null"
|
:is="loadTreeGrid ? 'Grid' : null"
|
||||||
:ref="gridName2 + myPrgmId"
|
:ref="gridName2 + myPrgmId"
|
||||||
@ -78,6 +82,7 @@
|
|||||||
@getRowsData="getUnAsgnRowData"
|
@getRowsData="getUnAsgnRowData"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="1">
|
<v-col :cols="1">
|
||||||
<ActionButtons
|
<ActionButtons
|
||||||
@ -107,12 +112,11 @@
|
|||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<div ref="treeGridParent2" class="px-0 mt-2" style="height: 60vh;">
|
<div class="px-0 mt-2" style="height:calc(100% - 64px)">
|
||||||
<!-- <div
|
<div
|
||||||
ref="treeGridParent2"
|
ref="treeGridParent2"
|
||||||
class="w100 h100"
|
class="w100 h100"
|
||||||
>
|
>
|
||||||
</div> -->
|
|
||||||
<component
|
<component
|
||||||
:is="loadTreeGrid2 ? 'Grid' : null"
|
:is="loadTreeGrid2 ? 'Grid' : null"
|
||||||
:ref="gridName3 + myPrgmId"
|
:ref="gridName3 + myPrgmId"
|
||||||
@ -122,6 +126,7 @@
|
|||||||
@getRowsData="getAsgnRowData"
|
@getRowsData="getAsgnRowData"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-card>
|
</v-card>
|
||||||
@ -403,9 +408,9 @@ export default {
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
width: 30,
|
width: 30,
|
||||||
formatter: (props) => {
|
formatter: (props) => {
|
||||||
return `<span class="custom-radio">
|
return `<label class="custom-radio">
|
||||||
<span class="radio-mark"></span>
|
<span class="radio-mark"></span>
|
||||||
</span>`;
|
</label>`;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -426,9 +431,9 @@ export default {
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
width: 30,
|
width: 30,
|
||||||
formatter: (props) => {
|
formatter: (props) => {
|
||||||
return `<span class="custom-radio">
|
return `<label class="custom-radio">
|
||||||
<span class="radio-mark"></span>
|
<span class="radio-mark"></span>
|
||||||
</span>`;
|
</label>`;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ header: '역할ID', name: 'roleId', hidden: true },
|
{ header: '역할ID', name: 'roleId', hidden: true },
|
||||||
@ -568,7 +573,6 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async getRowData(data) {
|
async getRowData(data) {
|
||||||
|
|
||||||
await this.setPageData({
|
await this.setPageData({
|
||||||
rowGridSelectKey: data.rowKey,
|
rowGridSelectKey: data.rowKey,
|
||||||
rowGridSelectData: {
|
rowGridSelectData: {
|
||||||
@ -674,8 +678,6 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
getUnAsgnRowData(data) {
|
getUnAsgnRowData(data) {
|
||||||
console.log("------------------DEBUG-------getUnAsgnRowData:", data);
|
|
||||||
|
|
||||||
const getRowData = data;
|
const getRowData = data;
|
||||||
this.leftSelectRowData = Object.assign({}, getRowData);
|
this.leftSelectRowData = Object.assign({}, getRowData);
|
||||||
},
|
},
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<CommonPageTitle />
|
<common-page-title />
|
||||||
<!-- 리스트 페이지 시작 -->
|
<!-- 리스트 페이지 시작 -->
|
||||||
<div v-if="pageActionFlag == 'list'" class="h1001">
|
<div v-if="pageActionFlag == 'list'" class="h1001">
|
||||||
<v-card class="" >
|
<v-card class="" >
|
||||||
@ -16,9 +16,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" ref="contents" class="mt-5" style="min-height: calc(100% - 76px);">
|
<v-col :cols="12" ref="contents" class="mt-5" style="min-height: calc(100% - 76px);">
|
||||||
<div ref="gridParent" class="px-50" style="min-height: 70vh;">
|
<div ref="gridParent" class="h100 px-50">
|
||||||
|
<!-- <component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
|
||||||
|
@getRowsData="getRowData" /> -->
|
||||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
|
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
|
||||||
@getRowsData="getRowData" />
|
@getRowsData="getRowData" :selectedRowDataWatchFlag="true" />
|
||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
@ -27,7 +29,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 리스트 페이지 끝 -->
|
<!-- 리스트 페이지 끝 -->
|
||||||
<!-- 상세보기 페이지 시작 -->
|
<!-- 상세보기 페이지 시작 -->
|
||||||
<div v-if="pageActionFlag == 'view'" >
|
<div v-if="pageActionFlag == 'view'" class="h1001">
|
||||||
<v-card>
|
<v-card>
|
||||||
<v-row class="pa-5">
|
<v-row class="pa-5">
|
||||||
<v-col :cols="12" class="d-flex align-center justify-space-between ">
|
<v-col :cols="12" class="d-flex align-center justify-space-between ">
|
||||||
@ -45,25 +47,25 @@
|
|||||||
<a-button @click="viewPageButtonGroupClickEvent('delete')" type="danger" ghost icon="delete">삭제</a-button>
|
<a-button @click="viewPageButtonGroupClickEvent('delete')" type="danger" ghost icon="delete">삭제</a-button>
|
||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" class="mt-5">
|
<v-col :cols="12">
|
||||||
<v-card-title class="custom-title-6 pa-0">{{ viewActionData.title }}</v-card-title>
|
<p class="custom-title-3 mb-2"> 제목 </p>
|
||||||
|
<v-text-field v-model="viewActionData.title" class="v-input__custom" hide-details :readonly="true">
|
||||||
|
</v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" style="min-height: 30vh;" class="pa-0">
|
<v-col :cols="12" style="min-height:calc(90vh - 218px);" class="pa-5">
|
||||||
<viewer v-if="viewActionData.viewerFlag" ref="tuiViewer" height="inherit"
|
<viewer v-if="viewActionData.viewerFlag" ref="tuiViewer" height="inherit"
|
||||||
:initialValue="viewActionData.content" theme="white"
|
:initialValue="viewActionData.content" theme="white"
|
||||||
:class="[isDarkMode ? 'theme--white' : 'theme--black', 'custom-view pa-3']" />
|
:class="isDarkMode ? 'theme--white' : 'theme--black'" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="6" class="mt-5">
|
<v-col :cols="6">
|
||||||
<v-card-title class="custom-title-7 pa-0">
|
<p class="custom-title-3 mb-2">파일목록</p>
|
||||||
파일목록
|
|
||||||
</v-card-title>
|
|
||||||
<div v-for="fileData in viewActionData.fileData"
|
<div v-for="fileData in viewActionData.fileData"
|
||||||
:key="fileData.apndFileId"
|
:key="fileData.apndFileId"
|
||||||
class="file-item">
|
class="file-item">
|
||||||
<a @click.prevent="downloadFile(fileData)">
|
<a @click.prevent="downloadFile(fileData)">
|
||||||
<div class="d-flex justify-start search-box-label">
|
<div class="d-flex justify-space-between search-box-label">
|
||||||
<v-icon>mdi-paperclip</v-icon>
|
<v-icon>mdi-paperclip</v-icon>
|
||||||
<span class="file-item-name ml-2">{{ fileData.apndFileNm + '.' + fileData.apndFileExt }}</span>
|
<span class="file-item-name">{{ fileData.apndFileNm + '.' + fileData.apndFileExt }}</span>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
@ -73,24 +75,28 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 상세보기 페이지 끝 -->
|
<!-- 상세보기 페이지 끝 -->
|
||||||
<!-- 작성 페이지 시작 -->
|
<!-- 작성 페이지 시작 -->
|
||||||
<div v-if="pageActionFlag == 'write'" >
|
<div v-if="pageActionFlag == 'write'" class="h1001">
|
||||||
<v-card>
|
<v-card>
|
||||||
<div class="pa-5">
|
<div class="pa-5">
|
||||||
<v-row class="pa-50">
|
<v-row class="pa-50">
|
||||||
<v-col :cols="12" class="">
|
<v-col :cols="12" class="">
|
||||||
<v-card-title class="custom-title-4 pa-0">공지사항</v-card-title>
|
<v-card-title class="custom-title-4 pa-0">공지사항</v-card-title>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" class="mt-4">
|
<v-col :cols="12" class="custom-title-4-new mt-4">
|
||||||
<v-card-title class="custom-title-7 pa-0">제목</v-card-title>
|
<p class="custom-title-3 mb-2">제목</p>
|
||||||
<v-text-field v-model="writeActionData.title" class="v-input__custom" hide-details outlined>
|
<v-text-field v-model="writeActionData.title" class="v-input__custom" hide-details outlined>
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" style="min-height: calc(100vh - 450px);">
|
<v-col :cols="12" style="min-height: calc(90vh - 270px);">
|
||||||
<editor ref="tuiEditor" height="100%" initialEditType="wysiwyg" />
|
<editor ref="tuiEditor" height="100%" initialEditType="wysiwyg" />
|
||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
<v-col :cols="6" class="mt-5">
|
<v-col :cols="12" class="mt-2">
|
||||||
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
<p class="custom-title-3 mb-2">
|
||||||
|
파일첨부
|
||||||
|
</p>
|
||||||
|
</v-col>
|
||||||
|
<v-col :cols="6">
|
||||||
<div class="" v-if="writeActionData.fileData">
|
<div class="" v-if="writeActionData.fileData">
|
||||||
<div
|
<div
|
||||||
v-for="(fileData, index) in writeActionData.fileData"
|
v-for="(fileData, index) in writeActionData.fileData"
|
||||||
@ -126,23 +132,25 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 작성 페이지 끝 -->
|
<!-- 작성 페이지 끝 -->
|
||||||
<!-- 답글 작성 페이지 시작 -->
|
<!-- 답글 작성 페이지 시작 -->
|
||||||
<div v-if="pageActionFlag == 'reply'" >
|
<div v-if="pageActionFlag == 'reply'" class="h1001">
|
||||||
<v-card class="pa-5">
|
<v-card class="pa-5">
|
||||||
<v-row align="center" class="mt-0">
|
<v-row align="center" class="mt-0">
|
||||||
<v-col :cols="12" class="">
|
<v-col :cols="12" class="">
|
||||||
<v-card-title class="custom-title-4 pa-0">공지사항</v-card-title>
|
<v-card-title class="custom-title-4 pa-0">공지사항</v-card-title>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" class="mt-4">
|
<v-col :cols="12">
|
||||||
<v-card-title class="custom-title-7 pa-0">제목</v-card-title>
|
<p class="custom-title-3 mb-2">제목</p>
|
||||||
<v-text-field v-model="replyActionData.title" class="v-input__custom" outlined
|
<v-text-field v-model="replyActionData.title" class="v-input__custom" placeholder="제목" outlined
|
||||||
hide-details>
|
hide-details>
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" style="height: calc(100vh - 270px);" class="mt-2">
|
<v-col :cols="12" style="height: calc(100vh - 270px);" class="mt-2">
|
||||||
<editor ref="tuiReplyEditor" height="100%" initialEditType="wysiwyg" />
|
<editor ref="tuiReplyEditor" height="100%" initialEditType="wysiwyg" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="6" class="mt-5">
|
<v-col :cols="6" class="mt-4">
|
||||||
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
<p class="custom-title-3 mb-2">
|
||||||
|
파일첨부
|
||||||
|
</p>
|
||||||
<div class="" v-if="replyActionData.fileData">
|
<div class="" v-if="replyActionData.fileData">
|
||||||
<div
|
<div
|
||||||
v-for="(fileData, index) in replyActionData.fileData"
|
v-for="(fileData, index) in replyActionData.fileData"
|
||||||
@ -170,7 +178,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 답글 작성 페이지 끝 -->
|
<!-- 답글 작성 페이지 끝 -->
|
||||||
<!-- 수정 페이지 시작 -->
|
<!-- 수정 페이지 시작 -->
|
||||||
<div v-if="pageActionFlag == 'update'" >
|
<div v-if="pageActionFlag == 'update'" class="h1001">
|
||||||
<v-card>
|
<v-card>
|
||||||
<div class="pa-5">
|
<div class="pa-5">
|
||||||
<v-row align="center" no-gutters>
|
<v-row align="center" no-gutters>
|
||||||
@ -178,16 +186,16 @@
|
|||||||
<v-card-title class="custom-title-4 pa-0">공지사항</v-card-title>
|
<v-card-title class="custom-title-4 pa-0">공지사항</v-card-title>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" class="mt-4">
|
<v-col :cols="12" class="mt-4">
|
||||||
<v-card-title class="custom-title-7 pa-0">제목</v-card-title>
|
<p class="custom-title-3 mb-2">제목</p>
|
||||||
<v-text-field v-model="updateActionData.title" class="v-input__custom" hide-details outlined>
|
<v-text-field v-model="updateActionData.title" class="v-input__custom" placeholder="" hide-details outlined>
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" style="height: calc(90vh - 270px);" class="mt-4" >
|
<v-col :cols="12" style="height: calc(90vh - 270px);" class="mt-4" >
|
||||||
<editor ref="tuiUpdateEditor" height="100%" initialEditType="wysiwyg"
|
<editor ref="tuiUpdateEditor" height="100%" initialEditType="wysiwyg"
|
||||||
:initialValue="updateActionData.content" />
|
:initialValue="updateActionData.content" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="6" class="mt-5">
|
<v-col :cols="6">
|
||||||
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
<p class="pa-0 mb-2 custom-title-4-new-1">파일첨부</p>
|
||||||
<div class="" v-if="updateActionData.fileData">
|
<div class="" v-if="updateActionData.fileData">
|
||||||
<div
|
<div
|
||||||
v-for="(fileData, index) in updateActionData.fileData"
|
v-for="(fileData, index) in updateActionData.fileData"
|
||||||
@ -398,6 +406,7 @@ export default {
|
|||||||
this.getGridData();
|
this.getGridData();
|
||||||
},
|
},
|
||||||
gridInit() {
|
gridInit() {
|
||||||
|
this.loadGrid = false;
|
||||||
const gridHeight = this.$refs.contents.offsetHeight - 76;
|
const gridHeight = this.$refs.contents.offsetHeight - 76;
|
||||||
|
|
||||||
const myOptions = {};
|
const myOptions = {};
|
||||||
@ -461,6 +470,13 @@ export default {
|
|||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
value: columnList,
|
value: columnList,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// // -----------------------TEST------------------
|
||||||
|
// this.dataPathMock[this.gridName] = {
|
||||||
|
// column: columnList,
|
||||||
|
// data: dataPathDataExample,
|
||||||
|
// }
|
||||||
|
// // -----------------------END TEST--------------
|
||||||
this.getGridData();
|
this.getGridData();
|
||||||
},
|
},
|
||||||
async getGridData() {
|
async getGridData() {
|
||||||
@ -476,14 +492,25 @@ export default {
|
|||||||
sendParam: params,
|
sendParam: params,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// console.log('----------DEBUG--------res: ', res);
|
||||||
|
const newRes = res.map(item => {
|
||||||
|
const newObj = {
|
||||||
|
...item,
|
||||||
|
rowStat: null,
|
||||||
|
dataSetId: item.dataSetId,
|
||||||
|
dataSetNm: item.dataSetNm,
|
||||||
|
useFg: item.useFg === '1' ? true : false, // 화면 개발 편의를 위해 boolean 타입으로 교체, 저장시 "1", "0" 으로 바꿔 보내야 함
|
||||||
|
};
|
||||||
|
return newObj;
|
||||||
|
});
|
||||||
|
|
||||||
this.setGridData({
|
this.setGridData({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
value: res,
|
value: newRes,
|
||||||
});
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.loadGrid = true;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
this.setPageData({ isFind: false });
|
this.setPageData({ isFind: false });
|
||||||
|
this.loadGrid = true;
|
||||||
},
|
},
|
||||||
getRowData(data) {
|
getRowData(data) {
|
||||||
this.selectedRowKey = data.rowKey;
|
this.selectedRowKey = data.rowKey;
|
||||||
@ -1046,19 +1073,4 @@ const dataPathDataExample = getPathDataExample({
|
|||||||
color: #1677FF;
|
color: #1677FF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::v-deep {
|
|
||||||
.v-input__slot {
|
|
||||||
padding-left: 8px;
|
|
||||||
padding-right: 8px;
|
|
||||||
}
|
|
||||||
.custom-view {
|
|
||||||
border: 1px solid;
|
|
||||||
border-radius: 6px;
|
|
||||||
height: 100%;
|
|
||||||
@each $theme in dark, light {
|
|
||||||
@include theme($theme);
|
|
||||||
border-color: map-deep-get($config, #{$theme}, "v-input-textarea-border");;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
customClass="select-large"
|
customClass="select-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="4">
|
||||||
<InputText
|
<InputText
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
label="프로그램명"
|
label="프로그램명"
|
||||||
@ -50,17 +50,18 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div ref="gridParent" style="height: 60vh">
|
<div style="min-height: 60vh">
|
||||||
<!-- <div ref="gridParent" class="px-5 h100">
|
<div ref="gridParent" class="px-5 h100">
|
||||||
</div> -->
|
|
||||||
<component
|
<component
|
||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
:is="loadGrid ? 'Grid' : null"
|
:is="loadGrid ? 'Grid' : null"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
:gridName="gridName"
|
:gridName="gridName"
|
||||||
@getRowsData="getRowData"
|
@getRowsData="getRowData"
|
||||||
|
:dataPath="dataPathMock"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<!-- 프로그램 상세 -->
|
<!-- 프로그램 상세 -->
|
||||||
@ -261,6 +262,8 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// this.getRowGridData();
|
// this.getRowGridData();
|
||||||
|
|
||||||
|
this.loadGrid = true;
|
||||||
},
|
},
|
||||||
async search() {
|
async search() {
|
||||||
await this.getRowGridData();
|
await this.getRowGridData();
|
||||||
@ -293,7 +296,6 @@ export default {
|
|||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
value: newRes,
|
value: newRes,
|
||||||
});
|
});
|
||||||
this.loadGrid = true;
|
|
||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if (newRes.length > 0) {
|
if (newRes.length > 0) {
|
||||||
@ -314,12 +316,6 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async getRowData(data, gridName) {
|
async getRowData(data, gridName) {
|
||||||
// console.log("-----------------------DEBUG--getRowData--------------", {
|
|
||||||
// gridKey: gridName,
|
|
||||||
// gridSelect: true,
|
|
||||||
// rowGridSelectKey: data.rowKey,
|
|
||||||
// rowGridSelectData: data,
|
|
||||||
// });
|
|
||||||
this.setGridSelectData({
|
this.setGridSelectData({
|
||||||
gridKey: gridName,
|
gridKey: gridName,
|
||||||
gridSelect: true,
|
gridSelect: true,
|
||||||
@ -331,7 +327,6 @@ 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) {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<CommonPageTitle />
|
<common-page-title />
|
||||||
<v-row ref="searchFilter" class="mt-2">
|
<v-row ref="searchFilter" class="mt-2">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<CommonPageTitle />
|
<common-page-title />
|
||||||
<v-row ref="searchFilter" class="mt-2">
|
<v-row ref="searchFilter" class="mt-2">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="mainDiv" class="l-layout">
|
<div ref="mainDiv" class="l-layout">
|
||||||
<CommonPageTitle />
|
<common-page-title />
|
||||||
<v-row ref="searchFilter" class="mt-2">
|
<v-row ref="searchFilter" class="mt-2">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="mainDiv" class="l-layout">
|
<div ref="mainDiv" class="l-layout">
|
||||||
<PageTitle/>
|
<CommonPageTitle/>
|
||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="mainDiv" class="l-layout">
|
<div ref="mainDiv" class="l-layout">
|
||||||
<PageTitle />
|
<CommonPageTitle />
|
||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
@ -480,18 +480,17 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
type: 'CheckBox',
|
type: 'CheckBox',
|
||||||
label: '사용 여부',
|
label: '사용 여부',
|
||||||
valueNm: 'useFg',
|
valueNm: 'useFg',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-2 pr-4 pt-5',
|
class: 'py-2 pr-4 pt-4',
|
||||||
value: { '1': true, '0': false },
|
value: { '1': true, '0': false },
|
||||||
required: true,
|
required: true,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
labelCols: 12,
|
|
||||||
textCols: 12,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'SelectBox',
|
type: 'SelectBox',
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<CommonPageTitle />
|
|
||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
@ -35,23 +34,23 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row ref="contents">
|
<v-row ref="contents">
|
||||||
<v-col :cols="5" >
|
<v-col :cols="5" class="h100">
|
||||||
<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 custom-title-4">설비 정보</v-card-title>
|
<v-card-title class="pa-0 custom-title-4">설비 정보</v-card-title>
|
||||||
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :detailList="detailList"
|
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :detailList="detailList"
|
||||||
:btnActionsFnc="btnActions" />
|
:btnActionsFnc="btnActions" />
|
||||||
</div>
|
</div>
|
||||||
<div ref="gridParent" class="px-5" style="min-height:60vh;">
|
<div class="px-5" style="min-height:calc(100% - 76px)">
|
||||||
|
<div ref="gridParent" class="w100 h100">
|
||||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
|
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
|
||||||
@getRowsData="getRowData" @sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
@getRowsData="getRowData" @sendSelectedRowStatInfo="getSelectedRowStatInfo"
|
||||||
:selectedRowDataWatchFlag="true" :preventFocusChangeEventFlag="false" />
|
:selectedRowDataWatchFlag="true" :preventFocusChangeEventFlag="false" :dataPath="dataPathMock" />
|
||||||
<!-- <div ref="gridParent" class="w100 h100">
|
</div>
|
||||||
</div> -->
|
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="7" >
|
<v-col :cols="7" class="h100">
|
||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<v-card-title class="custom-title-4" style="min-height:76px;">설비 상세</v-card-title>
|
<v-card-title class="custom-title-4" style="min-height:76px;">설비 상세</v-card-title>
|
||||||
<div class="px-5" style="min-height:calc(100% - 76px)">
|
<div class="px-5" style="min-height:calc(100% - 76px)">
|
||||||
@ -288,7 +287,7 @@ export default {
|
|||||||
blocId: this.userInfo.blocId,
|
blocId: this.userInfo.blocId,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
// console.log('res : ', res);
|
console.log('res : ', res);
|
||||||
res.map(item => {
|
res.map(item => {
|
||||||
const it = { text: item.ercNm, value: item.ercId };
|
const it = { text: item.ercNm, value: item.ercId };
|
||||||
ercList.push(it);
|
ercList.push(it);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="mainDiv" class="l-layout">
|
<div ref="mainDiv" class="l-layout">
|
||||||
<CommonPageTitle />
|
<common-page-title />
|
||||||
<v-row ref="searchFilter" class="mt-2">
|
<v-row ref="searchFilter" class="mt-2">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="mainDiv" class="l-layout">
|
<div ref="mainDiv" class="l-layout">
|
||||||
<CommonPageTitle />
|
<common-page-title />
|
||||||
<v-row ref="searchFilter" class="mt-2">
|
<v-row ref="searchFilter" class="mt-2">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
|
@ -1,63 +1,26 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<PageTitle text="측정 위치 데이터 조회" />
|
<CommonPageTitle />
|
||||||
|
|
||||||
<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="end" no-gutters>
|
||||||
<v-col :cols="2">
|
|
||||||
<component
|
|
||||||
:is="'SelectBlocMstr'"
|
|
||||||
ref="SelectBlocMstr"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:textCols="12"
|
|
||||||
customClass="select-large"
|
|
||||||
/>
|
|
||||||
</v-col>
|
|
||||||
<!-- <v-col :cols="2">
|
|
||||||
<component
|
|
||||||
label="검침개소"
|
|
||||||
:is="'PastRsltDataReadPop'"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
/>
|
|
||||||
</v-col> -->
|
|
||||||
<!-- <v-col :cols="2">
|
|
||||||
<component
|
|
||||||
:is="'SelectTagNmList'"
|
|
||||||
ref="SelectTagNmList"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
/>
|
|
||||||
</v-col> -->
|
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<!-- <component
|
<component :is="'SelectBlocMstr'" ref="SelectBlocMstr" :parentPrgmId="myPrgmId"
|
||||||
:is="'PastRsltDataReadTagPop'"
|
:textCols="12" customClass="select-large" />
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:label="'TAG'"
|
|
||||||
/> -->
|
|
||||||
<component
|
|
||||||
:is="'EvtObjPop'"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:item="evtObjPopItem"
|
|
||||||
customClass="select-large"
|
|
||||||
/>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="4">
|
<v-col :cols="3">
|
||||||
<component
|
<component :is="'EvtObjPop'" :parentPrgmId="myPrgmId" :item="evtObjPopItem"
|
||||||
:is="'Datepicker'"
|
customClass="select-large" />
|
||||||
:parentPrgmId="myPrgmId"
|
</v-col>
|
||||||
:label="'조회기간'"
|
<v-col :cols="3">
|
||||||
:textCols="12"
|
<!-- 대상일 -->
|
||||||
/>
|
<component :is="'Datepicker'" :parentPrgmId="myPrgmId" :label="'조회기간'" :textCols="12" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3" class="d-flex align-end justify-end text-right">
|
<v-col :cols="3" class="d-flex align-end justify-end text-right">
|
||||||
<BtnExcelDownload
|
<BtnExcelDownload class="mr-1" :parentPrgmId="myPrgmId" :gridName="gridName" type="primary"
|
||||||
class="mr-1"
|
size="large" />
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:gridName="gridName"
|
|
||||||
type="primary"
|
|
||||||
size="large"
|
|
||||||
/>
|
|
||||||
<BtnSearch @click="search" size="large" />
|
<BtnSearch @click="search" size="large" />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
@ -68,12 +31,12 @@
|
|||||||
<v-col :cols="12" style="height: 100%" class="h100">
|
<v-col :cols="12" style="height: 100%" class="h100">
|
||||||
<v-card class="px-5 py-5 h100">
|
<v-card class="px-5 py-5 h100">
|
||||||
<div ref="gridParent" class="h100 px-5" style="height: 100%">
|
<div ref="gridParent" class="h100 px-5" style="height: 100%">
|
||||||
<component
|
<component ref="myGrid" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
||||||
ref="myGrid"
|
:parentPrgmId="myPrgmId" />
|
||||||
:is="loadGrid ? 'Grid' : null"
|
</div>
|
||||||
:gridName="gridName"
|
<div class="d-flex align-center justify-space-between">
|
||||||
:parentPrgmId="myPrgmId"
|
<pagination id="pagination" :total-count="totalCount" :page-num="page" :limit="limit"
|
||||||
/>
|
@loadData="changeGrid" />
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -97,7 +60,7 @@ import BtnExcelDownload from '~/components/common/button/BtnExcelDownload';
|
|||||||
import DateUtility from '~/plugins/dateUtility';
|
import DateUtility from '~/plugins/dateUtility';
|
||||||
// import Search from "~/components/common/search";
|
// import Search from "~/components/common/search";
|
||||||
import EvtObjPop from '~/components/common/modal/EvtObjPop';
|
import EvtObjPop from '~/components/common/modal/EvtObjPop';
|
||||||
import PageTitle from "~/components/common/PageTitle";
|
import pagination from '~/components/Pagination';
|
||||||
|
|
||||||
let myTitle;
|
let myTitle;
|
||||||
// const myPrgmId = "PRG0052";
|
// const myPrgmId = "PRG0052";
|
||||||
@ -130,7 +93,7 @@ export default {
|
|||||||
PastRsltDataReadPop,
|
PastRsltDataReadPop,
|
||||||
PastRsltDataReadTagPop,
|
PastRsltDataReadTagPop,
|
||||||
EvtObjPop,
|
EvtObjPop,
|
||||||
PageTitle,
|
pagination,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -146,12 +109,16 @@ export default {
|
|||||||
valueNm2: 'tagNm',
|
valueNm2: 'tagNm',
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
labelCols: 12,
|
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
class: 'py-2',
|
class: 'py-2',
|
||||||
required: false,
|
required: false,
|
||||||
formFg: false,
|
formFg: false,
|
||||||
},
|
},
|
||||||
|
itemsPerPage: 10,
|
||||||
|
itemsPerPageArray: [10, 20, 30],
|
||||||
|
limit: 20,
|
||||||
|
page: 1,
|
||||||
|
totalCount: 0,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -164,9 +131,6 @@ export default {
|
|||||||
chkTagId() {
|
chkTagId() {
|
||||||
return this.pageData.tagList === undefined ? null : this.pageData.tagId;
|
return this.pageData.tagList === undefined ? null : this.pageData.tagId;
|
||||||
},
|
},
|
||||||
// chkTagList() {
|
|
||||||
// return this.pageData.tagList;
|
|
||||||
// },
|
|
||||||
chkTagNm() {
|
chkTagNm() {
|
||||||
return this.pageData.tagData.tagNm;
|
return this.pageData.tagData.tagNm;
|
||||||
},
|
},
|
||||||
@ -176,18 +140,16 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
chkIsFind(val) {
|
chkIsFind(val) {
|
||||||
if (val) this.search();
|
if (val) {
|
||||||
|
this.page = 1;
|
||||||
|
this.search();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
chkTagId(val) {
|
chkTagId(val) {
|
||||||
if (this.initFlag && val != null) {
|
if (this.initFlag && val != null) {
|
||||||
this.search();
|
this.search();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// chkTagList() {
|
|
||||||
// if(this.initFlag){
|
|
||||||
// this.search();
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
chkTagNm() {
|
chkTagNm() {
|
||||||
if (this.initFlag) {
|
if (this.initFlag) {
|
||||||
this.search();
|
this.search();
|
||||||
@ -207,7 +169,7 @@ export default {
|
|||||||
defaultData: defaultData,
|
defaultData: defaultData,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
created() {},
|
created() { },
|
||||||
async mounted() {
|
async mounted() {
|
||||||
await this.setFromDt();
|
await this.setFromDt();
|
||||||
await this.init();
|
await this.init();
|
||||||
@ -330,6 +292,7 @@ export default {
|
|||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
|
|
||||||
let res = [];
|
let res = [];
|
||||||
|
let res2 = [];
|
||||||
let yearQuarterData = [];
|
let yearQuarterData = [];
|
||||||
yearQuarterData = this.yearQuarterMaker([
|
yearQuarterData = this.yearQuarterMaker([
|
||||||
this.pageData.fromDt,
|
this.pageData.fromDt,
|
||||||
@ -381,8 +344,18 @@ export default {
|
|||||||
apiKey: 'selectTagRawDataByQuarter',
|
apiKey: 'selectTagRawDataByQuarter',
|
||||||
resKey: 'pastRsltReadData',
|
resKey: 'pastRsltReadData',
|
||||||
sendParam: sendParams,
|
sendParam: sendParams,
|
||||||
|
limit: this.limit,
|
||||||
|
page: this.page,
|
||||||
|
offset: (this.page - 1) * this.limit, // MariaDB Query에서 직접 계산이 안됨
|
||||||
});
|
});
|
||||||
|
|
||||||
|
res2 = await this.postApiReturn({
|
||||||
|
apiKey: 'selectTagRawDataByQuarterPageTotal',
|
||||||
|
resKey: 'pastRslPageTotal',
|
||||||
|
sendParam: sendParams
|
||||||
|
});
|
||||||
|
this.totalCount = res2[0].totalcount;
|
||||||
|
|
||||||
this.setGridData({
|
this.setGridData({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
value: res,
|
value: res,
|
||||||
@ -393,6 +366,9 @@ export default {
|
|||||||
fromDt: this.pageData.fromDt,
|
fromDt: this.pageData.fromDt,
|
||||||
toDt: this.pageData.toDt,
|
toDt: this.pageData.toDt,
|
||||||
yearQuarterList: yearQuarterData['yearQuarterList'],
|
yearQuarterList: yearQuarterData['yearQuarterList'],
|
||||||
|
limit: this.limit,
|
||||||
|
page: this.page,
|
||||||
|
offset: (this.page - 1) * this.limit, // MariaDB Query에서 직접 계산이 안됨
|
||||||
};
|
};
|
||||||
sendParams['tagId'] = this.pageData.tagId;
|
sendParams['tagId'] = this.pageData.tagId;
|
||||||
//
|
//
|
||||||
@ -410,6 +386,13 @@ export default {
|
|||||||
sendParam: sendParams,
|
sendParam: sendParams,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
res2 = await this.postApiReturn({
|
||||||
|
apiKey: 'selectTagRawDataByQuarterPageTotal',
|
||||||
|
resKey: 'pastRslPageTotal',
|
||||||
|
sendParam: sendParams
|
||||||
|
});
|
||||||
|
this.totalCount = res2[0].totalcount;
|
||||||
|
|
||||||
this.setGridData({
|
this.setGridData({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
value: res,
|
value: res,
|
||||||
@ -487,6 +470,12 @@ export default {
|
|||||||
finalResult['yearQuarterList'] = result;
|
finalResult['yearQuarterList'] = result;
|
||||||
return finalResult;
|
return finalResult;
|
||||||
},
|
},
|
||||||
|
changeGrid: async function (pageNum, limit) {
|
||||||
|
this.page = pageNum;
|
||||||
|
this.limit = limit;
|
||||||
|
|
||||||
|
this.search();
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -59,7 +59,8 @@
|
|||||||
:btnActionsFnc="btnActions"
|
:btnActionsFnc="btnActions"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div ref="gridParent" class="h100 px-5" style="height:calc(100% - 70px)">
|
<div class="h100 px-5" style="height:calc(100% - 70px)">
|
||||||
|
<div ref="gridParent" class="w100 h100">
|
||||||
<component
|
<component
|
||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
:is="loadGrid ? 'Grid' : null"
|
:is="loadGrid ? 'Grid' : null"
|
||||||
@ -70,6 +71,7 @@
|
|||||||
:selectedRowDataWatchFlag="true"
|
:selectedRowDataWatchFlag="true"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="7" class="h100">
|
<v-col :cols="7" class="h100">
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<CommonPageTitle />
|
<common-page-title />
|
||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<!-- 조회조견 -->
|
<!-- 조회조견 -->
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
@ -91,7 +91,7 @@
|
|||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div ref="gridParent" class="px-5 w100" style="height: 55vh;">
|
<div ref="gridParent" class="px-5 w100" style="min-height: 60vh">
|
||||||
<component
|
<component
|
||||||
:is="loadGrid ? 'Grid' : null"
|
:is="loadGrid ? 'Grid' : null"
|
||||||
:ref="gridName"
|
:ref="gridName"
|
||||||
@ -242,10 +242,6 @@ export default {
|
|||||||
columnOptions: {
|
columnOptions: {
|
||||||
resizable: true,
|
resizable: true,
|
||||||
},
|
},
|
||||||
pageOptions: {
|
|
||||||
useClient: true,
|
|
||||||
perPage: 13,
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<PageTitle/>
|
<CommonPageTitle/>
|
||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
@ -58,7 +58,7 @@
|
|||||||
@sendSelectedRowStatInfo="getSelectedRowStatInfo" :selectedRowDataWatchFlag="true" />
|
@sendSelectedRowStatInfo="getSelectedRowStatInfo" :selectedRowDataWatchFlag="true" />
|
||||||
</div>
|
</div>
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
<!-- <div class="d-flex align-center justify-space-between">
|
<div class="d-flex align-center justify-space-between">
|
||||||
<pagination
|
<pagination
|
||||||
id="pagination"
|
id="pagination"
|
||||||
:total-count="totalCount"
|
:total-count="totalCount"
|
||||||
@ -66,7 +66,7 @@
|
|||||||
:limit="limit"
|
:limit="limit"
|
||||||
@loadData="changeGrid"
|
@loadData="changeGrid"
|
||||||
/>
|
/>
|
||||||
</div> -->
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="7" class="h100">
|
<v-col :cols="7" class="h100">
|
||||||
@ -107,7 +107,6 @@ import TagAddInfoTab from '@/components/pages/ems/TagInfo/TagAddInfoTab';
|
|||||||
import Grid from '~/components/common/Grid';
|
import Grid from '~/components/common/Grid';
|
||||||
import Utility from '~/plugins/utility';
|
import Utility from '~/plugins/utility';
|
||||||
import pagination from '~/components/Pagination';
|
import pagination from '~/components/Pagination';
|
||||||
import PageTitle from "~/components/common/PageTitle";
|
|
||||||
|
|
||||||
let myTitle;
|
let myTitle;
|
||||||
// const myPrgmId = "PRG0051";
|
// const myPrgmId = "PRG0051";
|
||||||
@ -140,13 +139,12 @@ export default {
|
|||||||
TagAddInfoTab,
|
TagAddInfoTab,
|
||||||
Grid,
|
Grid,
|
||||||
pagination,
|
pagination,
|
||||||
PageTitle
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
myPrgmId: myPrgmId,
|
myPrgmId: myPrgmId,
|
||||||
gridName: 'rowGrid',
|
gridName: 'rowGrid',
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
tab: null,
|
tab: null,
|
||||||
items: [
|
items: [
|
||||||
{ name: 'TAG 정보', id: 'tagBaseInfoTab', disabledFlag: false },
|
{ name: 'TAG 정보', id: 'tagBaseInfoTab', disabledFlag: false },
|
||||||
@ -275,16 +273,12 @@ export default {
|
|||||||
this.gridInit();
|
this.gridInit();
|
||||||
},
|
},
|
||||||
gridInit() {
|
gridInit() {
|
||||||
const gridHeight = this.$refs.gridParent.offsetHeight - 180;
|
const gridHeight = this.$refs.gridParent.offsetHeight - 16;
|
||||||
|
|
||||||
const myOptions = {
|
const myOptions = {
|
||||||
columnOptions: {
|
columnOptions: {
|
||||||
resizable: true,
|
resizable: true,
|
||||||
},
|
},
|
||||||
pageOptions: {
|
|
||||||
useClient: true,
|
|
||||||
perPage: 10,
|
|
||||||
},
|
|
||||||
scrollX: true,
|
scrollX: true,
|
||||||
header: {
|
header: {
|
||||||
height: 38,
|
height: 38,
|
||||||
@ -536,7 +530,7 @@ export default {
|
|||||||
columnName: 'tagId',
|
columnName: 'tagId',
|
||||||
setScroll: true,
|
setScroll: true,
|
||||||
});
|
});
|
||||||
} catch (error) { }
|
} catch (error) {}
|
||||||
// this.$refs[this.gridName].focus({
|
// this.$refs[this.gridName].focus({
|
||||||
// rowKey: 0,
|
// rowKey: 0,
|
||||||
// columnName: "tagId",
|
// columnName: "tagId",
|
||||||
@ -773,7 +767,7 @@ export default {
|
|||||||
gridEditingFinish(data) {
|
gridEditingFinish(data) {
|
||||||
this.$refs[this.gridName].editingFinish(data);
|
this.$refs[this.gridName].editingFinish(data);
|
||||||
},
|
},
|
||||||
changeGrid: async function (pageNum, limit) {
|
changeGrid: async function(pageNum, limit) {
|
||||||
this.page = pageNum;
|
this.page = pageNum;
|
||||||
this.limit = limit;
|
this.limit = limit;
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<CommonPageTitle />
|
<common-page-title />
|
||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
|
@ -975,7 +975,7 @@ export default {
|
|||||||
var seriesData = null;
|
var seriesData = null;
|
||||||
|
|
||||||
xAxisData = this.makeChartGroup01XaxisData();
|
xAxisData = this.makeChartGroup01XaxisData();
|
||||||
// console.log("text xaxis", xAxisData);
|
console.log("text xaxis", xAxisData);
|
||||||
|
|
||||||
for (var i = 0; i < dataKeyList.length; i++) {
|
for (var i = 0; i < dataKeyList.length; i++) {
|
||||||
seriesData = new Array(xAxisData.length).fill(10);
|
seriesData = new Array(xAxisData.length).fill(10);
|
||||||
@ -988,12 +988,12 @@ export default {
|
|||||||
currentChartData["data"][j]["totVal"];
|
currentChartData["data"][j]["totVal"];
|
||||||
}
|
}
|
||||||
|
|
||||||
// console.log("text seri data", seriesData);
|
console.log("text seri data", seriesData);
|
||||||
|
|
||||||
this.$store.state.pageData[myPrgmId][chartKey]["xAxis"]["data"] = xAxisData;
|
this.$store.state.pageData[myPrgmId][chartKey]["xAxis"]["data"] = xAxisData;
|
||||||
this.$store.state.pageData[myPrgmId][chartKey]["series"][0]["data"] = seriesData;
|
this.$store.state.pageData[myPrgmId][chartKey]["series"][0]["data"] = seriesData;
|
||||||
|
|
||||||
// console.log("chart data", this.$store.state.pageData[myPrgmId][chartKey]);
|
console.log("chart data", this.$store.state.pageData[myPrgmId][chartKey]);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getGroup01ChartOption() {
|
getGroup01ChartOption() {
|
||||||
@ -1007,7 +1007,7 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
chartOption["series"][0]["symbol"] = "none";
|
chartOption["series"][0]["symbol"] = "none";
|
||||||
// console.log("chartOption: ", chartOption);
|
console.log("chartOption: ", chartOption);
|
||||||
return chartOption;
|
return chartOption;
|
||||||
},
|
},
|
||||||
makeChartGroup01XaxisData() {
|
makeChartGroup01XaxisData() {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div ref="mainDiv" class="l-layout">
|
<div ref="mainDiv" class="l-layout">
|
||||||
<CommonPageTitle />
|
<common-page-title />
|
||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card class="searchFilter">
|
<v-card class="searchFilter">
|
||||||
|
@ -669,7 +669,8 @@ const INIT_URL_STATE = {
|
|||||||
// prgmId : PRG0052 과거 검침 데이터 조회
|
// prgmId : PRG0052 과거 검침 데이터 조회
|
||||||
selectTagRawDataByQuarter:
|
selectTagRawDataByQuarter:
|
||||||
'ems/base/PastRsltDataReadCtr/selectTagRawDataByQuarter',
|
'ems/base/PastRsltDataReadCtr/selectTagRawDataByQuarter',
|
||||||
|
selectTagRawDataByQuarterPageTotal:
|
||||||
|
'ems/base/PastRsltDataReadCtr/selectTagRawDataByQuarterPageTotal',
|
||||||
// prgmId : PRG4107 개인화 대시보드
|
// prgmId : PRG4107 개인화 대시보드
|
||||||
selectIndvWidgetList: 'ems/base/DashboardHfemsCtr/selectIndvWidgetList',
|
selectIndvWidgetList: 'ems/base/DashboardHfemsCtr/selectIndvWidgetList',
|
||||||
selectEnergyUseReadHourAddup:
|
selectEnergyUseReadHourAddup:
|
||||||
|
Reference in New Issue
Block a user