فهرست منبع

feat(admin): 文章支持推荐排序值编辑;编辑页消除横向滚动条

Xiaogang Liao 12 ساعت پیش
والد
کامیت
c15af94048

+ 6 - 0
cfc-backend/src/main/java/com/etotem/cfc/controller/admin/AdminArticleController.java

@@ -114,6 +114,9 @@ public class AdminArticleController {
         if (body.get("difficultyLevel") != null && !body.get("difficultyLevel").toString().trim().isEmpty()) {
             article.setDifficultyLevel(Integer.valueOf(body.get("difficultyLevel").toString()));
         }
+        if (body.get("sortOrder") != null && !body.get("sortOrder").toString().trim().isEmpty()) {
+            article.setSortOrder(Integer.valueOf(body.get("sortOrder").toString()));
+        }
         // relatedDimensions may come as array from frontend
         Object rd = body.get("relatedDimensions");
         if (rd instanceof List) {
@@ -195,6 +198,9 @@ public class AdminArticleController {
         if (body.get("difficultyLevel") != null && !body.get("difficultyLevel").toString().trim().isEmpty()) {
             article.setDifficultyLevel(Integer.valueOf(body.get("difficultyLevel").toString()));
         }
+        if (body.get("sortOrder") != null && !body.get("sortOrder").toString().trim().isEmpty()) {
+            article.setSortOrder(Integer.valueOf(body.get("sortOrder").toString()));
+        }
         Object rd = body.get("relatedDimensions");
         if (rd instanceof List) {
             article.setRelatedDimensions(String.join(",", (List<String>) rd));

+ 1 - 8
cfc-web/src/views/admin/ActivityEdit.vue

@@ -608,20 +608,13 @@ activityId
   overflow-y: auto;
 }
 
-/* 内滚动容器:利用 el-card__body flex column 让表单区域独立滚动 */
-.activity-edit-form-wrap {
-  flex: 1;
-  min-height: 0;
-  overflow-y: auto;
-  padding-right: 8px;
-  margin-right: -8px;
-}
 
 /* 内滚动容器:利用 el-card__body flex column 让表单区域独立滚动 */
 .activity-edit-form-wrap {
   flex: 1;
   min-height: 0;
   overflow-y: auto;
+  overflow-x: hidden;
   padding-right: 8px;
   margin-right: -8px;
 }

+ 9 - 0
cfc-web/src/views/admin/ArticleEdit.vue

@@ -133,6 +133,10 @@
             <el-radio label="private">私密</el-radio>
           </el-radio-group>
         </el-form-item>
+        <el-form-item label="推荐排序">
+          <el-input-number v-model="form.sortOrder" :min="0" :max="9999" :disabled="readonly" controls-position="right" />
+          <span class="form-hint">越小越靠前,仅精选文章生效(列表上移/下移会自动调整)</span>
+        </el-form-item>
       </el-form>
       </div>
     </el-card>
@@ -190,6 +194,7 @@ export default {
         tagIds: [],
         author: '',
         readTime: 3,
+        sortOrder: 0,
         relatedDimensions: [],
         dimensionWeights: [],
         visibility: 'public',
@@ -615,6 +620,7 @@ onError: (file, err, res) => {
             tagIds: d.tagIds || [],
             author: d.author || '',
             readTime: d.readTime || 3,
+            sortOrder: d.sortOrder || 0,
             relatedDimensions: d.relatedDimensions || [],
             dimensionWeights: [],
             visibility: d.visibility || 'public',
@@ -653,6 +659,7 @@ onError: (file, err, res) => {
             tagIds: [],
             author: d.author || '',
             readTime: d.readTime || 3,
+            sortOrder: 0,
             relatedDimensions: d.relatedDimensions || [],
             dimensionWeights: [],
             visibility: d.visibility || 'public',
@@ -711,6 +718,7 @@ onError: (file, err, res) => {
         tagIds: this.form.tagIds,
         author: this.form.author,
         readTime: this.form.readTime,
+        sortOrder: this.form.sortOrder,
         relatedDimensions: this.form.relatedDimensions,
         visibility: this.form.visibility,
         visibleTo: this.form.visibleTo
@@ -1025,6 +1033,7 @@ onError: (file, err, res) => {
   flex: 1;
   min-height: 0;
   overflow-y: auto;
+  overflow-x: hidden;
   padding-right: 8px;
   margin-right: -8px;
 }