From 01a88094eaa183714ed7490ca7b85fee1e7bb064 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期六, 20 五月 2023 23:03:41 +0800
Subject: [PATCH] 2023-05-20

---
 src/menu/components/share/normalheader/index.jsx |   54 ++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 34 insertions(+), 20 deletions(-)

diff --git a/src/menu/components/share/normalheader/index.jsx b/src/menu/components/share/normalheader/index.jsx
index adac673..acc4e22 100644
--- a/src/menu/components/share/normalheader/index.jsx
+++ b/src/menu/components/share/normalheader/index.jsx
@@ -1,7 +1,8 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
 import { is, fromJS } from 'immutable'
-import { Popover, Icon } from 'antd'
+import { Popover } from 'antd'
+import { FontColorsOutlined, SearchOutlined } from '@ant-design/icons'
 
 import asyncComponent from '@/utils/asyncComponent'
 import MKEmitter from '@/utils/events.js'
@@ -12,14 +13,13 @@
 
 class NormalHeader extends Component {
   static propTpyes = {
-    defaultshow: PropTypes.any,      // 鏍囬涓庢悳绱㈡潯浠朵笉瀛樺湪鏃堕殣钘�
     hideSearch: PropTypes.any,       // 闅愯棌鎼滅储鏉′欢
     config: PropTypes.object,        // 閰嶇疆淇℃伅
     updateComponent: PropTypes.func  // 閰嶇疆鏇存柊
   }
 
-  componentDidMount () {
-    MKEmitter.addListener('submitStyle', this.getStyle)
+  state = {
+    appType: sessionStorage.getItem('appType')
   }
 
   shouldComponentUpdate (nextProps, nextState) {
@@ -33,15 +33,14 @@
     this.setState = () => {
       return
     }
-    MKEmitter.removeListener('submitStyle', this.getStyle)
   }
 
-  getStyle = (comIds, style) => {
-    const { config } = this.props
+  getStyle = (style) => {
+    if (!style.borderBottomWidth) {
+      style.borderBottomWidth = '0px'
+    }
 
-    if (comIds[0] !== config.uuid || comIds[1] !== 'header') return
-
-    let _config = {...config, headerStyle: style}
+    let _config = {...this.props.config, headerStyle: style}
     
     this.props.updateComponent(_config)
   }
@@ -49,30 +48,45 @@
   changeStyle = () => {
     const { config } = this.props
 
-    MKEmitter.emit('changeStyle', [config.uuid, 'header'], ['font', 'border'], config.headerStyle)
+    let options = ['font', 'border', 'background', 'padding']
+
+    MKEmitter.emit('changeStyle', options, config.headerStyle, this.getStyle)
   }
 
   render() {
-    const { config, defaultshow, hideSearch } = this.props
+    const { config, hideSearch } = this.props
 
-    let title = config.plot ? config.plot.title : config.wrap.title
+    let title = ''
     let show = true
-    if (defaultshow === 'hidden') {
-      if (!title && (!config.search || config.search.length === 0)) {
-        show = false
-      }
+
+    if (config.plot) {
+      title = config.plot.title
+    } else if (config.type === 'group') {
+      title = config.setting.title || ''
+    } else if (config.wrap) {
+      title = config.wrap.title || ''
+    }
+
+    if (!title && (!config.search || config.search.length === 0 || hideSearch === 'true')) {
+      show = false
     }
     let _style = resetStyle(config.headerStyle)
 
+    let _s = {display: 'block', flex: 1}
+    if (show && ((config.wrap && config.wrap.searchable === 'true') || (hideSearch !== 'true' && config.search && config.search.length))) {
+      _s = null
+    }
+
     return (
-      <div className={'normal-header' + (!show ? ' hidden' : '')} style={_style}>
+      <div className={'normal-header' + (!show ? ' hidden' : '') + (config.wrap && config.wrap.searchable === 'true' ? ' tree-search' : '')} style={_style}>
         <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={
           <div className="mk-popover-control">
-            <Icon className="style" title="璋冩暣鏍峰紡" onClick={this.changeStyle} type="font-colors" />
+            <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={this.changeStyle}/>
           </div>
         } trigger="hover">
-          <span className="title">{title}</span>
+          <span className="title" style={_s}>{title}</span>
         </Popover>
+        {config.wrap && config.wrap.searchable === 'true' ? <span className="ant-input-search ant-input-affix-wrapper"><span className="ant-input-suffix"><SearchOutlined /></span></span> : null}
         {hideSearch !== 'true' && config.search ? <SearchComponent config={config} updatesearch={this.props.updateComponent}/> : null}
       </div>
     )

--
Gitblit v1.8.0