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/menu/components/tabs/tabsetting/settingform/index.jsx |   74 +++++++++++++++++++++++++++++++-----
 1 files changed, 63 insertions(+), 11 deletions(-)

diff --git a/src/menu/components/tabs/tabsetting/settingform/index.jsx b/src/menu/components/tabs/tabsetting/settingform/index.jsx
index b80e165..a8190c2 100644
--- a/src/menu/components/tabs/tabsetting/settingform/index.jsx
+++ b/src/menu/components/tabs/tabsetting/settingform/index.jsx
@@ -2,19 +2,34 @@
 import PropTypes from 'prop-types'
 import { Form, Row, Col, Input, Radio, Tooltip, Icon, InputNumber, Select } from 'antd'
 
-// import { formRule } from '@/utils/option.js'
 import './index.scss'
 
 class SettingForm extends Component {
   static propTpyes = {
     dict: PropTypes.object,       // 瀛楀吀椤�
     setting: PropTypes.object,    // 鏁版嵁婧愰厤缃�
+    inputSubmit: PropTypes.func   // 鍥炶溅浜嬩欢
   }
 
-  state = {}
+  state = {
+    appType: sessionStorage.getItem('appType'),
+    position: this.props.setting.position,
+    roleList: []
+  }
 
   UNSAFE_componentWillMount () {
+    let roleList = sessionStorage.getItem('sysRoles')
+    if (roleList) {
+      try {
+        roleList = JSON.parse(roleList)
+      } catch {
+        roleList = []
+      }
+    } else {
+      roleList = []
+    }
 
+    this.setState({roleList})
   }
 
   handleConfirm = () => {
@@ -30,10 +45,18 @@
     })
   }
 
+  handleSubmit = (e) => {
+    e.preventDefault()
+
+    if (this.props.inputSubmit) {
+      this.props.inputSubmit()
+    }
+  }
 
   render() {
     const { setting } = this.props
     const { getFieldDecorator } = this.props.form
+    const { roleList, appType, position } = this.state
 
     const formItemLayout = {
       labelCol: {
@@ -47,8 +70,8 @@
     }
 
     return (
-      <div className="model-datasource-setting-form-box">
-        <Form {...formItemLayout} className="model-setting-form">
+      <div className="model-menu-setting-form">
+        <Form {...formItemLayout}>
           <Row gutter={24}>
             <Col span={12}>
               <Form.Item label={
@@ -65,25 +88,25 @@
                       message: this.props.dict['form.required.input'] + '缁勪欢鍚嶇О!'
                     }
                   ]
-                })(<Input placeholder={''} autoComplete="off" />)}
+                })(<Input placeholder={''} autoComplete="off" onPressEnter={this.handleSubmit}/>)}
               </Form.Item>
             </Col>
             <Col span={12}>
               <Form.Item label={
-                <Tooltip placement="topLeft" title="鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒�24浠姐��">
+                <Tooltip placement="topLeft" title="鏍呮牸甯冨眬锛屾瘡琛岀瓑鍒嗕负24鍒椼��">
                   <Icon type="question-circle" />
                   瀹藉害
                 </Tooltip>
               }>
-                {getFieldDecorator('span', {
-                  initialValue: setting.span || 12,
+                {getFieldDecorator('width', {
+                  initialValue: setting.width || 24,
                   rules: [
                     {
                       required: true,
                       message: this.props.dict['form.required.input'] + '瀹藉害!'
                     }
                   ]
-                })(<InputNumber min={1} max={24} precision={0} />)}
+                })(<InputNumber min={1} max={24} precision={0} onPressEnter={this.handleSubmit}/>)}
               </Form.Item>
             </Col>
             <Col span={12}>
@@ -91,7 +114,7 @@
                 {getFieldDecorator('position', {
                   initialValue: setting.position || 'top'
                 })(
-                  <Select>
+                  <Select onChange={(val) => this.setState({position: val})}>
                     <Select.Option key="top" value="top"> top </Select.Option>
                     <Select.Option key="bottom" value="bottom"> bottom </Select.Option>
                     <Select.Option key="left" value="left"> left </Select.Option>
@@ -100,7 +123,7 @@
                 )}
               </Form.Item>
             </Col>
-            <Col span={12}>
+            {appType !== 'mob' ? <Col span={12}>
               <Form.Item label={
                 <Tooltip placement="topLeft" title="鏍囩浣嶇疆涓簍op鏃舵湁鏁堬紝榛樿鍊间负line銆�">
                   <Icon type="question-circle" />
@@ -116,6 +139,35 @@
                   </Radio.Group>
                 )}
               </Form.Item>
+            </Col> : null}
+            {appType === 'mob' && (position === 'top' || position === 'bottom') ? <Col span={12}>
+              <Form.Item label="鏍囩鏄剧ず">
+                {getFieldDecorator('display', {
+                  initialValue: setting.display || 'flex'
+                })(
+                  <Radio.Group>
+                    <Radio value="flex">寮规�у竷灞�</Radio>
+                    <Radio value="inline-block">瀹氬</Radio>
+                  </Radio.Group>
+                )}
+              </Form.Item>
+            </Col> : null}
+            <Col span={12}>
+              <Form.Item label="榛戝悕鍗�">
+                {getFieldDecorator('blacklist', {
+                  initialValue: setting.blacklist || []
+                })(
+                  <Select
+                    showSearch
+                    mode="multiple"
+                    filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}
+                  >
+                    {roleList.map(option =>
+                      <Select.Option key={option.uuid} value={option.value}>{option.text}</Select.Option>
+                    )}
+                  </Select>
+                )}
+              </Form.Item>
             </Col>
           </Row>
         </Form>

--
Gitblit v1.8.0