Browse Source

add 添加查看流程变量

gssong 1 year ago
parent
commit
3c27c18889

+ 12 - 0
src/api/workflow/task/index.ts

@@ -192,6 +192,7 @@ export const transferTask = (data: any) => {
     data: data
   });
 };
+
 /**
  * 终止任务
  * @returns
@@ -203,3 +204,14 @@ export const terminationTask = (data: any) => {
     data: data
   });
 };
+
+/**
+ * 查询流程变量
+ * @returns
+ */
+export const getInstanceVariable = (taskId: string) => {
+  return request({
+    url: `/workflow/task/getInstanceVariable/${taskId}`,
+    method: 'get'
+  });
+};

+ 5 - 0
src/api/workflow/task/types.ts

@@ -37,3 +37,8 @@ export interface TaskVO extends BaseEntity {
   participantVo: ParticipantVo;
   multiInstance: boolean;
 }
+
+export interface VariableVo {
+  key: string;
+  value: string;
+}

+ 4 - 4
src/components/Process/approvalRecord.vue

@@ -8,7 +8,7 @@
         <el-tab-pane label="审批信息" name="info">
           <div>
             <el-table :data="historyList" style="width: 100%" border fit>
-              <el-table-column type="index" label="序号" align="center" width="50"></el-table-column>
+              <el-table-column type="index" label="序号" align="center" width="60"></el-table-column>
               <el-table-column prop="name" label="任务名称" sortable align="center"></el-table-column>
               <el-table-column prop="nickName" label="办理人" sortable align="center"></el-table-column>
               <el-table-column label="状态" sortable align="center">
@@ -17,6 +17,9 @@
                 </template>
               </el-table-column>
               <el-table-column prop="comment" label="审批意见" sortable align="center"></el-table-column>
+              <el-table-column prop="startTime" label="开始时间" sortable align="center"></el-table-column>
+              <el-table-column prop="endTime" label="结束时间" sortable align="center"></el-table-column>
+              <el-table-column prop="runDuration" label="运行时长" sortable align="center"></el-table-column>
               <el-table-column prop="attachmentList" label="附件" sortable align="center">
                 <template #default="scope">
                   <el-popover v-if="scope.row.attachmentList && scope.row.attachmentList.length > 0" placement="right" :width="310" trigger="click">
@@ -34,9 +37,6 @@
                   </el-popover>
                 </template>
               </el-table-column>
-              <el-table-column prop="startTime" label="开始时间" sortable align="center"></el-table-column>
-              <el-table-column prop="endTime" label="结束时间" sortable align="center"></el-table-column>
-              <el-table-column prop="runDuration" label="运行时长" sortable align="center"></el-table-column>
             </el-table>
           </div>
         </el-tab-pane>

+ 40 - 2
src/views/workflow/task/allTaskWaiting.vue

@@ -83,6 +83,9 @@
               <el-col v-if="scope.row.multiInstance" :span="1.5">
                 <el-button link type="primary" size="small" icon="Remove" @click="deleteMultiInstanceUser(scope.row)">减签</el-button>
               </el-col>
+              <el-col :span="1.5">
+                <el-button link type="primary" size="small" icon="Document" @click="handleInstanceVariable(scope.row)">流程变量</el-button>
+              </el-col>
             </el-row>
           </template>
         </el-table-column>
@@ -101,15 +104,31 @@
     <multiInstanceUser ref="multiInstanceUserRef" :title="title" @submit-callback="handleQuery" />
     <!-- 选人组件 -->
     <UserSelect ref="userSelectRef" :multiple="false" @confirm-call-back="submitCallback"></UserSelect>
+    <!-- 流程变量开始 -->
+    <el-dialog v-model="variableVisible" draggable title="流程变量" width="60%" :close-on-click-modal="false">
+      <el-card class="box-card" v-loading="variableLoading">
+        <div slot="header" class="clearfix">
+          <span>流程定义名称:<el-tag>{{processDefinitionName}}</el-tag></span>
+        </div>
+        <div v-for="(v,index) in variableList" :key="index" >
+          <el-form :label-position="'right'"  v-if="v.key!=='_FLOWABLE_SKIP_EXPRESSION_ENABLED'" label-width="150px">
+            <el-form-item :label="v.key+':'">
+              {{v.value}}
+            </el-form-item>
+          </el-form>
+        </div>
+      </el-card>
+    </el-dialog>
+    <!-- 流程变量结束 -->
   </div>
 </template>
 
 <script lang="ts" setup>
-import { getPageByAllTaskWait, getPageByAllTaskFinish, updateAssignee } from '@/api/workflow/task';
+import { getPageByAllTaskWait, getPageByAllTaskFinish, updateAssignee, getInstanceVariable } from '@/api/workflow/task';
 import ApprovalRecord from '@/components/Process/approvalRecord.vue';
 import MultiInstanceUser from '@/components/Process/multiInstanceUser.vue';
 import UserSelect from '@/components/UserSelect';
-import { TaskQuery, TaskVO } from '@/api/workflow/task/types';
+import { TaskQuery, TaskVO, VariableVo } from '@/api/workflow/task/types';
 //审批记录组件
 const approvalRecordRef = ref<InstanceType<typeof ApprovalRecord>>();
 //加签组件
@@ -134,6 +153,16 @@ const total = ref(0);
 // 模型定义表格数据
 const taskList = ref([]);
 const title = ref('');
+// 流程变量是否显示
+const variableVisible = ref(false);
+const variableLoading = ref(true);
+// 流程变量 
+const variableList = ref<VariableVo>({
+  key: '',
+  value: '',
+})
+//流程定义名称
+const processDefinitionName = ref(undefined);
 // 查询参数
 const queryParams = ref<TaskQuery>({
   pageNum: 1,
@@ -228,4 +257,13 @@ const submitCallback  = async (data) => {
     proxy?.$modal.msgWarning('请选择用户!');
   }
 };
+//查询流程变量
+const handleInstanceVariable  = async (row: TaskVO) => {
+  variableLoading.value = true
+  variableVisible.value = true
+  processDefinitionName.value = row.processDefinitionName
+  let data = await getInstanceVariable(row.id)
+  variableList.value = data.data
+  variableLoading.value = false
+};
 </script>