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/pc/components/navbar/normal-navbar/wrapsetting/settingform/index.jsx |   91 ++++++++++++++++++++++++++++++++++++---------
 1 files changed, 73 insertions(+), 18 deletions(-)

diff --git a/src/pc/components/navbar/normal-navbar/wrapsetting/settingform/index.jsx b/src/pc/components/navbar/normal-navbar/wrapsetting/settingform/index.jsx
index e8a8e8f..61d30f0 100644
--- a/src/pc/components/navbar/normal-navbar/wrapsetting/settingform/index.jsx
+++ b/src/pc/components/navbar/normal-navbar/wrapsetting/settingform/index.jsx
@@ -1,11 +1,12 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
-import { Form, Row, Col, Input, Tooltip, Icon, InputNumber, Select } from 'antd'
+import { Form, Row, Col, Input, Tooltip, Icon, InputNumber, Select, Radio } from 'antd'
 
 import asyncComponent from '@/utils/asyncComponent'
 import './index.scss'
 
 const SourceComponent = asyncComponent(() => import('@/menu/components/share/sourcecomponent'))
+const { TextArea } = Input
 
 class SettingForm extends Component {
   static propTpyes = {
@@ -17,7 +18,7 @@
 
   state = {
     appMenus: [],
-    logointid: this.props.wrap.linkIntId || ''
+    property: ''
   }
 
   UNSAFE_componentWillMount () {
@@ -25,28 +26,21 @@
     if (appMenus) {
       try {
         appMenus = JSON.parse(appMenus)
-      } catch {
+      } catch (e) {
         appMenus = []
       }
     } else {
       appMenus = []
     }
 
-    this.setState({appMenus})
+    this.setState({appMenus, property: this.props.wrap.property || ''})
   }
 
   handleConfirm = () => {
-    const { logointid } = this.state
     // 琛ㄥ崟鎻愪氦鏃舵鏌ヨ緭鍏ュ�兼槸鍚︽纭�
     return new Promise((resolve, reject) => {
       this.props.form.validateFieldsAndScroll((err, values) => {
         if (!err) {
-          values.linkIntId = ''
-
-          if (values.logolink && logointid) {
-            values.linkIntId = logointid
-          }
-
           resolve(values)
         } else {
           reject(err)
@@ -66,8 +60,7 @@
   render() {
     const { wrap } = this.props
     const { getFieldDecorator } = this.props.form
-    const { appMenus } = this.state
-
+    const { appMenus, property } = this.state
     const formItemLayout = {
       labelCol: {
         xs: { span: 24 },
@@ -150,22 +143,84 @@
               </Form.Item>
             </Col>
             <Col span={12}>
+              <Form.Item label="logo灞炴��">
+                {getFieldDecorator('property', {
+                  initialValue: wrap.property || ''
+                })(
+                  <Radio.Group onChange={(e) => this.setState({property: e.target.value})} style={{whiteSpace: 'nowrap'}}>
+                    <Radio value="">绌�</Radio>
+                    <Radio value="linkmenu">鍏宠仈鑿滃崟</Radio>
+                    <Radio value="link">閾炬帴</Radio>
+                  </Radio.Group>
+                )}
+              </Form.Item>
+            </Col>
+            {property === 'linkmenu' ? <Col span={12}>
               <Form.Item label="logo閾炬帴">
-                {getFieldDecorator('logolink', {
-                  initialValue: wrap.logolink || ''
+                {getFieldDecorator('linkmenu', {
+                  initialValue: wrap.linkmenu || '',
+                  rules: [
+                    {
+                      required: true,
+                      message: this.props.dict['form.required.select'] + '鍏宠仈鑿滃崟!'
+                    }
+                  ]
                 })(
                   <Select
                     showSearch
-                    onChange={(val, { props }) => this.setState({logointid: props.intid})}
                     filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}
                   >
-                    <Select.Option key="empty" intid={''} value={''}>鏃�</Select.Option>
                     {appMenus.map(option =>
-                      <Select.Option key={option.MenuID} intid={option.menuid_int} value={option.MenuID}>{option.MenuName}</Select.Option>
+                      <Select.Option key={option.MenuID} value={option.MenuID}>{option.MenuName}</Select.Option>
                     )}
                   </Select>
                 )}
               </Form.Item>
+            </Col> : null}
+            {property === 'link' ? <Col span={24}>
+              <Form.Item label="logo閾炬帴" className="textarea">
+                {getFieldDecorator('link', {
+                  initialValue: wrap.link || '',
+                  rules: [{
+                    required: true,
+                    message: '璇疯緭鍏ラ摼鎺ュ湴鍧�!'
+                  }]
+                })(<TextArea rows={2} />)}
+              </Form.Item>
+            </Col> : null}
+            <Col span={12}>
+              <Form.Item label={
+                <Tooltip placement="topLeft" title="瀛樺湪鐧诲綍涓斿彇鍒扮櫥褰曚俊鎭椂锛屾樉绀虹敤鎴峰ご鍍忋�佺敤鎴峰悕鍙婇��鍑恒��">
+                  <Icon type="question-circle" />
+                  鐢ㄦ埛淇℃伅
+                </Tooltip>
+              }>
+                {getFieldDecorator('user', {
+                  initialValue: wrap.user || 'hidden'
+                })(
+                  <Radio.Group>
+                    <Radio value="hidden">闅愯棌</Radio>
+                    <Radio value="show">鏄剧ず</Radio>
+                  </Radio.Group>
+                )}
+              </Form.Item>
+            </Col>
+            <Col span={12}>
+              <Form.Item label={
+                <Tooltip placement="topLeft" title="榛樿闅愯棌鑿滃崟鏍忥紝榧犳爣鍦ㄩ潬杩戦《閮ㄦ椂鏄剧ず銆�">
+                  <Icon type="question-circle" />
+                  鎮诞鏄剧ず
+                </Tooltip>
+              }>
+                {getFieldDecorator('hover', {
+                  initialValue: wrap.hover || 'false'
+                })(
+                  <Radio.Group>
+                    <Radio value="true">鍚敤</Radio>
+                    <Radio value="false">涓嶅惎鐢�</Radio>
+                  </Radio.Group>
+                )}
+              </Form.Item>
             </Col>
           </Row>
         </Form>

--
Gitblit v1.8.0