From 31ec63f0419895876cbaba99637a884a32d33d0d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 01 九月 2021 10:31:45 +0800
Subject: [PATCH] 2021-09-01

---
 src/menu/datasource/verifycard/settingform/index.jsx |  126 ++++++++++++++++++-----------------------
 1 files changed, 56 insertions(+), 70 deletions(-)

diff --git a/src/menu/datasource/verifycard/settingform/index.jsx b/src/menu/datasource/verifycard/settingform/index.jsx
index 3a761bb..f5b54bd 100644
--- a/src/menu/datasource/verifycard/settingform/index.jsx
+++ b/src/menu/datasource/verifycard/settingform/index.jsx
@@ -4,8 +4,11 @@
 
 import { formRule } from '@/utils/option.js'
 import Utils from '@/utils/utils.js'
+import MenuUtils from '@/utils/utils-custom.js'
 import CodeMirror from '@/templates/zshare/codemirror'
 import './index.scss'
+
+const { TextArea } = Input
 
 class SettingForm extends Component {
   static propTpyes = {
@@ -13,7 +16,7 @@
     menu: PropTypes.any,          // 鑿滃崟閰嶇疆淇℃伅
     config: PropTypes.object,     // 缁勪欢閰嶇疆
     setting: PropTypes.object,    // 鏁版嵁婧愰厤缃�
-    modules: PropTypes.array,     // 鍒楄缃�
+    modules: PropTypes.array,     // 鍙粦瀹氱殑涓婄骇缁勪欢
     columns: PropTypes.array,     // 鍒楄缃�
     scripts: PropTypes.array,     // 鑷畾涔夎剼鏈�
   }
@@ -30,7 +33,7 @@
   UNSAFE_componentWillMount () {
     const { menu, config } = this.props
 
-    let modules = this.getModules(menu.components, config.uuid)
+    let modules = MenuUtils.getSupModules(menu.components, config.uuid)
     if (!modules) {
       modules = []
     }
@@ -44,7 +47,7 @@
     if (usefulFields) {
       try {
         usefulFields = JSON.parse(usefulFields)
-      } catch {
+      } catch (e) {
         usefulFields = []
       }
     } else {
@@ -52,57 +55,6 @@
     }
 
     this.setState({modules, usefulFields})
-  }
-
-  getModules = (components, selfId) => {
-    let modules = components.map(item => {
-      if (item.uuid === selfId) {
-        return {
-          children: null
-        }
-      } else if (item.switchable) {
-        return {
-          value: item.uuid,
-          label: item.name
-        }
-      } else if (item.type === 'tabs') {
-        let _item = {
-          value: item.uuid,
-          label: item.name,
-          children: item.subtabs.map(f_tab => {
-            let subItem = {
-              value: f_tab.uuid,
-              label: f_tab.label,
-              children: this.getModules(f_tab.components, selfId)
-            }
-
-            if (!subItem.children || subItem.children.length === 0) {
-              return {children: null}
-            }
-            return subItem
-          })
-        }
-
-        _item.children = _item.children.filter(t => t.children !== null)
-
-        if (_item.children.length === 0) {
-          return {children: null}
-        }
-
-        return _item
-      } else {
-        return {
-          children: null
-        }
-      }
-    })
-
-    modules = modules.filter(mod => mod.children !== null)
-
-    if (modules.length === 0) {
-      return null
-    }
-    return modules
   }
 
   handleConfirm = () => {
@@ -185,6 +137,14 @@
     }
   }
 
+  onSysInter = (e) => {
+    let value = e.target.value
+
+    if (value === 'true') {
+      this.props.form.setFieldsValue({interface: window.GLOB.mainSystemApi})
+    }
+  }
+
   changeSupModule = (val) => {
     this.setState({supModule: val})
   }
@@ -232,6 +192,10 @@
                       required: true,
                       message: this.props.dict['form.required.input'] + '琛ㄥ悕!'
                     },
+                    {
+                      max: 50,
+                      message: '琛ㄥ悕鏈�闀夸负50涓瓧绗�!'
+                    }
                   ]
                 })(<Input placeholder={''} autoComplete="off" />)}
               </Form.Item>
@@ -254,6 +218,17 @@
                 </Radio.Group>)}
               </Form.Item>
             </Col>
+            {interType === 'outer' ? <Col span={8}>
+              <Form.Item label="绯荤粺鎺ュ彛">
+                {getFieldDecorator('sysInterface', {
+                  initialValue: setting.sysInterface || 'false'
+                })(
+                <Radio.Group onChange={this.onSysInter}>
+                  <Radio value="true">鏄�</Radio>
+                  <Radio value="false">鍚�</Radio>
+                </Radio.Group>)}
+              </Form.Item>
+            </Col> : null}
             {interType === 'system' ? <Col span={8}>
               <Form.Item label={
                 <Tooltip placement="topLeft" title={'鑷畾涔夎剼鏈腑鐨勫彉閲忥紙闄ゆ姤閿欏強鍙敤瀛楁澶栵級锛岄渶浠ユ鏍囪瘑寮�澶淬��'}>
@@ -295,7 +270,7 @@
                 })(<Input placeholder={''} autoComplete="off" />)}
               </Form.Item>
             </Col> : null}
-            {interType === 'outer' ? <Col span={8}>
+            {interType === 'outer' ? <Col className="outer-interface" span={24}>
               <Form.Item label="鎺ュ彛鍦板潃">
                 {getFieldDecorator('interface', {
                   initialValue: setting.interface || '',
@@ -305,7 +280,18 @@
                       message: this.props.dict['form.required.input'] + '鎺ュ彛鍦板潃!'
                     }
                   ]
-                })(<Input placeholder={''} autoComplete="off" />)}
+                })(<TextArea rows={2}/>)}
+              </Form.Item>
+            </Col> : null}
+            {interType === 'outer' ? <Col className="outer-interface" span={24}>
+              <Form.Item label={<Tooltip placement="topLeft" title="姝e紡绯荤粺鎺ュ彛鍦板潃锛屼负绌烘椂浣跨敤鎺ュ彛鍦板潃">
+                  <Icon type="question-circle" />
+                  姝e紡鍦板潃
+                </Tooltip>
+              }>
+                {getFieldDecorator('proInterface', {
+                  initialValue: setting.proInterface || ''
+                })(<TextArea rows={2}/>)}
               </Form.Item>
             </Col> : null}
             {interType === 'outer' ? <Col span={8}>
@@ -320,7 +306,7 @@
             </Col> : null}
             {interType === 'system' ? <Col span={24} className="data-source" style={{paddingLeft: '7px'}}>
               <Form.Item labelCol={{xs: { span: 24 }, sm: { span: 2 }}} wrapperCol={ {xs: { span: 24 }, sm: { span: 22 }} } label={
-                <Tooltip placement="topLeft" title={'浣跨敤绯荤粺鍑芥暟鏃讹紝闇�濉啓鏁版嵁婧愩�傛敞锛氭暟鎹潈闄愭浛鎹㈢ $@ -> /* 鎴� \'\'銆� @$ -> */ 鎴� \'\''}>
+                <Tooltip placement="topLeft" title={`浣跨敤绯荤粺鍑芥暟鏃讹紝闇�濉啓鏁版嵁婧愩�傛敞锛氭暟鎹潈闄愭浛鎹㈢ $@ -> /* 鎴� ''銆� @$ -> */ 鎴� ''锛涙煡璇㈡浛鎹㈢ $select@ -> /* 鎴� ''銆� @select$ -> */ 鎴� ''锛涚粺璁℃浛鎹㈢ $sum@ -> /* 鎴� ''銆� @sum$ -> */ 鎴� ''銆俙}>
                   <Icon type="question-circle" />
                   鏁版嵁婧�
                 </Tooltip>
@@ -365,7 +351,7 @@
             {config.format === 'array' ? <Col span={8}>
               <Form.Item label="榛樿鎺掑簭">
                 {getFieldDecorator('order', {
-                  initialValue: setting.order || '',
+                  initialValue: setting.order || 'ID desc',
                   rules: [
                     {
                       required: true,
@@ -386,11 +372,11 @@
                 </Radio.Group>)}
               </Form.Item>
             </Col> : null}
-            <Col span={8}>
+            {config.type !== 'navbar' && config.type !== 'balcony' ? <Col span={8}>
               <Form.Item label={
                 <Tooltip placement="topLeft" title={'璇ョ粍浠跺鏋滃彈鍏朵粬缁勪欢鎺у埗锛岃閫夐」鐩稿簲鐨勭粍浠讹紝娌℃湁鏃堕�夆�滄棤鈥濄��'}>
                   <Icon type="question-circle" />
-                  涓婄骇妯″潡
+                  涓婄骇缁勪欢
                 </Tooltip>
               }>
                 {getFieldDecorator('supModule', {
@@ -398,14 +384,14 @@
                   rules: [
                     {
                       required: true,
-                      message: this.props.dict['form.required.select'] + '涓婄骇妯″潡!'
+                      message: this.props.dict['form.required.select'] + '涓婄骇缁勪欢!'
                     }
                   ]
                 })(
                   <Cascader options={modules} onChange={this.changeSupModule} expandTrigger="hover" placeholder="" />
                 )}
               </Form.Item>
-            </Col>
+            </Col> : null}
             {config.pageable ? <Col span={8}>
               <Form.Item label="鍒嗛〉">
                 {getFieldDecorator('laypage', {
@@ -437,7 +423,7 @@
               </Form.Item>
             </Col> : null}
             {/* 1銆佷笉鍒嗛〉涓斾笉瀛樺湪涓婄骇妯″潡 */}
-            {(!config.pageable || (config.pageable && laypage === 'false')) && (!supModule || supModule.length === 0 || supModule[0] === 'empty') ? <Col span={8}>
+            {config.type !== 'navbar' && (!config.pageable || (config.pageable && laypage === 'false')) && (!supModule || supModule.length === 0 || supModule[0] === 'empty') ? <Col span={8}>
               <Form.Item label={
                 <Tooltip placement="topLeft" title={'鍒濆鍖栧姞杞芥椂锛屾槸鍚︿笌鍏朵粬缁勪欢涓�鍚屽姞杞芥暟鎹紝娉細浠呭湪浣跨敤绯荤粺鍑芥暟锛屼笖鍒濆鍖栧姞杞芥暟鎹椂鏈夋晥锛屽垎椤佃姹傛椂鏃犳晥銆�'}>
                   <Icon type="question-circle" />
@@ -454,15 +440,15 @@
                 )}
               </Form.Item>
             </Col> : null}
-            <Col span={8}>
+            {config.type !== 'navbar' && config.type !== 'balcony' ? <Col span={8}>
               <Form.Item label={
                 <Tooltip placement="topLeft" title={'浼樺厛浣跨敤鍚岀骇鐨勬悳绱㈡潯浠剁粍浠讹紝鍚岀骇鎼滅储涓嶅瓨鍦ㄦ椂锛屼緷娆″悜涓婇�夊彇锛屼笌褰撳墠缁勪欢鐨勬悳绱㈡潯浠朵竴鍚岀敤浣滄暟鎹繃婊わ紙褰撳墠缁勪欢鐨勬悳绱㈡潯浠朵紭鍏堬級銆�'}>
                   <Icon type="question-circle" />
-                  澶栧眰鎼滅储
+                  澶栭儴鎼滅储
                 </Tooltip>
               }>
                 {getFieldDecorator('useMSearch', {
-                  initialValue: setting.useMSearch || 'false'
+                  initialValue: setting.useMSearch || 'true'
                 })(
                   <Radio.Group onChange={(e) => this.setState({useMSearch: e.target.value})}>
                     <Radio value="true">浣跨敤</Radio>
@@ -470,8 +456,8 @@
                   </Radio.Group>
                 )}
               </Form.Item>
-            </Col>
-            {useMSearch === 'true' ? <Col span={8}>
+            </Col> : null}
+            {config.type !== 'navbar' && config.type !== 'balcony' && useMSearch === 'true' ? <Col span={8}>
               <Form.Item label={
                 <Tooltip placement="topLeft" title={'澶栧眰鎼滅储鏉′欢鏀瑰彉鏃讹紝鏄惁鍒锋柊褰撳墠缁勪欢鏁版嵁銆�'}>
                   <Icon type="question-circle" />
@@ -488,7 +474,7 @@
                 )}
               </Form.Item>
             </Col> : null}
-            <Col span={8}>
+            {config.type !== 'navbar' && config.type !== 'balcony' ? <Col span={8}>
               <Form.Item label="鍒濆鍖栨暟鎹�">
                 {getFieldDecorator('onload', {
                   initialValue: setting.onload || 'true'
@@ -499,7 +485,7 @@
                   </Radio.Group>
                 )}
               </Form.Item>
-            </Col>
+            </Col> : null}
           </Row>
         </Form>
       </div>

--
Gitblit v1.8.0