综合办公系统
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

returnPopup.vue 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <!--
  2. * @Author: ysh
  3. * @Date: 2025-03-17 15:04:06
  4. * @LastEditors: Please set LastEditors
  5. * @LastEditTime: 2025-03-17 15:43:28
  6. -->
  7. <template>
  8. <view class="add-popup">
  9. <view class="popup-content">
  10. <text class="popup-title">退回菜单</text>
  11. <uni-forms ref="form" :modelValue="taskForm" :rules="rules" label-position="top" label-width="150">
  12. <uni-forms-item label="退回节点" name="targetKey" required class="form-item">
  13. <uv-radio-group v-model="taskForm.targetKey" placement="column">
  14. <uv-radio :name="item.id" :label="item.name" v-for="(item, index) in returnTaskList" :customStyle="{margin: '8px'}"
  15. :key="'r' + index"></uv-radio>
  16. </uv-radio-group>
  17. </uni-forms-item>
  18. <uni-forms-item label="退回意见" name="comment" required class="form-item">
  19. <uv-textarea v-model="taskForm.comment" placeholder="请输入退回意见"></uv-textarea>
  20. </uni-forms-item>
  21. <view class="popup-buttons">
  22. <u-button style="margin-right: 10px;" @click="cancel">取消</u-button>
  23. <u-button type="primary" class="confirm" @click="taskReturn">确认</u-button>
  24. </view>
  25. </uni-forms>
  26. </view>
  27. </view>
  28. </template>
  29. <script>
  30. import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
  31. export default {
  32. props: {
  33. taskForm: Object,
  34. comment: String,
  35. },
  36. data() {
  37. return {
  38. rules: {
  39. targetKey: {
  40. rules: [{
  41. required: true,
  42. errorMessage: '请选择退回节点',
  43. },]
  44. },
  45. comment: {
  46. rules: [{
  47. required: true,
  48. errorMessage: '请填写退回意见',
  49. },]
  50. },
  51. },
  52. returnTaskList: [],
  53. }
  54. },
  55. created() {
  56. this.handleReturn();
  57. },
  58. mounted() {
  59. if (this.comment != '') {
  60. this.taskForm.comment = this.comment
  61. }
  62. },
  63. watch: {
  64. comment(newval) {
  65. this.taskForm.comment = newval
  66. }
  67. },
  68. methods: {
  69. /** 可退回任务列表 */
  70. handleReturn() {
  71. returnList(this.taskForm).then(res => {
  72. this.returnTaskList = res.data.reverse();
  73. this.taskForm.variables = null;
  74. })
  75. },
  76. /** 提交退回任务 */
  77. taskReturn() {
  78. this.$refs.form.validate().then(resopnse => {
  79. returnTask(this.taskForm).then(res => {
  80. this.$modal.msgSuccess(res.msg);
  81. this.$emit('goBack')
  82. });
  83. }).catch(err => {
  84. console.log('表单错误信息:', err);
  85. })
  86. },
  87. cancel() {
  88. this.$emit('cancel')
  89. },
  90. confirm() {
  91. }
  92. },
  93. }
  94. </script>
  95. <style lang="scss" scoped>
  96. .add-popup {
  97. position: fixed;
  98. top: 0;
  99. left: 0;
  100. right: 0;
  101. bottom: 0;
  102. background-color: rgba(0, 0, 0, 0.5);
  103. display: flex;
  104. justify-content: center;
  105. align-items: center;
  106. z-index: 999;
  107. .popup-title {
  108. font-size: 36rpx;
  109. font-weight: bold;
  110. display: block;
  111. margin-bottom: 40rpx;
  112. }
  113. .popup-content {
  114. background-color: white;
  115. width: 600rpx;
  116. padding: 40rpx;
  117. border-radius: 20rpx;
  118. }
  119. .popup-buttons {
  120. display: flex;
  121. }
  122. }
  123. </style>