From b48528b1a1a88e289fc0b7ad52f2da213a3f9dfe Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 23 四月 2025 16:34:38 +0800
Subject: [PATCH] Merge branch 'develop'

---
 src/tabviews/custom/popview/index.jsx |   40 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 35 insertions(+), 5 deletions(-)

diff --git a/src/tabviews/custom/popview/index.jsx b/src/tabviews/custom/popview/index.jsx
index de34bf6..57a2d3f 100644
--- a/src/tabviews/custom/popview/index.jsx
+++ b/src/tabviews/custom/popview/index.jsx
@@ -420,6 +420,12 @@
           item.colsCtrls = null
         }
 
+        if (item.wrap.tree === 'true') {
+          item.setting.sync = 'false'
+          item.$cache = false
+          item.setting.$tree = true
+        }
+
         if (item.subtype === 'editable') {
           item.submit.logLabel = item.$menuname + '-鎻愪氦'
           item.submit.$menuId = item.uuid
@@ -531,6 +537,13 @@
 
           group.subButton = this.resetButton(item, group.subButton, Tab)
 
+          if (group.subButton.linkmenu) {
+            if (Array.isArray(group.subButton.linkmenu) && group.subButton.linkmenu.length > 0) {
+              group.subButton.openmenu = group.subButton.linkmenu
+            }
+            delete group.subButton.linkmenu
+          }
+
           group.fields = group.fields.map(cell => {
             // 鏁版嵁婧恠ql璇彞锛岄澶勭悊锛屾潈闄愰粦鍚嶅崟瀛楁璁剧疆涓洪殣钘忚〃鍗�
             if (['select', 'link', 'multiselect', 'radio', 'checkbox', 'checkcard'].includes(cell.type) && cell.resourceType === '1') {
@@ -589,12 +602,9 @@
           delete item.scripts
           item.setting.$name = item.$menuname || ''
           item.setting.execute = item.setting.execute !== 'false'  // 榛樿sql鏄惁鎵ц锛岃浆涓篵oolean 缁熶竴鏍煎紡
-          
+
           if (!item.setting.execute) {
             item.setting.dataresource = ''
-          }
-          if (/\s/.test(item.setting.dataresource)) {
-            item.setting.dataresource = '(' + item.setting.dataresource + ') tb'
           }
       
           if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺
@@ -615,9 +625,18 @@
 
           item.setting.customScript = _customScript // 鏁寸悊鍚庤嚜瀹氫箟鑴氭湰
           item.setting.tailScript = _tailScript     // 鍚庣疆鑷畾涔夎剼鏈�
+          item.setting.custompage = false
 
-          item.setting.custompage = /@pageSize@|@orderBy@|@mk_total/i.test(item.setting.dataresource + item.setting.customScript)
+          if (/order\s+by\s+sort_id\s*$/i.test(item.setting.dataresource)) {
+            item.setting.custompage = true
+          } else if (item.setting.$tree || /@pageSize@|@orderBy@|@mk_total/i.test(item.setting.dataresource + item.setting.customScript)) {
+            item.setting.custompage = true
+          }
 
+          if (/\s/.test(item.setting.dataresource)) {
+            item.setting.dataresource = '(' + item.setting.dataresource + ') tb'
+          }
+          
           if (!item.setting.execute || item.setting.custompage) {
             item.forbidLine = true
           }
@@ -712,12 +731,20 @@
         }
         if (/#position-inner/.test(script)) {
           cell.$innerScript = script
+
+          if (window.backend && window.GLOB.CacheData.has('sql_' + cell.uuid) && !/\$backend/.test(script)) {
+            window.GLOB.CacheData.delete('sql_' + cell.uuid)
+          }
         }
         if (/#position-outer/.test(script)) {
           cell.$outerScript = script
         }
         if (/#position-callback/.test(script)) {
           cell.$callbackScript = script
+
+          if (window.backend && window.GLOB.CacheData.has('sql_back_' + cell.uuid) && !/\$backend/.test(script)) {
+            window.GLOB.CacheData.delete('sql_back_' + cell.uuid)
+          }
         }
       }
     }
@@ -730,6 +757,7 @@
         }
       } else if (cell.syncComponentId === 'multiComponent') {
         let ids = cell.syncComponents.map(m => {
+          if (Array.isArray(m)) return m.pop() || ''
           return m.syncComId.pop() || ''
         })
 
@@ -895,6 +923,8 @@
 
       if (component.setting.interType !== 'system') return component
 
+      component.setting.uuid = component.uuid
+      
       // dataName 绯荤粺鐢熸垚鐨勬暟鎹簮鍚嶇О
       if (component.setting.sync === 'true') {
         component.dataName = 'mk' + component.uuid.slice(-18)

--
Gitblit v1.8.0