Compare commits
13 Commits
eedbf94d56
...
dev-nghian
Author | SHA1 | Date | |
---|---|---|---|
7227d5d56c | |||
a87a8262f4 | |||
481434a144 | |||
524023b3e1 | |||
cb2d4e2e91 | |||
dca6673a11 | |||
15aa03b1c1 | |||
bbd037dcb4 | |||
bcf4015cae | |||
dd9739bf74 | |||
ab702c4495 | |||
edab77d0c6 | |||
e2f7ab5113 |
@ -28,8 +28,8 @@
|
|||||||
|
|
||||||
.v-slide-group__content {
|
.v-slide-group__content {
|
||||||
border-bottom: 1px solid map-deep-get($config,
|
border-bottom: 1px solid map-deep-get($config,
|
||||||
#{$theme},
|
#{$theme},
|
||||||
"v-tabs-items-border-color"
|
"v-tabs-items-border-color"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,11 +68,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: map-deep-get(
|
color: map-deep-get(
|
||||||
$config,
|
$config,
|
||||||
#{$theme},
|
#{$theme},
|
||||||
"v-tabs-hover-color"
|
"v-tabs-hover-color"
|
||||||
) !important
|
) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:not(.v-tab--active){
|
&:not(.v-tab--active){
|
||||||
|
@ -120,7 +120,7 @@ $config: (
|
|||||||
v-tabs-active-border-color: rgba(255, 255, 255, 0.7),
|
v-tabs-active-border-color: rgba(255, 255, 255, 0.7),
|
||||||
v-dialog-card-text-color: #fff,
|
v-dialog-card-text-color: #fff,
|
||||||
tui-datepicker-backgroundColor: #0d0f17,
|
tui-datepicker-backgroundColor: #0d0f17,
|
||||||
tui-datepicker-border-color: rgb(66, 66, 66),
|
tui-datepicker-border-color: rgba(255, 255, 255, 0.3),
|
||||||
tui-datepicker-selectable-hover-color: #2d3355,
|
tui-datepicker-selectable-hover-color: #2d3355,
|
||||||
tui-datepicker-selected-color: #1a4e87,
|
tui-datepicker-selected-color: #1a4e87,
|
||||||
tui-datepicker-calendar-color: #fff,
|
tui-datepicker-calendar-color: #fff,
|
||||||
@ -252,7 +252,7 @@ $config: (
|
|||||||
v-tabs-hover-color: #1677FF,
|
v-tabs-hover-color: #1677FF,
|
||||||
v-dialog-card-text-color: #111,
|
v-dialog-card-text-color: #111,
|
||||||
tui-datepicker-backgroundColor: #fff,
|
tui-datepicker-backgroundColor: #fff,
|
||||||
tui-datepicker-border-color: #D9D9D9,
|
tui-datepicker-border-color: #b4b8c9,
|
||||||
tui-datepicker-selectable-hover-color: #e1e7f3,
|
tui-datepicker-selectable-hover-color: #e1e7f3,
|
||||||
tui-datepicker-selected-color: #4777d9,
|
tui-datepicker-selected-color: #4777d9,
|
||||||
tui-datepicker-calendar-color: #111,
|
tui-datepicker-calendar-color: #111,
|
||||||
|
@ -170,9 +170,11 @@ export default {
|
|||||||
month : month,
|
month : month,
|
||||||
day : day
|
day : day
|
||||||
}
|
}
|
||||||
this.$refs['planPop'].blocId = this.pageData.blocMstrList[
|
// BEGIN TEST UI
|
||||||
this.pageData.blocId
|
// this.$refs['planPop'].blocId = this.pageData.blocMstrList[
|
||||||
].blocId;
|
// this.pageData.blocId
|
||||||
|
// ].blocId;
|
||||||
|
// END TEST UI
|
||||||
this.$refs['planPop'].dialog = true;
|
this.$refs['planPop'].dialog = true;
|
||||||
},
|
},
|
||||||
updatePlan(val) {
|
updatePlan(val) {
|
||||||
|
@ -13,14 +13,15 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="label ? textCols : ''">
|
<v-col :cols="label ? textCols : ''">
|
||||||
|
|
||||||
<a-checkbox
|
<v-checkbox
|
||||||
v-model:checked="chkValue"
|
v-model="chkValue"
|
||||||
:disabled="disabledFlag"
|
:disabled="disabledFlag"
|
||||||
:readonly="readonly || false"
|
:readonly="readonly || false"
|
||||||
:required="required || false"
|
:required="required || false"
|
||||||
@change="modifyValue"
|
:false-value="false"
|
||||||
>
|
:color="isDarkMode ? '#fff' : '#1890ff'"
|
||||||
</a-checkbox>
|
@change="modifyValue"
|
||||||
|
></v-checkbox>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</template>
|
</template>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
v-if="item.label"
|
v-if="item.label"
|
||||||
:cols="item.cols == 12 ? 2 : 4"
|
:cols="item.cols == 12 ? 2 : 4"
|
||||||
:style="item.padding ? 'padding-left:10px' : ''"
|
:style="item.padding ? 'padding-left:10px' : ''"
|
||||||
class="mb-2"
|
class="py-0"
|
||||||
>
|
>
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
<v-icon
|
<v-icon
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
<v-row align="center" no-gutters>
|
<v-row align="center" no-gutters>
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
<v-icon small :class="['mr-1','icon-blue']">$icoBulletPoint</v-icon>
|
<v-icon small :class="['mr-1', 'icon-blue']">$icoBulletPoint</v-icon>
|
||||||
설비
|
설비
|
||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -80,7 +80,7 @@
|
|||||||
<v-row align="center" no-gutters class="mt-4">
|
<v-row align="center" no-gutters class="mt-4">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<label for="" class="search-box-label">
|
<label for="" class="search-box-label">
|
||||||
<v-icon small :class="['mr-1','icon-blue']">$icoBulletPoint</v-icon>
|
<v-icon small :class="['mr-1', 'icon-blue']">$icoBulletPoint</v-icon>
|
||||||
가이드지표
|
가이드지표
|
||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -190,7 +190,7 @@ export default {
|
|||||||
modalDataKey: 'modalData',
|
modalDataKey: 'modalData',
|
||||||
myModalKey: 'eqpmDetlPop',
|
myModalKey: 'eqpmDetlPop',
|
||||||
gridName: 'eqpmDetlGrid',
|
gridName: 'eqpmDetlGrid',
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
setGrid: false,
|
setGrid: false,
|
||||||
popCheck: false,
|
popCheck: false,
|
||||||
dialog: false,
|
dialog: false,
|
||||||
@ -217,13 +217,7 @@ export default {
|
|||||||
}),
|
}),
|
||||||
InputValue: {
|
InputValue: {
|
||||||
get() {
|
get() {
|
||||||
// return this.myBindingData;
|
return this.myBindingData;
|
||||||
return [{
|
|
||||||
"eqpmId": "EQ001",
|
|
||||||
"eqpmNm": "Etcher A12",
|
|
||||||
"gdIdxId": "GD001",
|
|
||||||
"gdIdxNm": "Etch Depth Guide",
|
|
||||||
}]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
chkDialog() {
|
chkDialog() {
|
||||||
@ -241,7 +235,7 @@ export default {
|
|||||||
},
|
},
|
||||||
async popCheck(val) {
|
async popCheck(val) {
|
||||||
if (val) {
|
if (val) {
|
||||||
// await this.getRowGridData();
|
await this.getRowGridData();
|
||||||
this.dialog = true;
|
this.dialog = true;
|
||||||
} else {
|
} else {
|
||||||
this.dialog = false;
|
this.dialog = false;
|
||||||
@ -365,57 +359,24 @@ export default {
|
|||||||
},
|
},
|
||||||
async getRowGridData() {
|
async getRowGridData() {
|
||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
// var res = await this.postApiReturn({
|
var res = await this.postApiReturn({
|
||||||
// apiKey: 'selectEqpmDetailPop',
|
apiKey: 'selectEqpmDetailPop',
|
||||||
// resKey: 'eqpmDetlPopData',
|
resKey: 'eqpmDetlPopData',
|
||||||
// sendParam: {
|
sendParam: {
|
||||||
// gdIdxId : this.myBindingData.gdIdxId,
|
gdIdxId: this.myBindingData.gdIdxId,
|
||||||
// eqpmId : this.myBindingData.eqpmId,
|
eqpmId: this.myBindingData.eqpmId,
|
||||||
// fromDt : this.myBindingData.fromDt,
|
fromDt: this.myBindingData.fromDt,
|
||||||
// toDt : this.myBindingData.toDt
|
toDt: this.myBindingData.toDt
|
||||||
// },
|
|
||||||
// });
|
|
||||||
// const dayjs = require('dayjs');
|
|
||||||
// var newRes = res.map(item=>
|
|
||||||
// item = {
|
|
||||||
// ...item,
|
|
||||||
// totDttmDay : Utility.setFormatDate(item.totDttm, 'YYYY-MM-DD'),
|
|
||||||
// totDttmTime : Utility.setFormatDate(item.totDttm, 'HH') + "~" + dayjs(item.totDttm).add(1,'h').format('HH'),
|
|
||||||
// }
|
|
||||||
// );
|
|
||||||
|
|
||||||
const newRes = [
|
|
||||||
{
|
|
||||||
"totDttmDay": "2025-07-10",
|
|
||||||
"totDttmTime": "14:00~15:00",
|
|
||||||
"gdIdxNm": "Etch Depth Guide",
|
|
||||||
"careStndVal": 500,
|
|
||||||
"warnStndVal": 700,
|
|
||||||
"totVal": 720,
|
|
||||||
"alrmMsg": "Chamber pressure exceeded warning threshold. Immediate inspection required.",
|
|
||||||
"alrmKind": "경고"
|
|
||||||
},
|
},
|
||||||
{
|
});
|
||||||
"totDttmDay": "2025-07-10",
|
const dayjs = require('dayjs');
|
||||||
"totDttmTime": "09:00~10:00",
|
var newRes = res.map(item =>
|
||||||
"gdIdxNm": "Etch Depth Guide",
|
item = {
|
||||||
"careStndVal": 60,
|
...item,
|
||||||
"warnStndVal": 80,
|
totDttmDay: Utility.setFormatDate(item.totDttm, 'YYYY-MM-DD'),
|
||||||
"totVal": 75,
|
totDttmTime: Utility.setFormatDate(item.totDttm, 'HH') + "~" + dayjs(item.totDttm).add(1, 'h').format('HH'),
|
||||||
"alrmMsg": "Temperature nearing warning threshold. Monitor closely.",
|
|
||||||
"alrmKind": "주의"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"totDttmDay": "2025-07-09",
|
|
||||||
"totDttmTime": "22:00~23:00",
|
|
||||||
"gdIdxNm": "Etch Depth Guide",
|
|
||||||
"careStndVal": 300,
|
|
||||||
"warnStndVal": 400,
|
|
||||||
"totVal": 290,
|
|
||||||
"alrmMsg": "Gas flow rate below caution level. Check for leaks or blockages.",
|
|
||||||
"alrmKind": "주의"
|
|
||||||
}
|
}
|
||||||
]
|
);
|
||||||
|
|
||||||
|
|
||||||
this.setModalGridData({
|
this.setModalGridData({
|
||||||
|
@ -234,13 +234,7 @@ export default {
|
|||||||
}),
|
}),
|
||||||
InputValue: {
|
InputValue: {
|
||||||
get() {
|
get() {
|
||||||
return [{
|
return this.myBindingData;
|
||||||
"eqpmId": "EQ001",
|
|
||||||
"eqpmNm": "Etcher A12",
|
|
||||||
"gdIdxId": "GD001",
|
|
||||||
"gdIdxNm": "Etch Depth Guide",
|
|
||||||
}]
|
|
||||||
// return this.myBindingData;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
chkDialog() {
|
chkDialog() {
|
||||||
@ -258,7 +252,7 @@ export default {
|
|||||||
},
|
},
|
||||||
async popCheck(val) {
|
async popCheck(val) {
|
||||||
if (val) {
|
if (val) {
|
||||||
// await this.getData();
|
await this.getData();
|
||||||
this.dialog = true;
|
this.dialog = true;
|
||||||
} else {
|
} else {
|
||||||
this.dialog = false;
|
this.dialog = false;
|
||||||
@ -288,13 +282,13 @@ export default {
|
|||||||
}),
|
}),
|
||||||
init() {
|
init() {
|
||||||
|
|
||||||
// this.gridInit();
|
this.gridInit();
|
||||||
},
|
},
|
||||||
closePop() {
|
closePop() {
|
||||||
this.popCheck = false;
|
this.popCheck = false;
|
||||||
},
|
},
|
||||||
search() {
|
search() {
|
||||||
// this.getData();
|
this.getData();
|
||||||
},
|
},
|
||||||
async getData() {
|
async getData() {
|
||||||
var res = await this.postApiReturn({
|
var res = await this.postApiReturn({
|
||||||
|
@ -323,58 +323,58 @@ export default {
|
|||||||
this.getRowGridData();
|
this.getRowGridData();
|
||||||
},
|
},
|
||||||
async getFab() {
|
async getFab() {
|
||||||
// let res = await this.postApiReturn({
|
let res = await this.postApiReturn({
|
||||||
// apiKey: 'selectFabCodeList',
|
apiKey: 'selectFabCodeList',
|
||||||
// resKey: 'fabCodeLists',
|
resKey: 'fabCodeLists',
|
||||||
// sendParam: {},
|
sendParam: {},
|
||||||
// });
|
});
|
||||||
// if (res.length > 0) {
|
if (res.length > 0) {
|
||||||
// this.selectValueList02 = await res.map(item => {
|
this.selectValueList02 = await res.map(item => {
|
||||||
// return {
|
return {
|
||||||
// text: item.eccNm,
|
text: item.eccNm,
|
||||||
// value: item.eccId,
|
value: item.eccId,
|
||||||
// };
|
};
|
||||||
// });
|
});
|
||||||
// this.selectValueList02.unshift({
|
this.selectValueList02.unshift({
|
||||||
// text:"전체",
|
text: "전체",
|
||||||
// value:null
|
value: null
|
||||||
// });
|
});
|
||||||
// // if(this.pageData.eccId != null && this.pageData.eccId != ''){
|
// if(this.pageData.eccId != null && this.pageData.eccId != ''){
|
||||||
// // this.selectValue02 = this.pageData.eccId;
|
// this.selectValue02 = this.pageData.eccId;
|
||||||
// // }else if(this.pageData.eccId == null || this.pageData.eccId == ''){
|
// }else if(this.pageData.eccId == null || this.pageData.eccId == ''){
|
||||||
// this.selectValue02.push(this.selectValueList02[0].value);
|
this.selectValue02.push(this.selectValueList02[0].value);
|
||||||
// // }
|
// }
|
||||||
// } else {
|
} else {
|
||||||
// this.selectValueList02 = [];
|
this.selectValueList02 = [];
|
||||||
// this.selectValue02 = [];
|
this.selectValue02 = [];
|
||||||
// }
|
}
|
||||||
},
|
},
|
||||||
async getEqpmGrp() {
|
async getEqpmGrp() {
|
||||||
// let res = await this.postApiReturn({
|
let res = await this.postApiReturn({
|
||||||
// apiKey: 'selectEqpmGrpCodeList',
|
apiKey: 'selectEqpmGrpCodeList',
|
||||||
// resKey: 'eqpmGrpCodeLists',
|
resKey: 'eqpmGrpCodeLists',
|
||||||
// sendParam: { },
|
sendParam: {},
|
||||||
// });
|
});
|
||||||
// if (res.length > 0) {
|
if (res.length > 0) {
|
||||||
// this.selectValueList01 = await res.map(item => {
|
this.selectValueList01 = await res.map(item => {
|
||||||
// return {
|
return {
|
||||||
// text: item.eqpmGrpNm,
|
text: item.eqpmGrpNm,
|
||||||
// value: item.eqpmGrpId,
|
value: item.eqpmGrpId,
|
||||||
// };
|
};
|
||||||
// });
|
});
|
||||||
// this.selectValueList01.unshift({
|
this.selectValueList01.unshift({
|
||||||
// text:"전체",
|
text: "전체",
|
||||||
// value:null
|
value: null
|
||||||
// });
|
});
|
||||||
// // if(this.pageData.eqpmGrpId != null && this.pageData.eqpmGrpId != ''){
|
// if(this.pageData.eqpmGrpId != null && this.pageData.eqpmGrpId != ''){
|
||||||
// // this.selectValue02 = this.pageData.eqpmGrpId;
|
// this.selectValue02 = this.pageData.eqpmGrpId;
|
||||||
// // }else if(this.pageData.eqpmGrpId == null || this.pageData.eqpmGrpId == ''){
|
// }else if(this.pageData.eqpmGrpId == null || this.pageData.eqpmGrpId == ''){
|
||||||
// this.selectValue01 = this.selectValueList01[0].value;
|
this.selectValue01 = this.selectValueList01[0].value;
|
||||||
// // }
|
// }
|
||||||
// } else {
|
} else {
|
||||||
// this.selectValueList01 = [];
|
this.selectValueList01 = [];
|
||||||
// this.selectValue01 = null;
|
this.selectValue01 = null;
|
||||||
// }
|
}
|
||||||
},
|
},
|
||||||
gridInit() {
|
gridInit() {
|
||||||
// console.log("modalGridParent : ",this.$refs)
|
// console.log("modalGridParent : ",this.$refs)
|
||||||
@ -459,16 +459,16 @@ export default {
|
|||||||
},
|
},
|
||||||
async getRowGridData() {
|
async getRowGridData() {
|
||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
// var res = await this.postApiReturn({
|
var res = await this.postApiReturn({
|
||||||
// apiKey: 'selectEqpmPop',
|
apiKey: 'selectEqpmPop',
|
||||||
// resKey: 'eqpmPopData',
|
resKey: 'eqpmPopData',
|
||||||
// sendParam: {
|
sendParam: {
|
||||||
// fabId:this.selectValue02,
|
fabId: this.selectValue02,
|
||||||
// eqpmGrpId:this.selectValue01,
|
eqpmGrpId: this.selectValue01,
|
||||||
// searchWord:this.searchWord,
|
searchWord: this.searchWord,
|
||||||
// eqpmKindId:this.myBindingData.eqpmKindId,
|
eqpmKindId: this.myBindingData.eqpmKindId,
|
||||||
// },
|
},
|
||||||
// });
|
});
|
||||||
// const dayjs = require('dayjs');
|
// const dayjs = require('dayjs');
|
||||||
// var newRes = res.map(item=>
|
// var newRes = res.map(item=>
|
||||||
// item = {
|
// item = {
|
||||||
@ -477,33 +477,33 @@ export default {
|
|||||||
// totDttmTime : Utility.setFormatDate(item.totDttm, 'HH') + "~" + dayjs(item.totDttm).add(1,'h').format('HH')
|
// totDttmTime : Utility.setFormatDate(item.totDttm, 'HH') + "~" + dayjs(item.totDttm).add(1,'h').format('HH')
|
||||||
// }
|
// }
|
||||||
// );
|
// );
|
||||||
const res =
|
// const res =
|
||||||
[
|
// [
|
||||||
{
|
// {
|
||||||
"fabId": "FAB001",
|
// "fabId": "FAB001",
|
||||||
"fabNm": "Gumi FAB",
|
// "fabNm": "Gumi FAB",
|
||||||
"eqpmId": "EQ001",
|
// "eqpmId": "EQ001",
|
||||||
"eqpmNm": "Etcher A12",
|
// "eqpmNm": "Etcher A12",
|
||||||
"eccId": "ECC001",
|
// "eccId": "ECC001",
|
||||||
"eccNm": "Etch Control Center"
|
// "eccNm": "Etch Control Center"
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
"fabId": "FAB002",
|
// "fabId": "FAB002",
|
||||||
"fabNm": "Pyeongtaek FAB",
|
// "fabNm": "Pyeongtaek FAB",
|
||||||
"eqpmId": "EQ002",
|
// "eqpmId": "EQ002",
|
||||||
"eqpmNm": "Deposition B34",
|
// "eqpmNm": "Deposition B34",
|
||||||
"eccId": "ECC002",
|
// "eccId": "ECC002",
|
||||||
"eccNm": "Deposition Control Center"
|
// "eccNm": "Deposition Control Center"
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
"fabId": "FAB003",
|
// "fabId": "FAB003",
|
||||||
"fabNm": "Hwaseong FAB",
|
// "fabNm": "Hwaseong FAB",
|
||||||
"eqpmId": "EQ003",
|
// "eqpmId": "EQ003",
|
||||||
"eqpmNm": "CMP C56",
|
// "eqpmNm": "CMP C56",
|
||||||
"eccId": "ECC003",
|
// "eccId": "ECC003",
|
||||||
"eccNm": "CMP Control Center"
|
// "eccNm": "CMP Control Center"
|
||||||
}
|
// }
|
||||||
];
|
// ];
|
||||||
this.setModalGridData({
|
this.setModalGridData({
|
||||||
modalKey: this.myModalKey,
|
modalKey: this.myModalKey,
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
|
@ -1,268 +1,195 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<!-- <v-btn :ripple="false" @click="dialog = !dialog">경고창</v-btn> -->
|
<!-- <v-btn :ripple="false" @click="dialog = !dialog">경고창</v-btn> -->
|
||||||
<v-dialog
|
<v-dialog v-model="dialog" width="800" overlay-color="#000" overlay-opacity="0.8">
|
||||||
v-model="dialog"
|
|
||||||
width="700"
|
|
||||||
overlay-color="#000"
|
|
||||||
overlay-opacity="0.8"
|
|
||||||
>
|
|
||||||
<v-card>
|
<v-card>
|
||||||
<v-toolbar
|
<v-card-title class="px-6 py-4 d-flex align-center justify-space-between">
|
||||||
|
<span class="custom-title-4">{{ label }}</span>
|
||||||
|
<a-button icon="close" type="text" @click="dialog = !dialog"></a-button>
|
||||||
|
</v-card-title>
|
||||||
|
<!-- <v-toolbar
|
||||||
:color="isDarkMode ? '#2d3355' : '#3f4d7d'"
|
:color="isDarkMode ? '#2d3355' : '#3f4d7d'"
|
||||||
class="py-4 pr-3 pl-5"
|
class="py-4 pr-3 pl-5"
|
||||||
height="auto"
|
height="auto"
|
||||||
>
|
>
|
||||||
<v-toolbar-title>{{ label }}</v-toolbar-title>
|
<v-toolbar-title>{{ label }}</v-toolbar-title>
|
||||||
<!-- <v-btn
|
</v-toolbar> -->
|
||||||
icon
|
|
||||||
tile
|
|
||||||
small
|
|
||||||
:ripple="false"
|
|
||||||
@click="dialog = !dialog"
|
|
||||||
:style="{ backgroundColor: isDarkMode ? '#2d3355' : '#3f4d7d' }"
|
|
||||||
>
|
|
||||||
<v-icon>mdi-close</v-icon>
|
|
||||||
</v-btn> -->
|
|
||||||
</v-toolbar>
|
|
||||||
<!-- <v-card-title>
|
<!-- <v-card-title>
|
||||||
일정 상세 내용
|
일정 상세 내용
|
||||||
</v-card-title> -->
|
</v-card-title> -->
|
||||||
<!-- <template v-for="(item, index) in detailList"> -->
|
<!-- <template v-for="(item, index) in detailList"> -->
|
||||||
<template>
|
<template>
|
||||||
<div style="padding : 20px">
|
<div class="pa-6 pt-0">
|
||||||
<v-col :cols="12">
|
<v-row no-gutters class="mb-4">
|
||||||
<v-row>
|
<v-col :cols="12">
|
||||||
<v-col :cols="3">
|
<label class="search-box-label">
|
||||||
<v-row class="search-box" align="center" no-gutters>
|
<v-icon small :class="['mr-1', 'icon-orange']">$icoBulletPoint</v-icon>
|
||||||
<label class="search-box-label">
|
일정 시작
|
||||||
<v-icon x-small color="#fb8200" class="mr-1"
|
</label>
|
||||||
>mdi-record-circle</v-icon
|
</v-col>
|
||||||
>
|
<v-col :cols="6" class="py-0 pr-2">
|
||||||
일정 시작
|
<!-- <DatePicker v-model="strtDt" :parentPrgmId="parentPrgmId"/> -->
|
||||||
</label>
|
<div class="startpicker-container2">
|
||||||
</v-row>
|
<v-text-field id="startpicker2" ref="startpicker2" v-model="strtDt"
|
||||||
</v-col>
|
:class="'v-input__custom'" :hide-details="true" readonly outlined>
|
||||||
<v-col :cols="4">
|
<template #append>
|
||||||
<!-- <DatePicker v-model="strtDt" :parentPrgmId="parentPrgmId"/> -->
|
<v-icon size="20">$icoCalendar</v-icon>
|
||||||
<div class="startpicker-container2">
|
</template>
|
||||||
<v-text-field
|
<template #append-outer>
|
||||||
id="startpicker2"
|
<div ref="startpicker-container2" id="startpicker-container2"></div>
|
||||||
ref="startpicker2"
|
</template>
|
||||||
v-model="strtDt"
|
</v-text-field>
|
||||||
:class="'v-input__custom'"
|
</div>
|
||||||
:hide-details="true"
|
</v-col>
|
||||||
readonly
|
<v-col :cols="6" class="py-0 pl-2">
|
||||||
outlined
|
<!-- <DatePicker v-model="strtDt" :parentPrgmId="parentPrgmId"/> -->
|
||||||
>
|
<div class="startpicker-container2">
|
||||||
<template #append>
|
<v-text-field id="startpicker2" ref="startpicker2" v-model="strtDt"
|
||||||
<v-icon size="20">$icoCalendar</v-icon>
|
:class="'v-input__custom'" :hide-details="true" readonly outlined>
|
||||||
</template>
|
<template #append>
|
||||||
<template #append-outer>
|
<v-icon size="20">$icoCalendar</v-icon>
|
||||||
<div
|
</template>
|
||||||
ref="startpicker-container2"
|
<template #append-outer>
|
||||||
id="startpicker-container2"
|
<div ref="startpicker-container2" id="startpicker-container2"></div>
|
||||||
></div>
|
</template>
|
||||||
</template>
|
</v-text-field>
|
||||||
</v-text-field>
|
</div>
|
||||||
|
</v-col>
|
||||||
|
<!-- <v-col :cols="2">
|
||||||
|
<vue-numeric-input v-model="strtHh" :min="0" :max="23" controls-type="updown"
|
||||||
|
class="v-input__slot" width="100%" align="center">
|
||||||
|
</vue-numeric-input>
|
||||||
|
</v-col>
|
||||||
|
<v-col :cols="1" style="text-align: center;">
|
||||||
|
:
|
||||||
|
</v-col>
|
||||||
|
<v-col :cols="2">
|
||||||
|
<vue-numeric-input v-model="strtMm" :min="0" :max="59" controls-type="updown"
|
||||||
|
class="v-input__slot" width="100%" align="center">
|
||||||
|
</vue-numeric-input>
|
||||||
|
</v-col> -->
|
||||||
|
</v-row>
|
||||||
|
<v-row no-gutters class="mb-4">
|
||||||
|
<v-col :cols="12">
|
||||||
|
<label class="search-box-label">
|
||||||
|
<v-icon small :class="['mr-1', 'icon-orange']">$icoBulletPoint</v-icon>
|
||||||
|
일정 종료
|
||||||
|
</label>
|
||||||
|
</v-col>
|
||||||
|
<v-col :cols="6" class="pr-2">
|
||||||
|
<!-- <DatePicker v-model="endDt" :parentPrgmId="parentPrgmId"/> -->
|
||||||
|
<div class="startpicker-container3">
|
||||||
|
<v-text-field id="startpicker3" ref="startpicker3" v-model="endDt"
|
||||||
|
:class="'v-input__custom'" :hide-details="true" readonly outlined>
|
||||||
|
<template #append>
|
||||||
|
<v-icon size="20">$icoCalendar</v-icon>
|
||||||
|
</template>
|
||||||
|
<template #append-outer>
|
||||||
|
<div ref="startpicker-container3" id="startpicker-container3"></div>
|
||||||
|
</template>
|
||||||
|
</v-text-field>
|
||||||
|
</div>
|
||||||
|
</v-col>
|
||||||
|
<v-col :cols="6" class="pl-2">
|
||||||
|
<div class="startpicker-container3">
|
||||||
|
<v-text-field id="startpicker3" ref="startpicker3" v-model="endDt"
|
||||||
|
:class="'v-input__custom'" :hide-details="true" readonly outlined>
|
||||||
|
<template #append>
|
||||||
|
<v-icon size="20">$icoCalendar</v-icon>
|
||||||
|
</template>
|
||||||
|
<template #append-outer>
|
||||||
|
<div ref="startpicker-container3" id="startpicker-container3"></div>
|
||||||
|
</template>
|
||||||
|
</v-text-field>
|
||||||
|
</div>
|
||||||
|
</v-col>
|
||||||
|
<!-- <v-col :cols="2">
|
||||||
|
<vue-numeric-input v-model="endHh" :min="0" :max="23" controls-type="updown"
|
||||||
|
class="v-input__slot" width="100%" align="center">
|
||||||
|
</vue-numeric-input>
|
||||||
|
</v-col>
|
||||||
|
<v-col :cols="1" style="text-align: center;">
|
||||||
|
:
|
||||||
|
</v-col>
|
||||||
|
<v-col :cols="2">
|
||||||
|
<vue-numeric-input v-model="endMm" :min="0" :max="59" controls-type="updown"
|
||||||
|
class="v-input__slot" width="100%" align="center">
|
||||||
|
</vue-numeric-input>
|
||||||
|
</v-col> -->
|
||||||
|
</v-row>
|
||||||
|
<v-row no-gutters class="mb-4">
|
||||||
|
<v-col :cols="12">
|
||||||
|
<label class="search-box-label">
|
||||||
|
<v-icon small :class="['mr-1', 'icon-orange']">$icoBulletPoint</v-icon>
|
||||||
|
일정 제목
|
||||||
|
</label>
|
||||||
|
</v-col>
|
||||||
|
<v-col :cols="12" class="py-0">
|
||||||
|
<v-text-field v-model="planTitle" class="v-input__custom" outlined
|
||||||
|
:hide-details="true"></v-text-field>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
<v-row no-gutters class="mb-4">
|
||||||
|
<v-col :cols="12">
|
||||||
|
<label class="search-box-label">
|
||||||
|
<v-icon small :class="['mr-1', 'icon-orange']">$icoBulletPoint</v-icon>
|
||||||
|
일정 상세 내용
|
||||||
|
</label>
|
||||||
|
</v-col>
|
||||||
|
<v-col :cols="12" class="py-0">
|
||||||
|
<v-textarea v-model="planCntn" class="v-input__custom" outlined :hide-details="true"
|
||||||
|
:maxlength="1000"></v-textarea>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
<v-row no-gutters class="mb-4">
|
||||||
|
<v-col :cols="12">
|
||||||
|
<label class="search-box-label">
|
||||||
|
<v-icon small :class="['mr-1', 'icon-orange']">$icoBulletPoint</v-icon>
|
||||||
|
표시 색상
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</v-col>
|
||||||
|
<v-col :cols="6">
|
||||||
|
<div class="d-flex calendar-color" style="gap:16px">
|
||||||
|
|
||||||
|
<div id="redDiv" class="colPk redBg" @click="colorClick('red')">
|
||||||
|
<div class="inner-color"></div>
|
||||||
</div>
|
</div>
|
||||||
</v-col>
|
|
||||||
<v-col :cols="2">
|
<div id="blueDiv" class="colPk blueBg" @click="colorClick('blue')">
|
||||||
<vue-numeric-input
|
<div class="inner-color"></div>
|
||||||
v-model="strtHh"
|
|
||||||
:min="0"
|
|
||||||
:max="23"
|
|
||||||
controls-type="updown"
|
|
||||||
class="v-input__slot"
|
|
||||||
width="100%"
|
|
||||||
align="center"
|
|
||||||
>
|
|
||||||
</vue-numeric-input>
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="1" style="text-align: center;">
|
|
||||||
:
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="2">
|
|
||||||
<vue-numeric-input
|
|
||||||
v-model="strtMm"
|
|
||||||
:min="0"
|
|
||||||
:max="59"
|
|
||||||
controls-type="updown"
|
|
||||||
class="v-input__slot"
|
|
||||||
width="100%"
|
|
||||||
align="center"
|
|
||||||
>
|
|
||||||
</vue-numeric-input>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
<v-row>
|
|
||||||
<v-col :cols="3">
|
|
||||||
<v-row class="search-box" align="center" no-gutters>
|
|
||||||
<label class="search-box-label">
|
|
||||||
<v-icon x-small color="#fb8200" class="mr-1"
|
|
||||||
>mdi-record-circle</v-icon
|
|
||||||
>
|
|
||||||
일정 종료
|
|
||||||
</label>
|
|
||||||
</v-row>
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="4">
|
|
||||||
<!-- <DatePicker v-model="endDt" :parentPrgmId="parentPrgmId"/> -->
|
|
||||||
<div class="startpicker-container3">
|
|
||||||
<v-text-field
|
|
||||||
id="startpicker3"
|
|
||||||
ref="startpicker3"
|
|
||||||
v-model="endDt"
|
|
||||||
:class="'v-input__custom'"
|
|
||||||
:hide-details="true"
|
|
||||||
readonly
|
|
||||||
outlined
|
|
||||||
>
|
|
||||||
<template #append>
|
|
||||||
<v-icon size="20">$icoCalendar</v-icon>
|
|
||||||
</template>
|
|
||||||
<template #append-outer>
|
|
||||||
<div
|
|
||||||
ref="startpicker-container3"
|
|
||||||
id="startpicker-container3"
|
|
||||||
></div>
|
|
||||||
</template>
|
|
||||||
</v-text-field>
|
|
||||||
</div>
|
</div>
|
||||||
</v-col>
|
|
||||||
<v-col :cols="2">
|
|
||||||
<vue-numeric-input
|
<div id="pupleDiv" class="colPk pupleBg" @click="colorClick('puple')">
|
||||||
v-model="endHh"
|
<div class="inner-color"></div>
|
||||||
:min="0"
|
</div>
|
||||||
:max="23"
|
|
||||||
controls-type="updown"
|
|
||||||
class="v-input__slot"
|
<div id="greenDiv" class="colPk greenBg" @click="colorClick('green')">
|
||||||
width="100%"
|
<div class="inner-color"></div>
|
||||||
align="center"
|
</div>
|
||||||
>
|
|
||||||
</vue-numeric-input>
|
|
||||||
</v-col>
|
<div id="orangeDiv" class="colPk orangeBg" @click="colorClick('orange')">
|
||||||
<v-col :cols="1" style="text-align: center;">
|
<div class="inner-color"></div>
|
||||||
:
|
</div>
|
||||||
</v-col>
|
|
||||||
<v-col :cols="2">
|
|
||||||
<vue-numeric-input
|
<div id="pinkDiv" class="colPk pinkBg" @click="colorClick('pink')">
|
||||||
v-model="endMm"
|
<div class="inner-color"></div>
|
||||||
:min="0"
|
</div>
|
||||||
:max="59"
|
|
||||||
controls-type="updown"
|
</div>
|
||||||
class="v-input__slot"
|
</v-col>
|
||||||
width="100%"
|
</v-row>
|
||||||
align="center"
|
|
||||||
>
|
|
||||||
</vue-numeric-input>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
<v-row>
|
|
||||||
<v-col :cols="3">
|
|
||||||
<v-row class="search-box" align="center" no-gutters>
|
|
||||||
<label class="search-box-label">
|
|
||||||
<v-icon x-small color="#fb8200" class="mr-1"
|
|
||||||
>mdi-record-circle</v-icon
|
|
||||||
>
|
|
||||||
일정 제목
|
|
||||||
</label>
|
|
||||||
</v-row>
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="9">
|
|
||||||
<v-text-field
|
|
||||||
v-model="planTitle"
|
|
||||||
class="v-input__custom"
|
|
||||||
outlined
|
|
||||||
:hide-details="true"
|
|
||||||
></v-text-field>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
<v-row>
|
|
||||||
<v-col :cols="3">
|
|
||||||
<v-row class="search-box" align="center" no-gutters>
|
|
||||||
<label class="search-box-label">
|
|
||||||
<v-icon x-small color="#fb8200" class="mr-1"
|
|
||||||
>mdi-record-circle</v-icon
|
|
||||||
>
|
|
||||||
일정 상세 내용
|
|
||||||
</label>
|
|
||||||
</v-row>
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="9">
|
|
||||||
<v-textarea
|
|
||||||
v-model="planCntn"
|
|
||||||
class="v-input__custom"
|
|
||||||
outlined
|
|
||||||
:hide-details="true"
|
|
||||||
:maxlength="1000"
|
|
||||||
></v-textarea>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
<v-row>
|
|
||||||
<v-col :cols="3">
|
|
||||||
<v-row class="search-box" align="center" no-gutters>
|
|
||||||
<v-icon x-small color="#fb8200" class="mr-1"
|
|
||||||
>mdi-record-circle</v-icon
|
|
||||||
>
|
|
||||||
표시 색상
|
|
||||||
</v-row>
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="1">
|
|
||||||
<div
|
|
||||||
id="redDiv"
|
|
||||||
class="colPk redBg"
|
|
||||||
@click="colorClick('red')"
|
|
||||||
></div>
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="1">
|
|
||||||
<div
|
|
||||||
id="blueDiv"
|
|
||||||
class="colPk blueBg"
|
|
||||||
@click="colorClick('blue')"
|
|
||||||
></div>
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="1">
|
|
||||||
<div
|
|
||||||
id="pupleDiv"
|
|
||||||
class="colPk pupleBg"
|
|
||||||
@click="colorClick('puple')"
|
|
||||||
></div>
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="1">
|
|
||||||
<div
|
|
||||||
id="greenDiv"
|
|
||||||
class="colPk greenBg"
|
|
||||||
@click="colorClick('green')"
|
|
||||||
></div>
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="1">
|
|
||||||
<div
|
|
||||||
id="orangeDiv"
|
|
||||||
class="colPk orangeBg"
|
|
||||||
@click="colorClick('orange')"
|
|
||||||
></div>
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="1">
|
|
||||||
<div
|
|
||||||
id="pinkDiv"
|
|
||||||
class="colPk pinkBg"
|
|
||||||
@click="colorClick('pink')"
|
|
||||||
></div>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
</v-col>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<v-card-actions class="justify-end">
|
<v-card-actions class="justify-end">
|
||||||
<v-btn :ripple="false" @click="btnAction('save')">저장</v-btn>
|
<a-button :ripple="false" @click="btnAction('save')" class="mr-2">저장</a-button>
|
||||||
<v-btn
|
<a-button v-show="popUpAction === 'update'" type="danger" ghost danger :ripple="false"
|
||||||
v-show="popUpAction === 'update'"
|
@click="btnAction('delete')" class="mr-2">삭제</a-button>
|
||||||
:ripple="false"
|
<a-button :ripple="false" type="primary" @click="btnAction('close')" class="mr-2">닫기</a-button>
|
||||||
@click="btnAction('delete')"
|
|
||||||
>삭제</v-btn
|
|
||||||
>
|
|
||||||
<v-btn :ripple="false" @click="btnAction('close')">닫기</v-btn>
|
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-dialog>
|
</v-dialog>
|
||||||
@ -335,8 +262,8 @@ export default {
|
|||||||
strtMm: 0,
|
strtMm: 0,
|
||||||
endHh: 1,
|
endHh: 1,
|
||||||
endMm: 0,
|
endMm: 0,
|
||||||
strtDt:null,
|
strtDt: null,
|
||||||
endDt:null,
|
endDt: null,
|
||||||
// strtDt: new Date().toISOString().substr(0, 10),
|
// strtDt: new Date().toISOString().substr(0, 10),
|
||||||
// endDt: new Date().toISOString().substr(0, 10),
|
// endDt: new Date().toISOString().substr(0, 10),
|
||||||
planColor: '',
|
planColor: '',
|
||||||
@ -344,7 +271,7 @@ export default {
|
|||||||
startDatepickerInstance3: null,
|
startDatepickerInstance3: null,
|
||||||
planSeq: '',
|
planSeq: '',
|
||||||
blocId: '',
|
blocId: '',
|
||||||
addPlanData:{
|
addPlanData: {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -364,21 +291,21 @@ export default {
|
|||||||
if (val) {
|
if (val) {
|
||||||
this.openDialog();
|
this.openDialog();
|
||||||
|
|
||||||
this.$nextTick(() => {});
|
this.$nextTick(() => { });
|
||||||
} else {
|
} else {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
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));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -405,18 +332,18 @@ export default {
|
|||||||
postUpdateApi: 'modules/list/postUpdateApi',
|
postUpdateApi: 'modules/list/postUpdateApi',
|
||||||
getDomain: 'modules/list/getDomain',
|
getDomain: 'modules/list/getDomain',
|
||||||
}),
|
}),
|
||||||
async checkStrtAndEndDateTime(startEndFlag){
|
async checkStrtAndEndDateTime(startEndFlag) {
|
||||||
var startDateTime = this.strtDt + ' ' + this.strtHh + ':' + this.strtMm;
|
var startDateTime = this.strtDt + ' ' + this.strtHh + ':' + this.strtMm;
|
||||||
var endDateTime = this.endDt + ' ' + this.endHh + ':' + this.endMm;
|
var endDateTime = this.endDt + ' ' + this.endHh + ':' + this.endMm;
|
||||||
|
|
||||||
startDateTime = new Date(startDateTime);
|
startDateTime = new Date(startDateTime);
|
||||||
endDateTime = new Date(endDateTime);
|
endDateTime = new Date(endDateTime);
|
||||||
|
|
||||||
if(startDateTime > endDateTime){
|
if (startDateTime > endDateTime) {
|
||||||
if(startEndFlag == 'start'){ // 시작 부분이 변경됨 -> 끝 부분 값을 변경
|
if (startEndFlag == 'start') { // 시작 부분이 변경됨 -> 끝 부분 값을 변경
|
||||||
this.endDt = this.convertDateToString(new Date(new Date().setDate(new Date(this.strtDt).getDate() + 1)));
|
this.endDt = this.convertDateToString(new Date(new Date().setDate(new Date(this.strtDt).getDate() + 1)));
|
||||||
this.startDatepickerInstance3.setDate(new Date(this.endDt));
|
this.startDatepickerInstance3.setDate(new Date(this.endDt));
|
||||||
}else if(startEndFlag == 'end'){ // 끝 부분이 변경됨 -> 시작 부분 값을 변경
|
} else if (startEndFlag == 'end') { // 끝 부분이 변경됨 -> 시작 부분 값을 변경
|
||||||
this.strtDt = this.convertDateToString(new Date(new Date().setDate(new Date(this.endDt).getDate() - 1)));
|
this.strtDt = this.convertDateToString(new Date(new Date().setDate(new Date(this.endDt).getDate() - 1)));
|
||||||
this.startDatepickerInstance.setDate(new Date(this.strtDt));
|
this.startDatepickerInstance.setDate(new Date(this.strtDt));
|
||||||
}
|
}
|
||||||
@ -432,17 +359,17 @@ export default {
|
|||||||
var dt1 = new Date();
|
var dt1 = new Date();
|
||||||
var dt2 = new Date();
|
var dt2 = new Date();
|
||||||
|
|
||||||
if(this.strtDt){
|
if (this.strtDt) {
|
||||||
dt1 = this.strtDt;
|
dt1 = this.strtDt;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.endDt){
|
if (this.endDt) {
|
||||||
dt2 = this.endDt;
|
dt2 = this.endDt;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.startDatepickerInstance = new TuiDatepicker(startContainer, {
|
this.startDatepickerInstance = new TuiDatepicker(startContainer, {
|
||||||
// date: new Date(),
|
// date: new Date(),
|
||||||
date : dt1,
|
date: dt1,
|
||||||
language: 'ko',
|
language: 'ko',
|
||||||
type: 'date',
|
type: 'date',
|
||||||
input: {
|
input: {
|
||||||
@ -455,7 +382,7 @@ export default {
|
|||||||
|
|
||||||
this.startDatepickerInstance3 = new TuiDatepicker(startContainer3, {
|
this.startDatepickerInstance3 = new TuiDatepicker(startContainer3, {
|
||||||
// date: new Date(),
|
// date: new Date(),
|
||||||
date : dt2,
|
date: dt2,
|
||||||
language: 'ko',
|
language: 'ko',
|
||||||
type: 'date',
|
type: 'date',
|
||||||
input: {
|
input: {
|
||||||
@ -492,8 +419,8 @@ export default {
|
|||||||
this.endDt = this.convertDateToString(dt);
|
this.endDt = this.convertDateToString(dt);
|
||||||
this.startDatepickerInstance3.setDate(new Date(this.endDt));
|
this.startDatepickerInstance3.setDate(new Date(this.endDt));
|
||||||
},
|
},
|
||||||
convertDateToString(dt){
|
convertDateToString(dt) {
|
||||||
return dt.getFullYear() + '-' + String(dt.getMonth()+1).padStart(2, '0') + '-' + String(dt.getDate()).padStart(2, '0');
|
return dt.getFullYear() + '-' + String(dt.getMonth() + 1).padStart(2, '0') + '-' + String(dt.getDate()).padStart(2, '0');
|
||||||
},
|
},
|
||||||
convertStringToDateFormat(val) {
|
convertStringToDateFormat(val) {
|
||||||
var result = '';
|
var result = '';
|
||||||
@ -526,7 +453,7 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
async insertPlanData(){
|
async insertPlanData() {
|
||||||
var year = this.addPlanData.year;
|
var year = this.addPlanData.year;
|
||||||
var month = this.addPlanData.month;
|
var month = this.addPlanData.month;
|
||||||
var day = this.addPlanData.day;
|
var day = this.addPlanData.day;
|
||||||
@ -562,8 +489,8 @@ export default {
|
|||||||
// this.strtDt = Utility.setFormatDate(this.strtDt, 'YYYY-MM-DD');
|
// this.strtDt = Utility.setFormatDate(this.strtDt, 'YYYY-MM-DD');
|
||||||
// this.endDt = Utility.setFormatDate(this.endDt, 'YYYY-MM-DD');
|
// this.endDt = Utility.setFormatDate(this.endDt, 'YYYY-MM-DD');
|
||||||
|
|
||||||
this.strtDt = year + '-' + String(month).padStart(2, '0') + '-' + String(day).padStart(2, '0');
|
this.strtDt = year + '-' + String(month).padStart(2, '0') + '-' + String(day).padStart(2, '0');
|
||||||
this.endDt = year + '-' + String(month).padStart(2, '0') + '-' + String(day).padStart(2, '0');
|
this.endDt = year + '-' + String(month).padStart(2, '0') + '-' + String(day).padStart(2, '0');
|
||||||
},
|
},
|
||||||
async getPlanData() {
|
async getPlanData() {
|
||||||
let res = await this.postApiReturn({
|
let res = await this.postApiReturn({
|
||||||
@ -786,100 +713,116 @@ export default {
|
|||||||
.v-card__actions {
|
.v-card__actions {
|
||||||
padding-bottom: 30px !important;
|
padding-bottom: 30px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.inner-color {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
.colPk {
|
.colPk {
|
||||||
width: 25px;
|
width: 28px;
|
||||||
height: 25px;
|
height: 28px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-radius: 5px 5px;
|
border-radius: 6px 6px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
padding: 4px
|
||||||
}
|
}
|
||||||
|
|
||||||
.colPkSelect {
|
.colPkSelect {
|
||||||
border: 2px solid;
|
border: 1px solid #00000073;
|
||||||
}
|
}
|
||||||
.redBg {
|
|
||||||
|
.redBg .inner-color {
|
||||||
background-color: rgba(229, 62, 62, var(--bg-opacity));
|
background-color: rgba(229, 62, 62, var(--bg-opacity));
|
||||||
background-color: #e53e3e;
|
background-color: #FF4D4F;
|
||||||
}
|
}
|
||||||
.blueBg {
|
|
||||||
|
.blueBg .inner-color {
|
||||||
background-color: rgba(66, 153, 225, var(--bg-opacity));
|
background-color: rgba(66, 153, 225, var(--bg-opacity));
|
||||||
background-color: #4299e1;
|
background-color: #597EF7;
|
||||||
}
|
}
|
||||||
.pupleBg {
|
|
||||||
|
.pupleBg .inner-color {
|
||||||
background-color: rgba(102, 126, 234, var(--bg-opacity));
|
background-color: rgba(102, 126, 234, var(--bg-opacity));
|
||||||
background-color: #667eea;
|
background-color: #9254DE;
|
||||||
}
|
}
|
||||||
.greenBg {
|
|
||||||
|
.greenBg .inner-color {
|
||||||
background-color: rgba(56, 178, 172, var(--bg-opacity));
|
background-color: rgba(56, 178, 172, var(--bg-opacity));
|
||||||
background-color: #38b2ac;
|
background-color: #73D13D;
|
||||||
}
|
}
|
||||||
.orangeBg {
|
|
||||||
|
.orangeBg .inner-color {
|
||||||
background-color: rgba(237, 137, 54, var(--bg-opacity));
|
background-color: rgba(237, 137, 54, var(--bg-opacity));
|
||||||
background-color: #ed8936;
|
background-color: #FFA940;
|
||||||
}
|
}
|
||||||
.pinkBg {
|
|
||||||
|
.pinkBg .inner-color {
|
||||||
background-color: rgba(237, 100, 166, var(--bg-opacity));
|
background-color: rgba(237, 100, 166, var(--bg-opacity));
|
||||||
background-color: #ed64a6;
|
background-color: #F759AB;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.startpicker-container2 {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
.v-input {
|
|
||||||
.v-input__append-outer {
|
|
||||||
margin-top: 0;
|
|
||||||
margin-left: 0;
|
|
||||||
|
|
||||||
#startpicker-container2,
|
|
||||||
#endpicker-container2 {
|
|
||||||
width: 100%;
|
|
||||||
position: absolute;
|
|
||||||
top: 36px;
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.startpicker-container3 {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
.v-input {
|
|
||||||
.v-input__append-outer {
|
|
||||||
margin-top: 0;
|
|
||||||
margin-left: 0;
|
|
||||||
|
|
||||||
#startpicker-container3,
|
|
||||||
#endpicker-container3 {
|
|
||||||
width: 100%;
|
|
||||||
position: absolute;
|
|
||||||
top: 36px;
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.v-input__custom {
|
.v-input__custom {
|
||||||
flex: 0 0 auto;
|
|
||||||
|
|
||||||
&.half {
|
&.half {
|
||||||
width: calc(50% - 20px);
|
width: calc(50% - 20px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep {
|
::v-deep {
|
||||||
.tui-timepicker-row {
|
.tui-timepicker-row {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
background-color: #edf4fc;
|
background-color: #edf4fc;
|
||||||
|
|
||||||
.tui-timepicker-column.tui-timepicker-colon {
|
.tui-timepicker-column.tui-timepicker-colon {
|
||||||
color: #000 !important;
|
color: #000 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.startpicker-container2 {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.v-input {
|
||||||
|
.v-input__append-outer {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-left: 0;
|
||||||
|
|
||||||
|
#startpicker-container2,
|
||||||
|
#endpicker-container2 {
|
||||||
|
width: 100%;
|
||||||
|
position: absolute;
|
||||||
|
top: 36px;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.startpicker-container3 {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.v-input {
|
||||||
|
.v-input__append-outer {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-left: 0;
|
||||||
|
|
||||||
|
#startpicker-container3,
|
||||||
|
#endpicker-container3 {
|
||||||
|
width: 100%;
|
||||||
|
position: absolute;
|
||||||
|
top: 36px;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<v-row>
|
<v-row class="mt-3">
|
||||||
<v-col :cols="6" class="py-2 pr-4">
|
<v-col :cols="6" class="py-2 pr-4">
|
||||||
<InputText ref="effcIdxId" :parentPrgmId="parentPrgmId" label="효율지표 ID" valueNm="effcIdxId"
|
<InputText ref="effcIdxId" :parentPrgmId="parentPrgmId" label="효율지표 ID" valueNm="effcIdxId"
|
||||||
:required="false" :readonly="true" :textCols="12" :labelCols="12" />
|
:required="false" :readonly="true" :textCols="12" :labelCols="12" />
|
||||||
@ -15,7 +15,7 @@
|
|||||||
@update:propsValue="selectValue01 = $event" />
|
@update:propsValue="selectValue01 = $event" />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<div class="d-flex align-center justify-space-between pa-5">
|
<div class="d-flex align-center justify-space-between pt-3 py-2">
|
||||||
<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="parentPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
<Buttons :parentPrgmId="parentPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
||||||
<component v-show="false" ref="EgrpPysclQtyPop" :is="'EgrpPysclQtyPop'" :parentPrgmId="parentPrgmId"
|
<component v-show="false" ref="EgrpPysclQtyPop" :is="'EgrpPysclQtyPop'" :parentPrgmId="parentPrgmId"
|
||||||
@ -27,7 +27,7 @@
|
|||||||
<div ref="gridParent" style="height: calc(35vh);">
|
<div ref="gridParent" style="height: calc(35vh);">
|
||||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
||||||
:parentPrgmId="parentPrgmId" @getRowsData="getRowData" :innerTabGridInfo="innerTabGridInfo"
|
:parentPrgmId="parentPrgmId" @getRowsData="getRowData" :innerTabGridInfo="innerTabGridInfo"
|
||||||
:dataPath="sampleDataPath" />
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -67,58 +67,57 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
gridName: 'effcInfoGrid',
|
gridName: 'effcInfoGrid',
|
||||||
sampleDataPath: {
|
// "effcInfoGrid": {
|
||||||
"effcInfoGrid": {
|
// data:
|
||||||
data:
|
// [
|
||||||
[
|
// {
|
||||||
{
|
// "eqpmKindId": "펌프",
|
||||||
"eqpmKindId": "펌프",
|
// "eqpmGrpId": "냉각수 시스템",
|
||||||
"eqpmGrpId": "냉각수 시스템",
|
// "totMethNm": "평균값"
|
||||||
"totMethNm": "평균값"
|
// },
|
||||||
},
|
// {
|
||||||
{
|
// "eqpmKindId": "모터",
|
||||||
"eqpmKindId": "모터",
|
// "eqpmGrpId": "공기압 시스템",
|
||||||
"eqpmGrpId": "공기압 시스템",
|
// "totMethNm": "최대값"
|
||||||
"totMethNm": "최대값"
|
// },
|
||||||
},
|
// {
|
||||||
{
|
// "eqpmKindId": "밸브",
|
||||||
"eqpmKindId": "밸브",
|
// "eqpmGrpId": "스팀 공급",
|
||||||
"eqpmGrpId": "스팀 공급",
|
// "totMethNm": "합계"
|
||||||
"totMethNm": "합계"
|
// },
|
||||||
},
|
// {
|
||||||
{
|
// "eqpmKindId": "센서",
|
||||||
"eqpmKindId": "센서",
|
// "eqpmGrpId": "온도 제어",
|
||||||
"eqpmGrpId": "온도 제어",
|
// "totMethNm": "최소값"
|
||||||
"totMethNm": "최소값"
|
// },
|
||||||
},
|
// {
|
||||||
{
|
// "eqpmKindId": "컴프레서",
|
||||||
"eqpmKindId": "컴프레서",
|
// "eqpmGrpId": "에어 시스템",
|
||||||
"eqpmGrpId": "에어 시스템",
|
// "totMethNm": "중앙값"
|
||||||
"totMethNm": "중앙값"
|
// }
|
||||||
}
|
// ]
|
||||||
]
|
|
||||||
|
|
||||||
,
|
// ,
|
||||||
column: [
|
// column: [
|
||||||
|
|
||||||
{
|
// {
|
||||||
header: '대상설비종류',
|
// header: '대상설비종류',
|
||||||
name: 'eqpmKindId',
|
// name: 'eqpmKindId',
|
||||||
|
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
header: '대상설비그룹',
|
// header: '대상설비그룹',
|
||||||
name: 'eqpmGrpId',
|
// name: 'eqpmGrpId',
|
||||||
},
|
// },
|
||||||
|
|
||||||
{ header: '집계방법', name: 'totMethNm', align: 'center' },
|
// { header: '집계방법', name: 'totMethNm', align: 'center' },
|
||||||
|
|
||||||
]
|
// ]
|
||||||
|
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
itemList: [],
|
itemList: [],
|
||||||
tagTpList: [],
|
tagTpList: [],
|
||||||
// detailList: myDetail,
|
// detailList: myDetail,
|
||||||
|
@ -444,80 +444,71 @@ export default {
|
|||||||
activeTree: {
|
activeTree: {
|
||||||
deep: true,
|
deep: true,
|
||||||
handler(newVal, oldVal) {
|
handler(newVal, oldVal) {
|
||||||
var _this = this;
|
var _this = this;
|
||||||
const nv = newVal[0];
|
const nv = newVal[0];
|
||||||
const ov = oldVal[0];
|
const ov = oldVal[0];
|
||||||
if (nv !== ov) {
|
if (nv !== ov) {
|
||||||
if (!nv) {
|
if (!nv) {
|
||||||
// 중복클릭 시 발생 상황 기존 값을 다시 넣어줌
|
// 중복클릭 시 발생 상황 기존 값을 다시 넣어줌
|
||||||
this.activeTree.push(ov);
|
this.activeTree.push(ov);
|
||||||
} else {
|
} else {
|
||||||
this.myPrgmId = nv;
|
this.myPrgmId = nv;
|
||||||
console.log("menu:", this.menuData);
|
if (this.menuData[nv].url) {
|
||||||
if (this.menuData[nv].url) {
|
const menuUrl = this.menuData[nv].url;
|
||||||
const menuUrl = this.menuData[nv].url;
|
const menuId = this.menuData[nv].menuId;
|
||||||
const menuId = this.menuData[nv].menuId;
|
|
||||||
|
|
||||||
const isCommMenu = menuUrl.indexOf("comm/");
|
const isCommMenu = menuUrl.indexOf('comm/');
|
||||||
const isEmsMenu = menuUrl.indexOf("ems/");
|
const isEmsMenu = menuUrl.indexOf('ems/');
|
||||||
const isCmmsMenu = menuUrl.indexOf("cmms/");
|
const isCmmsMenu = menuUrl.indexOf('cmms/');
|
||||||
|
|
||||||
// console.log('activeTree...');
|
// console.log('activeTree...');
|
||||||
console.log(isEmsMenu);
|
|
||||||
|
|
||||||
if (isCommMenu > -1 || isEmsMenu > -1 || isCmmsMenu > -1) {
|
if (isCommMenu > -1 || isEmsMenu > -1 || isCmmsMenu > -1) {
|
||||||
// console.log('activeTree if stmt1');
|
// console.log('activeTree if stmt1');
|
||||||
// console.log('this.isLoading : ', this.isLoading);
|
// console.log('this.isLoading : ', this.isLoading);
|
||||||
// if(this.isLoading == true){
|
// if(this.isLoading == true){
|
||||||
// console.log('if isLoading stmt1');
|
// console.log('if isLoading stmt1');
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
console.log("this:", this.menuData[nv].url);
|
this.$router.push({
|
||||||
|
path: `${this.menuData[nv].url}?prgmId=${nv}`,
|
||||||
this.$router.push({
|
});
|
||||||
path: `/${this.menuData[nv].url}?prgmId=${nv}`,
|
// this.$router.beforeEach((to, from, next) => {
|
||||||
});
|
// if(_this.isLoading == true){
|
||||||
// this.$router.replace("/").then(() => {
|
// next(false);
|
||||||
// alert("hihi");
|
// }
|
||||||
// this.$router.push({
|
// if (!to.matched.length) {
|
||||||
// path: `${this.menuData[nv].url}?prgmId=${nv}`,
|
// next(false);
|
||||||
// });
|
// } else {
|
||||||
// });
|
// next();
|
||||||
|
// }
|
||||||
// this.$router.beforeEach((to, from, next) => {
|
// });
|
||||||
// if(_this.isLoading == true){
|
var tmp = 0;
|
||||||
// next(false);
|
for (var i = 0; i < this.myMenuList.length; i++) {
|
||||||
// }
|
if (this.myMenuList[i].menuId == menuId) {
|
||||||
// if (!to.matched.length) {
|
tmp = 1;
|
||||||
// next(false);
|
}
|
||||||
// } else {
|
}
|
||||||
// next();
|
this.bookmarkBtn = tmp;
|
||||||
// }
|
} else {
|
||||||
// });
|
// console.log('activeTree if stmt2');
|
||||||
var tmp = 0;
|
// console.log('this.isLoading : ', this.isLoading);
|
||||||
for (var i = 0; i < this.myMenuList.length; i++) {
|
// if(this.isLoading == true){
|
||||||
if (this.myMenuList[i].menuId == menuId) {
|
// console.log('if isLoading stmt2');
|
||||||
tmp = 1;
|
// return;
|
||||||
}
|
// }
|
||||||
}
|
this.$refs.routerTab.openIframe(
|
||||||
this.bookmarkBtn = tmp;
|
encodeURI(
|
||||||
} else {
|
`http://localhost:9999${this.menuData[nv].url}?prgmId=${nv}`,
|
||||||
// console.log('activeTree if stmt2');
|
),
|
||||||
// console.log('this.isLoading : ', this.isLoading);
|
this.menuData[nv].menuNm,
|
||||||
// if(this.isLoading == true){
|
);
|
||||||
// console.log('if isLoading stmt2');
|
}
|
||||||
// return;
|
this.$axios.get(`${this.menuData[nv].url}?$menuId=${menuId}`);
|
||||||
// }
|
} else alert('지정된 페이지 경로가 없습니다.');
|
||||||
this.$refs.routerTab.openIframe(
|
}
|
||||||
encodeURI(`http://localhost:9999${this.menuData[nv].url}?prgmId=${nv}`),
|
}
|
||||||
this.menuData[nv].menuNm
|
},
|
||||||
);
|
|
||||||
}
|
|
||||||
this.$axios.get(`${this.menuData[nv].url}?$menuId=${menuId}`);
|
|
||||||
} else alert("지정된 페이지 경로가 없습니다.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
menuData: {
|
menuData: {
|
||||||
deep: true,
|
deep: true,
|
||||||
|
@ -2,7 +2,8 @@ import $cookie from 'vue-cookie';
|
|||||||
|
|
||||||
export default async function({ store, route, redirect }) {
|
export default async function({ store, route, redirect }) {
|
||||||
// const menuId = route.query.menuId;
|
// const menuId = route.query.menuId;
|
||||||
const FEMS_SESSION = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxMjM0NTYiLCJyb2xlIjoiYWRtaW4ifQ.sflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
|
// const FEMS_SESSION = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxMjM0NTYiLCJyb2xlIjoiYWRtaW4ifQ.sflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
|
||||||
|
const FEMS_SESSION = $cookie.get('FEMS_SESSION');
|
||||||
if (!FEMS_SESSION) {
|
if (!FEMS_SESSION) {
|
||||||
if (route.name !== 'login') redirect('/login');
|
if (route.name !== 'login') redirect('/login');
|
||||||
} else {
|
} else {
|
||||||
|
@ -61,15 +61,15 @@ module.exports = {
|
|||||||
styleResources: {
|
styleResources: {
|
||||||
scss: ['./assets/scss/*.scss'],
|
scss: ['./assets/scss/*.scss'],
|
||||||
},
|
},
|
||||||
// proxy: {
|
proxy: {
|
||||||
// "/api/": {
|
"/api/": {
|
||||||
// target: "http://0.0.0.0:9999/",
|
target: "http://0.0.0.0:9999/",
|
||||||
// //target: "http://192.168.0.152:8082/",
|
//target: "http://192.168.0.152:8082/",
|
||||||
// pathRewrite: {
|
pathRewrite: {
|
||||||
// "^/api/": ""
|
"^/api/": ""
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// },
|
},
|
||||||
axios: {
|
axios: {
|
||||||
//baseURL: "http://dotest.kfems.kr:9997",
|
//baseURL: "http://dotest.kfems.kr:9997",
|
||||||
proxy: true,
|
proxy: true,
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
</v-row>
|
</v-row>
|
||||||
|
|
||||||
<v-row ref="contents" class="mt-4">
|
<v-row ref="contents" class="mt-4">
|
||||||
<v-col :cols="6" class="h100">
|
<v-col :cols="6" class="h100 pr-2">
|
||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<div class="d-flex align-center justify-space-between pa-4">
|
<div class="d-flex align-center justify-space-between pa-4">
|
||||||
<v-card-title class="pa-0">메뉴 리스트</v-card-title>
|
<v-card-title class="pa-0">메뉴 리스트</v-card-title>
|
||||||
@ -39,7 +39,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="6" class="h100">
|
<v-col :cols="6" class="h100 pl-3">
|
||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<div class="d-flex align-center justify-space-between pa-4">
|
<div class="d-flex align-center justify-space-between pa-4">
|
||||||
<v-card-title class="pa-0">메뉴 상세</v-card-title>
|
<v-card-title class="pa-0">메뉴 상세</v-card-title>
|
||||||
@ -480,6 +480,7 @@ const myDetail = [
|
|||||||
list: 'sysDivCdList',
|
list: 'sysDivCdList',
|
||||||
itemText: 'commCdNm',
|
itemText: 'commCdNm',
|
||||||
itemValue: 'commCd',
|
itemValue: 'commCd',
|
||||||
|
iconShow: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'CheckBox',
|
type: 'CheckBox',
|
||||||
|
@ -3,13 +3,14 @@
|
|||||||
<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 algin="center" no-gutters>
|
<v-row algin="end" no-gutters>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<InputText
|
<InputText
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
label="역할ID"
|
label="역할ID"
|
||||||
valueNm="roleId"
|
valueNm="roleId"
|
||||||
:searchOption="true"
|
:searchOption="true"
|
||||||
|
customClass="input-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
@ -18,17 +19,19 @@
|
|||||||
label="역할명"
|
label="역할명"
|
||||||
valueNm="roleNm"
|
valueNm="roleNm"
|
||||||
:searchOption="true"
|
:searchOption="true"
|
||||||
|
customClass="input-large"
|
||||||
/>
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="6" class="text-right">
|
<v-col :cols="6" class="text-right">
|
||||||
<!-- <v-btn @click="test = !test">WWW</v-btn> -->
|
<!-- <v-btn @click="test = !test">WWW</v-btn> -->
|
||||||
<BtnSearch />
|
<BtnSearch size="large" />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row ref="contents">
|
|
||||||
|
<v-row ref="contents" style="height: 100vh;">
|
||||||
<v-col cols="12" lg="2" class="h100">
|
<v-col cols="12" lg="2" class="h100">
|
||||||
<v-card>
|
<v-card>
|
||||||
<v-card-title>
|
<v-card-title>
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
:customClass="'input-large'" />
|
:customClass="'input-large'" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2.5">
|
||||||
<!-- <component
|
<component
|
||||||
:is="'selectCodeList'"
|
:is="'selectCodeList'"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
:label="'배치 실행 구분'"
|
:label="'배치 실행 구분'"
|
||||||
@ -22,17 +22,17 @@
|
|||||||
:sendParam="{ commGrpCd: 'CO_BATCH_EXEC_TP', useFg: '1' }"
|
:sendParam="{ commGrpCd: 'CO_BATCH_EXEC_TP', useFg: '1' }"
|
||||||
:addAll="true"
|
:addAll="true"
|
||||||
:customClass="'select-large'"
|
:customClass="'select-large'"
|
||||||
/> -->
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="2.5">
|
<v-col :cols="2.5">
|
||||||
<!-- <component
|
<component
|
||||||
:is="'selectCodeList'"
|
:is="'selectCodeList'"
|
||||||
:parentPrgmId="myPrgmId"
|
:parentPrgmId="myPrgmId"
|
||||||
:label="'사용여부'"
|
:label="'사용여부'"
|
||||||
:dataKey="'searchUseFg'"
|
:dataKey="'searchUseFg'"
|
||||||
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
:sendParam="{ commGrpCd: 'CO_USEFG', useFg: '1' }"
|
||||||
:customClass="'select-large'"
|
:customClass="'select-large'"
|
||||||
/> -->
|
/>
|
||||||
</v-col>
|
</v-col>
|
||||||
<BtnSearch size="large" />
|
<BtnSearch size="large" />
|
||||||
|
|
||||||
@ -41,9 +41,9 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
|
||||||
<v-row ref="contents">
|
<v-row ref="contents" class="mt-4">
|
||||||
<!-- 배치 리스트 -->
|
<!-- 배치 리스트 -->
|
||||||
<v-col :cols="6" class="h100">
|
<v-col :cols="6" class="h100 pr-2">
|
||||||
<v-card class="pb-5">
|
<v-card class="pb-5">
|
||||||
<div class="d-flex align-center justify-space-between pa-4">
|
<div class="d-flex align-center justify-space-between pa-4">
|
||||||
<!-- <v-card-title>
|
<!-- <v-card-title>
|
||||||
@ -64,7 +64,7 @@
|
|||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<!-- 배치 상세 -->
|
<!-- 배치 상세 -->
|
||||||
<v-col :cols="6" class="h100">
|
<v-col :cols="6" class="h100 pl-3">
|
||||||
<v-card class="pd-y-20 h100">
|
<v-card class="pd-y-20 h100">
|
||||||
<v-card-title class="d-flex justify-space-between align-end pa-4">
|
<v-card-title class="d-flex justify-space-between align-end pa-4">
|
||||||
<span class="tit ft-size_20 ft-weight_600">배치 상세</span>
|
<span class="tit ft-size_20 ft-weight_600">배치 상세</span>
|
||||||
|
@ -3,65 +3,45 @@
|
|||||||
<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="center" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
<v-col cols="2">
|
<v-col cols="3">
|
||||||
<component
|
<component :is="'SelectBlocMstr'" :parentPrgmId="myPrgmId" :sendParam="{ comId }"
|
||||||
:is="'SelectBlocMstr'"
|
:labelCols="12" :textCols="12" :customClass="'select-large'" />
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:sendParam="{ comId }"
|
|
||||||
/>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="3">
|
<v-col cols="3">
|
||||||
<!-- <component :is="'SelectDateSolo'" :parentPrgmId="myPrgmId" /> -->
|
<!-- <component :is="'SelectDateSolo'" :parentPrgmId="myPrgmId" /> -->
|
||||||
<DatePicker :parentPrgmId="myPrgmId" :label="'조회연월'" />
|
<DatePicker :parentPrgmId="myPrgmId" :label="'조회연월'" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="7" class="text-right">
|
<v-col cols="6" class="text-right">
|
||||||
<v-btn :ripple="false" @click="search()">조회</v-btn>
|
<BtnSearch @click="search()" size="large" />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row ref="contents" id="CalendarMngContent">
|
<v-row ref="contents" id="CalendarMngContent" class="mt-4">
|
||||||
<v-col cols="12" lg="4" class="h100">
|
<v-col cols="12" lg="4" class="h100 pr-2">
|
||||||
<v-card class="w100">
|
<v-card class="w100">
|
||||||
<v-card-title class="d-flex justify-space-between align-center">
|
<v-card-title class="d-flex justify-space-between align-center">
|
||||||
<span class="custom-title-4">캘린더 리스트</span>
|
<span class="custom-title-4">캘린더 리스트</span>
|
||||||
<Buttons
|
<Buttons :parentPrgmId="myPrgmId" :bindingData="gridName" :btnActionsFnc="btnActions" />
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:bindingData="gridName"
|
|
||||||
:btnActionsFnc="btnActions"
|
|
||||||
/>
|
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<v-card-actions
|
<v-card-actions class="pt-0 px-5 pb-5" :style="{ height: 'calc(100% - 72.56px)' }">
|
||||||
class="pt-0 px-5 pb-5"
|
|
||||||
:style="{ height: 'calc(100% - 72.56px)' }"
|
|
||||||
>
|
|
||||||
<div ref="gridParent" class="w100 h100">
|
<div ref="gridParent" class="w100 h100">
|
||||||
<component
|
<component class="w100" :ref="gridName + myPrgmId" :is="loadGrid ? 'Grid' : null"
|
||||||
class="w100"
|
:gridName="gridName" :parentPrgmId="myPrgmId" :editorGrid="true"
|
||||||
:ref="gridName + myPrgmId"
|
@getRowsData="getRowData" :dataPath="dataPathExample" />
|
||||||
:is="loadGrid ? 'Grid' : null"
|
|
||||||
:gridName="gridName"
|
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:editorGrid="true"
|
|
||||||
@getRowsData="getRowData"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col cols="12" lg="8" class="h100">
|
<v-col cols="12" lg="8" class="h100 pl-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>
|
||||||
<v-card-actions class="px-5" :style="{ height: 'calc(100% - 62px)' }">
|
<v-card-actions class="px-5 d-block" :style="{ height: 'calc(100% - 62px)' }">
|
||||||
<Calendar
|
<Calendar :parentPrgmId="myPrgmId" :gridName="gridName" :headerVisible="false" />
|
||||||
:parentPrgmId="myPrgmId"
|
|
||||||
:gridName="gridName"
|
|
||||||
:headerVisible="false"
|
|
||||||
/>
|
|
||||||
</v-card-actions>
|
</v-card-actions>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -75,6 +55,7 @@ import { mapState, mapMutations, mapActions } from 'vuex';
|
|||||||
import Utility from '~/plugins/utility';
|
import Utility from '~/plugins/utility';
|
||||||
import Grid from '~/components/common/Grid';
|
import Grid from '~/components/common/Grid';
|
||||||
import Buttons from '~/components/common/button/Buttons';
|
import Buttons from '~/components/common/button/Buttons';
|
||||||
|
import BtnSearch from '~/components/common/button/BtnSearch';
|
||||||
import SelectBlocMstr from '@/components/common/select/SelectBlocMstr';
|
import SelectBlocMstr from '@/components/common/select/SelectBlocMstr';
|
||||||
// import SelectDateSolo from "@/components/common/select/SelectDateSolo";
|
// import SelectDateSolo from "@/components/common/select/SelectDateSolo";
|
||||||
import InputText from '@/components/common/input/InputText';
|
import InputText from '@/components/common/input/InputText';
|
||||||
@ -107,12 +88,87 @@ export default {
|
|||||||
InputText,
|
InputText,
|
||||||
Calendar,
|
Calendar,
|
||||||
DatePicker,
|
DatePicker,
|
||||||
|
BtnSearch
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
myPrgmId: myPrgmId,
|
myPrgmId: myPrgmId,
|
||||||
gridName: 'rowGrid',
|
gridName: 'rowGrid',
|
||||||
loadGrid: false,
|
loadGrid: true,
|
||||||
|
dataPathExample: {
|
||||||
|
"rowGrid": {
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
"hldyFg": "평일",
|
||||||
|
"hldyNm": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dt": "2025-07-23",
|
||||||
|
"dtNm": "수요일",
|
||||||
|
"dt": "2025-07-21",
|
||||||
|
"dtNm": "월요일",
|
||||||
|
"hldyFg": "평일",
|
||||||
|
"hldyNm": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dt": "2025-07-22",
|
||||||
|
"dtNm": "화요일",
|
||||||
|
"hldyFg": "평일",
|
||||||
|
"hldyNm": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dt": "2025-07-24",
|
||||||
|
"dtNm": "목요일",
|
||||||
|
"hldyFg": "평일",
|
||||||
|
"hldyNm": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dt": "2025-07-25",
|
||||||
|
"dtNm": "금요일",
|
||||||
|
"hldyFg": "평일",
|
||||||
|
"hldyNm": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dt": "2025-07-26",
|
||||||
|
"dtNm": "토요일",
|
||||||
|
"hldyFg": "주말",
|
||||||
|
"hldyNm": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"dt": "2025-07-27",
|
||||||
|
"dtNm": "일요일",
|
||||||
|
"hldyFg": "휴일",
|
||||||
|
"hldyNm": "정기휴일"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
column: [
|
||||||
|
{
|
||||||
|
header: '일자',
|
||||||
|
name: 'dt',
|
||||||
|
align: 'center',
|
||||||
|
// formatter({ value }) {
|
||||||
|
// return value.split(' ')[0];
|
||||||
|
// },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '요일',
|
||||||
|
name: 'dtNm',
|
||||||
|
align: 'center',
|
||||||
|
// formatter({ value }) {
|
||||||
|
// return value + '요일';
|
||||||
|
// },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
header: '구분',
|
||||||
|
name: 'hldyFg',
|
||||||
|
align: 'center',
|
||||||
|
essential: true,
|
||||||
|
},
|
||||||
|
{ header: '휴일명', name: 'hldyNm', editor: 'text' },
|
||||||
|
],
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
rowKey: null,
|
rowKey: null,
|
||||||
edtingFinishFlag: 'Y',
|
edtingFinishFlag: 'Y',
|
||||||
};
|
};
|
||||||
@ -165,8 +221,8 @@ export default {
|
|||||||
defaultData: defaultData,
|
defaultData: defaultData,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
created() {},
|
created() { },
|
||||||
mounted() {},
|
mounted() { },
|
||||||
methods: {
|
methods: {
|
||||||
...mapMutations({
|
...mapMutations({
|
||||||
setPageData: 'setPageData',
|
setPageData: 'setPageData',
|
||||||
@ -185,16 +241,16 @@ export default {
|
|||||||
await this.gridInit();
|
await this.gridInit();
|
||||||
},
|
},
|
||||||
async search() {
|
async search() {
|
||||||
await this.getRowGridData();
|
// await this.getRowGridData();
|
||||||
},
|
},
|
||||||
async gridInit() {
|
async gridInit() {
|
||||||
const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
// const gridHeight = this.$refs.gridParent.offsetHeight - 30;
|
||||||
this.setGridOption({
|
// this.setGridOption({
|
||||||
gridKey: this.gridName,
|
// gridKey: this.gridName,
|
||||||
value: Object.assign(Utility.defaultGridOption(gridHeight), {
|
// value: Object.assign(Utility.defaultGridOption(gridHeight), {
|
||||||
scrollX: false,
|
// scrollX: false,
|
||||||
}),
|
// }),
|
||||||
});
|
// });
|
||||||
|
|
||||||
// this.getRowGridData();
|
// this.getRowGridData();
|
||||||
},
|
},
|
||||||
@ -229,7 +285,7 @@ export default {
|
|||||||
|
|
||||||
document
|
document
|
||||||
.querySelector('#CalendarMngContent')
|
.querySelector('#CalendarMngContent')
|
||||||
.addEventListener('click', function(event) {
|
.addEventListener('click', function (event) {
|
||||||
if (event.target.className == 'calendarOption') {
|
if (event.target.className == 'calendarOption') {
|
||||||
// el.size = 1;
|
// el.size = 1;
|
||||||
}
|
}
|
||||||
@ -294,86 +350,86 @@ export default {
|
|||||||
|
|
||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
|
|
||||||
let res = await this.postApiReturn({
|
// let res = await this.postApiReturn({
|
||||||
apiKey: 'selectWorkCald',
|
// apiKey: 'selectWorkCald',
|
||||||
resKey: 'workcaldData',
|
// resKey: 'workcaldData',
|
||||||
sendParam: {
|
// sendParam: {
|
||||||
blocId: this.pageData.blocMstrList[this.chkBlocCd].blocId,
|
// blocId: this.pageData.blocMstrList[this.chkBlocCd].blocId,
|
||||||
yymm: this.chkFromDt,
|
// yymm: this.chkFromDt,
|
||||||
comId: this.comId,
|
// comId: this.comId,
|
||||||
},
|
// },
|
||||||
});
|
// });
|
||||||
|
|
||||||
let res2 = await this.postApiReturn({
|
// let res2 = await this.postApiReturn({
|
||||||
apiKey: 'selectWorkCaldDetl',
|
// apiKey: 'selectWorkCaldDetl',
|
||||||
resKey: 'workcaldDetlData',
|
// resKey: 'workcaldDetlData',
|
||||||
sendParam: {
|
// sendParam: {
|
||||||
blocId: this.pageData.blocMstrList[this.chkBlocCd].blocId,
|
// blocId: this.pageData.blocMstrList[this.chkBlocCd].blocId,
|
||||||
yymm: this.chkFromDt,
|
// yymm: this.chkFromDt,
|
||||||
comId: this.comId,
|
// comId: this.comId,
|
||||||
},
|
// },
|
||||||
});
|
// });
|
||||||
|
|
||||||
for (var i = 0; i < res2.length; i++) {
|
// for (var i = 0; i < res2.length; i++) {
|
||||||
if (
|
// if (
|
||||||
!(
|
// !(
|
||||||
res2[i].hldyNm == null ||
|
// res2[i].hldyNm == null ||
|
||||||
res2[i].hldyNm == '토요일' ||
|
// res2[i].hldyNm == '토요일' ||
|
||||||
res2[i].hldyNm == '일요일'
|
// res2[i].hldyNm == '일요일'
|
||||||
)
|
// )
|
||||||
) {
|
// ) {
|
||||||
for (var j = i + 1; j < res2.length; j++) {
|
// for (var j = i + 1; j < res2.length; j++) {
|
||||||
if (res2[i].hldyNm == res2[j].hldyNm) {
|
// if (res2[i].hldyNm == res2[j].hldyNm) {
|
||||||
res2[i].hldyNm = '';
|
// res2[i].hldyNm = '';
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
res = res.map(item => {
|
// res = res.map(item => {
|
||||||
const dt = this.$dayjs(item.dt.split(' ')[0]); // YYYY-MM-DD
|
// const dt = this.$dayjs(item.dt.split(' ')[0]); // YYYY-MM-DD
|
||||||
const dtNm = dt.format('ddd'); // 요일
|
// const dtNm = dt.format('ddd'); // 요일
|
||||||
const newItem = {
|
// const newItem = {
|
||||||
...item,
|
// ...item,
|
||||||
dtNm: dtNm,
|
// dtNm: dtNm,
|
||||||
hldyNm: item.hldyNm ? item.hldyNm : '',
|
// hldyNm: item.hldyNm ? item.hldyNm : '',
|
||||||
rowStat: null,
|
// rowStat: null,
|
||||||
};
|
// };
|
||||||
return newItem;
|
// return newItem;
|
||||||
});
|
// });
|
||||||
|
|
||||||
this.loadGrid = true;
|
// this.loadGrid = true;
|
||||||
this.setPageData({ isFind: false });
|
// this.setPageData({ isFind: false });
|
||||||
|
|
||||||
this.setGridColumn({
|
// this.setGridColumn({
|
||||||
gridKey: this.gridName,
|
// gridKey: this.gridName,
|
||||||
value: myColumns,
|
// value: myColumns,
|
||||||
});
|
// });
|
||||||
|
|
||||||
this.setGridData({
|
// this.setGridData({
|
||||||
gridKey: this.gridName,
|
// gridKey: this.gridName,
|
||||||
value: res,
|
// value: res,
|
||||||
});
|
// });
|
||||||
|
|
||||||
this.setPageData({ planData: res2 });
|
// this.setPageData({ planData: res2 });
|
||||||
|
|
||||||
// 첫번째 row 선택상태
|
// // 첫번째 row 선택상태
|
||||||
this.$nextTick(() => {
|
// this.$nextTick(() => {
|
||||||
this.$refs[this.gridName + this.myPrgmId].focus({
|
// this.$refs[this.gridName + this.myPrgmId].focus({
|
||||||
//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: 'dt',
|
// columnName: 'dt',
|
||||||
setScroll: true,
|
// setScroll: true,
|
||||||
});
|
// });
|
||||||
this.setPageData({ isFind: false });
|
// this.setPageData({ isFind: false });
|
||||||
});
|
// });
|
||||||
},
|
},
|
||||||
async getRowData(data, gridName) {
|
async getRowData(data, gridName) {
|
||||||
this.setGridSelectData({
|
this.setGridSelectData({
|
||||||
@ -488,6 +544,7 @@ const defaultData = {
|
|||||||
.selectbox:focus {
|
.selectbox:focus {
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendarOption {
|
.calendarOption {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
position: relative;
|
position: relative;
|
||||||
@ -501,20 +558,26 @@ select.selectbox {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%; /* 높이 초기화 */
|
height: 100%;
|
||||||
|
/* 높이 초기화 */
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
line-height: normal; /* line-height 초기화 */
|
line-height: normal;
|
||||||
font-family: inherit; /* 폰트 상속 */
|
/* line-height 초기화 */
|
||||||
|
font-family: inherit;
|
||||||
|
/* 폰트 상속 */
|
||||||
border: 0;
|
border: 0;
|
||||||
// opacity: 0; /* 숨기기 */
|
// opacity: 0; /* 숨기기 */
|
||||||
// filter:alpha(opacity=0); /* IE8 숨기기 */
|
// filter:alpha(opacity=0); /* IE8 숨기기 */
|
||||||
// -webkit-appearance: none; /* 네이티브 외형 감추기 */
|
// -webkit-appearance: none; /* 네이티브 외형 감추기 */
|
||||||
// -moz-appearance: none;
|
// -moz-appearance: none;
|
||||||
// appearance: none;
|
// appearance: none;
|
||||||
opacity: 1; /* 숨기기 */
|
opacity: 1;
|
||||||
filter: alpha(opacity=1); /* IE8 숨기기 */
|
/* 숨기기 */
|
||||||
-webkit-appearance: auto; /* 네이티브 외형 감추기 */
|
filter: alpha(opacity=1);
|
||||||
|
/* IE8 숨기기 */
|
||||||
|
-webkit-appearance: auto;
|
||||||
|
/* 네이티브 외형 감추기 */
|
||||||
-moz-appearance: auto;
|
-moz-appearance: auto;
|
||||||
appearance: auto;
|
appearance: auto;
|
||||||
}
|
}
|
||||||
|
@ -1,242 +1,224 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
<!-- 리스트 페이지 시작 -->
|
<!-- 리스트 페이지 시작 -->
|
||||||
<div v-if="pageActionFlag == 'list'" class="h100">
|
<div v-if="pageActionFlag == 'list'" class="h1001">
|
||||||
<v-row align="center" no-gutters>
|
<v-card class="" >
|
||||||
<v-col :cols="12">
|
<div class="pa-5">
|
||||||
<v-card>
|
<v-row align="center" no-gutters >
|
||||||
<div class="d-flex align-center justify-space-between pa-5">
|
<v-col :cols="12" class="d-flex align-center justify-space-between">
|
||||||
<v-card-title class="pa-0">공지사항</v-card-title>
|
<v-card-title class="pa-0 custom-title-4">공지사항</v-card-title>
|
||||||
<div class="d-flex align-center">
|
<div class="d-flex align-center">
|
||||||
<!-- <v-btn @click="listPageButtonGroupClickEvent('view')" :ripple="false" class="mr-1">상세보기</v-btn> -->
|
<!-- <v-btn @click="listPageButtonGroupClickEvent('view')" :ripple="false" class="mr-1">상세보기</v-btn> -->
|
||||||
<a-button type="primary" size="large" @click="listPageButtonGroupClickEvent('write')" :ripple="false"
|
<a-button type="primary" size="large" @click="listPageButtonGroupClickEvent('write')" :ripple="false"
|
||||||
icon="edit" class="mr-1">작성</a-button>
|
icon="edit" class="mr-1">작성</a-button>
|
||||||
<!-- <v-btn @click="listPageButtonGroupClickEvent('delete')" :ripple="false">삭제</v-btn> -->
|
<!-- <v-btn @click="listPageButtonGroupClickEvent('delete')" :ripple="false">삭제</v-btn> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</v-col>
|
||||||
</v-card>
|
<v-col :cols="12" ref="contents" class="mt-5">
|
||||||
</v-col>
|
<div ref="gridParent" class="h100 px-50">
|
||||||
</v-row>
|
<component :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
|
||||||
<v-row ref="contents">
|
ref="noticeMngGrid" @getRowsData="getRowData" :dataPath="dataPathMock" />
|
||||||
<v-col :cols="12">
|
</div>
|
||||||
<v-card class="pa-5">
|
</v-col>
|
||||||
<div ref="gridParent" class="h100 px-50">
|
</v-row>
|
||||||
<component :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
|
</div>
|
||||||
ref="noticeMngGrid" @getRowsData="getRowData" :dataPath="dataPathMock" />
|
</v-card>
|
||||||
</div>
|
|
||||||
<!-- <div class="h100 W100 px-50" style="min-height:calc(100% - 70px)">
|
|
||||||
</div> -->
|
|
||||||
</v-card>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
</div>
|
</div>
|
||||||
<!-- 리스트 페이지 끝 -->
|
<!-- 리스트 페이지 끝 -->
|
||||||
<!-- 상세보기 페이지 시작 -->
|
<!-- 상세보기 페이지 시작 -->
|
||||||
<div v-if="pageActionFlag == 'view'" class="h100">
|
<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 ">
|
||||||
<v-card-title class="pa-0 custom-title-4">공지사항</v-card-title>
|
<v-card-title class="pa-0 custom-title-4">공지사항</v-card-title>
|
||||||
<div class="d-flex align-center">
|
<div class="d-flex align-center">
|
||||||
<a-button @click="viewPageButtonGroupClickEvent('list')" type="primary" :ripple="false" class="mr-1" icon="unordered-list" >목록</a-button>
|
<a-button @click="viewPageButtonGroupClickEvent('list')" type="primary" :ripple="false" class="mr-1"
|
||||||
<a-button @click="viewPageButtonGroupClickEvent('reply')" type="primary" :ripple="false" class="mr-1" icon="send-outlined" >
|
icon="unordered-list">목록</a-button>
|
||||||
<v-icon
|
<a-button @click="viewPageButtonGroupClickEvent('reply')" type="primary" :ripple="false" class="mr-1"
|
||||||
small
|
icon="send-outlined">
|
||||||
:class="['mr-2']"
|
<v-icon small :class="['mr-2']">$icoSend</v-icon>
|
||||||
>$icoSend</v-icon>
|
|
||||||
답글
|
답글
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button @click="viewPageButtonGroupClickEvent('update')" type="primary" :ripple="false" class="mr-1" icon="edit">수정</a-button>
|
<a-button @click="viewPageButtonGroupClickEvent('update')" type="primary" :ripple="false" class="mr-1"
|
||||||
<a-button @click="viewPageButtonGroupClickEvent('delete')" type="danger" ghost icon="delete" >삭제</a-button>
|
icon="edit">수정</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="custom-title-4-new">
|
|
||||||
제목
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-text-field v-model="viewActionData.title" class="v-input__custom" hide-details
|
<p class="custom-title-3 mb-2"> 제목 </p>
|
||||||
:readonly="true">
|
<v-text-field v-model="viewActionData.title" class="v-input__custom" hide-details :readonly="true">
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
<v-col :cols="12" style="min-height:calc(90vh - 218px);" class="pa-5">
|
||||||
<v-row style="height:calc(100% - 218px);">
|
<viewer v-if="viewActionData.viewerFlag" ref="tuiViewer" height="inherit"
|
||||||
<v-col :cols="12" style="height: 100%;">
|
:initialValue="viewActionData.content" theme="white"
|
||||||
<v-card class="pa-5" style="overflow-y:auto;">
|
:class="isDarkMode ? 'theme--white' : 'theme--black'" />
|
||||||
<viewer v-if="viewActionData.viewerFlag" ref="tuiViewer" height="inherit"
|
|
||||||
:initialValue="viewActionData.content" theme="white"
|
|
||||||
:class="isDarkMode ? 'theme--white' : 'theme--black'" />
|
|
||||||
</v-card>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
<v-col :cols="6">
|
||||||
<v-row>
|
<p class="custom-title-3 mb-2">파일목록</p>
|
||||||
<v-col :cols="12">
|
<div v-for="fileData in viewActionData.fileData"
|
||||||
<v-card class="pa-5">
|
:key="fileData.apndFileId"
|
||||||
<v-row align="center" no-gutters>
|
class="file-item">
|
||||||
<v-col cols="1">
|
<a @click.prevent="downloadFile(fileData)">
|
||||||
<v-card-subtitle class="pa-0">파일목록</v-card-subtitle>
|
<div class="d-flex justify-space-between search-box-label">
|
||||||
</v-col>
|
<v-icon>mdi-paperclip</v-icon>
|
||||||
<v-col :cols="11">
|
<span class="file-item-name">{{ fileData.apndFileNm + '.' + fileData.apndFileExt }}</span>
|
||||||
<v-row v-for="fileData in viewActionData.fileData" :key="fileData.apndFileId">
|
</div>
|
||||||
<a @click.prevent="downloadFile(fileData)">
|
</a>
|
||||||
<div class="search-box-label">
|
</div>
|
||||||
{{ fileData.apndFileNm + '.' + fileData.apndFileExt }}
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</v-row>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
</v-card>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-card>
|
</v-card>
|
||||||
</div>
|
</div>
|
||||||
<!-- 상세보기 페이지 끝 -->
|
<!-- 상세보기 페이지 끝 -->
|
||||||
<!-- 작성 페이지 시작 -->
|
<!-- 작성 페이지 시작 -->
|
||||||
<div v-if="pageActionFlag == 'write'" class="h100">
|
<div v-if="pageActionFlag == 'write'" class="h1001">
|
||||||
<v-row align="center" no-gutters>
|
<v-card>
|
||||||
<v-col :cols="12">
|
<div class="pa-5">
|
||||||
<v-card>
|
<v-row class="pa-50">
|
||||||
<v-card-title>공지사항</v-card-title>
|
<v-col :cols="12" class="">
|
||||||
<v-row class="pa-5">
|
<v-card-title class="custom-title-4 pa-0">공지사항</v-card-title>
|
||||||
<v-col :cols="12" class="custom-title-4-new">
|
</v-col>
|
||||||
제목
|
<v-col :cols="12" class="custom-title-4-new mt-4">
|
||||||
</v-col>
|
<p class="custom-title-3 mb-2">제목</p>
|
||||||
<v-col :cols="12">
|
<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(90vh - 270px);">
|
||||||
<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="12" class="mt-2">
|
||||||
<v-col :cols="12" class="custom-title-4-new mt-2">
|
<p class="custom-title-3 mb-2">
|
||||||
파일첨부
|
파일첨부
|
||||||
</v-col>
|
</p>
|
||||||
<v-col :cols="6">
|
</v-col>
|
||||||
<!-- background-color="#47535c" -->
|
<v-col :cols="6">
|
||||||
<v-file-input multiple show-size v-model="writeActionData.fileData" hide-details="true"
|
<div class="" v-if="writeActionData.fileData">
|
||||||
clear-icon="delete" chips label="업로드" flat hide-input outlined>
|
<div
|
||||||
<!-- append-icon="cancel" -->
|
v-for="(fileData, index) in writeActionData.fileData"
|
||||||
</v-file-input>
|
:key="fileData.apndFileId"
|
||||||
</v-col>
|
class="file-item d-flex justify-space-between">
|
||||||
<v-col :cols="12" class="text-right">
|
<div class="file-item-detail">
|
||||||
<a-button @click="writePageButtonGroupClickEvent('cancel')" :ripple="false" class="mr-2">취소</a-button>
|
<v-icon>mdi-paperclip</v-icon>
|
||||||
<a-button @click="writePageButtonGroupClickEvent('write')" :ripple="false" type="primary">등록</a-button>
|
<span href="#" class="file-item-name">{{ fileData.name }}</span>
|
||||||
</v-col>
|
</div>
|
||||||
</v-row>
|
<a-icon type="delete" class="v-icon pointer" @click="writeActionData.fileData.splice(index, 1)" />
|
||||||
</v-card>
|
</div>
|
||||||
</v-col>
|
</div>
|
||||||
</v-row>
|
<a-button class="mt-2" icon="upload" @click="$refs.writeInputFile.$refs.input.click()" >
|
||||||
|
업로드
|
||||||
|
</a-button>
|
||||||
|
<v-file-input
|
||||||
|
ref="writeInputFile"
|
||||||
|
v-model="writeActionData.fileData"
|
||||||
|
multiple
|
||||||
|
outlined
|
||||||
|
hide-input
|
||||||
|
class="d-none"
|
||||||
|
prepend-icon="mdi-tray-arrow-up"
|
||||||
|
></v-file-input>
|
||||||
|
</v-col>
|
||||||
|
<v-col :cols="12" class="text-right">
|
||||||
|
<a-button @click="writePageButtonGroupClickEvent('cancel')" :ripple="false" class="mr-2">취소</a-button>
|
||||||
|
<a-button @click="writePageButtonGroupClickEvent('write')" :ripple="false" type="primary">등록</a-button>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
</div>
|
||||||
|
</v-card>
|
||||||
</div>
|
</div>
|
||||||
<!-- 작성 페이지 끝 -->
|
<!-- 작성 페이지 끝 -->
|
||||||
<!-- 답글 작성 페이지 시작 -->
|
<!-- 답글 작성 페이지 시작 -->
|
||||||
<div v-if="pageActionFlag == 'reply'" class="h1001">
|
<div v-if="pageActionFlag == 'reply'" class="h1001">
|
||||||
<v-card class="pa-5">
|
<v-card class="pa-5">
|
||||||
<v-row>
|
<v-row align="center" class="mt-0">
|
||||||
<v-col :cols="12" class="card-title-color">
|
<v-col :cols="12" class="">
|
||||||
<v-card-title class="pa-0 custom-title-4">공지사항</v-card-title>
|
<v-card-title class="custom-title-4 pa-0">공지사항</v-card-title>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
|
||||||
<v-row align="center" class="mt-5" >
|
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<p class="custom-title-4-new">제목</p>
|
<p class="custom-title-3 mb-2">제목</p>
|
||||||
<v-text-field v-model="replyActionData.title" class="v-input__custom" placeholder="제목" outlined hide-details>
|
<v-text-field v-model="replyActionData.title" class="v-input__custom" placeholder="제목" outlined
|
||||||
|
hide-details>
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" style="height: calc(100vh - 270px);" class="mt-4" >
|
<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="12" class="custom-title-4-new mt-4" >
|
<v-col :cols="6" class="mt-4">
|
||||||
파일첨부
|
<p class="custom-title-3 mb-2">
|
||||||
</v-col>
|
파일첨부
|
||||||
<v-col :cols="12" >
|
</p>
|
||||||
<v-file-input
|
<div class="" v-if="replyActionData.fileData">
|
||||||
multiple
|
<div
|
||||||
show-size
|
v-for="(fileData, index) in replyActionData.fileData"
|
||||||
v-model="replyActionData.fileData"
|
:key="fileData.apndFileId"
|
||||||
hide-details="true">
|
class="file-item d-flex justify-space-between">
|
||||||
|
<div class="file-item-detail">
|
||||||
|
<v-icon>mdi-paperclip</v-icon>
|
||||||
|
<span href="#" class="file-item-name">{{ fileData.name }}</span>
|
||||||
|
</div>
|
||||||
|
<a-icon type="delete" class="v-icon pointer" @click="replyActionData.fileData.splice(index, 1)" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a-button class="mt-3" icon="upload" @click="$refs.replyInputFile.$refs.input.click()" >
|
||||||
|
업로드
|
||||||
|
</a-button>
|
||||||
|
<v-file-input ref="replyInputFile" multiple show-size v-model="replyActionData.fileData" hide-details="true" class="d-none">
|
||||||
</v-file-input>
|
</v-file-input>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" class="text-right">
|
<v-col :cols="12" class="text-right">
|
||||||
<a-button @click="replyPageButtonGroupClickEvent('cancel')" :ripple="false">취소</a-button>
|
<a-button @click="replyPageButtonGroupClickEvent('cancel')" :ripple="false">취소</a-button>
|
||||||
<a-button @click="replyPageButtonGroupClickEvent('reply')" :ripple="false" type="primary" >등록</a-button>
|
<a-button @click="replyPageButtonGroupClickEvent('reply')" :ripple="false" type="primary">등록</a-button>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</v-card>
|
</v-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- 답글 작성 페이지 끝 -->
|
<!-- 답글 작성 페이지 끝 -->
|
||||||
<!-- 수정 페이지 시작 -->
|
<!-- 수정 페이지 시작 -->
|
||||||
<div v-if="pageActionFlag == 'update'" class="h100">
|
<div v-if="pageActionFlag == 'update'" class="h1001">
|
||||||
<v-row align="center" no-gutters>
|
<v-card>
|
||||||
<v-col :cols="12">
|
<div class="pa-5">
|
||||||
<v-card>
|
<v-row align="center" no-gutters>
|
||||||
<v-card-title>공지사항</v-card-title>
|
<v-col :cols="12">
|
||||||
</v-card>
|
<v-card-title class="custom-title-4 pa-0">공지사항</v-card-title>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
<v-col :cols="12" class="mt-4">
|
||||||
<v-row>
|
<p class="custom-title-3 mb-2">제목</p>
|
||||||
<v-col :cols="12">
|
<v-text-field v-model="updateActionData.title" class="v-input__custom" placeholder="" hide-details outlined>
|
||||||
<v-card min-height="60" class="pa-5">
|
</v-text-field>
|
||||||
<v-text-field v-model="updateActionData.title" class="v-input__custom" placeholder="제목" hide-details>
|
</v-col>
|
||||||
</v-text-field>
|
<v-col :cols="12" style="height: calc(90vh - 270px);" class="mt-4" >
|
||||||
</v-card>
|
<editor ref="tuiUpdateEditor" height="100%" initialEditType="wysiwyg"
|
||||||
</v-col>
|
:initialValue="updateActionData.content" />
|
||||||
</v-row>
|
</v-col>
|
||||||
<v-row style="height:calc(100% - 342px)">
|
<v-col :cols="6">
|
||||||
<v-col :cols="12">
|
<p class="pa-0 mb-2 custom-title-4-new-1">파일첨부</p>
|
||||||
<editor ref="tuiUpdateEditor" height="100%" initialEditType="wysiwyg"
|
<div class="" v-if="updateActionData.fileData">
|
||||||
:initialValue="updateActionData.content" />
|
<div
|
||||||
</v-col>
|
v-for="(fileData, index) in updateActionData.fileData"
|
||||||
</v-row>
|
:key="fileData.apndFileId"
|
||||||
<v-row>
|
class="file-item d-flex justify-space-between">
|
||||||
<v-col :cols="12">
|
<div class="file-item-detail">
|
||||||
<v-card class="pa-5">
|
<v-icon>mdi-paperclip</v-icon>
|
||||||
<v-row align="center" no-gutters>
|
<span href="#" class="file-item-name">{{ fileData.name }}</span>
|
||||||
<v-col cols="1">
|
</div>
|
||||||
<v-card-subtitle class="pa-0">파일첨부</v-card-subtitle>
|
<a-icon type="delete" class="v-icon pointer" @click="updateActionData.fileData.splice(index, 1)" />
|
||||||
</v-col>
|
</div>
|
||||||
<v-col :cols="4">
|
</div>
|
||||||
<v-file-input multiple background-color="#47535c" show-size v-model="updateActionData.fileData"
|
<a-button class="mt-2" icon="upload" @click="$refs.updateInputFile.$refs.input.click()" >
|
||||||
hide-details="true">
|
업로드
|
||||||
|
</a-button>
|
||||||
|
<v-file-input ref="updateInputFile" multiple show-size v-model="updateActionData.fileData"
|
||||||
|
hide-details="true" class="d-none">
|
||||||
</v-file-input>
|
</v-file-input>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
<v-col :cols="12" class="text-right">
|
||||||
</v-card>
|
<a-button @click="updatePageButtonGroupClickEvent('cancel')" >취소</a-button>
|
||||||
</v-col>
|
<a-button @click="updatePageButtonGroupClickEvent('update')" type="primary" >등록</a-button>
|
||||||
</v-row>
|
</v-col>
|
||||||
<v-row>
|
</v-row>
|
||||||
<v-col :cols="12">
|
</div>
|
||||||
<v-card class="pa-5">
|
</v-card>
|
||||||
<v-row align="center">
|
|
||||||
<v-col :cols="1">
|
|
||||||
<v-card-subtitle class="pa-0">파일목록</v-card-subtitle>
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="11">
|
|
||||||
<v-row v-for="fileData in updateActionData.currentFileList" :key="fileData.apndFileId">
|
|
||||||
<a @click.prevent="downloadFile(fileData)">
|
|
||||||
<v-col :cols="12">
|
|
||||||
<div class="search-box-label">
|
|
||||||
{{ fileData.apndFileNm + '.' + fileData.apndFileExt }}
|
|
||||||
</div>
|
|
||||||
</v-col>
|
|
||||||
</a>
|
|
||||||
<v-icon class="pl-5" @click="addFileToDeleteFileList(fileData)">
|
|
||||||
mdi-close
|
|
||||||
</v-icon>
|
|
||||||
</v-row>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
</v-card>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
<v-row>
|
|
||||||
<v-col :cols="12" class="text-right">
|
|
||||||
<v-btn @click="updatePageButtonGroupClickEvent('update')" :ripple="false">등록</v-btn>
|
|
||||||
<v-btn @click="updatePageButtonGroupClickEvent('cancel')" :ripple="false">취소</v-btn>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
</div>
|
</div>
|
||||||
<!-- 수정 페이지 끝 -->
|
<!-- 수정 페이지 끝 -->
|
||||||
</div>
|
</div>
|
||||||
@ -363,6 +345,9 @@ export default {
|
|||||||
chkOpenTabList: 'chkOpenTabList',
|
chkOpenTabList: 'chkOpenTabList',
|
||||||
getDomain: 'modules/list/getDomain',
|
getDomain: 'modules/list/getDomain',
|
||||||
}),
|
}),
|
||||||
|
onTest(){
|
||||||
|
console.log(this.writeActionData.fileData);
|
||||||
|
},
|
||||||
async init() {
|
async init() {
|
||||||
this.initData();
|
this.initData();
|
||||||
await this.gridInit();
|
await this.gridInit();
|
||||||
@ -1069,7 +1054,18 @@ const dataPathDataExample = getPathDataExample({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
.pointer,
|
||||||
.tui-grid-table tr {
|
.tui-grid-table tr {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.file-item {
|
||||||
|
width: auto;
|
||||||
|
margin: 2px 0;
|
||||||
|
padding: 4px;
|
||||||
|
background-color: #0000000A;
|
||||||
|
.file-item-name{
|
||||||
|
color: #1677FF;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<v-row align="end" no-gutters>
|
<v-row align="end" no-gutters>
|
||||||
<v-col :cols="3">
|
<v-col :cols="3">
|
||||||
<InputText :labelCols="12" :textCols="12" :parentPrgmId="myPrgmId" label="지표명"
|
<InputText :labelCols="12" :textCols="12" :parentPrgmId="myPrgmId" label="지표명"
|
||||||
valueNm="searchEffcIdxNm" :searchOption="true" :customClass="'input-large fixed-width'"
|
valueNm="searchEffcIdxNm" :searchOption="true" :customClass="'input-large surface-name'"
|
||||||
:iconShow="true" />
|
:iconShow="true" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="9" class="text-right">
|
<v-col :cols="9" class="text-right">
|
||||||
@ -27,7 +27,7 @@
|
|||||||
<div ref="gridParent" id="gridParent" class="w100 h100">
|
<div ref="gridParent" id="gridParent" class="w100 h100">
|
||||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
||||||
:parentPrgmId="myPrgmId" @getRowsData="getRowData" :preventFocusChangeEventFlag="false"
|
:parentPrgmId="myPrgmId" @getRowsData="getRowData" :preventFocusChangeEventFlag="false"
|
||||||
:dataPath="dataPathExample" />
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
@ -212,66 +212,65 @@ export default {
|
|||||||
disabledFlag: false,
|
disabledFlag: false,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
dataPathExample: {
|
// "effcIdxGrid": {
|
||||||
"effcIdxGrid": {
|
// data: [
|
||||||
data: [
|
// {
|
||||||
{
|
// "effcIdxId": "E001",
|
||||||
"effcIdxId": "E001",
|
// "effcIdxNm": "에너지 소비 효율",
|
||||||
"effcIdxNm": "에너지 소비 효율",
|
// "effcKind": "환경"
|
||||||
"effcKind": "환경"
|
// },
|
||||||
},
|
// {
|
||||||
{
|
// "effcIdxId": "E002",
|
||||||
"effcIdxId": "E002",
|
// "effcIdxNm": "작업 시간 대비 생산량",
|
||||||
"effcIdxNm": "작업 시간 대비 생산량",
|
// "effcKind": "생산성"
|
||||||
"effcKind": "생산성"
|
// },
|
||||||
},
|
// {
|
||||||
{
|
// "effcIdxId": "E003",
|
||||||
"effcIdxId": "E003",
|
// "effcIdxNm": "장비 가동률",
|
||||||
"effcIdxNm": "장비 가동률",
|
// "effcKind": "운영"
|
||||||
"effcKind": "운영"
|
// },
|
||||||
},
|
// {
|
||||||
{
|
// "effcIdxId": "E004",
|
||||||
"effcIdxId": "E004",
|
// "effcIdxNm": "불량률",
|
||||||
"effcIdxNm": "불량률",
|
// "effcKind": "품질"
|
||||||
"effcKind": "품질"
|
// },
|
||||||
},
|
// {
|
||||||
{
|
// "effcIdxId": "E005",
|
||||||
"effcIdxId": "E005",
|
// "effcIdxNm": "재고 회전율",
|
||||||
"effcIdxNm": "재고 회전율",
|
// "effcKind": "물류"
|
||||||
"effcKind": "물류"
|
// }
|
||||||
}
|
// ]
|
||||||
]
|
// ,
|
||||||
,
|
// column: [
|
||||||
column: [
|
// {
|
||||||
{
|
// header: '효율지표 ID',
|
||||||
header: '효율지표 ID',
|
// name: 'effcIdxId',
|
||||||
name: 'effcIdxId',
|
// align: 'center',
|
||||||
align: 'center',
|
// // hidden:true
|
||||||
// hidden:true
|
// },
|
||||||
},
|
// {
|
||||||
{
|
// header: '효율지표명',
|
||||||
header: '효율지표명',
|
// name: 'effcIdxNm',
|
||||||
name: 'effcIdxNm',
|
// align: 'left',
|
||||||
align: 'left',
|
// minWidth: 150,
|
||||||
minWidth: 150,
|
// // hidden:true
|
||||||
// hidden:true
|
// },
|
||||||
},
|
|
||||||
|
|
||||||
{
|
// {
|
||||||
header: '효율지표종류',
|
// header: '효율지표종류',
|
||||||
name: 'effcKind',
|
// name: 'effcKind',
|
||||||
align: 'left',
|
// align: 'left',
|
||||||
// hidden: true,
|
// // hidden: true,
|
||||||
},
|
// },
|
||||||
// { header: '등록 사용자', name: 'regUserNo', hidden: true },
|
// // { header: '등록 사용자', name: 'regUserNo', hidden: true },
|
||||||
// { header: '등록 일자', name: 'regDttm', hidden: true },
|
// // { header: '등록 일자', name: 'regDttm', hidden: true },
|
||||||
// { header: '수정 사용자', name: 'procUserNo', hidden: true },
|
// // { header: '수정 사용자', name: 'procUserNo', hidden: true },
|
||||||
// { header: '수정 일자', name: 'procDttm', hidden: true },
|
// // { header: '수정 일자', name: 'procDttm', hidden: true },
|
||||||
],
|
// ],
|
||||||
|
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
initFlag: false,
|
initFlag: false,
|
||||||
selectValueList01: [],
|
selectValueList01: [],
|
||||||
selectValueList02: [],
|
selectValueList02: [],
|
||||||
@ -904,6 +903,10 @@ export default {
|
|||||||
columnOptions: {
|
columnOptions: {
|
||||||
resizable: true,
|
resizable: true,
|
||||||
},
|
},
|
||||||
|
header: {
|
||||||
|
height: 37,
|
||||||
|
},
|
||||||
|
rowHeight: 'auto',
|
||||||
};
|
};
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
@ -1439,6 +1442,6 @@ const defaultData = {
|
|||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.v-input__custom.surface-name fieldset {
|
.v-input__custom.surface-name fieldset {
|
||||||
width: 345px;
|
max-width: 345px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
@ -53,7 +53,7 @@
|
|||||||
<v-card class="pb-5 px-4">
|
<v-card class="pb-5 px-4">
|
||||||
<v-card-title class="px-0">물리량 상세</v-card-title>
|
<v-card-title class="px-0">물리량 상세</v-card-title>
|
||||||
<v-row no-gutters>
|
<v-row no-gutters>
|
||||||
<v-col :cols="12" class="py-3">
|
<v-col :cols="6" class="py-3 pr-4">
|
||||||
<InputText :parentPrgmId="myPrgmId" label="물리량 ID" valueNm="pysclQtyId" :labelCols="12"
|
<InputText :parentPrgmId="myPrgmId" label="물리량 ID" valueNm="pysclQtyId" :labelCols="12"
|
||||||
:textCols="12" :required="requiredValueList[0]" :disabled="disabledValueList[0]"
|
:textCols="12" :required="requiredValueList[0]" :disabled="disabledValueList[0]"
|
||||||
:readonly="readOnlyValueList[0]" placeholder="시스템 자동입력" />
|
:readonly="readOnlyValueList[0]" placeholder="시스템 자동입력" />
|
||||||
@ -73,7 +73,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row no-gutters>
|
<v-row no-gutters>
|
||||||
<v-col :cols="12" class="py-3">
|
<v-col :cols="6" class="py-3 pr-4">
|
||||||
<InputText :parentPrgmId="myPrgmId" label="물리량명" valueNm="pysclQtyNm" :labelCols="12"
|
<InputText :parentPrgmId="myPrgmId" label="물리량명" valueNm="pysclQtyNm" :labelCols="12"
|
||||||
:textCols="12" :required="requiredValueList[3]" :disabled="disabledValueList[3]"
|
:textCols="12" :required="requiredValueList[3]" :disabled="disabledValueList[3]"
|
||||||
:readonly="readOnlyValueList[3]" />
|
:readonly="readOnlyValueList[3]" />
|
||||||
@ -109,7 +109,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row no-gutters v-show="argContentShowFlag">
|
<v-row no-gutters v-show="argContentShowFlag">
|
||||||
<v-col :cols="6" class="py-3">
|
<v-col :cols="12" class="py-3">
|
||||||
<component :is="'TextArea'" :parentPrgmId="myPrgmId" ref="TextArea" :item="calcDescItem" />
|
<component :is="'TextArea'" :parentPrgmId="myPrgmId" ref="TextArea" :item="calcDescItem" />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
@ -121,22 +121,19 @@
|
|||||||
계산Argument
|
계산Argument
|
||||||
</label>
|
</label>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="4" class="py-2">
|
<v-col :cols="6" class="py-2">
|
||||||
<InputText :parentPrgmId="myPrgmId" label="ARG갯수" valueNm="argCnt" :labelCols="12"
|
<InputText :parentPrgmId="myPrgmId" label="ARG갯수" valueNm="argCnt" :labelCols="12"
|
||||||
:textCols="12" :iconShow="true" :required="requiredValueList[7]"
|
:textCols="12" :iconShow="true" :required="requiredValueList[7]"
|
||||||
:disabled="disabledValueList[7]" :readonly="readOnlyValueList[7]" />
|
:disabled="disabledValueList[7]" :readonly="readOnlyValueList[7]" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="4"> </v-col>
|
<v-col :cols="4"> </v-col>
|
||||||
<v-col :cols="4" class="py-2" align="right">
|
<v-col :cols="12" class="py-2" align="right">
|
||||||
<v-btn :ripple="false" @click="btnAction('add')" :disabled="disabledValueList[7]">추가</v-btn>
|
<a-button type="primary" @click="btnAction('add')" class="v-btn-add-text mr-1" icon="plus">추가</a-button>
|
||||||
<!-- <v-btn :ripple="false" @click="btnAction('edit')">수정</v-btn> -->
|
<a-button type="danger" @click="btnAction('remove')" ghost danger icon="delete">삭제</a-button>
|
||||||
<v-btn :ripple="false" @click="btnAction('remove')"
|
|
||||||
:disabled="disabledValueList[7]">삭제</v-btn>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
<v-row style="height:calc(30% - 76px)" v-show="argContentShowFlag">
|
<v-row style="height:calc(30% - 76px)" v-show="argContentShowFlag">
|
||||||
<v-col :cols="2"> </v-col>
|
<v-col :cols="12" style="height:100%">
|
||||||
<v-col :cols="10" style="height:100%">
|
|
||||||
<div ref="gridParent2" style="height:100%">
|
<div ref="gridParent2" style="height:100%">
|
||||||
<component :ref="gridName2" :is="loadGrid2 ? 'Grid' : null" :gridName="gridName2"
|
<component :ref="gridName2" :is="loadGrid2 ? 'Grid' : null" :gridName="gridName2"
|
||||||
:parentPrgmId="myPrgmId" @getRowsData="getRowData2" :dataPath="dataPathExample2" />
|
:parentPrgmId="myPrgmId" @getRowsData="getRowData2" :dataPath="dataPathExample2" />
|
||||||
|
@ -66,9 +66,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="px-4" style="height:calc(100% - 76px)">
|
<div class="px-4" style="height:calc(100% - 76px)">
|
||||||
<div ref="gridParent" class="w100 h100">
|
<div ref="gridParent" class="w100 h100">
|
||||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
<component
|
||||||
:parentPrgmId="myPrgmId" :columnClickEventFlag="true" @columnClick="columnClick"
|
:ref="gridName"
|
||||||
:dataPath="dataPathExample" />
|
:is="loadGrid ? 'Grid' : null"
|
||||||
|
:gridName="gridName"
|
||||||
|
:parentPrgmId="myPrgmId"
|
||||||
|
:columnClickEventFlag="true"
|
||||||
|
@columnClick="columnClick"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
@ -141,442 +146,8 @@ export default {
|
|||||||
selectValueList05: [],
|
selectValueList05: [],
|
||||||
selectValueList06: [],
|
selectValueList06: [],
|
||||||
initedFlag: false,
|
initedFlag: false,
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
gridName: 'rowGrid',
|
gridName: 'rowGrid',
|
||||||
dataPathExample: {
|
|
||||||
"rowGrid": {
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
"no": 1,
|
|
||||||
"fabNm": "B02",
|
|
||||||
"eqpmGrpNm": "ETCH Group",
|
|
||||||
"eqpmId": "EQ028",
|
|
||||||
"eqpmNm": "DEP D78",
|
|
||||||
"gdIdxId": "GD004",
|
|
||||||
"gdIdxNm": "Etch Depth Guide",
|
|
||||||
"careStndVal": 34,
|
|
||||||
"warnStndVal": 56,
|
|
||||||
"totVal": 30,
|
|
||||||
"okFg": "주의",
|
|
||||||
"gdMeth": "Adjust pad pressure",
|
|
||||||
"ngCnt": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 2,
|
|
||||||
"fabNm": "C01",
|
|
||||||
"eqpmGrpNm": "DEP Group",
|
|
||||||
"eqpmId": "EQ003",
|
|
||||||
"eqpmNm": "PHOTO P34",
|
|
||||||
"gdIdxId": "GD028",
|
|
||||||
"gdIdxNm": "Exposure Time Guide",
|
|
||||||
"careStndVal": 40,
|
|
||||||
"warnStndVal": 53,
|
|
||||||
"totVal": 48,
|
|
||||||
"okFg": "주의",
|
|
||||||
"gdMeth": "Tune RF power",
|
|
||||||
"ngCnt": 7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 3,
|
|
||||||
"fabNm": "C01",
|
|
||||||
"eqpmGrpNm": "CMP Group",
|
|
||||||
"eqpmId": "EQ012",
|
|
||||||
"eqpmNm": "CMP C56",
|
|
||||||
"gdIdxId": "GD016",
|
|
||||||
"gdIdxNm": "Etch Depth Guide",
|
|
||||||
"careStndVal": 31,
|
|
||||||
"warnStndVal": 34,
|
|
||||||
"totVal": 44,
|
|
||||||
"okFg": "양호",
|
|
||||||
"gdMeth": "Change exposure time",
|
|
||||||
"ngCnt": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 4,
|
|
||||||
"fabNm": "D01",
|
|
||||||
"eqpmGrpNm": "ETCH Group",
|
|
||||||
"eqpmId": "EQ016",
|
|
||||||
"eqpmNm": "ETCH E12",
|
|
||||||
"gdIdxId": "GD004",
|
|
||||||
"gdIdxNm": "Etch Depth Guide",
|
|
||||||
"careStndVal": 33,
|
|
||||||
"warnStndVal": 40,
|
|
||||||
"totVal": 56,
|
|
||||||
"okFg": "주의",
|
|
||||||
"gdMeth": "Modify gas flow",
|
|
||||||
"ngCnt": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 5,
|
|
||||||
"fabNm": "C01",
|
|
||||||
"eqpmGrpNm": "DEP Group",
|
|
||||||
"eqpmId": "EQ004",
|
|
||||||
"eqpmNm": "CMP C56",
|
|
||||||
"gdIdxId": "GD008",
|
|
||||||
"gdIdxNm": "Deposition Rate Guide",
|
|
||||||
"careStndVal": 33,
|
|
||||||
"warnStndVal": 44,
|
|
||||||
"totVal": 20,
|
|
||||||
"okFg": "주의",
|
|
||||||
"gdMeth": "Adjust pad pressure",
|
|
||||||
"ngCnt": 7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 6,
|
|
||||||
"fabNm": "B01",
|
|
||||||
"eqpmGrpNm": "DEP Group",
|
|
||||||
"eqpmId": "EQ019",
|
|
||||||
"eqpmNm": "ETCH E12",
|
|
||||||
"gdIdxId": "GD014",
|
|
||||||
"gdIdxNm": "Polish Rate Guide",
|
|
||||||
"careStndVal": 34,
|
|
||||||
"warnStndVal": 38,
|
|
||||||
"totVal": 46,
|
|
||||||
"okFg": "양호",
|
|
||||||
"gdMeth": "Modify gas flow",
|
|
||||||
"ngCnt": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 7,
|
|
||||||
"fabNm": "D01",
|
|
||||||
"eqpmGrpNm": "ETCH Group",
|
|
||||||
"eqpmId": "EQ024",
|
|
||||||
"eqpmNm": "ETCH E12",
|
|
||||||
"gdIdxId": "GD008",
|
|
||||||
"gdIdxNm": "Exposure Time Guide",
|
|
||||||
"careStndVal": 37,
|
|
||||||
"warnStndVal": 51,
|
|
||||||
"totVal": 24,
|
|
||||||
"okFg": "경고",
|
|
||||||
"gdMeth": "Modify gas flow",
|
|
||||||
"ngCnt": 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 8,
|
|
||||||
"fabNm": "D01",
|
|
||||||
"eqpmGrpNm": "DEP Group",
|
|
||||||
"eqpmId": "EQ014",
|
|
||||||
"eqpmNm": "DEP D78",
|
|
||||||
"gdIdxId": "GD023",
|
|
||||||
"gdIdxNm": "Deposition Rate Guide",
|
|
||||||
"careStndVal": 22,
|
|
||||||
"warnStndVal": 49,
|
|
||||||
"totVal": 43,
|
|
||||||
"okFg": "주의",
|
|
||||||
"gdMeth": "Change exposure time",
|
|
||||||
"ngCnt": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 9,
|
|
||||||
"fabNm": "C01",
|
|
||||||
"eqpmGrpNm": "DEP Group",
|
|
||||||
"eqpmId": "EQ001",
|
|
||||||
"eqpmNm": "ETCH E12",
|
|
||||||
"gdIdxId": "GD022",
|
|
||||||
"gdIdxNm": "Polish Rate Guide",
|
|
||||||
"careStndVal": 20,
|
|
||||||
"warnStndVal": 24,
|
|
||||||
"totVal": 51,
|
|
||||||
"okFg": "경고",
|
|
||||||
"gdMeth": "Modify gas flow",
|
|
||||||
"ngCnt": 9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 10,
|
|
||||||
"fabNm": "D01",
|
|
||||||
"eqpmGrpNm": "CMP Group",
|
|
||||||
"eqpmId": "EQ027",
|
|
||||||
"eqpmNm": "ETCH E12",
|
|
||||||
"gdIdxId": "GD002",
|
|
||||||
"gdIdxNm": "Deposition Rate Guide",
|
|
||||||
"careStndVal": 27,
|
|
||||||
"warnStndVal": 46,
|
|
||||||
"totVal": 60,
|
|
||||||
"okFg": "양호",
|
|
||||||
"gdMeth": "Modify gas flow",
|
|
||||||
"ngCnt": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 11,
|
|
||||||
"fabNm": "C01",
|
|
||||||
"eqpmGrpNm": "PHOTO Group",
|
|
||||||
"eqpmId": "EQ004",
|
|
||||||
"eqpmNm": "CMP C56",
|
|
||||||
"gdIdxId": "GD025",
|
|
||||||
"gdIdxNm": "Etch Depth Guide",
|
|
||||||
"careStndVal": 30,
|
|
||||||
"warnStndVal": 58,
|
|
||||||
"totVal": 28,
|
|
||||||
"okFg": "경고",
|
|
||||||
"gdMeth": "Modify gas flow",
|
|
||||||
"ngCnt": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 12,
|
|
||||||
"fabNm": "D01",
|
|
||||||
"eqpmGrpNm": "ETCH Group",
|
|
||||||
"eqpmId": "EQ022",
|
|
||||||
"eqpmNm": "ETCH E12",
|
|
||||||
"gdIdxId": "GD024",
|
|
||||||
"gdIdxNm": "Polish Rate Guide",
|
|
||||||
"careStndVal": 27,
|
|
||||||
"warnStndVal": 42,
|
|
||||||
"totVal": 62,
|
|
||||||
"okFg": "양호",
|
|
||||||
"gdMeth": "Adjust pad pressure",
|
|
||||||
"ngCnt": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 13,
|
|
||||||
"fabNm": "C01",
|
|
||||||
"eqpmGrpNm": "ETCH Group",
|
|
||||||
"eqpmId": "EQ018",
|
|
||||||
"eqpmNm": "PHOTO P34",
|
|
||||||
"gdIdxId": "GD013",
|
|
||||||
"gdIdxNm": "Exposure Time Guide",
|
|
||||||
"careStndVal": 32,
|
|
||||||
"warnStndVal": 35,
|
|
||||||
"totVal": 62,
|
|
||||||
"okFg": "양호",
|
|
||||||
"gdMeth": "Change exposure time",
|
|
||||||
"ngCnt": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 14,
|
|
||||||
"fabNm": "D01",
|
|
||||||
"eqpmGrpNm": "CMP Group",
|
|
||||||
"eqpmId": "EQ017",
|
|
||||||
"eqpmNm": "DEP D78",
|
|
||||||
"gdIdxId": "GD005",
|
|
||||||
"gdIdxNm": "Etch Depth Guide",
|
|
||||||
"careStndVal": 36,
|
|
||||||
"warnStndVal": 47,
|
|
||||||
"totVal": 39,
|
|
||||||
"okFg": "경고",
|
|
||||||
"gdMeth": "Tune RF power",
|
|
||||||
"ngCnt": 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 15,
|
|
||||||
"fabNm": "D01",
|
|
||||||
"eqpmGrpNm": "DEP Group",
|
|
||||||
"eqpmId": "EQ025",
|
|
||||||
"eqpmNm": "DEP D78",
|
|
||||||
"gdIdxId": "GD028",
|
|
||||||
"gdIdxNm": "Deposition Rate Guide",
|
|
||||||
"careStndVal": 36,
|
|
||||||
"warnStndVal": 59,
|
|
||||||
"totVal": 63,
|
|
||||||
"okFg": "양호",
|
|
||||||
"gdMeth": "Adjust pad pressure",
|
|
||||||
"ngCnt": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 16,
|
|
||||||
"fabNm": "B02",
|
|
||||||
"eqpmGrpNm": "PHOTO Group",
|
|
||||||
"eqpmId": "EQ026",
|
|
||||||
"eqpmNm": "PHOTO P34",
|
|
||||||
"gdIdxId": "GD008",
|
|
||||||
"gdIdxNm": "Exposure Time Guide",
|
|
||||||
"careStndVal": 24,
|
|
||||||
"warnStndVal": 59,
|
|
||||||
"totVal": 20,
|
|
||||||
"okFg": "양호",
|
|
||||||
"gdMeth": "Change exposure time",
|
|
||||||
"ngCnt": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 17,
|
|
||||||
"fabNm": "B01",
|
|
||||||
"eqpmGrpNm": "DEP Group",
|
|
||||||
"eqpmId": "EQ023",
|
|
||||||
"eqpmNm": "ETCH E12",
|
|
||||||
"gdIdxId": "GD021",
|
|
||||||
"gdIdxNm": "Polish Rate Guide",
|
|
||||||
"careStndVal": 26,
|
|
||||||
"warnStndVal": 51,
|
|
||||||
"totVal": 31,
|
|
||||||
"okFg": "주의",
|
|
||||||
"gdMeth": "Modify gas flow",
|
|
||||||
"ngCnt": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 18,
|
|
||||||
"fabNm": "B02",
|
|
||||||
"eqpmGrpNm": "PHOTO Group",
|
|
||||||
"eqpmId": "EQ012",
|
|
||||||
"eqpmNm": "ETCH E12",
|
|
||||||
"gdIdxId": "GD023",
|
|
||||||
"gdIdxNm": "Polish Rate Guide",
|
|
||||||
"careStndVal": 34,
|
|
||||||
"warnStndVal": 45,
|
|
||||||
"totVal": 64,
|
|
||||||
"okFg": "경고",
|
|
||||||
"gdMeth": "Change exposure time",
|
|
||||||
"ngCnt": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 19,
|
|
||||||
"fabNm": "B01",
|
|
||||||
"eqpmGrpNm": "PHOTO Group",
|
|
||||||
"eqpmId": "EQ018",
|
|
||||||
"eqpmNm": "ETCH E12",
|
|
||||||
"gdIdxId": "GD002",
|
|
||||||
"gdIdxNm": "Etch Depth Guide",
|
|
||||||
"careStndVal": 30,
|
|
||||||
"warnStndVal": 31,
|
|
||||||
"totVal": 51,
|
|
||||||
"okFg": "주의",
|
|
||||||
"gdMeth": "Tune RF power",
|
|
||||||
"ngCnt": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 20,
|
|
||||||
"fabNm": "C01",
|
|
||||||
"eqpmGrpNm": "CMP Group",
|
|
||||||
"eqpmId": "EQ018",
|
|
||||||
"eqpmNm": "CMP C56",
|
|
||||||
"gdIdxId": "GD021",
|
|
||||||
"gdIdxNm": "Exposure Time Guide",
|
|
||||||
"careStndVal": 30,
|
|
||||||
"warnStndVal": 51,
|
|
||||||
"totVal": 45,
|
|
||||||
"okFg": "양호",
|
|
||||||
"gdMeth": "Change exposure time",
|
|
||||||
"ngCnt": 7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"no": 21,
|
|
||||||
"fabNm": "B01",
|
|
||||||
"eqpmGrpNm": "CMP Group",
|
|
||||||
"eqpmId": "EQ021",
|
|
||||||
"eqpmNm": "CMP C56",
|
|
||||||
"gdIdxId": "GD001",
|
|
||||||
"gdIdxNm": "Deposition Rate Guide",
|
|
||||||
"careStndVal": 23,
|
|
||||||
"warnStndVal": 42,
|
|
||||||
"totVal": 40,
|
|
||||||
"okFg": "주의",
|
|
||||||
"gdMeth": "Tune RF power",
|
|
||||||
"ngCnt": 5
|
|
||||||
}
|
|
||||||
]
|
|
||||||
,
|
|
||||||
column: [
|
|
||||||
{
|
|
||||||
header: 'No.',
|
|
||||||
name: 'no',
|
|
||||||
align: 'right',
|
|
||||||
width: 30,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: 'FAB',
|
|
||||||
name: 'fabNm',
|
|
||||||
align: 'left',
|
|
||||||
width: 80,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '설비그룹',
|
|
||||||
name: 'eqpmGrpNm',
|
|
||||||
width: 130,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '설비id',
|
|
||||||
name: 'eqpmId',
|
|
||||||
hidden: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '설비명',
|
|
||||||
name: 'eqpmNm',
|
|
||||||
width: 130,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '가이드명',
|
|
||||||
name: 'gdIdxId',
|
|
||||||
hidden: true,
|
|
||||||
// formatter({ value }) {
|
|
||||||
// let retVal = '';
|
|
||||||
// const newValue = _this.pageData.gdIdxIdList.filter(
|
|
||||||
// item => item.value == value,
|
|
||||||
// );
|
|
||||||
// if (newValue.length > 0) {
|
|
||||||
// retVal = newValue[0].text;
|
|
||||||
// }
|
|
||||||
// //빈값일때 전체방지
|
|
||||||
// if (value == '' || value == null) {
|
|
||||||
// retVal = '';
|
|
||||||
// }
|
|
||||||
// return retVal;
|
|
||||||
// },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '가이드명',
|
|
||||||
name: 'gdIdxNm',
|
|
||||||
width: 200,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '주의',
|
|
||||||
name: 'careStndVal',
|
|
||||||
align: 'right',
|
|
||||||
width: 80,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '경고',
|
|
||||||
name: 'warnStndVal',
|
|
||||||
align: 'right',
|
|
||||||
width: 80,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '가이드값',
|
|
||||||
name: 'totVal',
|
|
||||||
align: 'right',
|
|
||||||
width: 120,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '평가',
|
|
||||||
name: 'okFg',
|
|
||||||
align: 'center',
|
|
||||||
width: 80,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: '절감가이드 방법',
|
|
||||||
name: 'gdMeth',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
header: 'NG발생건수',
|
|
||||||
name: 'ngCnt',
|
|
||||||
align: 'right',
|
|
||||||
width: 100,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
option: {
|
|
||||||
// pageOptions: {
|
|
||||||
// useClient: true,
|
|
||||||
// perPage: 10,
|
|
||||||
// },
|
|
||||||
|
|
||||||
// scrollX: false,
|
|
||||||
scrollY: true
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// pageOptions: {
|
|
||||||
// useClient: true,
|
|
||||||
// perPage: 10,
|
|
||||||
// },
|
|
||||||
// scrollX: false,
|
|
||||||
// scrollY: false
|
|
||||||
|
|
||||||
|
|
||||||
},
|
|
||||||
// pageOptions: {
|
|
||||||
// useClient: true,
|
|
||||||
// perPage: 10,
|
|
||||||
// },
|
|
||||||
// scrollX: true,
|
|
||||||
// scrollY: false
|
|
||||||
},
|
|
||||||
popDialog: false,
|
popDialog: false,
|
||||||
eqpmFlag: false,
|
eqpmFlag: false,
|
||||||
eqpmKindFlag: false,
|
eqpmKindFlag: false,
|
||||||
@ -667,7 +238,7 @@ export default {
|
|||||||
});
|
});
|
||||||
this.selectValue04 = { eqpmId: [] };
|
this.selectValue04 = { eqpmId: [] };
|
||||||
await this.getEqpmGrp();
|
await this.getEqpmGrp();
|
||||||
// await this.getEqpm(this.selectValueList03);
|
await this.getEqpm(this.selectValueList03);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async selectValue03(val) {
|
async selectValue03(val) {
|
||||||
@ -789,7 +360,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.setFromDt();
|
this.setFromDt();
|
||||||
}
|
}
|
||||||
// await this.gridInit();
|
await this.gridInit();
|
||||||
},
|
},
|
||||||
async search() {
|
async search() {
|
||||||
await this.getRowGridData();
|
await this.getRowGridData();
|
||||||
@ -806,75 +377,69 @@ export default {
|
|||||||
// this.pageData.toDt = Utility.setAftertDate(this.pageData, this.pageData.fromDt, "YYYYMMDD");
|
// this.pageData.toDt = Utility.setAftertDate(this.pageData, this.pageData.fromDt, "YYYYMMDD");
|
||||||
},
|
},
|
||||||
async getEqpmKind() {
|
async getEqpmKind() {
|
||||||
// let res = await this.postApiReturn({
|
let res = await this.postApiReturn({
|
||||||
// apiKey: 'selectEqpmKindCodeList',
|
apiKey: 'selectEqpmKindCodeList',
|
||||||
// resKey: 'eqpmKindCodeLists',
|
resKey: 'eqpmKindCodeLists',
|
||||||
// sendParam: {},
|
sendParam: {},
|
||||||
// });
|
});
|
||||||
// if (res.length > 0) {
|
if (res.length > 0) {
|
||||||
// this.selectValueList01 = await res.map(item => {
|
this.selectValueList01 = await res.map(item => {
|
||||||
// return {
|
return {
|
||||||
// text: item.eqpmKindNm,
|
text: item.eqpmKindNm,
|
||||||
// value: item.eqpmKindId,
|
value: item.eqpmKindId,
|
||||||
// };
|
};
|
||||||
// });
|
});
|
||||||
// this.selectValueList01.unshift({
|
this.selectValueList01.unshift({
|
||||||
// text: '전체',
|
text: '전체',
|
||||||
// value: null,
|
value: null,
|
||||||
// });
|
});
|
||||||
// if (
|
if (
|
||||||
// this.routeData.eqpmKindId == null ||
|
this.routeData.eqpmKindId == null ||
|
||||||
// this.routeData.eqpmKindId == ''
|
this.routeData.eqpmKindId == ''
|
||||||
// ) {
|
) {
|
||||||
// this.selectValue01 = this.selectValueList01[0].value;
|
this.selectValue01 = this.selectValueList01[0].value;
|
||||||
// } else if (
|
} else if (
|
||||||
// this.routeData.eqpmKindId != null ||
|
this.routeData.eqpmKindId != null ||
|
||||||
// this.routeData.eqpmKindId != ''
|
this.routeData.eqpmKindId != ''
|
||||||
// ) {
|
) {
|
||||||
// this.selectValue01 = this.routeData.eqpmKindId;
|
this.selectValue01 = this.routeData.eqpmKindId;
|
||||||
// }
|
}
|
||||||
// } else {
|
} else {
|
||||||
// this.selectValueList01 = [];
|
this.selectValueList01 = [];
|
||||||
// this.selectValue01 = null;
|
this.selectValue01 = null;
|
||||||
// }
|
}
|
||||||
this.setPageData({
|
this.setPageData({
|
||||||
eqpmKindList: this.selectValueList01,
|
eqpmKindList: this.selectValueList01,
|
||||||
eqpmKindId: this.selectValue01,
|
eqpmKindId: this.selectValue01,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
async getFab() {
|
async getFab() {
|
||||||
// let res = await this.postApiReturn({
|
let res = await this.postApiReturn({
|
||||||
// apiKey: 'selectFabCodeList',
|
apiKey: 'selectFabCodeList',
|
||||||
// resKey: 'fabCodeLists',
|
resKey: 'fabCodeLists',
|
||||||
// sendParam: {},
|
sendParam: {},
|
||||||
// });
|
});
|
||||||
this.selectValueList02 = [
|
|
||||||
{ text: '온도 센서', value: 'ECC001' },
|
if (res.length > 0) {
|
||||||
{ text: '압력 센서', value: 'ECC002' },
|
this.selectValueList02 = await res.map(item => {
|
||||||
{ text: '유량 센서', value: 'ECC003' },
|
return {
|
||||||
{ text: '습도 센서', value: 'ECC004' },
|
text: item.eccNm,
|
||||||
{ text: '전압 센서', value: 'ECC005' }
|
value: item.eccId,
|
||||||
];
|
};
|
||||||
// if (res.length > 0) {
|
});
|
||||||
// // this.selectValueList02 = await res.map(item => {
|
this.selectValueList02.unshift({
|
||||||
// // return {
|
text: '전체',
|
||||||
// // text: item.eccNm,
|
value: null,
|
||||||
// // value: item.eccId,
|
});
|
||||||
// // };
|
if (this.routeData.fabId != null && this.routeData.fabId != '') {
|
||||||
// // });
|
this.selectValue02 = this.routeData.fabId;
|
||||||
// this.selectValueList02.unshift({
|
} else if (this.routeData.fabId == null || this.routeData.fabId == '') {
|
||||||
// text: '전체',
|
this.selectValue02 = this.selectValueList02[0].value;
|
||||||
// value: null,
|
}
|
||||||
// });
|
} else {
|
||||||
// if (this.routeData.fabId != null && this.routeData.fabId != '') {
|
this.selectValueList02 = [];
|
||||||
// this.selectValue02 = this.routeData.fabId;
|
this.selectValue02 = null;
|
||||||
// } else if (this.routeData.fabId == null || this.routeData.fabId == '') {
|
}
|
||||||
// this.selectValue02 = this.selectValueList02[0].value;
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// this.selectValueList02 = [];
|
|
||||||
// this.selectValue02 = null;
|
|
||||||
// }
|
|
||||||
this.setPageData({
|
this.setPageData({
|
||||||
fabIdList: this.selectValueList02,
|
fabIdList: this.selectValueList02,
|
||||||
fabId: this.selectValue02,
|
fabId: this.selectValue02,
|
||||||
@ -923,30 +488,30 @@ export default {
|
|||||||
},
|
},
|
||||||
async getEqpm(data) { },
|
async getEqpm(data) { },
|
||||||
async getGdIdx() {
|
async getGdIdx() {
|
||||||
// let res = await this.postApiReturn({
|
let res = await this.postApiReturn({
|
||||||
// apiKey: 'selectEqpmGdIdxCodeList',
|
apiKey: 'selectEqpmGdIdxCodeList',
|
||||||
// resKey: 'eqpmGdIdxCodeLists',
|
resKey: 'eqpmGdIdxCodeLists',
|
||||||
// sendParam: {
|
sendParam: {
|
||||||
// eqpmGrpId: this.selectValue03,
|
eqpmGrpId: this.selectValue03,
|
||||||
// },
|
},
|
||||||
// });
|
});
|
||||||
|
|
||||||
// if (res.length > 0) {
|
if (res.length > 0) {
|
||||||
// this.selectValueList05 = await res.map(item => {
|
this.selectValueList05 = await res.map(item => {
|
||||||
// return {
|
return {
|
||||||
// text: item.gdIdxNm,
|
text: item.gdIdxNm,
|
||||||
// value: item.gdIdxId,
|
value: item.gdIdxId,
|
||||||
// };
|
};
|
||||||
// });
|
});
|
||||||
// this.selectValueList05.unshift({
|
this.selectValueList05.unshift({
|
||||||
// text: '전체',
|
text: '전체',
|
||||||
// value: null,
|
value: null,
|
||||||
// });
|
});
|
||||||
// this.selectValue05 = this.selectValueList05[0].value;
|
this.selectValue05 = this.selectValueList05[0].value;
|
||||||
// } else {
|
} else {
|
||||||
// this.selectValueList05 = [];
|
this.selectValueList05 = [];
|
||||||
// this.selectValue05 = null;
|
this.selectValue05 = null;
|
||||||
// }
|
}
|
||||||
|
|
||||||
this.setPageData({
|
this.setPageData({
|
||||||
gdIdxIdList: this.selectValueList05,
|
gdIdxIdList: this.selectValueList05,
|
||||||
@ -987,6 +552,10 @@ export default {
|
|||||||
resizable: true,
|
resizable: true,
|
||||||
},
|
},
|
||||||
rowHeaders: ['rowNum'],
|
rowHeaders: ['rowNum'],
|
||||||
|
header: {
|
||||||
|
height: 37,
|
||||||
|
},
|
||||||
|
rowHeight: 'auto',
|
||||||
|
|
||||||
|
|
||||||
// pageOptions: {
|
// pageOptions: {
|
||||||
@ -1130,27 +699,27 @@ export default {
|
|||||||
if (e.columnName == 'ngCnt' && e.targetType == 'cell') {
|
if (e.columnName == 'ngCnt' && e.targetType == 'cell') {
|
||||||
// if(e.columnName == 'ngCnt' && data.ngCnt > 0){
|
// if(e.columnName == 'ngCnt' && data.ngCnt > 0){
|
||||||
this.$refs['EnrgEffcEqpmDetailPop'].popCheck = true;
|
this.$refs['EnrgEffcEqpmDetailPop'].popCheck = true;
|
||||||
// this.setPageData({
|
this.setPageData({
|
||||||
// rowGridSelectKey: e.rowKey,
|
rowGridSelectKey: e.rowKey,
|
||||||
// rowGridSelectData: {
|
rowGridSelectData: {
|
||||||
// ...data,
|
...data,
|
||||||
// fromDt: this.pageData.fromDt,
|
fromDt: this.pageData.fromDt,
|
||||||
// toDt: this.pageData.toDt,
|
toDt: this.pageData.toDt,
|
||||||
// },
|
},
|
||||||
// });
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (e.columnName == 'gdIdxNm' && e.targetType == 'cell') {
|
if (e.columnName == 'gdIdxNm' && e.targetType == 'cell') {
|
||||||
// if(e.columnName == 'ngCnt' && data.ngCnt > 0){
|
// if(e.columnName == 'ngCnt' && data.ngCnt > 0){
|
||||||
this.$refs['EnrgEffcGdIdxDetPop'].popCheck = true;
|
this.$refs['EnrgEffcGdIdxDetPop'].popCheck = true;
|
||||||
// this.setPageData({
|
this.setPageData({
|
||||||
// rowGridSelectKey: e.rowKey,
|
rowGridSelectKey: e.rowKey,
|
||||||
// rowGridSelectData: {
|
rowGridSelectData: {
|
||||||
// ...data,
|
...data,
|
||||||
// fromDt: this.pageData.fromDt,
|
fromDt: this.pageData.fromDt,
|
||||||
// toDt: this.pageData.toDt,
|
toDt: this.pageData.toDt,
|
||||||
// },
|
},
|
||||||
// });
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -147,6 +147,26 @@ export default {
|
|||||||
// }
|
// }
|
||||||
await this.loginChk();
|
await this.loginChk();
|
||||||
},
|
},
|
||||||
|
// async loginChk() {
|
||||||
|
// const DOMAIN = '';
|
||||||
|
// const apiUrl = 'loginChk';
|
||||||
|
// const params = {
|
||||||
|
// local: 'ko',
|
||||||
|
// comId: this.userComId, // 요청 comId는 클라우드 서비스시는 입력 값으로 처리 되어야 할수 있음.
|
||||||
|
// userId: this.userId,
|
||||||
|
// userPswd: this.userPw,
|
||||||
|
// };
|
||||||
|
// const res = await this.$axios.post(DOMAIN + apiUrl, { params: params });
|
||||||
|
// const femsSessionCookie = 3434;
|
||||||
|
// const FEMS_SESSION = femsSessionCookie;
|
||||||
|
// $cookie.set('FEMS_SESSION', FEMS_SESSION);
|
||||||
|
// this.setUserInfo(res.data.dataset.userInfo);
|
||||||
|
// // alert("임시로 로그인 처리 되었습니다. dashboard 페이지로 이동합니다.");
|
||||||
|
// // console.log('res.data.dataset.userInfo: ', res.data.dataset.userInfo);
|
||||||
|
// // return;
|
||||||
|
// this.$router.push({ path: this.myHome.root });
|
||||||
|
|
||||||
|
// },
|
||||||
async loginChk() {
|
async loginChk() {
|
||||||
const DOMAIN = '';
|
const DOMAIN = '';
|
||||||
const apiUrl = 'loginChk';
|
const apiUrl = 'loginChk';
|
||||||
@ -156,15 +176,25 @@ export default {
|
|||||||
userId: this.userId,
|
userId: this.userId,
|
||||||
userPswd: this.userPw,
|
userPswd: this.userPw,
|
||||||
};
|
};
|
||||||
|
console.log('asdasd' + JSON.stringify( DOMAIN) + params)
|
||||||
const res = await this.$axios.post(DOMAIN + apiUrl, { params: params });
|
const res = await this.$axios.post(DOMAIN + apiUrl, { params: params });
|
||||||
const femsSessionCookie = 3434;
|
if (res.data.retnCd === -9001) {
|
||||||
|
alert(res.data.retnMsg);
|
||||||
|
return {};
|
||||||
|
} else {
|
||||||
|
const femsSessionCookie = res.data.dataset.FEMS_SESSION;
|
||||||
const FEMS_SESSION = femsSessionCookie;
|
const FEMS_SESSION = femsSessionCookie;
|
||||||
|
|
||||||
$cookie.set('FEMS_SESSION', FEMS_SESSION);
|
$cookie.set('FEMS_SESSION', FEMS_SESSION);
|
||||||
this.setUserInfo(res.data.dataset.userInfo);
|
this.setUserInfo(res.data.dataset.userInfo);
|
||||||
|
|
||||||
|
console.log('FEMS_SESSION', FEMS_SESSION);
|
||||||
|
console.log('$cookie.get', $cookie.get('FEMS_SESSION'));
|
||||||
|
console.log('userInfo', JSON.stringify(res.data.dataset.userInfo));
|
||||||
|
|
||||||
// alert("임시로 로그인 처리 되었습니다. dashboard 페이지로 이동합니다.");
|
// alert("임시로 로그인 처리 되었습니다. dashboard 페이지로 이동합니다.");
|
||||||
this.$router.push({ path: this.myHome.root });
|
this.$router.push({ path: this.myHome.root });
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import $cookie from 'vue-cookie';
|
import $cookie from 'vue-cookie';
|
||||||
export default ({ $axios, res }) => {
|
export default ({ $axios, res }) => {
|
||||||
|
$axios.defaults.baseURL = '/api/';
|
||||||
$axios.onRequest(config => {
|
$axios.onRequest(config => {
|
||||||
config.headers.common['AUTHENTICATION_FEMS_SESSION'] = `${$cookie.get(
|
config.headers.common['AUTHENTICATION_FEMS_SESSION'] = `${$cookie.get(
|
||||||
'FEMS_SESSION',
|
'FEMS_SESSION',
|
||||||
|
@ -48,542 +48,10 @@ export const actions = {
|
|||||||
// params
|
// params
|
||||||
// );
|
// );
|
||||||
// console.log(res);
|
// console.log(res);
|
||||||
// const list = res.data.dataset.menuList;
|
const list = res.data.dataset.menuList;
|
||||||
|
|
||||||
|
|
||||||
const list = [
|
|
||||||
{
|
|
||||||
comId: 'd12',
|
|
||||||
sysDivCd: 'sysDivCd', //시스템구분
|
|
||||||
menuId: 'dashboardfirst', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0000', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '모니터링',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 9999, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'useFg',// USE_FG (사용여부)
|
|
||||||
rmrk: 'rmrk',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd34',
|
|
||||||
sysDivCd: 'abc', //시스템구분
|
|
||||||
menuId: 'MNU0006', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0001', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'dashboardfirst', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '1. Dashboard',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 888, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'abc',// USE_FG (사용여부)
|
|
||||||
rmrk: 'abc',
|
|
||||||
url: 'ems/base/DashboardPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd100',
|
|
||||||
sysDivCd: 'sysDivCd', //시스템구분
|
|
||||||
menuId: 'menu2', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0000', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'dashboardfirst', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '에너지 사용량',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 9999, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'useFg',// USE_FG (사용여부)
|
|
||||||
rmrk: 'rmrk',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd44',
|
|
||||||
sysDivCd: 'enrguplan', //시스템구분
|
|
||||||
menuId: 'MNU0006', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0002', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'dashboardfirst', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '2. Establish energy consumption plans',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 888, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'enrguplan',// USE_FG (사용여부)
|
|
||||||
rmrk: 'enrguplan',
|
|
||||||
url: 'ems/effc/EnrgUsePlanPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd35',
|
|
||||||
sysDivCd: 'energyusage', //시스템구분
|
|
||||||
menuId: 'children2', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0080', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu2', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '3. Energy usage',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5555, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'energyusage',// USE_FG (사용여부)
|
|
||||||
rmrk: 'energyusage',
|
|
||||||
url: 'ems/effc/EnrgUseTotSummPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd60',
|
|
||||||
sysDivCd: 'energyperformance', //시스템구분
|
|
||||||
menuId: 'children2', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0081', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu2', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '4. 에너지 사용량 실적',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5555, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'energyperformance',// USE_FG (사용여부)
|
|
||||||
rmrk: 'energyperformance',
|
|
||||||
url: 'ems/effc/EqpmIndMntrPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd69',
|
|
||||||
sysDivCd: 'MNU0104', //시스템구분
|
|
||||||
menuId: 'MNU0091', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0082', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu2', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '5. Energy Use Equipment',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5562, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'enrgUseEqpm',// USE_FG (사용여부)
|
|
||||||
rmrk: 'enrgUseEqpm',
|
|
||||||
url: 'ems/effc/EnrgUseEqpmDetlMntrPage',
|
|
||||||
lvl: 1
|
|
||||||
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd351',
|
|
||||||
sysDivCd: 'energy effc', //시스템구분
|
|
||||||
menuId: 'MNU0116', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0083', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu2', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '6. Today efficiency status',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5554, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'energy effc',// USE_FG (사용여부)
|
|
||||||
rmrk: 'energy effc',
|
|
||||||
url: 'ems/effc/EnrgEffcTotSummPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd48',
|
|
||||||
sysDivCd: 'energyeffc', //시스템구분
|
|
||||||
menuId: 'MNU0106', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0084', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu2', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '7. Energy Efficiency Equipment',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5559, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'energyeffc',// USE_FG (사용여부)
|
|
||||||
rmrk: 'energyeffc',
|
|
||||||
url: 'ems/effc/EnrgEffcEqpmDetlMntrPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd336',
|
|
||||||
sysDivCd: 'engrepmng', //시스템구분
|
|
||||||
menuId: 'MNU0106', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0908', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu2', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '8. 효율성 지표 보고서',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5558, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'engrepmng',// USE_FG (사용여부)
|
|
||||||
rmrk: 'engrepmng',
|
|
||||||
url: 'ems/effc/EnrgReptMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd100',
|
|
||||||
sysDivCd: 'sysDivCd', //시스템구분
|
|
||||||
menuId: 'menu3', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0000', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'dashboardfirst', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '에너지 효율운전',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 9999, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'useFg',// USE_FG (사용여부)
|
|
||||||
rmrk: 'rmrk',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd337',
|
|
||||||
sysDivCd: 'datasetmng', //시스템구분
|
|
||||||
menuId: 'MNU0104', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0909', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu3', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '9. 전기에너지 MAP',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5556, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'datasetmng',// USE_FG (사용여부)
|
|
||||||
rmrk: 'datasetmng',
|
|
||||||
url: 'ems/effc/EnrgMapPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd36',
|
|
||||||
sysDivCd: 'datasetmng', //시스템구분
|
|
||||||
menuId: 'MNU0104', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0910', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu3', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '10. Dataset management',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5557, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'datasetmng',// USE_FG (사용여부)
|
|
||||||
rmrk: 'datasetmng',
|
|
||||||
url: 'ems/effc/DataSetMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd49',
|
|
||||||
sysDivCd: 'tagTrend', //시스템구분
|
|
||||||
menuId: 'MNU0104', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0036', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu3', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '11. Tag Trend',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5562, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'tagTrend',// USE_FG (사용여부)
|
|
||||||
rmrk: 'tagTrend',
|
|
||||||
url: 'ems/effc/TagTrndPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd49',
|
|
||||||
sysDivCd: 'noticemng', //시스템구분
|
|
||||||
menuId: 'MNU0105', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0037', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu3', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '12. Notices Management',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5562, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'noticemng',// USE_FG (사용여부)
|
|
||||||
rmrk: 'noticemng',
|
|
||||||
url: 'comm/base/NoticeMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd57',
|
|
||||||
sysDivCd: 'energyResource', //시스템구분
|
|
||||||
menuId: 'MNU0104', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0039', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu3', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '14. Energy Resource',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5567, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'energyResource',// USE_FG (사용여부)
|
|
||||||
rmrk: 'energyResource',
|
|
||||||
url: 'ems/base/EnrgResourceCenterMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd38',
|
|
||||||
sysDivCd: 'readobj', //시스템구분
|
|
||||||
menuId: 'readobj', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0007', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu3', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '15. Read Object Management',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5558, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'readobj',// USE_FG (사용여부)
|
|
||||||
rmrk: 'readobj',
|
|
||||||
url: 'ems/base/ReadObjectMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd100',
|
|
||||||
sysDivCd: 'sysDivCd', //시스템구분
|
|
||||||
menuId: 'menu4', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0000', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'dashboardfirst', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '에너지 보고서',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 9999, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'useFg',// USE_FG (사용여부)
|
|
||||||
rmrk: 'rmrk',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd48',
|
|
||||||
sysDivCd: 'energyread', //시스템구분
|
|
||||||
menuId: 'MNU0007', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0011', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu4', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '16. Meter Reading',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5559, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'energyread',// USE_FG (사용여부)
|
|
||||||
rmrk: 'energyread',
|
|
||||||
url: 'ems/base/EnrgReadPlaceMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
comId: 'd39',
|
|
||||||
sysDivCd: 'energycost', //시스템구분
|
|
||||||
menuId: 'MNU0006', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0008', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu4', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '17. Process',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5559, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'energycost',// USE_FG (사용여부)
|
|
||||||
rmrk: 'energycost',
|
|
||||||
url: 'ems/base/EnrgCostCenterMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd39',
|
|
||||||
sysDivCd: 'equipmenttype', //시스템구분
|
|
||||||
menuId: 'MNU0006', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0013', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu4', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '18. Type of Equipment',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5559, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'equipmenttype',// USE_FG (사용여부)
|
|
||||||
rmrk: 'equipmenttype',
|
|
||||||
url: 'ems/base/EqpmKindPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd39',
|
|
||||||
sysDivCd: 'equipmentgroup', //시스템구분
|
|
||||||
menuId: 'MNU0006', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0014', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu4', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '19. Facility Group',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5559, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'equipmentgroup',// USE_FG (사용여부)
|
|
||||||
rmrk: 'equipmentgroup',
|
|
||||||
url: 'ems/base/EquipmentGroupMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd46',
|
|
||||||
sysDivCd: 'equipmentmaster', //시스템구분
|
|
||||||
menuId: 'MNU0006', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0920', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu4', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '20. Equipment Master Management',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5557, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'equipmentmaster',// USE_FG (사용여부)
|
|
||||||
rmrk: 'equipmentmaster',
|
|
||||||
url: 'ems/base/EquipmentMasterMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd46',
|
|
||||||
sysDivCd: 'tags', //시스템구분
|
|
||||||
menuId: 'MNU0006', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0921', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu4', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '21. Tags',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5557, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'tags',// USE_FG (사용여부)
|
|
||||||
rmrk: 'tags',
|
|
||||||
url: 'ems/base/TagMngPage_Pagination',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd48',
|
|
||||||
sysDivCd: 'pysclqty', //시스템구분
|
|
||||||
menuId: 'MNU0007', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0075', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu4', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '22. Physical quantity information',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5559, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'pysclqty',// USE_FG (사용여부)
|
|
||||||
rmrk: 'pysclqty',
|
|
||||||
url: 'ems/base/EqpmGrpPysclQtyMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd100',
|
|
||||||
sysDivCd: 'sysDivCd', //시스템구분
|
|
||||||
menuId: 'menu5', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0000', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'dashboardfirst', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '에너지 FLOW',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 9999, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'useFg',// USE_FG (사용여부)
|
|
||||||
rmrk: 'rmrk',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd48',
|
|
||||||
sysDivCd: 'gdidxmng', //시스템구분
|
|
||||||
menuId: 'MNU0007', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0076', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu5', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '23. Guided Indicators',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5559, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'gdidxmng',// USE_FG (사용여부)
|
|
||||||
rmrk: 'gdidxmng',
|
|
||||||
url: 'ems/base/GdIdxMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd48',
|
|
||||||
sysDivCd: 'gdstndmng', //시스템구분
|
|
||||||
menuId: 'MNU0007', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0077', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu5', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '24. Guidelines',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5559, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'gdigdstndmngdxmng',// USE_FG (사용여부)
|
|
||||||
rmrk: 'gdstndmng',
|
|
||||||
url: 'ems/base/GdStndMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd48',
|
|
||||||
sysDivCd: 'effcidxmng', //시스템구분
|
|
||||||
menuId: 'MNU0007', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0012', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu5', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '25. Efficiency Indicators',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5559, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'effcidxmng',// USE_FG (사용여부)
|
|
||||||
rmrk: 'effcidxmng',
|
|
||||||
url: 'ems/base/EffcIdxMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd100',
|
|
||||||
sysDivCd: 'sysDivCd', //시스템구분
|
|
||||||
menuId: 'menu6', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0000', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'dashboardfirst', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '데이터 분석',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 9999, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'useFg',// USE_FG (사용여부)
|
|
||||||
rmrk: 'rmrk',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd40',
|
|
||||||
sysDivCd: 'MNU0006', //시스템구분
|
|
||||||
menuId: 'addInfoMg', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0009', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu6', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '26. Management of Additional Information',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5560, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'addInfoMg',// USE_FG (사용여부)
|
|
||||||
rmrk: 'addInfoMg',
|
|
||||||
url: 'ems/base/AddInfoMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd47',
|
|
||||||
sysDivCd: 'readresultclosemng', //시스템구분
|
|
||||||
menuId: 'MNU0006', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0927', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu6', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '27. 계량 데이터 마감 관리',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5657, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'readresultclosemng',// USE_FG (사용여부)
|
|
||||||
rmrk: 'readresultclosemng',
|
|
||||||
url: 'ems/base/ReadResultCloseMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd47',
|
|
||||||
sysDivCd: 'pastrsltdataread', //시스템구분
|
|
||||||
menuId: 'MNU0006', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0928', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu6', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '28. Metering location Data Inquiry',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5657, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'pastrsltdataread',// USE_FG (사용여부)
|
|
||||||
rmrk: 'pastrsltdataread',
|
|
||||||
url: 'ems/base/PastRsltDataReadPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd47',
|
|
||||||
sysDivCd: 'menumng', //시스템구분
|
|
||||||
menuId: 'MNU0006', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0064', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu6', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '30. Menu Management',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5657, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'menumng',// USE_FG (사용여부)
|
|
||||||
rmrk: 'menumng',
|
|
||||||
url: 'comm/auth/MenuMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd41',
|
|
||||||
sysDivCd: 'roleMg', //시스템구분
|
|
||||||
menuId: 'MNU0006', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG00030', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu6', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '31. Role',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5560, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'roleMg',// USE_FG (사용여부)
|
|
||||||
rmrk: 'roleMg',
|
|
||||||
url: 'comm/auth/RoleMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd47',
|
|
||||||
sysDivCd: 'prgmmng', //시스템구분
|
|
||||||
menuId: 'MNU0006', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0119', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu6', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '34. 프로그램',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5657, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'prgmmng',// USE_FG (사용여부)
|
|
||||||
rmrk: 'prgmmng',
|
|
||||||
url: 'comm/base/PrgmMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd100',
|
|
||||||
sysDivCd: 'sysDivCd', //시스템구분
|
|
||||||
menuId: 'menu7', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0000', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'dashboardfirst', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '데이터 조회',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 9999, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'useFg',// USE_FG (사용여부)
|
|
||||||
rmrk: 'rmrk',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd47',
|
|
||||||
sysDivCd: 'batchmng', //시스템구분
|
|
||||||
menuId: 'MNU0006', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0019', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu7', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '35. Batch Management',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5657, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'batchmng',// USE_FG (사용여부)
|
|
||||||
rmrk: 'batchmng',
|
|
||||||
url: 'comm/base/BatchMngPage',
|
|
||||||
lvl: 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd100',
|
|
||||||
sysDivCd: 'sysDivCd', //시스템구분
|
|
||||||
menuId: 'menu8', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG0000', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'dashboardfirst', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '데이터 조회',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 9999, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'useFg',// USE_FG (사용여부)
|
|
||||||
rmrk: 'rmrk',
|
|
||||||
lvl: 1,
|
|
||||||
icon: "mdi-chevron-down",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
comId: 'd42',
|
|
||||||
sysDivCd: 'MNU0006', //시스템구분
|
|
||||||
menuId: 'batchLg', // MENU_ID (메뉴ID)
|
|
||||||
prgmId: 'PRG00010', // PRGM_ID (프로그램ID)
|
|
||||||
upMenuId: 'menu8', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
menuNm: '36. Batch log',// MENU_NM (메뉴명)
|
|
||||||
sortSeq: 5561, // SORT_SEQ (정렬순서)
|
|
||||||
useFg: 'batchLg',// USE_FG (사용여부)
|
|
||||||
rmrk: 'batchLg',
|
|
||||||
url: 'comm/base/BatchLogMngPage',
|
|
||||||
lvl: 1,
|
|
||||||
},
|
|
||||||
// {
|
|
||||||
// comId: 'd37',
|
|
||||||
// sysDivCd: 'energyeffc', //시스템구분
|
|
||||||
// menuId: 'energyeffc', // MENU_ID (메뉴ID)
|
|
||||||
// prgmId: 'PRG0006', // PRGM_ID (프로그램ID)
|
|
||||||
// upMenuId: 'dashboardfirst', // UP_MENU_ID (상위메뉴ID)
|
|
||||||
// menuNm: 'Energy Efficiency Equipment',// MENU_NM (메뉴명)
|
|
||||||
// sortSeq: 5557, // SORT_SEQ (정렬순서)
|
|
||||||
// useFg: 'energyeffc',// USE_FG (사용여부)
|
|
||||||
// rmrk: 'energyeffc',
|
|
||||||
// url: 'ems/effc/EnrgEffcEqpmDetlMntrPage'
|
|
||||||
// },
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
let myMenu = [];
|
let myMenu = [];
|
||||||
if (list.length > 0) {
|
if (list.length > 0) {
|
||||||
|
|
||||||
myMenu = list
|
myMenu = list
|
||||||
// .filter(ele => {
|
// .filter(ele => {
|
||||||
// return ele.useFg === "1";
|
// return ele.useFg === "1";
|
||||||
@ -593,13 +61,14 @@ export const actions = {
|
|||||||
id: item.prgmId || i,
|
id: item.prgmId || i,
|
||||||
upMenuId: item.upMenuId || item.menuNm,
|
upMenuId: item.upMenuId || item.menuNm,
|
||||||
// title: item.menuNm
|
// title: item.menuNm
|
||||||
icon: 'mdi-chevron-down', // 아이콘은,. 값을 받아오지 않는 이상 별도로 상수화해서 prgmId 값을 키로 꺼내써야 할듯,
|
// icon: '', // 아이콘은,. 값을 받아오지 않는 이상 별도로 상수화해서 prgmId 값을 키로 꺼내써야 할듯,
|
||||||
to: state[item.prgmId],
|
to: state[item.prgmId],
|
||||||
// to: '' // 경로는,. 값을 받아오지 않는 이상 아이콘과 마찬가지로 짝지어 상수화 하거나 sysDivCd, prgmId 값 등을 이용해 조합해서 route를 구성해야 할듯,
|
// to: '' // 경로는,. 값을 받아오지 않는 이상 아이콘과 마찬가지로 짝지어 상수화 하거나 sysDivCd, prgmId 값 등을 이용해 조합해서 route를 구성해야 할듯,
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// console.log("myMenu::", myMenu);
|
// console.log("myMenu::", myMenu);
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch('setMenuTree', myMenu);
|
dispatch('setMenuTree', myMenu);
|
||||||
commit(
|
commit(
|
||||||
'setMenuItems',
|
'setMenuItems',
|
||||||
@ -634,7 +103,7 @@ export const actions = {
|
|||||||
);
|
);
|
||||||
Object.getOwnPropertyNames(tmpLsit)
|
Object.getOwnPropertyNames(tmpLsit)
|
||||||
.reverse()
|
.reverse()
|
||||||
.forEach(function (val, idx, array) {
|
.forEach(function(val, idx, array) {
|
||||||
array.map(obj => {
|
array.map(obj => {
|
||||||
tmpLsit[obj].filter(v => {
|
tmpLsit[obj].filter(v => {
|
||||||
if (val === v.menuId) {
|
if (val === v.menuId) {
|
||||||
@ -649,7 +118,7 @@ export const actions = {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
console.log('menu test:', tmpLsit["0"]);
|
// console.log(tmpLsit["0"]);
|
||||||
commit('setTreevieItems', tmpLsit.menu['0'], { root: true });
|
commit('setTreevieItems', tmpLsit['0'], { root: true });
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user