From 6dd965723be9dc245105296198c25a80cfe51b54 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 27 四月 2023 10:51:50 +0800
Subject: [PATCH] 2023-04-27

---
 src/templates/zshare/modalform/index.jsx                      |    4 
 src/views/design/sidemenu/editsecmenu/index.jsx               |    1 
 src/components/header/index.jsx                               |    6 -
 src/menu/components/share/actioncomponent/index.scss          |    3 
 src/menu/components/share/markcomponent/index.jsx             |    9 ++
 src/templates/zshare/formconfig.jsx                           |   12 +++
 src/menu/components/share/actioncomponent/formconfig.jsx      |    3 
 src/menu/datasource/verifycard/settingform/index.jsx          |   17 ++++
 src/tabviews/custom/components/interfaces/interItem/index.jsx |   31 +++++++
 src/views/design/header/editfirstmenu/index.jsx               |    1 
 src/menu/components/share/actioncomponent/index.jsx           |    2 
 src/tabviews/custom/index.jsx                                 |   75 +++++++++++++++++-
 src/tabviews/custom/components/share/normalTable/index.jsx    |    6 +
 src/components/header/loginform.jsx                           |   18 +++-
 src/menu/components/table/normal-table/columns/index.jsx      |    5 +
 src/views/design/sidemenu/editthdmenu/index.jsx               |    1 
 src/menu/sysinterface/index.jsx                               |    6 
 src/menu/components/share/markcomponent/markform/index.jsx    |    9 ++
 18 files changed, 181 insertions(+), 28 deletions(-)

diff --git a/src/components/header/index.jsx b/src/components/header/index.jsx
index 94e445b..a58854f 100644
--- a/src/components/header/index.jsx
+++ b/src/components/header/index.jsx
@@ -439,12 +439,6 @@
     setTimeout(() => {
       Api.getAppVersion()
     }, 1000)
-    // Api.genericInterface({
-    //   func: 's_get_fcc_account_data',
-    //   fcc_date: '2022-03-01',
-    //   search_type: ''
-    // }).then(res => {
-    // })
 
     // sessionStorage 璺ㄩ〉闈㈠叡浜�
     window.addEventListener('storage', (e) => {
diff --git a/src/components/header/loginform.jsx b/src/components/header/loginform.jsx
index 899741a..45a57c0 100644
--- a/src/components/header/loginform.jsx
+++ b/src/components/header/loginform.jsx
@@ -17,6 +17,7 @@
     remember: false,
     username: '',
     password: '',
+    oripassword: '',
     delay: +sessionStorage.getItem('mkDelay')
   }
 
@@ -38,18 +39,25 @@
       localStorage.removeItem(_url)
     }
 
-    this.setState({
-      remember: _user ? true : false,
-      username: _user ? _user.username : '',
-      password: _user ? _user.password : ''
-    })
+    if (_user) {
+      this.setState({
+        remember: true,
+        username: _user.username,
+        password: '*********',
+        oripassword: _user.password
+      })
+    }
   }
 
   handleConfirm = () => {
+    const { oripassword } = this.state
     // 琛ㄥ崟鎻愪氦鏃舵鏌ヨ緭鍏ュ�兼槸鍚︽纭�
     return new Promise((resolve, reject) => {
       this.props.form.validateFieldsAndScroll((err, values) => {
         if (!err) {
+          if (oripassword && values.password === '*********') {
+            values.password = oripassword
+          }
           resolve(values)
         } else {
           reject(err)
diff --git a/src/menu/components/share/actioncomponent/formconfig.jsx b/src/menu/components/share/actioncomponent/formconfig.jsx
index 91acca3..8167d07 100644
--- a/src/menu/components/share/actioncomponent/formconfig.jsx
+++ b/src/menu/components/share/actioncomponent/formconfig.jsx
@@ -701,6 +701,9 @@
       }, {
         value: 'light',
         text: '鐏�'
+      }, {
+        value: 'system',
+        text: '绯荤粺'
       }]
     },
     {
diff --git a/src/menu/components/share/actioncomponent/index.jsx b/src/menu/components/share/actioncomponent/index.jsx
index f20e126..93e5bd9 100644
--- a/src/menu/components/share/actioncomponent/index.jsx
+++ b/src/menu/components/share/actioncomponent/index.jsx
@@ -429,6 +429,8 @@
                   btn.style.borderColor = color[btn.class]
                 }
               }
+            } else if (btn.color) {
+              btn.style = {}
             }
           }
           return btn
diff --git a/src/menu/components/share/actioncomponent/index.scss b/src/menu/components/share/actioncomponent/index.scss
index 63c17eb..193c640 100644
--- a/src/menu/components/share/actioncomponent/index.scss
+++ b/src/menu/components/share/actioncomponent/index.scss
@@ -55,5 +55,8 @@
     .swiper-light {
       background-color: #cccccc;
     }
+    .swiper-system {
+      background-color: #1890ff;
+    }
   }
 }
\ No newline at end of file
diff --git a/src/menu/components/share/markcomponent/index.jsx b/src/menu/components/share/markcomponent/index.jsx
index 53a2a73..c188601 100644
--- a/src/menu/components/share/markcomponent/index.jsx
+++ b/src/menu/components/share/markcomponent/index.jsx
@@ -34,6 +34,15 @@
         editable: true,
         inputType: 'cascader',
         options: [],
+        rules: [{
+          validator: (rule, value, callback) => {
+            if (value[1] === 'dynamic' && value[0] === value[2]) {
+              callback('瀵规瘮瀛楁涓嶅彲鐩稿悓锛�')
+            } else {
+              callback()
+            }
+          }
+        }],
         render: text => {
           return (
             <div>{text[0]}  VS  {text[2] ? text[2] : '闈欐�佸��'}</div>
diff --git a/src/menu/components/share/markcomponent/markform/index.jsx b/src/menu/components/share/markcomponent/markform/index.jsx
index f4adc4d..0603b31 100644
--- a/src/menu/components/share/markcomponent/markform/index.jsx
+++ b/src/menu/components/share/markcomponent/markform/index.jsx
@@ -53,6 +53,15 @@
                   {
                     required: true,
                     message: '璇烽�夋嫨瀵规瘮瀛楁!'
+                  },
+                  {
+                    validator: (rule, value, callback) => {
+                      if (value[1] === 'dynamic' && value[0] === value[2]) {
+                        callback('瀵规瘮瀛楁涓嶅彲鐩稿悓锛�')
+                      } else {
+                        callback()
+                      }
+                    }
                   }
                 ]
               })(
diff --git a/src/menu/components/table/normal-table/columns/index.jsx b/src/menu/components/table/normal-table/columns/index.jsx
index 917976c..755b5c9 100644
--- a/src/menu/components/table/normal-table/columns/index.jsx
+++ b/src/menu/components/table/normal-table/columns/index.jsx
@@ -346,7 +346,10 @@
 
   pasteCell = (col, cell, resolve) => {
     resolve({status: true})
-    
+    if (cell.copyType === 'action') {
+      cell.eleType = 'button'
+    }
+
     delete cell.copyType
     cell.uuid = Utils.getuuid()
     cell.focus = true
diff --git a/src/menu/datasource/verifycard/settingform/index.jsx b/src/menu/datasource/verifycard/settingform/index.jsx
index 3295cea..235cd21 100644
--- a/src/menu/datasource/verifycard/settingform/index.jsx
+++ b/src/menu/datasource/verifycard/settingform/index.jsx
@@ -535,6 +535,23 @@
                 )}
               </Form.Item>
             </Col> : null}
+            {config.type === 'interface' && setting.supModule && setting.supModule[0] === 'empty' ? <Col span={8}>
+              <Form.Item label={
+                <Tooltip placement="topLeft" title="鍒濆鍖栧姞杞藉皢鍦ㄩ〉闈㈠姞杞藉墠鎵ц銆�">
+                  <QuestionCircleOutlined className="mk-form-tip" />
+                  鍔犺浇鏂瑰紡
+                </Tooltip>
+              }>
+                {getFieldDecorator('loadlevel', {
+                  initialValue: setting.loadlevel || 'default'
+                })(
+                  <Radio.Group onChange={(e) => {this.onOptionChange(e.target.value, 'loadlevel')}}>
+                    <Radio value="default">榛樿</Radio>
+                    <Radio value="init">鍒濆鍖�</Radio>
+                  </Radio.Group>
+                )}
+              </Form.Item>
+            </Col> : null}
             {config.type === 'interface' ? <Col span={8}>
               <Form.Item label="瀹氭椂鍣�">
                 {getFieldDecorator('timer', {
diff --git a/src/menu/sysinterface/index.jsx b/src/menu/sysinterface/index.jsx
index 240fea2..e957516 100644
--- a/src/menu/sysinterface/index.jsx
+++ b/src/menu/sysinterface/index.jsx
@@ -52,7 +52,6 @@
         dataIndex: 'operation',
         render: (text, record) =>
           (<div style={{textAlign: 'center'}}>
-            <DataSource config={record} updateConfig={this.update}/>
             <span onClick={() => this.handleStatus(record)} style={{color: '#8E44AD', cursor: 'pointer', fontSize: '16px', marginRight: '15px'}}><SwapOutlined /></span>
             <span onClick={() => this.copy(record)} style={{color: '#26C281', cursor: 'pointer', fontSize: '16px', marginRight: '15px'}}><CopyOutlined /></span>
             <Popconfirm
@@ -60,8 +59,9 @@
               title="纭畾鍒犻櫎锛�"
               onConfirm={() => this.deleteScript(record)
             }>
-              <span style={{color: '#ff4d4f', cursor: 'pointer', fontSize: '16px'}}><DeleteOutlined /></span>
+              <span style={{color: '#ff4d4f', cursor: 'pointer', fontSize: '16px', marginRight: '15px'}}><DeleteOutlined /></span>
             </Popconfirm>
+            <DataSource config={record} updateConfig={this.update}/>
           </div>)
       }
     ]
@@ -253,7 +253,7 @@
 
     return (
       <div className="mk-sys-interface" style={{display: 'inline-block'}}>
-        <Button className="mk-border-green" onClick={this.trigger}><DatabaseOutlined /> 鍏叡鏁版嵁婧�</Button>
+        <Button className="mk-border-danger" onClick={this.trigger}><DatabaseOutlined /> 鍏叡鏁版嵁婧�</Button>
         <Modal
           title="鍏叡鏁版嵁婧�"
           wrapClassName="interface-controller-modal"
diff --git a/src/tabviews/custom/components/interfaces/interItem/index.jsx b/src/tabviews/custom/components/interfaces/interItem/index.jsx
index ab62d9b..3ba9519 100644
--- a/src/tabviews/custom/components/interfaces/interItem/index.jsx
+++ b/src/tabviews/custom/components/interfaces/interItem/index.jsx
@@ -39,9 +39,13 @@
       }
     }
 
-    setTimeout(() => {
-      this.loadData()
-    }, config.setting.delay)
+    if (config.setting.onload !== 'false') {
+      setTimeout(() => {
+        this.loadData()
+      }, config.setting.delay)
+    } else {
+      MKEmitter.addListener('initFinish', this.initFinish)
+    }
 
     MKEmitter.addListener('reloadData', this.reloadData)
     MKEmitter.addListener('resetSelectLine', this.resetParentParam)
@@ -57,8 +61,21 @@
       return
     }
     this.timer && this.timer.stop()
+    MKEmitter.removeListener('initFinish', this.initFinish)
     MKEmitter.removeListener('reloadData', this.reloadData)
     MKEmitter.removeListener('resetSelectLine', this.resetParentParam)
+  }
+
+  initFinish = (MenuID) => {
+    const { config } = this.props
+
+    if (config.MenuID !== MenuID) return
+
+    if (config.setting.onload === 'false') {
+      setTimeout(() => {
+        this.loadData()
+      }, config.setting.delay)
+    }
   }
 
   resetParentParam = (MenuID, id) => {
@@ -111,6 +128,10 @@
 
       MKEmitter.emit('mkPublicData', config.uuid, _data)
       MKEmitter.emit('resetSelectLine', config.uuid, _data.$$uuid, _data)
+
+      if (config.setting.loadlevel === 'init') {
+        MKEmitter.emit('interFinish', config.MenuID, config.uuid)
+      }
     } else {
       this.loading = false
       this.timer && this.timer.stop()
@@ -126,6 +147,10 @@
           duration: 10
         })
       }
+
+      if (config.setting.loadlevel === 'init') {
+        MKEmitter.emit('interFinish', config.MenuID, config.uuid)
+      }
     }
   }
 
diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx
index 07adac0..993c4db 100644
--- a/src/tabviews/custom/components/share/normalTable/index.jsx
+++ b/src/tabviews/custom/components/share/normalTable/index.jsx
@@ -504,6 +504,8 @@
           width: item.Width || 120
         })
       })
+
+      orderfields = null
     }
 
     if (rowspans.length === 0) {
@@ -816,7 +818,9 @@
       pickup: false
     })
 
-    sorter.field = orderfields[sorter.field] || ''
+    if (orderfields) {
+      sorter.field = orderfields[sorter.field] || ''
+    }
 
     this.props.refreshdata(pagination, filters, sorter)
   }
diff --git a/src/tabviews/custom/index.jsx b/src/tabviews/custom/index.jsx
index 81aec40..ff11815 100644
--- a/src/tabviews/custom/index.jsx
+++ b/src/tabviews/custom/index.jsx
@@ -70,8 +70,11 @@
     data: null,           // 鍒楄〃鏁版嵁闆�
     loading: false,       // 鍒楄〃鏁版嵁鍔犺浇涓�
     visible: false,       // 鏍囩椤垫帶鍒�
-    shortcuts: null       // 蹇嵎閿�
+    shortcuts: null,      // 蹇嵎閿�
+    loadinginter: false
   }
+
+  stepInter = null
 
   /**
    * @description 鑾峰彇椤甸潰閰嶇疆淇℃伅
@@ -93,6 +96,7 @@
         config = window.decodeURIComponent(window.atob(result.LongParam))
         config = config.replace(/@mywebsite@\//ig, window.GLOB.baseurl)
         config = JSON.parse(config)
+        config.MenuID = MenuID
       } catch (e) {
         console.warn('Parse Failure')
         config = ''
@@ -200,7 +204,9 @@
 
       config.$cache = config.cacheLocal === 'true'
 
-      config.interfaces = this.formatInterSetting(config.interfaces, regs)
+      let initInters = []
+
+      config.interfaces = this.formatInterSetting(config.interfaces, regs, MenuID, initInters)
       config.components = this.filterComponent(config.components, roleId, window.GLOB.mkActions, balMap, skip, param, MenuID, config.interfaces, popview, config.$cache)
       
       // 鑾峰彇涓绘悳绱㈡潯浠�
@@ -236,8 +242,17 @@
         config.components = this.filterBalcony(config.components, balMap)
       }
 
+      if (initInters.length > 0) {
+        this.stepInter = {
+          MenuID: MenuID,
+          inters: initInters,
+          params: params
+        }
+      }
+
       this.setState({
         BID: BID,
+        loadinginter: this.stepInter !== null,
         shortcuts: shortcuts.length > 0 ? shortcuts : null,
         config,
         mainSearch
@@ -251,7 +266,10 @@
           ele.innerHTML = config.normalcss
           document.getElementsByTagName('head')[0].appendChild(ele)
         }
-        if (params.length === 0) {
+
+        if (this.stepInter) {
+
+        } else if (params.length === 0) {
           setTimeout(() => { // 寤舵椂鍔犺浇鐘舵��
             this.setState({
               loadingview: false
@@ -943,13 +961,24 @@
   }
 
   // 鏍煎紡鍖栭粯璁よ缃�
-  formatInterSetting = (inters, regs) => {
+  formatInterSetting = (inters, regs, MenuID, initInters) => {
     if (!inters) return []
 
-    let interfaces = inters.filter(m => m.status === 'true')
+    let initlimit = false
+    let interfaces = inters.filter(m => {
+      if (m.status !== 'true') return false
+
+      if (m.setting.loadlevel === 'init') {
+        initlimit = true
+        initInters.push(m.uuid)
+      }
+
+      return true
+    })
 
     let delay = 15
     return interfaces.map(inter => {
+      inter.MenuID = MenuID
       inter.setting.delay = delay
       delay += 15
 
@@ -960,6 +989,10 @@
         } else {
           inter.setting.supModule = ''
         }
+      }
+
+      if (initlimit && inter.setting.loadlevel !== 'init') {
+        inter.setting.onload = 'false'
       }
 
       if (inter.setting.interType !== 'system') return inter
@@ -1076,6 +1109,7 @@
   }
 
   componentDidMount () {
+    MKEmitter.addListener('interFinish', this.interFinish)
     MKEmitter.addListener('debugChange', this.debugChange)
     MKEmitter.addListener('reloadMenuView', this.reloadMenuView)
     MKEmitter.addListener('resetActiveMenu', this.resetActiveMenu)
@@ -1088,6 +1122,7 @@
     this.setState = () => {
       return
     }
+    MKEmitter.removeListener('interFinish', this.interFinish)
     MKEmitter.removeListener('debugChange', this.debugChange)
     MKEmitter.removeListener('reloadMenuView', this.reloadMenuView)
     MKEmitter.removeListener('resetActiveMenu', this.resetActiveMenu)
@@ -1098,6 +1133,30 @@
       this.state.config.interfaces.forEach(m => {
         window.GLOB.CacheData.delete(m.uuid)
       })
+    }
+  }
+
+  interFinish = (MenuID, interId) => {
+    if (!this.stepInter || this.stepInter.MenuID !== MenuID) return
+
+    this.stepInter.inters = this.stepInter.inters.filter(item => item !== interId)
+
+    if (this.stepInter.inters.length === 0) {
+      this.setState({loadinginter: false})
+
+      if (this.stepInter.params.length === 0) {
+        setTimeout(() => { // 寤舵椂鍔犺浇鐘舵��
+          this.setState({
+            loadingview: false
+          })
+        }, 1000)
+      } else {
+        this.loadmaindata(this.stepInter.params)
+      }
+
+      MKEmitter.emit('initFinish', this.stepInter.MenuID)
+
+      this.stepInter = null
     }
   }
 
@@ -1129,6 +1188,8 @@
       })
     }
 
+    this.stepInter = null
+
     this.setState({
       BID: '',              // 椤甸潰璺宠浆鏃舵惡甯D
       loadingview: true,    // 椤甸潰鍔犺浇涓�
@@ -1149,9 +1210,9 @@
   }
 
   getComponents = () => {
-    const { config, BID, data, mainSearch } = this.state
+    const { config, BID, data, mainSearch, loadinginter } = this.state
 
-    if (!config || !config.components) return
+    if (!config || !config.components || loadinginter) return
 
     return config.components.map(item => {
       let style = null
diff --git a/src/templates/zshare/formconfig.jsx b/src/templates/zshare/formconfig.jsx
index c79c9f0..60ea825 100644
--- a/src/templates/zshare/formconfig.jsx
+++ b/src/templates/zshare/formconfig.jsx
@@ -3935,6 +3935,18 @@
     // },
     {
       type: 'radio',
+      key: 'pickerMode',
+      label: '寮圭獥鏍峰紡',
+      initVal: card.pickerMode || 'default',
+      required: false,
+      options: [
+        {value: 'default', text: '榛樿'},
+        {value: 'board', text: '闈㈡澘'},
+      ],
+      forbid: appType !== 'mob'
+    },
+    {
+      type: 'radio',
       key: 'empty',
       label: '绌哄�奸殣钘�',
       initVal: card.empty || 'show',
diff --git a/src/templates/zshare/modalform/index.jsx b/src/templates/zshare/modalform/index.jsx
index 9e82b99..043f984 100644
--- a/src/templates/zshare/modalform/index.jsx
+++ b/src/templates/zshare/modalform/index.jsx
@@ -21,12 +21,12 @@
 const modalTypeOptions = {
   text: ['initval', 'readonly', 'required', 'hidden', 'readin', 'fieldlength', 'regular', 'interception', 'span', 'labelwidth', 'encryption', 'tooltip', 'extra', 'enter', 'cursor', 'scan', 'splitline', 'placeholder', 'place', 'marginTop', 'marginBottom', 'lenControl', 'inputType'],
   number: ['initval', 'readonly', 'hidden', 'decimal', 'min', 'max', 'readin', 'span', 'labelwidth', 'tooltip', 'extra', 'enter', 'cursor', 'splitline', 'place', 'marginTop', 'marginBottom'],
-  select: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'declare', 'setAll', 'linkSubField', 'span', 'labelwidth', 'tooltip', 'extra', 'place', 'emptyText', 'enter', 'splitline', 'dropdown', 'marginTop', 'marginBottom'],
+  select: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'declare', 'setAll', 'linkSubField', 'span', 'labelwidth', 'tooltip', 'extra', 'place', 'emptyText', 'enter', 'splitline', 'dropdown', 'marginTop', 'marginBottom', 'pickerMode'],
   checkbox: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'fieldlength', 'span', 'labelwidth', 'tooltip', 'extra', 'place', 'splitline', 'arrange', 'marginTop', 'marginBottom'],
   radio: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'declare', 'linkSubField', 'span', 'labelwidth', 'tooltip', 'extra', 'place', 'setAll', 'emptyText', 'splitline', 'arrange', 'marginTop', 'marginBottom'],
   checkcard: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'span', 'labelwidth', 'display', 'tooltip', 'extra', 'place', 'width', 'multiple', 'splitline', 'marginTop', 'marginBottom'],
   multiselect: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'fieldlength', 'span', 'labelwidth', 'tooltip', 'extra', 'marginTop', 'marginBottom', 'dropdown'],
-  link: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'declare', 'setAll', 'linkField', 'linkSubField', 'span', 'place', 'labelwidth', 'tooltip', 'extra', 'emptyText', 'enter', 'splitline', 'dropdown', 'marginTop', 'marginBottom'],
+  link: ['initval', 'readonly', 'required', 'hidden', 'readin', 'resourceType', 'declare', 'setAll', 'linkField', 'linkSubField', 'span', 'place', 'labelwidth', 'tooltip', 'extra', 'emptyText', 'enter', 'splitline', 'dropdown', 'marginTop', 'marginBottom', 'pickerMode'],
   fileupload: ['readonly', 'required', 'readin', 'fieldlength', 'maxfile', 'fileType', 'span', 'labelwidth', 'tooltip', 'extra', 'compress', 'miniSet', 'splitline', 'marginTop', 'marginBottom', 'maxSize'],
   switch: ['initval', 'openVal', 'closeVal', 'openText', 'closeText', 'readonly', 'hidden', 'readin', 'span', 'labelwidth', 'tooltip', 'extra', 'splitline', 'marginTop', 'marginBottom'],
   date: ['initval', 'readonly', 'required', 'hidden', 'readin', 'span', 'labelwidth', 'tooltip', 'extra', 'declareType', 'mode', 'splitline', 'place', 'marginTop', 'marginBottom', 'minDate', 'maxDate', 'precision'],
diff --git a/src/views/design/header/editfirstmenu/index.jsx b/src/views/design/header/editfirstmenu/index.jsx
index 58bee24..45a5b8d 100644
--- a/src/views/design/header/editfirstmenu/index.jsx
+++ b/src/views/design/header/editfirstmenu/index.jsx
@@ -141,6 +141,7 @@
         onOk() {
           return Api.getSystemConfig(param).then(res => {
             if (res.status) {
+              that.setState({ change: false })
               that.props.reload()
             } else {
               notification.warning({
diff --git a/src/views/design/sidemenu/editsecmenu/index.jsx b/src/views/design/sidemenu/editsecmenu/index.jsx
index ad44fad..57e0cff 100644
--- a/src/views/design/sidemenu/editsecmenu/index.jsx
+++ b/src/views/design/sidemenu/editsecmenu/index.jsx
@@ -126,6 +126,7 @@
         onOk() {
           return Api.getSystemConfig(param).then(res => {
             if (res.status) {
+              that.setState({ change: false })
               MKEmitter.emit('mkUpdateMenuList')
             } else {
               notification.warning({
diff --git a/src/views/design/sidemenu/editthdmenu/index.jsx b/src/views/design/sidemenu/editthdmenu/index.jsx
index 4da6159..7b575a2 100644
--- a/src/views/design/sidemenu/editthdmenu/index.jsx
+++ b/src/views/design/sidemenu/editthdmenu/index.jsx
@@ -157,6 +157,7 @@
         onOk() {
           return Api.getSystemConfig(param).then(res => {
             if (res.status) {
+              that.setState({ change: false })
               MKEmitter.emit('mkUpdateMenuList')
             } else {
               notification.warning({

--
Gitblit v1.8.0