Merge branch 'release/2.19.1.2501.01' into custom-美锦能源

This commit is contained in:
lys 2025-01-21 17:38:43 +08:00
commit c38044241f
11 changed files with 63 additions and 77 deletions

View File

@ -82,6 +82,8 @@
}
.data-detail {
padding-bottom: 16px;
.salary-group {
background: #FFF;

View File

@ -1,27 +1,24 @@
import React from "react";
import CustomTab from "../../components/customTab";
import { inject, observer } from "mobx-react";
import { WeaLocaleProvider, WeaTable, WeaTop } from "ecCom";
import { getQueryString } from "../../util/url";
import * as API from "../../apis/declare";
import { Button } from "antd";
import UnifiedTable from "../../components/UnifiedTable";
import "./index.less";
const { getLabel } = WeaLocaleProvider;
@inject("taxAgentStore")
@observer
export default class GenerateDeclarationDetail extends React.Component {
constructor(props) {
super(props);
this.state = {
loading: false,
dataSource: [],
columns: [],
pageInfo: { current: 1, pageSize: 10, total: 0 },
declareInfo: {}
loading: false, dataSource: [], columns: [], declareInfo: {},
pageInfo: { current: 1, pageSize: 10, total: 0 }
};
}
componentWillMount() {
componentDidMount() {
this.getDetailList();
this.getDeclareInfo();
}
@ -37,31 +34,19 @@ export default class GenerateDeclarationDetail extends React.Component {
if (status) {
const { columns, list: dataSource, pageNum: current, pageSize, total } = data;
this.setState({
dataSource,
pageInfo: {
...pageInfo,
current, pageSize, total
},
dataSource, pageInfo: { ...pageInfo, current, pageSize, total },
columns: _.map(_.filter(columns, it => it.dataIndex !== "jobNum"), item => {
if (item.dataIndex === "username") {
return {
...item,
render: (text, record) => {
return <a className="ellipsis"
href={`javaScript:openhrm(${record.employeeId});`}
onClick={e => window.pointerXY(e)}
title={text}
>
{text}
</a>;
}
...item, width: 180,
render: (text, record) => (<a className="ellipsis" href={`javaScript:openhrm(${record.employeeId});`}
onClick={e => window.pointerXY(e)}
title={text}>{text}</a>)
};
}
return {
...item,
render: (text) => {
return <span className="ellipsis" title={text}>{text}</span>;
}
...item, width: (item.dataIndex === "cardType" || item.dataIndex === "cardNum") ? 180 : 100,
render: (text) => (<span className="ellipsis" title={text}>{text}</span>)
};
})
});
@ -78,26 +63,19 @@ export default class GenerateDeclarationDetail extends React.Component {
const url = `${window.location.origin}/api/bs/hrmsalary/taxdeclaration/export?taxDeclarationId=${getQueryString("id")}`;
window.open(url, "_self");
};
renderTitle = () => {
const { declareInfo } = this.state;
return (<React.Fragment>
<span>{getLabel(111, "薪资所属月")}{declareInfo.salaryMonth}</span>
<span style={{ marginLeft: "10px" }}>{getLabel(111, "个税扣缴义务人")}{declareInfo.taxAgentName}</span>
</React.Fragment>);
};
render() {
const { declareInfo, loading, pageInfo, columns, dataSource } = this.state;
const { loading, pageInfo, columns, dataSource } = this.state;
const { taxAgentStore: { showOperateBtn } } = this.props;
const renderRightOperation = () => {
return (
<div style={{ display: "inline-block" }}>
<Button type="primary" onClick={this.handleExport}>导出</Button>
</div>
);
};
const renderLeftOperation = () => {
return (
<div style={{ display: "inline-block", lineHeight: "47px" }}>
<span>薪资所属月{declareInfo.salaryMonth}</span>
<span style={{ marginLeft: "10px" }}>个税扣缴义务人{declareInfo.taxAgentName}</span>
</div>
);
};
const buttons = showOperateBtn ? [<Button type="primary"
onClick={this.handleExport}>{getLabel(111, "导出全部")}</Button>] : [];
const pagination = {
...pageInfo,
showTotal: (total) => `${total}`,
@ -115,23 +93,12 @@ export default class GenerateDeclarationDetail extends React.Component {
}, () => this.getDetailList());
}
};
return (
<div className="generateDeclarationDetail">
<CustomTab
searchOperationItem={showOperateBtn && renderRightOperation()}
leftOperation={renderLeftOperation()}
/>
<div className="tableWrapper">
<UnifiedTable
rowKey="id"
columns={columns}
dataSource={dataSource}
pagination={pagination}
loading={loading}
xWidth={columns.length * 120}
/>
</div>
return (<WeaTop title={this.renderTitle()} icon={<i className="icon-coms-fa"/>} iconBgcolor="#F14A2D"
buttons={buttons}>
<div className="declare-detail-table-container">
<WeaTable columns={columns} dataSource={dataSource} pagination={pagination} loading={loading}
scroll={{ x: 1200, y: `calc(100vh - 186px)` }}/>
</div>
);
</WeaTop>);
}
}

View File

@ -1,11 +1,10 @@
.generateDeclarationDetail {
.tabWrapper {
padding-left: 10px
}
.declare-detail-table-container {
height: 100%;
background: #f6f6f6;
padding: 8px 16px;
.tableWrapper {
height: calc(100vh - 48px);
overflow: auto;
.wea-new-table {
background: #FFF;
}
}

View File

@ -18,10 +18,8 @@ class LedgerMovoTo extends Component {
];
return (
<WeaDialog
{...extraProps} style={{ width: 440, height: 232 }}
buttons={buttons} hasScroll initLoadCss
className="moveModalWrapper"
>
{...extraProps} buttons={buttons} hasScroll initLoadCss className="moveModalWrapper"
style={{ width: 440, height: Math.ceil((dataList.length - 1) / 3) * 25 + 41 }}>
<WeaSearchGroup showGroup needTigger={false}>
<WeaSelect
options={_.filter(dataList, item => item.showname === "未分类")}

View File

@ -599,6 +599,7 @@ export default class PayrollGrant extends React.Component {
<WeaTab
datas={topTab} keyParam="viewcondition" selectedKey={selectedKey} searchType={["base", "advanced"]}
onChange={v => this.setState({ selectedKey: v }, () => {
this.pageInfo = { current: 1, pageSize: 10 };
getInfoList({ salarySendId: currentId, isGranted: v !== "0" });
})}
searchsBasePlaceHolder="请输入姓名" showSearchAd={grantListShowSearchAd} buttonsAd={adBtn}
@ -652,7 +653,7 @@ export default class PayrollGrant extends React.Component {
this.pageInfo = { current, pageSize };
this.handleShowSizeChange(this.pageInfo);
}}
scroll={{ y: `calc(100vh - 236px)` }}
scroll={{ y: `calc(100vh - 255px)` }}
/> : renderLoading()
}
</div>

View File

@ -41,7 +41,7 @@ export const payrollTempNormalSetForm = (form, condition, background, onChange =
/>
}
{
getKey(fields) === "theme" && c.viewAttr === 3 &&
getKey(fields) === "theme" && fields.viewAttr === 3 &&
<div className="sft-variables">
<span className="sftv-tip">{getLabel(500143, "插入变量")}</span>
<a className="sftv-item"

View File

@ -188,6 +188,15 @@ export const conditions = [
lanId: 111,
labelcol: 8,
viewAttr: 2
},
{
conditionType: "SWITCH",
domkey: ["SHOT_EMP_BTN"],
fieldcol: 10,
label: "启用组织快照",
lanId: 111,
labelcol: 8,
viewAttr: 2
}
],
title: "薪资核算",

View File

@ -154,6 +154,7 @@ class RuleConfig extends Component {
case "APPROVAL_CAN_RE_CALC_STATUS":
case "APPROVAL_CAN_EDIT_RESULT_STATUS":
case "ATTENDANCE_SERIAL_COLLECTION_BTN":
case "SHOT_EMP_BTN":
if (!this.handleDebounce) {
this.handleDebounce = _.debounce(() => {
const confTitle = {
@ -171,7 +172,8 @@ class RuleConfig extends Component {
APPROVAL_CAN_MANUAL_FILE_STATUS: getLabel(111, "开启审批的核算记录允许手动归档"),
APPROVAL_CAN_RE_CALC_STATUS: getLabel(111, "开启审批的核算记录允许重新核算"),
APPROVAL_CAN_EDIT_RESULT_STATUS: getLabel(111, "审批流程发起后允许修改核算数据"),
ATTENDANCE_SERIAL_COLLECTION_BTN: getLabel(111, "考勤引用是否采集班次数据")
ATTENDANCE_SERIAL_COLLECTION_BTN: getLabel(111, "考勤引用是否采集班次数据"),
SHOT_EMP_BTN: getLabel(111, "启用组织快照")
};
this.unifiedSettings(key, confTitle[key]);
this.handleDebounce = null;

View File

@ -64,7 +64,7 @@ export default class CustomSalaryItemSlide extends React.Component {
case "taxAgentIds":
fields = {
...fields, options: _.map(taxAgentList, o => ({ key: o.id, showname: o.content })),
hide: String(salaryItemForm["sharedType"]) === "0" || !_.isNil(salaryItemForm["sharedType"])
hide: String(salaryItemForm["sharedType"]) === "0" || _.isNil(salaryItemForm["sharedType"])
};
break;
case "dataType":

View File

@ -4,12 +4,16 @@
height: 100%;
background: #f6f6f6;
.wea-tab {
border-bottom: none !important;
}
.wea-new-top-req-wapper .wea-new-top-req {
z-index: 0 !important;
}
.wea-search-tab, .wea-input-focus {
background: #f6f6f6;
background: #f1f1f1;
}
.normalWapper {

View File

@ -39,6 +39,10 @@
.form-dialog-layout {
background: #f6f6f6;
.wea-form-item-wrapper {
display: block !important;
}
.wea-form-item .wea-form-item-wrapper .wea-field-readonly {
line-height: 28px;
}