From e543372cc70a19ff2630c79d8421c2c593e54e5f Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 02 六月 2021 17:15:21 +0800
Subject: [PATCH] 2021-06-02

---
 src/templates/sharecomponent/tabscomponent/tabform/index.jsx |   62 ++++++++++++++++++++++++-------
 1 files changed, 48 insertions(+), 14 deletions(-)

diff --git a/src/templates/sharecomponent/tabscomponent/tabform/index.jsx b/src/templates/sharecomponent/tabscomponent/tabform/index.jsx
index eb0bedf..8f2cd9f 100644
--- a/src/templates/sharecomponent/tabscomponent/tabform/index.jsx
+++ b/src/templates/sharecomponent/tabscomponent/tabform/index.jsx
@@ -1,6 +1,6 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
-import { Form, Row, Col, Input, Select, Icon, Tooltip, Radio } from 'antd'
+import { Form, Row, Col, Input, Select, Icon, Tooltip, Radio, InputNumber, notification } from 'antd'
 import { formRule } from '@/utils/option.js'
 import Utils from '@/utils/utils.js'
 import './index.scss'
@@ -11,6 +11,7 @@
     tabs: PropTypes.array,       // 鍙叧鑱旀爣绛鹃泦
     dict: PropTypes.object,      // 瀛楀吀椤�
     formlist: PropTypes.any,     // 琛ㄥ崟
+    levels: PropTypes.any,       // 鏍囩鏄剧ず绾у埆
     card: PropTypes.object,      // 鏍囩椤典俊鎭�
     inputSubmit: PropTypes.any   // 鍥炶溅鎻愪氦浜嬩欢
   }
@@ -25,9 +26,9 @@
   UNSAFE_componentWillMount () {
     const { formlist } = this.props
 
-    let type = formlist.filter(cell => cell.key === 'type')[0].initVal
+    // let type = formlist.filter(cell => cell.key === 'type')[0].initVal
 
-    let _tabs = this.props.tabs.filter(tab => tab.type === type)
+    let _tabs = this.props.tabs.filter(tab => tab.type === 'SubTable')
 
     this.setState({
       formlist: formlist.map(item => {
@@ -79,20 +80,19 @@
               ..._tabs
             ]
             item.initVal = ''
-            item.hidden = true
           }
           return item
         })
       }, () => {
-        this.setState({
-          formlist: this.state.formlist.map(item => {
-            if (item.key === 'linkTab') {
-              item.hidden = false
-            }
-            return item
-          })
-        })
+        if (this.props.form.getFieldValue('linkTab') !== undefined) {
+          this.props.form.setFieldsValue({linkTab: ''})
+        }
       })
+    } else if (key === 'supMenu' && this.props.levels) {
+
+      if (value && value !== 'mainTable') {
+        this.props.form.setFieldsValue({level: this.props.levels[value]})
+      }
     }
   }
 
@@ -111,7 +111,7 @@
     this.state.formlist.forEach((item, index) => {
       if (item.hidden || item.forbid) return
 
-      if (item.type === 'text') { // 鏂囨湰鎼滅储
+      if (item.type === 'text') {
         let rules = []
 
         if (item.key === 'foreignKey') {
@@ -143,6 +143,28 @@
                   ...rules
                 ]
               })(<Input placeholder="" autoComplete="off" disabled={item.readonly} onPressEnter={this.handleSubmit} />)}
+            </Form.Item>
+          </Col>
+        )
+      } else if (item.type === 'number') {
+        fields.push(
+          <Col span={12} key={index}>
+            <Form.Item label={
+              item.tooltip ?
+              <Tooltip placement="topLeft" title={item.tooltip}>
+                <Icon type="question-circle" />
+                {item.label}
+              </Tooltip> : item.label
+            }>
+              {getFieldDecorator(item.key, {
+                initialValue: item.initVal,
+                rules: [
+                  {
+                    required: !!item.required,
+                    message: this.props.dict['form.required.input'] + item.label + '!'
+                  }
+                ]
+              })(<InputNumber disabled={item.readonly} min={item.min} max={item.max} precision={0} />)}
             </Form.Item>
           </Col>
         )
@@ -248,6 +270,18 @@
           if (!values.linkTab) { // 娌℃湁鍏宠仈鏍囩锛堟柊寤烘椂锛夛紝鍒涘缓鏂版爣绛綢d
             values.linkTab = Utils.getuuid()
           }
+          if (values.level === undefined) {
+            values.level = ''
+          } else if (values.supMenu && values.supMenu === 'mainTable' && values.level === 0) {
+            notification.warning({
+              top: 92,
+              message: '鏄剧ず绾у埆涓�0鏃讹紝涓婄骇鏍囩涓嶅彲鍏宠仈涓昏〃锛�',
+              duration: 5
+            })
+            return
+          }
+
+          values.type = 'SubTable' // 绫诲瀷涓哄瓙琛�
 
           resolve(values)
         } else {
@@ -269,7 +303,7 @@
       }
     }
     return (
-      <Form {...formItemLayout} className="ant-advanced-search-form commontable-tab-form">
+      <Form {...formItemLayout} className="model-tab-form">
         <Row gutter={24}>{this.getFields()}</Row>
       </Form>
     )

--
Gitblit v1.8.0