兰宝车间质量管理系统-前端
LiuHao
2024-04-15 40a75dae3182cb55b30a2e8093c5eed82465f59c
fix 修复代码缩进.
已修改9个文件
351 ■■■■ 文件已修改
src/views/workflow/formManage/index.vue 116 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/workflow/leave/index.vue 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/workflow/model/index.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/workflow/processInstance/index.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/workflow/task/allTaskWaiting.vue 76 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/workflow/task/myDocument.vue 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/workflow/task/taskCopyList.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/workflow/task/taskFinish.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/workflow/task/taskWaiting.vue 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/workflow/formManage/index.vue
@@ -1,8 +1,8 @@
<template>
  <div class="p-2">
    <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
      <div class="search" v-show="showSearch">
        <el-form :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
      <div v-show="showSearch" class="search">
        <el-form ref="queryFormRef" :model="queryParams" :inline="true" label-width="68px">
          <el-form-item label="表单名称" prop="formName">
            <el-input v-model="queryParams.formName" placeholder="请输入表单名称" clearable style="width: 240px" @keyup.enter="handleQuery" />
          </el-form-item>
@@ -18,18 +18,22 @@
      <template #header>
        <el-row :gutter="10" class="mb8">
          <el-col :span="1.5">
            <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['workflow:formManage:add']">新增</el-button>
            <el-button v-hasPermi="['workflow:formManage:add']" type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
          </el-col>
          <el-col :span="1.5">
            <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['workflow:formManage:edit']">修改</el-button>
            <el-button v-hasPermi="['workflow:formManage:edit']" type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()"
              >修改</el-button
            >
          </el-col>
          <el-col :span="1.5">
            <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['workflow:formManage:remove']">删除</el-button>
            <el-button v-hasPermi="['workflow:formManage:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()"
              >删除</el-button
            >
          </el-col>
          <el-col :span="1.5">
            <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['workflow:formManage:export']">导出</el-button>
            <el-button v-hasPermi="['workflow:formManage:export']" type="warning" plain icon="Download" @click="handleExport">导出</el-button>
          </el-col>
          <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
          <right-toolbar v-model:showSearch="showSearch" @query-table="getList"></right-toolbar>
        </el-row>
      </template>
@@ -46,46 +50,40 @@
        <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
          <template #default="scope">
            <el-tooltip content="修改" placement="top">
              <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['workflow:formManage:edit']"></el-button>
              <el-button v-hasPermi="['workflow:formManage:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)"></el-button>
            </el-tooltip>
            <el-tooltip content="删除" placement="top">
              <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['workflow:formManage:remove']"></el-button>
              <el-button v-hasPermi="['workflow:formManage:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
            </el-tooltip>
          </template>
        </el-table-column>
      </el-table>
      <pagination
          v-show="total>0"
          :total="total"
          v-model:page="queryParams.pageNum"
          v-model:limit="queryParams.pageSize"
          @pagination="getList"
      />
      <pagination v-show="total > 0" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" :total="total" @pagination="getList" />
    </el-card>
    <!-- 添加或修改表单管理对话框 -->
    <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
    <el-dialog v-model="dialog.visible" :title="dialog.title" width="500px" append-to-body>
      <el-form ref="formManageFormRef" :model="form" :rules="rules" label-width="80px">
        <el-form-item label="表单名称" prop="formName">
          <el-input v-model="form.formName" placeholder="请输入表单名称" />
        </el-form-item>
        <el-form-item label="表单类型" prop="formType">
          <el-radio-group v-model="form.formType" @change="form.router = ''">
            <el-radio border v-for="dict in wf_form_type" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
            <el-radio v-for="dict in wf_form_type" :key="dict.value" border :label="dict.value">{{ dict.label }}</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item label="路由地址" prop="router" v-if="form.formType === 'static'">
        <el-form-item v-if="form.formType === 'static'" label="路由地址" prop="router">
          <el-input v-model="form.router" placeholder="请输入路由地址" />
        </el-form-item>
        <el-form-item label="表单" prop="router" v-else>
          <el-input v-model="form.router" disabled placeholder="请选择表单" >
        <el-form-item v-else label="表单" prop="router">
          <el-input v-model="form.router" disabled placeholder="请选择表单">
            <template #append>
              <el-button icon="Search" />
            </template>
          </el-input>
        </el-form-item>
        <el-form-item label="备注" prop="remork">
            <el-input v-model="form.remork" type="textarea" placeholder="请输入内容" />
          <el-input v-model="form.remork" type="textarea" placeholder="请输入内容" />
        </el-form-item>
      </el-form>
      <template #footer>
@@ -125,10 +123,10 @@
  id: undefined,
  formName: undefined,
  formType: 'static',
  remork: undefined,
}
  remork: undefined
};
const data = reactive<PageData<FormManageForm, FormManageQuery>>({
  form: {...initFormData},
  form: { ...initFormData },
  queryParams: {
    pageNum: 1,
    pageSize: 10,
@@ -136,18 +134,10 @@
    formType: undefined
  },
  rules: {
    id: [
      { required: true, message: "主键不能为空", trigger: "blur" }
    ],
    formName: [
      { required: true, message: "表单名称不能为空", trigger: "blur" }
    ],
    formType: [
      { required: true, message: "表单类型不能为空", trigger: "change" }
    ],
    router: [
      { required: true, message: "不能为空", trigger: "blur" }
    ],
    id: [{ required: true, message: '主键不能为空', trigger: 'blur' }],
    formName: [{ required: true, message: '表单名称不能为空', trigger: 'blur' }],
    formType: [{ required: true, message: '表单类型不能为空', trigger: 'change' }],
    router: [{ required: true, message: '不能为空', trigger: 'blur' }]
  }
});
@@ -160,55 +150,55 @@
  formManageList.value = res.rows;
  total.value = res.total;
  loading.value = false;
}
};
/** 取消按钮 */
const cancel = () => {
  reset();
  dialog.visible = false;
}
};
/** 表单重置 */
const reset = () => {
  form.value = {...initFormData};
  form.value = { ...initFormData };
  formManageFormRef.value?.resetFields();
}
};
/** 搜索按钮操作 */
const handleQuery = () => {
  queryParams.value.pageNum = 1;
  getList();
}
};
/** 重置按钮操作 */
const resetQuery = () => {
  queryFormRef.value?.resetFields();
  handleQuery();
}
};
/** 多选框选中数据 */
const handleSelectionChange = (selection: FormManageVO[]) => {
  ids.value = selection.map(item => item.id);
  ids.value = selection.map((item) => item.id);
  single.value = selection.length != 1;
  multiple.value = !selection.length;
}
};
/** 新增按钮操作 */
const handleAdd = () => {
  reset();
  dialog.visible = true;
  dialog.title = "添加表单管理";
}
  dialog.title = '添加表单管理';
};
/** 修改按钮操作 */
const handleUpdate = async (row?: FormManageVO) => {
  reset();
  const _id = row?.id || ids.value[0]
  const _id = row?.id || ids.value[0];
  const res = await getFormManage(_id);
  Object.assign(form.value, res.data);
  dialog.visible = true;
  dialog.title = "修改表单管理";
}
  dialog.title = '修改表单管理';
};
/** 提交按钮 */
const submitForm = () => {
@@ -216,32 +206,36 @@
    if (valid) {
      buttonLoading.value = true;
      if (form.value.id) {
        await updateFormManage(form.value).finally(() =>  buttonLoading.value = false);
        await updateFormManage(form.value).finally(() => (buttonLoading.value = false));
      } else {
        await addFormManage(form.value).finally(() =>  buttonLoading.value = false);
        await addFormManage(form.value).finally(() => (buttonLoading.value = false));
      }
      proxy?.$modal.msgSuccess("操作成功");
      proxy?.$modal.msgSuccess('操作成功');
      dialog.visible = false;
      await getList();
    }
  });
}
};
/** 删除按钮操作 */
const handleDelete = async (row?: FormManageVO) => {
  const _ids = row?.id || ids.value;
  await proxy?.$modal.confirm('是否确认删除表单管理编号为"' + _ids + '"的数据项?').finally(() => loading.value = false);
  await proxy?.$modal.confirm('是否确认删除表单管理编号为"' + _ids + '"的数据项?').finally(() => (loading.value = false));
  await delFormManage(_ids);
  proxy?.$modal.msgSuccess("删除成功");
  proxy?.$modal.msgSuccess('删除成功');
  await getList();
}
};
/** 导出按钮操作 */
const handleExport = () => {
  proxy?.download('workflow/formManage/export', {
    ...queryParams.value
  }, `formManage_${new Date().getTime()}.xlsx`)
}
  proxy?.download(
    'workflow/formManage/export',
    {
      ...queryParams.value
    },
    `formManage_${new Date().getTime()}.xlsx`
  );
};
onMounted(() => {
  getList();
src/views/workflow/leave/index.vue
@@ -80,7 +80,7 @@
            >
              <el-button v-hasPermi="['demo:leave:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
            </el-tooltip>
            <el-tooltip placement="top" content="查看" >
            <el-tooltip placement="top" content="查看">
              <el-button link type="primary" icon="View" @click="handleView(scope.row)"></el-button>
            </el-tooltip>
            <el-tooltip v-if="scope.row.processInstanceVo.businessStatus === 'waiting'" content="撤销" placement="top">
@@ -131,7 +131,7 @@
const queryFormRef = ref<ElFormInstance>();
const data = reactive<PageData<LeaveForm, LeaveQuery>>({
  form: {  },
  form: {},
  queryParams: {
    pageNum: 1,
    pageSize: 10,
@@ -176,35 +176,35 @@
  proxy.$tab.closePage(proxy.$route);
  proxy.$router.push(`/demo/leaveEdit/index/add/add`);
  proxy.$router.push({
      path: `/demo/leaveEdit/index`,
      query: {
        type: 'add'
      }
  })
    path: `/demo/leaveEdit/index`,
    query: {
      type: 'add'
    }
  });
};
/** 修改按钮操作 */
const handleUpdate = (row?: LeaveVO) => {
  proxy.$tab.closePage(proxy.$route);
  proxy.$router.push({
      path: `/demo/leaveEdit/index`,
      query: {
        id: row.id,
        type: 'update'
      }
  })
    path: `/demo/leaveEdit/index`,
    query: {
      id: row.id,
      type: 'update'
    }
  });
};
/** 查看按钮操作 */
const handleView = (row?: LeaveVO) => {
  proxy.$tab.closePage(proxy.$route);
  proxy.$router.push({
      path: `/demo/leaveEdit/index`,
      query: {
        id: row.id,
        type: 'view'
      }
  })
    path: `/demo/leaveEdit/index`,
    query: {
      id: row.id,
      type: 'view'
    }
  });
};
/** 删除按钮操作 */
src/views/workflow/model/index.vue
@@ -57,7 +57,7 @@
            </el-row>
          </template>
          <el-table border v-loading="loading" :data="modelList" @selection-change="handleSelectionChange">
          <el-table v-loading="loading" border :data="modelList" @selection-change="handleSelectionChange">
            <el-table-column type="selection" width="55" align="center" />
            <el-table-column fixed align="center" type="index" label="序号" width="80"></el-table-column>
            <el-table-column align="center" :show-overflow-tooltip="true" prop="name" label="模型名称" width="200"></el-table-column>
@@ -85,9 +85,7 @@
                    </el-button>
                  </el-col>
                  <el-col :span="1.5">
                    <el-button link type="primary" size="small" icon="CopyDocument" @click="handleCopy(scope.row)">
                      复制模型
                    </el-button>
                    <el-button link type="primary" size="small" icon="CopyDocument" @click="handleCopy(scope.row)"> 复制模型 </el-button>
                  </el-col>
                </el-row>
              </template>
@@ -144,7 +142,7 @@
import { listModel, addModel, delModel, modelDeploy, getInfo, update } from '@/api/workflow/model';
import { ModelQuery, ModelForm, ModelVO } from '@/api/workflow/model/types';
import { listCategory } from '@/api/workflow/category';
import { copyModel } from '@/api/workflow/model/index';
import { copyModel } from '@/api/workflow/model';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@@ -303,7 +301,7 @@
  nextTick(async () => {
    await getTreeselect();
    form.value = { ...initFormData };
    form.value.id = row.id
    form.value.id = row.id;
    dialog.visible = true;
  });
};
@@ -313,14 +311,14 @@
  formRef.value.validate(async (valid: boolean) => {
    if (valid) {
      buttonLoading.value = true;
      if('copy' === billType.value){
      if ('copy' === billType.value) {
        await copyModel(form.value);
        proxy?.$modal.msgSuccess('操作成功');
      }else if(ids.value && ids.value.length > 0 && 'update' === billType.value){
      } else if (ids.value && ids.value.length > 0 && 'update' === billType.value) {
        form.value.id = ids.value[0];
        await update(form.value);
        proxy?.$modal.msgSuccess('操作成功');
      }else {
      } else {
        initXml(form.value.key, form.value.name);
        form.value.xml = xml.value;
        await addModel(form.value);
@@ -350,7 +348,7 @@
};
// 导出流程模型
const clickExportZip = () => {
  proxy?.$download.zip('/workflow/model/export/zip/' + ids.value, "模型");
  proxy?.$download.zip('/workflow/model/export/zip/' + ids.value, '模型');
};
/** 查询流程分类下拉树结构 */
const getTreeselect = async () => {
src/views/workflow/processInstance/index.vue
@@ -23,8 +23,8 @@
        <div class="mb-[10px]">
          <el-card shadow="hover" class="text-center">
            <el-radio-group v-model="tab" @change="changeTab(tab)">
              <el-radio-button label="running">运行中</el-radio-button>
              <el-radio-button label="finish">已完成</el-radio-button>
              <el-radio-button value="running">运行中</el-radio-button>
              <el-radio-button value="finish">已完成</el-radio-button>
            </el-radio-group>
          </el-card>
        </div>
@@ -61,7 +61,7 @@
            <el-table-column align="center" type="index" label="序号" width="60"></el-table-column>
            <el-table-column :show-overflow-tooltip="true" align="center" label="流程定义名称">
              <template #default="scope">
                  <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
                <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
              </template>
            </el-table-column>
            <el-table-column align="center" prop="processDefinitionKey" label="流程定义KEY"></el-table-column>
@@ -77,7 +77,7 @@
            <el-table-column align="center" label="流程状态" min-width="70">
              <template #default="scope">
                <dict-tag :options="wf_business_status" :value="scope.row.businessStatus"></dict-tag>
            </template>
              </template>
            </el-table-column>
            <el-table-column align="center" prop="startTime" label="启动时间" width="160"></el-table-column>
            <el-table-column v-if="tab === 'finish'" align="center" prop="endTime" label="结束时间" width="160"></el-table-column>
@@ -304,7 +304,7 @@
  proxy?.$modal.msgSuccess('删除成功');
};
const changeTab = async (data: string) => {
  processInstanceList.value = []
  processInstanceList.value = [];
  queryParams.value.pageNum = 1;
  if ('running' === data) {
    getProcessInstanceRunningList();
@@ -361,7 +361,7 @@
    taskId: row.id,
    type: 'view'
  });
  workflowCommon.routerJump(routerJumpVo,proxy)
  workflowCommon.routerJump(routerJumpVo, proxy);
};
onMounted(() => {
src/views/workflow/task/allTaskWaiting.vue
@@ -3,8 +3,8 @@
    <div class="mb-[10px]">
      <el-card shadow="hover" class="text-center">
        <el-radio-group v-model="tab" @change="changeTab(tab)">
          <el-radio-button label="waiting">待办任务</el-radio-button>
          <el-radio-button label="finish">已办任务</el-radio-button>
          <el-radio-button value="waiting">待办任务</el-radio-button>
          <el-radio-button value="finish">已办任务</el-radio-button>
        </el-radio-group>
      </el-card>
    </div>
@@ -42,9 +42,9 @@
      <el-table v-loading="loading" border :data="taskList" @selection-change="handleSelectionChange">
        <el-table-column type="selection" width="55" align="center" />
        <el-table-column align="center" type="index" label="序号" width="60"></el-table-column>
        <el-table-column :show-overflow-tooltip="true"  align="center" label="流程定义名称">
        <el-table-column :show-overflow-tooltip="true" align="center" label="流程定义名称">
          <template #default="scope">
              <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
            <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
          </template>
        </el-table-column>
        <el-table-column align="center" prop="processDefinitionKey" label="流程定义KEY"></el-table-column>
@@ -58,13 +58,13 @@
            </template>
            <template v-else>
              <el-tag type="success">
                {{ scope.row.assigneeName || '无'}}
                {{ scope.row.assigneeName || '无' }}
              </el-tag>
            </template>
          </template>
          <template v-else-if="tab === 'finish'" #default="scope">
            <el-tag type="success">
              {{ scope.row.assigneeName || '无'}}
              {{ scope.row.assigneeName || '无' }}
            </el-tag>
          </template>
        </el-table-column>
@@ -74,8 +74,8 @@
            <el-tag v-else type="success">已完成</el-tag>
          </template>
        </el-table-column>
        <el-table-column align="center" v-if="tab === 'waiting'" prop="createTime" label="创建时间" width="160"></el-table-column>
        <el-table-column align="center" v-if="tab === 'finish'" prop="startTime" label="创建时间" width="160"></el-table-column>
        <el-table-column v-if="tab === 'waiting'" align="center" prop="createTime" label="创建时间" width="160"></el-table-column>
        <el-table-column v-if="tab === 'finish'" align="center" prop="startTime" label="创建时间" width="160"></el-table-column>
        <el-table-column label="操作" align="center" :width="tab === 'finish' ? '80' : '151'">
          <template #default="scope">
            <el-row :gutter="10" class="mb8">
@@ -86,7 +86,7 @@
                <el-button link type="primary" size="small" icon="Document" @click="handleInstanceVariable(scope.row)">流程变量</el-button>
              </el-col>
            </el-row>
            <el-row :gutter="10" class="mb8" v-if="scope.row.multiInstance" >
            <el-row v-if="scope.row.multiInstance" :gutter="10" class="mb8">
              <el-col :span="1.5">
                <el-button link type="primary" size="small" icon="Remove" @click="deleteMultiInstanceUser(scope.row)">减签</el-button>
              </el-col>
@@ -111,14 +111,18 @@
    <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-card v-loading="variableLoading" class="box-card">
        <template #header>
          <div class="clearfix">
            <span
              >流程定义名称:<el-tag>{{ processDefinitionName }}</el-tag></span
            >
          </div>
        </template>
        <div v-for="(v, index) in variableList" :key="index">
          <el-form v-if="v.key !== '_FLOWABLE_SKIP_EXPRESSION_ENABLED'" :label-position="'right'" label-width="150px">
            <el-form-item :label="v.key + ':'">
              {{ v.value }}
            </el-form-item>
          </el-form>
        </div>
@@ -138,7 +142,7 @@
//审批记录组件
//加签组件
const multiInstanceUserRef = ref<InstanceType<typeof MultiInstanceUser>>();
//选人组件
//选人组件
const userSelectRef = ref<InstanceType<typeof UserSelect>>();
const queryFormRef = ref<ElFormInstance>();
@@ -162,13 +166,13 @@
// 流程变量是否显示
const variableVisible = ref(false);
const variableLoading = ref(true);
// 流程变量
// 流程变量
const variableList = ref<VariableVo>({
  key: '',
  value: '',
})
  value: ''
});
//流程定义名称
const processDefinitionName = ref(undefined);
const processDefinitionName = ref();
// 查询参数
const queryParams = ref<TaskQuery>({
  pageNum: 1,
@@ -215,7 +219,7 @@
  multiple.value = !selection.length;
};
const changeTab = async (data: string) => {
  taskList.value = []
  taskList.value = [];
  queryParams.value.pageNum = 1;
  if ('waiting' === data) {
    getWaitingList();
@@ -245,25 +249,25 @@
  userSelectRef.value.open();
};
//修改办理人
const submitCallback  = async (data) => {
  if(data && data.length > 0){
const submitCallback = async (data) => {
  if (data && data.length > 0) {
    await proxy?.$modal.confirm('是否确认提交?');
    loading.value = true;
    await updateAssignee(ids.value, data[0].userId)
    handleQuery()
    await updateAssignee(ids.value, data[0].userId);
    handleQuery();
    proxy?.$modal.msgSuccess('操作成功');
  }else{
  } else {
    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
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;
};
/** 查看按钮操作 */
const handleView = (row) => {
@@ -274,7 +278,7 @@
    taskId: row.id,
    type: 'view'
  });
  workflowCommon.routerJump(routerJumpVo,proxy)
  workflowCommon.routerJump(routerJumpVo, proxy);
};
onMounted(() => {
  getWaitingList();
src/views/workflow/task/myDocument.vue
@@ -46,9 +46,9 @@
            <el-table-column type="selection" width="55" align="center" />
            <el-table-column align="center" type="index" label="序号" width="60"></el-table-column>
            <el-table-column v-if="false" align="center" prop="id" label="id"></el-table-column>
            <el-table-column :show-overflow-tooltip="true"  align="center" label="流程定义名称">
            <el-table-column :show-overflow-tooltip="true" align="center" label="流程定义名称">
              <template #default="scope">
                  <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
                <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
              </template>
            </el-table-column>
            <el-table-column align="center" prop="processDefinitionKey" label="流程定义KEY"></el-table-column>
@@ -64,36 +64,28 @@
            <el-table-column align="center" label="流程状态" min-width="70">
              <template #default="scope">
                <dict-tag :options="wf_business_status" :value="scope.row.businessStatus"></dict-tag>
            </template>
              </template>
            </el-table-column>
            <el-table-column align="center" prop="startTime" label="启动时间" width="160"></el-table-column>
            <el-table-column v-if="tab === 'finish'" align="center" prop="endTime" label="结束时间" width="160"></el-table-column>
            <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
              <template #default="scope">
                <el-tooltip
                  v-if="
                    scope.row.businessStatus === 'draft' ||
                    scope.row.businessStatus === 'cancel' ||
                    scope.row.businessStatus === 'back'
                  "
                  v-if="scope.row.businessStatus === 'draft' || scope.row.businessStatus === 'cancel' || scope.row.businessStatus === 'back'"
                  content="修改"
                  placement="top"
                >
                  <el-button v-hasPermi="['demo:leave:edit']" link type="primary" icon="Edit" @click="handleOpen(scope.row,'update')"></el-button>
                  <el-button v-hasPermi="['demo:leave:edit']" link type="primary" icon="Edit" @click="handleOpen(scope.row, 'update')"></el-button>
                </el-tooltip>
                <el-tooltip
                  v-if="
                    scope.row.businessStatus === 'draft' ||
                    scope.row.businessStatus === 'cancel' ||
                    scope.row.businessStatus === 'back'
                  "
                  v-if="scope.row.businessStatus === 'draft' || scope.row.businessStatus === 'cancel' || scope.row.businessStatus === 'back'"
                  content="删除"
                  placement="top"
                >
                  <el-button v-hasPermi="['demo:leave:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
                </el-tooltip>
                <el-tooltip placement="top" content="查看" >
                  <el-button link type="primary" icon="View" @click="handleOpen(scope.row,'view')"></el-button>
                <el-tooltip placement="top" content="查看">
                  <el-button link type="primary" icon="View" @click="handleOpen(scope.row, 'view')"></el-button>
                </el-tooltip>
                <el-tooltip v-if="scope.row.businessStatus === 'waiting'" content="撤销" placement="top">
                  <el-button link type="primary" icon="Notification" @click="handleCancelProcessApply(scope.row.id)"></el-button>
@@ -256,7 +248,7 @@
};
//办理
const handleOpen = async (row,type) => {
const handleOpen = async (row, type) => {
  const routerJumpVo = reactive<RouterJumpVo>({
    wfDefinitionConfigVo: row.wfDefinitionConfigVo,
    wfNodeConfigVo: row.wfNodeConfigVo,
@@ -264,6 +256,6 @@
    taskId: row.id,
    type: type
  });
  workflowCommon.routerJump(routerJumpVo,proxy)
  workflowCommon.routerJump(routerJumpVo, proxy);
};
</script>
src/views/workflow/task/taskCopyList.vue
@@ -31,9 +31,9 @@
      <el-table v-loading="loading" border :data="taskList" @selection-change="handleSelectionChange">
        <el-table-column type="selection" width="55" align="center" />
        <el-table-column align="center" type="index" label="序号" width="60"></el-table-column>
        <el-table-column :show-overflow-tooltip="true"  align="center" label="流程定义名称">
        <el-table-column :show-overflow-tooltip="true" align="center" label="流程定义名称">
          <template #default="scope">
              <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
            <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
          </template>
        </el-table-column>
        <el-table-column align="center" prop="processDefinitionKey" label="流程定义KEY"></el-table-column>
@@ -47,19 +47,19 @@
            </template>
            <template v-else>
              <el-tag type="success">
                {{ scope.row.assigneeName || '无'}}
                {{ scope.row.assigneeName || '无' }}
              </el-tag>
            </template>
          </template>
        </el-table-column>
        <el-table-column align="center" label="流程状态" min-width="70">
          <template #default="scope">
              <dict-tag :options="wf_business_status" :value="scope.row.businessStatus"></dict-tag>
            <dict-tag :options="wf_business_status" :value="scope.row.businessStatus"></dict-tag>
          </template>
        </el-table-column>
        <el-table-column label="操作" align="center" width="200">
          <template #default="scope">
              <el-button type="primary" size="small" icon="View" @click="handleView(scope.row)">查看</el-button>
            <el-button type="primary" size="small" icon="View" @click="handleView(scope.row)">查看</el-button>
          </template>
        </el-table-column>
      </el-table>
@@ -75,7 +75,7 @@
</template>
<script lang="ts" setup>
import { getPageByTaskCopy} from '@/api/workflow/task';
import { getPageByTaskCopy } from '@/api/workflow/task';
import { TaskQuery } from '@/api/workflow/task/types';
import workflowCommon from '@/api/workflow/workflowCommon';
import { RouterJumpVo } from '@/api/workflow/workflowCommon/types';
@@ -141,9 +141,8 @@
    taskId: row.id,
    type: 'view'
  });
  workflowCommon.routerJump(routerJumpVo,proxy)
  workflowCommon.routerJump(routerJumpVo, proxy);
};
onMounted(() => {
  getTaskCopyList();
src/views/workflow/task/taskFinish.vue
@@ -31,9 +31,9 @@
      <el-table v-loading="loading" border :data="taskList" @selection-change="handleSelectionChange">
        <el-table-column type="selection" width="55" align="center" />
        <el-table-column align="center" type="index" label="序号" width="60"></el-table-column>
        <el-table-column :show-overflow-tooltip="true"  align="center" label="流程定义名称">
        <el-table-column :show-overflow-tooltip="true" align="center" label="流程定义名称">
          <template #default="scope">
              <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
            <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
          </template>
        </el-table-column>
        <el-table-column align="center" prop="processDefinitionKey" label="流程定义KEY"></el-table-column>
@@ -41,7 +41,7 @@
        <el-table-column align="center" prop="assigneeName" label="办理人">
          <template #default="scope">
            <el-tag type="success">
              {{ scope.row.assigneeName || '无'}}
              {{ scope.row.assigneeName || '无' }}
            </el-tag>
          </template>
        </el-table-column>
@@ -127,7 +127,7 @@
    taskId: row.id,
    type: 'view'
  });
  workflowCommon.routerJump(routerJumpVo,proxy)
  workflowCommon.routerJump(routerJumpVo, proxy);
};
onMounted(() => {
src/views/workflow/task/taskWaiting.vue
@@ -27,13 +27,13 @@
          <right-toolbar v-model:showSearch="showSearch" @query-table="handleQuery"></right-toolbar>
        </el-row>
      </template>
      <el-table v-loading="loading" border :data="taskList" @selection-change="handleSelectionChange">
        <el-table-column type="selection" width="55" align="center" />
        <el-table-column align="center" type="index" label="序号" width="60"></el-table-column>
        <el-table-column :show-overflow-tooltip="true"  align="center" label="流程定义名称">
        <el-table-column :show-overflow-tooltip="true" align="center" label="流程定义名称">
          <template #default="scope">
              <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
            <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
          </template>
        </el-table-column>
        <el-table-column align="center" prop="processDefinitionKey" label="流程定义KEY"></el-table-column>
@@ -54,18 +54,36 @@
        </el-table-column>
        <el-table-column align="center" label="流程状态" min-width="70">
          <template #default="scope">
              <dict-tag :options="wf_business_status" :value="scope.row.businessStatus"></dict-tag>
            <dict-tag :options="wf_business_status" :value="scope.row.businessStatus"></dict-tag>
          </template>
        </el-table-column>
        <el-table-column align="center" prop="createTime" label="创建时间" width="160"></el-table-column>
        <el-table-column label="操作" align="center" width="200">
          <template #default="scope">
              <el-button v-if="scope.row.participantVo && (scope.row.participantVo.claim === null || scope.row.participantVo.claim === true)"
               type="primary" size="small" icon="Edit" @click="handleOpen(scope.row)">办理</el-button>
              <el-button v-if="scope.row.participantVo && scope.row.participantVo.claim === true"
               type="primary" size="small" icon="Document" @click="handleReturnTask(scope.row.id)">归还</el-button>
              <el-button v-if="scope.row.participantVo && scope.row.participantVo.claim === false"
               type="primary" size="small" icon="Document" @click="handleClaimTask(scope.row.id)">认领</el-button>
            <el-button
              v-if="scope.row.participantVo && (scope.row.participantVo.claim === null || scope.row.participantVo.claim === true)"
              type="primary"
              size="small"
              icon="Edit"
              @click="handleOpen(scope.row)"
              >办理</el-button
            >
            <el-button
              v-if="scope.row.participantVo && scope.row.participantVo.claim === true"
              type="primary"
              size="small"
              icon="Document"
              @click="handleReturnTask(scope.row.id)"
              >归还</el-button
            >
            <el-button
              v-if="scope.row.participantVo && scope.row.participantVo.claim === false"
              type="primary"
              size="small"
              icon="Document"
              @click="handleClaimTask(scope.row.id)"
              >认领</el-button
            >
          </template>
        </el-table-column>
      </el-table>
@@ -149,7 +167,7 @@
    taskId: row.id,
    type: 'approval'
  });
  workflowCommon.routerJump(routerJumpVo,proxy)
  workflowCommon.routerJump(routerJumpVo, proxy);
};
/** 认领任务 */