<template> <view class="file_list_page"> <view class="list_search card_banner flex"> <uni-data-select class="list_search_select" v-model="searchForm.sendingAgency" :localdata="range" placeholder="发文部门"></uni-data-select> <uni-datetime-picker class="list_search_date" v-model="searchForm.createTime" type="daterange" /> <u-icon class="list_search_icon" name="search" color="#fff" size="28" @click="doSearch"></u-icon> </view> <view class="list_content"> <u-cell-group> <u-cell v-for="item in dataList" @click="toInfo(item)"> <view slot="title"> <view class="text-bold text-black"> <view class="ellipsis-description"> {{item.contentSummary}} </view> </view> </view> <view slot="value"> <view class="text-grey text-sm list_label margin-top"> {{item.createTime}} </view> </view> <view slot="label"> <view class="text-grey text-sm margin-top"> {{item.sendingAgency}} </view> </view> </u-cell> </u-cell-group> </view> <u-loadmore :status="status" /> </view> </template> <script> import gwCirculationCard2Service from '@/api/circulation/gwCirculationCard2.js' import gwFlowService from '@/api/circulation/gwFlowService.js' import * as $auth from "@/common/auth.js" export default { onLoad(option) { if (option) { this.type = option.type this.searchForm.state = option.type this.loadmore() } }, data() { return { status: 'loadmore', type: "", time: "", value: "", range: [], dataList: [], searchForm: { yearNum: '', cardNum: '', sendingAgency: '', docFontSize: '', fileSource: '', writtenTime: '', receivingTime: '', contentSummary: '', state: '', createTime: "" }, tablePage: { pages: 0, currentPage: 0, pageSize: 10, orders: [{ column: "a.create_time", asc: false }], }, loading: false, } }, methods: { // 查看详情 toInfo(item) { if (this.type == 3) { uni.navigateTo({ url: '/pages/fileTransmit/fileInfo?id=' + item.id }) } else { let user = $auth.getUserInfo() let role = $auth.getUserInfo().roleNames if (role == '办公室主任') { uni.navigateTo({ url: '/pages/fileTransmit/examineFile?id=' + item.id }) } else { gwFlowService.queryByGwId(item.id).then(data => { let gw = data.filter(item => { return item.nextUser == user.id && item.state == 1 }) if (gw.length > 0) { uni.navigateTo({ url: '/pages/fileTransmit/examineFile?id=' + item.id }) } else { uni.navigateTo({ url: '/pages/fileTransmit/fileInfo?id=' + item.id }) } }) } } }, // 搜索 doSearch() { console.log("search=============", this.searchForm); this.dataList = []; this.tablePage.currentPage = 0; this.tablePage.pageSize = 10; this.tablePage.pages = 0; this.loadmore() }, onReachBottom() { this.loadmore() }, loadmore() { if (this.tablePage.currentPage !== 0 && this.tablePage.pages <= this.tablePage.currentPage) { this.status = 'nomore'; return; } this.tablePage.currentPage = ++this.tablePage.currentPage; //联网加载数据 this.status = 'loading'; let {createTime,...newForm} = this.searchForm gwCirculationCard2Service.list({ current: this.tablePage.currentPage, size: this.tablePage.pageSize, orders: this.tablePage.orders, beginCreateDate: this.searchForm.createTime ? this.searchForm.createTime[0] : '', endCreateDate: this.searchForm.createTime ? this.searchForm.createTime[1] : '', ...newForm }).then((data) => { //追加新数据 this.dataList = this.dataList.concat(data.records); let places = [] this.dataList.forEach(item => { places.push({ text: item.sendingAgency, value: item.sendingAgency }) }); this.range = places.filter((item) => !places.includes(item.value) && places.push(item.value)) this.tablePage.pages = data.pages; if (this.tablePage.pages <= this.tablePage.currentPage) { this.status = 'nomore' } else { this.status = 'loadmore' } }) } } } </script> <style> .card_banner { width: 100%; height: 60px; background-color: #36a7f3; } .list_search_icon { line-height: 60px; } .list_search_select { width: 200px; background-color: #fff; height: 30px; border-radius: 10px; margin: 15px 5px 0; } .list_search_date { margin: 8px 5px 0; } .t-c { height: 34px; line-height: 34px; } .list_content { background-color: #fff; } .list_label { margin-top: 33px; } </style>