/* * Author: 黎永顺 * name: 工资单发放-重构页面 * Description: * Date: 2023/10/12 */ import React, { Component } from "react"; import { inject, observer } from "mobx-react"; import { WeaLocaleProvider, WeaReqTop } from "ecCom"; import GrantQuery from "./components/reqQuery/grantQuery"; import TemplateQuery from "./components/reqQuery/templateQuery"; import GrantTableList from "./components/grantTableList"; import PayrollTemplateTableList from "./components/payrollTemplateTableList"; import TemplateBaseSettings from "../payroll/templateBaseSettings"; import LogDialog from "../../components/logViewModal"; import { Button } from "antd"; import moment from "moment"; import "./index.less"; const getLabel = WeaLocaleProvider.getLabel; @inject("taxAgentStore") @observer class Index extends Component { constructor(props) { super(props); this.state = { selectedKey: "grant", isRefresh: false, baseSetSaveLoading: false, queryParams: { salarySobId: "", name: "", dateRange: [ moment(new Date()).subtract(1, "year").startOf("year").format("YYYY-MM"), moment(new Date()).endOf("year").format("YYYY-MM") ] }, logDialogVisible: false, filterConditions: "[]" }; this.templateRef = null; this.baseSetRef = null; } renderReqBtns = () => { const { taxAgentStore: { showOperateBtn } } = this.props; const { selectedKey, isRefresh, queryParams } = this.state; let reqBtns = []; switch (selectedKey) { case "grant": reqBtns = [ this.setState({ isRefresh: !isRefresh, queryParams: { ...queryParams, ...v } })}/> ]; break; case "template": const loading = this.templateRef ? this.templateRef.wrappedInstance.state.delLoading : false; const delDisabled = !this.templateRef || _.isEmpty(this.templateRef.wrappedInstance.state.selectedRowKeys); const btns = [ , ]; const queryBtns = [ this.setState({ isRefresh: !isRefresh })} onChange={v => this.setState({ isRefresh: _.keys(v)[0] === "name" ? isRefresh : !isRefresh, queryParams: { ...queryParams, ...v } })}/> ]; reqBtns = showOperateBtn ? [...btns, ...queryBtns] : [...queryBtns]; break; case "watermark": const { baseSetSaveLoading } = this.state; reqBtns = [ ]; break; default: break; } return reqBtns; }; renderContent = () => { const { selectedKey, queryParams, isRefresh } = this.state; let dom = null; switch (selectedKey) { case "grant": dom = this.setState({ selectedKey: "template" }, () => { this.templateRef.wrappedInstance.handleOpts({ key: "edit" }, { id }); })} onFilterLog={(type, targetid) => this.onDropMenuClick(type, targetid)} />; break; case "template": dom = this.templateRef = dom} queryParams={queryParams} isRefresh={isRefresh} forceUpdate={() => this.forceUpdate()} onFilterLog={(type, targetid) => this.onDropMenuClick(type, targetid)}/>; break; case "watermark": dom = this.baseSetRef = dom} onChangeLoading={loading => this.setState({ baseSetSaveLoading: loading })} />; break; default: break; } return dom; }; onDropMenuClick = (key, targetid = "") => { switch (key) { case "log": this.setState({ logDialogVisible: true, filterConditions: targetid ? `[{\"connectCondition\":\"AND\",\"columIndex\":\"targetid\",\"type\":\"=\",\"value\":\"${targetid}\"}]` : "[]" }); break; default: break; } }; render() { const { selectedKey, queryParams, logDialogVisible, filterConditions } = this.state; const tabs = [ { key: "grant", title: getLabel(538012, "工资单发放") }, { key: "template", title: getLabel(543575, "工资单模板设置") }, { key: "watermark", title: getLabel(545285, "工资单基础设置") } ]; return (
} iconBgcolor="#F14A2D" onChange={key => this.setState({ selectedKey: key, queryParams: { ...queryParams, name: "", salarySobId: "" } })} buttons={this.renderReqBtns()} showDropIcon={selectedKey !== "watermark"} onDropMenuClick={this.onDropMenuClick} dropMenuDatas={[ { key: "log", icon: , content: getLabel(545781, "操作日志") } ]} >
{this.renderContent()}
{/*操作日志*/} this.setState({ logDialogVisible: false })} filterConditions={filterConditions}/>
); } } export default Index;