From 5f8c6a977d3bbf0b79803cf870582c13a34108f1 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 26 十二月 2024 15:45:29 +0800
Subject: [PATCH] 2024-12-26

---
 src/menu/components/share/actioncomponent/actionform/index.jsx |    8 ++++++++
 src/tabviews/custom/components/table/base-table/index.jsx      |   10 +++++++---
 src/menu/components/table/normal-table/options.jsx             |    5 +++--
 src/tabviews/custom/components/share/normalTable/index.jsx     |   12 +++++++++++-
 src/menu/components/table/base-table/options.jsx               |    5 +++--
 src/tabviews/custom/components/table/normal-table/index.jsx    |   10 +++++++---
 6 files changed, 39 insertions(+), 11 deletions(-)

diff --git a/src/menu/components/share/actioncomponent/actionform/index.jsx b/src/menu/components/share/actioncomponent/actionform/index.jsx
index 8350b78..6fcaa2f 100644
--- a/src/menu/components/share/actioncomponent/actionform/index.jsx
+++ b/src/menu/components/share/actioncomponent/actionform/index.jsx
@@ -741,6 +741,10 @@
             _fieldval.color = 'primary'
           }
         }
+        this.record.resetPageIndex = 'false'
+        if ([this.record.execSuccess, this.record.execError].includes('grid')) {
+          _fieldval.resetPageIndex = 'false'
+        }
       } else if (value === 'audit') {
         _fieldval.label = '瀹℃牳'
         _fieldval.Ot = 'required'
@@ -757,6 +761,10 @@
         } else {
           _fieldval.color = 'danger'
         }
+        this.record.resetPageIndex = 'true'
+        if ([this.record.execSuccess, this.record.execError].includes('grid')) {
+          _fieldval.resetPageIndex = 'true'
+        }
       } else if (value === 'custom') {
         _fieldval.Ot = 'required'
       }
diff --git a/src/menu/components/table/base-table/options.jsx b/src/menu/components/table/base-table/options.jsx
index 8c3f5fa..281b215 100644
--- a/src/menu/components/table/base-table/options.jsx
+++ b/src/menu/components/table/base-table/options.jsx
@@ -138,13 +138,14 @@
       field: 'selected',
       label: '鏁版嵁閫変腑',
       initval: wrap.selected || 'false',
-      tooltip: '鍒濆鍖栵細鏁版嵁鍔犺浇鏃堕�変腑棣栬鏁版嵁锛屼粎鎵ц涓�娆°�傛暟鎹姞杞斤細姣忔鏁版嵁鍔犺浇鏃跺潎閫変腑棣栬锛堝綋鎸夐挳鎵ц瀹屾垚骞惰繑鍥炰富閿�兼椂锛岄粯璁ら�変腑涓婚敭鍊煎搴旇锛夈�傞�変腑鏍囪锛氳繑鍥炴暟鎹腑瀛樺湪 selected 瀛楁锛屼笖鍊间负 true 鐨勬暟鎹閫変腑銆傛敞锛氬惎鐢ㄦ棤浜哄�煎畧鏃舵棤鏁堛��',
+      tooltip: '鍒濆鍖栵細鏁版嵁鍔犺浇鏃堕�変腑棣栬鏁版嵁锛屼粎鎵ц涓�娆°�傛暟鎹姞杞斤細姣忔鏁版嵁鍔犺浇鏃跺潎閫変腑棣栬锛堝綋鎸夐挳鎵ц瀹屾垚骞惰繑鍥炰富閿�兼椂锛岄粯璁ら�変腑涓婚敭鍊煎搴旇锛夈�傞�変腑鏍囪锛氳繑鍥炴暟鎹腑瀛樺湪 selected 瀛楁锛屼笖鍊间负 true 鐨勬暟鎹閫変腑銆傛湰鍦拌褰曪細鏁版嵁鍒锋柊鏃朵笂娆¤閫変腑鐨勮灏嗚嚜鍔ㄩ�変腑銆傛敞锛氬惎鐢ㄦ棤浜哄�煎畧鏃舵棤鏁堛��',
       required: false,
       options: [
         {value: 'false', label: '鏃�'},
         {value: 'init', label: '鍒濆鍖�'},
         {value: 'always', label: '鏁版嵁鍔犺浇'},
-        {value: 'sign', label: '閫変腑鏍囪'}
+        {value: 'sign', label: '閫変腑鏍囪'},
+        {value: 'local', label: '鏈湴璁板綍'},
       ],
     },
     {
diff --git a/src/menu/components/table/normal-table/options.jsx b/src/menu/components/table/normal-table/options.jsx
index d107f30..94e0641 100644
--- a/src/menu/components/table/normal-table/options.jsx
+++ b/src/menu/components/table/normal-table/options.jsx
@@ -209,13 +209,14 @@
       field: 'selected',
       label: '鏁版嵁閫変腑',
       initval: wrap.selected || 'false',
-      tooltip: '鍒濆鍖栵細鏁版嵁鍔犺浇鏃堕�変腑棣栬鏁版嵁锛屼粎鎵ц涓�娆°�傛暟鎹姞杞斤細姣忔鏁版嵁鍔犺浇鏃跺潎閫変腑棣栬锛堝綋鎸夐挳鎵ц瀹屾垚骞惰繑鍥炰富閿�兼椂锛岄粯璁ら�変腑涓婚敭鍊煎搴旇锛夈�傞�変腑鏍囪锛氳繑鍥炴暟鎹腑瀛樺湪 selected 瀛楁锛屼笖鍊间负 true 鐨勬暟鎹閫変腑銆�',
+      tooltip: '鍒濆鍖栵細鏁版嵁鍔犺浇鏃堕�変腑棣栬鏁版嵁锛屼粎鎵ц涓�娆°�傛暟鎹姞杞斤細姣忔鏁版嵁鍔犺浇鏃跺潎閫変腑棣栬锛堝綋鎸夐挳鎵ц瀹屾垚骞惰繑鍥炰富閿�兼椂锛岄粯璁ら�変腑涓婚敭鍊煎搴旇锛夈�傞�変腑鏍囪锛氳繑鍥炴暟鎹腑瀛樺湪 selected 瀛楁锛屼笖鍊间负 true 鐨勬暟鎹閫変腑銆傛湰鍦拌褰曪細鏁版嵁鍒锋柊鏃朵笂娆¤閫変腑鐨勮灏嗚嚜鍔ㄩ�変腑銆�',
       required: false,
       options: [
         {value: 'false', label: '鏃�'},
         {value: 'init', label: '鍒濆鍖�'},
         {value: 'always', label: '鏁版嵁鍔犺浇'},
-        {value: 'sign', label: '閫変腑鏍囪'}
+        {value: 'sign', label: '閫変腑鏍囪'},
+        {value: 'local', label: '鏈湴璁板綍'},
       ],
     },
     {
diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx
index db3be11..25310ed 100644
--- a/src/tabviews/custom/components/share/normalTable/index.jsx
+++ b/src/tabviews/custom/components/share/normalTable/index.jsx
@@ -927,7 +927,7 @@
     this.props.refreshdata({pageIndex})
   }
 
-  mkCheckTopLine = (menuId, id, selected) => {
+  mkCheckTopLine = (menuId, id, selected, orikeys) => {
     const { MenuID, data, setting } = this.props
 
     if (MenuID !== menuId) return
@@ -955,6 +955,16 @@
           index = i
         }
       })
+    } else if (selected === 'local') {
+      if (orikeys && orikeys.length) {
+        data.forEach((item, i) => {
+          if (!item.$disabled && orikeys.includes(item.$$uuid)) {
+            items.push(item)
+            keys.push(i)
+            index = i
+          }
+        })
+      }
     } else if (selected !== 'false') {
       if (!data[0].$disabled) {
         index = 0
diff --git a/src/tabviews/custom/components/table/base-table/index.jsx b/src/tabviews/custom/components/table/base-table/index.jsx
index d174da9..0099b1e 100644
--- a/src/tabviews/custom/components/table/base-table/index.jsx
+++ b/src/tabviews/custom/components/table/base-table/index.jsx
@@ -65,7 +65,7 @@
 
     let setting = {..._config.setting, ..._config.wrap}
 
-    if (setting.selected !== 'always' && setting.selected !== 'init' && setting.selected !== 'sign') {
+    if (!['always', 'init', 'sign', 'local'].includes(setting.selected)) {
       setting.selected = 'false'
     }
 
@@ -148,7 +148,7 @@
     if (result.status) {
       if (result.$requestId && this.requestId !== result.$requestId) return
 
-      if (repage === 'false' && result.data.length === 0 && pageIndex > 1) {
+      if (result.data.length === 0 && pageIndex > 1) {
         this.reloadIndex()
         return
       }
@@ -190,8 +190,12 @@
       }
 
       if (data.length && (id || setting.selected !== 'false')) {
+        let keys = null
+        if (setting.selected === 'local') {
+          keys = this.state.selectedData.map(cell => cell.$$uuid)
+        }
         setTimeout(() => {
-          MKEmitter.emit('mkCheckTopLine', config.uuid, id, setting.selected)
+          MKEmitter.emit('mkCheckTopLine', config.uuid, id, setting.selected, keys)
         }, 200)
       } else {
         MKEmitter.emit('resetSelectLine', config.uuid, '', '') // 骞挎挱鏁版嵁鍒囨崲
diff --git a/src/tabviews/custom/components/table/normal-table/index.jsx b/src/tabviews/custom/components/table/normal-table/index.jsx
index a801362..2443066 100644
--- a/src/tabviews/custom/components/table/normal-table/index.jsx
+++ b/src/tabviews/custom/components/table/normal-table/index.jsx
@@ -77,7 +77,7 @@
 
     let setting = {..._config.setting, ..._config.wrap}
 
-    if (setting.selected !== 'always' && setting.selected !== 'init' && setting.selected !== 'sign') {
+    if (!['always', 'init', 'sign', 'local'].includes(setting.selected)) {
       setting.selected = 'false'
     }
 
@@ -577,7 +577,7 @@
         Api.writeCacheConfig(config.uuid, result.data || [], BID)
       }
 
-      if (repage === 'false' && result.data.length === 0 && pageIndex > 1) {
+      if (result.data.length === 0 && pageIndex > 1) {
         this.reloadIndex()
         return
       }
@@ -630,8 +630,12 @@
       }
 
       if (data.length && (id || setting.selected !== 'false')) {
+        let keys = null
+        if (setting.selected === 'local') {
+          keys = this.state.selectedData.map(cell => cell.$$uuid)
+        }
         setTimeout(() => {
-          MKEmitter.emit('mkCheckTopLine', config.uuid, id, setting.selected)
+          MKEmitter.emit('mkCheckTopLine', config.uuid, id, setting.selected, keys)
         }, 200)
       } else {
         MKEmitter.emit('resetSelectLine', config.uuid, '', '') // 骞挎挱鏁版嵁鍒囨崲

--
Gitblit v1.8.0