Compare commits

...

6 Commits

9 changed files with 144 additions and 62 deletions

View File

@ -144,11 +144,10 @@
} }
&.ant-btn-danger { &.ant-btn-danger {
&.ant-btn-background-ghost { &.ant-btn-background-ghost {
color: map-deep-get($config, #{$theme}, "ant-btn-danger-color"); color:map-deep-get($config, #{$theme}, "ant-btn-danger-color");
border-color: map-deep-get($config, #{$theme}, "ant-btn-danger-color"); border-color:map-deep-get($config, #{$theme}, "ant-btn-danger-border");
// background: map-deep-get($config, #{$theme}, "ant-btn-danger-color") !important; background: map-deep-get($config, #{$theme}, "ant-btn-danger-bg") !important;
} }
} }

View File

@ -56,25 +56,35 @@
font-weight: 400; font-weight: 400;
} }
th[data-column-name="_checked"] { th[data-column-name="_checked"] {
padding-left: 0; padding-left: 0;
} }
} }
.tui-grid-table{ .tui-grid-table {
.tui-grid-cell-header, .tui-grid-cell-header,
.tui-grid-cell-has-input .tui-grid-cell-content { .tui-grid-cell-has-input .tui-grid-cell-content {
padding: 8px; padding: 8px;
} }
th[data-column-name="_checked"] { th[data-column-name="_checked"] {
&.tui-grid-cell-header { &.tui-grid-cell-header {
padding-left: 0; padding-left: 0;
} }
}
.tui-grid-cell {
&:last-child {
input[type=checkbox] {
margin-top: 8px;
}
}
} }
} }
@ -99,8 +109,8 @@
@include theme($theme); @include theme($theme);
.v-application.#{$theme}-mode { .v-application.#{$theme}-mode {
.tui-grid-content-area{ .tui-grid-content-area {
.tui-grid-header-area{ .tui-grid-header-area {
height: auto !important; height: auto !important;
} }
} }
@ -115,9 +125,9 @@
"tui-grid-title-color" "tui-grid-title-color"
); );
} }
.grid-toggle-section{ .grid-toggle-section {
.tui-grid-rside-area{ .tui-grid-rside-area {
.tui-grid-body-area { .tui-grid-body-area {
height: auto !important; height: auto !important;
@ -145,16 +155,17 @@
} }
} }
&-border-line-right{ &-border-line-right {
opacity: 0; opacity: 0;
} }
&-body-container{ &-body-container {
border-right: 0; border-right: 0;
// position: relative; // position: relative;
width: auto !important; width: auto !important;
.tui-grid-table-container{ .tui-grid-table-container {
// width: 100% !important; // width: 100% !important;
.tui-grid-table { .tui-grid-table {
// width: 100% !important; // width: 100% !important;
@ -166,12 +177,19 @@
// } // }
} }
} }
.tui-grid-layer-editing {
border-color: map-deep-get($config,
#{$theme},
"tui-grid-border-vertical-color"
);
}
} }
&-summary-area, &-summary-area,
&-container { &-container {
font-family: Inter; font-family: Inter;
.tui-grid-cell { .tui-grid-cell {
&.tui-grid-cell-summary { &.tui-grid-cell-summary {
color: map-deep-get($config, color: map-deep-get($config,
@ -186,7 +204,7 @@
overflow: auto; overflow: auto;
&::-webkit-scrollbar { &::-webkit-scrollbar {
width: $scrollbar-width !important; // width: $scrollbar-width !important;
height: $scrollbar-width !important; height: $scrollbar-width !important;
-webkit-appearance: initial; -webkit-appearance: initial;
background-color: rgba(0, 0, 0, 0) !important; background-color: rgba(0, 0, 0, 0) !important;
@ -285,7 +303,8 @@
#{$theme}, #{$theme},
"ant-btn-primary-color" "ant-btn-primary-color"
); );
.radio-mark{
.radio-mark {
border-color: map-deep-get($config, border-color: map-deep-get($config,
#{$theme}, #{$theme},
"arow-line-color" "arow-line-color"
@ -294,6 +313,7 @@
#{$theme}, #{$theme},
"arow-line-btn-bg-color" "arow-line-btn-bg-color"
); );
&::after { &::after {
content: ""; content: "";
position: absolute; position: absolute;
@ -311,12 +331,40 @@
} }
} }
} }
.tui-grid-cell-content {
input[type='text'],
input[type='password'] {
border-color: map-deep-get($config,
#{$theme},
"v-input-fieldset-color"
);
background: map-deep-get($config,
#{$theme},
"v-input-backgroundColor"
);
border-radius: 4px;
color: map-deep-get($config,
#{$theme},
"tui-grid-cell-color"
);
}
&.tui-grid-layer-editing {
background: transparent;
// background:map-deep-get($config,
// #{$theme},
// "tui-grid-cell-insert-color"
// );
}
}
} }
&-cell { &-cell {
&:last-child { &:last-child {
padding-right: 1px; padding-right: 1px;
border-right: 1px solid ; border-right: 1px solid;
border-right-color: map-deep-get($config, border-right-color: map-deep-get($config,
#{$theme}, #{$theme},
"tui-grid-cell-borderColor" "tui-grid-cell-borderColor"
@ -349,7 +397,7 @@
"tui-grid-border-vertical-color" "tui-grid-border-vertical-color"
); );
color: map-deep-get($config, color: map-deep-get($config,
#{$theme}, #{$theme},
"tui-grid-header-color" "tui-grid-header-color"
); );
@ -395,14 +443,14 @@
background-color: map-deep-get($config, background-color: map-deep-get($config,
#{$theme}, #{$theme},
"tui-grid-cell-insert-color" "tui-grid-cell-insert-color"
); ) !important;
} }
&.row-modify { &.row-modify {
background-color: map-deep-get($config, background-color: map-deep-get($config,
#{$theme}, #{$theme},
"tui-grid-cell-modify-color" "tui-grid-cell-modify-color"
); ) !important;
} }
&.row-removed { &.row-removed {
@ -497,6 +545,7 @@
&-tree-button-expand { &-tree-button-expand {
z-index: 9999; z-index: 9999;
.tui-grid-btn-tree { .tui-grid-btn-tree {
i { i {
width: 16px; width: 16px;
@ -516,6 +565,7 @@
&-tree-button-collapse { &-tree-button-collapse {
z-index: 9999; z-index: 9999;
.tui-grid-btn-tree { .tui-grid-btn-tree {
i { i {
width: 16px; width: 16px;

View File

@ -113,7 +113,7 @@ $config: (
tui-grid-cell-color: #FFFFFFD9, tui-grid-cell-color: #FFFFFFD9,
tui-grid-cell-insert-color: #2B2111, tui-grid-cell-insert-color: #2B2111,
tui-grid-cell-selected-color: #0A224F, tui-grid-cell-selected-color: #0A224F,
tui-grid-cell-modify-color: #13636c, tui-grid-cell-modify-color: #2B2111,
tui-grid-cell-removed-color: #2A1215, tui-grid-cell-removed-color: #2A1215,
tui-grid-cell-disabled-color: rgb(170, 170, 170), tui-grid-cell-disabled-color: rgb(170, 170, 170),
tui-grid-cell-hover-backgroundColor: #2d4571, tui-grid-cell-hover-backgroundColor: #2d4571,
@ -166,7 +166,7 @@ $config: (
ant-btn-primary-color: #212224, ant-btn-primary-color: #212224,
ant-btn-danger-bg:#D32029, ant-btn-danger-bg:#D32029,
ant-btn-danger-border:#D32029, ant-btn-danger-border:#D32029,
ant-btn-danger-color:#D32029, ant-btn-danger-color:#212224,
ant-btn-default-border:#FFFFFF2E, ant-btn-default-border:#FFFFFF2E,
ant-btn-default-bg:#FFFFFF2E, ant-btn-default-bg:#FFFFFF2E,
ant-btn-default-color:#FFFFFFD9, ant-btn-default-color:#FFFFFFD9,
@ -263,7 +263,7 @@ $config: (
tui-grid-cell-color: #000000E0, tui-grid-cell-color: #000000E0,
tui-grid-cell-insert-color: #FFFBE6, tui-grid-cell-insert-color: #FFFBE6,
tui-grid-cell-selected-color: #E6F4FF, tui-grid-cell-selected-color: #E6F4FF,
tui-grid-cell-modify-color: #e6f5f7, tui-grid-cell-modify-color: #FFFBE6,
tui-grid-cell-removed-color: #FFF1F0, tui-grid-cell-removed-color: #FFF1F0,
tui-grid-cell-hover-backgroundColor: #f5f5f5, tui-grid-cell-hover-backgroundColor: #f5f5f5,
v-tabs-items-border-color: #0000000F, v-tabs-items-border-color: #0000000F,

View File

@ -301,7 +301,7 @@ export default {
// console.log('startEditing2...') // console.log('startEditing2...')
if (this.editorGrid && e.rowKey >= 0) { if (this.editorGrid && e.rowKey >= 0) {
this.editorStartKey = e.rowKey; this.editorStartKey = e.rowKey;
this.gridInstance.invoke('startEditing', e.rowKey, e.columnName); this.gridInstance.invoke('startEditing', e.rowKey, e.columnName, 'row-modify');
this.$emit( this.$emit(
'getRowsData', 'getRowsData',
this.gridInstance.invoke('getRow', e.rowKey), this.gridInstance.invoke('getRow', e.rowKey),

View File

@ -94,7 +94,7 @@
</div> </div>
<v-card-actions class="px-6 py-4 d-flex align-center justify-end"> <v-card-actions class="px-6 py-4 d-flex align-center justify-end">
<a-button :ripple="false" @click="dialogOpenCloseEvent(dialog)" class="mr-2">닫기</a-button> <a-button :ripple="false" @click="dialogOpenCloseEvent(dialog)" class="ant-btn-popup-default mr-2">닫기</a-button>
<a-button :ripple="false" type="primary" @click="setUpdate($event)">확인</a-button> <a-button :ripple="false" type="primary" @click="setUpdate($event)">확인</a-button>
</v-card-actions> </v-card-actions>
</v-card> </v-card>

View File

@ -238,7 +238,13 @@ export default {
type: Object, type: Object,
require: false, require: false,
default: () => { default: () => {
return {}; return {
selectTimeValue1: "00 : 00", // selectBoxTime에 필요한 prop
selectTimeValueList1: [], // selectBoxTime에 필요한 prop
selectTimeValue2: "01 : 00", // selectBoxTime에 필요한 prop
selectTimeValueList2: [], // selectBoxTime에 필요한 prop
minInterval: 10,
};
}, },
}, },
}, },
@ -536,8 +542,8 @@ export default {
let returnData = res[0]; let returnData = res[0];
this.strtDt = Utility.setFormatDate(returnData.strtDt, 'YYYY-MM-DD'); this.strtDt = Utility.setFormatDate(returnData.strtDt, 'YYYY-MM-DD');
this.endDt = Utility.setFormatDate(returnData.endDt, 'YYYY-MM-DD'); this.endDt = Utility.setFormatDate(returnData.endDt, 'YYYY-MM-DD');
this.selectTimeValue1 = returnData.strtHh+' : '+ returnData.strtMm; this.selectTimeValue1 = returnData.strtHh + ' : ' + returnData.strtMm;
this.selectTimeValue2 = returnData.endHh+' : '+ returnData.endMm; this.selectTimeValue2 = returnData.endHh + ' : ' + returnData.endMm;
this.planTitle = returnData.planTitle; this.planTitle = returnData.planTitle;
this.planCntn = returnData.planCntn; this.planCntn = returnData.planCntn;
this.planColor = returnData.planColor; this.planColor = returnData.planColor;

View File

@ -20,7 +20,7 @@
item-value="value" item-value="value"
solo solo
outlined outlined
:menu-props="{ auto: true, offsetY: true }" :menu-props="{ top: false, offsetY: true }"
:hide-details="true" :hide-details="true"
:class="['v-select__custom', customClass]" :class="['v-select__custom', customClass]"
:disabled="disabled" :disabled="disabled"

View File

@ -175,7 +175,7 @@ export default {
header: '사용여부', header: '사용여부',
name: 'useFg', name: 'useFg',
align: 'left', align: 'left',
width: 100, minWidth: 80,
formatter({ value }) { formatter({ value }) {
value = value === true ? '1' : '0'; value = value === true ? '1' : '0';
const newValue = _this.pageData.useFgList.filter( const newValue = _this.pageData.useFgList.filter(
@ -190,7 +190,7 @@ export default {
// } // }
// } // }
}, },
{ header: '비고', name: 'rmrk', align: 'left' }, { header: '비고', name: 'rmrk', align: 'left', minWidth: 50, },
]; ];
this.setGridColumn({ this.setGridColumn({

View File

@ -60,9 +60,13 @@
<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" :key="fileData.apndFileId" class="file-item" style="background-color: unset;"> <div v-for="fileData in viewActionData.fileData"
<a @click.prevent="downloadFile(fileData)"> :key="fileData.apndFileId"
<div class="d-flex justify-start search-box-label"> :class="['file-item', isDarkMode?'dark':'light']"
style="background-color: unset;"
>
<a @click.prevent="downloadFile(fileData)" class="pa-0">
<div class="d-flex justify-start search-box-label mb-0">
<v-icon>mdi-paperclip</v-icon> <v-icon>mdi-paperclip</v-icon>
<span class="file-item-name ml-2">{{ fileData.apndFileNm + '.' + <span class="file-item-name ml-2">{{ fileData.apndFileNm + '.' +
fileData.apndFileExt }}</span> fileData.apndFileExt }}</span>
@ -96,7 +100,8 @@
<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 v-for="(fileData, index) in writeActionData.fileData" :key="fileData.apndFileId" <div 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', isDarkMode?'dark':'light']"
>
<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>
@ -144,7 +149,8 @@
<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 v-for="(fileData, index) in replyActionData.fileData" :key="fileData.apndFileId" <div 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', isDarkMode?'dark':'light']"
>
<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>
@ -173,7 +179,7 @@
</div> </div>
<!-- 답글 작성 페이지 --> <!-- 답글 작성 페이지 -->
<!-- 수정 페이지 시작 --> <!-- 수정 페이지 시작 -->
<div v-if="pageActionFlag == 'update'"> <div v-if="pageActionFlag == 'update'" class="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>
@ -195,7 +201,8 @@
<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 v-for="(fileData, index) in updateActionData.fileData" :key="fileData.apndFileId" <div v-for="(fileData, index) in updateActionData.fileData" :key="fileData.apndFileId"
class="file-item d-flex justify-space-between"> :class="['file-item d-flex justify-space-between', isDarkMode?'dark':'light']"
>
<div class="file-item-detail"> <div class="file-item-detail">
<v-icon style="font-size: 18px;">mdi-paperclip</v-icon> <v-icon style="font-size: 18px;">mdi-paperclip</v-icon>
<span href="#" class="file-item-name">{{ fileData.name }}</span> <span href="#" class="file-item-name">{{ fileData.name }}</span>
@ -204,9 +211,11 @@
@click="updateActionData.fileData.splice(index, 1)" /> @click="updateActionData.fileData.splice(index, 1)" />
</div> </div>
</div> </div>
<div class="" v-if="updateActionData.currentFileList"> <div class="current-files" v-if="updateActionData.currentFileList">
<div v-for="(fileData, index) in updateActionData.currentFileList" <div v-for="(fileData, index) in updateActionData.currentFileList"
:key="fileData.apndFileId" class="file-item d-flex justify-space-between"> :key="fileData.apndFileId"
:class="['file-item d-flex justify-space-between', isDarkMode?'dark':'light']"
>
<div class="file-item-detail"> <div class="file-item-detail">
<v-icon style="font-size: 18px;">mdi-paperclip</v-icon> <v-icon style="font-size: 18px;">mdi-paperclip</v-icon>
<span @click.prevent="downloadFile(fileData)" href="#" <span @click.prevent="downloadFile(fileData)" href="#"
@ -1050,17 +1059,6 @@ const defaultData = {
cursor: pointer; cursor: pointer;
} }
.file-item {
width: auto;
margin: 2px 0;
padding: 4px;
background-color: #0000000A;
.file-item-name {
color: #1677FF;
}
}
::v-deep { ::v-deep {
.v-input__slot { .v-input__slot {
padding-left: 8px; padding-left: 8px;
@ -1084,17 +1082,46 @@ const defaultData = {
font-size: 1.0rem !important; font-size: 1.0rem !important;
} }
.toastui-editor-mode-switch .tab-item.active {
color: #1677FF
}
.toastui-editor-light .toastui-editor-mode-switch .tab-item {
color: #000000E0
}
.v-icon.anticon-delete svg { .v-icon.anticon-delete svg {
width: 14px; width: 14px;
height: 14px; height: 14px;
} }
} }
@each $theme in dark, light {
@include theme($theme);
::v-deep {
.toastui-editor-#{$theme} {
.toastui-editor-mode-switch {
>.tab-item {
border: none;
background-color: transparent;
color: map-deep-get($config, #{$theme}, "card-title-color") !important;
&.active {
color: map-deep-get($config, #{$theme}, "card-text-info-color") !important;
border-top: 1px solid map-deep-get($config, #{$theme}, "card-text-info-color");
}
}
}
}
}
.file-item {
&.#{$theme} {
width: auto;
margin: 2px 0;
padding: 4px;
background-color: map-deep-get($config, #{$theme}, "v-calendar-day-in-not-month-color");
.file-item-name {
color: map-deep-get($config, #{$theme}, "card-text-info-color");
}
}
}
}
</style> </style>