From f9f60bb0dd17a764ba03faa8041f5b6e9e071553 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期六, 18 一月 2025 23:37:44 +0800 Subject: [PATCH] 2025-01-18 --- src/mob/components/formdragelement/index.jsx | 52 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 41 insertions(+), 11 deletions(-) diff --git a/src/mob/components/formdragelement/index.jsx b/src/mob/components/formdragelement/index.jsx index 38485bc..794fa72 100644 --- a/src/mob/components/formdragelement/index.jsx +++ b/src/mob/components/formdragelement/index.jsx @@ -1,6 +1,7 @@ import React, { useState } from 'react' import { useDrop } from 'react-dnd' import { is, fromJS } from 'immutable' +import { Col } from 'antd' import update from 'immutability-helper' import Utils from '@/utils/utils.js' import Card from './card' @@ -41,6 +42,14 @@ closeForm(card) } + const setStyle = (style, id) => { + const { card, index } = findCard(id) + + const _cards = update(cards, { $splice: [[index, 1, {...card, style}]] }) + + handleList(_cards) + } + const copyCard = id => { const { card, index: overIndex } = findCard(id) @@ -52,6 +61,8 @@ let oInput = document.createElement('input') let val = JSON.parse(JSON.stringify(_card)) val.copyType = 'form' + + _card.$copy = true oInput.value = window.btoa(window.encodeURIComponent(JSON.stringify(val))) document.body.appendChild(oInput) @@ -83,7 +94,15 @@ newcard.options = [] newcard.readonly = 'false' newcard.required = 'true' + newcard.span = 24 newcard.focus = true + + if (item.subType === 'linkMain') { + newcard.hidden = 'true' + newcard.verifyVal = 'true' + } else if (item.subType === 'textarea') { + newcard.required = 'false' + } let targetId = '' @@ -111,20 +130,31 @@ style.paddingRight = setting.paddingRight } + if (setting.display === 'drawer' && (setting.placement === 'top' || setting.placement === 'bottom') && setting.width !== 100) { + style.minHeight = 'auto' + } + return ( <div ref={drop} className="ant-row modal-fields-row mob-form" style={style}> {cards.map(card => { - return <Card - id={card.uuid} - key={card.uuid} - card={card} - showField={showField} - moveCard={moveCard} - editCard={editCard} - closeCard={closeCard} - copyCard={copyCard} - findCard={findCard} - /> + let span = card.span || 24 + if (![24, 12, 8, 6].includes(span)) { + span = 24 + } + return <Col key={card.uuid} span={span}> + <Card + id={card.uuid} + key={card.uuid} + card={card} + showField={showField} + moveCard={moveCard} + editCard={editCard} + setStyle={setStyle} + closeCard={closeCard} + copyCard={copyCard} + findCard={findCard} + /> + </Col> })} </div> ) -- Gitblit v1.8.0