فهرست منبع

fix(frontend): 修复 Home 页创建模板对话框仍有基础文档上传

- 移除 Home.vue 中创建模板对话框的基础文档上传
- 与 Templates.vue 保持一致
何文松 1 ماه پیش
والد
کامیت
8ddf80d42e
1فایلهای تغییر یافته به همراه14 افزوده شده و 35 حذف شده
  1. 14 35
      frontend/vue-demo/src/views/Home.vue

+ 14 - 35
frontend/vue-demo/src/views/Home.vue

@@ -138,31 +138,13 @@
             v-model="newTemplate.description"
             type="textarea"
             :rows="3"
-            placeholder="请输入模板描述"
+            placeholder="请输入模板描述(可选)"
           />
         </el-form-item>
-        <el-form-item label="基础文档" required>
-          <el-upload
-            class="upload-demo"
-            drag
-            action="/api/v1/parse/upload"
-            :on-success="handleUploadSuccess"
-          >
-            <el-icon class="el-icon--upload"><upload-filled /></el-icon>
-            <div class="el-upload__text">
-              拖拽文件到此处,或<em>点击上传</em>
-            </div>
-            <template #tip>
-              <div class="el-upload__tip">
-                支持 Word、PDF 格式
-              </div>
-            </template>
-          </el-upload>
-        </el-form-item>
       </el-form>
       <template #footer>
         <el-button @click="showCreateDialog = false">取消</el-button>
-        <el-button type="primary" @click="handleCreateTemplate">创建</el-button>
+        <el-button type="primary" @click="handleCreateTemplate" :loading="creating">创建</el-button>
       </template>
     </el-dialog>
   </div>
@@ -171,7 +153,7 @@
 <script setup>
 import { ref, reactive, computed, onMounted } from 'vue'
 import { useRouter } from 'vue-router'
-import { Promotion, UploadFilled } from '@element-plus/icons-vue'
+import { Promotion } from '@element-plus/icons-vue'
 import { ElMessage } from 'element-plus'
 import { useTemplateStore } from '@/stores/template'
 import { templateApi } from '@/api'
@@ -207,9 +189,9 @@ const stats = reactive({
 
 const newTemplate = reactive({
   name: '',
-  description: '',
-  baseDocumentId: ''
+  description: ''
 })
+const creating = ref(false)
 
 // 推荐模板数据(从 API 获取)
 const recommendTemplates = ref([])
@@ -253,30 +235,27 @@ function useTemplate(tpl) {
   router.push(`/editor/${tpl.id}`)
 }
 
-function handleUploadSuccess(response) {
-  if (response.code === 200) {
-    newTemplate.baseDocumentId = response.data.id
-    ElMessage.success('文档上传成功')
-  }
-}
-
 async function handleCreateTemplate() {
   if (!newTemplate.name) {
     ElMessage.warning('请输入模板名称')
     return
   }
-  if (!newTemplate.baseDocumentId) {
-    ElMessage.warning('请上传基础文档')
-    return
-  }
 
+  creating.value = true
   try {
-    const template = await templateStore.createTemplate(newTemplate)
+    const template = await templateStore.createTemplate({
+      name: newTemplate.name,
+      description: newTemplate.description || ''
+    })
     showCreateDialog.value = false
+    // 重置表单
+    Object.assign(newTemplate, { name: '', description: '' })
     ElMessage.success('模板创建成功')
     router.push(`/editor/${template.id}`)
   } catch (error) {
     ElMessage.error('创建失败: ' + error.message)
+  } finally {
+    creating.value = false
   }
 }
 </script>