<template> <view> <cu-custom ref="cuCustom" bgColor="bg-gradual-blueness" :isBack="true" :isRingt="true" :backUrl="backUrl"> <block slot="backText">返回</block> <block slot="content">我的任务</block> </cu-custom> <scroll-view scroll-x class="bg-white nav"> <view class="flex text-center"> <view class="cu-item flex-sub" :class="index==TabCur?'text-orange cur':''" v-for="(item,index) in tabNav" :key="index" @tap="tabSelect" :data-id="index"> {{tabNav[index]}} </view> </view> </scroll-view> <block> <mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption"> <block v-if="TabCur==0"> <uni-collapse :accordion="true"> <uni-collapse-item :title="period" v-for="(period,index) in periodList" :key="index"> <view class="tasks-warp" v-if="item.PERIOD_NAME==period" v-for="(item,index) in equipList" :key="item.SPECIALEQUIPMENT_ID"> <view class="tasks-item"> <view class="title"> 设备名称:{{item.EQUIPMENTNAME}} </view> <view class="tasks-state"> 设备类型:{{item.EQUIPMENTTYPENAME}} </view> <view class="tasks-state"> 巡检周期:{{item.PERIOD_NAME}} </view> <view class="flex"> <view class="tasks-time"> {{handleIsChecked(item)}} </view> <view class=""> <button class="cu-btn bg-orange round sm" @click="$noMultipleClicks(goToAdd, item)">立即巡检</button> </view> </view> </view> </view> </uni-collapse-item> </uni-collapse> </block> <view class="tasks-warp" v-if="TabCur==1 && equipList.length>0" v-for="(item,index) in equipList" :key="item.SPECIALEQUIPMENT_ID"> <view class="tasks-item"> <view class="title"> 设备名称:{{item.EQUIPMENTNAME}} </view> <view class="tasks-state"> 设备类型:{{item.EQUIPMENTTYPENAME}} </view> <view class="tasks-state"> 巡检周期:{{item.PERIOD_NAME}} </view> <view class="flex"> <view class="tasks-time"> 巡检次数: {{item.XJCOUNT}} </view> <view class=""> <button class="cu-btn bg-orange round sm" @click="$noMultipleClicks(goToRecordList, item)">巡检记录</button> </view> </view> </view> </view> <view v-if="equipList.length<1" class="dy-null"> <view class="dy-null-img"> <image src="../../../static/null.png" mode=""></image> </view> <view class="dy-null-title"> 暂无数据 </view> </view> <view class="cu-tabbar-height"></view> </mescroll-body> </block> </view> </template> <script> import { basePath,baseImgPath,corpinfoId,loginSession,loginUser,formatDate } from '@/common/tool.js'; import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js" import writingBoard from "@/components/writing-board/writing-board.vue" export default { mixins: [MescrollMixin], // 使用mixin components: { writingBoard }, data() { return { initflag:false, baseImgPath: baseImgPath, CustomBar: this.CustomBar, backUrl: '/pages/index/index', sTop: 0, totalHeight: 0, downOption: { use: true, auto: false }, upOption: { use: true, auto: false, noMoreSize: 1, textNoMore: '--已经没有更多了--' }, periodList:['每日','每周','每旬','每月'], scrollLeft: 0, equipList: [], //任务列表返回数据 currentPage: 1, //分页参数--页数 showCount: 100, //分页参数--每页数据条数 totalCount: 0, //分页参数--初始化页数 isEnd: false, //防止多次刷新 totalPage: 0, //分页参数--分页数量 noClick: true, TabCur: 0, tabNav: ['开始巡检', '巡检记录'], UNCHECK:'1' }; }, onLoad() { //页面显示或从后台跳回小程序时显示此页面时触发,从跳转页面返回时触发,不能传递参数 var _this = this _this.background = require('@/common/background.json') _this.currentPage = 1 _this.isEnd = false _this.getEquipInit() loginSession(); }, onShow(e) { var _this = this; if (_this.initflag) { _this.initflag = false; _this.currentPage = 1 _this.isEnd = false this.getEquipInit() } }, methods: { tabSelect(e) { this.TabCur = e.currentTarget.dataset.id; this.scrollLeft = (e.currentTarget.dataset.id - 1) * 60 if (this.TabCur == 0) { this.equipList = [] this.UNCHECK = '1' this.getEquipInit() } else if (this.TabCur == 1){ this.equipList = [] this.UNCHECK = '' this.getEquipInit() } }, //重置分页 initPageData() { var _this = this; _this.currentPage = 1; _this.isEnd = false; }, //翻页 turnPage() { var _this = this; _this.currentPage = _this.currentPage + 1; _this.isEnd = false; }, //跳转事件 downCallback(page) { //搜索按钮事件 var _this = this; _this.getEquipQuery(page) }, // 滑动到底方法 upCallback(page) { var _this = this; _this.scrolltolowerEquip(page) }, //切换选项卡初始化任务列表 getEquipInit() { //搜索按钮事件 var _this = this _this.initPageData() _this.equipList = [] _this.getEquipData(); }, //下拉刷新任务列表 getEquipQuery(page) { var _this = this; _this.initPageData() _this.equipList = []; _this.getEquipData(); }, // 上滑加载更多 scrolltolowerEquip(page) { var _this = this; _this.turnPage() if (_this.totalPage >= _this.currentPage) { _this.getTaskData(); //开始分页查询 } }, getEquipData() { var _this = this; if (_this.isEnd) { return } else { this.isEnd = true; } uni.showLoading({ title: "加载中..." }); //加载中动画 uni.request({ url: basePath + '/app/specialequipmentaqxj/list?showCount=' + _this.showCount + '¤tPage=' + _this.currentPage, method: 'POST', dataType: 'json', header: { 'Content-type': 'application/x-www-form-urlencoded' }, data: { UNCHECK: _this.UNCHECK, tm: new Date().getTime(), CORPINFO_ID:loginUser.CORPINFO_ID, USER_ID:loginUser.USER_ID, }, success: (res) => { uni.hideLoading(); //结束加载中动画 if (res.data != null) { _this.totalPage = res.data.page.totalPage // 从后端获取的数据,将这一步骤放到异步获取后端数据的地方,对后端返回的数据进行处理 if (_this.equipList.length == 0) { _this.equipList = res.data.varList; } else { if (res.data.varList != null) { _this.equipList = _this.equipList.concat( res.data.varList); } } _this.mescroll.endSuccess(res.data.varList.length, (res.data.page.totalPage > res.data.page.currentPage)) _this.mescroll.endUpScroll(res.data.page.totalPage == res.data.page.currentPage) } }, fail: () => { // 请求失败,隐藏加载状态 _this.mescroll.endErr() } }) }, handleIsChecked(pd){ var date = formatDate(new Date(), 'yyyy-MM-dd hh:mm'); if(pd.PERIOD_START_DATE > date){//如果今天在下次检查周期之前 return "已检查" }else{ return "未检查" } }, goToAdd(item) { uni.navigateTo({ url: '/pages/application/speEquip/add?SPECIALEQUIPMENT_ID=' + item.SPECIALEQUIPMENT_ID }) }, goToRecordList(item) { uni.navigateTo({ url: '/pages/application/speEquip/record_list?SPECIALEQUIPMENT_ID=' + item.SPECIALEQUIPMENT_ID }) } } } </script>