From d59f518f466274b2caeb2e01c10c92deafe7c93b Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 09 二月 2022 11:48:29 +0800
Subject: [PATCH] 2022-02-09

---
 src/menu/datasource/verifycard/settingform/index.jsx |  116 +++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 71 insertions(+), 45 deletions(-)

diff --git a/src/menu/datasource/verifycard/settingform/index.jsx b/src/menu/datasource/verifycard/settingform/index.jsx
index dc66b36..72fc91f 100644
--- a/src/menu/datasource/verifycard/settingform/index.jsx
+++ b/src/menu/datasource/verifycard/settingform/index.jsx
@@ -1,6 +1,7 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
-import { Form, Row, Col, Input, Radio, Tooltip, Icon, notification, Select, InputNumber, Cascader } from 'antd'
+import { Form, Row, Col, Input, Radio, Tooltip, notification, Select, InputNumber, Cascader } from 'antd'
+import { QuestionCircleOutlined } from '@ant-design/icons'
 
 import { formRule } from '@/utils/option.js'
 import Utils from '@/utils/utils.js'
@@ -8,10 +9,11 @@
 import CodeMirror from '@/templates/zshare/codemirror'
 import './index.scss'
 
+const { TextArea } = Input
+
 class SettingForm extends Component {
   static propTpyes = {
     dict: PropTypes.object,       // 瀛楀吀椤�
-    menu: PropTypes.any,          // 鑿滃崟閰嶇疆淇℃伅
     config: PropTypes.object,     // 缁勪欢閰嶇疆
     setting: PropTypes.object,    // 鏁版嵁婧愰厤缃�
     modules: PropTypes.array,     // 鍙粦瀹氱殑涓婄骇缁勪欢
@@ -25,16 +27,14 @@
     modules: [],
     usefulFields: [],
     useMSearch: this.props.setting.useMSearch || 'false',
-    supModule: this.props.setting.supModule || []
+    supModule: this.props.setting.supModule || [],
+    appType: sessionStorage.getItem('appType')
   }
 
   UNSAFE_componentWillMount () {
-    const { menu, config } = this.props
+    const { config } = this.props
 
-    let modules = MenuUtils.getSupModules(menu.components, config.uuid)
-    if (!modules) {
-      modules = []
-    }
+    let modules = MenuUtils.getSupModules(window.GLOB.customMenu.components, config.uuid) || []
 
     modules.unshift({
       value: 'empty',
@@ -45,7 +45,7 @@
     if (usefulFields) {
       try {
         usefulFields = JSON.parse(usefulFields)
-      } catch {
+      } catch (e) {
         usefulFields = []
       }
     } else {
@@ -56,10 +56,17 @@
   }
 
   handleConfirm = () => {
+    const { appType } = this.state
     // 琛ㄥ崟鎻愪氦鏃舵鏌ヨ緭鍏ュ�兼槸鍚︽纭�
     return new Promise((resolve, reject) => {
       this.props.form.validateFieldsAndScroll((err, values) => {
         if (!err) {
+          values.sync = values.sync || 'false'
+
+          if (appType === 'mob' && values.useMSearch === 'true') {
+            values.syncRefresh = 'true'
+          }
+
           // 鏁版嵁婧愬墠绔獙璇�
           if (values.interType === 'system' && values.execute !== 'false' && !values.dataresource) {
             notification.warning({
@@ -135,6 +142,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})
   }
@@ -142,7 +157,7 @@
   render() {
     const { setting, columns, config } = this.props
     const { getFieldDecorator } = this.props.form
-    const { interType, modules, useMSearch, laypage, supModule, usefulFields } = this.state
+    const { interType, modules, useMSearch, laypage, supModule, usefulFields, appType } = this.state
 
     const formItemLayout = {
       labelCol: {
@@ -208,32 +223,21 @@
                 </Radio.Group>)}
               </Form.Item>
             </Col>
-            {interType === 'system' ? <Col span={8}>
-              <Form.Item label={
-                <Tooltip placement="topLeft" title={'鑷畾涔夎剼鏈腑鐨勫彉閲忥紙闄ゆ姤閿欏強鍙敤瀛楁澶栵級锛岄渶浠ユ鏍囪瘑寮�澶淬��'}>
-                  <Icon type="question-circle" />
-                  鍙橀噺鏍囪瘑
-                </Tooltip>
-              }>
-                {getFieldDecorator('varMark', {
-                  initialValue: setting.varMark || '',
-                  rules: [
-                    {
-                      pattern: /^[a-zA-Z_]*$/ig,
-                      message: '璇蜂娇鐢ㄥ瓧姣嶆垨_'
-                    },
-                    {
-                      max: 3,
-                      message: '鏈�澶氫笁涓瓧绗︺��'
-                    }
-                  ]
-                })(<Input placeholder={''} autoComplete="off" />)}
+            {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 === 'inner' ? <Col span={8}>
               <Form.Item label={tooltip ?
                 <Tooltip placement="topLeft" title={tooltip}>
-                  <Icon type="question-circle" />
+                  <QuestionCircleOutlined className="mk-form-tip" />
                   鍐呴儴鍑芥暟
                 </Tooltip> : '鍐呴儴鍑芥暟'
               }>
@@ -249,7 +253,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 || '',
@@ -259,7 +263,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紡绯荤粺鎺ュ彛鍦板潃锛屼负绌烘椂浣跨敤鎺ュ彛鍦板潃">
+                  <QuestionCircleOutlined className="mk-form-tip" />
+                  姝e紡鍦板潃
+                </Tooltip>
+              }>
+                {getFieldDecorator('proInterface', {
+                  initialValue: setting.proInterface || ''
+                })(<TextArea rows={2}/>)}
               </Form.Item>
             </Col> : null}
             {interType === 'outer' ? <Col span={8}>
@@ -275,7 +290,7 @@
             {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={`浣跨敤绯荤粺鍑芥暟鏃讹紝闇�濉啓鏁版嵁婧愩�傛敞锛氭暟鎹潈闄愭浛鎹㈢ $@ -> /* 鎴� ''銆� @$ -> */ 鎴� ''锛涙煡璇㈡浛鎹㈢ $select@ -> /* 鎴� ''銆� @select$ -> */ 鎴� ''锛涚粺璁℃浛鎹㈢ $sum@ -> /* 鎴� ''銆� @sum$ -> */ 鎴� ''銆俙}>
-                  <Icon type="question-circle" />
+                  <QuestionCircleOutlined className="mk-form-tip" />
                   鏁版嵁婧�
                 </Tooltip>
               }>
@@ -287,7 +302,7 @@
             {interType === 'system' ? <Col span={8}>
               <Form.Item label={
                 <Tooltip placement="topLeft" title={'鏌ヨ鏃讹紝鎼滅储鏉′欢浠here鏉′欢鎷兼帴杩涘叆sql锛岀粺璁℃椂锛屽皢鏁版嵁婧愪腑浠モ�淍+鎼滅储瀛楁+@鈥濈殑鍐呭锛屼互鎼滅储鏉′欢涓殑鍊艰繘琛屾浛鎹㈠悗锛屾彁浜ゆ煡璇紝娉細鏌ヨ绫诲瀷浠呭湪浣跨敤绯荤粺鍑芥暟鏃舵湁鏁堛��'}>
-                  <Icon type="question-circle" />
+                  <QuestionCircleOutlined className="mk-form-tip" />
                   鏌ヨ绫诲瀷
                 </Tooltip>
               }>
@@ -340,10 +355,10 @@
                 </Radio.Group>)}
               </Form.Item>
             </Col> : null}
-            {config.type !== 'navbar' ? <Col span={8}>
+            {!['navbar', 'balcony', 'menubar'].includes(config.type) && (!config.wrap || config.wrap.supType !== 'multi') ? <Col span={8}>
               <Form.Item label={
                 <Tooltip placement="topLeft" title={'璇ョ粍浠跺鏋滃彈鍏朵粬缁勪欢鎺у埗锛岃閫夐」鐩稿簲鐨勭粍浠讹紝娌℃湁鏃堕�夆�滄棤鈥濄��'}>
-                  <Icon type="question-circle" />
+                  <QuestionCircleOutlined className="mk-form-tip" />
                   涓婄骇缁勪欢
                 </Tooltip>
               }>
@@ -375,7 +390,7 @@
             {config.pageable && laypage !== 'false' ? <Col span={8}>
               <Form.Item label={
                 <Tooltip placement="topLeft" title="閫夋嫨鍒嗛〉鏃舵湁鏁堛��">
-                  <Icon type="question-circle" />
+                  <QuestionCircleOutlined className="mk-form-tip" />
                   姣忛〉鏁伴噺
                 </Tooltip>
               }>
@@ -391,10 +406,10 @@
               </Form.Item>
             </Col> : null}
             {/* 1銆佷笉鍒嗛〉涓斾笉瀛樺湪涓婄骇妯″潡 */}
-            {config.type !== 'navbar' && (!config.pageable || (config.pageable && laypage === 'false')) && (!supModule || supModule.length === 0 || supModule[0] === 'empty') ? <Col span={8}>
+            {!['navbar'].includes(config.type) && (!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" />
+                  <QuestionCircleOutlined className="mk-form-tip" />
                   鍚屾鏌ヨ
                 </Tooltip>
               }>
@@ -408,10 +423,10 @@
                 )}
               </Form.Item>
             </Col> : null}
-            {config.type !== 'navbar' ? <Col span={8}>
+            {!['navbar', 'balcony', 'menubar'].includes(config.type) ? <Col span={8}>
               <Form.Item label={
                 <Tooltip placement="topLeft" title={'浼樺厛浣跨敤鍚岀骇鐨勬悳绱㈡潯浠剁粍浠讹紝鍚岀骇鎼滅储涓嶅瓨鍦ㄦ椂锛屼緷娆″悜涓婇�夊彇锛屼笌褰撳墠缁勪欢鐨勬悳绱㈡潯浠朵竴鍚岀敤浣滄暟鎹繃婊わ紙褰撳墠缁勪欢鐨勬悳绱㈡潯浠朵紭鍏堬級銆�'}>
-                  <Icon type="question-circle" />
+                  <QuestionCircleOutlined className="mk-form-tip" />
                   澶栭儴鎼滅储
                 </Tooltip>
               }>
@@ -425,10 +440,10 @@
                 )}
               </Form.Item>
             </Col> : null}
-            {config.type !== 'navbar' && useMSearch === 'true' ? <Col span={8}>
+            {!['navbar', 'balcony', 'menubar'].includes(config.type) && useMSearch === 'true' && appType !== 'mob' ? <Col span={8}>
               <Form.Item label={
                 <Tooltip placement="topLeft" title={'澶栧眰鎼滅储鏉′欢鏀瑰彉鏃讹紝鏄惁鍒锋柊褰撳墠缁勪欢鏁版嵁銆�'}>
-                  <Icon type="question-circle" />
+                  <QuestionCircleOutlined className="mk-form-tip" />
                   鍚屾鍒锋柊
                 </Tooltip>
               }>
@@ -442,7 +457,18 @@
                 )}
               </Form.Item>
             </Col> : null}
-            {config.type !== 'navbar' ? <Col span={8}>
+            <Col span={8}>
+              <Form.Item label="浜嬪姟">
+                {getFieldDecorator('transaction', {
+                  initialValue: setting.transaction || 'false'
+                })(
+                <Radio.Group>
+                  <Radio value="true">浣跨敤</Radio>
+                  <Radio value="false">涓嶄娇鐢�</Radio>
+                </Radio.Group>)}
+              </Form.Item>
+            </Col>
+            {!['navbar', 'balcony', 'menubar'].includes(config.type) ? <Col span={8}>
               <Form.Item label="鍒濆鍖栨暟鎹�">
                 {getFieldDecorator('onload', {
                   initialValue: setting.onload || 'true'

--
Gitblit v1.8.0