import React, { useState, useEffect } from 'react' import Taro, { useDidShow } from '@tarojs/taro' import { View, Picker, Input, Image } from '@tarojs/components' import moment from 'moment' import './index.scss' import NoData from '@/components/no-data/noData' import request from '@/services/request' import { getReportList } from '@/services/api'; import chevronDown from '../../static/img/patrolView/chevron-down.png' import searchIcon from '../../static/img/patrolView/search.png' import cardImg from '../../static/img/patrolView/card-img.png' import patrolIcon from '../../static/img/patrolView/patrol.svg' import patrolActiveIcon from '../../static/img/patrolView/patrol-active.svg' import conserveIcon from '../../static/img/patrolView/conserve.svg' import conserveActiveIcon from '../../static/img/patrolView/conserve-active.svg' function Index() { const [isPatrol, setIsPatrol] = useState(true) const [datePicker, setDatePicker] = useState(moment().format('YYYY-MM-DD')) const [listData, setListData] = useState([]) const [showListData, setShowListData] = useState([]) const [filterText, setFilterText] = useState('') const [systemInfo, setSystemInfo] = useState('') useEffect(() => { getList() }, [datePicker]) useEffect(() => { setShowListData(listData.filter(item => isPatrol ? item.reportType === 'patrol' : item.reportType === 'conserve')) }, [isPatrol]) function dealError(error) { Taro.showToast({ title: error, icon: 'none', duration: 1500 }); throw new Error(error); } const getList = () => { Taro.showLoading({ title: '加载中' }) request.get( getReportList(), { startTime: datePicker + ' 00:00:00', endTime: datePicker + ' 23:59:59' }, { hideErrorToast: true, hideLoading: true } ).then(res => { Taro.hideLoading() if (res.statusCode == 200) { setListData(res.data) setShowListData(res.data.filter(item => isPatrol ? item.reportType === 'patrol' : item.reportType === 'conserve')) return res.data; } else { dealError(res.data.message || '请求出错'); } }, err => { dealError(err.message || '请求出错'); }); } useDidShow(() => { let refresh = Taro.getStorageSync('refresh'); // 返回列表需要刷新 if (refresh) { Taro.removeStorageSync('refresh'); // 返回列表需要刷新 } Taro.getSystemInfo({ success: (res) => { // windows | mac为pc端 // android | ios为手机端 setSystemInfo(res.platform); } }); }) const onTypeChange = bool => { setIsPatrol(bool) } const onDateChange = e => { setDatePicker(e.detail.value); } const handleConfirm = e => { let nextList = listData.filter(item => isPatrol ? item.reportType === 'patrol' : item.reportType === 'conserve') nextList = nextList.filter(item => item.road.includes(e.detail.value)) setShowListData(nextList) } const handleInput = e => { setFilterText(e.detail.value); if (!e.detail.value) { setShowListData(listData.filter(item => isPatrol ? item.reportType === 'patrol' : item.reportType === 'conserve')); } } const handleDetail = index => { Taro.navigateTo({ url: `/packages/patrol/index?type=view&id=${showListData[index].id}` }) } return ( onTypeChange(true)}> 巡查 onTypeChange(false)}> 养护 日期: {datePicker || '请选择'} { showListData && showListData.length > 0 ? showListData && showListData.map((e, index) => { return ( handleDetail(index)}> {e.road} 填报人: {e.user && e.user.name} {moment(e.time).format('YYYY-MM-DD HH:mm:ss')} ) }) : } ) } export default Index