/* eslint-disable prefer-destructuring */ /* eslint no-dupe-keys: 0, no-mixed-operators: 0 */ import React from 'react'; import { Tabs, Badge, SearchBar, ListView, Modal, List, Button } from 'antd-mobile'; import 'antd-mobile/dist/antd-mobile.css'; import styles from '.././mobile.less'; import * as commonConfig from '../../utils/config'; import * as commonServices from '../../services/services'; import * as commonUtils from '../../utils/utils'; // function MyBody(props) { // return ( //
// you can custom body wrap element // {props.children} //
// ); // } // const prompt = Modal.prompt; const operation = Modal.operation; const tabs = [ { title: 全部数据v }, { title: 筛选.. }, ]; class DeviceMobile extends React.Component { constructor(props) { super(props); const dataSource = new ListView.DataSource({ rowHasChanged: (row1, row2) => row2, }); this.state = { dataSource: dataSource.cloneWithRows({}), isLoading: true, // 判断是否正在加载中 modal1: false, height: document.documentElement.clientHeight * 3 / 4, totalData: [], pageSize: 5, pageIndex: 1, hasMore: true, // 判断是否有更多 }; } async componentWillMount() { let { sModelType } = this.props; sModelType = commonUtils.isEmptyObject(sModelType) ? 'device' : sModelType; const { token } = this.props.app; const configUrl = `${commonConfig.server_host}mobilephone/getMenu/${sModelType}?sModelsId=100`; const configReturn = (await commonServices.getService(token, configUrl)).data; if (configReturn.code === 1) { const returnData = configReturn.dataset.rows[0];/* 全部数据 */ if (commonUtils.isNotEmptyArr(returnData)) { const sModelsId = returnData.sId; const configUrl = `${commonConfig.server_host}business/getModelBysId/${sModelsId}?sModelsId=${sModelsId}`; const configReturn = (await commonServices.getService(token, configUrl)).data; if (configReturn.code === 1) { const [configData] = configReturn.dataset.rows; const masterConfig = configData.formData.filter(item => item.bGrd)[0]; if (commonUtils.isNotEmptyArr(masterConfig)) { this.setState({ masterConfig, sModelsId }); } const configDataId = masterConfig.sId; const dataUrl = `${commonConfig.server_host}business/getBusinessDataByFormcustomId/${configDataId}?sModelsId=${sModelsId}`; const dataReturn = (await commonServices.postValueService(token, { pageNum: this.state.pageIndex, pageSize: this.state.pageSize }, dataUrl)).data; if (configReturn.code === 1) { if (commonUtils.isNotEmptyArr(dataReturn.dataset.rows)) { const dT = dataReturn.dataset.rows; if (dT.length > 0) { this.setState({ totalData: dT[0].dataSet }); this.getInitData(); } } } } } } } // componentDidMount() { // } onEndReached = async (event) => { // load new data // hasMore: from backend data, indicates whether it is the last page, here is false if (this.state.isLoading && !this.state.hasMore) { return; } console.log('reach end', event); this.setState({ isLoading: true, hasMore: true }); // var token=this.state.token; const { token } = this.props.app; let currpagedata = []; // var size=this.state.pageSize; // var status=this.state.status; const configDataId = this.state.masterConfig.sId; const dataUrl = `${commonConfig.server_host}business/getBusinessDataByFormcustomId/${configDataId}?sModelsId=${this.state.sModelsId}`; const dataReturn = (await commonServices.postValueService(token, { pageNum: this.state.pageIndex, pageSize: this.state.pageSize }, dataUrl)).data; console.log('===pageNum====', this.state.pageIndex); if (dataReturn.code === 1) { if (commonUtils.isNotEmptyArr(dataReturn.dataset.rows)) { const dT = dataReturn.dataset.rows; if (dT.length > 0) { currpagedata = dT[0].dataSet; } } } setTimeout(() => { const priortotalData = this.state.totalData; // 小于 pageIndex 的订单 this.rData = priortotalData.concat(currpagedata); this.setState({ dataSource: this.state.dataSource.cloneWithRows(this.rData), isLoading: false, pageIndex: this.state.pageIndex + 1, totalData: this.rData, }); }, 1000); } onClose = key => () => { this.setState({ [key]: false, }); } getInitData=() => { this.setState({ isLoading: true, hasMore: true, pageIndex: 1, }); // const that = this; // 取第一页订单 作为初始 // const page = 1; // const size = this.state.pageSize; // that.props.orderAction.getOrderList({ // token, status, page, size, // }); const dT = this.state.totalData; if (dT.length > 0) { setTimeout(() => { this.rData = this.genData(); this.setState({ dataSource: this.state.dataSource.cloneWithRows(this.rData), isLoading: false, pageIndex: this.state.pageIndex + 1, }); }, 600); } } genData() { const dataArr = []; let order = []; // const order = this.props.order.orderList; const dT = this.state.totalData; if (dT.length > 0) { order = dT; for (let i = 0; i < order.length; i += 1) { dataArr.push(order[i]); } } return dataArr; } render() { const { masterConfig } = this.state; if (masterConfig === undefined) { return (
); } const f1 = masterConfig.gdsconfigformslave.filter(item => item.bVisible)[0]; const f2 = masterConfig.gdsconfigformslave.filter(item => item.bVisible)[1]; const f3 = masterConfig.gdsconfigformslave.filter(item => item.bVisible)[2]; const f4 = masterConfig.gdsconfigformslave.filter(item => item.bVisible)[3]; const f5 = masterConfig.gdsconfigformslave.filter(item => item.bVisible)[4]; const separator = (sectionID, rowID) => (
); const row = (rowData, sectionID, rowID) => { const obj = rowData; return (
{f1.showName}:{obj[f1.sName]} {obj[f2.sName]}
{f3.showName}:{obj[f3.sName]}
{f4.showName}:{obj[f4.sName]} {f5.showName}: {obj[f4.sName]} {masterConfig.gdsconfigformslave.filter(item => item.bVisible).map((item, iIndex) => { if (iIndex > 5) { return (
item.showName:{obj[item.sName]}
); } else { return (''); } })}
); }; return (
{ console.log('onChange', index, tab); }} onTabClick={(tab, index) => { if (index === 0) { operation([ { text: '全部单据', onPress: () => console.log('标为未读被点击了') }, { text: '已审核单据', onPress: () => console.log('置顶聊天被点击了') }, { text: '本月单据', onPress: () => console.log('置顶聊天被点击了') }, ]); } else { this.setState({ modal1: true, }); } }} >
{ this.lv = el; }} dataSource={this.state.dataSource} // initialListSize={5} // 进入页面时记录数 // renderHeader={() => header} renderFooter={() => (
{this.state.isLoading ? 'Loading...' : 'Loaded'}
)} renderRow={row} renderSeparator={separator} style={{ height: this.state.height, overflow: 'auto', }} pageSize={this.state.pageSize} onScroll={() => {}} scrollRenderAheadDistance={500} onEndReached={this.onEndReached} onEndReachedThreshold={10} /> { alert('afterClose'); }} >
筛选条件
} > {['股票名称', '股票代码', '买入价格'].map((i, index1) => ( {i} ))}
); } } export default DeviceMobile;