综合办公系统
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <!--
  2. * @Author: ysh
  3. * @Date: 2025-01-21 10:01:39
  4. * @LastEditors: Please set LastEditors
  5. * @LastEditTime: 2025-02-19 15:55:13
  6. -->
  7. <template>
  8. <view>
  9. <view class="tag-view text-center margin-top-xs margin-bottom-xs" style="padding: 10rpx;">
  10. <uni-tag :text="'您还有' + total + '个任务待审'" />
  11. </view>
  12. <u-list v-if="todoList.length > 0">
  13. <u-list-item v-for="(item, index) in todoList" :key="index">
  14. <view @click="goToDetail(item)">
  15. <view class="box">
  16. <view style="text-align: right;">
  17. <span style="font-size: 26rpx;color: #999999;">{{ item.createTime }}</span>
  18. </view>
  19. <uni-title type="h3" :title="item.title ? item.title : '暂无标题'"></uni-title>
  20. <view>流程名称:{{ item.procDefName }}</view>
  21. <view>当前节点:{{ item.taskName }}</view>
  22. <view>流程发起人:{{ item.startUserName }}</view>
  23. </view>
  24. </view>
  25. </u-list-item>
  26. </u-list>
  27. <u-empty v-else></u-empty>
  28. </view>
  29. </template>
  30. <script>
  31. import {
  32. todoList
  33. } from "@/api/flowable/todo";
  34. export default {
  35. data() {
  36. return {
  37. todoList: [],
  38. total: 0,
  39. };
  40. },
  41. created() {
  42. this.getTodoList();
  43. },
  44. onLoad: function (options) {
  45. uni.startPullDownRefresh();
  46. },
  47. onPullDownRefresh() {
  48. this.getTodoList();
  49. },
  50. methods: {
  51. getTodoList() {
  52. todoList({
  53. pageNum: 1,
  54. pageSize: 999,
  55. name: null
  56. }).then(response => {
  57. this.total = response.data.total;
  58. this.todoList = response.data.records;
  59. uni.stopPullDownRefresh();
  60. });
  61. },
  62. goToDetail(item) {
  63. // 跳转到详情页,并传递项目ID
  64. const query = {
  65. procInsId: item.procInsId,
  66. executionId: item.executionId,
  67. deployId: item.deployId,
  68. taskId: item.taskId,
  69. taskName: item.taskName,
  70. startUserName: item.startUserName,
  71. procDefName: item.procDefName
  72. }
  73. const encodedParams = encodeURIComponent(JSON.stringify(query));
  74. uni.navigateTo({
  75. url: `/pages/message/apply/detail?params=${encodedParams}`
  76. })
  77. }
  78. }
  79. }
  80. </script>
  81. <style lang="scss">
  82. .box {
  83. background-color: #fff;
  84. border-radius: 4px;
  85. padding: 10px 20px;
  86. margin: 0 10px 10px;
  87. }
  88. </style>