123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- <template>
- <view>
- <u-search :show-action="false" v-model="searchForm.title" @change="inputWord" margin="20rpx 50rpx"></u-search>
- <view>
- <u-swipe-action>
- <view
- v-for="(row, index) in dataList"
- :key="index">
- <u-swipe-action-item @click="({index}) => commit(index, row)" :key="row.id" :threshold="60" duration="500"
- :options="row.back?[ {
- text: '撤回',
- style: {
- backgroundColor: '#f56c6c'
- }
- }, {
- text: '历史',
- style: {
- backgroundColor: '#5ac725'
- }
- }]:[ {
- text: '历史',
- style: {
- backgroundColor: '#5ac725'
- }
- }]">
- <u-cell-group>
- <u-cell @click="toDetail(row)">
- <view slot="title" class="content">
- <view class="text-bold text-grey">
- <view class="ellipsis-description">
- 实例标题:{{row.vars.title}}
- </view>
- </view>
- <view class="text-grey text-sm">
- <view class="ellipsis-description">
- 流程名称:{{row.processDefinitionName}}
- </view>
- </view>
- <view class="text-grey text-sm">
- <view class="ellipsis-description">
- 任务:{{row.name}}
- </view>
- </view>
- <view class="text-grey text-sm">
- 执行时间:{{row.createTime | formatDate}}
- </view>
- </view>
- <view slot="right-icon" class="action">
- <u-tag :text="row.status" plain shape="circle" :type="row.level === 'danger'? 'error':row.level"></u-tag>
- </view>
- </u-cell>
- </u-cell-group>
- </u-swipe-action-item>
- </view>
- </u-swipe-action>
- </view>
- <u-loadmore :status="status" @loadmore="loadmore" :line="true" />
- <u-gap height="20" bgColor="#fff"></u-gap>
- <u-back-top :scrollTop="0" mode="square"></u-back-top>
- </view>
- </template>
- <script>
- import taskService from "@/api/flowable/taskService"
- import pick from 'lodash.pick'
- export default {
- data() {
- return {
- status: 'loadmore',
- searchForm: {
- title: ''
- },
- dataList: [],
- tablePage: {
- pages: 0,
- currentPage: 0,
- pageSize: 10,
- orders: [{ column: "a.create_time", asc: false }],
- },
- loading: false,
- }
- },
- onLoad() {
- this.loadmore()
- },
- methods: {
- commit(index, row){
- if(row.back) {
- if(index === 0){
- this.callback(row)
- }else if(index === 1){
- this.toDetail(row)
- }
- } else {
- if(index === 0){
- this.toDetail(row)
- }
- }
- },
- // 跳转到详细页面
- toDetail (row) {
- taskService.getTaskDef({
- taskDefKey: row.taskDefinitionKey,
- procInsId: row.processInstanceId,
- procDefId: row.processDefinitionId
- }).then((data) => {
- let query = {readOnly: true, taskId: row.executionId, title: `${row.name}【${row.name}】`, formTitle: `${row.name}`, ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title', 'businessId')}
- uni.navigateTo({
- url: '/pages/workbench/task/TaskFormDetail?flow='+JSON.stringify(query)
- })
- })
- },
- // 取回
- callback (row) {
- uni.showModal({
- title: '提示',
- content: '确定撤销该已办任务吗?',
- success: (res) => {
- if (res.confirm) {
- uni.showLoading()
- taskService.callback({'processInstanceId': row.processInstanceId,
- 'preTaskDefKey': row.taskDefinitionKey,
- 'preTaskId': row.id,
- 'currentTaskId': row.currentTask.id,
- 'currentTaskDefKey': row.currentTask.taskDefinitionKey
- }).then((data) => {
- uni.showToast({
- title:data.msg
- })
- this.doSearch(this.curWord)
- })
- } else if (res.cancel) {
- uni.hideLoading()
- }
- }
- });
- },
-
- // 输入监听
- inputWord(e){
- this.searchTimer && clearTimeout(this.searchTimer)
- this.searchTimer = setTimeout(()=>{
- this.doSearch()
- },300)
- },
- // 搜索
- doSearch(){
- 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';
- taskService.historicList({
- current: this.tablePage.currentPage,
- size: this.tablePage.pageSize,
- orders: this.tablePage.orders,
- ...this.searchForm
- }).then((data)=>{
- //追加新数据
- this.dataList=this.dataList.concat(data.records);
- this.tablePage.pages = data.pages;
- if(this.tablePage.pages <= this.tablePage.currentPage){
- this.status = 'nomore'
- } else {
- this.status = 'loadmore'
- }
- })
-
- }
- }
- }
- </script>
|