/** * 购买云会议资源 */ import React, { Component } from "react"; import { connect } from "dva"; import { Form, Alert, Tabs, Breadcrumb, Button } from "antd"; import SelectResource from "./SelectResource"; import SelectAddServices from "./SelectAddServices"; import SelectHardEquipment from "./SelectHardEquipment"; import ConfirmOrder from "./ConfirmOrder"; import "../../meeting.less"; import { formatCurrency } from "../../../../utils/utils"; const { TabPane } = Tabs; @connect(state => ({ comName: state.global.companyInfo.comName, mobilePhone: state.user.currentUser.mobilePhone })) @Form.create() export default class BuyResource extends Component { constructor(props, context) { super(props, context); this.state = { buyMeetingResource: [], //选择会议资源 buyHardEquipment: [], //选择硬件资源 buyAddServices: [], //选择增值服务 mergeList: [], //合并后的所有购买资源 totalAmount: 0, //总价 keyTab: "1", randomNum: 1 //随机值 }; } //过滤每个人的购买列表 _filterBuyList(buyList, itemInfoList, itemName,productServiceType) { const productInfoList = itemInfoList.filter(list => { return list.amount > 0; }); if (productInfoList.length > 0) { productInfoList.map(infolist => { buyList.push({ name: itemName, productServiceType, ...infolist }); }); } return buyList; } //合并金额 _merge() { let buyMeetingResource = []; this.state.buyMeetingResource.map(item => { buyMeetingResource = this._filterBuyList( buyMeetingResource, item.productInfoList, item.name, item.productServiceType ); }); let buyHardEquipment = []; this.state.buyHardEquipment.map(item => { buyHardEquipment = this._filterBuyList( buyHardEquipment, item.productInfoList, item.name, item.productServiceType ); }); let buyAddServices = []; this.state.buyAddServices.map(item => { buyAddServices = this._filterBuyList( buyAddServices, item.productInfoList, item.name, item.productServiceType ); }); const mergeList = buyMeetingResource.concat( buyHardEquipment.concat(buyAddServices) ); if (mergeList.length > 0) { let totalAmount = 0; mergeList.forEach(item => { totalAmount += item.amount; }); this.setState({ totalAmount }); } else { this.setState({ totalAmount: 0 }); } this.setState({ mergeList }); } //下一步按钮统一渲染 renderNextState() { return ( ); } //上一步按钮统一渲染 renderBackState() { return ( ); } nextState(param) { if (param === "add") { //加一步 this.setState({ keyTab: (parseInt(this.state.keyTab) + 1).toString(), randomNum: Math.random() }); } else { // 减一步 this.setState({ keyTab: (parseInt(this.state.keyTab) - 1).toString(), randomNum: Math.random() }); } } render() { const { mergeList, totalAmount } = this.state; return (