From 547e5fe219ee7bee309ecd67db74bc8df66b5433 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 23 八月 2023 11:47:45 +0800
Subject: [PATCH] 2023-08-23

---
 src/menu/components/card/cardcellcomponent/index.jsx |   65 ++++++++++++++++++--------------
 1 files changed, 37 insertions(+), 28 deletions(-)

diff --git a/src/menu/components/card/cardcellcomponent/index.jsx b/src/menu/components/card/cardcellcomponent/index.jsx
index e35911f..22adfb8 100644
--- a/src/menu/components/card/cardcellcomponent/index.jsx
+++ b/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)
 
@@ -736,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}
@@ -754,6 +761,7 @@
           {/* 缂栬緫鎸夐挳锛氬鍒躲�佺紪杈� */}
           <Modal
             title="缂栬緫鍏冪礌"
+            wrapClassName="mk-scroll-modal"
             visible={visible}
             width={850}
             maskClosable={false}
@@ -773,6 +781,7 @@
           {/* 缂栬緫鎸夐挳锛氬鍒躲�佺紪杈� */}
           <Modal
             title="鎸夐挳路缂栬緫"
+            wrapClassName="mk-scroll-modal"
             visible={actvisible}
             width={920}
             maskClosable={false}
@@ -785,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}

--
Gitblit v1.8.0