import React from "react"; import { inject, observer } from "mobx-react"; import { Button, DatePicker } from "antd"; import { WeaTop } from "ecCom"; import { renderNoright } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中 import CustomTab from "../../components/customTab"; import CustomTable from "../../components/customTable"; import { columns } from "./columns"; import GenerateModal from "./generateModal"; import moment from "moment"; const { MonthPicker } = DatePicker; @inject("declareStore", "taxAgentStore") @observer export default class Declare extends React.Component { constructor(props) { super(props); this.state = { value: "", selectedKey: "0", declarationModalVisible: false, startDate: moment(new Date()).startOf("year").format("YYYY-MM"), endDate: moment(new Date()) .startOf("month") .format("YYYY-MM") }; this.searchParams = { current: 1 }; this.pageInfo = { current: 1, pageSize: 10 }; columns.map((item) => { if (item.dataIndex == "cz") { item.render = (text, record) => { return ( { window.open( "/spa/hrmSalary/static/index.html#/main/hrmSalary/generateDeclarationDetail?id=" + record.id ); }}> 查看 ); }; } }); } componentWillMount() { const { taxAgentStore: { getTaxAgentSelectListAsAdmin }, declareStore: { getDeclareList } } = this.props; this.searchParams = { fromSalaryMonthStr: this.state.startDate, endSalaryMonthStr: this.state.endDate, current: 1 }; getDeclareList(this.searchParams); getTaxAgentSelectListAsAdmin(); } // 日期区间改变事件 handleRangePickerChange(type, value) { const { declareStore: { getDeclareList } } = this.props; this.setState({ [type]: value ? moment(value).format("YYYY-MM") : moment().format("YYYY-MM") }, () => { this.pageInfo.current = 1; const { startDate: fromSalaryMonthStr, endDate: endSalaryMonthStr } = this.state; getDeclareList({ fromSalaryMonthStr, endSalaryMonthStr, ...this.pageInfo }); }); } // 查询列表 handleSearch() { this.setState({ declarationModalVisible: false }, () => { const { declareStore } = this.props; const { getDeclareList } = declareStore; this.searchParams = { fromSalaryMonthStr: this.state.startDate, endSalaryMonthStr: this.state.endDate, current: 1 }; getDeclareList(this.searchParams); }); } getColumns() { const { declareStore: { listColumns } } = this.props; let columns = [...listColumns]; columns.push({ title: "操作", dataIndex: "operate", render: (text, record) => { return ( { window.open( "/spa/hrmSalary/static/index.html#/main/hrmSalary/generateDeclarationDetail?id=" + record.id ); }}> 查看 ); } }); return columns; } handleDataPageChange(value) { const { declareStore: { getDeclareList } } = this.props; this.searchParams = { fromSalaryMonthStr: this.state.startDate, endSalaryMonthStr: this.state.endDate, current: value }; getDeclareList(this.searchParams); } handleShowSizeChange(pageInfo) { const { declareStore: { getDeclareList } } = this.props; this.searchParams = { fromSalaryMonthStr: this.state.startDate, endSalaryMonthStr: this.state.endDate, ...pageInfo }; getDeclareList(this.searchParams); } render() { const { declareStore, taxAgentStore: { showOperateBtn } } = this.props; const { loading, hasRight, form, condition, tableStore, showSearchAd, getTableDatas, doSearch, setShowSearchAd, listDataSource, listColumns, pageInfo } = declareStore; if (!hasRight && !loading) { // 无权限处理 return renderNoright(); } const rightMenu = [ // 右键菜单 // { // key: "BTN_COLUMN", // icon: , // content: "显示列定制", // onClick: this.showColumn // } ]; const collectParams = { // 收藏功能配置 favname: "个税申报表", favouritetype: 1, objid: 0, link: "wui/index.html#/ns_demo03/index", importantlevel: 1 }; const renderRightOperation = () => { const { startDate, endDate } = this.state; return (
{ return current && endDate && current.getTime() > new Date(endDate).getTime(); }} format="YYYY-MM" onChange={(val) => this.handleRangePickerChange("startDate", val)} /> { return current && startDate && current.getTime() < new Date(startDate).getTime(); }} format="YYYY-MM" onChange={(val) => this.handleRangePickerChange("endDate", val)} /> { showOperateBtn && }
); }; return (
} // 左侧图标 iconBgcolor="#F14A2D" // 左侧图标背景色 showDropIcon={false} // 是否显示下拉按钮 dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同) dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能 > { this.handleDataPageChange(value); }, total: pageInfo.total, showTotal: (total) => `共 ${total} 条`, current: pageInfo.pageNum }} /> {this.state.declarationModalVisible && ( { this.handleSearch(); }} visible={this.state.declarationModalVisible} onCancel={() => { this.setState({ declarationModalVisible: false }); }} /> )}
); } }