From 72419e2f826031a158173f46d723a672064e37cd Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 31 八月 2021 22:42:51 +0800
Subject: [PATCH] 2021-08-31

---
 src/tabviews/custom/components/form/normal-form/index.jsx |   83 +++++++++++++++++++++--------------------
 1 files changed, 42 insertions(+), 41 deletions(-)

diff --git a/src/tabviews/custom/components/form/normal-form/index.jsx b/src/tabviews/custom/components/form/normal-form/index.jsx
index b0e13a5..54a0d90 100644
--- a/src/tabviews/custom/components/form/normal-form/index.jsx
+++ b/src/tabviews/custom/components/form/normal-form/index.jsx
@@ -44,7 +44,7 @@
 
     let _data = null
     let _sync = false
-    
+
     if (config.wrap.datatype !== 'static') {
       _sync = config.setting.sync === 'true'
 
@@ -76,6 +76,14 @@
       group.subButton.$forbid = true
       group.subButton.OpenType = 'formSubmit'
       group.subButton.execError = 'never'
+
+      if (group.subButton.enable === 'false') {
+        group.subButton.style.display = 'none'
+      }
+
+      if (group.prevButton.enable === 'false' && group.subButton.enable === 'false' && group.nextButton.enable === 'false') {
+        group.$button = 'no-button'
+      }
 
       group.fields = group.fields.map(cell => {
         // 鏁版嵁婧恠ql璇彞锛岄澶勭悊锛屾潈闄愰粦鍚嶅崟瀛楁璁剧疆涓洪殣钘忚〃鍗�
@@ -178,7 +186,7 @@
 
     if (config.uuid !== menuId) return
 
-    this.loadData(null, 'refresh')
+    this.loadData('refresh')
   }
 
   /**
@@ -187,7 +195,7 @@
    * @param {*} position   // 鍒锋柊浣嶇疆
    * @param {*} btn        // 鎵ц鐨勬寜閽�
    */
-  refreshByButtonResult = (menuId, position, btn) => {
+  refreshByButtonResult = (menuId, position, btn, id) => {
     const { config, group } = this.state
 
     if (group.uuid !== menuId) return
@@ -197,10 +205,14 @@
     }
 
     if (config.wrap.datatype !== 'static' && config.setting) {
-      this.loadData(btn)
-    } else {
-      this.execSuccess(btn)
+      this.loadData()
     }
+
+    if (id) {
+      MKEmitter.emit('resetSelectLine', config.uuid, id, '')
+    }
+
+    this.execSuccess(btn, id)
   }
 
   resetParentParam = (MenuID, id) => {
@@ -213,7 +225,7 @@
     }
   }
 
-  execSuccess = (btn) => {
+  execSuccess = (btn, id) => {
     const { config, group } = this.state
 
     if (config.subcards.length > group.sort) {
@@ -235,8 +247,9 @@
       let newtab = {
         ...menu,
         selected: true,
-        param: {}
+        param: {$BID: id || ''}
       }
+
       let tabs = this.props.tabviews.filter((tab, i) => {
         tab.selected = false
         return tab.MenuID !== newtab.MenuID
@@ -253,7 +266,7 @@
     }
   }
 
-  async loadData (btn, type) {
+  async loadData (type) {
     const { mainSearch, menuType } = this.props
     const { config, arr_field, BID, group } = this.state
 
@@ -261,7 +274,6 @@
       this.setState({
         data: {}
       })
-      btn && this.execSuccess(btn)
       return
     }
 
@@ -269,7 +281,6 @@
 
     let requireFields = searches.filter(item => item.required && item.value === '')
     if (requireFields.length > 0) {
-      btn && this.execSuccess(btn)
       return
     }
 
@@ -283,34 +294,25 @@
     let result = await Api.genericInterface(param)
     if (result.status) {
       let _data = result.data && result.data[0] ? result.data[0] : {}
+      let _group = group
 
-      if (btn) {
-        this.setState({
-          data: _data || {},
-          loading: false
-        })
-        this.execSuccess(btn)
-      } else {
-        let _group = group
-
-        if (type === 'refresh') {
-          _group = config.subcards[0]
-        }
-
-        if (config.wrap.statusControl && _data[config.wrap.statusControl]) {
-          let _status = _data[config.wrap.statusControl]
-          let _groups = config.subcards.filter(item => item.setting.status === _status)[0]
-          _group = _groups || _group
-        }
-        this.setState({
-          group: null,
-          step: _group.sort - 1,
-          data: _data || {},
-          loading: false
-        }, () => {
-          this.setState({group: _group})
-        })
+      if (type === 'refresh') {
+        _group = config.subcards[0]
       }
+
+      if (config.wrap.statusControl && _data[config.wrap.statusControl]) {
+        let _status = _data[config.wrap.statusControl]
+        let _groups = config.subcards.filter(item => item.setting.status === _status)[0]
+        _group = _groups || _group
+      }
+      this.setState({
+        group: null,
+        step: _group.sort - 1,
+        data: _data || {},
+        loading: false
+      }, () => {
+        this.setState({group: _group})
+      })
     } else {
       this.setState({
         loading: false,
@@ -320,7 +322,6 @@
         message: result.message,
         duration: 10
       })
-      btn && this.execSuccess(btn)
     }
   }
 
@@ -380,11 +381,11 @@
           dict={dict}
           data={data}
           action={group}
-          inputSubmit={this.handleOk}
+          inputSubmit={() => this.mkFormSubmit(group.uuid)}
           wrappedComponentRef={(inst) => this.formRef = inst}
         /> : null}
-        {group && data ? <div className="mk-form-action">
-          {group.sort !== 1 ? <Button type="link" className="prev" onClick={this.prevStep} style={group.prevButton.style}>{group.prevButton.label}</Button> : null}
+        {group && data ? <div className={'mk-form-action ' + (group.$button || '')}>
+          {group.sort !== 1 && group.prevButton.enable !== 'false' ? <Button type="link" className="prev" onClick={this.prevStep} style={group.prevButton.style}>{group.prevButton.label}</Button> : null}
           <NormalButton
             BID={BID}
             position="form"

--
Gitblit v1.8.0