/* * 角色详情设置弹窗 * 成员、数据明细查询 * @Author: 黎永顺 * @Date: 2024/9/27 * @Wechat: * @Email: 971387674@qq.com * @description: */ import React, { Component } from "react"; import { WeaDialog, WeaInputSearch, WeaLocaleProvider, WeaTable } from "ecCom"; import * as API from "../../../../apis/taxAgent"; import "../index.less"; const getLabel = WeaLocaleProvider.getLabel; const APIFOX = { "auth.MemberTargetTypeEnum": API.authMemberDetail, "auth.DataTargetTypeEnum": API.authDataDetail }; class DetailDialog extends Component { constructor(props) { super(props); this.state = { loading: false, pageInfo: { current: 1, pageSize: 10, total: 0 }, query: { username: "" }, dataSource: [], columns: [] }; } componentWillReceiveProps(nextProps, nextContext) { if (nextProps.visible !== this.props.visible && nextProps.visible) this.getData(nextProps); if (nextProps.visible !== this.props.visible && !nextProps.visible) this.setState({ query: { username: "" }, pageInfo: { current: 1, pageSize: 10, total: 0 } }); } getData = (props) => { const { pageInfo, query } = this.state, { roleId, selectedKey } = props || this.props; let payload = { ...pageInfo, ...query, roleId }; this.setState({ loading: true }); APIFOX[selectedKey](payload).then(({ status, data }) => { this.setState({ loading: false }); if (status) { const { columns, list: dataSource, pageNum: current, pageSize, total } = data; this.setState({ columns, dataSource, pageInfo: { ...pageInfo, current, pageSize, total } }); } }); }; renderTitle = () => { const { selectedKey } = this.props, { query } = this.state; const title = selectedKey === "auth.MemberTargetTypeEnum" ? getLabel(111, "成员明细") : getLabel(111, "数据明细"); return (