From 3c26f581cd77bed95cc56464f8424993f3c6b13a Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 28 六月 2021 18:45:44 +0800
Subject: [PATCH] 2021-06-28

---
 src/menu/components/share/actioncomponent/actionform/index.jsx |   32 +++++++++++++++++++++++++-------
 1 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/src/menu/components/share/actioncomponent/actionform/index.jsx b/src/menu/components/share/actioncomponent/actionform/index.jsx
index c33e8c4..97e077b 100644
--- a/src/menu/components/share/actioncomponent/actionform/index.jsx
+++ b/src/menu/components/share/actioncomponent/actionform/index.jsx
@@ -2,15 +2,17 @@
 import PropTypes from 'prop-types'
 import { fromJS } from 'immutable'
 import { Form, Row, Col, Input, Select, Icon, Radio, notification, Tooltip, InputNumber, Cascader } from 'antd'
-import { btnIcons, btnCustomClasses, formRule } from '@/utils/option.js'
+import { btnCustomClasses, formRule } from '@/utils/option.js'
 
+import asyncComponent from '@/utils/asyncComponent'
 import './index.scss'
 
 const { TextArea } = Input
+const MkIcon = asyncComponent(() => import('@/components/mkIcon'))
 const actionTypeOptions = {
-  pop: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'icon', 'class', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'width'],
-  prompt: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'icon', 'class', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'width'],
-  exec: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'icon', 'class', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'width'],
+  pop: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'icon', 'class', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'width', 'openmenu', 'open'],
+  prompt: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'icon', 'class', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'width', 'openmenu', 'open'],
+  exec: ['label', 'OpenType', 'intertype', 'Ot', 'show', 'icon', 'class', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'width', 'openmenu', 'open'],
   excelIn: ['label', 'Ot', 'OpenType', 'intertype', 'show', 'icon', 'class', 'sheet', 'execSuccess', 'execError', 'resetPageIndex', 'syncComponent', 'width'],
   excelOut: ['label', 'OpenType', 'intertype', 'show', 'icon', 'class', 'execSuccess', 'execError', 'syncComponent', 'resetPageIndex', 'pagination', 'search', 'width'],
   popview: ['label', 'Ot', 'OpenType', 'show', 'icon', 'class', 'popClose', 'resetPageIndex', 'width'],
@@ -110,8 +112,6 @@
         } else if (item.key === 'intertype') {
           let iscustom = ['pop', 'prompt', 'exec'].includes(_opentype)
           item.options = this.state.interTypeOptions.filter(op => (iscustom || op.value !== 'custom'))
-        } else if (item.key === 'icon') {
-          item.options = btnIcons
         } else if (item.key === 'Ot') {
           if (type === 'card') {
             item.options = this.state.requireOptions.filter(op => ['notRequired', 'requiredSgl'].includes(op.value))
@@ -549,7 +549,7 @@
                 >
                   {item.options.map((option, index) =>
                     <Select.Option id={index} key={option.value || option.field} value={option.value || option.field}>
-                      {item.key === 'icon' && option.value ? <Icon type={option.value} /> : ''} {option.text || option.label}
+                      {option.text || option.label}
                     </Select.Option>
                   )}
                 </Select>
@@ -622,6 +622,24 @@
             </Form.Item>
           </Col>
         )
+      } else if (item.type === 'icon') { // 澶氶��
+        fields.push(
+          <Col span={12} key={index}>
+            <Form.Item label={item.label}>
+              {getFieldDecorator(item.key, {
+                initialValue: item.initVal,
+                rules: [
+                  {
+                    required: !!item.required,
+                    message: this.props.dict['form.required.select'] + item.label + '!'
+                  }
+                ]
+              })(
+                <MkIcon allowClear/>
+              )}
+            </Form.Item>
+          </Col>
+        )
       } else if (item.type === 'mcascader') {
         fields.push(
           <Col span={12} key={index}>

--
Gitblit v1.8.0