Compare commits

..

8 Commits

12 changed files with 175 additions and 80 deletions

View File

@ -253,16 +253,12 @@ a {
color: map-deep-get($config, #{$theme}, "v-select-label-color");
}
// .header {
// background-color: map-deep-get($config, #{$theme}, "header-backgroud");
// border-bottom: 1px solid map-deep-get($config, #{$theme}, "v-header-border");
// }
.custom-chart{
border: 1px solid map-deep-get($config, #{$theme}, "v-chart-border");
}
.v-icon {
color: currentColor;
&.icon-orange {
svg {
fill:map-deep-get($config,

View File

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

View File

@ -79,6 +79,8 @@
&>.v-treeview-node__root:before {
border-radius: 6px;
z-index: -1;
background-color: rgba(0, 0, 0, 0);
transition-duration: 0s;
}
&>.v-treeview-node__root:hover:before {
@ -379,21 +381,21 @@
.v-treeview-node__children {
.v-treeview-node {
>.v-treeview-node__root {
.v-treeview-node__content {
.v-treeview-node__label {
color: map-deep-get($config, #{$theme}, "card-default-color");
}
}
*:hover,
:hover {
border-width: 0;
}
&:hover {
border: 1px solid map-deep-get($config, #{$theme}, "v-input-textarea-border");
border-radius: 8px;
background-color: rgba(0, 0, 0, 0);
&:before {
opacity: 1 !important;
border: 1px solid map-deep-get($config, #{$theme}, "v-input-textarea-border");
border-radius: 8px;
}
.v-treeview-node__content {
.v-treeview-node__label {
color: map-deep-get($config, #{$theme}, "tui-grid-title-color");
@ -418,6 +420,12 @@
}
}
.v-treeview-node__content {
.v-treeview-node__label {
color: map-deep-get($config, #{$theme}, "card-default-color");
}
}
}
}

View File

@ -113,7 +113,7 @@ $config: (
tui-grid-cell-color: #FFFFFFD9,
tui-grid-cell-insert-color: #2B2111,
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-disabled-color: rgb(170, 170, 170),
tui-grid-cell-hover-backgroundColor: #2d4571,
@ -263,7 +263,7 @@ $config: (
tui-grid-cell-color: #000000E0,
tui-grid-cell-insert-color: #FFFBE6,
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-hover-backgroundColor: #f5f5f5,
v-tabs-items-border-color: #0000000F,

View File

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

View File

@ -94,7 +94,7 @@
</div>
<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>
</v-card-actions>
</v-card>

View File

@ -238,7 +238,13 @@ export default {
type: Object,
require: false,
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];
this.strtDt = Utility.setFormatDate(returnData.strtDt, 'YYYY-MM-DD');
this.endDt = Utility.setFormatDate(returnData.endDt, 'YYYY-MM-DD');
this.selectTimeValue1 = returnData.strtHh+' : '+ returnData.strtMm;
this.selectTimeValue2 = returnData.endHh+' : '+ returnData.endMm;
this.selectTimeValue1 = returnData.strtHh + ' : ' + returnData.strtMm;
this.selectTimeValue2 = returnData.endHh + ' : ' + returnData.endMm;
this.planTitle = returnData.planTitle;
this.planCntn = returnData.planCntn;
this.planColor = returnData.planColor;

View File

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

View File

@ -1,5 +1,5 @@
<template>
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.4899 7.76897L0.552358 0.279682C0.491643 0.249325 0.422 0.242182 0.355929 0.258253C0.282599 0.276381 0.219441 0.322828 0.180282 0.387423C0.141124 0.452017 0.129156 0.529497 0.147 0.602896L1.68629 6.89218C1.7095 6.98682 1.77914 7.06361 1.872 7.09397L4.5095 7.99932L1.87379 8.90468C1.78093 8.93682 1.71129 9.01182 1.68986 9.10647L0.147 15.4047C0.130929 15.4708 0.138072 15.5404 0.168429 15.5993C0.238072 15.7404 0.4095 15.7975 0.552358 15.7279L15.4899 8.28147C15.5452 8.25468 15.5899 8.20825 15.6184 8.15468C15.6881 8.01182 15.6309 7.8404 15.4899 7.76897ZM1.90771 13.6154L2.80593 9.94397L8.07736 8.13504C8.11843 8.12075 8.15236 8.08861 8.16664 8.04575C8.19164 7.97075 8.15236 7.8904 8.07736 7.86361L2.80593 6.05647L1.91129 2.39932L13.1256 8.02254L1.90771 13.6154Z" fill="white"/>
<path d="M15.4899 7.76897L0.552358 0.279682C0.491643 0.249325 0.422 0.242182 0.355929 0.258253C0.282599 0.276381 0.219441 0.322828 0.180282 0.387423C0.141124 0.452017 0.129156 0.529497 0.147 0.602896L1.68629 6.89218C1.7095 6.98682 1.77914 7.06361 1.872 7.09397L4.5095 7.99932L1.87379 8.90468C1.78093 8.93682 1.71129 9.01182 1.68986 9.10647L0.147 15.4047C0.130929 15.4708 0.138072 15.5404 0.168429 15.5993C0.238072 15.7404 0.4095 15.7975 0.552358 15.7279L15.4899 8.28147C15.5452 8.25468 15.5899 8.20825 15.6184 8.15468C15.6881 8.01182 15.6309 7.8404 15.4899 7.76897ZM1.90771 13.6154L2.80593 9.94397L8.07736 8.13504C8.11843 8.12075 8.15236 8.08861 8.16664 8.04575C8.19164 7.97075 8.15236 7.8904 8.07736 7.86361L2.80593 6.05647L1.91129 2.39932L13.1256 8.02254L1.90771 13.6154Z" fill="currentColor"/>
</svg>
</template>

View File

@ -175,7 +175,7 @@ export default {
header: '사용여부',
name: 'useFg',
align: 'left',
width: 100,
minWidth: 80,
formatter({ value }) {
value = value === true ? '1' : '0';
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({

View File

@ -37,7 +37,7 @@
class="mr-1" icon="unordered-list">목록</a-button>
<a-button @click="viewPageButtonGroupClickEvent('reply')" type="primary" :ripple="false"
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 @click="viewPageButtonGroupClickEvent('update')" type="primary" :ripple="false"
@ -60,9 +60,13 @@
<v-card-title class="custom-title-7 pa-0">
파일목록
</v-card-title>
<div v-for="fileData in viewActionData.fileData" :key="fileData.apndFileId" class="file-item" style="background-color: unset;">
<a @click.prevent="downloadFile(fileData)">
<div class="d-flex justify-start search-box-label">
<div v-for="fileData in viewActionData.fileData"
:key="fileData.apndFileId"
: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>
<span class="file-item-name ml-2">{{ fileData.apndFileNm + '.' +
fileData.apndFileExt }}</span>
@ -96,7 +100,8 @@
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
<div class="" v-if="writeActionData.fileData">
<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">
<v-icon>mdi-paperclip</v-icon>
<span href="#" class="file-item-name">{{ fileData.name }}</span>
@ -105,15 +110,17 @@
@click="writeActionData.업로드fileData.splice(index, 1)" />
</div>
</div>
<a-button class="mt-2" icon="upload" @click="$refs.writeInputFile.$refs.input.click()">
<a-button class="ant-btn-popup-default mt-3" color="primary" icon="upload" @click="$refs.writeInputFile.$refs.input.click()">
업로드
</a-button>
<v-file-input ref="writeInputFile" v-model="writeActionData.fileData" multiple outlined
hide-input class="d-none" prepend-icon="mdi-tray-arrow-up"></v-file-input>
</v-col>
<v-col :cols="12" class="text-right">
<a-button @click="writePageButtonGroupClickEvent('cancel')" :ripple="false"
class="mr-2">취소</a-button>
<a-button @click="writePageButtonGroupClickEvent('cancel')"
:ripple="false"
class="ant-btn-popup-default mr-2"
color="primary" >취소</a-button>
<a-button @click="writePageButtonGroupClickEvent('write')" :ripple="false"
type="primary">등록</a-button>
</v-col>
@ -142,7 +149,8 @@
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
<div class="" v-if="replyActionData.fileData">
<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">
<v-icon>mdi-paperclip</v-icon>
<span href="#" class="file-item-name">{{ fileData.name }}</span>
@ -151,7 +159,7 @@
@click="replyActionData.fileData.splice(index, 1)" />
</div>
</div>
<a-button class="mt-3" icon="upload" @click="$refs.replyInputFile.$refs.input.click()">
<a-button class="ant-btn-popup-default mt-3" color="primary" icon="upload" @click="$refs.replyInputFile.$refs.input.click()">
업로드
</a-button>
<v-file-input ref="replyInputFile" multiple show-size v-model="replyActionData.fileData"
@ -159,7 +167,10 @@
</v-file-input>
</v-col>
<v-col :cols="12" class="text-right">
<a-button @click="replyPageButtonGroupClickEvent('cancel')" :ripple="false">취소</a-button>
<a-button @click="replyPageButtonGroupClickEvent('cancel')"
class="ant-btn-popup-default mr-2"
color="primary"
:ripple="false">취소</a-button>
<a-button @click="replyPageButtonGroupClickEvent('reply')" :ripple="false"
type="primary">등록</a-button>
</v-col>
@ -168,7 +179,7 @@
</div>
<!-- 답글 작성 페이지 -->
<!-- 수정 페이지 시작 -->
<div v-if="pageActionFlag == 'update'">
<div v-if="pageActionFlag == 'update'" class="update">
<v-card>
<div class="pa-5">
<v-row align="center" no-gutters>
@ -190,7 +201,8 @@
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
<div class="" v-if="updateActionData.fileData">
<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">
<v-icon style="font-size: 18px;">mdi-paperclip</v-icon>
<span href="#" class="file-item-name">{{ fileData.name }}</span>
@ -199,9 +211,11 @@
@click="updateActionData.fileData.splice(index, 1)" />
</div>
</div>
<div class="" v-if="updateActionData.currentFileList">
<div class="current-files" v-if="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">
<v-icon style="font-size: 18px;">mdi-paperclip</v-icon>
<span @click.prevent="downloadFile(fileData)" href="#"
@ -212,7 +226,7 @@
@click="addFileToDeleteFileList(fileData)" />
</div>
</div>
<a-button class="mt-2" icon="upload" @click="$refs.updateInputFile.$refs.input.click()">
<a-button class="ant-btn-popup-default mt-2" color="primary" icon="upload" @click="$refs.updateInputFile.$refs.input.click()">
업로드
</a-button>
<v-file-input ref="updateInputFile" multiple show-size v-model="updateActionData.fileData"
@ -220,7 +234,10 @@
</v-file-input>
</v-col>
<v-col :cols="12" class="text-right">
<a-button @click="updatePageButtonGroupClickEvent('cancel')">취소</a-button>
<a-button @click="updatePageButtonGroupClickEvent('cancel')"
class="ant-btn-popup-default mr-2"
color="primary"
>취소</a-button>
<a-button @click="updatePageButtonGroupClickEvent('update')" type="primary">등록</a-button>
</v-col>
</v-row>
@ -1042,17 +1059,6 @@ const defaultData = {
cursor: pointer;
}
.file-item {
width: auto;
margin: 2px 0;
padding: 4px;
background-color: #0000000A;
.file-item-name {
color: #1677FF;
}
}
::v-deep {
.v-input__slot {
padding-left: 8px;
@ -1076,17 +1082,46 @@ const defaultData = {
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 {
width: 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>

View File

@ -35,7 +35,7 @@
</v-col>
<v-col :cols="6.5" class="text-right d-flex align-end justify-end align-self-end">
<!-- 조회버튼 -->
<a-button icon="file-excel" class="d-inline-flex-1 mr-1" size="large" @click="createExcel()">엑셀</a-button>
<a-button type="default" icon="file-excel" class="d-inline-flex-1 mr-1" size="large" @click="createExcel()">엑셀</a-button>
<BtnSearch @click="search" size="large" />
</v-col>
</v-row>