/** * 免费在线发放 */ import React, { Component } from "react"; import { connect } from "dva"; import "../financialWallet.less"; import { withRouter } from "dva/router"; import $modal from "../modal"; import { pageComGrantInfoList, saveComGrantInfo, getComWalletServiceOpenInfo, deleteComGrantInfo } from "../../../services/api"; import { Tabs, Alert, Input, Button, Table, Modal, Form, Select, Drawer, Spin } from "antd"; const { TabPane } = Tabs; const { Option } = Select; const formItemLayout = { labelCol: { xs: { span: 5 }, sm: { span: 5 } }, wrapperCol: { xs: { span: 18 }, sm: { span: 18 } } }; @connect(state => ({ profile: state.profile })) @withRouter @Form.create() export default class FreeDistribution extends Component { constructor(props, context) { super(props, context); this.state = { // 搜索部分 searchData: { // 表格数据请求参数 keyword: "", //关键字 pageNumber: "1", // 页 pageSize: "10" //条目 }, keyword: "", //关键字 // 表格部分 tableList: [], // 表格数据 pagination: { //分页数据 total: 1, current: 1, pageSize: 10, showSizeChanger: true, showQuickJumper: true }, selectedRows: [], //表格中选中的数组 selectedRowKeys: [], addVisibale: false, //抽屉的显示隐藏 record: null, //存储基础信息 basicVisibale: false //基础信息控制 }; } componentDidMount() { this.__getTable(this.state.searchData); } __getTable(data) { pageComGrantInfoList(data).then(res => { this.setState({ tableList: res.data.data, pagination: { ...this.state.pagination, total: res.data.total, current: res.data.pageNumber, pageSize: res.data.pageSize } }); }); } basicSubmitHandle = e => { e.preventDefault(); this.props.form.validateFields((err, values) => { console.log(values); }); }; handleSubmit = e => { e.preventDefault(); this.setState({ submitStatus: true }); this.props.form.validateFields((err, values) => { if (!err) { getComWalletServiceOpenInfo().then(res => { const { isCompleteOpen } = res.data; if (isCompleteOpen == 0) { $modal( "您的企业未开通钱包服务", "未开通企业钱包服务,无法进行薪资代发,请先开通企业钱包服务!", [ { text: "去开通", type: "primary", onPress: () => { this.props.history.push("/finance/business-wallet"); } }, { text: "取消", onPress: () => { console.log("关闭新增弹窗"); } } ] ); } else { saveComGrantInfo(values).then(res => { const { comGrantId } = res.data; this.props.history.push( `/finance/salary-proxy-list?comGrantId=${comGrantId}` ); }); } }); } }); }; // 表格渲染 renderOrderList = () => { const columns = [ { title: "代发单号", dataIndex: "comGrantId", key: "comGrantId" }, { title: "标题", dataIndex: "title", key: "title" }, { title: "备注", textWrap: "ellipsis", dataIndex: "remark", key: "remark", render: (text, record) => { return ( {text} ); } }, { title: "创建人", dataIndex: "createBy", key: "createBy" }, { title: "创建时间", dataIndex: "createTime", key: "createTime" }, { title: "发放类型", dataIndex: "grantType", key: "grantType" }, { title: "发薪年月", dataIndex: "grantYears", key: "grantYears", render: value => value || "-" }, { title: "数据来源", dataIndex: "grantDataSource", key: "grantDataSource", render: value => value || "-" }, { title: "状态", dataIndex: "allGrantStatusStr", key: "allGrantStatusStr", render: (text, record) => { let color = ""; // 0 待发放 // 1 正在发放 // 2 部分完成 // 3 全部完成 if (record.allGrantStatus == "0") { color = "orange"; } else if (record.allGrantStatus == "1") { color = "#1890ff"; } else if (record.allGrantStatus == "2") { color = "orange"; } else if (record.allGrantStatus == "3") { color = "green"; } return (
{/* */} {record.allGrantStatusStr}
); } }, { title: "操作", dataIndex: "operation", key: "operation", render: (text, record) => (
{/* 0 待发放 1 正在发放 2 部分完成 3 全部完成 */} {/* 基础信息 */} {/* {(() => { // 正在发放 不可操作 if (record.allGrantStatus == 1) { return ( 基础信息 ); } else { return ( { this.setState({ record, basicVisibale: true }); }} > 基础信息 ); } })()} */} {/* 代发列表 */} {(() => { if (record.allGrantStatus == 1) { return ( 代发列表 ); } else { return ( { this.props.history.push( `/finance/salary-proxy-list?comGrantId=${record.comGrantId}` ); }} > 代发列表 ); } })()} {/* 删除 */} {(() => { if (record.allGrantStatus == 0 && record.isCanDelete == "1") { return ( { $modal( "即将删除在线发放记录", "在线发放记录删除后,不可恢复,是否继续?", [ { text: "继续", type: "primary", onPress: () => { console.log(record.comGrantId); deleteComGrantInfo({ comGrantId: record.comGrantId }).then(res => { this.__getTable(this.state.searchData); }); } }, { text: "取消" } ], "warning" ); }} > 删除 ); } else { return; } })()}
) } ]; return (
{ const searchData = { // 搜索数据 ...this.state.searchData, pageNumber: pagination.current, // 页 pageSize: pagination.pageSize }; this.setState( { searchData }, () => { this.__getTable(searchData); } ); }} /> ); }; render() { const { getFieldDecorator } = this.props.form; return (
薪资代发:企业可在本页面调取薪酬核算数据,通过企业钱包服务向员工个人钱包中分发工资,代发前,请确定钱包余额是否充足;
代发时长:代发订单发起后,系统会逐单处理,发放人数越多,时间越长,请耐心等待;
新增代发:若您需要进行薪资代发,请点击“新增代发”按钮进行操作。
} type="warning" showIcon style={{ marginBottom: "15px" }} />
{this.renderOrderList()}
{/* 新增弹窗 */} { this.setState({ addVisibale: false }); }} visible={this.state.addVisibale} >
{getFieldDecorator("title", { // initialValue: this.state.companyInfo.comName, rules: [ { required: true, message: "请输入标题" }, { validator: (rule, value, callback) => { if (value && !/^\S{0,20}$/.test(value)) { callback("请输入标题!最大20个字符"); } else { callback(); } } } ] })()} {getFieldDecorator("remark", { // initialValue: this.state.companyInfo.comName, rules: [ { required: true, message: "请输入备注" }, { validator: (rule, value, callback) => { if (value && !/^\S{0,300}$/.test(value)) { callback("请输入备注!最大300个字符"); } else { callback(); } } } ] })()} {getFieldDecorator("grantType", { initialValue: "1", rules: [ { required: true, message: "请下选择发放类型" } ] })( )} 系统会自动关联人员的钱包账户号作为收款账号。
{/* 基础信息抽屉 */} { this.setState({ basicVisibale: false }); }} visible={this.state.basicVisibale} >
{(() => { if (!this.state.record) return; return (
{getFieldDecorator("comGrantId", { initialValue: this.state.record.comGrantId // rules: [ // { // max: , // message: "限制个字符" // } // ] })()} {getFieldDecorator("title", { initialValue: this.state.record.title, rules: [ { max: 20, message: "限制20个字符" } ] })()} {getFieldDecorator("remark", { initialValue: this.state.record.remark, rules: [ { max: 200, message: "限制200个字符" } ] })()} {getFieldDecorator("createBy", { initialValue: this.state.record.createBy })()} {getFieldDecorator("grantType", { initialValue: this.state.record.grantType })()} {getFieldDecorator("allGrantStatus", { initialValue: this.state.record.allGrantStatus })( )} ); })()}
{/* */}
); } }