@@ -352,6 +386,12 @@ export default class Index extends Component {
/>
+
+
+ this.handleChange("extEmpsWitch", val)}/>
+
+
{
this.state.progressVisible &&
}
initLoadCss
+ className="taxagentModalWrapper"
visible={visible}
style={{ width: 800, height: 450 }}
hasScroll>
diff --git a/pc4mobx/hrmSalary/pages/taxAgent/index.less b/pc4mobx/hrmSalary/pages/taxAgent/index.less
index 6bfafdb0..67902f49 100644
--- a/pc4mobx/hrmSalary/pages/taxAgent/index.less
+++ b/pc4mobx/hrmSalary/pages/taxAgent/index.less
@@ -113,3 +113,46 @@
}
}
}
+
+.taxagentModalWrapper {
+ .topMenuWrapper {
+ height: 47px;
+ line-height: 47px;
+ padding: 0 10px;
+ display: flex;
+ justify-content: space-between;
+
+ .topMenuTabWrapper {
+ display: flex;
+ align-items: center;
+
+ .menuTabItem {
+ height: 24px;
+ padding: 0 16px;
+ border-radius: 3px;
+ margin-right: 6px;
+ display: flex;
+ align-items: center;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ cursor: pointer;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ flex: 1 1 auto;
+ line-height: normal;
+ }
+
+ .menuTabItem:hover {
+ color: #5d9cec;
+ background: #e9f7ff;
+ }
+
+ .active {
+ color: #5d9cec;
+ background: #e9f7ff;
+ }
+ }
+ }
+}
diff --git a/pc4mobx/hrmSalary/pages/taxAgent/personalScope.js b/pc4mobx/hrmSalary/pages/taxAgent/personalScope.js
index 94dbe860..da0bd2bb 100644
--- a/pc4mobx/hrmSalary/pages/taxAgent/personalScope.js
+++ b/pc4mobx/hrmSalary/pages/taxAgent/personalScope.js
@@ -18,6 +18,7 @@ export default class PersonalScope extends Component {
constructor(props) {
super(props);
this.state = {
+ deleteLoading: false,
queryLoading: false,
submitLoading: false,
targetTypeList: [],
@@ -46,7 +47,6 @@ export default class PersonalScope extends Component {
}
});
};
-
getTaxAgentRangeListInclude = (pageModule = {}) => {
const { taxAgentId } = this.props;
const { getTaxAgentRangeListInclude } = this.props.taxAgentStore;
@@ -75,6 +75,35 @@ export default class PersonalScope extends Component {
}
);
};
+
+ 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;
@@ -105,17 +134,93 @@ export default class PersonalScope extends Component {
};
taxAgentRangeDelete = ({ ids, tab }) => {
- const { taxAgentRangeDelete } = this.props.taxAgentStore;
- const { pageObj } = this.state;
Modal.confirm({
title: "信息确认",
content: `确认删除该条数据吗?`,
onOk: () => {
- taxAgentRangeDelete(ids).then(({ status, errorMsg }) => {
+ 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 } = 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 {
+ taxAgentRangeSave({ ...module, taxAgentId }).then(
+ ({ status, errormsg }) => {
+ this.setState({ submitLoading: false });
if (status) {
- this.tagAgentRef.onSelectChange([]);
- message.success("删除成功");
- tab == "1"
+ this.tagAgentRef.closeModal();
+ message.success("新增成功");
+ includeType == "1"
? this.getTaxAgentRangeListInclude({
current: pageObj.current,
pageSize: pageObj.pageSize
@@ -125,41 +230,11 @@ export default class PersonalScope extends Component {
pageSize: pageObj.pageSize
});
} else {
- message.error(errorMsg || "删除失败");
+ message.error(errormsg || "新增失败");
}
- });
- },
- onCancel() {
- }
- });
- };
-
- taxAgentRangeSave = (module) => {
- const { taxAgentId } = this.props;
- const { pageObj } = this.state;
- const { includeType } = module;
- const { taxAgentRangeSave } = this.props.taxAgentStore;
- this.setState({ submitLoading: true });
- taxAgentRangeSave({ ...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() {
@@ -198,7 +273,8 @@ export default class PersonalScope extends Component {
() => {
tab == "1"
? this.getTaxAgentRangeListInclude({ ...pageObj, ...params })
- : this.getTaxAgentRangeListExclude({ ...pageObj, ...params });
+ : tab == "0" ? this.getTaxAgentRangeListExclude({ ...pageObj, ...params }) :
+ this.taxAgentRangelistExt({ ...pageObj, ...params });
}
);
}}
@@ -209,12 +285,14 @@ export default class PersonalScope extends Component {
onTaxAngetSearch={({ targetName, targetWorkcode, tab }) => {
tab == "1"
? this.getTaxAgentRangeListInclude({ targetName, targetWorkcode })
- : this.getTaxAgentRangeListExclude({ targetName, targetWorkcode });
+ : tab == "0" ? this.getTaxAgentRangeListExclude({ targetName, targetWorkcode }):
+ this.taxAgentRangelistExt({ targetName, targetWorkcode });
}}
onChangeTab={(tab) => {
+ this.tagAgentRef.onSelectChange([]);
tab == "1"
? this.getTaxAgentRangeListInclude()
- : this.getTaxAgentRangeListExclude();
+ : tab == "0" ? this.getTaxAgentRangeListExclude() : this.taxAgentRangelistExt();
}}
/>
diff --git a/pc4mobx/hrmSalary/pages/taxAgent/slideTaxagentUser.js b/pc4mobx/hrmSalary/pages/taxAgent/slideTaxagentUser.js
index 6ee6b5f7..f144e14b 100644
--- a/pc4mobx/hrmSalary/pages/taxAgent/slideTaxagentUser.js
+++ b/pc4mobx/hrmSalary/pages/taxAgent/slideTaxagentUser.js
@@ -4,14 +4,16 @@ import { WeaButtonIcon, WeaFormItem, WeaInput, WeaSearchGroup, WeaTab, WeaTable
import AddTaxAgentModal from "./addTaxAgentModal";
import ImportModal from "../../components/importModal";
import { taxAgentRangeImportData, taxAgentRangePreview } from "../../apis/taxAgent";
+import { sysinfo } from "../../apis/ruleconfig";
import { importEmployColumns } from "./columns";
-
+import ExternalPersonModal from "../../components/externalPersonModal";
export default class SlideTaxagentUser extends React.Component {
constructor(props) {
super(props);
this.state = {
showSearchAd: false,
+ externalPersonModalVisible: false, //外部人员关联弹框
addTaxagentModalVisible: false,
includeType: "1",
selectedRowKeys: [],
@@ -22,30 +24,34 @@ export default class SlideTaxagentUser extends React.Component {
visible: false,
step: 0,
importResult: {}
- }
+ },
+ extEmpsWitch: "1" //非系统人员开关, 1: 开启, 0:关闭
};
}
-
- handleTabClick(includeType) {
- const { onChangeTab } = this.props;
- this.setState(
- {
- includeType
- },
- () => {
- onChangeTab && onChangeTab(includeType);
- }
- );
+ componentDidMount() {
+ this.getSysinfo();
}
+ /*
+ * Author: 黎永顺
+ * Description: 非系统人员开关查询
+ * Params:
+ * Date: 2023/7/14
+ */
+ getSysinfo = () => {
+ sysinfo().then(({ status, data }) => {
+ if (status) this.setState({ extEmpsWitch: data.extEmpsWitch });
+ });
+ };
+
onSelectChange = selectedRowKeys => {
this.setState({ selectedRowKeys });
};
handleTabDelete = () => {
const { onDeleteTaxAgent } = this.props;
- const { includeType } = this.state;
- if (this.state.selectedRowKeys.length == 0) {
+ const { includeType, selectedRowKeys } = this.state;
+ if (selectedRowKeys.length === 0) {
message.warning("未选择条目");
return;
}
@@ -64,9 +70,10 @@ export default class SlideTaxagentUser extends React.Component {
closeModal = () => {
this.setState({
- addTaxagentModalVisible: false
+ addTaxagentModalVisible: false,
+ externalPersonModalVisible: false
}, () => {
- this.addTaxRef.handleReset();
+ this.addTaxRef && this.addTaxRef.handleReset();
});
};
handleInitModal = () => {
@@ -120,9 +127,10 @@ export default class SlideTaxagentUser extends React.Component {
selectedRowKeys,
searchValue,
addTaxagentModalVisible,
+ externalPersonModalVisible,
importParams,
previewDataSource,
- showSearchAd
+ showSearchAd, extEmpsWitch
} = this.state;
const {
submitLoading,
@@ -146,6 +154,7 @@ export default class SlideTaxagentUser extends React.Component {
onChange: this.onSelectChange
};
const pagination = {
+ ...pageObj,
total: pageObj.total,
showTotal: total => `共 ${total} 条`,
pageSizeOptions: ["10", "20", "50", "100"],
@@ -177,16 +186,30 @@ export default class SlideTaxagentUser extends React.Component {
>