factory_mp/pages/wf/index.vue

108 lines
2.7 KiB
Vue

<template>
<view class="container">
<view class="header">
<uni-row :gutter="12">
<uni-col :span="20">
<uni-segmented-control :current="current" :values="items" styleType="button" @clickItem="onClickItem">
</uni-segmented-control>
</uni-col>
<uni-col :span="4">
<view @click="openDg" style="text-align: center;">
筛选
</view>
</uni-col>
</uni-row>
</view>
<view style="height: 8rpx;"></view>
<uni-list :border="true">
<uni-list-item v-for="(item ,index) in tlist" :index="index" :key="index" direction="column">
<template v-slot:header>{{item.title}}</template>
<template v-slot:body>
<view style="color: gray; font-size: 28rpx;">所属工作流: {{item.workflow_.name}}</view>
<view style="color: gray; font-size: 28rpx;">工单状态: {{item.state_.name}}</view>
<view style="color: gray; font-size: 28rpx;">提交时间: {{item.create_time}}</view>
<view style="color: gray; font-size: 28rpx;">最近更新: {{item.update_time}}</view>
</template>
</uni-list-item>
</uni-list>
<uni-load-more :status="status" />
<uni-popup ref="popup" background-color="#fff" @change="change">
<view style="height: 188rpx;"></view>
</uni-popup>
</view>
</template>
<script>
export default {
data() {
return {
searchValue: '',
current: 0,
items_e: ['duty', 'owner', 'worked', 'all'],
page: 1,
pageSize: 20,
items: ['待办', '我的', '已办', '抄送我'],
tlist: [],
status: 'noMore'
}
},
onLoad(query) {
this.current = this.items_e.indexOf(query.category)
this.getTicket()
},
onPullDownRefresh() {
this.page = 1;
this.getTicket()
},
methods: {
onClickItem(e) {
if (this.current !== e.currentIndex) {
this.current = e.currentIndex
this.page = 1
this.getTicket()
}
},
search(res) {
uni.showToast({
title: '搜索:' + res.value,
icon: 'none'
})
},
getTicket() {
var that = this;
that.status = 'loading';
that.$api.getTicket({category: that.items_e[that.current], page: that.page, page_size: that.pageSize}).then(data=>{
if(data.results.length <= that.pageSize){
that.status = 'noMore';
}else{
that.status = 'more';
}
if(that.page == 1){
that.tlist = data.results;
}
else{
that.tlist = that.tlist.concat(data.results)
}
uni.stopPullDownRefresh()
}).catch(e=>{uni.stopPullDownRefresh()})
},
openDg() {
this.$refs.popup.open('top')
},
change(e) {
console.log('当前模式:' + e.type + ',状态:' + e.show);
},
}
}
</script>
<style>
.header {
position: sticky;
top: 0;
z-index: 1;
background-color: white;
padding: 8rpx;
}
</style>