From 8b1de8b87d81cb5c4b3c207e10195f392ed330cc Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 13 十二月 2024 17:56:02 +0800
Subject: [PATCH] 任务驳回功能基础实现

---
 src/views/flowable/task/myProcess/send/index.vue |   49 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 46 insertions(+), 3 deletions(-)

diff --git a/src/views/flowable/task/myProcess/send/index.vue b/src/views/flowable/task/myProcess/send/index.vue
index b235359..bf6e5f4 100644
--- a/src/views/flowable/task/myProcess/send/index.vue
+++ b/src/views/flowable/task/myProcess/send/index.vue
@@ -12,7 +12,7 @@
           <el-col :span="16" :offset="4" v-if="formDataList && formDataList.length > 0">
             <div v-for="(formDataObj, index) in formDataList" :key="index" class="form-warp" style="position: relative">
               <div v-if="!formDataObj.current" style="position: absolute; top: 2px; right: 2px">
-                <el-button type="danger" disabled>椹冲洖(鍔熻兘寮�鍙戜腑)</el-button>
+                <el-button type="danger" @click="openRejectTask(formDataObj.beforeNodeDefId)">椹冲洖</el-button>
               </div>
               <div v-if="formDataObj.current" style="margin-bottom: 15px;color: #409eff">褰撳墠闃舵锛�<span style="color: red">{{formDataObj.beforeNodeName}}</span></div>
               <div v-else style="margin-bottom: 15px;color: #409eff">鍓嶇疆闃舵锛�<span style="color: #d5904b">{{formDataObj.beforeNodeName}}</span></div>
@@ -43,6 +43,28 @@
         </span>
       </el-dialog>
     </el-card>
+
+
+    <el-dialog
+      :title="`椹冲洖锛歚 + rejectForm.projectName"
+      :visible.sync="rejectShow"
+      width="950px"
+      :destroy-on-close="true"
+      :close-on-click-modal="false"
+      >
+      <div>
+        <el-input
+          type="textarea"
+          :rows="3"
+          placeholder="瀹℃牳寤鸿"
+          v-model="rejectForm.auditOpinion">
+        </el-input>
+      </div>
+      <div>
+        <el-button type="danger" size="small" @click="rejectTask">椹冲洖</el-button>
+      </div>
+    </el-dialog>
+
   </div>
 </template>
 
@@ -54,6 +76,7 @@
 import {getNextFlowNodeByStart} from "@/api/flowable/todo";
 import FlowUser from '@/components/flow/User'
 import FlowRole from '@/components/flow/Role'
+import {rejectTask} from "@/api/projectProcess/projectProcess";
 
 export default {
   name: "Record",
@@ -65,6 +88,7 @@
   props: {},
   data() {
     return {
+      rejectShow: false,
       goBackParams: {},
       formDataList: [],  // 琛ㄥ崟鍒楄〃
       taskId: '',
@@ -91,7 +115,12 @@
       checkValues: null, // 閫変腑浠诲姟鎺ユ敹浜哄憳鏁版嵁
       formData: {}, // 濉啓鐨勮〃鍗曟暟鎹�,
       multiInstanceVars: '', // 浼氱鑺傜偣
-      formJson: {} // 琛ㄥ崟json
+      formJson: {}, // 琛ㄥ崟json
+      rejectForm: {
+        auditOpinion: '', // 瀹℃牳鎰忚
+        taskId: '',
+        rejectedTaskDefKey: ''  // 琚┏鍥炵殑浠诲姟key
+      }
     };
   },
   mounted() {
@@ -105,6 +134,17 @@
     this.getFlowFormData(this.taskId);
   },
   methods: {
+    rejectTask() {
+      rejectTask(this.rejectForm).then(res => {
+        this.rejectShow = false
+        this.$message.success("椹冲洖鎴愬姛")
+      })
+    },
+    openRejectTask(rejectedTaskDefKey) {
+      this.rejectForm.rejectedTaskDefKey = rejectedTaskDefKey;
+      this.rejectForm.taskId = this.taskId;
+      this.rejectShow = true
+    },
     handleClick(tab, event) {
       if (tab.name === '2'){
         flowXmlAndNode({deployId:this.deployId}).then(res => {
@@ -159,7 +199,10 @@
     goBack() {
       this.$router.push({
         path: '/projectFlow/detail',
-        query: this.goBackParams
+        query: {
+          projectId: this.goBackParams.projectId,
+          processDefId: this.goBackParams.processDefId
+        }
       })
     },
     /** 鐢宠娴佺▼琛ㄥ崟鏁版嵁鎻愪氦 */

--
Gitblit v1.8.0