Compare commits
8 Commits
edab77d0c6
...
524023b3e1
Author | SHA1 | Date | |
---|---|---|---|
524023b3e1 | |||
cb2d4e2e91 | |||
dca6673a11 | |||
15aa03b1c1 | |||
bbd037dcb4 | |||
bcf4015cae | |||
dd9739bf74 | |||
ab702c4495 |
@ -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"
|
||||||
|
:false-value="false"
|
||||||
|
:color="isDarkMode ? '#fff' : '#1890ff'"
|
||||||
@change="modifyValue"
|
@change="modifyValue"
|
||||||
>
|
></v-checkbox>
|
||||||
</a-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
|
||||||
|
@ -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,25 @@ export default {
|
|||||||
},
|
},
|
||||||
async getRowGridData() {
|
async getRowGridData() {
|
||||||
this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
// var res = await this.postApiReturn({
|
c
|
||||||
// apiKey: 'selectEqpmDetailPop',
|
var res = await this.postApiReturn({
|
||||||
// resKey: 'eqpmDetlPopData',
|
apiKey: 'selectEqpmDetailPop',
|
||||||
// sendParam: {
|
resKey: 'eqpmDetlPopData',
|
||||||
// gdIdxId : this.myBindingData.gdIdxId,
|
sendParam: {
|
||||||
// eqpmId : this.myBindingData.eqpmId,
|
gdIdxId: this.myBindingData.gdIdxId,
|
||||||
// fromDt : this.myBindingData.fromDt,
|
eqpmId: this.myBindingData.eqpmId,
|
||||||
// toDt : this.myBindingData.toDt
|
fromDt: this.myBindingData.fromDt,
|
||||||
// },
|
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 {
|
|
||||||
// this.selectValueList02 = [];
|
|
||||||
// this.selectValue02 = [];
|
|
||||||
// }
|
// }
|
||||||
|
} else {
|
||||||
|
this.selectValueList02 = [];
|
||||||
|
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 {
|
|
||||||
// this.selectValueList01 = [];
|
|
||||||
// this.selectValue01 = null;
|
|
||||||
// }
|
// }
|
||||||
|
} else {
|
||||||
|
this.selectValueList01 = [];
|
||||||
|
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,
|
||||||
|
@ -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,58 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
gridName: 'effcInfoGrid',
|
gridName: 'effcInfoGrid',
|
||||||
sampleDataPath: {
|
// 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,
|
||||||
|
@ -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,
|
||||||
|
@ -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>
|
||||||
|
@ -1,107 +1,86 @@
|
|||||||
<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-card class="" >
|
||||||
|
<div class="pa-5">
|
||||||
<v-row align="center" no-gutters >
|
<v-row align="center" no-gutters >
|
||||||
<v-col :cols="12">
|
<v-col :cols="12" class="d-flex align-center justify-space-between">
|
||||||
<v-card>
|
<v-card-title class="pa-0 custom-title-4">공지사항</v-card-title>
|
||||||
<div class="d-flex align-center justify-space-between pa-5">
|
|
||||||
<v-card-title class="pa-0">공지사항</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-card>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
<v-col :cols="12" ref="contents" class="mt-5">
|
||||||
<v-row ref="contents">
|
|
||||||
<v-col :cols="12">
|
|
||||||
<v-card class="pa-5">
|
|
||||||
<div ref="gridParent" class="h100 px-50">
|
<div ref="gridParent" class="h100 px-50">
|
||||||
<component :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
|
<component :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
|
||||||
ref="noticeMngGrid" @getRowsData="getRowData" :dataPath="dataPathMock" />
|
ref="noticeMngGrid" @getRowsData="getRowData" :dataPath="dataPathMock" />
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="h100 W100 px-50" style="min-height:calc(100% - 70px)">
|
|
||||||
</div> -->
|
|
||||||
</v-card>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</div>
|
</div>
|
||||||
|
</v-card>
|
||||||
|
</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"
|
||||||
|
icon="edit">수정</a-button>
|
||||||
<a-button @click="viewPageButtonGroupClickEvent('delete')" type="danger" ghost icon="delete">삭제</a-button>
|
<a-button @click="viewPageButtonGroupClickEvent('delete')" type="danger" ghost icon="delete">삭제</a-button>
|
||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" class="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);">
|
|
||||||
<v-col :cols="12" style="height: 100%;">
|
|
||||||
<v-card class="pa-5" style="overflow-y:auto;">
|
|
||||||
<viewer v-if="viewActionData.viewerFlag" ref="tuiViewer" height="inherit"
|
<viewer v-if="viewActionData.viewerFlag" ref="tuiViewer" height="inherit"
|
||||||
:initialValue="viewActionData.content" theme="white"
|
:initialValue="viewActionData.content" theme="white"
|
||||||
:class="isDarkMode ? 'theme--white' : 'theme--black'" />
|
: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">
|
|
||||||
<v-card-subtitle class="pa-0">파일목록</v-card-subtitle>
|
|
||||||
</v-col>
|
|
||||||
<v-col :cols="11">
|
|
||||||
<v-row v-for="fileData in viewActionData.fileData" :key="fileData.apndFileId">
|
|
||||||
<a @click.prevent="downloadFile(fileData)">
|
<a @click.prevent="downloadFile(fileData)">
|
||||||
<div class="search-box-label">
|
<div class="d-flex justify-space-between search-box-label">
|
||||||
{{ fileData.apndFileNm + '.' + fileData.apndFileExt }}
|
<v-icon>mdi-paperclip</v-icon>
|
||||||
|
<span class="file-item-name">{{ fileData.apndFileNm + '.' + fileData.apndFileExt }}</span>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</v-row>
|
</div>
|
||||||
</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-col :cols="12">
|
|
||||||
<v-card>
|
<v-card>
|
||||||
<v-card-title>공지사항</v-card-title>
|
<div class="pa-5">
|
||||||
<v-row class="pa-5">
|
<v-row class="pa-50">
|
||||||
<v-col :cols="12" class="custom-title-4-new">
|
<v-col :cols="12" class="">
|
||||||
제목
|
<v-card-title class="custom-title-4 pa-0">공지사항</v-card-title>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12">
|
<v-col :cols="12" class="custom-title-4-new mt-4">
|
||||||
|
<p class="custom-title-3 mb-2">제목</p>
|
||||||
<v-text-field v-model="writeActionData.title" class="v-input__custom" hide-details outlined>
|
<v-text-field v-model="writeActionData.title" class="v-input__custom" hide-details outlined>
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
@ -109,53 +88,82 @@
|
|||||||
<editor ref="tuiEditor" height="100%" initialEditType="wysiwyg" />
|
<editor ref="tuiEditor" height="100%" initialEditType="wysiwyg" />
|
||||||
</v-col>
|
</v-col>
|
||||||
|
|
||||||
<v-col :cols="12" class="custom-title-4-new mt-2">
|
<v-col :cols="12" class="mt-2">
|
||||||
|
<p class="custom-title-3 mb-2">
|
||||||
파일첨부
|
파일첨부
|
||||||
|
</p>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="6">
|
<v-col :cols="6">
|
||||||
<!-- background-color="#47535c" -->
|
<div class="" v-if="writeActionData.fileData">
|
||||||
<v-file-input multiple show-size v-model="writeActionData.fileData" hide-details="true"
|
<div
|
||||||
clear-icon="delete" chips label="업로드" flat hide-input outlined>
|
v-for="(fileData, index) in writeActionData.fileData"
|
||||||
<!-- append-icon="cancel" -->
|
:key="fileData.apndFileId"
|
||||||
</v-file-input>
|
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="writeActionData.fileData.splice(index, 1)" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<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>
|
||||||
<v-col :cols="12" class="text-right">
|
<v-col :cols="12" class="text-right">
|
||||||
<a-button @click="writePageButtonGroupClickEvent('cancel')" :ripple="false" class="mr-2">취소</a-button>
|
<a-button @click="writePageButtonGroupClickEvent('cancel')" :ripple="false" class="mr-2">취소</a-button>
|
||||||
<a-button @click="writePageButtonGroupClickEvent('write')" :ripple="false" type="primary">등록</a-button>
|
<a-button @click="writePageButtonGroupClickEvent('write')" :ripple="false" type="primary">등록</a-button>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
|
</div>
|
||||||
</v-card>
|
</v-card>
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
|
|
||||||
</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>
|
</p>
|
||||||
<v-col :cols="12" >
|
<div class="" v-if="replyActionData.fileData">
|
||||||
<v-file-input
|
<div
|
||||||
multiple
|
v-for="(fileData, index) in replyActionData.fileData"
|
||||||
show-size
|
:key="fileData.apndFileId"
|
||||||
v-model="replyActionData.fileData"
|
class="file-item d-flex justify-space-between">
|
||||||
hide-details="true">
|
<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">
|
||||||
@ -164,80 +172,54 @@
|
|||||||
</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-card>
|
||||||
|
<div class="pa-5">
|
||||||
<v-row align="center" no-gutters>
|
<v-row align="center" no-gutters>
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card>
|
<v-card-title class="custom-title-4 pa-0">공지사항</v-card-title>
|
||||||
<v-card-title>공지사항</v-card-title>
|
|
||||||
</v-card>
|
|
||||||
</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-model="updateActionData.title" class="v-input__custom" placeholder="제목" hide-details>
|
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
</v-card>
|
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
<v-col :cols="12" style="height: calc(90vh - 270px);" class="mt-4" >
|
||||||
<v-row style="height:calc(100% - 342px)">
|
|
||||||
<v-col :cols="12">
|
|
||||||
<editor ref="tuiUpdateEditor" height="100%" initialEditType="wysiwyg"
|
<editor ref="tuiUpdateEditor" height="100%" initialEditType="wysiwyg"
|
||||||
:initialValue="updateActionData.content" />
|
:initialValue="updateActionData.content" />
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
<v-col :cols="6">
|
||||||
<v-row>
|
<p class="pa-0 mb-2 custom-title-4-new-1">파일첨부</p>
|
||||||
<v-col :cols="12">
|
<div class="" v-if="updateActionData.fileData">
|
||||||
<v-card class="pa-5">
|
<div
|
||||||
<v-row align="center" no-gutters>
|
v-for="(fileData, index) in updateActionData.fileData"
|
||||||
<v-col cols="1">
|
:key="fileData.apndFileId"
|
||||||
<v-card-subtitle class="pa-0">파일첨부</v-card-subtitle>
|
class="file-item d-flex justify-space-between">
|
||||||
</v-col>
|
<div class="file-item-detail">
|
||||||
<v-col :cols="4">
|
<v-icon>mdi-paperclip</v-icon>
|
||||||
<v-file-input multiple background-color="#47535c" show-size v-model="updateActionData.fileData"
|
<span href="#" class="file-item-name">{{ fileData.name }}</span>
|
||||||
hide-details="true">
|
</div>
|
||||||
|
<a-icon type="delete" class="v-icon pointer" @click="updateActionData.fileData.splice(index, 1)" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a-button class="mt-2" icon="upload" @click="$refs.updateInputFile.$refs.input.click()" >
|
||||||
|
업로드
|
||||||
|
</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-card>
|
|
||||||
</v-col>
|
|
||||||
</v-row>
|
|
||||||
<v-row>
|
|
||||||
<v-col :cols="12">
|
|
||||||
<v-card class="pa-5">
|
|
||||||
<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-col :cols="12" class="text-right">
|
||||||
<v-btn @click="updatePageButtonGroupClickEvent('update')" :ripple="false">등록</v-btn>
|
<a-button @click="updatePageButtonGroupClickEvent('cancel')" >취소</a-button>
|
||||||
<v-btn @click="updatePageButtonGroupClickEvent('cancel')" :ripple="false">취소</v-btn>
|
<a-button @click="updatePageButtonGroupClickEvent('update')" type="primary" >등록</a-button>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</div>
|
</div>
|
||||||
|
</v-card>
|
||||||
|
</div>
|
||||||
<!-- 수정 페이지 끝 -->
|
<!-- 수정 페이지 끝 -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -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">
|
||||||
@ -212,66 +212,66 @@ export default {
|
|||||||
disabledFlag: false,
|
disabledFlag: false,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
loadGrid: true,
|
loadGrid: false,
|
||||||
dataPathExample: {
|
// 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 +904,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 +1443,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>
|
File diff suppressed because it is too large
Load Diff
@ -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',
|
||||||
|
@ -157,7 +157,7 @@ export const actions = {
|
|||||||
{
|
{
|
||||||
comId: 'd48',
|
comId: 'd48',
|
||||||
sysDivCd: 'energyeffc', //시스템구분
|
sysDivCd: 'energyeffc', //시스템구분
|
||||||
menuId: 'MNU0106', // MENU_ID (메뉴ID)
|
menuId: 'MNU0097', // MENU_ID (메뉴ID)
|
||||||
prgmId: 'PRG0084', // PRGM_ID (프로그램ID)
|
prgmId: 'PRG0084', // PRGM_ID (프로그램ID)
|
||||||
upMenuId: 'menu2', // UP_MENU_ID (상위메뉴ID)
|
upMenuId: 'menu2', // UP_MENU_ID (상위메뉴ID)
|
||||||
menuNm: '7. Energy Efficiency Equipment',// MENU_NM (메뉴명)
|
menuNm: '7. Energy Efficiency Equipment',// MENU_NM (메뉴명)
|
||||||
|
Reference in New Issue
Block a user