From 7b01bec1609710729a868093ad69484ebea82d80 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 20 十月 2020 10:16:26 +0800
Subject: [PATCH] 2020-10-20

---
 src/templates/modalconfig/dragelement/card.jsx |   26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/src/templates/modalconfig/dragelement/card.jsx b/src/templates/modalconfig/dragelement/card.jsx
index 9fb9bb1..8d78aab 100644
--- a/src/templates/modalconfig/dragelement/card.jsx
+++ b/src/templates/modalconfig/dragelement/card.jsx
@@ -2,12 +2,14 @@
 import { useDrag, useDrop } from 'react-dnd'
 import { Icon, Select, DatePicker, Input, InputNumber, Button, Popover, Switch, Radio, Checkbox } from 'antd'
 import moment from 'moment'
+
+import CheckCard from '../checkCard'
 import './index.scss'
 
 const { MonthPicker } = DatePicker
 const { TextArea } = Input
 
-const Card = ({ id, card, cols, moveCard, findCard, editCard, closeCard, copyCard, hasDrop }) => {
+const Card = ({ id, card, cols, moveCard, findCard, editCard, closeCard, copyCard }) => {
   const originalIndex = findCard(id).index
   const [{ isDragging }, drag] = useDrag({
     item: { type: 'form', id, originalIndex },
@@ -18,9 +20,11 @@
   const [, drop] = useDrop({
     accept: 'form',
     canDrop: () => true,
-    drop: ({ id: draggedId, originalIndex }) => {
+    drop: (item) => {
+      const { id: draggedId, originalIndex } = item
+
       if (originalIndex === undefined) {
-        hasDrop(card)
+        item.dropTargetId = id
       } else if (draggedId) {
         if (draggedId !== id) {
           const { index: overIndex } = findCard(id)
@@ -58,7 +62,13 @@
   }
   let labelCol = 'ant-col-sm-8'
   let wrapCol = 'ant-col-sm-16'
-  if (card.type === 'textarea') {
+  let isEntireLine = false
+
+  if (card.entireLine === 'true' || ['textarea', 'hint', 'checkcard'].includes(card.type)) {
+    isEntireLine = true
+  }
+
+  if (isEntireLine) {
     if (cols === '2') {
       labelCol = 'ant-col-sm-4'
       wrapCol = 'ant-col-sm-20'
@@ -108,6 +118,10 @@
       <Checkbox value="C">C</Checkbox>
       <Checkbox value="D">D</Checkbox>
     </Checkbox.Group>)
+  } else if (card.type === 'hint') {
+    formItem = <div style={{marginTop: '10px', color: 'rgba(0, 0, 0, 0.85)'}}>{card.message}</div>
+  } else if (card.type === 'checkcard') {
+    formItem = <CheckCard width={card.width} ratio={card.ratio} display={card.display} fields={card.fields} options={card.options} />
   }
 
   return (
@@ -122,7 +136,9 @@
         <div ref={node => drag(drop(node))}>
           {<div className="ant-row ant-form-item">
             <div className={'ant-col ant-form-item-label ant-col-xs-24 ' + labelCol}>
-              <label title={card.label}>{card.label}</label>
+              {card.label ? <label className={card.required === 'true' ? 'required' : ''}>{card.tooltip ? 
+                <Icon type="question-circle" /> : null}
+                {card.label}</label> : null}
             </div>
             <div className={'ant-col ant-form-item-control-wrapper ant-col-xs-24 ' + wrapCol}>
               {formItem}

--
Gitblit v1.8.0