<template>
|
<div>
|
<!-- <zt-table-wraper ref="tableObj" query-url="/newPlan/taskCenter/pageDone" :paging="false" :lazy="true" v-slot="{ table }"-->
|
<!-- paging-layout="total, prev, pager, next">-->
|
<el-form :inline="true" :model="dataForm">
|
<el-input type="text" v-model="dataForm.djxlSystem" v-if="false" />
|
</el-form>
|
<el-table ref="table"
|
:height="getTransformHeight()"
|
class="pushtable table-is__left-tz"
|
v-loading="dataLoading"
|
:data="dataList"
|
style='margin-top:10px;transition: .5s;'
|
border highlight-current-row>
|
<el-table-column align="center" prop="index" width="80" label="序号">
|
<template slot-scope="scope">
|
<span v-html="indexFormat(scope.$index)"></span>
|
</template>
|
</el-table-column>
|
|
<el-table-column align="left" prop="topic" label="工程" width="150"/>
|
<!-- <el-table-column align="left" prop="title" label="流程名称" width="200"/>-->
|
<el-table-column align="left" prop="remark" label="摘要" />
|
<el-table-column align="center" prop="finishStepName" label="完成节点" width="240px"/>
|
<el-table-column align="center" v-if ='$store.state.user.isAdmin' prop="finishUserName" label="完成人员" width="120px"/>
|
<el-table-column align="center" prop="finishTime" label="完成时间" width="160px"/>
|
<el-table-column align="center" prop="stepName" label="当前状态" width="240px"/>
|
<el-table-column align="center" prop="receiveName" label="办理人" width="120px"/>
|
<!-- <el-table-column align="center" prop="statusName" label="我的意见" />-->
|
<el-table-column label="操作" width="180px">
|
<template v-slot="{ row }">
|
<zt-table-button v-show="row.canRecall == 1 && !$store.state.user.isAdmin" @click="reCall(row)">撤回</zt-table-button>
|
<zt-table-button @click="check(row,'')" v-if="row.flowCode !== 'yearPlanFlow'">查看</zt-table-button>
|
<zt-table-button @click="check(row,'')" v-if="row.flowCode === 'yearPlanFlow'">修改</zt-table-button>
|
<zt-table-button @click="flowChart(row)">流程图</zt-table-button>
|
<!-- <zt-table-button v-if="row.flowCode != 'yearPlan2'" @click="getFlowTrack(row)">办理轨迹</zt-table-button>-->
|
</template>
|
</el-table-column>
|
<infinite-loading
|
spinner="bubbles"
|
distance="200"
|
slot="append"
|
identifier="infiniteId"
|
@infinite="infiniteHandler"
|
ref="infiniteLoading"
|
force-use-infinite-wrapper=".pushtable .el-table__body-wrapper">
|
<div slot="no-more" style="margin-top: 10px;margin-bottom: 10px;"><span v-if="dataListAll.length > pageSize">没有更多了</span></div>
|
</infinite-loading>
|
</el-table>
|
<!-- 已办任务弹窗 -->
|
<ItemCirculatOrder ref="itemCirculatOrder" @refreshDataList="getQuery()"></ItemCirculatOrder>
|
<!-- </zt-table-wraper>-->
|
</div>
|
</template>
|
|
<script>
|
import cloneDeep from 'lodash/cloneDeep'
|
import InfiniteLoading from 'vue-infinite-loading'
|
import ItemCirculatOrder from '@/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate'
|
import Cookies from "js-cookie";
|
|
export default {
|
data() {
|
return {
|
page: 1,
|
pageSize: 30,
|
dataLoading: false,
|
dataList:[],
|
dataListAll:[],
|
dataForm: {
|
djxlSystem:''
|
},
|
dialogVisible: false,
|
}
|
},
|
props:{
|
system:String,
|
transformHeight:{
|
type:Boolean,
|
default:false
|
}
|
},
|
components: {
|
InfiniteLoading,
|
ItemCirculatOrder
|
},
|
watch:{
|
},
|
created() {
|
if (this.$route.path.indexOf('taskCenter')>0 || this.system=='smj'){
|
this.transformHeight = true
|
}else{
|
this.transformHeight = false
|
}
|
},
|
mounted() {
|
console.log(this.system)
|
this.dataForm.djxlSystem = Cookies.get('djxlSystem')
|
this.getQuery()
|
this.$EventBus.$on('newProject',()=>{
|
// this.$refs.tableObj.query()
|
this.getQuery()
|
})
|
},
|
methods: {
|
async infiniteHandler($state) {
|
console.log('in infiniteHandler--------')
|
if ((this.page * this.pageSize) < this.dataListAll.length) {
|
this.page++
|
// let begin = (this.page - 1) * this.pageSize
|
let end = this.page * this.pageSize
|
if (end > this.dataListAll.length) {
|
end = this.dataListAll.length
|
}
|
this.dataList = this.dataListAll.slice(0, end)
|
console.log(this.dataList.length, 'infiniteHandler:this.dataList.length')
|
console.log(this.page, 'infiniteHandler:this.page')
|
setTimeout(() => {
|
$state.loaded()
|
}, 100)
|
} else {
|
$state.loaded()
|
console.log("$state.complete()", this.page)
|
this.page = 1;
|
$state.complete()
|
console.log(this.page, 'infiniteHandler:this.page')
|
}
|
},
|
handleInfiniteLoadingBeforeGet() {
|
this.page = 1;
|
this.dataListAll = []
|
this.dataList = []
|
},
|
handleInfiniteLoadingAfterGet(res) {
|
this.dataListAll = res.data
|
console.log(this.dataListAll.length, 'handleInfiniteLoadingAfterGet:this.dataListAll.length')
|
// let begin = (this.page - 1) * this.pageSize
|
let end = this.page * this.pageSize
|
if (end > this.dataListAll.length) {
|
end = this.dataListAll.length
|
}
|
this.dataList = this.dataListAll.slice(0, end)
|
console.log(this.dataList.length, 'handleInfiniteLoadingAfterGet:this.dataList.length')
|
console.log(this.page, 'handleInfiniteLoadingAfterGet:this.page')
|
this.$nextTick(() => {
|
this.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');
|
});
|
},
|
|
getTransformHeight(){
|
let Height=document.documentElement.clientHeight
|
return Height-(650-403)
|
},
|
async getQuery(){
|
this.handleInfiniteLoadingBeforeGet()
|
this.dataLoading = true
|
let params = {
|
djxlSystem: this.dataForm.djxlSystem,
|
}
|
let res = await this.$http.get(`/task/taskCenter/pageDone`,{
|
params: params
|
})
|
if (res.success) {
|
this.dataLoading = false
|
this.handleInfiniteLoadingAfterGet(res)
|
console.log(this.dataList, 'getQuery:this.dataList')
|
} else {
|
this.dataLoading = true
|
}
|
},
|
async reCall(row) {
|
if (await this.$tip.confirm('确定要进行撤回吗?')) {
|
this.$http.get(`/wf/reCallFlow`, {params: row}).then(res => {
|
if (res.data == 'OK') {
|
// this.$refs.tableObj.query();
|
this.getQuery()
|
}
|
else {
|
this.$tip.alert(res.data)
|
}
|
})
|
}
|
},
|
check(row) {
|
console.log(row, "task row");
|
let row2 = cloneDeep(row)
|
row2.stepMarker = null
|
if (row.flowCode === 'wplz') {
|
this.$nextTick(()=>{
|
this.$refs.itemCirculatOrder.$refs.dialog.init(row2.bizId,row2)
|
})
|
} else if (row.flowCode === 'aaa') {
|
//this.$refs.itemCirculatOrder.$refs.dialog.init(row2)
|
}
|
else {
|
if (row.stepReadRouterId === null){
|
this.$tip.alert("没有配置菜单id")
|
return;
|
}
|
let route = window.SITE_CONFIG['dynamicMenuRoutes'].filter(item => item.meta.menuId === row.stepReadRouterId)[0]
|
if (route === undefined){
|
this.$tip.alert("没有配置菜单权限")
|
return;
|
}
|
let params = {
|
id: row.bizId,
|
projectId: row.bizGroupId,
|
pageCode: row.stepMarker,
|
pageRead: 'yes',
|
productId: row.productId,
|
approveType: ''
|
}
|
if (Object.keys(params).length>0){
|
params = Object.assign(params, route.meta.params);
|
}
|
this.$router.push({
|
name: row.stepReadRouterId,
|
params: params
|
})
|
}
|
},
|
flowChart(row) {
|
// console.log(row, 'flowChart row')
|
// this.dialogVisible = true
|
// this.$nextTick(()=>{
|
// this.$refs.processTimeline.init(row)
|
// })
|
this.$emit('alreadyTask',row)
|
},
|
getFlowTrack(row){
|
console.log(row,'getFlowTrack row')
|
if(row){
|
let params={
|
flowCode:row.flowCode,
|
bizId:row.bizId
|
}
|
console.log(params,'getFlowTrack params')
|
this.$refs.processTrajectory.$refs.dialog.init(params)
|
}
|
},
|
indexFormat(index) {
|
// let page = this.page
|
// let limit = this.pageSize
|
// let indexs = limit * (page - 1) + index + 1
|
let indexs = index + 1
|
return '<span>' + indexs + '</span>'
|
},
|
},
|
}
|
</script>
|
|
<style scoped>
|
|
</style>
|