<template> <view class="pageInfo"> <!-- 任务列表 --> <view v-for="item in list" :key="item.id" class="itemInfo"> <view class="itemName"> <span class="name">{{ item.name }}</span> <u-switch size="40" @change="changeItem(item)" v-model="item.status == 1"></u-switch> </view> <view class="itemName"> <span>{{ item.startDate }} 至 {{ item.endDate }}</span> <span> <u-button type="success" size="mini" style="margin-right: 15upx;" @click="handetail">查看</u-button> <u-button v-if="item.status == 0&&item.taskGenerateFlag==0" type="primary" size="mini" style="margin-right: 15upx;" @click="handedit">编辑</u-button> <u-button v-if="item.status == 0&&item.taskGenerateFlag==0" type="error" size="mini" @click="handelete(item)">删除</u-button> </span> </view> </view> <u-empty :text="noDataText" v-if="list.length == 0 && status != 'loading'" mode="list"></u-empty> <view style="padding: 20upx;"><u-loadmore v-if="total > pageSize || status == 'loading'" :status="status" /></view> </view> </template> <script> import {clzConfirm} from '@/libs/tools.js' import { getCheckTaskConfigList, delCheckTaskConfig, enableCheckTaskConfig } from '@/api/checkTaskConfig.js'; export default { data() { return { status: 'loadmore', noDataText: '暂无数据', list: [], pageNo: 1, pageSize: 10, total: 0 }; }, onLoad() { this.getList(); uni.$on("updateCheckTaskConfigList",()=>{ this.pageNo = 1; this.getList(); }) }, // 新增 onNavigationBarButtonTap() { uni.navigateTo({ url: '/pages/spotCheckConfigure/addSpotCheck' }); }, // 上拉分页 onReachBottom() { console.log('onReachBottom'); if(this.list.length< this.total){ this.pageNo++ this.getList() }else { uni.showToast({ title: '已经到底了', icon: 'none' }) this.status = "nomore" } }, methods: { // 获取列表 getList() { let _this = this; let params = { pageNo: this.pageNo, pageSize: this.pageSize, }; this.status = 'loading'; getCheckTaskConfigList(params).then(res => { console.log(res) if (res.status == 200) { let list = res.data.list; if(_this.pageNo>1){ _this.list = _this.list.concat(list); }else{ _this.list = list } _this.total = res.data.count; } else { uni.showToast({ title: res.message, icon: 'none' }); _this.noDataText = res.message; } _this.status = 'loadmore'; }); }, // 启用禁用 changeItem(item){ let _this = this enableCheckTaskConfig({id:item.id,flag:item.status}).then(res=>{ if(res.status == 200){ let i = _this.list.findIndex(a=>a.id == item.id) _this.list[i].status = item.status == 1 ? 0 : 1 _this.list.splice() } uni.showToast({ title: res.message, icon: 'none' }) }) }, // 查看详情 handetail(item) { uni.navigateTo({ url: '/pages/spotCheckConfigure/spotCheckDetail/spotCheckDetail?id='+item.id }); }, // 编辑 handedit(item) { uni.navigateTo({ url: '/pages/spotCheckConfigure/addSpotCheck?id='+item.id }); }, // 删除 handelete(item) { const _this = this; clzConfirm({ title: '提示', content: '确认删除,删除后数据将无法恢复?', success: function(res) { if (res.confirm || res.index == 0) { delCheckTaskConfig({id:item.id}).then(ret=>{ if(ret.status == 200){ let i = _this.list.findIndex(a=>a.id == item.id) _this.list.splice(i,1) } uni.showToast({ title: ret.message, icon: 'none' }) }) } } }); } } }; </script> <style lang="scss"> page { background: #f8f8f8; } .itemInfo { margin: 20upx; background-color: #fff; border-radius: 3px; .itemName { padding: 25upx 35upx; display: flex; justify-content: space-between; } .itemName:first-child { border-bottom: 1px solid #f8f8f8; } } </style>