兰宝车间质量管理系统-前端
gssong
2024-03-09 3c27c188890b96fe2f96c8f8008e48c637ec6cc7
add 添加查看流程变量
已修改4个文件
67 ■■■■■ 文件已修改
src/api/workflow/task/index.ts 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/workflow/task/types.ts 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Process/approvalRecord.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/workflow/task/allTaskWaiting.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/workflow/task/index.ts
@@ -192,6 +192,7 @@
    data: data
  });
};
/**
 * 终止任务
 * @returns
@@ -203,3 +204,14 @@
    data: data
  });
};
/**
 * 查询流程变量
 * @returns
 */
export const getInstanceVariable = (taskId: string) => {
  return request({
    url: `/workflow/task/getInstanceVariable/${taskId}`,
    method: 'get'
  });
};
src/api/workflow/task/types.ts
@@ -37,3 +37,8 @@
  participantVo: ParticipantVo;
  multiInstance: boolean;
}
export interface VariableVo {
  key: string;
  value: string;
}
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>
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 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 @@
    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>