Merge branch 'dev' of http://218.237.212.51:30003/gitadmin/sk_fems_ui into dev-trungvq7-0729

This commit is contained in:
dev
2025-08-07 18:54:21 +09:00
31 changed files with 724 additions and 164 deletions

View File

@ -46,19 +46,21 @@
icon="delete">삭제</a-button>
</div>
</v-col>
<v-col :cols="12" class="mt-5">
<v-col :cols="12" class="mt-5 pb-4">
<v-card-title class="custom-title-6 pa-0">{{ viewActionData.title }}</v-card-title>
</v-col>
<v-col :cols="12" style="min-height: 30vh;" class="pa-0">
<viewer v-if="viewActionData.viewerFlag" ref="tuiViewer" height="inherit"
:initialValue="viewActionData.content" theme="white"
:class="[isDarkMode ? 'theme--white' : 'theme--black', 'custom-view pa-3']" />
<v-col :cols="12" style="min-height: 30vh;" class="pa-0 custom-view">
<v-card class="pa-3" style="overflow-y:auto;">
<viewer v-if="viewActionData.viewerFlag" ref="tuiViewer" height="inherit"
:initialValue="viewActionData.content" theme="white"
:class="[isDarkMode ? 'theme--white' : 'theme--black']" />
</v-card>
</v-col>
<v-col :cols="6" class="mt-5">
<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">
<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">
<v-icon>mdi-paperclip</v-icon>
@ -86,7 +88,8 @@
</v-text-field>
</v-col>
<v-col :cols="12" style="min-height: calc(100vh - 450px);">
<editor ref="tuiEditor" height="100%" initialEditType="wysiwyg" />
<editor ref="tuiEditor" height="100%" initialEditType="wysiwyg"
:class="[isDarkMode ? 'toastui-editor-dark' : 'toastui-editor-light']"/>
</v-col>
<v-col :cols="6" class="mt-5">
@ -132,7 +135,8 @@
</v-text-field>
</v-col>
<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"
:class="[isDarkMode ? 'toastui-editor-dark' : 'toastui-editor-light']"/>
</v-col>
<v-col :cols="6" class="mt-5">
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
@ -179,7 +183,8 @@
</v-col>
<v-col :cols="12" style="height: calc(90vh - 270px);" class="mt-4">
<editor ref="tuiUpdateEditor" height="100%" initialEditType="wysiwyg"
:initialValue="updateActionData.content" />
:initialValue="updateActionData.content"
:class="[isDarkMode ? 'toastui-editor-dark' : 'toastui-editor-light']"/>
</v-col>
<v-col :cols="6" class="mt-5">
<v-card-title class="custom-title-7 pa-0">파일첨부</v-card-title>
@ -187,13 +192,26 @@
<div v-for="(fileData, index) in updateActionData.fileData" :key="fileData.apndFileId"
class="file-item d-flex justify-space-between">
<div class="file-item-detail">
<v-icon>mdi-paperclip</v-icon>
<v-icon style="font-size: 18px;">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>
<div class="" v-if="updateActionData.currentFileList">
<div v-for="(fileData, index) in updateActionData.currentFileList"
:key="fileData.apndFileId" class="file-item d-flex justify-space-between">
<div class="file-item-detail">
<v-icon style="font-size: 18px;">mdi-paperclip</v-icon>
<span @click.prevent="downloadFile(fileData)" href="#"
class="file-item-name pointer">{{ fileData.apndFileNm + '.' +
fileData.apndFileExt }}</span>
</div>
<a-icon type="delete" class="v-icon pointer"
@click="addFileToDeleteFileList(fileData)" />
</div>
</div>
<a-button class="mt-2" icon="upload" @click="$refs.updateInputFile.$refs.input.click()">
업로드
</a-button>
@ -1044,7 +1062,7 @@ const defaultData = {
.custom-view {
border: 1px solid;
border-radius: 6px;
height: 100%;
height: 0;
@each $theme in dark, light {
@include theme($theme);
@ -1062,8 +1080,13 @@ const defaultData = {
color: #1677FF
}
.toastui-editor-mode-switch .tab-item {
.toastui-editor-light .toastui-editor-mode-switch .tab-item {
color: #000000E0
}
.v-icon.anticon-delete svg {
width: 14px;
height: 14px;
}
}
</style>

View File

@ -103,21 +103,6 @@ export default {
gridName: 'rowGrid',
// rowGridOrigin: [],
detailList: myDetail,
dataPathMock: {
'rowGrid': {
column: [
{ header: '프로그램ID', name: 'field1', align: 'left' },
{ header: '프로그램덤', name: 'field2', align: 'left' },
{ header: '타임', name: 'field3', align: 'left' },
{ header: '사용여부', name: 'field4', align: 'left' }
],
option: {
scrollY: false,
scrollX: false,
}
}
},
};
},
computed: {
@ -189,17 +174,17 @@ export default {
const gridHeight = this.$refs.gridParent.offsetHeight - 36;
const myOptions = {
scrollX: false,
scrollY: true,
};
// console.log("this.pageData", this.pageData)
const _this = this;
const myColumns = [
{ header: '프로그램ID', name: 'prgmId', align: 'center' },
{ header: '프로그램명', name: 'prgmNm' },
{ header: '프로그램ID', name: 'prgmId', align: 'left' },
{ header: '프로그램명', name: 'prgmNm', align: 'left' },
{
header: '타입',
name: 'prgmTpCd',
align: 'center',
align: 'left',
formatter({ value }) {
return value ? (value === '1' ? '프로그램' : '팝업') : null;
},
@ -207,7 +192,7 @@ export default {
{
header: '사용여부',
name: 'useFg',
align: 'center',
align: 'left',
formatter({ value }) {
value = value === true ? '1' : '0';
const newValue = _this.pageData.selectUseFgList.filter(