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