From d17368d4a5bdec6db2d8a85c7901cdb25cc59cd4 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 11 十月 2021 15:16:25 +0800
Subject: [PATCH] 2021-10-11

---
 src/utils/utils-custom.js |   47 ++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 36 insertions(+), 11 deletions(-)

diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js
index ee48e7c..a5f307f 100644
--- a/src/utils/utils-custom.js
+++ b/src/utils/utils-custom.js
@@ -274,8 +274,8 @@
           uuids.push(act.uuid)
         })
 
-        if (card.type === 'card' || item.type === 'carousel' || (card.type === 'table' && card.subtype === 'tablecard')) {
-          card.subcards.forEach(_card => {
+        if (item.type === 'card' || item.type === 'carousel' || (item.type === 'table' && item.subtype === 'tablecard')) {
+          item.subcards.forEach(_card => {
             _card.elements && _card.elements.forEach(cell => {
               if (cell.eleType !== 'button') return
               if (appType === 'pc' && cell.OpenType !== 'popview') return
@@ -289,8 +289,8 @@
               uuids.push(cell.uuid)
             })
           })
-        } else if (card.type === 'table' && card.subtype === 'normaltable') {
-          card.cols && card.cols.forEach(col => {
+        } else if (item.type === 'table' && (item.subtype === 'normaltable' || item.subtype === 'editable')) {
+          item.cols && item.cols.forEach(col => {
             if (col.type !== 'action') return
             col.elements && col.elements.forEach(cell => {
               if (appType === 'pc' && cell.OpenType !== 'popview') return
@@ -298,8 +298,8 @@
               uuids.push(cell.uuid)
             })
           })
-        } else if (card.type === 'balcony') {
-          card.elements && card.elements.forEach(cell => {
+        } else if (item.type === 'balcony') {
+          item.elements && item.elements.forEach(cell => {
             if (appType === 'pc' && cell.OpenType !== 'popview') return
 
             uuids.push(cell.uuid)
@@ -386,7 +386,7 @@
             return cell
           })
         }
-      } else if (item.type === 'table' && item.subtype === 'normaltable' && item.cols) {
+      } else if (item.type === 'table' && (item.subtype === 'normaltable' || item.subtype === 'editable') && item.cols) {
         let loopCol = (col) => {
           col.subcols = col.subcols.map(c => {
             c.uuid = this.getuuid()
@@ -409,9 +409,12 @@
   
           return col
         }
-  
+        let _uuids = {}
         item.cols = item.cols.map(col => {
-          col.uuid = this.getuuid()
+          let uuid = this.getuuid()
+
+          _uuids[col.uuid] = uuid
+          col.uuid = uuid
   
           if (col.type === 'colspan' && col.subcols) {
             col = loopCol(col)
@@ -428,6 +431,15 @@
           }
           return col
         })
+
+        if (item.subtype === 'editable') {
+          item.cols = item.cols.map(col => {
+            if (col.editable === 'true' && col.enter && _uuids[col.enter]) {
+              col.enter = _uuids[col.enter]
+            }
+            return col
+          })
+        }
       }
   
       if (item.btnlog) {
@@ -582,7 +594,7 @@
           return cell
         })
       }
-    } else if (item.type === 'table' && item.subtype === 'normaltable' && item.cols) {
+    } else if (item.type === 'table' && (item.subtype === 'normaltable' || item.subtype === 'editable') && item.cols) {
       let loopCol = (col) => {
         col.subcols = col.subcols.map(c => {
           c.uuid = this.getuuid()
@@ -601,8 +613,12 @@
         return col
       }
 
+      let _uuids = {}
       item.cols = item.cols.map(col => {
-        col.uuid = this.getuuid()
+        let uuid = this.getuuid()
+
+        _uuids[col.uuid] = uuid
+        col.uuid = uuid
 
         if (col.type === 'colspan' && col.subcols) {
           col = loopCol(col)
@@ -629,6 +645,15 @@
         }
         return col
       })
+
+      if (item.subtype === 'editable') {
+        item.cols = item.cols.map(col => {
+          if (col.editable === 'true' && col.enter && _uuids[col.enter]) {
+            col.enter = _uuids[col.enter]
+          }
+          return col
+        })
+      }
     } else if (item.type === 'form') {
       item.subcards = item.subcards.map(cell => {
         cell.uuid = this.getuuid()

--
Gitblit v1.8.0