taskDetailComponent.vue 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <template>
  2. <view style = "margin:30rpx 30rpx">
  3. <u-time-line>
  4. <u-time-line-item nodeTop="2" v-for="(item, index) in histaskList" :key="item.id">
  5. <!-- 此处自定义了左边内容,用一个图标替代 -->
  6. <template v-slot:node>
  7. <view class="u-node" style="background: #19be6b;">
  8. <!-- 此处为uView的icon组件 -->
  9. <u-icon :name="item.activityType=='startEvent'?startIcon:(item.activityType=='endEvent'?endIcon:userIcon)" color="#fff" :size="24"></u-icon>
  10. </view>
  11. </template>
  12. <template v-slot:content>
  13. <view>
  14. <view class="u-order-title" v-if="item.activityName">{{item.activityName}}</view>
  15. <view class="u-order-desc" v-if="item.activityType=='userTask' && !!item.displayName">审批人:{{item.displayName}}</view>
  16. <view class="u-order-desc" v-if="item.commentList">
  17. <view v-for="(comment, commentIndex) in item.commentList" :key="comment.id">
  18. 审批意见:{{comment.fullMessage}}
  19. <br>
  20. 时间:{{parseTime(new Date(comment.time))}}
  21. </view>
  22. </view>
  23. <view class="u-order-time" v-if="item.startTime">开始时间:{{item.startTime}}</view>
  24. <view class="u-order-time" v-if="item.endTime">结束时间:{{item.endTime}}</view>
  25. </view>
  26. </template>
  27. </u-time-line-item>
  28. </u-time-line>
  29. </view>
  30. </template>
  31. <script>
  32. export default {
  33. props:['processInstanceId'],
  34. data() {
  35. return {
  36. histaskList : [],
  37. startIcon : '/static/icon/taskStart.png',
  38. endIcon : '/static/icon/taskEnd.png',
  39. userIcon : 'account-fill'
  40. }
  41. },
  42. mounted() {
  43. let self = this;
  44. this.flowableRequest({
  45. action: "flow/getProcessHisTaskList",
  46. data : {
  47. processId : this.processInstanceId,
  48. },
  49. success(resData) {
  50. self.histaskList = resData.data.data;
  51. }
  52. })
  53. },
  54. }
  55. </script>
  56. <style lang="scss" scoped>
  57. .u-node {
  58. width: 44rpx;
  59. height: 44rpx;
  60. border-radius: 100rpx;
  61. display: flex;
  62. justify-content: center;
  63. align-items: center;
  64. background: #d0d0d0;
  65. }
  66. .u-order-title {
  67. color: #333333;
  68. font-weight: bold;
  69. font-size: 32rpx;
  70. }
  71. .u-order-desc {
  72. color: rgb(150, 150, 150);
  73. font-size: 35rpx;
  74. margin-bottom: 6rpx;
  75. }
  76. .u-order-time {
  77. color: rgb(200, 200, 200);
  78. font-size: 26rpx;
  79. }
  80. </style>