From 0241c017b8a1536d26173a052d4c305423c37809 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com> Date: Wed, 24 Apr 2024 10:42:04 +0800 Subject: [PATCH] =?UTF-8?q?hotfix/2.12.1.2404.02=20=E6=9B=B4=E5=A4=9A?= =?UTF-8?q?=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hrmSalary/components/moreBtnMenu/index.js | 62 +++++++++++++ .../components/moreBtnMenu/index.less | 86 +++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 pc4mobx/hrmSalary/components/moreBtnMenu/index.js create mode 100644 pc4mobx/hrmSalary/components/moreBtnMenu/index.less diff --git a/pc4mobx/hrmSalary/components/moreBtnMenu/index.js b/pc4mobx/hrmSalary/components/moreBtnMenu/index.js new file mode 100644 index 00000000..003705c9 --- /dev/null +++ b/pc4mobx/hrmSalary/components/moreBtnMenu/index.js @@ -0,0 +1,62 @@ +/* + * Author: 黎永顺 + * name: 更多菜单列表 + * Description: + * Date: 2023/12/28 + */ +import React, { Component } from "react"; +import { WeaLocaleProvider } from "ecCom"; +import { Menu } from "antd"; +import "./index.less"; + +const getLabel = WeaLocaleProvider.getLabel; + +class Index extends Component { + constructor(props) { + super(props); + this.state = { + showDrop: false + }; + } + + render() { + const { showDrop } = this.state; + const { dropMenuDatas } = this.props; + const menu = dropMenuDatas ? + { + dropMenuDatas.forEach(d => d.key === o.key && typeof d.onClick === "function" && d.onClick(o.key)); + }}> + { + dropMenuDatas && dropMenuDatas.map((d, i) => { + return ( + + {d.icon} + {d.content} + + ); + })} + : ""; + return ( +
+ { + !_.isEmpty(dropMenuDatas) && + this.setState({ showDrop: true })}> + + + } +
this.setState({ showDrop: false })} + style={{ display: showDrop ? "block" : "none" }}> + this.setState({ showDrop: false })}> + + +
+ {menu} +
+
+ ); + } +} + +export default Index; diff --git a/pc4mobx/hrmSalary/components/moreBtnMenu/index.less b/pc4mobx/hrmSalary/components/moreBtnMenu/index.less new file mode 100644 index 00000000..9954df06 --- /dev/null +++ b/pc4mobx/hrmSalary/components/moreBtnMenu/index.less @@ -0,0 +1,86 @@ +.more-btn-menu-wrapper { + position: relative; + + .more-btn { + display: inline-block; + padding-left: 20px; + line-height: 40px; + vertical-align: middle; + cursor: pointer; + + .more-btn-icon { + font-size: 16px; + color: #484848; + cursor: pointer; + } + } + + .more-btn-menu { + max-width: 200px; + position: absolute; + right: -14px; + top: 45px; + border: 1px solid #dadada; + -webkit-box-shadow: 0 0 2px #dadada; + box-shadow: 0 0 2px #dadada; + z-index: 99; + -webkit-box-sizing: border-box; + box-sizing: border-box; + background: #FFF; + + .more-btn { + display: block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + height: 44px; + line-height: 35px; + position: absolute; + right: -1px; + top: -44px; + padding: 0 13px; + border: 1px solid #dadada; + border-bottom: 0; + -webkit-box-shadow: 0 -1px 2px -1px #dadada; + box-shadow: 0 -1px 2px -1px #dadada; + background-color: #fff; + } + + .more-btn-menu-icon-background { + width: 36px; + height: 100%; + background-color: #f2f5f7; + border: 1px solid #dadada; + border-right: 0; + position: absolute; + top: -1px; + left: -1px; + z-index: 0; + -webkit-box-sizing: content-box; + box-sizing: content-box; + } + + .ant-menu { + margin: 10px 0; + border: 0; + text-align: left; + min-width: 120px; + + .ant-menu-item { + height: 30px; + line-height: 30px; + padding: 0 5px 0 0; + overflow: hidden; + white-space: nowrap; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + + .menu-icon { + display: inline-block; + width: 36px; + margin-right: 6px; + text-align: center; + } + } + } + } +}