feature/2.15.1.2407.01-权限
This commit is contained in:
parent
71b4e766af
commit
b7c5ae22f3
|
|
@ -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);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -83,6 +83,9 @@
|
|||
.setting_table_title {
|
||||
& > .operator {
|
||||
line-height: 45px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 (
|
||||
<WeaDialog
|
||||
{...this.props} hasScroll className="tax_role_set_dialog" initLoadCss title={getLabel(111, "编辑角色")}
|
||||
|
|
@ -207,7 +241,7 @@ class Index extends Component {
|
|||
<div className="tax_role_form_item">
|
||||
<WeaTab datas={tabs} keyParam="viewcondition" selectedKey={selectedKey}
|
||||
onChange={v => 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 {
|
|||
{/*表格*/}
|
||||
<Row className="tax_role_operator_setting_table">
|
||||
<Col span={24} className="setting_table_title">
|
||||
<div className="wea-f12 text-elli operator">{getLabel(111, "已设操作者")}</div>
|
||||
<WeaTable columns={columns} dataSource={dataSource} bordered loading={loading.query}
|
||||
pagination={pagination} draggable={selectedKey === "auth.DataTargetTypeEnum"}/>
|
||||
<div className="wea-f12 text-elli operator">
|
||||
<span>{getLabel(111, "已设操作者")}</span>
|
||||
<Button type="ghost" disabled={_.isEmpty(selectedRowKeys)} loading={loading.delete}
|
||||
onClick={this.deleteOperatorSettings}>{getLabel(111, "批量删除")}</Button>
|
||||
</div>
|
||||
<WeaTable rowKey="id" columns={columns} dataSource={dataSource} bordered loading={loading.query}
|
||||
pagination={pagination} rowSelection={rowSelection}
|
||||
draggable={selectedKey === "auth.DataTargetTypeEnum"}/>
|
||||
</Col>
|
||||
</Row>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue