From b059ba9632222013df11a650a6a1d47eb61fd4d2 Mon Sep 17 00:00:00 2001
From: 董国庆 <364620639@qq.com>
Date: 星期一, 27 四月 2026 11:49:39 +0800
Subject: [PATCH] feat(editor): 替换富文本编辑器为AI编辑器并优化多标签表单
---
src/views/userContent/contentCenter/components/AgreementForm.vue | 48 +++++++++++++-----------------------------------
1 files changed, 13 insertions(+), 35 deletions(-)
diff --git a/src/views/userContent/contentCenter/components/AgreementForm.vue b/src/views/userContent/contentCenter/components/AgreementForm.vue
index 744b4b1..c80b4b4 100644
--- a/src/views/userContent/contentCenter/components/AgreementForm.vue
+++ b/src/views/userContent/contentCenter/components/AgreementForm.vue
@@ -1,7 +1,7 @@
<script setup lang="ts">
import { computed, ref } from 'vue'
import type { FormInst, FormRules } from 'naive-ui'
-import RichTextEditor from '@/components/custom/Editor/RichTextEditor/index.vue'
+import AiRichTextEditor from '@/components/custom/Editor/AiRichTextEditor/index.vue'
interface FormModel {
privacyPolicy: string
@@ -51,6 +51,14 @@
return r
})
+const currentContent = computed({
+ get: () => formModel.value[activeSubTab.value as keyof FormModel],
+ set: (value: string) => {
+ const key = activeSubTab.value as keyof FormModel
+ formModel.value[key] = value
+ },
+})
+
async function validate() {
return await formRef.value?.validate()
}
@@ -98,39 +106,9 @@
label-width="80"
require-mark-placement="left"
>
- <n-form-item v-show="activeSubTab === 'privacyPolicy'" label="" path="privacyPolicy" required>
+ <n-form-item label="" :path="activeSubTab" required>
<div class="rich-text-wrapper">
- <RichTextEditor v-model="formModel.privacyPolicy" />
- </div>
- </n-form-item>
-
- <n-form-item v-show="activeSubTab === 'personalInfoList'" label="" path="personalInfoList" required>
- <div class="rich-text-wrapper">
- <RichTextEditor v-model="formModel.personalInfoList" />
- </div>
- </n-form-item>
-
- <n-form-item v-show="activeSubTab === 'sensitiveInfoDesc'" label="" path="sensitiveInfoDesc" required>
- <div class="rich-text-wrapper">
- <RichTextEditor v-model="formModel.sensitiveInfoDesc" />
- </div>
- </n-form-item>
-
- <n-form-item v-show="activeSubTab === 'thirdPartyInfoDesc'" label="" path="thirdPartyInfoDesc" required>
- <div class="rich-text-wrapper">
- <RichTextEditor v-model="formModel.thirdPartyInfoDesc" />
- </div>
- </n-form-item>
-
- <n-form-item v-show="activeSubTab === 'rideNotice'" label="" path="rideNotice" required>
- <div class="rich-text-wrapper">
- <RichTextEditor v-model="formModel.rideNotice" />
- </div>
- </n-form-item>
-
- <n-form-item v-show="activeSubTab === 'permissionNotice'" label="" path="permissionNotice" required>
- <div class="rich-text-wrapper">
- <RichTextEditor v-model="formModel.permissionNotice" />
+ <AiRichTextEditor v-model="currentContent" height="300px" />
</div>
</n-form-item>
</n-form>
@@ -142,12 +120,12 @@
width: 100%;
}
-.rich-text-wrapper :deep(.ql-container) {
+.rich-text-wrapper :deep(.aie-container) {
min-height: 300px;
font-size: 14px;
}
-.rich-text-wrapper :deep(.ql-editor) {
+.rich-text-wrapper :deep(.aie-main) {
min-height: 300px;
}
.tabs {
--
Gitblit v1.7.1