213 lines
4.9 KiB
Vue
213 lines
4.9 KiB
Vue
<template>
|
||
<view class="content">
|
||
<div class="screen-box">
|
||
|
||
<div class="uni-flex">
|
||
<text>报销类型:</text>
|
||
<picker mode="selector" @change="bindPartChange" :value="selectList[selectTypeIndex].typeId" range-key="name" :range="selectList" class="screen-unit">
|
||
<view>{{selectList[selectTypeIndex].name}} <text class="uni-icon uni-icon-arrowdown"></text></view>
|
||
</picker>
|
||
|
||
</div>
|
||
</div>
|
||
<!-- <view style="flex: 1;overflow: hidden;" >
|
||
<scroll-view scroll-y="true" style="height: 100%;width: 100%;" @scrolltolower="loadMore"> -->
|
||
<view v-if="pageList.length>0">
|
||
<list-unit v-for="(item,index) in pageList" :key="index" :item="item" :i="index" @goDetail="goDetail"></list-unit>
|
||
|
||
</view>
|
||
<view v-else-if="!pageData.isLoading" style="height: 100%;">
|
||
<noFound :nodata="pageList.length>0 ? false : true"/>
|
||
</view>
|
||
<view class="load-more" v-if="pageList.length>0">
|
||
<text>{{!pageData.isEnd ? '正在加载,请稍后...':'——— 我是有底线的 ———'}}</text>
|
||
</view>
|
||
<!-- </scroll-view>
|
||
</view> -->
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import { mapGetters,mapMutations } from 'vuex'
|
||
import ListUnit from './components/serviceAreaReimUnit.vue'
|
||
|
||
export default {
|
||
data() {
|
||
return {
|
||
pageData: {
|
||
pageIndex:1,
|
||
pageSize:10,
|
||
isEnd: false,
|
||
isLoading: true
|
||
},
|
||
pageList:[],
|
||
selectTypeIndex: 0,
|
||
selectList: [
|
||
{
|
||
name: '全部',
|
||
typeId: ''
|
||
},
|
||
{
|
||
name: '差旅费报销',
|
||
typeId: 1000
|
||
},{
|
||
name:'费用报销审批',
|
||
typeId: 3000
|
||
}
|
||
,{
|
||
name:'付款审批',
|
||
typeId:2000
|
||
}
|
||
,{
|
||
name:'资金拨付',
|
||
typeId:4000
|
||
}
|
||
]
|
||
}
|
||
},
|
||
components:{
|
||
ListUnit
|
||
},
|
||
computed: {
|
||
...mapGetters({isReloading:'shouldReLoadingList'}),
|
||
},
|
||
methods:{
|
||
...mapMutations(['shouldReLoadingList']),
|
||
bindPartChange(e){
|
||
if(this.selectTypeIndex!=e.detail.value){
|
||
|
||
this.selectTypeIndex = e.detail.value
|
||
this.pageData.pageIndex = 1
|
||
this.pageData.isEnd = false
|
||
uni.showLoading({
|
||
title:'正在加载'
|
||
})
|
||
this.getList()
|
||
this.$forceUpdate()
|
||
}
|
||
},
|
||
getList() {
|
||
let _this = this
|
||
|
||
_this.$request.$get("GetFinanceExpense",{
|
||
pageIndex: _this.pageData.pageIndex,
|
||
pageSize: _this.pageData.pageSize,
|
||
ExpenseBillType: this.selectList[this.selectTypeIndex].typeId
|
||
}).then(res => {
|
||
|
||
if(!res.ResultCode ||res.ResultCode!='100'){
|
||
|
||
_this.pageList = []
|
||
}else{
|
||
let list = res.Data.List
|
||
_this.pageList = this.pageData.pageIndex==1 ? list : _this.pageList.concat(list)
|
||
|
||
if (list.length < _this.pageData.pageSize) { // 返回条数小于每页条数
|
||
_this.pageData.isEnd = true
|
||
}
|
||
_this.$forceUpdate()
|
||
|
||
}
|
||
uni.hideLoading()
|
||
setTimeout(function(){
|
||
_this.pageData.isLoading = false
|
||
},500)
|
||
})
|
||
},
|
||
loadMore(){
|
||
if(!this.pageData.isEnd) {
|
||
this.pageData.pageIndex += 1
|
||
this.getList()
|
||
}
|
||
},
|
||
goDetail(item) {
|
||
let url = "/pages/serviceAreaReimbursement/detail?type="+item.EXPENSEBILL_TYPE+"&id=" + item.HIGHWAYPROINST_ID
|
||
// switch (item.EXPENSEBILL_TYPE) {
|
||
// case 1000: // 差旅费报销
|
||
|
||
// url = "/pages/serviceAreaReimbursement/travelExpense?id=" + item.HIGHWAYPROINST_ID
|
||
// break
|
||
// case 3000: // 费用报销审批
|
||
|
||
// url = "/pages/serviceAreaReimbursement/reimbursement?id=" + item.HIGHWAYPROINST_ID
|
||
// break
|
||
// case 2000: // 付款报销
|
||
|
||
// url = "/pages/serviceAreaReimbursement/paymentApproval?id=" + item.HIGHWAYPROINST_ID
|
||
// break
|
||
// case 4000: // 资金拨付
|
||
|
||
// url = "/pages/serviceAreaReimbursement/fundAppropriation?id=" + item.HIGHWAYPROINST_ID
|
||
// break
|
||
|
||
// }
|
||
this.$util.toNextRoute('navigateTo', url)
|
||
},
|
||
},
|
||
onPullDownRefresh() {
|
||
this.pageData.pageIndex = 1
|
||
this.pageData.isEnd = false
|
||
uni.showLoading({
|
||
title:'正在加载'
|
||
})
|
||
this.getList()
|
||
setTimeout(function() {
|
||
uni.stopPullDownRefresh()
|
||
}, 1000)
|
||
},
|
||
onReachBottom(){
|
||
this.loadMore()
|
||
},
|
||
onShow() {
|
||
|
||
if(this.isReloading) {
|
||
|
||
uni.showLoading({
|
||
title:'正在加载'
|
||
})
|
||
this.pageData.pageIndex = 1
|
||
this.pageData.isEnd = false
|
||
this.getList()
|
||
this.shouldReLoadingList(false)
|
||
}
|
||
|
||
},
|
||
onLoad() {
|
||
this.pageData.isLoading= true
|
||
uni.showLoading({
|
||
title:'正在加载'
|
||
})
|
||
this.getList()
|
||
},
|
||
onUnload() {
|
||
this.$util.addUserBehavior()
|
||
}
|
||
|
||
}
|
||
</script>
|
||
|
||
<style scoped>
|
||
.content {
|
||
display: flex;
|
||
flex-direction: column;
|
||
justify-content: center;
|
||
|
||
padding-top: 90rpx;
|
||
/* height: 100%; */
|
||
}
|
||
.screen-box {
|
||
background-color: #fff;
|
||
padding: 15upx 24upx;
|
||
display: flex;
|
||
position: fixed;
|
||
width: 100%;
|
||
top: 0;
|
||
z-index: 1;
|
||
border-bottom: 2rpx solid #f8f9fb;
|
||
}
|
||
.uni-icon-arrowdown {
|
||
font-size: 24rpx;
|
||
margin-left: 8rpx;
|
||
}
|
||
</style>
|