Merge branch 'master' into feature/2.9.42310.01-薪资项目拓扑图
# Conflicts: # src/pages/atdTable/components/index.less # src/pages/calcTable/calcExplainFooter.tsx
This commit is contained in:
commit
e7f1958694
|
|
@ -53,397 +53,400 @@
|
|||
}
|
||||
|
||||
:global {
|
||||
span.anticon {
|
||||
span.anticon-lock, span.anticon-question-circle {
|
||||
color: #5d9cec;
|
||||
|
||||
span.anticon {
|
||||
color: #5d9cec;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.titleWrapper:hover {
|
||||
& > span.titleIcon {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.optWrapper {
|
||||
.mr10 {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.customSpan {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
|
||||
span.title {
|
||||
flex: 1;
|
||||
margin-right: 4px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
:global {
|
||||
.ant-tag {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.feedbackBg {
|
||||
background: #FF0;
|
||||
}
|
||||
|
||||
.danger {
|
||||
font-size: var(--data-size);
|
||||
color: rgb(217, 0, 27)
|
||||
}
|
||||
|
||||
.expand-th:hover {
|
||||
.toogle-lock-tool {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
|
||||
th.td_odd {
|
||||
background: #fffaf0 !important;
|
||||
}
|
||||
|
||||
.expand-th {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
.title-text {
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
span.anticon-lock {
|
||||
margin-left: 4px;
|
||||
.toogle-lock-tool {
|
||||
display: none;
|
||||
overflow: hidden;
|
||||
height: 100%;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
& > :not(:last-child) {
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
:global {
|
||||
.anticon {
|
||||
color: #5d9cec;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.titleWrapper:hover {
|
||||
& > span.titleIcon {
|
||||
display: block;
|
||||
.explain-icon-area {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
|
||||
.icon-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-right: 12px;
|
||||
color: #5d9cec;
|
||||
font-size: var(--data-size);
|
||||
|
||||
:global {
|
||||
.anticon {
|
||||
font-size: var(--data-size);
|
||||
margin-right: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.optWrapper {
|
||||
.mr10 {
|
||||
margin-right: 10px;
|
||||
.comparison-column-item-container {
|
||||
cursor: pointer;
|
||||
|
||||
.comparison-single-row {
|
||||
margin: 4px 0;
|
||||
}
|
||||
|
||||
.danger {
|
||||
color: #ff4d4f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.customSpan {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
|
||||
span.title {
|
||||
flex: 1;
|
||||
margin-right: 4px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
tr:hover .editable-cell {
|
||||
padding: 4px 11px;
|
||||
border: 1px solid #d9d9d9;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
:global {
|
||||
.ant-tag {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.danger {
|
||||
font-size: var(--data-size);
|
||||
color: rgb(217, 0, 27)
|
||||
}
|
||||
|
||||
.expand-th:hover {
|
||||
.toogle-lock-tool {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
|
||||
th.td_odd {
|
||||
background: #fffaf0 !important;
|
||||
}
|
||||
|
||||
.expand-th {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
.title-text {
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.toogle-lock-tool {
|
||||
display: none;
|
||||
overflow: hidden;
|
||||
height: 100%;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
& > :not(:last-child) {
|
||||
margin-right: 4px;
|
||||
.ant-btn-link {
|
||||
height: inherit !important;
|
||||
}
|
||||
|
||||
:global {
|
||||
.anticon {
|
||||
color: #5d9cec;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.explain-icon-area {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
|
||||
.icon-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-right: 12px;
|
||||
color: #5d9cec;
|
||||
font-size: var(--data-size);
|
||||
|
||||
:global {
|
||||
.anticon {
|
||||
font-size: var(--data-size);
|
||||
margin-right: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.comparison-column-item-container {
|
||||
cursor: pointer;
|
||||
|
||||
.comparison-single-row {
|
||||
margin: 4px 0;
|
||||
}
|
||||
|
||||
.danger {
|
||||
color: #ff4d4f;
|
||||
}
|
||||
}
|
||||
|
||||
tr:hover .editable-cell {
|
||||
padding: 4px 11px;
|
||||
border: 1px solid #d9d9d9;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
:global {
|
||||
.ant-btn-link {
|
||||
height: inherit !important;
|
||||
}
|
||||
|
||||
.ant-btn-link, .ant-dropdown-trigger {
|
||||
padding: 0;
|
||||
font-size: var(--data-size);
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ant-btn-link:hover {
|
||||
color: #00a9ff;
|
||||
|
||||
span {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-table-tbody > tr.ant-table-row:hover > td {
|
||||
background: #e9f7ff;
|
||||
}
|
||||
|
||||
.anticon-more {
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ant-spin-container {
|
||||
.ant-pagination {
|
||||
.ant-btn-link, .ant-dropdown-trigger {
|
||||
padding: 0;
|
||||
font-size: var(--data-size);
|
||||
align-items: center;
|
||||
margin-right: 8px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ant-pagination-item, .ant-pagination-prev, .ant-pagination-next {
|
||||
min-width: 28px;
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
border-radius: 6px;
|
||||
.ant-btn-link:hover {
|
||||
color: #00a9ff;
|
||||
|
||||
& > button {
|
||||
border-radius: 6px;
|
||||
}
|
||||
span {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-pagination-item-active {
|
||||
background: var(--ant-primary-color);
|
||||
border: none;
|
||||
.ant-table-tbody > tr.ant-table-row:hover > td {
|
||||
background: #e9f7ff;
|
||||
}
|
||||
|
||||
& > a {
|
||||
color: #FFF;
|
||||
}
|
||||
}
|
||||
.anticon-more {
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.ant-pagination-options {
|
||||
.ant-select {
|
||||
font-size: var(--data-size);
|
||||
.ant-spin-container {
|
||||
.ant-pagination {
|
||||
font-size: var(--data-size);
|
||||
align-items: center;
|
||||
margin-right: 8px;
|
||||
|
||||
.ant-select-selector {
|
||||
height: 28px;
|
||||
border-radius: 6px;
|
||||
|
||||
.ant-select-selection-search-input {
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
}
|
||||
|
||||
.ant-select-selection-item {
|
||||
line-height: 26px;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-select-item {
|
||||
font-size: var(--data-size);
|
||||
}
|
||||
}
|
||||
|
||||
.ant-pagination-options-quick-jumper {
|
||||
.ant-pagination-item, .ant-pagination-prev, .ant-pagination-next {
|
||||
min-width: 28px;
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
border-radius: 6px;
|
||||
|
||||
& > input {
|
||||
& > button {
|
||||
border-radius: 6px;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-pagination-item-active {
|
||||
background: var(--ant-primary-color);
|
||||
border: none;
|
||||
|
||||
& > a {
|
||||
color: #FFF;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-pagination-options {
|
||||
.ant-select {
|
||||
font-size: var(--data-size);
|
||||
|
||||
.ant-select-selector {
|
||||
height: 28px;
|
||||
border-radius: 6px;
|
||||
|
||||
.ant-select-selection-search-input {
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
}
|
||||
|
||||
.ant-select-selection-item {
|
||||
line-height: 26px;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-select-item {
|
||||
font-size: var(--data-size);
|
||||
}
|
||||
}
|
||||
|
||||
.ant-pagination-options-quick-jumper {
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
|
||||
& > input {
|
||||
border-radius: 6px;
|
||||
height: 28px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ant-table-thead > tr > th {
|
||||
background-color: #f7fbfe;
|
||||
}
|
||||
.ant-table-thead > tr > th {
|
||||
background-color: #f7fbfe;
|
||||
}
|
||||
|
||||
th, td {
|
||||
font-size: var(--data-size);
|
||||
th, td {
|
||||
font-size: var(--data-size);
|
||||
|
||||
.ant-form-item {
|
||||
margin-bottom: 0;
|
||||
.ant-form-item {
|
||||
margin-bottom: 0;
|
||||
|
||||
.ant-input-number {
|
||||
width: 100%;
|
||||
.ant-input-number {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ant-typography {
|
||||
margin-bottom: 0 !important;
|
||||
font-size: var(--data-size) !important;
|
||||
}
|
||||
.ant-typography {
|
||||
margin-bottom: 0 !important;
|
||||
font-size: var(--data-size) !important;
|
||||
}
|
||||
|
||||
.ant-checkbox-inner {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
}
|
||||
.ant-checkbox-inner {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
}
|
||||
|
||||
.ant-table-header {
|
||||
.ant-checkbox-checked {
|
||||
.ant-checkbox-inner:after {
|
||||
width: 5px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-table-header {
|
||||
.ant-checkbox-checked {
|
||||
.ant-checkbox-inner:after {
|
||||
width: 5px !important;
|
||||
width: 8px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-checkbox-inner:after {
|
||||
width: 8px !important;
|
||||
width: 5px;
|
||||
height: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-checkbox-inner:after {
|
||||
width: 5px;
|
||||
height: 8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.moreIconWrapper {
|
||||
:global {
|
||||
.ant-btn-link {
|
||||
font-size: var(--data-size);
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ant-btn-link:hover {
|
||||
color: #00a9ff;
|
||||
|
||||
span {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-dropdown-menu-title-content {
|
||||
a {
|
||||
.moreIconWrapper {
|
||||
:global {
|
||||
.ant-btn-link {
|
||||
font-size: var(--data-size);
|
||||
color: #333;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
.ant-btn-link:hover {
|
||||
color: #00a9ff;
|
||||
text-decoration: underline;
|
||||
|
||||
span {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-dropdown-menu-title-content {
|
||||
a {
|
||||
font-size: var(--data-size);
|
||||
color: #333;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #00a9ff;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-popover-inner {
|
||||
min-width: 106px
|
||||
}
|
||||
|
||||
.ant-popover-inner-content {
|
||||
padding: 0;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.ant-popover-inner {
|
||||
min-width: 106px
|
||||
}
|
||||
|
||||
.ant-popover-inner-content {
|
||||
padding: 0;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
:global {
|
||||
.ant-dropdown-placement-bottomRight {
|
||||
.ant-dropdown-menu {
|
||||
max-height: inherit !important;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-dropdown-menu-item {
|
||||
font-size: var(--data-size);
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.rankMapWrapper {
|
||||
.ant-table-thead > tr > th {
|
||||
background: #ED7D31;
|
||||
}
|
||||
}
|
||||
|
||||
.bg_1_Cols {
|
||||
background: #ED7D31 !important;
|
||||
}
|
||||
|
||||
th.bg_1_Cols {
|
||||
height: 48px;
|
||||
line-height: 48px;
|
||||
}
|
||||
|
||||
.bg_2_Cols {
|
||||
background: #DEE0E3 !important;
|
||||
}
|
||||
}
|
||||
|
||||
//自适应表格样式
|
||||
.resizeTable {
|
||||
width: 1920px;
|
||||
height: 100%;
|
||||
//height: 1080px;
|
||||
//position: absolute;
|
||||
//top: 50%;
|
||||
//left: 50%;
|
||||
////transform: scale(0.5, 0.5) translate(-50%, -50%);
|
||||
//transform: translate(-50%, -50%);
|
||||
//transform-origin: left top;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
//右键菜单样式
|
||||
.contextMenu {
|
||||
min-width: 120px;
|
||||
|
||||
:global {
|
||||
.ant-dropdown-menu {
|
||||
padding: 0;
|
||||
.ant-dropdown-placement-bottomRight {
|
||||
.ant-dropdown-menu {
|
||||
max-height: inherit !important;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-dropdown-menu-item:hover {
|
||||
background-color: #57c5f7;
|
||||
color: #fff;
|
||||
.ant-dropdown-menu-item {
|
||||
font-size: var(--data-size);
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.ant-dropdown-menu-item-icon {
|
||||
.rankMapWrapper {
|
||||
.ant-table-thead > tr > th {
|
||||
background: #ED7D31;
|
||||
}
|
||||
}
|
||||
|
||||
.bg_1_Cols {
|
||||
background: #ED7D31 !important;
|
||||
}
|
||||
|
||||
th.bg_1_Cols {
|
||||
height: 48px;
|
||||
line-height: 48px;
|
||||
}
|
||||
|
||||
.bg_2_Cols {
|
||||
background: #DEE0E3 !important;
|
||||
}
|
||||
}
|
||||
|
||||
//自适应表格样式
|
||||
.resizeTable {
|
||||
width: 1920px;
|
||||
height: 100%;
|
||||
//height: 1080px;
|
||||
//position: absolute;
|
||||
//top: 50%;
|
||||
//left: 50%;
|
||||
////transform: scale(0.5, 0.5) translate(-50%, -50%);
|
||||
//transform: translate(-50%, -50%);
|
||||
//transform-origin: left top;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
//右键菜单样式
|
||||
.contextMenu {
|
||||
min-width: 120px;
|
||||
|
||||
:global {
|
||||
.ant-dropdown-menu {
|
||||
padding: 0;
|
||||
|
||||
.ant-dropdown-menu-item:hover {
|
||||
background-color: #57c5f7;
|
||||
color: #fff;
|
||||
|
||||
.ant-dropdown-menu-item-icon {
|
||||
background-color: #57c5f7;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ant-dropdown-menu-item {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
padding: 0 5px 0 0;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
-o-text-overflow: ellipsis;
|
||||
text-overflow: ellipsis;
|
||||
color: #333;
|
||||
.ant-dropdown-menu-item {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
padding: 0 5px 0 0;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
-o-text-overflow: ellipsis;
|
||||
text-overflow: ellipsis;
|
||||
color: #333;
|
||||
|
||||
.ant-dropdown-menu-item-icon {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: 36px;
|
||||
height: 100%;
|
||||
margin-right: 6px;
|
||||
text-align: center;
|
||||
background: #f2f5f7;
|
||||
.ant-dropdown-menu-item-icon {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: 36px;
|
||||
height: 100%;
|
||||
margin-right: 6px;
|
||||
text-align: center;
|
||||
background: #f2f5f7;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import React, { FunctionComponent } from "react";
|
||||
import Icon from "@/lib/CustomIcon";
|
||||
import { LockOutlined, UnlockOutlined } from "@ant-design/icons";
|
||||
import { LockOutlined, UnlockOutlined, QuestionCircleOutlined } from "@ant-design/icons";
|
||||
import styles from "@/pages/atdTable/components/index.less";
|
||||
|
||||
interface OwnProps {
|
||||
|
|
@ -14,22 +14,29 @@ const CalcExplainFooter: FunctionComponent<Props> = (props) => {
|
|||
return (
|
||||
<div className={styles["explain-icon-area"]}>
|
||||
<div className={styles["icon-item"]}>
|
||||
<Icon type="icon-piliangsuoding"/>
|
||||
<Icon type="icon-piliangsuoding" />
|
||||
<span>{i18n["批量锁定"]}</span>
|
||||
</div>
|
||||
<div className={styles["icon-item"]}>
|
||||
<Icon type="icon-piliangjiesuo"/>
|
||||
<Icon type="icon-piliangjiesuo" />
|
||||
<span>{i18n["批量解锁"]}</span>
|
||||
</div>
|
||||
<div className={styles["icon-item"]}>
|
||||
<LockOutlined/>
|
||||
<LockOutlined />
|
||||
<span>{i18n["当前状态锁定,右击解锁"]}</span>
|
||||
</div>
|
||||
<div className={styles["icon-item"]}>
|
||||
<UnlockOutlined/>
|
||||
<UnlockOutlined />
|
||||
<span>{i18n["当前状态未锁定,右击锁定"]}</span>
|
||||
</div>
|
||||
{(i18n["反馈信息,右击删除反馈信息"] || i18n["反馈信息,右击设置反馈信息"]) && (
|
||||
<div className={styles["icon-item"]}>
|
||||
<QuestionCircleOutlined />
|
||||
<span>{i18n["反馈信息,右击删除反馈信息"] || i18n["反馈信息,右击设置反馈信息"]}</span>
|
||||
</div>
|
||||
)}
|
||||
<div className={styles["icon-item"]}>
|
||||
<Icon type="icon-pilianggengxin" />
|
||||
<Icon type="icon-piliangfenpei"/>
|
||||
<span>{i18n["查看拓扑图"]}</span>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
*/
|
||||
import React, { FunctionComponent, useEffect, useState } from "react";
|
||||
import type { MenuProps } from "antd";
|
||||
import { Button, Dropdown, Space, Table, Typography } from "antd";
|
||||
import { LockOutlined, UnlockOutlined } from "@ant-design/icons";
|
||||
import { Button, Dropdown, Space, Table, Tooltip, Typography } from "antd";
|
||||
import { DeleteOutlined, LockOutlined, QuestionCircleOutlined, SettingOutlined, UnlockOutlined } from "@ant-design/icons";
|
||||
import CustomTableTitle from "@/pages/calcTable/customTableTitle";
|
||||
import CalcExplainFooter from "@/pages/calcTable/calcExplainFooter";
|
||||
import CaclFixedTotal from "./calcFixedTotal";
|
||||
|
|
@ -131,43 +131,81 @@ const index: FunctionComponent<Props> = (props) => {
|
|||
className: styles["td_odd"],
|
||||
i18n: item.i18n,
|
||||
onCell: (record: any) => ({
|
||||
className: !_.isEmpty(record[`${item.dataIndex}_feedback`]) && styles["feedbackBg"],
|
||||
onContextMenu: (e: any) => {
|
||||
!item.calcDetail && e.preventDefault();
|
||||
(!item.calcDetail || item.rightClickType) && e.preventDefault();
|
||||
}
|
||||
}),
|
||||
render: (text: string, record: any) => {
|
||||
const items: MenuProps["items"] = [
|
||||
{
|
||||
label: item.i18n["锁定"],
|
||||
key: "LOCK",
|
||||
icon: <LockOutlined />,
|
||||
onClick: () =>
|
||||
handleLockEmp({
|
||||
lockStatus: "LOCK",
|
||||
acctEmpId: record?.id,
|
||||
salaryItemId: item?.dataIndex
|
||||
})
|
||||
},
|
||||
{
|
||||
label: item.i18n["解锁"],
|
||||
key: "UNLOCK",
|
||||
icon: <UnlockOutlined />,
|
||||
onClick: () =>
|
||||
handleLockEmp({
|
||||
lockStatus: "UNLOCK",
|
||||
acctEmpId: record?.id,
|
||||
salaryItemId: item?.dataIndex
|
||||
})
|
||||
}
|
||||
];
|
||||
let items: MenuProps["items"] = !item.calcDetail
|
||||
? [
|
||||
{
|
||||
label: item.i18n["锁定"],
|
||||
key: "LOCK",
|
||||
icon: <LockOutlined />,
|
||||
onClick: () =>
|
||||
handleLockEmp({
|
||||
lockStatus: "LOCK",
|
||||
acctEmpId: record?.id,
|
||||
salaryItemId: item?.dataIndex
|
||||
})
|
||||
},
|
||||
{
|
||||
label: item.i18n["解锁"],
|
||||
key: "UNLOCK",
|
||||
icon: <UnlockOutlined />,
|
||||
onClick: () =>
|
||||
handleLockEmp({
|
||||
lockStatus: "UNLOCK",
|
||||
acctEmpId: record?.id,
|
||||
salaryItemId: item?.dataIndex
|
||||
})
|
||||
}
|
||||
]
|
||||
: [];
|
||||
item.rightClickType &&
|
||||
item.rightClickType.includes("DELFEEDBACK") &&
|
||||
(items = [
|
||||
...items,
|
||||
{
|
||||
label: item.i18n["删除反馈"],
|
||||
key: "DELFEEDBACK",
|
||||
icon: <DeleteOutlined />,
|
||||
onClick: () =>
|
||||
handleDelFeedback({
|
||||
acctEmpId: record?.id,
|
||||
salaryItemId: item?.dataIndex
|
||||
})
|
||||
}
|
||||
]);
|
||||
item.rightClickType &&
|
||||
item.rightClickType.includes("SETFEEDBACK") &&
|
||||
(items = [
|
||||
...items,
|
||||
{
|
||||
label: item.i18n["设置反馈"],
|
||||
key: "SETFEEDBACK",
|
||||
icon: <SettingOutlined />,
|
||||
onClick: () =>
|
||||
handleSetFeedback({
|
||||
acctEmpId: record?.id,
|
||||
salaryItemId: item?.dataIndex
|
||||
})
|
||||
}
|
||||
]);
|
||||
return (
|
||||
<Dropdown menu={{ items: !item.calcDetail ? items : [] }} trigger={["contextMenu"]} overlayClassName={styles.contextMenu} destroyPopupOnHide>
|
||||
<Dropdown menu={{ items: !item.calcDetail || item.rightClickType ? items : [] }} trigger={["contextMenu"]} overlayClassName={styles.contextMenu} destroyPopupOnHide>
|
||||
<span className={styles.contentSpan}>
|
||||
<span title={text} className={styles.contentTitle} style={{ color: `${record?.[item.dataIndex + "_color"]}` }}>
|
||||
{text}
|
||||
</span>
|
||||
<Icon type="icon-piliangfenpei" title={i18n["查看拓扑图"]} className={styles.diagramIcon} onClick={() => handleDiagramTd(item?.dataIndex, record?.id)} />
|
||||
{record.lockItems && record.lockItems.includes(item.dataIndex) ? <LockOutlined title={item.i18n["锁定的项目值"]} /> : null}
|
||||
{!_.isEmpty(record[`${item.dataIndex}_feedback`]) ? (
|
||||
<Tooltip title={record[`${item.dataIndex}_feedback`]}>
|
||||
<QuestionCircleOutlined />
|
||||
</Tooltip>
|
||||
) : null}
|
||||
</span>
|
||||
</Dropdown>
|
||||
);
|
||||
|
|
@ -188,6 +226,13 @@ const index: FunctionComponent<Props> = (props) => {
|
|||
const handleLockEmp = (params: any) => {
|
||||
window.parent.postMessage({ type: "turn", payload: { id: "LOCKEMP", params } }, "*");
|
||||
};
|
||||
// 复旦大学附属医院二开-薪资核算项添加右击删除反馈的操作
|
||||
const handleDelFeedback = (params: any) => {
|
||||
window.parent.postMessage({ type: "turn", payload: { id: "DELFEEDBACK", params } }, "*");
|
||||
};
|
||||
const handleSetFeedback = (params: any) => {
|
||||
window.parent.postMessage({ type: "turn", payload: { id: "SETFEEDBACK", params } }, "*");
|
||||
};
|
||||
const sizeChange = (pageobj: IPage) => {};
|
||||
const onChange = (pageobj: IPage) => {
|
||||
setPageInfo(() => {
|
||||
|
|
|
|||
Loading…
Reference in New Issue