Pārlūkot izejas kodu

性能验证退回改为用平台组件

zhonghuizhen 6 mēneši atpakaļ
vecāks
revīzija
2bc2dfb718

+ 36 - 16
src/views/business/performance/experimental.vue

@@ -171,7 +171,15 @@
       :inst-id="instid"
       @close="() => (approvalHistoryVisible = false)"
     />
-
+    <!-- 新增:退回弹窗 -->
+    <reject-dialog
+      :visible="rejectDialogVisible"
+      action="reject"
+      :task-id="params.taskId"
+      :form-opinion="''"
+      @close="(v) => (rejectDialogVisible = v)"
+      @action-event="handleRejectDialogEvent"
+    />
   </el-dialog>
   
 </template>
@@ -193,6 +201,7 @@ import html2Canvas from 'html2canvas'
 import JsPDF from 'jspdf'
 import FlowDiagramDialog from '@/business/platform/bpmn/components/flow-diagram/dialog'
 import ApprovalHistoryDialog from '@/business/platform/bpmn/components/approval-history/dialog'
+import RejectDialog from '@/business/platform/bpmn/form-ext/reject'
 export default {
   components: {
     ExperimentalDesc: () => import('./components/experimental-desc'),
@@ -203,7 +212,8 @@ export default {
     Conclusion: () => import('./components/conclusion'),
     Precision: () => import('./report/precision'),
     FlowDiagramDialog,
-    ApprovalHistoryDialog
+    ApprovalHistoryDialog,
+    RejectDialog
   },
   props: {
     visible: {
@@ -227,6 +237,7 @@ export default {
       dialogFormVisible: false,
       flowDiagramVisible: false,
       approvalHistoryVisible: false,
+      rejectDialogVisible: false,
       pdf: 'pdf',
       formLabelWidth: '110px',
       readonly: true,
@@ -465,7 +476,8 @@ export default {
           this.handleapprovalHistory(this.params.taskId, this.form);
           break;
         case 'sendBack':
-          this.handleReject(this.params.taskId, this.form);
+          // 打开退回弹窗
+          this.rejectDialogVisible = true
           break;
         case 'doEndProcess':
           //this.handleSave(this.form);
@@ -490,6 +502,12 @@ export default {
           break;
       }
     },
+    // 接收退回弹窗的提交
+    handleRejectDialogEvent(action, rejectForm) {
+      if (action === 'reject') {
+        this.handleReject(this.params.taskId, this.form, rejectForm)
+      }
+    },
     /*
     handleSave(data) {
       saveDraft(data).then(() => {
@@ -560,22 +578,24 @@ export default {
         this.$message.error('操作失败');
       });
     },
-    handleReject(taskId,data) {
+    handleReject(taskId,data,rejectForm) {
       data.shiFouGuoShen = '已退回'
+      const { backHandMode='normal', destination='', opinion='退回修改', rejectMode='reject' } = rejectForm || {}
       reject({
-              backHandMode: 'normal',
-              destination: '',
-              opinion: '退回修改',
-              rejectMode: 'reject',
-              taskId: taskId,
-              data: JSON.stringify(data)
-            }).then(() => {
-              this.$message.success('退回成功');
-              this.saveExperimentalData(data.id,data.shiFouGuoShen).then(() => {
-                this.closeDialog()
-              })
+        backHandMode,
+        destination,
+        opinion,
+        rejectMode,
+        taskId,
+        data: JSON.stringify(data)
+      }).then(() => {
+        this.$message.success('退回成功');
+        this.saveExperimentalData(data.id,data.shiFouGuoShen).then(() => {
+          this.rejectDialogVisible = false
+          this.closeDialog()
+        })
       }).catch(() => {
-              this.$message.error('退回失败');
+        this.$message.error('退回失败');
       });
     },
     /*

+ 39 - 19
src/views/business/performance/experimentalView.vue

@@ -169,6 +169,15 @@
       :inst-id="instid"
       @close="(visible) => (approvalHistoryVisible = visible)"
     />
+    <!-- 新增:退回弹窗 -->
+    <reject-dialog
+      :visible="rejectDialogVisible"
+      action="reject"
+      :task-id="taskId"
+      :form-opinion="''"
+      @close="(v)=> (rejectDialogVisible = v)"
+      @action-event="handleRejectDialogEvent"
+    />
   </el-dialog>
 </template>
 
@@ -189,6 +198,7 @@ import html2Canvas from 'html2canvas'
 import JsPDF from 'jspdf'
 import FlowDiagramDialog from '@/business/platform/bpmn/components/flow-diagram/dialog'
 import ApprovalHistoryDialog from '@/business/platform/bpmn/components/approval-history/dialog'
+import RejectDialog from '@/business/platform/bpmn/form-ext/reject'
 
 export default {
   components: {
@@ -200,7 +210,8 @@ export default {
     Conclusion: () => import('./components/conclusion'),
     Precision: () => import('./report/precision'),
     FlowDiagramDialog,
-    ApprovalHistoryDialog
+    ApprovalHistoryDialog,
+    RejectDialog
   },
   props: {
     visible: {
@@ -223,6 +234,7 @@ export default {
       dialogFormVisible: false,
       flowDiagramVisible: false,
       approvalHistoryVisible: false,
+      rejectDialogVisible: false,
       internalReadonly: this.readonly,
       pdf: 'pdf',
       formLabelWidth: '110px',
@@ -475,11 +487,11 @@ export default {
           }
           break;
         case 'sendBack':
-            if(this.taskId){
-              this.handleReject(this.taskId, this.form );
-            }else{
-              this.$message.warning('暂无流程信息!');
-            }
+          if(this.taskId){
+            this.rejectDialogVisible = true
+          }else{
+            this.$message.warning('暂无流程信息!');
+          }
           break;
         case 'approvalHistory':
             //if(this.taskId){
@@ -515,6 +527,12 @@ export default {
           break;
       }
     },
+    // 接收退回弹窗提交
+    handleRejectDialogEvent(action, rejectForm) {
+      if (action === 'reject') {
+        this.handleReject(this.taskId, this.form, rejectForm)
+      }
+    },
     handleapprovalHistory() {
       this.approvalHistoryVisible = true
     },
@@ -631,22 +649,24 @@ export default {
         this.$message.error('操作失败');
       });
     },
-    handleReject(taskId,data) {
+    handleReject(taskId,data,rejectForm) {
       data.shiFouGuoShen = '已退回'
+      const { backHandMode='normal', destination='', opinion='退回修改', rejectMode='reject' } = rejectForm || {}
       reject({
-              backHandMode: 'normal',
-              destination: '',
-              opinion: '退回修改',
-              rejectMode: 'reject',
-              taskId: taskId,
-              data: JSON.stringify(data)
-            }).then(() => {
-              this.$message.success('退回成功');
-              this.saveExperimentalData(data.id,data.shiFouGuoShen).then(() => {
-                this.closeDialog()
-              })
+        backHandMode,
+        destination,
+        opinion,
+        rejectMode,
+        taskId,
+        data: JSON.stringify(data)
+      }).then(() => {
+        this.$message.success('退回成功');
+        this.saveExperimentalData(data.id,data.shiFouGuoShen).then(() => {
+          this.rejectDialogVisible = false
+          this.closeDialog()
+        })
       }).catch(() => {
-              this.$message.error('退回失败');
+        this.$message.error('退回失败');
       });
     },
     handleDoEndProcess(taskId,data){