import React from "react"; import "antd-mobile-v2/dist/antd-mobile.css"; import { Icon, NavBar, TabBar, Modal } from "antd-mobile-v2"; // import { routerRedux } from 'dva/router'; import { connect, history, useLocation } from "umi"; import * as commonUtils from "@/utils/utils"; import styles from "./IndexMobile.less"; import SceneMobile from "./common/SceneMobile"; import MessageMobile from "./common/MessageMobile"; import ContactsMobile from "./common/ContactsMobile"; import WorkBenchMobile from "./common/WorkBenchMobile"; import CommobileList from "./commobileList/commobileList"; import ProcessReportMobile from "./common/ProcessReportMobile"; import MyselfMobile from "./common/MyselfMobile"; import ContactsInfoMobile from "./common/ContactsInfoMobile"; import RevisePasswordMobile from "./common/RevisePasswordMobile"; import CommobileBill from "./common/commobileBill"; import CommobilePrintPdf from "./common/commobilePrintPdf"; import ExamineMobile from "./common/ExamineMobile"; import Icon1 from "../../assets/mobile/1.png"; import Icon11 from "../../assets/mobile/11.png"; import Icon2 from "../../assets/mobile/2.png"; import Icon21 from "../../assets/mobile/21.png"; import Icon3 from "../../assets/mobile/3.png"; import Icon31 from "../../assets/mobile/31.png"; // import Icon4 from '../../assets/mobile/4.png'; // import Icon41 from '../../assets/mobile/41.png'; import Icon5 from "../../assets/mobile/5.png"; import Icon51 from "../../assets/mobile/51.png"; // import AppUtil from '../../utils/AppUtil'; import * as commonBusiness from "../../components/Common/commonBusiness"; // eslint-disable-next-line prefer-destructuring const alert = Modal.alert; class IndexMobile extends React.Component { constructor(props) { super(props); this.state = { selectedTab: "scene", title: "现场", hidden: false, fullScreen: true, touchStartPageX: 0, // 滑动开始的Y坐标 touchStartPageY: 0, }; } componentWillMount() { history.push("/indexMobile"); // 刷新时更新路由,避免底部按钮和返回按钮错乱显示 console.log("🚀 ~ IndexMobile ~ componentWillMount ~ this.props:", this.props) if (this.props.routing && this.props.routing) { const { state } = this.props.routing; if (state) { const { sId } = state; if (sId === "myself") { this.setState({ selectedTab: "myself" }); // this.renderContent('contacts'); } } } // AppUtil.addDrag(); } componentDidUpdate(prevProps) { /* eslint-disable */ if (this.props.location && prevProps?.location.state !== this.props.location.state) { const originTitle = { message: "消息", scene: "现场", workbench: "工作台", device: "设备", myself: "我的", }[this.state.selectedTab]; try { const path = JSON.parse(this.props.location.state || "{}"); this.setState({ title: path.title || originTitle }); } catch (error) { this.setState({ title: originTitle }); } } } handleTouchStart = e => { this.setState({ touchStartPageX: e.changedTouches[0].pageX, touchStartPageY: e.changedTouches[0].pageY, }); }; handleTouchEnd = e => { const touchEndtPageX = e.changedTouches[0].pageX; const touchEndtPageY = e.changedTouches[0].pageY; const touchDireactionX = touchEndtPageX - this.state.touchStartPageX; // 滑动横向坐标 const touchDireactionY = touchEndtPageY - this.state.touchStartPageY; // 滑动横向坐标 if (touchDireactionX > 100 && touchDireactionY > -80) { // 滑动一定距离 const { plus } = window; if (location.pathname === "/indexMobile") { alert("确定退出吗?", "", [ { text: "取消", onPress: () => {} }, { text: "是", onPress: () => plus.runtime.quit() }, // 关闭app ]); } else { window.history.back(-1); setTimeout(() => { this.props.dispatch({ type: "app/refreshPage" }); }, 100); } } }; renderContent(pageText) { if (pageText === "message") { if (location.pathname === "/indexMobile/examine") { return (
); } else { return (
); } } else if (pageText === "scene") { if (location.pathname === "/indexMobile/commobileList") { return (
); } else if (location.pathname === "/indexMobile/printPdf") { return (
); } else if (location.pathname === "/indexMobile/processReport") { return (
); } else if (location.pathname === "/indexMobile/commobileBill") { return (
); } else { return (
{/* 15881422910005021526504105317000 */}
); } } else if (pageText === "workbench") { if (location.pathname === "/indexMobile/commobileList") { return (
); } else if (location.pathname === "/indexMobile/commobileBill") { return (
); } else { return (
); } } else if (pageText === "device") { return ; } else if (pageText === "myself") { if (location.pathname === "/indexMobile/contacts") { return (
); } else if (location.pathname === "/indexMobile/revisePassword") { return (
); } else if (location.pathname === "/indexMobile/contactsInfo") { return (
); } else { return (
); } } } render() { const { hidden } = this.state; const TabBarHidden = location.pathname === "/indexMobile" ? hidden : true; const navbarIconShow = !["/indexMobile/commobileBill"].includes(location.pathname); const msg = this.props.app.unRead; const msgObj = commonUtils.isJSON(msg) ? JSON.parse(msg) : {}; return (
: null} onLeftClick={() => { if (TabBarHidden && navbarIconShow) { window.history.back(-1); setTimeout(() => { this.props.dispatch({ type: "app/refreshPage" }); // history.push(location.pathname); }, 100); } }} className={styles.iconColor} > {this.state.title}