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, "已设操作者")}
+ + +
);