From b6c698c8833836971184a0a9c2645a15f8174d37 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 08 五月 2025 16:31:18 +0800
Subject: [PATCH] Merge branch 'master' into positec

---
 src/menu/components/table/normal-table/index.jsx |   72 +++++++++++++++++++++++++-----------
 1 files changed, 50 insertions(+), 22 deletions(-)

diff --git a/src/menu/components/table/normal-table/index.jsx b/src/menu/components/table/normal-table/index.jsx
index 6bdefb2..5cadab2 100644
--- a/src/menu/components/table/normal-table/index.jsx
+++ b/src/menu/components/table/normal-table/index.jsx
@@ -66,8 +66,8 @@
         columns: [],
         cols: [
           { origin: true, uuid: Utils.getuuid(), Align: 'left', label: 'label1', field: '', Hide: 'false', type: 'text', Width: 120 },
-          { origin: true, uuid: Utils.getuuid(), Align: 'left', label: 'label2', field: '', Hide: 'false', IsSort: 'true', type: 'text', Width: 120 },
-          { origin: true, uuid: Utils.getuuid(), Align: 'left', label: 'label3', field: '', Hide: 'false', IsSort: 'true', type: 'text', Width: 120 },
+          { origin: true, uuid: Utils.getuuid(), Align: 'left', label: 'label2', field: '', Hide: 'false', IsSort: 'false', type: 'text', Width: 120 },
+          { origin: true, uuid: Utils.getuuid(), Align: 'left', label: 'label3', field: '', Hide: 'false', IsSort: 'false', type: 'text', Width: 120 },
         ],
         scripts: [],
         isNew: true
@@ -161,6 +161,10 @@
       if (card.errors.length === 0) {
         card.$tables = getTables(card)
       }
+
+      delete card.$c_ds
+      delete card.$c_ac
+      delete card.$c_cl
     }
 
     this.setState({
@@ -227,7 +231,13 @@
   addSearch = () => {
     const { card } = this.state
 
-    MKEmitter.emit('plusSearch', card.uuid, {uuid: Utils.getuuid(), focus: true, label: 'label', type: 'text', match: '='}, 'simple')
+    let ratio = 6
+
+    if (card.search.length) {
+      ratio = card.search[card.search.length - 1].ratio
+    }
+
+    MKEmitter.emit('plusSearch', card.uuid, {uuid: Utils.getuuid(), focus: true, label: 'label', type: 'text', match: '=', ratio}, 'simple')
   }
 
   addButton = () => {
@@ -278,11 +288,11 @@
   }
 
   getWrapForms = () => {
-    const { wrap, action, columns, cols } = this.state.card
+    const { card } = this.state
 
     let _actions = []
 
-    cols.forEach(col => {
+    card.cols.forEach(col => {
       if (col.type === 'custom') {
         col.elements.forEach(cell => {
           if (cell.eleType !== 'button') return
@@ -292,7 +302,7 @@
       }
     })
 
-    return getWrapForm(wrap, _actions, columns, action)
+    return getWrapForm(card.wrap, _actions, card.columns, card.action, card.supNodes || [], card.uuid)
   }
 
   updateWrap = (res) => {
@@ -311,26 +321,44 @@
     res.borderRadius = card.wrap.borderRadius || 0
     res.resetContrl = card.wrap.resetContrl || 'init'
 
-    this.updateComponent({...card, wrap: res})
+    let _card = {...card, wrap: res}
+
+    if (res.supNodes) {
+      _card.supNodes = res.supNodes
+      _card.supNodes = _card.supNodes.map(item => {
+        item.componentId = item.nodes[item.nodes.length - 1]
+        return item
+      })
+
+      delete res.supNodes
+    } else {
+      delete _card.supNodes
+    }
+
+    this.updateComponent(_card)
   }
 
   updatecolumn = (config) => {
     config.absFields = []
-    config.cols.forEach(col => {
-      if (col.type === 'number') {
-        if (col.format === 'abs') {
-          config.absFields.push(col.field)
-        }
-      } else if (col.type === 'colspan' && col.subcols) {
-        col.subcols.forEach(scol => {
-          if (scol.type === 'number') {
-            if (scol.format === 'abs') {
-              config.absFields.push(scol.field)
-            }
+    config.hasExtend = false
+    config.parCtrl = false
+    let mapCol = (cols) => {
+      cols.forEach(col => {
+        if (col.type === 'number') {
+          if (col.format === 'abs') {
+            config.absFields.push(col.field)
           }
-        })
-      }
-    })
+        } else if (col.type === 'extend') {
+          config.hasExtend = true
+          if (col.supField) {
+            config.parCtrl = true
+          }
+        } else if (col.type === 'colspan' && col.subcols) {
+          mapCol(col.subcols)
+        }
+      })
+    }
+    mapCol(config.cols)
 
     if (config.absFields.length) {
       config.absFields = Array.from(new Set(config.absFields))
@@ -389,7 +417,7 @@
         </Popover>
         {appType !== 'mob' ? <SearchComponent config={card} updatesearch={this.updateComponent}/> : null}
         <ActionComponent config={card} setSubConfig={this.setSubConfig} updateaction={this.updateComponent}/>
-        <ColumnComponent config={card} updatecolumn={this.updateComponent}/>
+        <ColumnComponent config={card} updatecolumn={this.updatecolumn}/>
         <div className="component-name">
           <div className="center">
             <div className="title" onDoubleClick={() => {

--
Gitblit v1.8.0