From 6e7137b6b3007701fa034dc0dd12aac515e8beb2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com>
Date: Wed, 7 Aug 2024 14:02:27 +0800
Subject: [PATCH] =?UTF-8?q?feature/2.15.1.2407.01-=E6=9D=83=E9=99=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pc4mobx/hrmSalary/apis/taxAgent.js | 8 ++
.../pages/taxAgent/components/index.less | 6 ++
.../components/roleDetailSetDialog/index.js | 81 +++++++++++++++++--
3 files changed, 88 insertions(+), 7 deletions(-)
diff --git a/pc4mobx/hrmSalary/apis/taxAgent.js b/pc4mobx/hrmSalary/apis/taxAgent.js
index fff90ce4..fb5d8945 100644
--- a/pc4mobx/hrmSalary/apis/taxAgent.js
+++ b/pc4mobx/hrmSalary/apis/taxAgent.js
@@ -108,4 +108,12 @@ export const saveAuthRole = (params) => {
export const deleteAuthRole = (params) => {
return postFetch("/api/bs/hrmsalary/auth/role/delete", params);
};
+//成员列表
+export const authMemberList = (params) => {
+ return postFetch("/api/bs/hrmsalary/auth/member/list", params);
+};
+//数据列表
+export const authDataList = (params) => {
+ return postFetch("/api/bs/hrmsalary/auth/data/list", params);
+};
diff --git a/pc4mobx/hrmSalary/pages/taxAgent/components/index.less b/pc4mobx/hrmSalary/pages/taxAgent/components/index.less
index aa53099d..f1e20c81 100644
--- a/pc4mobx/hrmSalary/pages/taxAgent/components/index.less
+++ b/pc4mobx/hrmSalary/pages/taxAgent/components/index.less
@@ -78,5 +78,11 @@
margin: 12px 14px;
}
}
+
+ .tax_role_operator_setting_table {
+ .setting_table_title {
+ //line-height: 45px;
+ }
+ }
}
}
diff --git a/pc4mobx/hrmSalary/pages/taxAgent/components/roleDetailSetDialog/index.js b/pc4mobx/hrmSalary/pages/taxAgent/components/roleDetailSetDialog/index.js
index d39d5af8..3a7a1247 100644
--- a/pc4mobx/hrmSalary/pages/taxAgent/components/roleDetailSetDialog/index.js
+++ b/pc4mobx/hrmSalary/pages/taxAgent/components/roleDetailSetDialog/index.js
@@ -8,24 +8,43 @@
* @description:
*/
import React, { Component } from "react";
-import { WeaBrowser, WeaDialog, WeaFormItem, WeaInput, WeaLocaleProvider, WeaSelect, WeaTab, WeaTextarea } from "ecCom";
+import {
+ WeaBrowser,
+ WeaDialog,
+ WeaFormItem,
+ WeaInput,
+ WeaLocaleProvider,
+ WeaSelect,
+ WeaTab,
+ WeaTable,
+ WeaTextarea
+} from "ecCom";
import { commonEnumList } from "../../../../apis/archive";
+import * as API from "../../../../apis/taxAgent";
import { Button, Col, Row } from "antd";
import "../index.less";
const getLabel = WeaLocaleProvider.getLabel;
+const APIFOX = {
+ "auth.MemberTargetTypeEnum": API.authMemberList,
+ "auth.DataTargetTypeEnum": API.authDataList
+};
class Index extends Component {
constructor(props) {
super(props);
this.state = {
- selectedKey: "auth.MemberTargetTypeEnum", name: "", options: [], enumType: ""
+ selectedKey: "auth.MemberTargetTypeEnum", name: "", options: [], enumType: "",
+ columns: [], dataSource: [], pageInfo: { current: 1, pageSize: 10, total: 0 }
};
}
componentWillReceiveProps(nextProps, nextContext) {
if (nextProps.visible !== this.props.visible && nextProps.visible) {
- this.setState({ name: nextProps.name, selectedKey: "auth.MemberTargetTypeEnum" }, () => this.getEnumList());
+ this.setState({ name: nextProps.name, selectedKey: "auth.MemberTargetTypeEnum" }, () => {
+ this.getEnumList();
+ this.getSettingRoler(nextProps.roleId);
+ });
}
}
@@ -39,6 +58,26 @@ class Index extends Component {
if (!status) this.setState({ options: [], enumType: "" });
});
};
+ getSettingRoler = (roleId) => {
+ const { selectedKey, pageInfo } = this.state;
+ APIFOX[selectedKey]({ roleId, ...pageInfo }).then(({ status, data }) => {
+ if (status) {
+ const { columns, list: dataSource, pageNum: current, pageSize, total } = data;
+ this.setState({
+ dataSource, pageInfo: { ...pageInfo, current, pageSize, total },
+ columns: _.map(columns, o => {
+ if (o.dataIndex === "targetType") {
+ return {
+ ...o,
+ render: (txt, record) => ({txt})
+ };
+ }
+ return { ...o };
+ })
+ });
+ }
+ });
+ };
getOperatorSetting = () => {
const { selectedKey, enumType } = this.state;
if (selectedKey !== "auth.AuthTargetTypeEnum") {
@@ -61,7 +100,7 @@ class Index extends Component {
break;
case "SQL":
return (
-
+
);
default:
break;
@@ -75,12 +114,30 @@ class Index extends Component {
};
render() {
- const { selectedKey, name, options, enumType } = this.state;
+ const { roleId } = this.props;
+ const { selectedKey, name, options, enumType, pageInfo, columns, dataSource } = this.state;
const tabs = [
{ title: getLabel(111, "成员"), viewcondition: "auth.MemberTargetTypeEnum" },
{ title: getLabel(111, "权限"), viewcondition: "auth.AuthTargetTypeEnum" },
{ title: getLabel(111, "数据"), viewcondition: "auth.DataTargetTypeEnum" }
];
+ const pagination = {
+ ...pageInfo,
+ showTotal: total => `${getLabel(18609, "共")} ${total} ${getLabel(18256, "条")}`,
+ showQuickJumper: true,
+ showSizeChanger: true,
+ pageSizeOptions: ["10", "20", "50", "100"],
+ onShowSizeChange: (current, pageSize) => {
+ this.setState({
+ pageInfo: { ...pageInfo, current, pageSize }
+ }, () => this.getSettingRoler(roleId));
+ },
+ onChange: current => {
+ this.setState({
+ pageInfo: { ...pageInfo, current }
+ }, () => this.getSettingRoler(roleId));
+ }
+ };
return (
this.setState({
selectedKey: v, name: !name ? null : name
- }, () => this.state.selectedKey !== "auth.AuthTargetTypeEnum" && this.getEnumList())}/>
+ }, () => {
+ this.state.selectedKey !== "auth.AuthTargetTypeEnum" && this.getEnumList();
+ this.state.selectedKey !== "auth.AuthTargetTypeEnum" && this.getSettingRoler(roleId);
+ })}/>
this.setState({ enumType: v })}/>
{this.getOperatorSetting()}
@@ -113,7 +173,14 @@ class Index extends Component {
-
+ {/*表格*/}
+
+
+ {getLabel(111, "已设操作者")}
+
+
+
);