From 8d66ff34fae5b048a6b7923cc75d34f13a08be9d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 02 八月 2022 11:42:43 +0800
Subject: [PATCH] Merge branch 'develop'

---
 src/templates/comtableconfig/index.jsx |  271 +++++++++++++++++++++++++++--------------------------
 1 files changed, 138 insertions(+), 133 deletions(-)

diff --git a/src/templates/comtableconfig/index.jsx b/src/templates/comtableconfig/index.jsx
index f36afd9..7ec73f5 100644
--- a/src/templates/comtableconfig/index.jsx
+++ b/src/templates/comtableconfig/index.jsx
@@ -1,6 +1,5 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
-import { connect } from 'react-redux'
 import { is, fromJS } from 'immutable'
 import { DndProvider } from 'react-dnd'
 import HTML5Backend from 'react-dnd-html5-backend'
@@ -64,7 +63,8 @@
     thawButtons: [],         // 宸查�夋嫨瑕佽В鍐荤殑鎸夐挳
     activeKey: '0',          // 榛樿灞曞紑鍩烘湰淇℃伅
     chartview: null,         // 褰撳墠瑙嗗浘
-    openEdition: ''          // 缂栬緫鐗堟湰鏍囪锛岄槻姝㈠浜烘搷浣�
+    openEdition: '',         // 缂栬緫鐗堟湰鏍囪锛岄槻姝㈠浜烘搷浣�
+    modalStatus: false       // 寮圭獥鏄惁寮�鍚紝鍒ゆ柇ctrl+s鏄惁鍙敤
   }
 
   /**
@@ -79,9 +79,6 @@
 
     if (!_LongParam) {
       _config = fromJS(Source.baseConfig).toJS()
-      if (!menu.isSubtable) { // 涓嶆槸閫夋嫨涓诲瓙琛ㄦ椂锛岄殣钘忔爣绛鹃〉
-        _config.tabgroups = [{ uuid: 'tabs', sublist: [] }]
-      }
       _config.isAdd = true
     } else {
       _config = _LongParam
@@ -169,6 +166,15 @@
       let _shortcut = `${preKey}+${keyCode}`
 
       if (_shortcut === 'ctrl+83') {
+        if (this.state.modalStatus) {
+          notification.warning({
+            top: 92,
+            message: '璇蜂繚瀛�' + this.state.modalStatus,
+            duration: 5
+          })
+          return false
+        }
+
         let node = document.getElementById('save-config')
         if (node && node.click) {
           node.click()
@@ -176,6 +182,8 @@
         return false
       }
     }
+
+    MKEmitter.addListener('modalStatus', this.modalStatus)
   }
 
   /**
@@ -186,6 +194,11 @@
       return
     }
     document.onkeydown = () => {}
+    MKEmitter.removeListener('modalStatus', this.modalStatus)
+  }
+
+  modalStatus = (val) => {
+    this.setState({modalStatus: val})
   }
 
   /**
@@ -458,141 +471,143 @@
       param.open_edition = openEdition
     }
 
-    // 鏈夋寜閽垨鏍囩鍒犻櫎鏃讹紝鍏堣繘琛屽垹闄ゆ搷浣�
-    // 鍒犻櫎鎴愬姛鍚庯紝淇濆瓨椤甸潰閰嶇疆
-    new Promise(resolve => {
-      if (delActions.length > 0) {
-        let deffers = delActions.map(item => {
-          let _param = {
-            func: 'sPC_MainMenu_Del',
-            MenuID: item.card ? item.card.uuid : item.uuid
-          }
-
-          if (item.type === 'action') {
-            let _ParentParam = null
-
-            try {
-              _ParentParam = window.btoa(window.encodeURIComponent(JSON.stringify(item.card)))
-            } catch (e) {
-              console.warn('Stringify Failure')
-              _ParentParam = null
+    setTimeout(() => {
+      // 鏈夋寜閽垨鏍囩鍒犻櫎鏃讹紝鍏堣繘琛屽垹闄ゆ搷浣�
+      // 鍒犻櫎鎴愬姛鍚庯紝淇濆瓨椤甸潰閰嶇疆
+      new Promise(resolve => {
+        if (delActions.length > 0) {
+          let deffers = delActions.map(item => {
+            let _param = {
+              func: 'sPC_MainMenu_Del',
+              MenuID: item.card ? item.card.uuid : item.uuid
             }
 
-            if (_ParentParam) { // 鍒犻櫎鎸夐挳鏃讹紝淇濆瓨鎸夐挳閰嶇疆淇℃伅锛岀敤浜庢仮澶嶆寜閽�
-              _param.ParentParam = _ParentParam
-            }
-          }
+            if (item.type === 'action') {
+              let _ParentParam = null
 
-          return new Promise(resolve => {
-            Api.getSystemConfig(_param).then(response => {
-              resolve(response)
+              try {
+                _ParentParam = window.btoa(window.encodeURIComponent(JSON.stringify(item.card)))
+              } catch (e) {
+                console.warn('Stringify Failure')
+                _ParentParam = null
+              }
+
+              if (_ParentParam) { // 鍒犻櫎鎸夐挳鏃讹紝淇濆瓨鎸夐挳閰嶇疆淇℃伅锛岀敤浜庢仮澶嶆寜閽�
+                _param.ParentParam = _ParentParam
+              }
+            }
+
+            return new Promise(resolve => {
+              Api.getSystemConfig(_param).then(response => {
+                resolve(response)
+              })
             })
           })
-        })
-        Promise.all(deffers).then(result => {
-          let error = null
-          result.forEach(response => {
-            if (!response.status) {
-              error = response
+          Promise.all(deffers).then(result => {
+            let error = null
+            result.forEach(response => {
+              if (!response.status) {
+                error = response
+              }
+            })
+
+            if (error) {
+              this.setState({
+                menuloading: false,
+                menucloseloading: false
+              })
+              notification.warning({
+                top: 92,
+                message: error.message,
+                duration: 5
+              })
+              resolve(false)
+            } else {
+              this.setState({
+                delActions: []
+              })
+              resolve(true)
             }
           })
+        } else if (delActions.length === 0) {
+          resolve(true)
+        }
+      }).then(resp => {
+        if (resp === false) return
 
-          if (error) {
+        if (thawButtons.length > 0) {
+          let defers = thawButtons.map(item => {
+            return new Promise((resolve) => {
+              Api.getSystemConfig({
+                func: 'sPC_MainMenu_ReDel',
+                MenuID: item
+              }).then(res => {
+                if (res.status) {
+                  resolve('')
+                } else {
+                  resolve(res.message)
+                }
+              })
+            })
+          })
+
+          return Promise.all(defers)
+        } else {
+          return true
+        }
+      }).then(res => {
+        if (res === true || res === false) return res
+
+        let msg = res.filter(Boolean)[0]
+        if (msg) {
+          notification.warning({
+            top: 92,
+            message: msg,
+            duration: 5
+          })
+          return false
+        } else {
+          this.setState({
+            thawButtons: []
+          })
+          return true
+        }
+      }).then(resp => {
+        if (resp === false) return
+        let localParam = fromJS(param).toJS()
+        Api.getSystemConfig(param).then(response => {
+          if (response.status) {
+            this.setState({
+              config: _config,
+              openEdition: response.open_edition || '',
+              originMenu: fromJS(_config).toJS()
+            }, () => {
+              reload && MKEmitter.emit('revert')
+            })
+
+            localParam.func = 'sPC_TrdMenu_AddUpt_For_Local'
+            delete localParam.LongParam
+            delete localParam.PageParam
+            delete localParam.Template
+            delete localParam.Sort
+            delete localParam.EasyCode
+            delete localParam.open_edition
+
+            this.submitAction(btnParam, tabParam, localParam)
+          } else {
             this.setState({
               menuloading: false,
               menucloseloading: false
             })
             notification.warning({
               top: 92,
-              message: error.message,
+              message: response.message,
               duration: 5
             })
-            resolve(false)
-          } else {
-            this.setState({
-              delActions: []
-            })
-            resolve(true)
           }
         })
-      } else if (delActions.length === 0) {
-        resolve(true)
-      }
-    }).then(resp => {
-      if (resp === false) return
-
-      if (thawButtons.length > 0) {
-        let defers = thawButtons.map(item => {
-          return new Promise((resolve) => {
-            Api.getSystemConfig({
-              func: 'sPC_MainMenu_ReDel',
-              MenuID: item
-            }).then(res => {
-              if (res.status) {
-                resolve('')
-              } else {
-                resolve(res.message)
-              }
-            })
-          })
-        })
-
-        return Promise.all(defers)
-      } else {
-        return true
-      }
-    }).then(res => {
-      if (res === true || res === false) return res
-
-      let msg = res.filter(Boolean)[0]
-      if (msg) {
-        notification.warning({
-          top: 92,
-          message: msg,
-          duration: 5
-        })
-        return false
-      } else {
-        this.setState({
-          thawButtons: []
-        })
-        return true
-      }
-    }).then(resp => {
-      if (resp === false) return
-      let localParam = fromJS(param).toJS()
-      Api.getSystemConfig(param).then(response => {
-        if (response.status) {
-          this.setState({
-            config: _config,
-            openEdition: response.open_edition || '',
-            originMenu: fromJS(_config).toJS()
-          }, () => {
-            reload && MKEmitter.emit('revert')
-          })
-
-          localParam.func = 'sPC_TrdMenu_AddUpt_For_Local'
-          delete localParam.LongParam
-          delete localParam.PageParam
-          delete localParam.Template
-          delete localParam.Sort
-          delete localParam.EasyCode
-          delete localParam.open_edition
-
-          this.submitAction(btnParam, tabParam, localParam)
-        } else {
-          this.setState({
-            menuloading: false,
-            menucloseloading: false
-          })
-          notification.warning({
-            top: 92,
-            message: response.message,
-            duration: 5
-          })
-        }
       })
-    })
+    }, +sessionStorage.getItem('mkDelay'))
   }
 
   /**
@@ -1253,7 +1268,7 @@
                 <EditComponent dict={this.state.dict} type="table" options={['search', 'form', 'action', 'columns']} config={this.state.config} MenuID={this.props.menu.MenuID} thawButtons={this.state.thawButtons} refresh={this.editConfig}/>
                 <Switch className="big" checkedChildren={this.state.dict['model.enable']} unCheckedChildren={this.state.dict['model.disable']} checked={this.state.config.enabled} onChange={this.onEnabledChange} />
                 <Button type="primary" id="save-config" onClick={this.submitConfig} loading={this.state.menuloading}>{this.state.dict['model.save']}</Button>
-                <Button onClick={this.cancelConfig}>{this.state.dict['model.back']}</Button>
+                <Button onClick={this.cancelConfig}>鍏抽棴</Button>
               </div>
             } style={{ width: '100%' }}>
               <SettingComponent
@@ -1362,14 +1377,4 @@
   }
 }
 
-const mapStateToProps = (state) => {
-  return {
-    memberLevel: state.memberLevel
-  }
-}
-
-const mapDispatchToProps = () => {
-  return {}
-}
-
-export default connect(mapStateToProps, mapDispatchToProps)(ComTableConfig)
+export default ComTableConfig

--
Gitblit v1.8.0