king
2021-11-18 c98e45bfac25e9110ad0383faac54a54d98ea9d5
src/menu/components/card/cardcellcomponent/dragaction/card.jsx
@@ -15,6 +15,7 @@
import './index.scss'
const BarCode = asyncComponent(() => import('@/components/barcode'))
const MkProgress = asyncComponent(() => import('./mkProgress'))
const QrCode = asyncComponent(() => import('@/components/qrcode'))
const Video = asyncComponent(() => import('@/components/video'))
const MarkColumn = asyncIconComponent(() => import('@/menu/components/share/markcomponent'))
@@ -24,7 +25,7 @@
  '10:1': '10%', '3:4': '133.33%', '2:3': '150%', '9:16': '177.78%'
}
const Card = ({ id, parent, fields, card, moveCard, findCard, editCard, delCard, copyCard, changeStyle, updateMarks, doubleClickCard }) => {
const Card = ({ id, parent, fields, card, moveCard, findCard, editCard, delCard, copyCard, changeStyle, updateMarks }) => {
  const originalIndex = findCard(id).index
  const [{ isDragging }, drag] = useDrag({
    item: { type: 'action', id, originalIndex },
@@ -77,13 +78,14 @@
      return (<Icon type={card.icon}/>)
    } else if (card.eleType === 'slider') {
      let val = card.value ? (card.value / card.maxValue) * 100 : 30
      return (
        <div className="ant-mk-slider">
          <div className="ant-mk-slider-rail"></div>
          <div className="ant-mk-slider-track" style={{width: `${val}%`, backgroundColor: card.color}}></div>
          <div className="ant-mk-slider-handle" style={{left: `${val}%`, borderColor: card.color}}></div>
        </div>
      )
      return <MkProgress value={val} config={card}/>
      // return (
      //   <div className="ant-mk-slider">
      //     <div className="ant-mk-slider-rail"></div>
      //     <div className="ant-mk-slider-track" style={{width: `${val}%`, backgroundColor: card.color}}></div>
      //     <div className="ant-mk-slider-handle" style={{left: `${val}%`, borderColor: card.color}}></div>
      //   </div>
      // )
    } else if (card.eleType === 'picture') {
      let _imagestyle = {}
@@ -141,6 +143,12 @@
          {`${card.prefix || ''}${moment().format(card.dateFormat)}${card.postfix || ''}`}
        </div>
      )
    } else if (card.eleType === 'formula') {
      return (
        <div className="ant-mk-date">
          {`${card.prefix || ''}${card.formula}${card.postfix || ''}`}
        </div>
      )
    }
  }
@@ -153,16 +161,16 @@
  return (
    <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={
      <div className="mk-popover-control">
      <div className="mk-popover-control" onDoubleClick={(e) => e.stopPropagation()}>
        <Icon className="edit" title="编辑" type="edit" onClick={() => editCard(id)} />
        <Icon className="copy" title="复制" type="copy" onClick={() => copyCard(id)} />
        <Icon className="close" title="删除" type="close" onClick={() => delCard(id)} />
        <Icon className="style" title="调整样式" onClick={() => changeStyle(id)} type="font-colors" />
        {['text', 'number', 'slider', 'sequence'].includes(card.eleType) ? <MarkColumn columns={fields} type={card.eleType} marks={card.marks} onSubmit={(vals) => updateMarks({...card, marks: vals})} /> : null }
        {['text', 'number', 'slider', 'sequence', 'formula'].includes(card.eleType) ? <MarkColumn columns={fields} type={card.eleType} marks={card.marks} onSubmit={(vals) => updateMarks({...card, marks: vals})} /> : null }
      </div>
    } trigger="hover">
      <div ref={node => drag(drop(node))} className={'ant-col card-cell ant-col-' + card.width}>
        <div style={_style} onClick={clickComponent} onDoubleClick={() => doubleClickCard(id)} id={card.uuid}>
        <div style={_style} onClick={clickComponent} id={card.uuid}>
          {getContent()}
        </div>
      </div>