Browse Source

报纸栏目

natasha 1 week ago
parent
commit
88ddf3aedf
1 changed files with 50 additions and 0 deletions
  1. 50 0
      src/views/content_manage/newspaper_manage/CreateNewspaper.vue

+ 50 - 0
src/views/content_manage/newspaper_manage/CreateNewspaper.vue

@@ -662,6 +662,7 @@ export default {
       drag: false,
       loading: false,
       previewBook: false,
+      oldArtsList: [], // 记录旧文章栏目列表
     };
   },
   //计算属性 类似于data概念
@@ -828,6 +829,53 @@ export default {
       this.newspaperForm.chn_data_str = JSON.parse(
         this.newspaperForm.chn_data
       ).join("\n");
+      if (this.id || this.issueId) {
+        let chn_art_data = [];
+        let chn_art_data_new = []; // 新的文章栏目列表
+
+        if (this.issueChannel.chn_art_data) {
+          chn_art_data = JSON.parse(JSON.stringify(this.oldArtsList));
+
+          JSON.parse(this.newspaperForm.chn_data).forEach((item, index) => {
+            let flag = true;
+            for (let i = 0; i < chn_art_data.length; i++) {
+              if (item === chn_art_data[i].chn_name) {
+                chn_art_data_new.push(chn_art_data[i]);
+                flag = false;
+                return false;
+              }
+            }
+            if (flag) {
+              let obj = {
+                arts: [],
+                editFlag: false,
+                chn_idx: index,
+                chn_name: item,
+                editFlag: false,
+                edit_name: item,
+                show: index === 0 ? true : false,
+              };
+              chn_art_data_new.push(obj);
+            }
+          });
+        } else {
+          JSON.parse(this.newspaperForm.chn_data).forEach((item, index) => {
+            let obj = {
+              arts: [],
+              editFlag: false,
+              chn_idx: index,
+              chn_name: item,
+              editFlag: false,
+              edit_name: item,
+              show: index === 0 ? true : false,
+            };
+            chn_art_data_new.push(obj);
+          });
+        }
+        this.issueChannel = {
+          chn_art_data: chn_art_data_new,
+        };
+      }
     },
     handleAddIssue() {
       this.loading = true;
@@ -1078,6 +1126,8 @@ export default {
               art_count: res.data.art_count,
               chn_art_data: chn_art_data,
             };
+
+            this.oldArtsList = chn_art_data;
           }
         })
         .catch(() => {});