diff --git a/pc4mobx/hrmSalary/apis/taxAgent.js b/pc4mobx/hrmSalary/apis/taxAgent.js index 499d25c2..8fcce44a 100644 --- a/pc4mobx/hrmSalary/apis/taxAgent.js +++ b/pc4mobx/hrmSalary/apis/taxAgent.js @@ -120,6 +120,14 @@ export const saveAuthMember = (params) => { export const authDataList = (params) => { return postFetch("/api/bs/hrmsalary/auth/data/list", params); }; +//删除成员 +export const deleteAuthMember = (params) => { + return postFetch("/api/bs/hrmsalary/auth/member/delete", params); +}; +//删除数据 +export const deleteAuthData = (params) => { + return postFetch("/api/bs/hrmsalary/auth/data/delete", params); +}; //保存数据 export const saveAuthData = (params) => { return postFetch("/api/bs/hrmsalary/auth/data/save", params); @@ -128,4 +136,8 @@ export const saveAuthData = (params) => { export const syncAuthData = (params) => { return postFetch("/api/bs/hrmsalary/auth/data/sync", params); }; +//同步成员 +export const syncAuthMember = (params) => { + return postFetch("/api/bs/hrmsalary/auth/member/sync", params); +}; diff --git a/pc4mobx/hrmSalary/pages/taxAgent/components/index.less b/pc4mobx/hrmSalary/pages/taxAgent/components/index.less index 85b34deb..4cbd11ce 100644 --- a/pc4mobx/hrmSalary/pages/taxAgent/components/index.less +++ b/pc4mobx/hrmSalary/pages/taxAgent/components/index.less @@ -83,6 +83,9 @@ .setting_table_title { & > .operator { line-height: 45px; + display: flex; + justify-content: space-between; + align-items: center; } } } diff --git a/pc4mobx/hrmSalary/pages/taxAgent/components/roleDetailSetDialog/index.js b/pc4mobx/hrmSalary/pages/taxAgent/components/roleDetailSetDialog/index.js index a4d5dde9..acec1c09 100644 --- a/pc4mobx/hrmSalary/pages/taxAgent/components/roleDetailSetDialog/index.js +++ b/pc4mobx/hrmSalary/pages/taxAgent/components/roleDetailSetDialog/index.js @@ -29,16 +29,20 @@ const getLabel = WeaLocaleProvider.getLabel; const APIFOX = { "auth.MemberTargetTypeEnum": API.authMemberList, "save.auth.MemberTargetTypeEnum": API.saveAuthMember, + "delete.auth.MemberTargetTypeEnum": API.deleteAuthMember, + "sync.auth.MemberTargetTypeEnum": API.syncAuthMember, "auth.DataTargetTypeEnum": API.authDataList, - "save.auth.DataTargetTypeEnum": API.saveAuthData + "save.auth.DataTargetTypeEnum": API.saveAuthData, + "delete.auth.DataTargetTypeEnum": API.deleteAuthData, + "sync.auth.DataTargetTypeEnum": API.syncAuthData }; class Index extends Component { constructor(props) { super(props); this.state = { - selectedKey: "auth.MemberTargetTypeEnum", name: "", options: [], enumType: "", - replaceDatas: [], loading: { set: false, query: false, async: false }, + selectedKey: "auth.MemberTargetTypeEnum", name: "", options: [], enumType: "", selectedRowKeys: [], + replaceDatas: [], loading: { set: false, query: false, async: false, delete: false }, columns: [], dataSource: [], pageInfo: { current: 1, pageSize: 10, total: 0 } }; } @@ -50,7 +54,7 @@ class Index extends Component { this.getSettingRoler(nextProps.roleId); }); } else { - this.setState({ replaceDatas: [], pageInfo: { current: 1, pageSize: 10, total: 0 } }); + this.setState({ selectedRowKeys: [], replaceDatas: [], pageInfo: { current: 1, pageSize: 10, total: 0 } }); } } @@ -90,7 +94,11 @@ class Index extends Component { }); return; } - const payload = _.map(replaceDatas, o => ({ roleId, targetType, target: o.id || "", targetName: o.name || "" })); + const payload = _.map(replaceDatas, o => ({ + roleId, targetType, target: o.id || "", targetName: o.name || "", + link: selectedKey === "auth.DataTargetTypeEnum" ? "OR" : "", + sortedIndex: selectedKey === "auth.DataTargetTypeEnum" ? 0 : "" + })); this.setState({ loading: { ...this.state.loading, set: true } }); APIFOX[`save.${selectedKey}`](payload).then(({ status, errormsg }) => { this.setState({ loading: { ...this.state.loading, set: false } }); @@ -102,10 +110,31 @@ class Index extends Component { } }); }; - syncAuthData = () => { + deleteOperatorSettings = () => { const { roleId } = this.props; + const { selectedKey, selectedRowKeys } = this.state; + if (_.isEmpty(selectedRowKeys)) { + Modal.warning({ + title: getLabel(111, "信息确认"), + content: getLabel(111, "确定要删除所选批次吗?") + }); + return; + } + this.setState({ loading: { ...this.state.loading, delete: true } }); + APIFOX[`delete.${selectedKey}`](selectedRowKeys).then(({ status, errormsg }) => { + this.setState({ loading: { ...this.state.loading, delete: false } }); + if (status) { + message.success(getLabel(111, "操作成功!")); + this.setState({ selectedRowKeys: [] }, () => this.getSettingRoler(roleId)); + } else { + message.error(errormsg); + } + }); + }; + syncAuthData = () => { + const { roleId } = this.props, { selectedKey } = this.state; this.setState({ async: true }); - API.syncAuthData({ roleId }).then(({ status, errormsg }) => { + APIFOX[`sync.${selectedKey}`]({ roleId }).then(({ status, errormsg }) => { this.setState({ async: false }); if (status) { message.success(getLabel(111, "操作成功!")); @@ -159,7 +188,9 @@ class Index extends Component { render() { const { roleId } = this.props; - const { selectedKey, name, options, enumType, pageInfo, columns, dataSource, loading } = this.state; + const { + selectedKey, name, options, enumType, pageInfo, columns, dataSource, loading, selectedRowKeys + } = this.state; const tabs = [ { title: getLabel(111, "成员"), viewcondition: "auth.MemberTargetTypeEnum" }, { title: getLabel(111, "权限"), viewcondition: "auth.AuthTargetTypeEnum" }, @@ -182,6 +213,9 @@ class Index extends Component { }, () => this.getSettingRoler(roleId)); } }; + const rowSelection = { + selectedRowKeys, onChange: (selectedRowKeys) => this.setState({ selectedRowKeys }) + }; return ( this.setState({ - selectedKey: v, name: !name ? null : name, replaceDatas: [] + selectedKey: v, name: !name ? null : name, replaceDatas: [], selectedRowKeys: [] }, () => { this.state.selectedKey !== "auth.AuthTargetTypeEnum" && this.getEnumList(); this.state.selectedKey !== "auth.AuthTargetTypeEnum" && this.getSettingRoler(roleId); @@ -224,9 +258,14 @@ class Index extends Component { {/*表格*/} -
{getLabel(111, "已设操作者")}
- +
+ {getLabel(111, "已设操作者")} + +
+