king
2023-08-04 051981a2211bb86f88a6d68f2e29816f8caeac20
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 } from 'antd'
import { Select, DatePicker, Input, Popover, Form, Switch, Checkbox } from 'antd'
import { EditOutlined, CopyOutlined, CloseOutlined } from '@ant-design/icons'
import moment from 'moment'
@@ -21,14 +21,20 @@
  const [, drop] = useDrop({
    accept: 'search',
    canDrop: () => true,
    drop: ({ id: draggedId }) => {
      if (!draggedId || draggedId === id) return
      const { index: originIndex } = findCard(draggedId)
      if (originIndex === -1) return
      const { index: overIndex } = findCard(id)
      moveCard(draggedId, overIndex)
    drop: (item) => {
      const { id: draggedId, originalIndex } = item
      if (originalIndex === undefined) {
        item.dropTargetId = id
      } else {
        if (!draggedId || draggedId === id) return
        const { index: originIndex } = findCard(draggedId)
        if (originIndex === -1) return
        const { index: overIndex } = findCard(id)
        moveCard(draggedId, overIndex)
      }
    }
  })
  const opacity = isDragging ? 0.5 : 1
@@ -48,6 +54,8 @@
      _defaultValue = [moment().startOf('week'), moment().endOf('week')]
    } else if (card.initval === 'month') {
      _defaultValue = [moment().startOf('month'), moment().endOf('month')]
    } else if (card.initval === 'lastMonth') {
      _defaultValue = [moment().subtract(1, 'months').startOf('month'), moment().subtract(1, 'months').endOf('month')]
    } else if (card.initval) {
      try {
        let _initval = JSON.parse(card.initval)
@@ -101,6 +109,10 @@
    />
  } 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 === 'check') {
    formItem = <Checkbox style={{lineHeight: '36px'}} checked={card.initval === card.openVal}>{card.checkTip || ''}</Checkbox>
  }
  let labelwidth = card.labelwidth || 33.3