This commit is contained in:
2026-03-17 09:19:35 +08:00
parent d66225dc5d
commit 94d45dfddf
8 changed files with 339 additions and 46 deletions

View File

@@ -106,6 +106,8 @@
:source-content.sync="sourceContent"
:source-rows="16"
:source-placeholder="$t('mailboxSend.sourcePlaceholder')"
:show-select-template-button="true"
@onSelectTemplate="showTemplateDialog = true"
/>
</div>
<div class="mail-footer-bar" :style="{ left: footerBarLeft }">
@@ -153,31 +155,16 @@
</div>
</el-dialog>
<!-- 选择模板 -->
<el-dialog :title="$t('mailboxSend.selectTemplate')" :visible.sync="Templatebox" width="620px" :close-on-click-modal="false">
<el-form ref="Tempform" :model="TempForm" label-width="225px">
<el-form-item :label="$t('mailboxSend.chooseTemplate')">
<el-select v-model="TempForm.board" :placeholder="$t('mailboxSend.chooseTemplatePlaceholder')" @change="select_tem($event)" style="width: 220px;">
<el-option :key="0" :label="$t('mailboxSend.none') " :value="0"></el-option>
<el-option v-for="item in fol_low" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('mailboxSend.previewTemplate')">
<img src="../../assets/img/img.jpg" alt="" style="width: 250px;">
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="Templatebox = false">{{ $t('mailboxSend.cancel') }}</el-button>
<el-button type="primary" @click="saveTemplate">{{ $t('mailboxSend.save') }}</el-button>
</span>
</el-dialog>
<template-selector-dialog v-if="showTemplateDialog"
:visible.sync="showTemplateDialog"
@confirm="handleTemplateApply"
/>
</div>
</template>
<script>
import emailCkeditor from '@/components/page/components/email/CkeditorMail.vue'
import TemplateSelectorDialog from '@/components/page/components/email/TemplateSelectorDialog.vue'
import 'multi-items-input'
import 'multi-items-input/dist/multi-items-input.css'
import bus from '../common/bus'
@@ -211,7 +198,7 @@ import emailCkeditor from '@/components/page/components/email/CkeditorMail.vue'
},
LibrForm: {},
LibrarySelection: [],
Templatebox: false,
showTemplateDialog: false,
Librarybox: false,
link_TotalLibry: 0,
isSourceMode: false,
@@ -232,6 +219,7 @@ import emailCkeditor from '@/components/page/components/email/CkeditorMail.vue'
},
components: {
emailCkeditor,
TemplateSelectorDialog,
},
computed: {
footerBarLeft() {
@@ -259,6 +247,16 @@ import emailCkeditor from '@/components/page/components/email/CkeditorMail.vue'
bus.$off('collapse-content');
},
methods: {
handleTemplateApply(htmlContent) {
// 假设你使用的是 TinyMCE
if (window.tinymce && window.tinymce.activeEditor) {
// 建议:如果你想保留已有内容,用 insertContent
// 如果想彻底更换模板,用 setContent。
window.tinymce.activeEditor.setContent(htmlContent);
this.$message.success('Template applied successfully!');
}
},
// 切换富文本 / 源代码编辑模式(源码用 sourceContent 保留完整 HTML可自由来回切换
toggleSourceMode() {
if (this.isSourceMode) {
@@ -573,19 +571,7 @@ import emailCkeditor from '@/components/page/components/email/CkeditorMail.vue'
this.getLibary();
},
// 模板选择-弹出框
handleSetMoudle() {
this.Templatebox = true
},
// 保存模板
saveTemplate() {
},
// 下拉换模板预览
select_tem(e) {
},