king
2025-01-24 e1cee96b38805bcccf48e7bcb9d296f2bc54c720
src/menu/components/share/searchcomponent/dragsearch/card.jsx
@@ -1,6 +1,6 @@
import React from 'react'
import { useDrag, useDrop } from 'react-dnd'
import { Select, DatePicker, Input, Popover, Form, Switch, Checkbox } from 'antd'
import { Select, DatePicker, Input, Popover, Form, Switch, Checkbox, Radio } from 'antd'
import { EditOutlined, CopyOutlined, CloseOutlined } from '@ant-design/icons'
import moment from 'moment'
@@ -67,6 +67,7 @@
  }
  let formItem = null
  let type = ''
  if (card.type === 'text') {
    if (card.inputType !== 'search') {
      formItem = <Input placeholder={card.label} value={card.initval} />
@@ -104,15 +105,31 @@
      format={format}
      className="data-range"
      placeholder={['BeginTime', 'EndTime']}
      renderExtraFooter={() => 'extra footer'}
      renderExtraFooter={() => 'extra footer'}
      value={_defaultValue}
    />
  } else if (card.type === 'group') {
    formItem = <DateGroup card={card} />
  } else if (card.type === 'switch') {
    formItem = (<Switch checkedChildren={card.openText || ''} unCheckedChildren={card.closeText || ''} style={{marginTop: '8px'}} checked={card.initval === card.openVal}/>)
  } else if (card.type === 'radio') {
    let options = card.options
    if (options.length === 0) {
      options = [{Value: '1', Text: '选项1'}, {Value: '2', Text: '选项2'}]
    }
    formItem = (<Radio.Group value={card.initval} style={{lineHeight: '40px', whiteSpace: 'nowrap'}}>
      {options.map((item, i) => (<Radio key={i} value={item.Value}> {item.Text} </Radio>))}
    </Radio.Group>)
  } else if (card.type === 'check') {
    formItem = <Checkbox style={{lineHeight: '36px'}} checked={card.initval === card.openVal}>{card.checkTip || ''}</Checkbox>
    formItem = <Checkbox style={{lineHeight: '36px', whiteSpace: 'nowrap'}} checked={card.initval === card.openVal}>{card.checkTip || ''}</Checkbox>
  } else if (card.type === 'range') {
    type = 'range-wrap'
    let vals = card.initval.split(',')
    formItem = (<>
      <Input style={{marginTop: '4px'}} value={vals[0] || ''} />
      至
      <Input style={{marginTop: '4px'}} value={vals[1] || ''} />
    </>)
  }
  let labelwidth = card.labelwidth || 33.3
@@ -128,7 +145,7 @@
        <CloseOutlined className="close" title="删除" onClick={() => delCard(id)} />
      </div>
    } trigger="hover">
      <div className={'page-card ' + (card.labelShow || '')} style={{ opacity: opacity}}>
      <div className={`page-card ${type} ${card.labelShow || ''}`} style={{ opacity: opacity}}>
        <div ref={node => drag(drop(node))}>
          <Form.Item
            labelCol={{style: {width: labelwidth + '%'}}}