1
0
tangning 7 часов назад
Родитель
Сommit
344573ae52
1 измененных файлов с 40 добавлено и 2 удалено
  1. 40 2
      src/view/case/photos/canvas-photo-editor.js

+ 40 - 2
src/view/case/photos/canvas-photo-editor.js

@@ -1162,9 +1162,8 @@ export class CanvasPhotoEditor {
     const PageIndex = this.selectedPageIndex;
     let list = newPages[PageIndex] && newPages[PageIndex].list?.filter(i => i) || []
     newPages[PageIndex].layoutMode = direction
-    console.log(newPages[PageIndex], 'newPages')
 
-    if (list.length == 2 && direction != 'double') {
+    if (list.length == 2 && direction != 'double') {//两页改成一页
       newPageItem = {
         coordinate: [newPages[PageIndex].coordinate[1]],
         item: [newPages[PageIndex].item[1]],
@@ -1176,6 +1175,45 @@ export class CanvasPhotoEditor {
       newPages[PageIndex].item.length = 1
       newPages.splice(PageIndex+1, 0, newPageItem)
     }
+    if(direction == 'double'){
+      let newPageList = {
+        list: [],
+        item: []
+      }
+      newPages.map((ele,index) => {
+        if(index> PageIndex){
+          let itemInfo = {
+            list: [...ele.list],
+            item: [...ele.item],
+          }
+          if(ele.layoutMode == 'double'){
+            if(itemInfo.list.length == 1){itemInfo.list.push(null)}
+            if(itemInfo.item.length == 1){itemInfo.item.push({})}
+          }
+          newPageList.list.push(...itemInfo.list)
+          newPageList.item.push(...itemInfo.item)
+        }
+      })
+
+      newPages[PageIndex].list[1] = newPageList.list[0]
+      newPages[PageIndex].item[1] = newPageList.item[0]
+      let numberId = 1
+      for (var i=PageIndex+1;i<newPages.length;i++){
+          let newPageslist = [newPageList.list[numberId]]
+          let newPagesitem = [newPageList.item[numberId]]
+          numberId++
+          if(newPages[i].layoutMode == 'double'){
+            newPageslist.push(newPageList.list[numberId])
+            newPagesitem.push(newPageList.item[numberId])
+            numberId++
+          }
+          newPages[i]= {
+            ...newPages[i],
+            list: newPageslist,
+            item: newPagesitem,
+          }
+      }
+    }
     if (!direction) this.selectedPageIndex++
     this.pages = newPages
     // this.resetPosition()