antd Class组件 发起请求PC端 清除定时器

import React, { Component, Fragment } from 'react';
import { connect } from 'dva';
import { Form, Input, Select, Row, Col } from 'antd';
import styles from './waitingScreen.less';
import circle from '../../../assets/waiting/circle.gif';
import person from '../../../assets/waiting/person.png';
import { GetSerialNumberList } from '../../../services/waiting';

@Form.create()
// 修饰器只能放在类的前面
@connect(({ waiting }) => {
  return {
    waiting,
  };
})
class Waiting extends Component {
  constructor(props) {
    super(props);
    console.log(props);
    this.state = {
      listData: [],
      currentPerson: {},
      getTimer: '',
    };
  }

  getSerialNumberList = (page = 1, pageSize = 6) => {
    GetSerialNumberList({
      OrderBy: '',
      Page: page,
      ItemsPerPage: pageSize,
      SerialNumberStatus: 1001,
    }).then(res => {
      if (res && res.Details) {
        this.setState({
          listData: res.Details.slice(1) || [],
          currentPerson: res.Details[0] || {},
        });
      }
    });
  };

  componentDidMount() {****************************************
    this.getSerialNumberList();
    const timer = setInterval(() => {
      this.getSerialNumberList();
    }, 10000);
    window.onbeforeunload = () => {
      clearInterval(timer);
    };
  }

  render() {
    const { listData, currentPerson } = this.state;

    return (
      <div className={styles.pageContainer}>
        <div className={styles.watingImgBox}>
          <img src={circle} className={styles.waitingImg} />
          <div className={styles.currentPerson}>
            <div className={styles.count}>{currentPerson.SerialNumer}</div>
            <div className={styles.staffName}>{currentPerson.StaffName} </div>
          </div>
          <p className={styles.handle}>正在办理</p>
        </div>
        <div className={styles.waitingBox}>
          <div className={styles.waitingListTitle}>
            <img src={person} className={styles.personIcon} alt="" />
            排队中
          </div>
          <Row gutter={40} className={styles.waitingList}>
            {listData.map(item => {
              return (
                <Col className={styles.staffItem} key={item.Id}>
                  <span className={styles.staffNum}>{item.SerialNumer}</span>
                  <span className={styles.staffName}>{item.StaffName}</span>
                </Col>
              );
            })}
          </Row>
        </div>
      </div>
    );
  }
}

export default connect()(Waiting);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值