taskCenterPage.vue 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  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-evaluation-start ref="taskEvaluationStart"></task-evaluation-start>
  59. <task-center-evl ref="taskCenterEvl" @approveMsg="approveMsg"></task-center-evl>
  60. <task-center-dept-evl ref="taskCenterdeptEvl" @approveMsg="approveMsg"></task-center-dept-evl>
  61. <task-center-dept-business-evl ref="taskCenterdeptbusinessEvl" @approveMsg="approveMsg"></task-center-dept-business-evl>
  62. <task-application-from ref="taskApplicationFrom" @approveMsg="approveMsg"></task-application-from>
  63. </div>
  64. </template>
  65. <script>
  66. import {apiPostTodoTaskList, apiPostgetInstanceAndChildren} from '../../api/api'
  67. import taskEvaluationStart from './taskEvaluationStart.vue'
  68. import taskCenterEvl from './taskCenterEvlNewFrom.vue'
  69. import taskCenterDeptEvl from './taskCenterDeptStartFrom.vue'
  70. import taskCenterDeptBusinessEvl from './taskCenterDeptBusinessFrom.vue'
  71. import taskApplicationFrom from './taskApplicationFrom.vue'
  72. export default {
  73. components: {
  74. taskEvaluationStart,
  75. taskCenterEvl,
  76. taskCenterDeptEvl,
  77. taskCenterDeptBusinessEvl,
  78. taskApplicationFrom
  79. },
  80. data() {
  81. return {
  82. taskCenterData: [],
  83. workflowVisible: false,
  84. iframeURL: '',
  85. page:{
  86. pagesize: 12,
  87. currentPage: 1,
  88. total: 0
  89. }
  90. }
  91. },
  92. created() {
  93. this.getEvaluationData()
  94. },
  95. methods:{
  96. // 查询指标数据
  97. getEvaluationData() {
  98. let that = this
  99. let params = {
  100. order: "ASC", //排序
  101. sort: "",
  102. offset: "",
  103. limit: that.page.pagesize, //每页显示
  104. iamCode: window.localStorage.getItem('code') //IAM平台code值(登录后获取凭证)
  105. }
  106. apiPostTodoTaskList(params).then(datas =>{
  107. if (datas && datas.data) {
  108. that.taskCenterData = datas.data.rows
  109. that.page.total = datas.data.total
  110. }
  111. })
  112. },
  113. getflowPath(row) {
  114. this.workflowVisible = true
  115. 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')
  116. },
  117. taskProcess(row) {
  118. let that = this
  119. let params = {
  120. id: row.instId,
  121. iamCode: window.localStorage.getItem('code')
  122. }
  123. apiPostgetInstanceAndChildren(params).then(datas =>{
  124. if (datas && datas.data) {
  125. let allData = datas.data.data.bpmInstance
  126. let keyId = datas.data.data.bpmInstance.bizKey
  127. let taskDefKey = datas.data.data.bpmInstance.defKey
  128. if (taskDefKey === 'bbbmyjzbjh') {
  129. that.$refs.taskCenterdeptEvl.init(row, keyId, allData)
  130. } else if(taskDefKey === 'bbbmyjzbkh'){
  131. that.$refs.taskCenterdeptbusinessEvl.init(row, keyId, allData)
  132. } else if(taskDefKey === 'jxjgkhsb'){
  133. that.$refs.taskApplicationFrom.init(row, keyId)
  134. } else if(taskDefKey === 'yddwkplc' || taskDefKey === 'jddwkplc' || taskDefKey === 'nddwkplc') {
  135. that.$refs.taskCenterEvl.init(row, allData)
  136. } else if (taskDefKey === 'dwkpmbqd') {
  137. that.$refs.taskEvaluationStart.init(row)
  138. }
  139. }
  140. })
  141. },
  142. rowClick(selection, row) {
  143. this.changeDateSelect = selection
  144. },
  145. handleSizeChange(val){
  146. this.page.pagesize = val
  147. this.getEvaluationData()
  148. },
  149. handleCurrentChange(val){
  150. this.page.currentPage =val
  151. this.getEvaluationData()
  152. },
  153. approveMsg(val) {
  154. if (val) {
  155. this.getEvaluationData()
  156. }
  157. }
  158. }
  159. }
  160. </script>
  161. <style lang="less">
  162. .taskCenter{
  163. .taskCenterTableData{
  164. margin-top: 20px;
  165. .el-table{
  166. .el-table__body-wrapper{
  167. height: 78vh !important;
  168. }
  169. .el-input__inner{
  170. height: 30px !important;
  171. }
  172. .el-radio__label{
  173. display: none;
  174. }
  175. .indicitem{
  176. color: #409EFF;
  177. font-size: 12px;
  178. margin-right: 20px;
  179. cursor:pointer;
  180. &:hover{
  181. text-decoration: underline;
  182. }
  183. }
  184. }
  185. .el-pagination{
  186. margin-top: 20px;
  187. text-align: end;
  188. position: relative;
  189. }
  190. .el-overlay{
  191. .el-dialog{
  192. margin-top: 8vh !important;
  193. .el-dialog__body{
  194. .flowSty{
  195. width: 100%;
  196. height: 70vh;
  197. }
  198. }
  199. }
  200. }
  201. }
  202. }
  203. </style>