From af6486b3629d23e426ce85b87dbc20dfa15b1afe Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 07 十一月 2022 18:50:27 +0800
Subject: [PATCH] 2022-11-07

---
 src/menu/components/form/dragtitle/card.jsx |   51 +++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 41 insertions(+), 10 deletions(-)

diff --git a/src/menu/components/form/dragtitle/card.jsx b/src/menu/components/form/dragtitle/card.jsx
index 48e07f4..090ccd1 100644
--- a/src/menu/components/form/dragtitle/card.jsx
+++ b/src/menu/components/form/dragtitle/card.jsx
@@ -1,10 +1,17 @@
 import React from 'react'
+import { fromJS } from 'immutable'
 import { useDrag, useDrop } from 'react-dnd'
-import { Icon, Popover } from 'antd'
+import { Popover } from 'antd'
+import { CloseOutlined, EditOutlined } from '@ant-design/icons'
 
+import getForm from './options'
+import asyncIconComponent from '@/utils/asyncIconComponent'
 import './index.scss'
 
-const Card = ({ id, card, active, moveCard, findCard, editCard, closeCard, selectCard }) => {
+const NormalForm = asyncIconComponent(() => import('@/components/normalform'))
+const CopyComponent = asyncIconComponent(() => import('@/menu/components/share/copycomponent'))
+
+const Card = ({ id, card, sort, active, moveCard, findCard, closeCard, selectCard, updateGroup }) => {
   const originalIndex = findCard(id).index
   const [{ isDragging }, drag] = useDrag({
     item: { type: 'form', id, originalIndex },
@@ -26,11 +33,7 @@
       }
     }
   })
-  const opacity = isDragging ? 0 : 1
-
-  const edit = () => {
-    editCard(id)
-  }
+  const opacity = isDragging ? 0.5 : 1
 
   const close = () => {
     closeCard(id)
@@ -40,16 +43,44 @@
     selectCard(id)
   }
 
+  const getForms = () => {
+    return getForm(card)
+  }
+
+  const updateSetting = (res) => {
+    let _card = fromJS(card).toJS()
+    
+    if (res.prevEnable) {
+      _card.prevButton.enable = res.prevEnable
+      delete res.prevEnable
+    }
+    if (res.subEnable) {
+      _card.subButton.enable = res.subEnable
+      delete res.subEnable
+    }
+    if (res.nextEnable) {
+      _card.nextButton.enable = res.nextEnable
+      delete res.nextEnable
+    }
+
+    _card.setting = res
+
+    updateGroup(_card)
+  }
+
   return (
     <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={
       <div className="mk-popover-control">
-        <Icon className="edit" type="edit" onClick={edit} />
-        <Icon className="close" type="close" onClick={close} />
+        <NormalForm title="鍒嗙粍缂栬緫" width={850} update={updateSetting} getForms={getForms}>
+          <EditOutlined style={{color: '#1890ff'}} title="缂栬緫"/>
+        </NormalForm>
+        <CopyComponent type="formgroup" card={card}/>
+        <CloseOutlined className="close" type="close" onClick={close} />
       </div>
     } trigger="hover">
       <div className={'page-card ' + (active ? 'active' : '')} onClick={select} style={{ opacity: opacity}}>
         <div ref={node => drag(drop(node))}>
-          <span className="form-sort">{card.sort}</span>
+          <span className="form-sort">{sort}</span>
           {card.setting.title}
         </div>
       </div>

--
Gitblit v1.8.0