king
2023-08-23 547e5fe219ee7bee309ecd67db74bc8df66b5433
src/menu/components/card/cardcellcomponent/index.jsx
@@ -2,11 +2,11 @@
import PropTypes from 'prop-types'
import { is, fromJS } from 'immutable'
import { Modal, Button } from 'antd'
import moment from 'moment'
import asyncComponent from '@/utils/asyncComponent'
import { getCardCellForm } from './formconfig'
import { getActionForm, getBaseTableActionForm } from '@/menu/components/share/actioncomponent/formconfig'
import Utils, { FuncUtils } from '@/utils/utils.js'
import MKEmitter from '@/utils/events.js'
import MenuUtils from '@/utils/utils-custom.js'
@@ -75,7 +75,7 @@
  }
  UNSAFE_componentWillReceiveProps(nextProps) {
    if (this.props.side !== nextProps.side) {
    if (this.props.side !== nextProps.side && nextProps.side) {
      this.setState({
        elements: fromJS(nextProps.elements).toJS()
      })
@@ -159,6 +159,8 @@
      options = ['background', 'border', 'margin']
    } else if (element.eleType === 'color') {
      options = ['border', 'margin', 'padding']
    } else if (element.eleType === 'number' || element.eleType === 'icon') {
      options.push('display')
    } else if (element.eleType === 'text') {
      options[0] = 'font2'
      options.push('display')
@@ -166,6 +168,10 @@
      options = ['padding', 'margin']
    } else if (element.eleType === 'splitline') {
      options = ['padding', 'margin']
    }
    if (element.eleType !== 'button') {
      options.push('position')
    }
    options.push('clear')
@@ -179,12 +185,6 @@
  getStyle = (style) => {
    const { card, elements } = this.state
    // if (card.eleType === 'button') {
    //   if ((style.paddingLeft || style.paddingRight) && !style.width) {
    //     style.width = 'auto'
    //   }
    // }
    let _card = this.resetCardStyle(card, style)
@@ -207,7 +207,7 @@
      _card.style = style
      let line = _card.height || null
      if (['currentDate', 'sequence', 'icon'].includes(_card.eleType)) {
      if (['currentDate', 'sequence'].includes(_card.eleType) || (_card.eleType === 'icon' && _card.tipType !== 'text')) {
        line = 1
      }
@@ -283,7 +283,7 @@
   * @description 按钮编辑,获取按钮表单信息
   */
  handleAction = (card) => {
    const { cards } = this.props
    const { cards, side } = this.props
    let usefulFields = sessionStorage.getItem('permFuncField')
    if (usefulFields) {
@@ -322,11 +322,11 @@
      })
    } else {
      let anchors = MenuUtils.getAnchors(window.GLOB.customMenu.components, cards.uuid) || []
      this.setState({
        actvisible: true,
        card: card,
        formlist: getActionForm(card, functip, cards, usefulFields, modules, anchors)
        formlist: getActionForm(card, functip, cards, usefulFields, modules, anchors, side)
      })
    }
  }
@@ -361,11 +361,18 @@
    const { elements } = this.state
    this.elementFormRef.handleConfirm().then(res => {
      if (res.width % 0.5) {
        res.width = parseInt(res.width / 0.5) * 0.5
      }
      if (res.width % 1) {
        res.width = (res.width + '').replace(/.5/, 'x')
      }
      let _elements = elements.map(cell => {
        if (cell.uuid === res.uuid) {
          res.style = cell.style || {}
          if (res.eleType !== 'text') {
          if (!['text', 'number', 'icon'].includes(res.eleType)) {
            delete res.style.display
          }
          
@@ -375,7 +382,7 @@
          } else if (['text', 'number', 'formula', 'currentDate', 'sequence', 'icon'].includes(res.eleType)) {
            let line = res.height || null
            if (['currentDate', 'sequence', 'icon'].includes(res.eleType)) {
            if (['currentDate', 'sequence'].includes(res.eleType) || (res.eleType === 'icon' && res.tipType !== 'text')) {
              line = 1
            }
@@ -436,17 +443,7 @@
        if (cell.uuid === res.uuid) {
          res.eleType = cell.eleType || null
          res.style = cell.style || null
          // res.modal = cell.modal || null
          // res.config = cell.config || null
          res.wrapStyle = cell.wrapStyle || null
          // res = {...cell, ...res}
          // if (!res.control) {
          //   delete res.controlField
          //   delete res.controlVal
          // }
          // delete res.focus
          if (res.OpenType === 'form') {
            if (cell.OpenType !== 'form') {
@@ -458,12 +455,22 @@
            if (res.show === 'link' || res.show === 'icon') {
              style.color = color[cl]
              style.backgroundColor = 'transparent'
            } else if (res.class === 'default') {
              style.color = 'rgba(0, 0, 0, 0.65)'
              style.backgroundColor = '#fff'
              style.borderColor = '#d9d9d9'
            } else if (res.class.indexOf('border') > -1) {
              style.color = color[cl]
              style.backgroundColor = '#fff'
              style.borderColor = color[cl]
            } else {
              style.color = '#ffffff'
              style.backgroundColor = color[cl]
            }
            res.style = {...res.style, ...style}
          }
          res.updateTime = moment().format('YYYY-MM-DD HH:mm')
          return res
        }
@@ -521,6 +528,7 @@
      let _elements = elements.map(cell => {
        if (cell.uuid === card.uuid) {
          cell.verify = res
          cell.updateTime = moment().format('YYYY-MM-DD HH:mm')
        }
        return cell
@@ -609,10 +617,9 @@
  }
  dropButton = (id) => {
    const { cards, cardCell } = this.props
    const { cards } = this.props
    if (!cards.action) return
    if (cardCell.type === 'custom') return
    let index = cards.action.findIndex(item => item.uuid === id)
@@ -706,6 +713,7 @@
      return <VerifyCard
        card={card}
        config={cards}
        side={side || ''}
        columns={side === 'sub' ? cards.subColumns : cards.columns}
        wrappedComponentRef={(inst) => this.verifyRef = inst}
      />
@@ -735,7 +743,7 @@
    const { elements, visible, actvisible, profVisible, card, record } = this.state
    return (
      <div className="model-menu-card-cell-list">
      <div className={'model-menu-card-cell-list ' + (cardCell && cardCell.setting && cardCell.setting.layout === 'flex' ? 'mk-flex' : '') }>
        <DragElement
          list={elements}
          parent={cardCell}
@@ -753,6 +761,7 @@
          {/* 编辑按钮:复制、编辑 */}
          <Modal
            title="编辑元素"
            wrapClassName="mk-scroll-modal"
            visible={visible}
            width={850}
            maskClosable={false}
@@ -772,6 +781,7 @@
          {/* 编辑按钮:复制、编辑 */}
          <Modal
            title="按钮·编辑"
            wrapClassName="mk-scroll-modal"
            visible={actvisible}
            width={920}
            maskClosable={false}
@@ -784,7 +794,7 @@
            destroyOnClose
          >
            <ActionForm
              type={cards.type === 'balcony' ? '' : 'card'}
              type={cards.type === 'balcony' || cardCell.$cardType === 'extendCard' ? '' : 'card'}
              card={card}
              formlist={this.state.formlist}
              inputSubmit={this.handleActionSubmit}