taskCenterPage.vue 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <template>
  2. <div class="taskCenter">
  3. <div class="taskCenterTableData">
  4. <el-table :data="taskCenterData" style="width: 100%" @select="rowClick" @select-all="rowClick">
  5. <!-- <el-table-column type="selection" label="操作" align="center"></el-table-column> -->
  6. <el-table-column label="序号" type="index" align="center" width="80" />
  7. <el-table-column label="执行人名称" prop="assigneeNames" />
  8. <el-table-column label="任务名称" prop="name" />
  9. <el-table-column label="任务状态">
  10. <template #default="scope">
  11. <div v-if="scope.row.status === 'NORMAL'">普通</div>
  12. <div v-else-if="scope.row.status === 'SUSPEND'">挂起</div>
  13. <div v-else-if="scope.row.status === 'LOCK'">锁定</div>
  14. <div v-else-if="scope.row.status == 'BACK'">驳回</div>
  15. <div v-else-if="scope.row.status === 'DESIGNATE'">指派</div>
  16. <div v-else-if="scope.row.status === 'TURN'">转办</div>
  17. <div v-else-if="scope.row.status === 'ADDDOED'">加办结束</div>
  18. <div v-else-if="scope.row.status === 'AGENCY'">代理</div>
  19. </template>
  20. </el-table-column>
  21. <el-table-column label="任务标题" prop="subject" width="400" />
  22. <el-table-column label="任务类型">
  23. <template #default="scope">
  24. <div v-if="scope.row.taskType === 'NORMAL'">普通</div>
  25. <div v-else-if="scope.row.taskType === 'SIGN'">会签</div>
  26. <div v-else-if="scope.row.taskType === 'SIGN_SOURCE'">会签_父</div>
  27. <div v-else-if="scope.row.taskType === 'TRANSFORMING'">事项</div>
  28. <div v-else-if="scope.row.taskType === 'TURN'">转办</div>
  29. <div v-else-if="scope.row.taskType === 'DELIVERTO'">转办</div>
  30. <div v-else-if="scope.row.taskType === 'AGENCY'">代理</div>
  31. <div v-else-if="scope.row.taskType === 'ADD_DO'">加办</div>
  32. </template>
  33. </el-table-column>
  34. <el-table-column label="操作">
  35. <template #default="scope">
  36. <div style="display: flex">
  37. <p class="indicitem" @click="getflowPath(scope.row)">流程详情</p>
  38. <p class="indicitem" @click="taskProcess(scope.row)">任务处理</p>
  39. </div>
  40. </template>
  41. </el-table-column>
  42. </el-table>
  43. <el-pagination
  44. @size-change="handleSizeChange"
  45. @current-change="handleCurrentChange"
  46. :current-page="page.currentPage"
  47. :page-size="page.pagesize"
  48. layout="total, prev, pager, next, jumper"
  49. :total="page.total">
  50. </el-pagination>
  51. <el-dialog title="流程详情" v-model="workflowVisible" width="70vw" :close-on-click-modal="false">
  52. <div class="flowSty">
  53. <iframe id="iframeContain" width="100%" height="100%" frameborder="0" class="iframe" name="iframeContain" seamless scrolling="no" :src="iframeURL">
  54. </iframe>
  55. </div>
  56. </el-dialog>
  57. </div>
  58. <task-center-evl ref="taskCenterEvl" @approveMsg="approveMsg"></task-center-evl>
  59. </div>
  60. </template>
  61. <script>
  62. import {apiPostTodoTaskList} from '../../api/api'
  63. import taskCenterEvl from './taskCenterEvlFrom.vue'
  64. import { getToken } from '../../api/auth'
  65. export default {
  66. components: {
  67. taskCenterEvl
  68. },
  69. data() {
  70. return {
  71. taskCenterData: [],
  72. workflowVisible: false,
  73. iframeURL: '',
  74. page:{
  75. pagesize: 12,
  76. currentPage: 1,
  77. total: 0
  78. }
  79. }
  80. },
  81. created() {
  82. this.getEvaluationData()
  83. },
  84. methods:{
  85. // 查询指标数据
  86. getEvaluationData() {
  87. let that = this
  88. let params = {
  89. order: "ASC", //排序
  90. sort: "",
  91. offset: "",
  92. limit: that.page.pagesize, //每页显示
  93. iamCode: window.localStorage.getItem('code') //IAM平台code值(登录后获取凭证)
  94. }
  95. apiPostTodoTaskList(params).then(datas =>{
  96. if (datas && datas.data) {
  97. that.taskCenterData = datas.data.rows
  98. that.page.total = datas.data.total
  99. }
  100. })
  101. },
  102. getflowPath(row) {
  103. this.workflowVisible = true
  104. this.iframeURL = 'http://10.65.78.23:8080/agilebpm-ui/bpm/instance/instanceImageDialog.html?instanceId='+row.instId+'&defId='+row.defId+'&taskId='+row.taskId+'&iamCode='+window.localStorage.getItem('code')
  105. },
  106. taskProcess(row) {
  107. this.$refs.taskCenterEvl.init(row)
  108. },
  109. rowClick(selection, row) {
  110. this.changeDateSelect = selection
  111. },
  112. handleSizeChange(val){
  113. this.page.pagesize = val
  114. this.getEvaluationData('seach')
  115. },
  116. handleCurrentChange(val){
  117. this.page.currentPage =val
  118. this.getEvaluationData('seach')
  119. },
  120. approveMsg(val) {
  121. if (val) {
  122. this.getEvaluationData()
  123. }
  124. }
  125. }
  126. }
  127. </script>
  128. <style lang="less">
  129. .taskCenter{
  130. .taskCenterTableData{
  131. margin-top: 20px;
  132. .el-table{
  133. .el-table__body-wrapper{
  134. height: 78vh !important;
  135. }
  136. .el-input__inner{
  137. height: 30px !important;
  138. }
  139. .el-radio__label{
  140. display: none;
  141. }
  142. .indicitem{
  143. color: #409EFF;
  144. font-size: 12px;
  145. margin-right: 20px;
  146. cursor:pointer;
  147. &:hover{
  148. text-decoration: underline;
  149. }
  150. }
  151. }
  152. .el-pagination{
  153. margin-top: 20px;
  154. text-align: end;
  155. position: relative;
  156. }
  157. .el-overlay{
  158. .el-dialog{
  159. margin-top: 8vh !important;
  160. .el-dialog__body{
  161. .flowSty{
  162. width: 100%;
  163. height: 70vh;
  164. }
  165. }
  166. }
  167. }
  168. }
  169. }
  170. </style>