Compare commits
9 Commits
dev-luannv
...
41095098e2
Author | SHA1 | Date | |
---|---|---|---|
41095098e2 | |||
28fe49d39f | |||
cd7a6362a5 | |||
39cb5d2883 | |||
dcdcf772ce | |||
40addfe639 | |||
238fdb5fc5 | |||
bfe206a2bf | |||
a6e8e6cf86 |
@ -692,6 +692,43 @@ a {
|
|||||||
}
|
}
|
||||||
|
|
||||||
&>.v-treeview-node {
|
&>.v-treeview-node {
|
||||||
|
|
||||||
|
.v-treeview-node--active {
|
||||||
|
background-color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"v-treeview-node-label-active-bg"
|
||||||
|
);
|
||||||
|
border: 1px solid map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"v-treeview-node-label-active-border"
|
||||||
|
);
|
||||||
|
border-radius: 8px;
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
background-color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"v-treeview-node-subroot-backgroundColor"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
&>.v-treeview-node__content {
|
||||||
|
.v-treeview-node__label {
|
||||||
|
color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"v-treeview-node-label-active-color"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
.v-icon {
|
||||||
|
color: map-deep-get($config,
|
||||||
|
#{$theme},
|
||||||
|
"v-treeview-icon-active-color"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
&>.v-treeview-node__root {
|
&>.v-treeview-node__root {
|
||||||
&:before {
|
&:before {
|
||||||
background-color: map-deep-get($config,
|
background-color: map-deep-get($config,
|
||||||
@ -737,6 +774,7 @@ a {
|
|||||||
|
|
||||||
&>.v-treeview-node__children {
|
&>.v-treeview-node__children {
|
||||||
&>.v-treeview-node {
|
&>.v-treeview-node {
|
||||||
|
|
||||||
&>.v-treeview-node__root {
|
&>.v-treeview-node__root {
|
||||||
&:before {
|
&:before {
|
||||||
background-color: map-deep-get($config,
|
background-color: map-deep-get($config,
|
||||||
@ -794,117 +832,6 @@ a {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
&>.v-treeview-node--active {
|
|
||||||
&:before {
|
|
||||||
background-color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"v-treeview-node-subroot-backgroundColor"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
&>.v-treeview-node__content {
|
|
||||||
.v-treeview-node__label {
|
|
||||||
color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"v-treeview-node-label-active-color"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
.v-icon {
|
|
||||||
color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"v-treeview-icon-active-color"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&>.v-treeview-node__children {
|
|
||||||
& .v-treeview-node {
|
|
||||||
&>.v-treeview-node__root {
|
|
||||||
&:before {
|
|
||||||
background-color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"v-treeview-node-subroot-backgroundColor"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
&>.v-treeview-node__content {
|
|
||||||
.v-treeview-node__label {
|
|
||||||
color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"v-treeview-node-label-color"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
.v-icon {
|
|
||||||
color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"v-treeview-icon-color"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&:not(.v-treeview-node--active):hover {
|
|
||||||
&:before {
|
|
||||||
background-color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"v-treeview-leaf-active-backgroundColor"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
&>.v-treeview-node__content {
|
|
||||||
.v-treeview-node__label {
|
|
||||||
color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"v-treeview-leaf-active-color"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
.v-icon {
|
|
||||||
color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"v-treeview-leaf-active-color"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&>.v-treeview-node--active {
|
|
||||||
background-color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"v-treeview-node-label-active-bg"
|
|
||||||
);
|
|
||||||
border: 1px solid map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"v-treeview-node-label-active-border"
|
|
||||||
);
|
|
||||||
border-radius: 8px;
|
|
||||||
|
|
||||||
&:before {
|
|
||||||
opacity: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
&>.v-treeview-node__content {
|
|
||||||
.v-treeview-node__label {
|
|
||||||
color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"v-treeview-node-label-active-color"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
.v-icon {
|
|
||||||
color: map-deep-get($config,
|
|
||||||
#{$theme},
|
|
||||||
"v-treeview-node-label-active-color"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&[aria-expanded="true"] {
|
&[aria-expanded="true"] {
|
||||||
& .v-treeview-node__root>.v-treeview-node__content {
|
& .v-treeview-node__root>.v-treeview-node__content {
|
||||||
.v-treeview-node__label {
|
.v-treeview-node__label {
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
:data="chkGridData"
|
:data="chkGridData"
|
||||||
:columns="chkGridColumns"
|
:columns="chkGridColumns"
|
||||||
:options="chkGridOptions"
|
:options="chkGridOptions"
|
||||||
@mousedown="onMousedown"
|
|
||||||
@click="startEditing"
|
@click="startEditing"
|
||||||
@editingFinish="editingFinish"
|
@editingFinish="editingFinish"
|
||||||
@dblclick="dblClick"
|
@dblclick="dblClick"
|
||||||
@mouseover="mouseoverEvent"
|
@mouseover="mouseoverEvent"
|
||||||
@mouseout="mouseoutEvent"
|
@mouseout="mouseoutEvent"
|
||||||
|
@mousedown="onMousedown"
|
||||||
@focusChange="focusChangeEvt"
|
@focusChange="focusChangeEvt"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
@ -251,11 +251,9 @@ export default {
|
|||||||
this.gridInstance.invoke('check', rowData.rowKey, instance);
|
this.gridInstance.invoke('check', rowData.rowKey, instance);
|
||||||
},
|
},
|
||||||
setSelectionRange(rowKey) {
|
setSelectionRange(rowKey) {
|
||||||
// console.log("------------------DEBUG-------setSelectionRange:", rowKey);
|
|
||||||
const rowDatas = this.gridInstance.invoke('getData');
|
const rowDatas = this.gridInstance.invoke('getData');
|
||||||
rowDatas.forEach(item => {
|
rowDatas.forEach(item => {
|
||||||
if (item.rowKey == rowKey) {
|
if (item.rowKey == rowKey) {
|
||||||
// console.log("------------------DEBUG-------setSelectionRange---item:", item);
|
|
||||||
this.gridInstance.invoke(
|
this.gridInstance.invoke(
|
||||||
'addRowClassName',
|
'addRowClassName',
|
||||||
item.rowKey,
|
item.rowKey,
|
||||||
@ -271,11 +269,14 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
onMousedown(evt) {
|
onMousedown(evt) {
|
||||||
// console.log("------------------DEBUG-------onMousedown:", evt);
|
this.handleSelectedRow(evt);
|
||||||
this.focusChangeEvt(evt);
|
|
||||||
},
|
},
|
||||||
focusChangeEvt(e) {
|
focusChangeEvt(e) {
|
||||||
// console.log("------------------DEBUG-------focusChangeEvt:", e);
|
if(e.rowKey === 0) {
|
||||||
|
this.handleSelectedRow(e);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleSelectedRow(e) {
|
||||||
// console.log('focusChangeEvt1...')
|
// console.log('focusChangeEvt1...')
|
||||||
if (this.preventFocusChangeEvent(e)) {
|
if (this.preventFocusChangeEvent(e)) {
|
||||||
// console.log('prevent focusChangeEvt')
|
// console.log('prevent focusChangeEvt')
|
||||||
@ -283,7 +284,7 @@ export default {
|
|||||||
}
|
}
|
||||||
// console.log('focusChangeEvt2...')
|
// console.log('focusChangeEvt2...')
|
||||||
// cell 선택시 row 선택 method
|
// cell 선택시 row 선택 method
|
||||||
if (e.rowKey >= 0) {
|
if (e.rowKey > -1) {
|
||||||
this.$emit(
|
this.$emit(
|
||||||
'getRowsData',
|
'getRowsData',
|
||||||
this.gridInstance.invoke('getRow', e.rowKey),
|
this.gridInstance.invoke('getRow', e.rowKey),
|
||||||
@ -296,7 +297,6 @@ export default {
|
|||||||
this.sendSelectedRowData(e.rowKey);
|
this.sendSelectedRowData(e.rowKey);
|
||||||
},
|
},
|
||||||
startEditing(e) {
|
startEditing(e) {
|
||||||
// console.log("------------------DEBUG-------startEditing:", e);
|
|
||||||
// console.log('startEditing1...')
|
// console.log('startEditing1...')
|
||||||
if (this.preventFocusChangeEvent(e)) {
|
if (this.preventFocusChangeEvent(e)) {
|
||||||
// console.log('prevent startEditing')
|
// console.log('prevent startEditing')
|
||||||
@ -323,7 +323,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async editingFinish(e) {
|
async editingFinish(e) {
|
||||||
// console.log('------------------DEBUG-------editingFinish:', e);
|
|
||||||
// console.log("Editing END E::", e);
|
// console.log("Editing END E::", e);
|
||||||
// editor 간 이동시 수정되는 문제 수정
|
// editor 간 이동시 수정되는 문제 수정
|
||||||
// e.rowEditingFg: grid의 한 row를 한번에 수정할 시 각각의 cell 마다 click 이벤트가 발생하지 않아 this.editorStartKey값이 제대로 입력 되지 않는 경우를 대비하여 만든 Fg
|
// e.rowEditingFg: grid의 한 row를 한번에 수정할 시 각각의 cell 마다 click 이벤트가 발생하지 않아 this.editorStartKey값이 제대로 입력 되지 않는 경우를 대비하여 만든 Fg
|
||||||
@ -685,7 +684,6 @@ export default {
|
|||||||
? this.gridInstance.invoke('getFocusedCell').rowKey
|
? this.gridInstance.invoke('getFocusedCell').rowKey
|
||||||
: eventRowKey;
|
: eventRowKey;
|
||||||
var rowData = this.gridInstance.invoke('getRow', rowKey);
|
var rowData = this.gridInstance.invoke('getRow', rowKey);
|
||||||
// console.log('------------------DEBUG-------sendSelectedRowData:', {eventRowKey, rowKey});
|
|
||||||
this.$emit('sendSelectedRowStatInfo', rowData);
|
this.$emit('sendSelectedRowStatInfo', rowData);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -280,51 +280,40 @@ export default {
|
|||||||
modalKey: this.myModalKey,
|
modalKey: this.myModalKey,
|
||||||
gridKey: this.grid_01,
|
gridKey: this.grid_01,
|
||||||
modalDataKey: this.modalDataKey,
|
modalDataKey: this.modalDataKey,
|
||||||
value: [{ header: '위치정보', name: 'eccNm' }],
|
value: [
|
||||||
|
{
|
||||||
|
align: 'center',
|
||||||
|
width: 30,
|
||||||
|
minWidth: 60,
|
||||||
|
formatter: (props) => {
|
||||||
|
return `<span class="custom-radio"><span class="radio-mark"></span></span>`;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ header: '위치정보', name: 'eccNm' }
|
||||||
|
],
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
async getGridData() {
|
async getGridData() {
|
||||||
// this.loadGrid = false;
|
this.loadGrid = false;
|
||||||
|
|
||||||
// const res = await this.postApiReturn({
|
const res = await this.postApiReturn({
|
||||||
// apiKey: 'selectEccBaseInfo',
|
apiKey: 'selectEccBaseInfo',
|
||||||
// resKey: 'eccBaseInfoData',
|
resKey: 'eccBaseInfoData',
|
||||||
// sendParam: {
|
sendParam: {
|
||||||
// blocId: this.myBindingData.blocId,
|
blocId: this.myBindingData.blocId,
|
||||||
// eqpmYn: '0',
|
eqpmYn: '0',
|
||||||
// search: this.searchWord,
|
search: this.searchWord,
|
||||||
// },
|
},
|
||||||
// });
|
});
|
||||||
|
|
||||||
// const setTreeData = await this.setTree({
|
const setTreeData = await this.setTree({
|
||||||
// gridKey: this.gridNameTree,
|
gridKey: this.gridNameTree,
|
||||||
// treeKey: 'ECC_ID',
|
treeKey: 'ECC_ID',
|
||||||
// value: res.map(item => ({
|
value: res.map(item => ({
|
||||||
// ...item,
|
|
||||||
// eccNm: item.eccNm,
|
|
||||||
// })),
|
|
||||||
// });
|
|
||||||
|
|
||||||
//mockdata eccNm
|
|
||||||
|
|
||||||
|
|
||||||
let res = [
|
|
||||||
{ ECC_ID: 'ECC001', eccNm: '서울 본사', iconShow: false, align: 'center' },
|
|
||||||
{ ECC_ID: 'ECC002', eccNm: '부산 지사', useIcon: false, align: 'center' },
|
|
||||||
{ ECC_ID: 'ECC003', eccNm: '대구 센터', useIcon: false, align: 'center' },
|
|
||||||
{ ECC_ID: 'ECC004', eccNm: '광주 사무소' , useIcon: false, align: 'center'},
|
|
||||||
{ ECC_ID: 'ECC005', eccNm: '인천 물류창고' , useIcon: false, align: 'center'},
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
const setTreeData = {
|
|
||||||
ROOT: res.map(item => ({
|
|
||||||
...item,
|
...item,
|
||||||
eccNm: item.eccNm,
|
eccNm: item.eccNm,
|
||||||
}))
|
})),
|
||||||
};
|
});
|
||||||
|
|
||||||
// console.log(res);
|
|
||||||
|
|
||||||
this.setModalGridData({
|
this.setModalGridData({
|
||||||
modalKey: this.myModalKey,
|
modalKey: this.myModalKey,
|
||||||
|
@ -96,20 +96,20 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
selectedEqpmKindId(val) {
|
selectedEqpmKindId(val) {
|
||||||
if (val) {
|
if (val) {
|
||||||
this.detailList[2].eqpmKindId = val;
|
this.detailList[1].eqpmKindId = val;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
selectedEqpmGrpId(val) {
|
selectedEqpmGrpId(val) {
|
||||||
// if(!val){
|
// if(!val){
|
||||||
// this.detailList[2].eqpmGrpId = '';
|
// this.detailList[1].eqpmGrpId = '';
|
||||||
// }else{
|
// }else{
|
||||||
// this.detailList[2].eqpmGrpId = val;
|
// this.detailList[1].eqpmGrpId = val;
|
||||||
// }
|
// }
|
||||||
// if(val){
|
// if(val){
|
||||||
// this.detailList[2].eqpmGrpId = val;
|
// this.detailList[1].eqpmGrpId = val;
|
||||||
// }
|
// }
|
||||||
// else if(val == null || val == ''){
|
// else if(val == null || val == ''){
|
||||||
// this.detailList[2].eqpmGrpId = '';
|
// this.detailList[1].eqpmGrpId = '';
|
||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -238,10 +238,10 @@ export default {
|
|||||||
},
|
},
|
||||||
async getRowData(data, gridName) {
|
async getRowData(data, gridName) {
|
||||||
if (data.rowStat === 'I') {
|
if (data.rowStat === 'I') {
|
||||||
this.detailList[2].disabled = false;
|
this.detailList[1].disabled = false;
|
||||||
this.detailList[3].disabled = false;
|
this.detailList[3].disabled = false;
|
||||||
} else {
|
} else {
|
||||||
this.detailList[2].disabled = true;
|
this.detailList[1].disabled = true;
|
||||||
this.detailList[3].disabled = true;
|
this.detailList[3].disabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -257,12 +257,12 @@ export default {
|
|||||||
switch (action) {
|
switch (action) {
|
||||||
case 'add':
|
case 'add':
|
||||||
this.$refs[this.gridName].addRow();
|
this.$refs[this.gridName].addRow();
|
||||||
this.detailList[2].disabled = false;
|
this.detailList[1].disabled = false;
|
||||||
this.detailList[3].disabled = false;
|
this.detailList[3].disabled = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'remove':
|
case 'remove':
|
||||||
this.detailList[2].disabled = true;
|
this.detailList[1].disabled = true;
|
||||||
this.detailList[3].disabled = true;
|
this.detailList[3].disabled = true;
|
||||||
this.$refs[this.gridName].removeRow();
|
this.$refs[this.gridName].removeRow();
|
||||||
break;
|
break;
|
||||||
@ -358,7 +358,6 @@ const myEqpmConstDetail = [
|
|||||||
{
|
{
|
||||||
type: 'SelectBox',
|
type: 'SelectBox',
|
||||||
label: '대상 유형',
|
label: '대상 유형',
|
||||||
disabled: true,
|
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-3 pr-4',
|
class: 'py-3 pr-4',
|
||||||
list: 'emMapDivList2',
|
list: 'emMapDivList2',
|
||||||
@ -371,6 +370,7 @@ const myEqpmConstDetail = [
|
|||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
},
|
},
|
||||||
|
// ==================
|
||||||
{
|
{
|
||||||
type: 'EgrpPysclQtyPop',
|
type: 'EgrpPysclQtyPop',
|
||||||
labelContent: '물리량',
|
labelContent: '물리량',
|
||||||
@ -382,7 +382,7 @@ const myEqpmConstDetail = [
|
|||||||
pysclQtyNm: 'pysclQtyNm',
|
pysclQtyNm: 'pysclQtyNm',
|
||||||
},
|
},
|
||||||
valueNm: 'objId',
|
valueNm: 'objId',
|
||||||
disabled: false,
|
disabled: true,
|
||||||
required: true,
|
required: true,
|
||||||
openMode: 'CONST',
|
openMode: 'CONST',
|
||||||
cols: 6,
|
cols: 6,
|
||||||
@ -413,6 +413,7 @@ const myEqpmConstDetail = [
|
|||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
},
|
},
|
||||||
|
// ------------
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'InputText',
|
||||||
label: '물리량 값',
|
label: '물리량 값',
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
:innerTabGridInfo="innerTabGridInfo"
|
:innerTabGridInfo="innerTabGridInfo"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div style="min-height: calc(100vh - 900px);">
|
<div style="min-height: calc(100vh - 900px);" class="mt-4">
|
||||||
<component
|
<component
|
||||||
:is="'Form'"
|
:is="'Form'"
|
||||||
:parentPrgmId="parentPrgmId"
|
:parentPrgmId="parentPrgmId"
|
||||||
@ -108,18 +108,24 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
selectedObjId(val) {
|
selectedObjId(val) {
|
||||||
// console.log('selectedObjId : ', val);
|
|
||||||
if (val === 'TAG') {
|
if (val === 'TAG') {
|
||||||
|
// this.detailList[1].class = 'py-3 pl-4 pb-0';
|
||||||
|
this.detailList[1].class = 'py-3 d-none';
|
||||||
this.detailList[2].class = 'py-3 d-none';
|
this.detailList[2].class = 'py-3 d-none';
|
||||||
this.detailList[3].class = 'py-3 pl-4 pt-1 d-none';
|
this.detailList[3].class = 'py-3 pl-4 pt-1 d-none';
|
||||||
|
|
||||||
this.detailList[4].class = 'py-3';
|
this.detailList[4].class = 'py-3';
|
||||||
this.detailList[5].class = 'py-3';
|
this.detailList[5].class = 'py-3 pl-4';
|
||||||
|
this.detailList[6].class = 'py-3 pl-4 pt-0';
|
||||||
} else {
|
} else {
|
||||||
// }else if(val==="READ_PLC"){
|
// }else if(val==="READ_PLC"){
|
||||||
this.detailList[5].class = 'py-3 d-none';
|
this.detailList[1].class = 'py-3 pl-4';
|
||||||
this.detailList[4].class = 'py-3 d-none';
|
|
||||||
this.detailList[3].class = 'py-3 pl-4 pt-1';
|
|
||||||
this.detailList[2].class = 'py-3';
|
this.detailList[2].class = 'py-3';
|
||||||
|
this.detailList[3].class = 'py-3 pl-4 pt-0';
|
||||||
|
|
||||||
|
this.detailList[4].class = 'py-3 d-none';
|
||||||
|
this.detailList[5].class = 'py-3 d-none';
|
||||||
|
this.detailList[6].class = 'py-3 d-none';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
selectedCalcFg(val) {
|
selectedCalcFg(val) {
|
||||||
@ -282,13 +288,13 @@ export default {
|
|||||||
async getRowData(data, gridName) {
|
async getRowData(data, gridName) {
|
||||||
if (data.rowStat === 'I') {
|
if (data.rowStat === 'I') {
|
||||||
this.detailList[0].disabled = false;
|
this.detailList[0].disabled = false;
|
||||||
this.detailList[2].disabled = false;
|
this.detailList[1].disabled = false;
|
||||||
this.detailList[3].disabled = false;
|
this.detailList[3].disabled = false;
|
||||||
this.detailList[4].disabled = false;
|
this.detailList[4].disabled = false;
|
||||||
this.detailList[5].disabled = false;
|
this.detailList[5].disabled = false;
|
||||||
} else {
|
} else {
|
||||||
this.detailList[0].disabled = true;
|
this.detailList[0].disabled = true;
|
||||||
this.detailList[2].disabled = true;
|
this.detailList[1].disabled = true;
|
||||||
this.detailList[3].disabled = true;
|
this.detailList[3].disabled = true;
|
||||||
this.detailList[4].disabled = true;
|
this.detailList[4].disabled = true;
|
||||||
this.detailList[5].disabled = true;
|
this.detailList[5].disabled = true;
|
||||||
@ -306,7 +312,7 @@ export default {
|
|||||||
case 'add':
|
case 'add':
|
||||||
this.$refs[this.gridName].addRow();
|
this.$refs[this.gridName].addRow();
|
||||||
this.detailList[0].disabled = false;
|
this.detailList[0].disabled = false;
|
||||||
this.detailList[2].disabled = false;
|
this.detailList[1].disabled = false;
|
||||||
this.detailList[3].disabled = false;
|
this.detailList[3].disabled = false;
|
||||||
this.detailList[4].disabled = false;
|
this.detailList[4].disabled = false;
|
||||||
this.detailList[5].disabled = false;
|
this.detailList[5].disabled = false;
|
||||||
@ -315,7 +321,7 @@ export default {
|
|||||||
case 'remove':
|
case 'remove':
|
||||||
this.$refs[this.gridName].removeRow();
|
this.$refs[this.gridName].removeRow();
|
||||||
this.detailList[0].disabled = true;
|
this.detailList[0].disabled = true;
|
||||||
this.detailList[2].disabled = true;
|
this.detailList[1].disabled = true;
|
||||||
this.detailList[3].disabled = true;
|
this.detailList[3].disabled = true;
|
||||||
this.detailList[4].disabled = true;
|
this.detailList[4].disabled = true;
|
||||||
this.detailList[5].disabled = true;
|
this.detailList[5].disabled = true;
|
||||||
@ -436,10 +442,10 @@ const myEqpmIaoDetail = [
|
|||||||
type: 'ReadPlcPop',
|
type: 'ReadPlcPop',
|
||||||
label: '대상 항목',
|
label: '대상 항목',
|
||||||
valueNm: 'objId',
|
valueNm: 'objId',
|
||||||
disabled: true,
|
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-3 pl-4',
|
class: 'py-3 pl-4 pb-0',
|
||||||
required: true,
|
required: true,
|
||||||
|
disabled: true,
|
||||||
bindNm: 'objNm',
|
bindNm: 'objNm',
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
@ -460,11 +466,12 @@ const myEqpmIaoDetail = [
|
|||||||
readonly: true,
|
readonly: true,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-3 pl-4 pt-1',
|
class: 'py-3 pl-4 pt-0',
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
iconShow: true
|
iconShow: true
|
||||||
},
|
},
|
||||||
|
// ============
|
||||||
{
|
{
|
||||||
type: 'EvtObjPop',
|
type: 'EvtObjPop',
|
||||||
labelContent: '대상 항목',
|
labelContent: '대상 항목',
|
||||||
@ -474,16 +481,24 @@ const myEqpmIaoDetail = [
|
|||||||
disabled: true,
|
disabled: true,
|
||||||
required: true,
|
required: true,
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-3 d-none',
|
class: 'py-3 pl-4 d-none',
|
||||||
disableContent: true,
|
disableContent: true,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
iconShow: true
|
iconShow: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'InputText',
|
type: 'Label',
|
||||||
cols: 6,
|
cols: 6,
|
||||||
class: 'py-3 d-none',
|
class: 'py-3 d-none',
|
||||||
|
disabled: true,
|
||||||
|
textCols: 12,
|
||||||
|
labelCols: 12,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'InputText',
|
||||||
|
cols: 6,
|
||||||
|
class: 'py-3 pl-4 d-none',
|
||||||
valueNm: 'objNm',
|
valueNm: 'objNm',
|
||||||
readonly: true,
|
readonly: true,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
@ -491,6 +506,7 @@ const myEqpmIaoDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
iconShow: true
|
iconShow: true
|
||||||
},
|
},
|
||||||
|
// --------------------------------------------
|
||||||
{
|
{
|
||||||
type: 'SelectBox',
|
type: 'SelectBox',
|
||||||
label: '에너지원',
|
label: '에너지원',
|
||||||
|
@ -57,7 +57,7 @@ module.exports = {
|
|||||||
],
|
],
|
||||||
|
|
||||||
// Modules: https://go.nuxtjs.dev/config-modules
|
// Modules: https://go.nuxtjs.dev/config-modules
|
||||||
modules: ['@nuxtjs/axios', '@nuxtjs/dayjs', '@nuxtjs/style-resources','@nuxtjs/google-fonts'],
|
modules: ['@nuxtjs/axios', '@nuxtjs/dayjs', '@nuxtjs/style-resources' ],
|
||||||
styleResources: {
|
styleResources: {
|
||||||
scss: ['./assets/scss/*.scss'],
|
scss: ['./assets/scss/*.scss'],
|
||||||
},
|
},
|
||||||
|
@ -398,14 +398,11 @@ export default {
|
|||||||
|
|
||||||
const myTreeColumns = [
|
const myTreeColumns = [
|
||||||
{
|
{
|
||||||
header: '',
|
|
||||||
name: '',
|
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 30,
|
width: 30,
|
||||||
|
minWidth: 60,
|
||||||
formatter: (props) => {
|
formatter: (props) => {
|
||||||
return `<span class="custom-radio">
|
return `<span class="custom-radio"><span class="radio-mark"></span></span>`;
|
||||||
<span class="radio-mark"></span>
|
|
||||||
</span>`;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -421,14 +418,11 @@ export default {
|
|||||||
];
|
];
|
||||||
const myTreeColumns2 = [
|
const myTreeColumns2 = [
|
||||||
{
|
{
|
||||||
header: '',
|
|
||||||
name: '',
|
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 30,
|
width: 30,
|
||||||
|
minWidth: 60,
|
||||||
formatter: (props) => {
|
formatter: (props) => {
|
||||||
return `<span class="custom-radio">
|
return `<span class="custom-radio"><span class="radio-mark"></span></span>`;
|
||||||
<span class="radio-mark"></span>
|
|
||||||
</span>`;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ header: '역할ID', name: 'roleId', hidden: true },
|
{ header: '역할ID', name: 'roleId', hidden: true },
|
||||||
@ -674,8 +668,6 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
getUnAsgnRowData(data) {
|
getUnAsgnRowData(data) {
|
||||||
console.log("------------------DEBUG-------getUnAsgnRowData:", data);
|
|
||||||
|
|
||||||
const getRowData = data;
|
const getRowData = data;
|
||||||
this.leftSelectRowData = Object.assign({}, getRowData);
|
this.leftSelectRowData = Object.assign({}, getRowData);
|
||||||
},
|
},
|
||||||
|
@ -3,22 +3,22 @@
|
|||||||
<CommonPageTitle />
|
<CommonPageTitle />
|
||||||
<!-- 리스트 페이지 시작 -->
|
<!-- 리스트 페이지 시작 -->
|
||||||
<div v-if="pageActionFlag == 'list'" class="h1001">
|
<div v-if="pageActionFlag == 'list'" class="h1001">
|
||||||
<v-card class="" >
|
<v-card class="">
|
||||||
<div class="pa-5">
|
<div class="pa-5">
|
||||||
<v-row align="center" no-gutters >
|
<v-row align="center" no-gutters>
|
||||||
<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">
|
||||||
<!-- <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')"
|
||||||
icon="edit" class="mr-1">작성</a-button>
|
:ripple="false" 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>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" ref="contents" class="mt-5" style="min-height: calc(100% - 76px);">
|
<v-col :cols="12" ref="contents" class="mt-5" style="min-height: calc(100% - 76px);">
|
||||||
<div ref="gridParent" class="px-50" style="min-height: 70vh;">
|
<div ref="gridParent" class="px-50" style="min-height: 70vh;">
|
||||||
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName" :parentPrgmId="myPrgmId"
|
<component :ref="gridName" :is="loadGrid ? 'Grid' : null" :gridName="gridName"
|
||||||
@getRowsData="getRowData" />
|
:parentPrgmId="myPrgmId" @getRowsData="getRowData" />
|
||||||
</div>
|
</div>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
@ -27,22 +27,23 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 리스트 페이지 끝 -->
|
<!-- 리스트 페이지 끝 -->
|
||||||
<!-- 상세보기 페이지 시작 -->
|
<!-- 상세보기 페이지 시작 -->
|
||||||
<div v-if="pageActionFlag == 'view'" >
|
<div v-if="pageActionFlag == 'view'">
|
||||||
<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"
|
<a-button @click="viewPageButtonGroupClickEvent('list')" type="primary" :ripple="false"
|
||||||
icon="unordered-list">목록</a-button>
|
class="mr-1" icon="unordered-list">목록</a-button>
|
||||||
<a-button @click="viewPageButtonGroupClickEvent('reply')" type="primary" :ripple="false" class="mr-1"
|
<a-button @click="viewPageButtonGroupClickEvent('reply')" type="primary" :ripple="false"
|
||||||
icon="send-outlined">
|
class="mr-1" icon="send-outlined">
|
||||||
<v-icon small :class="['mr-2']">$icoSend</v-icon>
|
<v-icon small :class="['mr-2']">$icoSend</v-icon>
|
||||||
답글
|
답글
|
||||||
</a-button>
|
</a-button>
|
||||||
<a-button @click="viewPageButtonGroupClickEvent('update')" type="primary" :ripple="false" class="mr-1"
|
<a-button @click="viewPageButtonGroupClickEvent('update')" type="primary" :ripple="false"
|
||||||
icon="edit">수정</a-button>
|
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="mt-5">
|
<v-col :cols="12" class="mt-5">
|
||||||
@ -57,13 +58,12 @@
|
|||||||
<v-card-title class="custom-title-7 pa-0">
|
<v-card-title class="custom-title-7 pa-0">
|
||||||
파일목록
|
파일목록
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
<div v-for="fileData in viewActionData.fileData"
|
<div v-for="fileData in viewActionData.fileData" :key="fileData.apndFileId" class="file-item">
|
||||||
:key="fileData.apndFileId"
|
|
||||||
class="file-item">
|
|
||||||
<a @click.prevent="downloadFile(fileData)">
|
<a @click.prevent="downloadFile(fileData)">
|
||||||
<div class="d-flex justify-start search-box-label">
|
<div class="d-flex justify-start search-box-label">
|
||||||
<v-icon>mdi-paperclip</v-icon>
|
<v-icon>mdi-paperclip</v-icon>
|
||||||
<span class="file-item-name ml-2">{{ fileData.apndFileNm + '.' + fileData.apndFileExt }}</span>
|
<span class="file-item-name ml-2">{{ fileData.apndFileNm + '.' +
|
||||||
|
fileData.apndFileExt }}</span>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
@ -73,12 +73,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 상세보기 페이지 끝 -->
|
<!-- 상세보기 페이지 끝 -->
|
||||||
<!-- 작성 페이지 시작 -->
|
<!-- 작성 페이지 시작 -->
|
||||||
<div v-if="pageActionFlag == 'write'" >
|
<div v-if="pageActionFlag == 'write'">
|
||||||
<v-card>
|
<v-card>
|
||||||
<div class="pa-5">
|
<div class="pa-5">
|
||||||
<v-row class="pa-50">
|
<v-row class="pa-50">
|
||||||
<v-col :cols="12" class="">
|
<v-col :cols="12" class="">
|
||||||
<v-card-title class="custom-title-4 pa-0">공지사항</v-card-title>
|
<v-card-title class="custom-title-4 pa-0">공지사항 작성</v-card-title>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" class="mt-4">
|
<v-col :cols="12" class="mt-4">
|
||||||
<v-card-title class="custom-title-7 pa-0">제목</v-card-title>
|
<v-card-title class="custom-title-7 pa-0">제목</v-card-title>
|
||||||
@ -92,33 +92,27 @@
|
|||||||
<v-col :cols="6" class="mt-5">
|
<v-col :cols="6" class="mt-5">
|
||||||
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
||||||
<div class="" v-if="writeActionData.fileData">
|
<div class="" v-if="writeActionData.fileData">
|
||||||
<div
|
<div v-for="(fileData, index) in writeActionData.fileData" :key="fileData.apndFileId"
|
||||||
v-for="(fileData, index) in writeActionData.fileData"
|
|
||||||
:key="fileData.apndFileId"
|
|
||||||
class="file-item d-flex justify-space-between">
|
class="file-item d-flex justify-space-between">
|
||||||
<div class="file-item-detail">
|
<div class="file-item-detail">
|
||||||
<v-icon>mdi-paperclip</v-icon>
|
<v-icon>mdi-paperclip</v-icon>
|
||||||
<span href="#" class="file-item-name">{{ fileData.name }}</span>
|
<span href="#" class="file-item-name">{{ fileData.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-icon type="delete" class="v-icon pointer" @click="writeActionData.fileData.splice(index, 1)" />
|
<a-icon type="delete" class="v-icon pointer"
|
||||||
|
@click="writeActionData.업로드fileData.splice(index, 1)" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a-button class="mt-2" icon="upload" @click="$refs.writeInputFile.$refs.input.click()" >
|
<a-button class="mt-2" icon="upload" @click="$refs.writeInputFile.$refs.input.click()">
|
||||||
업로드
|
업로드
|
||||||
</a-button>
|
</a-button>
|
||||||
<v-file-input
|
<v-file-input ref="writeInputFile" v-model="writeActionData.fileData" multiple outlined
|
||||||
ref="writeInputFile"
|
hide-input class="d-none" prepend-icon="mdi-tray-arrow-up"></v-file-input>
|
||||||
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"
|
||||||
<a-button @click="writePageButtonGroupClickEvent('write')" :ripple="false" type="primary">등록</a-button>
|
class="mr-2">취소</a-button>
|
||||||
|
<a-button @click="writePageButtonGroupClickEvent('write')" :ripple="false"
|
||||||
|
type="primary">등록</a-button>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</div>
|
</div>
|
||||||
@ -126,7 +120,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 작성 페이지 끝 -->
|
<!-- 작성 페이지 끝 -->
|
||||||
<!-- 답글 작성 페이지 시작 -->
|
<!-- 답글 작성 페이지 시작 -->
|
||||||
<div v-if="pageActionFlag == 'reply'" >
|
<div v-if="pageActionFlag == 'reply'">
|
||||||
<v-card class="pa-5">
|
<v-card class="pa-5">
|
||||||
<v-row align="center" class="mt-0">
|
<v-row align="center" class="mt-0">
|
||||||
<v-col :cols="12" class="">
|
<v-col :cols="12" class="">
|
||||||
@ -134,8 +128,7 @@
|
|||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" class="mt-4">
|
<v-col :cols="12" class="mt-4">
|
||||||
<v-card-title class="custom-title-7 pa-0">제목</v-card-title>
|
<v-card-title class="custom-title-7 pa-0">제목</v-card-title>
|
||||||
<v-text-field v-model="replyActionData.title" class="v-input__custom" outlined
|
<v-text-field v-model="replyActionData.title" class="v-input__custom" outlined hide-details>
|
||||||
hide-details>
|
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" style="height: calc(100vh - 270px);" class="mt-2">
|
<v-col :cols="12" style="height: calc(100vh - 270px);" class="mt-2">
|
||||||
@ -144,72 +137,73 @@
|
|||||||
<v-col :cols="6" class="mt-5">
|
<v-col :cols="6" class="mt-5">
|
||||||
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
||||||
<div class="" v-if="replyActionData.fileData">
|
<div class="" v-if="replyActionData.fileData">
|
||||||
<div
|
<div v-for="(fileData, index) in replyActionData.fileData" :key="fileData.apndFileId"
|
||||||
v-for="(fileData, index) in replyActionData.fileData"
|
|
||||||
:key="fileData.apndFileId"
|
|
||||||
class="file-item d-flex justify-space-between">
|
class="file-item d-flex justify-space-between">
|
||||||
<div class="file-item-detail">
|
<div class="file-item-detail">
|
||||||
<v-icon>mdi-paperclip</v-icon>
|
<v-icon>mdi-paperclip</v-icon>
|
||||||
<span href="#" class="file-item-name">{{ fileData.name }}</span>
|
<span href="#" class="file-item-name">{{ fileData.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
<a-icon type="delete" class="v-icon pointer" @click="replyActionData.fileData.splice(index, 1)" />
|
<a-icon type="delete" class="v-icon pointer"
|
||||||
|
@click="replyActionData.fileData.splice(index, 1)" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a-button class="mt-3" icon="upload" @click="$refs.replyInputFile.$refs.input.click()" >
|
<a-button class="mt-3" icon="upload" @click="$refs.replyInputFile.$refs.input.click()">
|
||||||
업로드
|
업로드
|
||||||
</a-button>
|
</a-button>
|
||||||
<v-file-input ref="replyInputFile" multiple show-size v-model="replyActionData.fileData" hide-details="true" class="d-none">
|
<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'" >
|
<div v-if="pageActionFlag == 'update'">
|
||||||
<v-card>
|
<v-card>
|
||||||
<div class="pa-5">
|
<div class="pa-5">
|
||||||
<v-row align="center" no-gutters>
|
<v-row align="center" no-gutters>
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
<v-card-title class="custom-title-4 pa-0">공지사항</v-card-title>
|
<v-card-title class="custom-title-4 pa-0">공지사항 수정</v-card-title>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" class="mt-4">
|
<v-col :cols="12" class="mt-4">
|
||||||
<v-card-title class="custom-title-7 pa-0">제목</v-card-title>
|
<v-card-title class="custom-title-7 pa-0">제목</v-card-title>
|
||||||
<v-text-field v-model="updateActionData.title" class="v-input__custom" hide-details outlined>
|
<v-text-field v-model="updateActionData.title" class="v-input__custom" hide-details
|
||||||
|
outlined>
|
||||||
</v-text-field>
|
</v-text-field>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" style="height: calc(90vh - 270px);" class="mt-4" >
|
<v-col :cols="12" style="height: calc(90vh - 270px);" class="mt-4">
|
||||||
<editor ref="tuiUpdateEditor" height="100%" initialEditType="wysiwyg"
|
<editor ref="tuiUpdateEditor" height="100%" initialEditType="wysiwyg"
|
||||||
:initialValue="updateActionData.content" />
|
:initialValue="updateActionData.content" />
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="6" class="mt-5">
|
<v-col :cols="6" class="mt-5">
|
||||||
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
|
||||||
<div class="" v-if="updateActionData.fileData">
|
<div class="" v-if="updateActionData.fileData">
|
||||||
<div
|
<div v-for="(fileData, index) in updateActionData.fileData" :key="fileData.apndFileId"
|
||||||
v-for="(fileData, index) in updateActionData.fileData"
|
class="file-item d-flex justify-space-between">
|
||||||
:key="fileData.apndFileId"
|
<div class="file-item-detail">
|
||||||
class="file-item d-flex justify-space-between">
|
<v-icon>mdi-paperclip</v-icon>
|
||||||
<div class="file-item-detail">
|
<span href="#" class="file-item-name">{{ fileData.name }}</span>
|
||||||
<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="updateActionData.fileData.splice(index, 1)" />
|
|
||||||
</div>
|
</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()" >
|
</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"
|
</a-button>
|
||||||
hide-details="true" class="d-none">
|
<v-file-input ref="updateInputFile" multiple show-size v-model="updateActionData.fileData"
|
||||||
</v-file-input>
|
hide-details="true" class="d-none">
|
||||||
|
</v-file-input>
|
||||||
</v-col>
|
</v-col>
|
||||||
<v-col :cols="12" class="text-right">
|
<v-col :cols="12" class="text-right">
|
||||||
<a-button @click="updatePageButtonGroupClickEvent('cancel')" >취소</a-button>
|
<a-button @click="updatePageButtonGroupClickEvent('cancel')">취소</a-button>
|
||||||
<a-button @click="updatePageButtonGroupClickEvent('update')" type="primary" >등록</a-button>
|
<a-button @click="updatePageButtonGroupClickEvent('update')" type="primary">등록</a-button>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</v-row>
|
||||||
</div>
|
</div>
|
||||||
@ -295,8 +289,6 @@ export default {
|
|||||||
postGrpOrd: null,
|
postGrpOrd: null,
|
||||||
postOrgNo: null,
|
postOrgNo: null,
|
||||||
},
|
},
|
||||||
dataPathMock: {},
|
|
||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -341,7 +333,7 @@ export default {
|
|||||||
chkOpenTabList: 'chkOpenTabList',
|
chkOpenTabList: 'chkOpenTabList',
|
||||||
getDomain: 'modules/list/getDomain',
|
getDomain: 'modules/list/getDomain',
|
||||||
}),
|
}),
|
||||||
onTest(){
|
onTest() {
|
||||||
console.log(this.writeActionData.fileData);
|
console.log(this.writeActionData.fileData);
|
||||||
},
|
},
|
||||||
async init() {
|
async init() {
|
||||||
@ -400,7 +392,11 @@ export default {
|
|||||||
gridInit() {
|
gridInit() {
|
||||||
const gridHeight = this.$refs.contents.offsetHeight - 76;
|
const gridHeight = this.$refs.contents.offsetHeight - 76;
|
||||||
|
|
||||||
const myOptions = {};
|
const myOptions = {
|
||||||
|
header: {
|
||||||
|
height: 38,
|
||||||
|
},
|
||||||
|
};
|
||||||
this.setGridOption({
|
this.setGridOption({
|
||||||
gridKey: this.gridName,
|
gridKey: this.gridName,
|
||||||
value: Object.assign(Utility.defaultGridOption(gridHeight), myOptions),
|
value: Object.assign(Utility.defaultGridOption(gridHeight), myOptions),
|
||||||
@ -421,7 +417,7 @@ export default {
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
hidden: true,
|
hidden: true,
|
||||||
},
|
},
|
||||||
{ header: '번호', name: 'postNo', width: 150, align: 'center' },
|
{ header: '번호', name: 'postNo', width: 150, align: 'right' },
|
||||||
{
|
{
|
||||||
header: '원글번호',
|
header: '원글번호',
|
||||||
name: 'postOrgNo',
|
name: 'postOrgNo',
|
||||||
@ -451,9 +447,9 @@ export default {
|
|||||||
hidden: true,
|
hidden: true,
|
||||||
},
|
},
|
||||||
{ header: '제목', name: 'title', align: 'left' },
|
{ header: '제목', name: 'title', align: 'left' },
|
||||||
{ header: '작성자', name: 'regUserNo', width: 250, align: 'center' },
|
{ header: '작성자', name: 'regUserNo', width: 250, align: 'right' },
|
||||||
{ header: '작성일', name: 'regDttm', width: 250, align: 'center' },
|
{ header: '작성일', name: 'regDttm', width: 250, align: 'center' },
|
||||||
{ header: '조회수', name: 'viewCnt', width: 150, align: 'center' },
|
{ header: '조회수', name: 'viewCnt', width: 150, align: 'right' },
|
||||||
// {header: "파일아이디", name:"apndFileUuid", width:150, align:"center"}, // 수정필요
|
// {header: "파일아이디", name:"apndFileUuid", width:150, align:"center"}, // 수정필요
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -1020,15 +1016,6 @@ const defaultData = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
import { getPathDataExample } from '@/const/const'
|
|
||||||
const dataPathDataExample = getPathDataExample({
|
|
||||||
postNo: '18',
|
|
||||||
title: '오픈공지',
|
|
||||||
regUserNo: '1',
|
|
||||||
regDttm: '2023-01-09 09:39:41',
|
|
||||||
viewCnt: '1'
|
|
||||||
}, 10);
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@ -1042,23 +1029,41 @@ const dataPathDataExample = getPathDataExample({
|
|||||||
margin: 2px 0;
|
margin: 2px 0;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
background-color: #0000000A;
|
background-color: #0000000A;
|
||||||
.file-item-name{
|
|
||||||
|
.file-item-name {
|
||||||
color: #1677FF;
|
color: #1677FF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep {
|
::v-deep {
|
||||||
.v-input__slot {
|
.v-input__slot {
|
||||||
padding-left: 8px;
|
padding-left: 8px;
|
||||||
padding-right: 8px;
|
padding-right: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.custom-view {
|
.custom-view {
|
||||||
border: 1px solid;
|
border: 1px solid;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
@each $theme in dark, light {
|
@each $theme in dark, light {
|
||||||
@include theme($theme);
|
@include theme($theme);
|
||||||
border-color: map-deep-get($config, #{$theme}, "v-input-textarea-border");;
|
border-color: map-deep-get($config, #{$theme}, "v-input-textarea-border");
|
||||||
|
;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.toastui-editor-mode-switch{
|
||||||
|
font-family: Inter !important;
|
||||||
|
font-size: 1.0rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-mode-switch .tab-item.active{
|
||||||
|
color: #1677FF
|
||||||
|
}
|
||||||
|
|
||||||
|
.toastui-editor-mode-switch .tab-item{
|
||||||
|
color: #000000E0
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="l-layout">
|
<div class="l-layout">
|
||||||
|
<CommonPageTitle />
|
||||||
<!-- 조회조견 -->
|
<!-- 조회조견 -->
|
||||||
<v-row ref="searchFilter">
|
<v-row ref="searchFilter">
|
||||||
<v-col :cols="12">
|
<v-col :cols="12">
|
||||||
@ -314,7 +315,6 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
async getRowData(data, gridName) {
|
async getRowData(data, gridName) {
|
||||||
// console.log("-----------------------DEBUG--getRowData--------------", {
|
|
||||||
// gridKey: gridName,
|
// gridKey: gridName,
|
||||||
// gridSelect: true,
|
// gridSelect: true,
|
||||||
// rowGridSelectKey: data.rowKey,
|
// rowGridSelectKey: data.rowKey,
|
||||||
|
@ -969,7 +969,7 @@ const myDetail = [
|
|||||||
labelCols: 12,
|
labelCols: 12,
|
||||||
textCols: 12,
|
textCols: 12,
|
||||||
iconShow: true,
|
iconShow: true,
|
||||||
class: 'py-3 pr-4',
|
class: 'py-3 pr-4 pb-2',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'CheckBox',
|
type: 'CheckBox',
|
||||||
|
@ -282,7 +282,6 @@ export default {
|
|||||||
mgnf: item.mgnf || 0,
|
mgnf: item.mgnf || 0,
|
||||||
})),
|
})),
|
||||||
});
|
});
|
||||||
// console.log('--------------DEBUG-----res-------', res);
|
|
||||||
}
|
}
|
||||||
this.setPageData({ isFind: false });
|
this.setPageData({ isFind: false });
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
@ -245,7 +245,6 @@ export default {
|
|||||||
|
|
||||||
|
|
||||||
this.setChartOption({ chartKey: this.chartName, value: chartOption });
|
this.setChartOption({ chartKey: this.chartName, value: chartOption });
|
||||||
// console.log("----DEBUG chart-options-------", { chartOption });
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.loadChart = true;
|
this.loadChart = true;
|
||||||
});
|
});
|
||||||
|
@ -264,9 +264,6 @@ export default {
|
|||||||
},
|
},
|
||||||
created() { },
|
created() { },
|
||||||
async mounted() {
|
async mounted() {
|
||||||
// console.log('----DEBUG---');
|
|
||||||
// await this.initTest();
|
|
||||||
// End Debug Test---
|
|
||||||
await this.init();
|
await this.init();
|
||||||
this.initedFlag = true;
|
this.initedFlag = true;
|
||||||
},
|
},
|
||||||
@ -287,7 +284,7 @@ export default {
|
|||||||
}),
|
}),
|
||||||
async initTest() {
|
async initTest() {
|
||||||
// debug test
|
// debug test
|
||||||
console.log('----DEBUG init pages----');
|
// console.log('----DEBUG init pages----');
|
||||||
const seriesName1 = ['B01. 냉동기전력량', ' B01.COP'];
|
const seriesName1 = ['B01. 냉동기전력량', ' B01.COP'];
|
||||||
const seriesName2 = [
|
const seriesName2 = [
|
||||||
'UT_HT_CH101:냉동기전혁당', 'UT_HT_CH102:냉동기전력량', 'UT_HT_CH201:냉동기전력당',
|
'UT_HT_CH101:냉동기전혁당', 'UT_HT_CH102:냉동기전력량', 'UT_HT_CH201:냉동기전력당',
|
||||||
|
Reference in New Issue
Block a user