From a94b0a4d15b26ecf8fe99f0a1c3e60d60b97766d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 15 八月 2023 14:22:03 +0800
Subject: [PATCH] 2023-08-15

---
 src/menu/components/share/actioncomponent/index.jsx |  132 ++++++++++++++++++++++++++++++++-----------
 1 files changed, 97 insertions(+), 35 deletions(-)

diff --git a/src/menu/components/share/actioncomponent/index.jsx b/src/menu/components/share/actioncomponent/index.jsx
index ca8fa7f..fbe9e9e 100644
--- a/src/menu/components/share/actioncomponent/index.jsx
+++ b/src/menu/components/share/actioncomponent/index.jsx
@@ -2,6 +2,7 @@
 import PropTypes from 'prop-types'
 import { is, fromJS } from 'immutable'
 import { Modal, notification, Button } from 'antd'
+import moment from 'moment'
 
 import Utils, { FuncUtils } from '@/utils/utils.js'
 import { getActionForm, getBaseTableActionForm } from './formconfig'
@@ -60,7 +61,7 @@
   }
 
   componentDidMount () {
-    MKEmitter.addListener('revert', this.revert)
+    MKEmitter.addListener('revertBtn', this.revertBtn)
     MKEmitter.addListener('addButton', this.addButton)
     MKEmitter.addListener('submitModal', this.handleSave)
   }
@@ -76,12 +77,12 @@
     this.setState = () => {
       return
     }
-    MKEmitter.removeListener('revert', this.revert)
+    MKEmitter.removeListener('revertBtn', this.revertBtn)
     MKEmitter.removeListener('addButton', this.addButton)
     MKEmitter.removeListener('submitModal', this.handleSave)
   }
 
-  revert = (id) => {
+  revertBtn = (id) => {
     if (id && id !== this.props.config.uuid) return
 
     this.setState({
@@ -257,7 +258,7 @@
    */
   handleSubmit = () => {
     const { config } = this.props
-    let color = { primary: '#1890ff', yellow: '#c49f47', orange: 'orange', danger: '#ff4d4f', green: '#26C281', dgreen: '#32c5d2', purple: '#8E44AD', cyan: '#13c2c2', gray: '#666666', default: 'rgba(0, 0, 0, 0.65)' }
+    let color = { primary: '#1890ff', yellow: '#c49f47', orange: 'orange', danger: '#ff4d4f', green: '#26C281', dgreen: '#32c5d2', purple: '#8E44AD', cyan: '#13c2c2', gray: '#E7E7EF', default: 'rgba(0, 0, 0, 0.65)' }
     let _actionlist = fromJS(this.state.actionlist).toJS()
     
     this.actionFormRef.handleConfirm().then(btn => {
@@ -266,6 +267,12 @@
       if ((btn.OpenType === 'excelIn' || btn.OpenType === 'excelOut') && (!btn.verify || !btn.verify.columns) && (config.subtype === 'basetable' || config.subtype === 'normaltable')) {
         let columns = []
         let maps = []
+        let labels = {}
+        if (config.subtype === 'normaltable') {
+          config.columns.forEach(col => {
+            labels[col.field] = col.label
+          })
+        }
 
         if (btn.OpenType === 'excelOut') {
           let pushcol = (item) => {
@@ -289,16 +296,27 @@
           }
 
           config.cols.forEach(item => {
-            if (item.type === 'colspan' && config.subtype === 'normaltable') {
-              item.subcols.forEach(cell => {
-                if (!cell.field || cell.Hide === 'true' || maps.includes(cell.field)) return
-                maps.push(cell.field)
+            if (item.Hide === 'true') return
 
-                pushcol(cell)
-              })
+            if (config.subtype === 'normaltable') {
+              if (item.type === 'colspan') {
+                item.subcols.forEach(cell => {
+                  if (!cell.field || cell.Hide === 'true' || maps.includes(cell.field)) return
+                  maps.push(cell.field)
+  
+                  pushcol(cell)
+                })
+              } else if (item.type === 'custom') {
+                item.elements.forEach(cell => {
+                  if (!cell.field || maps.includes(cell.field)) return
+                  maps.push(cell.field)
+  
+                  pushcol({...cell, label: labels[cell.field]})
+                })
+              }
             }
 
-            if (!item.field || item.Hide === 'true' || maps.includes(item.field)) return
+            if (!item.field || maps.includes(item.field)) return
             maps.push(item.field)
   
             pushcol(item)
@@ -337,16 +355,27 @@
           }
 
           config.cols.forEach(item => {
-            if (item.type === 'colspan' && config.subtype === 'normaltable') {
-              item.subcols.forEach(cell => {
-                if (!cell.field || cell.Hide === 'true' || maps.includes(cell.field)) return
-                maps.push(cell.field)
+            if (item.Hide === 'true') return
 
-                pushcol(cell)
-              })
+            if (config.subtype === 'normaltable') {
+              if (item.type === 'colspan') {
+                item.subcols.forEach(cell => {
+                  if (!cell.field || cell.Hide === 'true' || maps.includes(cell.field)) return
+                  maps.push(cell.field)
+  
+                  pushcol(cell)
+                })
+              } else if (item.type === 'custom') {
+                item.elements.forEach(cell => {
+                  if (!cell.field || maps.includes(cell.field)) return
+                  maps.push(cell.field)
+  
+                  pushcol({...cell, label: labels[cell.field]})
+                })
+              }
             }
 
-            if (!item.field || item.Hide === 'true' || maps.includes(item.field)) return
+            if (!item.field || maps.includes(item.field)) return
             maps.push(item.field)
   
             pushcol(item)
@@ -370,30 +399,43 @@
               btn.style = {color: 'rgba(0, 0, 0, 0.65)', backgroundColor: '#fff', borderColor: '#d9d9d9', marginRight: '15px'}
             } else if (btn.class.indexOf('border') > -1) {
               btn.style = {color: color[_c], backgroundColor: '#fff', borderColor: color[_c], marginRight: '15px'}
+            } else if (btn.class === 'gray') {
+              btn.style = {color: 'rgba(0, 0, 0, 0.65)', backgroundColor: color[_c], borderColor: color[_c], marginRight: '15px'}
             } else {
               btn.style = {color: '#fff', backgroundColor: color[_c], borderColor: color[_c], marginRight: '15px'}
             }
           } else {
             btn.style = item.style || {}
-            if (btn.class !== item.class || btn.show !== item.show || !btn.style.color || item.focus) {
-              if (btn.show === 'icon') {
-                btn.style.color = color[btn.class]
-                btn.style.backgroundColor = 'transparent'
-              } else if (btn.class === 'default') {
-                btn.style.color = 'rgba(0, 0, 0, 0.65)'
-                btn.style.backgroundColor = '#fff'
-                btn.style.borderColor = '#d9d9d9'
-              } else if (btn.class.indexOf('border') > -1) {
-                let _c = btn.class.replace('border-', '')
-                btn.style.color = color[_c]
-                btn.style.backgroundColor = '#fff'
-                btn.style.borderColor = color[_c]
-              } else {
-                btn.style.color = '#ffffff'
-                btn.style.backgroundColor = color[btn.class]
+            if (btn.class) {
+              if (btn.class !== item.class || btn.show !== item.show || !btn.style.color || (item.focus && !btn.style.color)) {
+                if (btn.show === 'icon') {
+                  btn.style.color = color[btn.class]
+                  btn.style.backgroundColor = 'transparent'
+                } else if (btn.class === 'default') {
+                  btn.style.color = 'rgba(0, 0, 0, 0.65)'
+                  btn.style.backgroundColor = '#fff'
+                  btn.style.borderColor = '#d9d9d9'
+                } else if (btn.class.indexOf('border') > -1) {
+                  let _c = btn.class.replace('border-', '')
+                  btn.style.color = color[_c]
+                  btn.style.backgroundColor = '#fff'
+                  btn.style.borderColor = color[_c]
+                } else if (btn.class === 'gray') {
+                  btn.style.color = 'rgba(0, 0, 0, 0.65)'
+                  btn.style.backgroundColor = color[btn.class]
+                  btn.style.borderColor = color[btn.class]
+                } else {
+                  btn.style.color = '#ffffff'
+                  btn.style.backgroundColor = color[btn.class]
+                  btn.style.borderColor = color[btn.class]
+                }
               }
+            } else if (btn.color) {
+              btn.style = {}
             }
           }
+
+          btn.updateTime = moment().format('YYYY-MM-DD HH:mm')
           return btn
         } else {
           return item
@@ -466,6 +508,7 @@
       _actionlist = _actionlist.map(item => {
         if (item.uuid === card.uuid) {
           item.verify = res
+          item.updateTime = moment().format('YYYY-MM-DD HH:mm')
         }
   
         return item
@@ -560,7 +603,7 @@
     let _col = null
     if (config.type === 'table') {
       config.cols.forEach(col => {
-        if (col.type !== 'action') return
+        if (col.type !== 'custom') return
 
         col.elements = col.elements.filter(item => {
           if (item.uuid === id) {
@@ -569,6 +612,24 @@
           }
           return item.uuid !== id
         })
+      })
+    } else if (config.type === 'card' && config.subcards) {
+      config.subcards.forEach(scard => {
+        scard.elements = scard.elements.filter(item => {
+          if (item.uuid === id) {
+            btn = item
+            _col = scard
+          }
+          return item.uuid !== id
+        })
+        scard.backElements = scard.backElements.filter(item => {
+          if (item.uuid === id) {
+            btn = item
+            _col = scard
+          }
+          return item.uuid !== id
+        })
+        return scard
       })
     }
 
@@ -644,6 +705,7 @@
         {/* 缂栬緫鎸夐挳锛氬鍒躲�佺紪杈� */}
         <Modal
           title="鎸夐挳路缂栬緫"
+          wrapClassName="mk-scroll-modal"
           visible={visible}
           width={920}
           maskClosable={false}

--
Gitblit v1.8.0