mirror of
				https://gitee.com/hhyykk/ipms-sjy-ui.git
				synced 2025-11-04 04:08:44 +08:00 
			
		
		
		
	code review:修复工作流的审批界面报错问题
This commit is contained in:
		@@ -1,13 +1,20 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <el-drawer v-model="drawerVisible" title="子任务" size="70%">
 | 
			
		||||
    <!-- 当前任务 -->
 | 
			
		||||
    <template #header>
 | 
			
		||||
      <h4>【{{ baseTask.name }} 】审批人:{{ baseTask.assigneeUser?.nickname }}</h4>
 | 
			
		||||
      <el-button style="margin-left: 5px" v-if="showSubSignButton(baseTask)" type="danger" plain @click="handleSubSign(baseTask)">
 | 
			
		||||
        <Icon icon="ep:remove" />
 | 
			
		||||
        减签
 | 
			
		||||
      <el-button
 | 
			
		||||
        style="margin-left: 5px"
 | 
			
		||||
        v-if="isSubSignButtonVisible(baseTask)"
 | 
			
		||||
        type="danger"
 | 
			
		||||
        plain
 | 
			
		||||
        @click="handleSubSign(baseTask)"
 | 
			
		||||
      >
 | 
			
		||||
        <Icon icon="ep:remove" /> 减签
 | 
			
		||||
      </el-button>
 | 
			
		||||
    </template>
 | 
			
		||||
    <el-table :data="tableData" style="width: 100%" row-key="id" border>
 | 
			
		||||
    <!-- 子任务列表 -->
 | 
			
		||||
    <el-table :data="baseTask.children" style="width: 100%" row-key="id" border>
 | 
			
		||||
      <el-table-column prop="assigneeUser.nickname" label="审批人" />
 | 
			
		||||
      <el-table-column prop="assigneeUser.deptName" label="所在部门" />
 | 
			
		||||
      <el-table-column label="审批状态" prop="result">
 | 
			
		||||
@@ -32,18 +39,17 @@
 | 
			
		||||
      <el-table-column label="操作" prop="operation">
 | 
			
		||||
        <template #default="scope">
 | 
			
		||||
          <el-button
 | 
			
		||||
            v-if="showSubSignButton(scope.row)"
 | 
			
		||||
            v-if="isSubSignButtonVisible(scope.row)"
 | 
			
		||||
            type="danger"
 | 
			
		||||
            plain
 | 
			
		||||
            @click="handleSubSign(scope.row)"
 | 
			
		||||
          >
 | 
			
		||||
            <Icon icon="ep:remove" />
 | 
			
		||||
            减签
 | 
			
		||||
            <Icon icon="ep:remove" /> 减签
 | 
			
		||||
          </el-button>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
    </el-table>
 | 
			
		||||
    <!--  减签   -->
 | 
			
		||||
    <!-- 减签 -->
 | 
			
		||||
    <TaskSubSignDialogForm ref="taskSubSignDialogForm" />
 | 
			
		||||
  </el-drawer>
 | 
			
		||||
</template>
 | 
			
		||||
@@ -53,12 +59,11 @@ import { DICT_TYPE } from '@/utils/dict'
 | 
			
		||||
import { dateFormatter } from '@/utils/formatTime'
 | 
			
		||||
import TaskSubSignDialogForm from './TaskSubSignDialogForm.vue'
 | 
			
		||||
 | 
			
		||||
const message = useMessage() // 消息弹窗
 | 
			
		||||
defineOptions({ name: 'ProcessInstancechildrenList' })
 | 
			
		||||
defineOptions({ name: 'ProcessInstanceChildrenTaskList' })
 | 
			
		||||
 | 
			
		||||
const message = useMessage() // 消息弹窗
 | 
			
		||||
const drawerVisible = ref(false) // 抽屉的是否展示
 | 
			
		||||
 | 
			
		||||
const tableData = ref<any[]>([]) //表格数据
 | 
			
		||||
const baseTask = ref<object>({})
 | 
			
		||||
/** 打开弹窗 */
 | 
			
		||||
const open = async (task: any) => {
 | 
			
		||||
@@ -67,30 +72,22 @@ const open = async (task: any) => {
 | 
			
		||||
    return
 | 
			
		||||
  }
 | 
			
		||||
  baseTask.value = task
 | 
			
		||||
  //设置表格数据
 | 
			
		||||
  tableData.value = task.children
 | 
			
		||||
  //展开抽屉
 | 
			
		||||
  // 展开抽屉
 | 
			
		||||
  drawerVisible.value = true
 | 
			
		||||
}
 | 
			
		||||
defineExpose({ open }) // 提供 openModal 方法,用于打开弹窗
 | 
			
		||||
 | 
			
		||||
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 减签
 | 
			
		||||
 */
 | 
			
		||||
/** 发起减签 */
 | 
			
		||||
const taskSubSignDialogForm = ref()
 | 
			
		||||
const handleSubSign = (item) => {
 | 
			
		||||
  taskSubSignDialogForm.value.open(item.id)
 | 
			
		||||
  // TODO @海洋:减签后,需要刷新下界面哈
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 显示减签按钮
 | 
			
		||||
 * @param task
 | 
			
		||||
 */
 | 
			
		||||
const showSubSignButton = (task:any) => {
 | 
			
		||||
  if(!isEmpty(task.children)){
 | 
			
		||||
    //有子任务,且子任务有任意一个是 待处理 和 待前置任务完成 则显示减签按钮
 | 
			
		||||
/** 是否显示减签按钮 */
 | 
			
		||||
const isSubSignButtonVisible = (task: any) => {
 | 
			
		||||
  if (task && task.children && !isEmpty(task.children)) {
 | 
			
		||||
    // 有子任务,且子任务有任意一个是 待处理 和 待前置任务完成 则显示减签按钮
 | 
			
		||||
    const subTask = task.children.find((item) => item.result === 1 || item.result === 9)
 | 
			
		||||
    return !isEmpty(subTask)
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -22,12 +22,12 @@
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
    </el-form>
 | 
			
		||||
    <template #footer>
 | 
			
		||||
      <el-button :disabled="formLoading" type="primary" @click="submitForm('before')"
 | 
			
		||||
        >向前加签</el-button
 | 
			
		||||
      >
 | 
			
		||||
      <el-button :disabled="formLoading" type="primary" @click="submitForm('after')"
 | 
			
		||||
        >向后加签</el-button
 | 
			
		||||
      >
 | 
			
		||||
      <el-button :disabled="formLoading" type="primary" @click="submitForm('before')">
 | 
			
		||||
        向前加签
 | 
			
		||||
      </el-button>
 | 
			
		||||
      <el-button :disabled="formLoading" type="primary" @click="submitForm('after')">
 | 
			
		||||
        向后加签
 | 
			
		||||
      </el-button>
 | 
			
		||||
      <el-button @click="dialogVisible = false">取 消</el-button>
 | 
			
		||||
    </template>
 | 
			
		||||
  </Dialog>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user