Compare commits

...

12 Commits

Author SHA1 Message Date
lys abaa329845 Merge branch 'release/2.19.1.2501.01' into custom/汇通建设
# Conflicts:
#	pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/columns.js
2025-12-02 10:33:15 +08:00
lys 5e5e109b7e release/2.19.1.2501.01 2025-11-13 16:42:10 +08:00
lys efb5af1b10 release/2.19.1.2501.01 2025-10-10 11:05:18 +08:00
lys 915e946c3e release/2.19.1.2501.01 2025-09-12 09:57:54 +08:00
lys ff1da8b19b release/2.19.1.2501.01 2025-09-04 09:59:22 +08:00
lys 5ef2c5ecb4 release/2.19.1.2501.01 2025-09-02 14:52:58 +08:00
lys 5f80e9e6b3 release/2.19.1.2501.01 2025-08-04 16:29:06 +08:00
lys 2b39980ed0 release/2.19.1.2501.01 2025-08-04 16:24:41 +08:00
lys 2321266533 release/2.19.1.2501.01 2025-08-04 16:23:10 +08:00
lys 3d8b242889 release/2.19.1.2501.01 2025-07-24 16:51:19 +08:00
lys 2871043810 release/2.19.1.2501.01 2025-07-17 17:28:48 +08:00
lys fe19fe8ea2 custom/汇通建设 2025-07-16 14:19:56 +08:00
8 changed files with 59 additions and 30 deletions

View File

@ -62,7 +62,7 @@ class Index extends Component {
if (o.dataIndex === "username") { if (o.dataIndex === "username") {
return { ...o, width: 150, fixed: "left" }; return { ...o, width: 150, fixed: "left" };
} }
return { ...o, width: 150 }; return { ...o, width: 150, render: (v) => (<span title={v}>{v}</span>) };
}), { }), {
dataIndex: "options", title: getLabel(30585, "操作"), dataIndex: "options", title: getLabel(30585, "操作"),
width: 120, render: (_, record) => ( width: 120, render: (_, record) => (

View File

@ -43,5 +43,15 @@
} }
} }
.wea-new-table {
.ant-table-tbody > tr > td,
.ant-table-thead > tr > th {
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
} }

View File

@ -74,7 +74,7 @@ class Calculate extends Component {
const menu = ( const menu = (
<Menu onClick={({ key }) => this.onDropMenuClick(key)}> <Menu onClick={({ key }) => this.onDropMenuClick(key)}>
<Menu.Item key="batDel" disabled={_.isEmpty(selectedRowKeys)}>{getLabel(111, "批量删除")}</Menu.Item> <Menu.Item key="batDel" disabled={_.isEmpty(selectedRowKeys)}>{getLabel(111, "批量删除")}</Menu.Item>
<Menu.Item key="batReAcct" disabled={_.isEmpty(selectedRowKeys)}>{getLabel(111, "批量重新核算")}</Menu.Item> <Menu.Item key="batReAcct" disabled={_.isEmpty(selectedRowKeys)}>{getLabel(111, "批量取消归档并核算")}</Menu.Item>
</Menu> </Menu>
); );
let calculateOpts = [ let calculateOpts = [
@ -238,7 +238,7 @@ class Calculate extends Component {
case "batReAcct": case "batReAcct":
Modal.confirm({ Modal.confirm({
title: getLabel(111, "确认信息"), title: getLabel(111, "确认信息"),
content: getLabel(111, "重新核算后,选中的台账数据将可以删除且可以进行此月份的核算,是否确认取消归档?"), content: getLabel(111, "选中的台账将取消归档并自动重新核算,是否确认?"),
onOk: () => { onOk: () => {
batReAccounting({ salaryAcctRecordIds: this.state.selectedRowKeys }) batReAccounting({ salaryAcctRecordIds: this.state.selectedRowKeys })
.then(({ status, errormsg }) => { .then(({ status, errormsg }) => {

View File

@ -125,7 +125,8 @@ class EditCalcTable extends Component {
}, 500); }, 500);
}); });
const { routeParams: { salaryAcctRecordId } } = this.props; const { routeParams: { salaryAcctRecordId } } = this.props;
updateLockStatus({ ...payload, salaryAcctRecordId }).then(({ status, errormsg }) => { updateLockStatus({ ...payload, salaryAcctRecordId, acctEmpIds: this.state.selectedRowKeys })
.then(({ status, errormsg }) => {
if (status) { if (status) {
clearInterval(this.timerLock); clearInterval(this.timerLock);
this.setState({ this.setState({

View File

@ -2,6 +2,7 @@ import React from "react";
import { inject, observer } from "mobx-react"; import { inject, observer } from "mobx-react";
import { WeaLocaleProvider, WeaTable, WeaTop } from "ecCom"; import { WeaLocaleProvider, WeaTable, WeaTop } from "ecCom";
import { getQueryString } from "../../util/url"; import { getQueryString } from "../../util/url";
import { sysinfo } from "../../apis/ruleconfig";
import * as API from "../../apis/declare"; import * as API from "../../apis/declare";
import { Button } from "antd"; import { Button } from "antd";
import "./index.less"; import "./index.less";
@ -14,15 +15,21 @@ export default class GenerateDeclarationDetail extends React.Component {
super(props); super(props);
this.state = { this.state = {
loading: false, dataSource: [], columns: [], declareInfo: {}, loading: false, dataSource: [], columns: [], declareInfo: {},
pageInfo: { current: 1, pageSize: 10, total: 0 } pageInfo: { current: 1, pageSize: 10, total: 0 }, sysinfo: {}
}; };
} }
componentDidMount() { componentDidMount() {
this.getDetailList(); this.getDetailList();
this.getDeclareInfo(); this.getDeclareInfo();
this.getSysinfo();
} }
getSysinfo = () => {
sysinfo().then(({ status, data: sysinfo }) => {
if (status) this.setState({ sysinfo });
});
};
getDetailList = () => { getDetailList = () => {
const { pageInfo } = this.state; const { pageInfo } = this.state;
const payload = { const payload = {
@ -64,9 +71,10 @@ export default class GenerateDeclarationDetail extends React.Component {
window.open(url, "_self"); window.open(url, "_self");
}; };
renderTitle = () => { renderTitle = () => {
const { declareInfo } = this.state; const { declareInfo, sysinfo } = this.state;
const title = sysinfo["TAX_DECLARATION_DATE_TYPE"] === "1" ? getLabel(111, "税款所属期") : getLabel(111, "薪资所属月");
return (<React.Fragment> return (<React.Fragment>
<span>{getLabel(111, "薪资所属月")}{declareInfo.salaryMonth}</span> <span>{title}{declareInfo.salaryMonth}</span>
<span style={{ marginLeft: "10px" }}>{getLabel(111, "个税扣缴义务人")}{declareInfo.taxAgentName}</span> <span style={{ marginLeft: "10px" }}>{getLabel(111, "个税扣缴义务人")}{declareInfo.taxAgentName}</span>
</React.Fragment>); </React.Fragment>);
}; };

View File

@ -13,8 +13,9 @@ import Content from "../../components/pcTemplate/content";
import { confirmSalaryBill, feedBackSalaryBill, payrollCheckType } from "../../apis/payroll"; import { confirmSalaryBill, feedBackSalaryBill, payrollCheckType } from "../../apis/payroll";
import CaptchaModal from "../../components/captchaModal"; import CaptchaModal from "../../components/captchaModal";
import "./index.less"; import "./index.less";
import { getQueryString } from "../../util/url";
const isIPhone = new RegExp("\\biPhone\\b|\\biPod\\b", "i").test(window.navigator.userAgent); const isPhone = /(iPhone|iPad|iPod|iOS|Android)/i.test(window.navigator.userAgent);
const isEm = window.navigator.userAgent.indexOf("E-Mobile7") >= 0; const isEm = window.navigator.userAgent.indexOf("E-Mobile7") >= 0;
const { getLabel } = WeaLocaleProvider; const { getLabel } = WeaLocaleProvider;
@ -84,7 +85,18 @@ class MySalaryView extends Component {
const { captchaVisible, mySalaryStore } = this.state; const { captchaVisible, mySalaryStore } = this.state;
const { params: { salaryInfoId } } = this.props; const { params: { salaryInfoId } } = this.props;
if (_.isEmpty(mySalaryStore)) { if (_.isEmpty(mySalaryStore)) {
return <div></div>; return <div>
<CaptchaModal
visible={captchaVisible} id={salaryInfoId}
onCancel={() => this.setState({ captchaVisible: false })}
onConfirm={() => {
this.props.mySalaryStore.setInitEmVerify();
this.props.mySalaryStore.getMySalaryBill(Number(salaryInfoId)).then(data => {
this.setState({ mySalaryStore: data });
});
}}
/>
</div>;
} }
const { salaryTemplate, salaryGroups, employeeInformation, sendTime } = mySalaryStore; const { salaryTemplate, salaryGroups, employeeInformation, sendTime } = mySalaryStore;
const salaryProps = { const salaryProps = {
@ -106,11 +118,6 @@ class MySalaryView extends Component {
</Content> </Content>
</div> </div>
</Authority> </Authority>
<CaptchaModal
visible={captchaVisible} id={salaryInfoId}
onCancel={() => this.setState({ captchaVisible: false })}
onConfirm={() => mySalaryStore.setInitEmVerify()}
/>
</React.Fragment> </React.Fragment>
); );
} }
@ -125,7 +132,7 @@ export const ConfirmBtns = (props) => {
<Button type="primary" onClick={props.confirmSalaryBill}>{getLabel(111, "确认")}</Button> <Button type="primary" onClick={props.confirmSalaryBill}>{getLabel(111, "确认")}</Button>
} }
{ {
((props.showFeedback === "1" && !isIPhone) || (props.showFeedback === "1" && isIPhone && isEm)) && ((props.showFeedback === "1" && !isPhone) || (props.showFeedback === "1" && isEm)) &&
<Button type="ghost" onClick={props.goFeedback}>{getLabel(111, "反馈")}</Button> <Button type="ghost" onClick={props.goFeedback}>{getLabel(111, "反馈")}</Button>
} }
</div>; </div>;

View File

@ -23,6 +23,9 @@ export const socialAccountConditions = [
labelcol: 6, labelcol: 6,
options: [], options: [],
multiple: true, multiple: true,
otherParams: {
showSearch: true, optionFilterProp: "children"
},
rules: "required|string", rules: "required|string",
viewAttr: 3 viewAttr: 3
}, },

View File

@ -122,7 +122,7 @@ class StandingBook extends Component {
case "batReAcct": case "batReAcct":
Modal.confirm({ Modal.confirm({
title: getLabel(111, "确认信息"), title: getLabel(111, "确认信息"),
content: getLabel(111, "重新核算后,选中的台账数据将可以删除且可以进行此月份的核算,是否确认取消归档?"), content: getLabel(111, "选中的台账数据将取消归档并自动重新核算,是否确认?"),
onOk: () => { onOk: () => {
API.batSocialSecurityBenefitsRecalculate({ ids: this.state.selectedRowKeys }) API.batSocialSecurityBenefitsRecalculate({ ids: this.state.selectedRowKeys })
.then(({ status, errormsg }) => { .then(({ status, errormsg }) => {
@ -185,7 +185,7 @@ class StandingBook extends Component {
const menu = ( const menu = (
<Menu onClick={({ key }) => this.onDropMenuClick(key)}> <Menu onClick={({ key }) => this.onDropMenuClick(key)}>
<Menu.Item key="batDel" disabled={_.isEmpty(selectedRowKeys)}>{getLabel(111, "批量删除")}</Menu.Item> <Menu.Item key="batDel" disabled={_.isEmpty(selectedRowKeys)}>{getLabel(111, "批量删除")}</Menu.Item>
<Menu.Item key="batReAcct" disabled={_.isEmpty(selectedRowKeys)}>{getLabel(111, "批量重新核算")}</Menu.Item> <Menu.Item key="batReAcct" disabled={_.isEmpty(selectedRowKeys)}>{getLabel(111, "批量取消归档并重新核算")}</Menu.Item>
</Menu> </Menu>
); );
const rightBtns = [ const rightBtns = [