Parcourir la source

refactor(system): 优化业务资讯和版本管理功能

- 在业务资讯列表中,为"正文内容"列添加显示溢出文本提示
- 优化富文本编辑器内容区域样式,实现自动换行
- 在版本管理中,增加对下载链接或上传文件的验证
- 调整"确认发布"按钮的显示逻辑,仅在状态非已发布时显示
fugui001 il y a 3 mois
Parent
commit
0a22e1377b

+ 31 - 3
src/views/system/business/info/index.vue

@@ -51,7 +51,7 @@
         <el-table-column label="类型" align="center" prop="categoryName" />
         <el-table-column label="新闻标题" align="center" prop="title" />
         <el-table-column label="引言" align="center" prop="summary" />
-        <el-table-column label="正文内容" align="center" prop="contentText" />
+        <el-table-column label="正文内容" align="center" prop="contentText" :show-overflow-tooltip="true" />
         <el-table-column label="位置编码" align="center" prop="positionText" />
         <el-table-column label="时间" align="center" prop="createdAt" width="180">
           <template #default="scope">
@@ -61,7 +61,7 @@
         <el-table-column label="状态" align="center" prop="statusText" />
         <el-table-column label="新闻类型" align="center" prop="newsTypeText" />
         <el-table-column label="外部链接" align="center" prop="externalLink" />
-       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
           <template #default="scope">
             <el-tooltip content="修改" placement="top">
               <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['business:info:edit']">修改</el-button>
@@ -70,7 +70,16 @@
               <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['business:info:remove']">删除</el-button>
             </el-tooltip>
             <el-tooltip content="确认发布" placement="top">
-              <el-button link type="primary" icon="Upload" @click="handlePublish(scope.row)" v-hasPermi="['business:info:edit']">确认发布</el-button>
+              <el-button
+                link
+                type="primary"
+                icon="Upload"
+                @click="handlePublish(scope.row)"
+                v-hasPermi="['business:info:edit']"
+                v-show="scope.row.status !== 'published'"
+              >
+                确认发布
+              </el-button>
             </el-tooltip>
           </template>
         </el-table-column>
@@ -439,3 +448,22 @@ const handleIconRemove = (file, updatedFileList) => {
   competitionIcon.value = ''; // 如果需要清除后台加载的图标,可以在这里设置为空字符串
 };
 </script>
+<style>
+.custom-editor-content .ql-editor {
+  width: 100%;
+  max-width: 500px; /* 固定宽度 */
+  white-space: pre-wrap !important;
+  word-wrap: break-word;
+  overflow-wrap: break-word;
+}
+.el-form-item .el-form {
+  white-space: normal;
+}
+
+/* 确保 .ql-editor 是你的富文本编辑器的内容区域类名 */
+.ql-editor {
+  white-space: pre-wrap !important; /* 允许自动换行 */
+  word-wrap: break-word; /* 长单词或 URL 自动换行 */
+  overflow-wrap: break-word; /* 另一种方式实现自动换行 */
+}
+</style>

+ 11 - 5
src/views/system/business/versionManagement/index.vue

@@ -336,15 +336,21 @@ const handleUpdate = async (row?: VersionManagementVO) => {
 const submitForm = () => {
   versionManagementFormRef.value?.validate(async (valid: boolean) => {
     if (valid) {
-      // 判断是否选择了文件
-      if (fileList.value.length === 0) {
-        proxy?.$modal.msgError('请先选择并上传文件');
-        return;
-      }
       buttonLoading.value = true;
       if (form.value.id) {
+        // 判断如果没有下载链接,则必须上传文件
+        if (!form.value.downloadLink || form.value.downloadLink.trim() === '') {
+          if (fileList.value.length === 0) {
+            proxy?.$modal.msgError('请先选择并上传文件或填写下载链接');
+            return;
+          }
+        }
         await updateVersionManagement(form.value).finally(() => (buttonLoading.value = false));
       } else {
+        if (fileList.value.length === 0) {
+          proxy?.$modal.msgError('请先选择并上传文件');
+          return;
+        }
         await addVersionManagement(form.value).finally(() => (buttonLoading.value = false));
       }
       proxy?.$modal.msgSuccess('操作成功');