king
2021-09-28 342d3498191f1683059fe586209ec920545e0bf9
src/tabviews/zshare/topSearch/index.jsx
@@ -1,7 +1,7 @@
import React, {Component} from 'react'
import PropTypes from 'prop-types'
import { fromJS } from 'immutable'
import { Form, Row, Col, Input, Button, notification, Modal, Icon } from 'antd'
import { is, fromJS } from 'immutable'
import { Form, Row, Col, Button, notification, Modal, Icon } from 'antd'
import moment from 'moment'
import Api from '@/api'
@@ -11,9 +11,8 @@
import Utils from '@/utils/utils.js'
import zhCN from '@/locales/zh-CN/main.js'
import enUS from '@/locales/en-US/main.js'
import MKInput from './mkInput'
import './index.scss'
const { Search } = Input
const MutilForm = asyncSpinComponent(() => import('./advanceform'))
const MKCheckCard = asyncComponent(() => import('@/tabviews/zshare/mutilform/checkCard'))
@@ -78,6 +77,9 @@
    }
    if (searchlist) {
      if (setting && setting.show === 'false') {
        showButton = false
      }
      _searchlist = fromJS(searchlist).toJS()
    } else if (config) {
      _searchlist = fromJS(config.search).toJS()
@@ -201,6 +203,10 @@
        this.improveSearch(mainItems, localItems)
      }
    })
  }
  shouldComponentUpdate (nextProps, nextState) {
    return !is(fromJS(this.state), fromJS(nextState))
  }
  // 查询下拉菜单
@@ -433,6 +439,7 @@
    const { getFieldDecorator } = this.props.form
    const { dict, showButton, showAdvanced, float, visible } = this.state
    const fields = []
    let lastRadio = 6
    this.state.searchlist.forEach((item, index) => {
      if (item.hidden || item.advanced) return
@@ -445,14 +452,12 @@
      ]
      let content = null
      let className = ''
      let field = item.field
      lastRadio = item.ratio || 6
      if (item.type === 'text') {
        if (item.inputType === 'search') {
          content = <Search allowClear placeholder={item.labelShow === 'false' ? item.label : ''} autoComplete="off" onSearch={this.handleSubmit} enterButton/>
        } else {
          content = <Input allowClear placeholder={item.labelShow === 'false' ? item.label : ''} autoComplete="off" onPressEnter={this.handleSubmit} />
        }
        content = (<MKInput config={item} onInputSubmit={this.handleSubmit} />)
      } else if (item.type === 'select' || item.type === 'link' || item.type === 'multiselect') {
        content = (<MKSelect config={item} onChange={(val, defer) => this.recordChange(val, defer, item)} />)
      } else if (item.type === 'date' || item.type === 'datemonth' || item.type === 'dateweek' || item.type === 'daterange') {
@@ -461,13 +466,14 @@
        field = item.datefield
        content = <DateGroup position={index} config={item} onChange={(val, type) => this.dateGroupChange(val, type, item)} />
      } else if (item.type === 'checkcard') {
        className = 'checkcard'
        content = <MKCheckCard card={item} onChange={this.handleSubmit} />
      }
      if (content) {
        fields.push(
          <Col span={item.ratio || 6} key={index}>
            <Form.Item label={item.labelShow !== 'false' ? item.label : ''}>
            <Form.Item className={className} label={item.labelShow !== 'false' ? item.label : ''}>
              {getFieldDecorator(field, {
                initialValue: item.initval,
                rules: _rules
@@ -480,7 +486,7 @@
    if (showButton) {
      let action = (
        <Col span={6} style={{ whiteSpace: 'nowrap' }} className="search-button" key="actions">
        <Col span={lastRadio < 6 ? 6 : lastRadio} style={{ whiteSpace: 'nowrap' }} className="search-button" key="actions">
          <Form.Item label={' '} colon={false} style={{ minHeight: '40px' }}>
            <Button type="primary" onClick={this.handleSubmit}>
              {dict['main.search']}