salary-management-front/pc4mobx/hrmSalary/pages/taxAgent/personalScope.js

302 lines
9.0 KiB
JavaScript

/*
* Author: 黎永顺
* Description: 个税扣缴义务人-人员范围
* Date: 2022-05-31 09:51:59
* LastEditTime: 2022-06-28 17:43:30
*/
import React, { Component } from "react";
import { message, Modal } from "antd";
import { inject, observer } from "mobx-react";
import SlideTaxagentUser from "./slideTaxagentUser";
import { taxAgentRangeEdit } from "../../apis/taxAgent";
import "./index.less";
const personScopeWarrper = {};
@inject("taxAgentStore", "ledgerStore")
@observer
export default class PersonalScope extends Component {
constructor(props) {
super(props);
this.state = {
deleteLoading: false,
queryLoading: false,
submitLoading: false,
targetTypeList: [],
employeeStatus: [],
dataSource: [],
columns: [],
pageObj: {
current: 1,
pageSize: 10,
total: 0
}
};
}
componentDidMount() {
this.getTaxAgentRangeForm();
this.getTaxAgentRangeListInclude();
}
getTaxAgentRangeForm = () => {
const { getTaxAgentRangeForm } = this.props.taxAgentStore;
getTaxAgentRangeForm().then(({ status, data }) => {
if (status) {
const { employeeStatus, targetTypeList } = data;
this.setState({ employeeStatus, targetTypeList });
}
});
};
getTaxAgentRangeListInclude = (pageModule = {}) => {
const { taxAgentId } = this.props;
const { getTaxAgentRangeListInclude } = this.props.taxAgentStore;
this.setState({ queryLoading: true });
getTaxAgentRangeListInclude({ ...pageModule, taxAgentId }).then(
({ status, data }) => {
this.setState({ queryLoading: false });
if (status && !_.isEmpty(data)) {
const {
columns,
list: dataSource,
pageNum: current,
pageSize,
total
} = data;
this.setState({
columns,
dataSource,
pageObj: {
current,
pageSize,
total
}
});
}
}
);
};
taxAgentRangelistExt = (pageModule = {}) => {
const { taxAgentId } = this.props;
const { taxAgentRangelistExt } = this.props.taxAgentStore;
this.setState({ queryLoading: true });
taxAgentRangelistExt({ ...pageModule, taxAgentId }).then(
({ status, data }) => {
this.setState({ queryLoading: false });
if (status && !_.isEmpty(data)) {
const {
columns,
list: dataSource,
pageNum: current,
pageSize,
total
} = data;
this.setState({
columns,
dataSource,
pageObj: {
current,
pageSize,
total
}
});
}
}
);
};
getTaxAgentRangeListExclude = (pageModule = {}) => {
const { taxAgentId } = this.props;
const { getTaxAgentRangeListExclude } = this.props.taxAgentStore;
this.setState({ queryLoading: true });
getTaxAgentRangeListExclude({ ...pageModule, taxAgentId }).then(
({ status, data }) => {
this.setState({ queryLoading: false });
if (status && !_.isEmpty(data)) {
const {
columns,
list: dataSource,
pageNum: current,
pageSize,
total
} = data;
this.setState({
columns,
dataSource,
pageObj: {
current,
pageSize,
total
}
});
}
}
);
};
taxAgentRangeDelete = ({ ids, tab }) => {
Modal.confirm({
title: "信息确认",
content: `确认删除该条数据吗?`,
onOk: () => {
return new Promise((resolve, reject) => {
return tab === "2" ? this.taxAgentExtRangeDeleteComfirm(resolve, reject, ids) : this.taxAgentRangeDeleteComfirm(resolve, reject, ids, tab);
}).catch(() => console.log("出错!"));
}
});
};
taxAgentExtRangeDeleteComfirm = (resolve, reject, ids) => {
const { taxAgentRangeExtDelete } = this.props.taxAgentStore;
const { pageObj } = this.state;
message.destroy();
message.loading("正在删除中...", 0);
taxAgentRangeExtDelete(ids).then(({ status, errormsg }) => {
message.destroy();
resolve();
if (status) {
this.tagAgentRef.onSelectChange([]);
message.success("删除成功");
this.taxAgentRangelistExt({
current: pageObj.current,
pageSize: pageObj.pageSize
});
} else {
message.error(errormsg || "删除失败");
}
}).catch(() => {
message.destroy();
reject();
});
};
taxAgentRangeDeleteComfirm = (resolve, reject, ids, tab) => {
const { taxAgentRangeDelete } = this.props.taxAgentStore;
const { pageObj } = this.state;
message.destroy();
message.loading("正在删除中...", 0);
taxAgentRangeDelete(ids).then(({ status, errormsg }) => {
message.destroy();
resolve();
if (status) {
this.tagAgentRef.onSelectChange([]);
message.success("删除成功");
tab == "1"
? this.getTaxAgentRangeListInclude({
current: pageObj.current,
pageSize: pageObj.pageSize
})
: this.getTaxAgentRangeListExclude({
current: pageObj.current,
pageSize: pageObj.pageSize
});
} else {
message.error(errormsg || "删除失败");
}
}).catch(() => {
message.destroy();
reject();
});
};
taxAgentRangeSave = (module) => {
const { taxAgentId } = this.props;
const { pageObj } = this.state;
const { includeType, id } = module;
const { taxAgentRangeSave, taxAgentRangeExtSave } = this.props.taxAgentStore;
this.setState({ submitLoading: true });
if (includeType === "2") {
taxAgentRangeExtSave({ taxAgentId, ..._.pick(module, "targetIds") }).then(({ status, errormsg }) => {
this.setState({ submitLoading: false });
if (status) {
this.tagAgentRef.closeModal();
message.success("新增成功");
this.taxAgentRangelistExt({ current: pageObj.current, pageSize: pageObj.pageSize });
} else {
message.error(errormsg || "新增失败");
}
});
} else {
const API= id ? taxAgentRangeEdit : taxAgentRangeSave;
API({ ...module, taxAgentId }).then(({ status, errormsg }) => {
this.setState({ submitLoading: false });
if (status) {
this.tagAgentRef.closeModal();
message.success("操作成功");
includeType == "1"
? this.getTaxAgentRangeListInclude({
current: pageObj.current,
pageSize: pageObj.pageSize
})
: this.getTaxAgentRangeListExclude({
current: pageObj.current,
pageSize: pageObj.pageSize
});
} else {
message.error(errormsg);
}
});
}
};
render() {
const {
dataSource,
columns,
pageObj,
employeeStatus,
targetTypeList,
submitLoading,
queryLoading
} = this.state;
const { hideIconInTax, showSalaryItemBtn } = this.props.taxAgentStore;
return (
<div style={personScopeWarrper} className="slideWrapper">
<SlideTaxagentUser
ref={(dom) => (this.tagAgentRef = dom)}
{...this.props}
dataSource={dataSource}
columns={columns}
pageObj={pageObj}
hideIconInTax={hideIconInTax}
showSalaryItemBtn={showSalaryItemBtn}
submitLoading={submitLoading}
queryLoading={queryLoading}
setPageObj={(params) => {
const { current, pageSize, tab } = params;
this.setState(
{
pageObj: {
...pageObj,
current,
pageSize
}
},
() => {
tab == "1"
? this.getTaxAgentRangeListInclude({ ...pageObj, ...params })
: tab == "0" ? this.getTaxAgentRangeListExclude({ ...pageObj, ...params }) :
this.taxAgentRangelistExt({ ...pageObj, ...params });
}
);
}}
employeeStatus={employeeStatus}
targetTypeList={targetTypeList}
onDeleteTaxAgent={this.taxAgentRangeDelete}
onTaxAgentSave={this.taxAgentRangeSave}
onTaxAngetSearch={({ targetName, targetWorkcode, tab }) => {
tab == "1"
? this.getTaxAgentRangeListInclude({ targetName, targetWorkcode })
: tab == "0" ? this.getTaxAgentRangeListExclude({ targetName, targetWorkcode }) :
this.taxAgentRangelistExt({ targetName, targetWorkcode });
}}
onChangeTab={(tab) => {
this.tagAgentRef.onSelectChange([]);
tab == "1"
? this.getTaxAgentRangeListInclude()
: tab == "0" ? this.getTaxAgentRangeListExclude() : this.taxAgentRangelistExt();
}}
/>
</div>
);
}
}