diff --git a/pc4mobx/hrmSalary/apis/taxAgent.js b/pc4mobx/hrmSalary/apis/taxAgent.js index fb5d8945..499d25c2 100644 --- a/pc4mobx/hrmSalary/apis/taxAgent.js +++ b/pc4mobx/hrmSalary/apis/taxAgent.js @@ -112,8 +112,20 @@ export const deleteAuthRole = (params) => { export const authMemberList = (params) => { return postFetch("/api/bs/hrmsalary/auth/member/list", params); }; +//保存成员 +export const saveAuthMember = (params) => { + return postFetch("/api/bs/hrmsalary/auth/member/save", params); +}; //数据列表 export const authDataList = (params) => { return postFetch("/api/bs/hrmsalary/auth/data/list", params); }; +//保存数据 +export const saveAuthData = (params) => { + return postFetch("/api/bs/hrmsalary/auth/data/save", params); +}; +//同步数据 +export const syncAuthData = (params) => { + return postFetch("/api/bs/hrmsalary/auth/data/sync", params); +}; diff --git a/pc4mobx/hrmSalary/pages/taxAgent/components/index.less b/pc4mobx/hrmSalary/pages/taxAgent/components/index.less index f1e20c81..85b34deb 100644 --- a/pc4mobx/hrmSalary/pages/taxAgent/components/index.less +++ b/pc4mobx/hrmSalary/pages/taxAgent/components/index.less @@ -81,7 +81,9 @@ .tax_role_operator_setting_table { .setting_table_title { - //line-height: 45px; + & > .operator { + line-height: 45px; + } } } } diff --git a/pc4mobx/hrmSalary/pages/taxAgent/components/roleDetailSetDialog/index.js b/pc4mobx/hrmSalary/pages/taxAgent/components/roleDetailSetDialog/index.js index 3a7a1247..a4d5dde9 100644 --- a/pc4mobx/hrmSalary/pages/taxAgent/components/roleDetailSetDialog/index.js +++ b/pc4mobx/hrmSalary/pages/taxAgent/components/roleDetailSetDialog/index.js @@ -14,6 +14,7 @@ import { WeaFormItem, WeaInput, WeaLocaleProvider, + WeaScope, WeaSelect, WeaTab, WeaTable, @@ -21,13 +22,15 @@ import { } from "ecCom"; import { commonEnumList } from "../../../../apis/archive"; import * as API from "../../../../apis/taxAgent"; -import { Button, Col, Row } from "antd"; +import { Button, Col, message, Modal, Row } from "antd"; import "../index.less"; const getLabel = WeaLocaleProvider.getLabel; const APIFOX = { "auth.MemberTargetTypeEnum": API.authMemberList, - "auth.DataTargetTypeEnum": API.authDataList + "save.auth.MemberTargetTypeEnum": API.saveAuthMember, + "auth.DataTargetTypeEnum": API.authDataList, + "save.auth.DataTargetTypeEnum": API.saveAuthData }; class Index extends Component { @@ -35,6 +38,7 @@ class Index extends Component { super(props); this.state = { selectedKey: "auth.MemberTargetTypeEnum", name: "", options: [], enumType: "", + replaceDatas: [], loading: { set: false, query: false, async: false }, columns: [], dataSource: [], pageInfo: { current: 1, pageSize: 10, total: 0 } }; } @@ -45,6 +49,8 @@ class Index extends Component { this.getEnumList(); this.getSettingRoler(nextProps.roleId); }); + } else { + this.setState({ replaceDatas: [], pageInfo: { current: 1, pageSize: 10, total: 0 } }); } } @@ -60,26 +66,56 @@ class Index extends Component { }; getSettingRoler = (roleId) => { const { selectedKey, pageInfo } = this.state; + this.setState({ loading: { ...this.state.loading, query: true } }); APIFOX[selectedKey]({ roleId, ...pageInfo }).then(({ status, data }) => { + this.setState({ loading: { ...this.state.loading, query: false } }); 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 }; }) }); } }); }; + addOperatorSettings = () => { + const { roleId } = this.props; + const { selectedKey, enumType: targetType, replaceDatas } = this.state; + if (_.isEmpty(replaceDatas)) { + Modal.warning({ + title: getLabel(111, "系统提示"), + content: getLabel(111, "请先选择操作对象的值!") + }); + return; + } + const payload = _.map(replaceDatas, o => ({ roleId, targetType, target: o.id || "", targetName: o.name || "" })); + this.setState({ loading: { ...this.state.loading, set: true } }); + APIFOX[`save.${selectedKey}`](payload).then(({ status, errormsg }) => { + this.setState({ loading: { ...this.state.loading, set: false } }); + if (status) { + message.success(getLabel(111, "操作成功!")); + this.getSettingRoler(roleId); + } else { + message.error(errormsg); + } + }); + }; + syncAuthData = () => { + const { roleId } = this.props; + this.setState({ async: true }); + API.syncAuthData({ roleId }).then(({ status, errormsg }) => { + this.setState({ async: false }); + if (status) { + message.success(getLabel(111, "操作成功!")); + } else { + message.error(errormsg); + } + }); + }; getOperatorSetting = () => { - const { selectedKey, enumType } = this.state; + const { selectedKey, enumType, replaceDatas } = this.state; if (selectedKey !== "auth.AuthTargetTypeEnum") { let browserType = {}; switch (enumType) { @@ -100,13 +136,21 @@ class Index extends Component { break; case "SQL": return ( - + this.setState({ replaceDatas: [{ id: v, name: v }] })}/> ); + case "LEVEL": + return ( + + ); default: - break; + return (); } return ( - + this.setState({ replaceDatas })}/> ); } else { return (权限); @@ -115,7 +159,7 @@ class Index extends Component { render() { const { roleId } = this.props; - const { selectedKey, name, options, enumType, pageInfo, columns, dataSource } = this.state; + const { selectedKey, name, options, enumType, pageInfo, columns, dataSource, loading } = this.state; const tabs = [ { title: getLabel(111, "成员"), viewcondition: "auth.MemberTargetTypeEnum" }, { title: getLabel(111, "权限"), viewcondition: "auth.AuthTargetTypeEnum" }, @@ -141,6 +185,9 @@ class Index extends Component { return ( {getLabel(111, "同步")} + ]} style={{ width: 960, height: 606.6, minHeight: 200, minWidth: 380, maxHeight: "90%", maxWidth: "90%", overflow: "hidden", transform: "translate(0px, 0px)" @@ -160,25 +207,26 @@ class Index extends Component {
this.setState({ - selectedKey: v, name: !name ? null : name + selectedKey: v, name: !name ? null : name, replaceDatas: [] }, () => { this.state.selectedKey !== "auth.AuthTargetTypeEnum" && this.getEnumList(); this.state.selectedKey !== "auth.AuthTargetTypeEnum" && this.getSettingRoler(roleId); })}/> this.setState({ enumType: v })}/> + onChange={v => this.setState({ enumType: v, replaceDatas: [] })}/> {this.getOperatorSetting()} - +
{/*表格*/} -
{getLabel(111, "已设操作者")}
- +
{getLabel(111, "已设操作者")}
+