From 2b46797c3a5868f7f26329da5834c13aae07ad69 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 03 四月 2023 11:59:34 +0800
Subject: [PATCH] Merge branch 'develop'

---
 src/views/pcdesign/index.jsx |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/src/views/pcdesign/index.jsx b/src/views/pcdesign/index.jsx
index c524734..1f071f1 100644
--- a/src/views/pcdesign/index.jsx
+++ b/src/views/pcdesign/index.jsx
@@ -1004,6 +1004,16 @@
                 menus.push(menuObj[cell.openmenu])
               }
             })
+
+            card.backElements && card.backElements.forEach(cell => {
+              if (cell.eleType !== 'button') return
+
+              if (cell.linkmenu && menuObj[cell.linkmenu]) {
+                menus.push(menuObj[cell.linkmenu])
+              } else if (cell.openmenu && menuObj[cell.openmenu]) {
+                menus.push(menuObj[cell.openmenu])
+              }
+            })
           })
         } else if (item.type === 'balcony') {
           item.elements && item.elements.forEach(cell => {
@@ -1074,6 +1084,35 @@
     return true
   }
 
+  resetSyncQuery = (components) => {
+    return components.map(item => {
+      if (item.type === 'tabs') {
+        item.subtabs.forEach(tab => {
+          tab.components = this.resetSyncQuery(tab.components)
+        })
+      } else if (item.type === 'group') {
+        item.components = this.resetSyncQuery(item.components)
+      } else if (item.setting && item.setting.interType === 'system' && item.setting.sync === 'true') {
+        let sql = ''
+        if (item.setting.execute !== 'false' && item.setting.dataresource) {
+          sql = item.setting.dataresource
+        }
+
+        item.scripts && item.scripts.forEach(script => {
+          if (script.status === 'false') return
+
+          sql += script.sql
+        })
+       
+        if (sql.length > 8000) {
+          item.setting.sync = 'false'
+        }
+      }
+
+      return item
+    })
+  }
+
   submitConfig = () => {
     let config = fromJS(this.state.config).toJS()
 
@@ -1090,6 +1129,10 @@
         config.enabled = false
       }
 
+      if (config.cacheUseful !== 'true') {
+        config.components = this.resetSyncQuery(config.components)
+      }
+
       let tbs = []
       let roleParam = this.getMenuMessage(tbs)
 

--
Gitblit v1.8.0