|
|
@@ -1,29 +1,45 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <div class="filters-container">
|
|
|
- </div>
|
|
|
- <el-table :data="tableData" :height="tableHeight" row-key="id" ref="table">
|
|
|
- <el-table-column v-if="multipleMode" align="center" type="selection" min-width="50">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="id" label="id" width="150">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="name" label="名称">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="createTime" label="创建时间" :formatter="datetimeFormatter">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" align="center" width="100">
|
|
|
- <template slot-scope="{row}">
|
|
|
- <el-button v-if="row.assignee" @click="handle(row)" type="primary" size="mini" plain>办理</el-button>
|
|
|
- <el-button v-else @click="claim(row)" type="primary" size="mini" plain>签收</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <div class="pagination-wrapper">
|
|
|
- <el-pagination background @size-change="pageSizeChange" @current-change="currentPageChange" :current-page="currentPage" :page-sizes="[10, 20, 30, 40, 50]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="totalNumber">
|
|
|
- </el-pagination>
|
|
|
- </div>
|
|
|
+ <el-tabs v-model="tab" type="card">
|
|
|
+ <el-tab-pane label="待签收" name="toClaim">
|
|
|
+ <el-table :data="toClaim" row-key="id" ref="table">
|
|
|
+ <el-table-column v-if="multipleMode" align="center" type="selection" min-width="50">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="id" label="id" width="150">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="name" label="名称">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="createTime" label="创建时间" :formatter="datetimeFormatter">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" width="100">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <el-button v-if="row.assignee" @click="handle(row)" type="primary" size="mini" plain>办理</el-button>
|
|
|
+ <el-button v-else @click="claim(row)" type="primary" size="mini" plain>签收</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="待办" name="todo">
|
|
|
+ <el-table :data="todo" row-key="id" ref="table">
|
|
|
+ <el-table-column v-if="multipleMode" align="center" type="selection" min-width="50">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="id" label="id" width="150">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="name" label="名称">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="createTime" label="创建时间" :formatter="datetimeFormatter">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" width="100">
|
|
|
+ <template slot-scope="{row}">
|
|
|
+ <el-button v-if="row.assignee" @click="handle(row)" type="primary" size="mini" plain>办理</el-button>
|
|
|
+ <el-button v-else @click="claim(row)" type="primary" size="mini" plain>签收</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
<el-dialog :visible.sync="dialogVisible" title="办理">
|
|
|
- <dynamic-form ref="taskForm" :formDef="taskForm" v-model="taskFormData"></dynamic-form>
|
|
|
+ <dynamic-form ref="taskForm" :formProps="taskForm" v-model="taskFormData"></dynamic-form>
|
|
|
<div slot="footer">
|
|
|
<el-button @click="dialogVisible = false" size="small">取消</el-button>
|
|
|
<el-button type="primary" @click="completeTask" :loading="loading" size="small">确定</el-button>
|
|
|
@@ -42,10 +58,7 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- totalNumber: 0,
|
|
|
- totalPage: 0,
|
|
|
- currentPage: 1,
|
|
|
- pageSize: 20,
|
|
|
+ tab: 'toClaim',
|
|
|
tableData: [],
|
|
|
name: '',
|
|
|
multipleMode: false,
|
|
|
@@ -53,11 +66,13 @@ export default {
|
|
|
taskForm: [],
|
|
|
taskFormData: {},
|
|
|
dialogVisible: false,
|
|
|
- selectedTaskId: null
|
|
|
+ selectedTaskId: null,
|
|
|
+ toClaim: [],
|
|
|
+ todo: []
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
- ...mapState(['tableHeight', 'userInfo']),
|
|
|
+ ...mapState(['userInfo']),
|
|
|
selection() {
|
|
|
return this.$refs.table.selection.map(i => i.id);
|
|
|
}
|
|
|
@@ -72,33 +87,57 @@ export default {
|
|
|
this.getData();
|
|
|
},
|
|
|
getData() {
|
|
|
- this.$http.get({
|
|
|
- url: '/rest/runtime/tasks',
|
|
|
- data: {
|
|
|
- involvedUser: this.userInfo.id
|
|
|
- }
|
|
|
+ // this.$http.get({
|
|
|
+ // url: '/rest/runtime/tasks',
|
|
|
+ // data: {
|
|
|
+ // assignee: this.userInfo.id
|
|
|
+ // }
|
|
|
+ // }).then(res => {
|
|
|
+ // this.tableData = res.data;
|
|
|
+ // })
|
|
|
+ axios.post('/rest/query/tasks', {
|
|
|
+ candidateUser: this.userInfo.id,
|
|
|
+ }).then(res => {
|
|
|
+ this.toClaim = res.data.data;
|
|
|
+ })
|
|
|
+ axios.post('/rest/query/tasks', {
|
|
|
+ assignee: this.userInfo.id
|
|
|
}).then(res => {
|
|
|
- this.tableData = res.data;
|
|
|
+ this.todo = res.data.data;
|
|
|
})
|
|
|
},
|
|
|
handle(row) {
|
|
|
- this.$http.get({
|
|
|
- url: '/rest/form/form-data',
|
|
|
- data: {
|
|
|
- taskId: row.id
|
|
|
+ this.$router.push({
|
|
|
+ name: 'CompleteTaskDynamic',
|
|
|
+ query: {
|
|
|
+ id: row.id
|
|
|
}
|
|
|
- }).then(res => {
|
|
|
- this.selectedTaskId = row.id;
|
|
|
- this.taskForm = res.formProperties;
|
|
|
- this.taskFormData = {};
|
|
|
- this.dialogVisible = true;
|
|
|
- setTimeout(() => {
|
|
|
- this.$refs.taskForm.clearValidate()
|
|
|
- }, 50);
|
|
|
})
|
|
|
+ // this.$http.get({
|
|
|
+ // url: '/rest/form/form-data',
|
|
|
+ // data: {
|
|
|
+ // taskId: row.id
|
|
|
+ // }
|
|
|
+ // }).then(res => {
|
|
|
+ // this.selectedTaskId = row.id;
|
|
|
+ // this.taskForm = res.formProperties;
|
|
|
+ // this.taskFormData = {};
|
|
|
+ // this.dialogVisible = true;
|
|
|
+ // setTimeout(() => {
|
|
|
+ // this.$refs.taskForm.clearValidate()
|
|
|
+ // }, 50);
|
|
|
+ // })
|
|
|
},
|
|
|
claim(row) {
|
|
|
-
|
|
|
+ axios.post(`/rest/runtime/tasks/${row.id}`, {
|
|
|
+ action: 'claim',
|
|
|
+ assignee: this.userInfo.id
|
|
|
+ }).then(res => {
|
|
|
+ this.$message.success('签收成功')
|
|
|
+ this.getData()
|
|
|
+ }).catch(e => {
|
|
|
+ this.$message.error('签收失败')
|
|
|
+ })
|
|
|
},
|
|
|
completeTask() {
|
|
|
this.$refs.taskForm.validate(valid => {
|
|
|
@@ -114,7 +153,7 @@ export default {
|
|
|
this.getData()
|
|
|
}).catch(e => {
|
|
|
this.loading = false
|
|
|
- this.$message.success('失败');
|
|
|
+ this.$message.error('失败');
|
|
|
})
|
|
|
}
|
|
|
})
|