综合办公系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

manageReview.vue 4.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <!--
  2. * @Author: ysh
  3. * @Date: 2024-04-08 13:56:14
  4. * @LastEditors: Please set LastEditors
  5. * @LastEditTime: 2024-04-30 11:30:01
  6. -->
  7. <template>
  8. <div class="app-container">
  9. <h2 style="text-align:center;">分管审核</h2>
  10. <el-form :model="form" :rules="rules" label-width="100px" :disabled="disabled">
  11. <el-form-item label="审核意见:" prop="manageComment">
  12. <el-input type="textarea" :rows="4" placeholder="请输入审核意见" v-model="form.manageComment">
  13. </el-input>
  14. </el-form-item>
  15. <el-form-item label="签名:">
  16. <span class="auditor">{{ form.manageApproverName }}</span>
  17. </el-form-item>
  18. <el-form-item label="审核时间:">
  19. {{ form.manageApprovalTime }}
  20. </el-form-item>
  21. <el-form-item>
  22. <p style="text-align:center;"><el-button type="primary" @click="confirm">确认审核</el-button></p>
  23. </el-form-item>
  24. </el-form>
  25. </div>
  26. </template>
  27. <script>
  28. import { mapGetters } from 'vuex';
  29. import { parseTime } from "@/utils/ruoyi";
  30. import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm } from "@/api/flowable/todo";
  31. import { getProjectComment, addProjectComment, updateProjectComment } from "@/api/oa/project/projectComment"
  32. import { getUsersDeptLeaderByDept } from '@/api/system/post'
  33. export default {
  34. computed: {
  35. ...mapGetters(['name', 'userId']),
  36. },
  37. props: {
  38. disabled: {
  39. type: Boolean,
  40. require: true,
  41. },
  42. taskForm: {
  43. type: Object,
  44. required: true,
  45. },
  46. taskName: {
  47. type: String,
  48. required: true,
  49. },
  50. },
  51. data() {
  52. return {
  53. form: {
  54. manageApprover: '',
  55. manageApproverName: '',
  56. manageApprovalTime: ''
  57. },
  58. rules: {
  59. manageComment: [{ required: true, message: "请输入审核意见", trigger: "blur" }]
  60. },
  61. deptLeaderList: []
  62. }
  63. },
  64. created() {
  65. if (this.$route.query.taskName != '项目登记' && this.$route.query.taskName != '项目安排') {
  66. this.initForm();
  67. }
  68. },
  69. watch: {
  70. underDeptId(newVal, oldVal) {
  71. this.getDeptLeader(newVal)
  72. }
  73. },
  74. computed: {
  75. underDeptId() {
  76. return this.$store.state.projectProcess.underDeptId;
  77. }
  78. },
  79. methods: {
  80. initForm() {
  81. getProjectComment(this.taskForm.formId).then(res => {
  82. if (res.data) {
  83. this.form = res.data
  84. if (this.taskName == '分管审核') {
  85. this.form.manageApprover = this.$store.state.user.userId;
  86. this.form.manageApproverName = this.$store.state.user.name;
  87. this.form.manageApprovalTime = parseTime(new Date(), '{y}-{m}-{d}')
  88. } else {
  89. if (res.data.managerUser)
  90. this.form.manageApproverName = res.data.managerUser.nickName
  91. }
  92. } else {
  93. if (this.taskName == '分管审核') {
  94. this.form.manageApprover = this.$store.state.user.userId;
  95. this.form.manageApproverName = this.$store.state.user.name;
  96. this.form.manageApprovalTime = parseTime(new Date(), '{y}-{m}-{d}')
  97. } else {
  98. this.form.manageApprover = '';
  99. this.form.manageApprovalTime = '';
  100. }
  101. }
  102. })
  103. },
  104. getDeptLeader(val) {
  105. this.deptLeaderList = [];
  106. for (let v of val) {
  107. getUsersDeptLeaderByDept({ deptId: Number(v) }).then(res => {
  108. this.deptLeaderList.push(res.data.userId);
  109. this.$store.commit('SET_UNDERLEADERID', this.deptLeaderList)
  110. })
  111. }
  112. },
  113. confirm() {
  114. this.form.projectId = this.taskForm.formId
  115. updateProjectComment({ projectId: this.taskForm.formId, manageComment: this.form.manageComment })
  116. const params = { taskId: this.taskForm.taskId };
  117. // 获取下一个流程节点
  118. getNextFlowNode(params).then(res => {
  119. this.$set(this.taskForm.variables, "approvalList", this.deptLeaderList);
  120. complete(this.taskForm).then(response => {
  121. this.$modal.msgSuccess(response.msg);
  122. this.$emit("goBack");
  123. });
  124. });
  125. },
  126. },
  127. }
  128. </script>
  129. <style lang="scss" scoped>
  130. ::v-deep .el-textarea.is-disabled .el-textarea__inner {
  131. color: #121212 !important;
  132. }
  133. </style>