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/templates/sharecomponent/columncomponent/markcolumn/markform/index.jsx |   93 ++++++++++++++++------------------------------
 1 files changed, 33 insertions(+), 60 deletions(-)

diff --git a/src/templates/sharecomponent/columncomponent/markcolumn/markform/index.jsx b/src/templates/sharecomponent/columncomponent/markcolumn/markform/index.jsx
index 6147594..e98fb1e 100644
--- a/src/templates/sharecomponent/columncomponent/markcolumn/markform/index.jsx
+++ b/src/templates/sharecomponent/columncomponent/markcolumn/markform/index.jsx
@@ -1,8 +1,9 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
-import { Form, Row, Col, Select, Button, Input, InputNumber, Radio, Icon, Cascader, Tooltip } from 'antd'
+import { Form, Row, Col, Select, Button, Input, Radio, Cascader } from 'antd'
 
 import { minkeColorSystem, minkeIconSystem } from '@/utils/option.js'
+import MkIcon from '@/components/mk-icon'
 import './index.scss'
 
 class UniqueForm extends Component {
@@ -19,7 +20,7 @@
     originField: this.props.card,
     signType: 'background',
     selectIcon: '',
-    options: minkeColorSystem,
+    options: JSON.parse(JSON.stringify(minkeColorSystem)),
     icons: minkeIconSystem.direction
   }
 
@@ -40,12 +41,25 @@
     const { columns } = this.props
     let item = columns.filter(col => col.field === record.field)[0]
 
+    let _type = 'background '
+    if (record.signType === 'icon' || record.signType === 'font') {
+      _type = 'font '
+    }
+
     this.setState({
       originField: item || '',
       editItem: record,
       contrastType: record.contrastType || '',
       signType: record.signType || '',
-      selectIcon: record.icon || ''
+      selectIcon: record.icon || '',
+      options: this.state.options.map(option => {
+        option.children = option.children.map(cell => {
+          cell.label = <div className={_type + cell.value}>{record.icon ? <MkIcon type={record.icon} /> : cell.value}</div>
+
+          return cell
+        })
+        return option
+      })
     }, () => {
       let fieldvalue = {}
       Object.keys(record).forEach(key => {
@@ -132,7 +146,7 @@
       selectIcon: val,
       options: this.state.options.map(option => {
         option.children = option.children.map(cell => {
-          cell.label = <div className={'font ' + cell.value}><Icon type={val} /></div>
+          cell.label = <div className={'font ' + cell.value}><MkIcon type={val} /></div>
 
           return cell
         })
@@ -151,14 +165,6 @@
         this.setState({
           editItem: null
         })
-        this.props.form.setFieldsValue({
-          field: '',
-        })
-        if (this.state.contrastType !== 'static') {
-          this.props.form.setFieldsValue({contrastField: ''})
-        } else {
-          this.props.form.setFieldsValue({contrastValue: ''})
-        }
       }
     })
   }
@@ -178,13 +184,11 @@
       }
     }
 
-    let contFields = columns.filter(col => originField.field !== col.field && originField.type === col.type)
-
     return (
       <Form {...formItemLayout} id="model-mark-form-box" className="mingke-table">
         <Row gutter={24}>
           <Col span={6}>
-            <Form.Item label={'瀛楁'}>
+            <Form.Item label="瀛楁">
               {getFieldDecorator('field', {
                 initialValue: originField.field,
                 rules: [
@@ -207,7 +211,7 @@
             </Form.Item>
           </Col>
           <Col span={6}>
-            <Form.Item label={'瀵规瘮绫诲瀷'}>
+            <Form.Item label="瀵规瘮绫诲瀷">
               {getFieldDecorator('contrastType', {
                 initialValue: 'static'
               })(
@@ -219,7 +223,7 @@
             </Form.Item>
           </Col>
           <Col span={6}>
-            <Form.Item label={'瀵规瘮鏂瑰紡'}>
+            <Form.Item label="瀵规瘮鏂瑰紡">
               {getFieldDecorator('match', {
                 initialValue: '=',
                 rules: [
@@ -231,28 +235,23 @@
               })(
                 <Select>
                   <Select.Option value="="> = </Select.Option>
-                  {originField.type === 'number' ? <Select.Option value=">"> > </Select.Option> : null}
-                  {originField.type === 'number' ? <Select.Option value="<"> &lt; </Select.Option> : null}
-                  {originField.type === 'text' ? <Select.Option value="like"> like </Select.Option> : null}
+                  <Select.Option value="!="> != </Select.Option>
+                  <Select.Option value=">"> &gt; </Select.Option>
+                  <Select.Option value="<"> &lt; </Select.Option>
+                  <Select.Option value="like"> like </Select.Option>
                 </Select>
               )}
             </Form.Item>
           </Col>
           {contrastType === 'static' ? <Col span={6}>
-            <Form.Item label={'瀵规瘮鍊�'}>
+            <Form.Item label="瀵规瘮鍊�">
               {getFieldDecorator('contrastValue', {
-                initialValue: '',
-                rules: [
-                  {
-                    required: true,
-                    message: this.props.dict['form.required.input'] + '瀵规瘮鍊�!'
-                  }
-                ]
-              })(originField.type === 'number' ? <InputNumber /> : <Input placeholder="" autoComplete="off" />)}
+                initialValue: ''
+              })(<Input placeholder="" autoComplete="off" />)}
             </Form.Item>
           </Col> : null}
           {contrastType === 'dynamic' ? <Col span={6}>
-            <Form.Item label={'瀵规瘮瀛楁'}>
+            <Form.Item label="瀵规瘮瀛楁">
               {getFieldDecorator('contrastField', {
                 initialValue: '',
                 rules: [
@@ -266,7 +265,7 @@
                   showSearch
                   filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}
                 >
-                  {contFields.map(item => (
+                  {columns.map(item => (
                     <Select.Option key={item.uuid} title={item.label + '(' + item.field + ')'} value={item.field}>{item.label + '(' + item.field + ')'}</Select.Option>
                   ))}
                 </Select>
@@ -274,12 +273,7 @@
             </Form.Item>
           </Col> : null}
           <Col span={6}>
-            <Form.Item label={
-              <Tooltip placement="topLeft" title="鍗$墖绫诲瀷锛屽湪鍗$墖鍥捐〃涓捣鏁�">
-                <Icon type="question-circle" />
-                {'鏍囪'}
-              </Tooltip>
-            }>
+            <Form.Item label="鏍囪鏂瑰紡">
               {getFieldDecorator('signType', {
                 initialValue: 'background',
                 rules: [
@@ -321,7 +315,6 @@
                   <Select.Option value="hint">鎻愮ず寤鸿鎬у浘鏍�</Select.Option>
                   <Select.Option value="edit">缂栬緫绫诲浘鏍�</Select.Option>
                   <Select.Option value="data">鏁版嵁绫诲浘鏍�</Select.Option>
-                  <Select.Option value="trademark">鍝佺墝鍜屾爣璇�</Select.Option>
                   <Select.Option value="normal">缃戠珯閫氱敤鍥炬爣</Select.Option>
                 </Select>
               )}
@@ -339,27 +332,7 @@
                 ]
               })(
                 <Select onChange={this.changeIcon} getPopupContainer={() => document.getElementById('model-mark-form-box')}>
-                  {icons.map(icon => <Select.Option key={icon} value={icon}><Icon type={icon} /></Select.Option>)}
-                  {/* <Select.Option value="arrow-up"><Icon type="arrow-up" /></Select.Option>
-                  <Select.Option value="arrow-down"><Icon type="arrow-down" /></Select.Option>
-                  <Select.Option value="arrow-left"><Icon type="arrow-left" /></Select.Option>
-                  <Select.Option value="arrow-right"><Icon type="arrow-right" /></Select.Option>
-                  <Select.Option value="check-circle"><Icon type="check-circle" /></Select.Option>
-                  <Select.Option value="close-circle"><Icon type="close-circle" /></Select.Option>
-                  <Select.Option value="clock-circle"><Icon type="clock-circle" /></Select.Option>
-                  <Select.Option value="pause-circle"><Icon type="pause-circle" /></Select.Option>
-                  <Select.Option value="stop"><Icon type="stop" /></Select.Option>
-                  <Select.Option value="question-circle"><Icon type="question-circle" /></Select.Option>
-                  <Select.Option value="exclamation-circle"><Icon type="exclamation-circle" /></Select.Option>
-                  <Select.Option value="check-square"><Icon type="check-square" /></Select.Option>
-                  <Select.Option value="warning"><Icon type="warning" /></Select.Option>
-                  <Select.Option value="minus-circle"><Icon type="minus-circle" /></Select.Option>
-                  <Select.Option value="issues-close"><Icon type="issues-close" /></Select.Option>
-                  <Select.Option value="question"><Icon type="question" /></Select.Option>
-                  <Select.Option value="fall"><Icon type="fall" /></Select.Option>
-                  <Select.Option value="rise"><Icon type="rise" /></Select.Option>
-                  <Select.Option value="link"><Icon type="link" /></Select.Option> */}
-                  {/* <Select.Option value="link"></Select.Option> */}
+                  {icons.map(icon => <Select.Option key={icon} value={icon}><MkIcon type={icon} /></Select.Option>)}
                 </Select>
               )}
             </Form.Item>
@@ -378,7 +351,7 @@
                 <Cascader
                   options={options}
                   placeholder=""
-                  displayRender={(label, selectedOptions) => selectedOptions[0] ? selectedOptions[0].label + ' / ' + selectedOptions[1].value : ''}
+                  displayRender={(label, selectedOptions) => selectedOptions[0] ? selectedOptions[0].label + (selectedOptions[1] ? ' / ' + selectedOptions[1].value : '') : ''}
                   getPopupContainer={() => document.getElementById('model-mark-form-box')}
                 />
               )}

--
Gitblit v1.8.0