fix 修复代码缩进.

This commit is contained in:
LiuHao 2024-04-15 10:40:33 +08:00
parent 64fb2899c9
commit 40a75dae31
9 changed files with 178 additions and 173 deletions

View File

@ -1,8 +1,8 @@
<template> <template>
<div class="p-2"> <div class="p-2">
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave"> <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div class="search" v-show="showSearch"> <div v-show="showSearch" class="search">
<el-form :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px"> <el-form ref="queryFormRef" :model="queryParams" :inline="true" label-width="68px">
<el-form-item label="表单名称" prop="formName"> <el-form-item label="表单名称" prop="formName">
<el-input v-model="queryParams.formName" placeholder="请输入表单名称" clearable style="width: 240px" @keyup.enter="handleQuery" /> <el-input v-model="queryParams.formName" placeholder="请输入表单名称" clearable style="width: 240px" @keyup.enter="handleQuery" />
</el-form-item> </el-form-item>
@ -18,18 +18,22 @@
<template #header> <template #header>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <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>
<el-col :span="1.5"> <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>
<el-col :span="1.5"> <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>
<el-col :span="1.5"> <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> </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> </el-row>
</template> </template>
@ -46,46 +50,40 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope"> <template #default="scope">
<el-tooltip content="修改" placement="top"> <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>
<el-tooltip content="删除" placement="top"> <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> </el-tooltip>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination v-show="total > 0" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" :total="total" @pagination="getList" />
v-show="total>0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</el-card> </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 ref="formManageFormRef" :model="form" :rules="rules" label-width="80px">
<el-form-item label="表单名称" prop="formName"> <el-form-item label="表单名称" prop="formName">
<el-input v-model="form.formName" placeholder="请输入表单名称" /> <el-input v-model="form.formName" placeholder="请输入表单名称" />
</el-form-item> </el-form-item>
<el-form-item label="表单类型" prop="formType"> <el-form-item label="表单类型" prop="formType">
<el-radio-group v-model="form.formType" @change="form.router = ''"> <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-radio-group>
</el-form-item> </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-input v-model="form.router" placeholder="请输入路由地址" />
</el-form-item> </el-form-item>
<el-form-item label="表单" prop="router" v-else> <el-form-item v-else label="表单" prop="router">
<el-input v-model="form.router" disabled placeholder="请选择表单" > <el-input v-model="form.router" disabled placeholder="请选择表单">
<template #append> <template #append>
<el-button icon="Search" /> <el-button icon="Search" />
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remork"> <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-item>
</el-form> </el-form>
<template #footer> <template #footer>
@ -125,10 +123,10 @@ const initFormData: FormManageForm = {
id: undefined, id: undefined,
formName: undefined, formName: undefined,
formType: 'static', formType: 'static',
remork: undefined, remork: undefined
} };
const data = reactive<PageData<FormManageForm, FormManageQuery>>({ const data = reactive<PageData<FormManageForm, FormManageQuery>>({
form: {...initFormData}, form: { ...initFormData },
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
@ -136,18 +134,10 @@ const data = reactive<PageData<FormManageForm, FormManageQuery>>({
formType: undefined formType: undefined
}, },
rules: { rules: {
id: [ id: [{ required: true, message: '主键不能为空', trigger: 'blur' }],
{ required: true, message: "主键不能为空", trigger: "blur" } formName: [{ required: true, message: '表单名称不能为空', trigger: 'blur' }],
], formType: [{ required: true, message: '表单类型不能为空', trigger: 'change' }],
formName: [ router: [{ required: true, message: '不能为空', trigger: 'blur' }]
{ required: true, message: "表单名称不能为空", trigger: "blur" }
],
formType: [
{ required: true, message: "表单类型不能为空", trigger: "change" }
],
router: [
{ required: true, message: "不能为空", trigger: "blur" }
],
} }
}); });
@ -160,55 +150,55 @@ const getList = async () => {
formManageList.value = res.rows; formManageList.value = res.rows;
total.value = res.total; total.value = res.total;
loading.value = false; loading.value = false;
} };
/** 取消按钮 */ /** 取消按钮 */
const cancel = () => { const cancel = () => {
reset(); reset();
dialog.visible = false; dialog.visible = false;
} };
/** 表单重置 */ /** 表单重置 */
const reset = () => { const reset = () => {
form.value = {...initFormData}; form.value = { ...initFormData };
formManageFormRef.value?.resetFields(); formManageFormRef.value?.resetFields();
} };
/** 搜索按钮操作 */ /** 搜索按钮操作 */
const handleQuery = () => { const handleQuery = () => {
queryParams.value.pageNum = 1; queryParams.value.pageNum = 1;
getList(); getList();
} };
/** 重置按钮操作 */ /** 重置按钮操作 */
const resetQuery = () => { const resetQuery = () => {
queryFormRef.value?.resetFields(); queryFormRef.value?.resetFields();
handleQuery(); handleQuery();
} };
/** 多选框选中数据 */ /** 多选框选中数据 */
const handleSelectionChange = (selection: FormManageVO[]) => { const handleSelectionChange = (selection: FormManageVO[]) => {
ids.value = selection.map(item => item.id); ids.value = selection.map((item) => item.id);
single.value = selection.length != 1; single.value = selection.length != 1;
multiple.value = !selection.length; multiple.value = !selection.length;
} };
/** 新增按钮操作 */ /** 新增按钮操作 */
const handleAdd = () => { const handleAdd = () => {
reset(); reset();
dialog.visible = true; dialog.visible = true;
dialog.title = "添加表单管理"; dialog.title = '添加表单管理';
} };
/** 修改按钮操作 */ /** 修改按钮操作 */
const handleUpdate = async (row?: FormManageVO) => { const handleUpdate = async (row?: FormManageVO) => {
reset(); reset();
const _id = row?.id || ids.value[0] const _id = row?.id || ids.value[0];
const res = await getFormManage(_id); const res = await getFormManage(_id);
Object.assign(form.value, res.data); Object.assign(form.value, res.data);
dialog.visible = true; dialog.visible = true;
dialog.title = "修改表单管理"; dialog.title = '修改表单管理';
} };
/** 提交按钮 */ /** 提交按钮 */
const submitForm = () => { const submitForm = () => {
@ -216,32 +206,36 @@ const submitForm = () => {
if (valid) { if (valid) {
buttonLoading.value = true; buttonLoading.value = true;
if (form.value.id) { if (form.value.id) {
await updateFormManage(form.value).finally(() => buttonLoading.value = false); await updateFormManage(form.value).finally(() => (buttonLoading.value = false));
} else { } 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; dialog.visible = false;
await getList(); await getList();
} }
}); });
} };
/** 删除按钮操作 */ /** 删除按钮操作 */
const handleDelete = async (row?: FormManageVO) => { const handleDelete = async (row?: FormManageVO) => {
const _ids = row?.id || ids.value; 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); await delFormManage(_ids);
proxy?.$modal.msgSuccess("删除成功"); proxy?.$modal.msgSuccess('删除成功');
await getList(); await getList();
} };
/** 导出按钮操作 */ /** 导出按钮操作 */
const handleExport = () => { const handleExport = () => {
proxy?.download('workflow/formManage/export', { proxy?.download(
...queryParams.value 'workflow/formManage/export',
}, `formManage_${new Date().getTime()}.xlsx`) {
} ...queryParams.value
},
`formManage_${new Date().getTime()}.xlsx`
);
};
onMounted(() => { onMounted(() => {
getList(); getList();

View File

@ -80,7 +80,7 @@
> >
<el-button v-hasPermi="['demo:leave:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button> <el-button v-hasPermi="['demo:leave:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
</el-tooltip> </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-button link type="primary" icon="View" @click="handleView(scope.row)"></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip v-if="scope.row.processInstanceVo.businessStatus === 'waiting'" content="撤销" placement="top"> <el-tooltip v-if="scope.row.processInstanceVo.businessStatus === 'waiting'" content="撤销" placement="top">
@ -131,7 +131,7 @@ const options = [
const queryFormRef = ref<ElFormInstance>(); const queryFormRef = ref<ElFormInstance>();
const data = reactive<PageData<LeaveForm, LeaveQuery>>({ const data = reactive<PageData<LeaveForm, LeaveQuery>>({
form: { }, form: {},
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
@ -176,35 +176,35 @@ const handleAdd = () => {
proxy.$tab.closePage(proxy.$route); proxy.$tab.closePage(proxy.$route);
proxy.$router.push(`/demo/leaveEdit/index/add/add`); proxy.$router.push(`/demo/leaveEdit/index/add/add`);
proxy.$router.push({ proxy.$router.push({
path: `/demo/leaveEdit/index`, path: `/demo/leaveEdit/index`,
query: { query: {
type: 'add' type: 'add'
} }
}) });
}; };
/** 修改按钮操作 */ /** 修改按钮操作 */
const handleUpdate = (row?: LeaveVO) => { const handleUpdate = (row?: LeaveVO) => {
proxy.$tab.closePage(proxy.$route); proxy.$tab.closePage(proxy.$route);
proxy.$router.push({ proxy.$router.push({
path: `/demo/leaveEdit/index`, path: `/demo/leaveEdit/index`,
query: { query: {
id: row.id, id: row.id,
type: 'update' type: 'update'
} }
}) });
}; };
/** 查看按钮操作 */ /** 查看按钮操作 */
const handleView = (row?: LeaveVO) => { const handleView = (row?: LeaveVO) => {
proxy.$tab.closePage(proxy.$route); proxy.$tab.closePage(proxy.$route);
proxy.$router.push({ proxy.$router.push({
path: `/demo/leaveEdit/index`, path: `/demo/leaveEdit/index`,
query: { query: {
id: row.id, id: row.id,
type: 'view' type: 'view'
} }
}) });
}; };
/** 删除按钮操作 */ /** 删除按钮操作 */

View File

@ -57,7 +57,7 @@
</el-row> </el-row>
</template> </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 type="selection" width="55" align="center" />
<el-table-column fixed align="center" type="index" label="序号" width="80"></el-table-column> <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> <el-table-column align="center" :show-overflow-tooltip="true" prop="name" label="模型名称" width="200"></el-table-column>
@ -85,9 +85,7 @@
</el-button> </el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button link type="primary" size="small" icon="CopyDocument" @click="handleCopy(scope.row)"> <el-button link type="primary" size="small" icon="CopyDocument" @click="handleCopy(scope.row)"> 复制模型 </el-button>
复制模型
</el-button>
</el-col> </el-col>
</el-row> </el-row>
</template> </template>
@ -144,7 +142,7 @@ import Design from './design.vue';
import { listModel, addModel, delModel, modelDeploy, getInfo, update } from '@/api/workflow/model'; import { listModel, addModel, delModel, modelDeploy, getInfo, update } from '@/api/workflow/model';
import { ModelQuery, ModelForm, ModelVO } from '@/api/workflow/model/types'; import { ModelQuery, ModelForm, ModelVO } from '@/api/workflow/model/types';
import { listCategory } from '@/api/workflow/category'; import { listCategory } from '@/api/workflow/category';
import { copyModel } from '@/api/workflow/model/index'; import { copyModel } from '@/api/workflow/model';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@ -303,7 +301,7 @@ const handleCopy = (row?: ModelVO) => {
nextTick(async () => { nextTick(async () => {
await getTreeselect(); await getTreeselect();
form.value = { ...initFormData }; form.value = { ...initFormData };
form.value.id = row.id form.value.id = row.id;
dialog.visible = true; dialog.visible = true;
}); });
}; };
@ -313,14 +311,14 @@ const submitForm = () => {
formRef.value.validate(async (valid: boolean) => { formRef.value.validate(async (valid: boolean) => {
if (valid) { if (valid) {
buttonLoading.value = true; buttonLoading.value = true;
if('copy' === billType.value){ if ('copy' === billType.value) {
await copyModel(form.value); await copyModel(form.value);
proxy?.$modal.msgSuccess('操作成功'); 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]; form.value.id = ids.value[0];
await update(form.value); await update(form.value);
proxy?.$modal.msgSuccess('操作成功'); proxy?.$modal.msgSuccess('操作成功');
}else { } else {
initXml(form.value.key, form.value.name); initXml(form.value.key, form.value.name);
form.value.xml = xml.value; form.value.xml = xml.value;
await addModel(form.value); await addModel(form.value);
@ -350,7 +348,7 @@ const clickDesign = async (id: string) => {
}; };
// //
const clickExportZip = () => { const clickExportZip = () => {
proxy?.$download.zip('/workflow/model/export/zip/' + ids.value, "模型"); proxy?.$download.zip('/workflow/model/export/zip/' + ids.value, '模型');
}; };
/** 查询流程分类下拉树结构 */ /** 查询流程分类下拉树结构 */
const getTreeselect = async () => { const getTreeselect = async () => {

View File

@ -23,8 +23,8 @@
<div class="mb-[10px]"> <div class="mb-[10px]">
<el-card shadow="hover" class="text-center"> <el-card shadow="hover" class="text-center">
<el-radio-group v-model="tab" @change="changeTab(tab)"> <el-radio-group v-model="tab" @change="changeTab(tab)">
<el-radio-button label="running">运行中</el-radio-button> <el-radio-button value="running">运行中</el-radio-button>
<el-radio-button label="finish">已完成</el-radio-button> <el-radio-button value="finish">已完成</el-radio-button>
</el-radio-group> </el-radio-group>
</el-card> </el-card>
</div> </div>
@ -61,7 +61,7 @@
<el-table-column align="center" type="index" label="序号" width="60"></el-table-column> <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"> <template #default="scope">
<span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span> <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="processDefinitionKey" label="流程定义KEY"></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"> <el-table-column align="center" label="流程状态" min-width="70">
<template #default="scope"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="startTime" label="启动时间" width="160"></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 v-if="tab === 'finish'" align="center" prop="endTime" label="结束时间" width="160"></el-table-column>
@ -304,7 +304,7 @@ const handleDelete = async (row: any) => {
proxy?.$modal.msgSuccess('删除成功'); proxy?.$modal.msgSuccess('删除成功');
}; };
const changeTab = async (data: string) => { const changeTab = async (data: string) => {
processInstanceList.value = [] processInstanceList.value = [];
queryParams.value.pageNum = 1; queryParams.value.pageNum = 1;
if ('running' === data) { if ('running' === data) {
getProcessInstanceRunningList(); getProcessInstanceRunningList();
@ -361,7 +361,7 @@ const handleView = (row) => {
taskId: row.id, taskId: row.id,
type: 'view' type: 'view'
}); });
workflowCommon.routerJump(routerJumpVo,proxy) workflowCommon.routerJump(routerJumpVo, proxy);
}; };
onMounted(() => { onMounted(() => {

View File

@ -3,8 +3,8 @@
<div class="mb-[10px]"> <div class="mb-[10px]">
<el-card shadow="hover" class="text-center"> <el-card shadow="hover" class="text-center">
<el-radio-group v-model="tab" @change="changeTab(tab)"> <el-radio-group v-model="tab" @change="changeTab(tab)">
<el-radio-button label="waiting">待办任务</el-radio-button> <el-radio-button value="waiting">待办任务</el-radio-button>
<el-radio-button label="finish">已办任务</el-radio-button> <el-radio-button value="finish">已办任务</el-radio-button>
</el-radio-group> </el-radio-group>
</el-card> </el-card>
</div> </div>
@ -42,9 +42,9 @@
<el-table v-loading="loading" border :data="taskList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" border :data="taskList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <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 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"> <template #default="scope">
<span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span> <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="processDefinitionKey" label="流程定义KEY"></el-table-column> <el-table-column align="center" prop="processDefinitionKey" label="流程定义KEY"></el-table-column>
@ -58,13 +58,13 @@
</template> </template>
<template v-else> <template v-else>
<el-tag type="success"> <el-tag type="success">
{{ scope.row.assigneeName || '无'}} {{ scope.row.assigneeName || '无' }}
</el-tag> </el-tag>
</template> </template>
</template> </template>
<template v-else-if="tab === 'finish'" #default="scope"> <template v-else-if="tab === 'finish'" #default="scope">
<el-tag type="success"> <el-tag type="success">
{{ scope.row.assigneeName || '无'}} {{ scope.row.assigneeName || '无' }}
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
@ -74,8 +74,8 @@
<el-tag v-else type="success">已完成</el-tag> <el-tag v-else type="success">已完成</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" v-if="tab === 'waiting'" prop="createTime" 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 align="center" v-if="tab === 'finish'" prop="startTime" 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'"> <el-table-column label="操作" align="center" :width="tab === 'finish' ? '80' : '151'">
<template #default="scope"> <template #default="scope">
<el-row :gutter="10" class="mb8"> <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-button link type="primary" size="small" icon="Document" @click="handleInstanceVariable(scope.row)">流程变量</el-button>
</el-col> </el-col>
</el-row> </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-col :span="1.5">
<el-button link type="primary" size="small" icon="Remove" @click="deleteMultiInstanceUser(scope.row)">减签</el-button> <el-button link type="primary" size="small" icon="Remove" @click="deleteMultiInstanceUser(scope.row)">减签</el-button>
</el-col> </el-col>
@ -111,14 +111,18 @@
<UserSelect ref="userSelectRef" :multiple="false" @confirm-call-back="submitCallback"></UserSelect> <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-dialog v-model="variableVisible" draggable title="流程变量" width="60%" :close-on-click-modal="false">
<el-card class="box-card" v-loading="variableLoading"> <el-card v-loading="variableLoading" class="box-card">
<div slot="header" class="clearfix"> <template #header>
<span>流程定义名称<el-tag>{{processDefinitionName}}</el-tag></span> <div class="clearfix">
</div> <span
<div v-for="(v,index) in variableList" :key="index" > >流程定义名称<el-tag>{{ processDefinitionName }}</el-tag></span
<el-form :label-position="'right'" v-if="v.key!=='_FLOWABLE_SKIP_EXPRESSION_ENABLED'" label-width="150px"> >
<el-form-item :label="v.key+''"> </div>
{{v.value}} </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-item>
</el-form> </el-form>
</div> </div>
@ -138,7 +142,7 @@ import { RouterJumpVo } from '@/api/workflow/workflowCommon/types';
// //
// //
const multiInstanceUserRef = ref<InstanceType<typeof MultiInstanceUser>>(); const multiInstanceUserRef = ref<InstanceType<typeof MultiInstanceUser>>();
// //
const userSelectRef = ref<InstanceType<typeof UserSelect>>(); const userSelectRef = ref<InstanceType<typeof UserSelect>>();
const queryFormRef = ref<ElFormInstance>(); const queryFormRef = ref<ElFormInstance>();
@ -162,13 +166,13 @@ const title = ref('');
// //
const variableVisible = ref(false); const variableVisible = ref(false);
const variableLoading = ref(true); const variableLoading = ref(true);
// //
const variableList = ref<VariableVo>({ const variableList = ref<VariableVo>({
key: '', key: '',
value: '', value: ''
}) });
// //
const processDefinitionName = ref(undefined); const processDefinitionName = ref();
// //
const queryParams = ref<TaskQuery>({ const queryParams = ref<TaskQuery>({
pageNum: 1, pageNum: 1,
@ -215,7 +219,7 @@ const handleSelectionChange = (selection: any) => {
multiple.value = !selection.length; multiple.value = !selection.length;
}; };
const changeTab = async (data: string) => { const changeTab = async (data: string) => {
taskList.value = [] taskList.value = [];
queryParams.value.pageNum = 1; queryParams.value.pageNum = 1;
if ('waiting' === data) { if ('waiting' === data) {
getWaitingList(); getWaitingList();
@ -245,25 +249,25 @@ const handleUpdate = () => {
userSelectRef.value.open(); userSelectRef.value.open();
}; };
// //
const submitCallback = async (data) => { const submitCallback = async (data) => {
if(data && data.length > 0){ if (data && data.length > 0) {
await proxy?.$modal.confirm('是否确认提交?'); await proxy?.$modal.confirm('是否确认提交?');
loading.value = true; loading.value = true;
await updateAssignee(ids.value, data[0].userId) await updateAssignee(ids.value, data[0].userId);
handleQuery() handleQuery();
proxy?.$modal.msgSuccess('操作成功'); proxy?.$modal.msgSuccess('操作成功');
}else{ } else {
proxy?.$modal.msgWarning('请选择用户!'); proxy?.$modal.msgWarning('请选择用户!');
} }
}; };
// //
const handleInstanceVariable = async (row: TaskVO) => { const handleInstanceVariable = async (row: TaskVO) => {
variableLoading.value = true variableLoading.value = true;
variableVisible.value = true variableVisible.value = true;
processDefinitionName.value = row.processDefinitionName processDefinitionName.value = row.processDefinitionName;
let data = await getInstanceVariable(row.id) let data = await getInstanceVariable(row.id);
variableList.value = data.data variableList.value = data.data;
variableLoading.value = false variableLoading.value = false;
}; };
/** 查看按钮操作 */ /** 查看按钮操作 */
const handleView = (row) => { const handleView = (row) => {
@ -274,7 +278,7 @@ const handleView = (row) => {
taskId: row.id, taskId: row.id,
type: 'view' type: 'view'
}); });
workflowCommon.routerJump(routerJumpVo,proxy) workflowCommon.routerJump(routerJumpVo, proxy);
}; };
onMounted(() => { onMounted(() => {
getWaitingList(); getWaitingList();

View File

@ -46,9 +46,9 @@
<el-table-column type="selection" width="55" align="center" /> <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 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 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"> <template #default="scope">
<span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span> <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="processDefinitionKey" label="流程定义KEY"></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"> <el-table-column align="center" label="流程状态" min-width="70">
<template #default="scope"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="startTime" label="启动时间" width="160"></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 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"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope"> <template #default="scope">
<el-tooltip <el-tooltip
v-if=" v-if="scope.row.businessStatus === 'draft' || scope.row.businessStatus === 'cancel' || scope.row.businessStatus === 'back'"
scope.row.businessStatus === 'draft' ||
scope.row.businessStatus === 'cancel' ||
scope.row.businessStatus === 'back'
"
content="修改" content="修改"
placement="top" 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>
<el-tooltip <el-tooltip
v-if=" v-if="scope.row.businessStatus === 'draft' || scope.row.businessStatus === 'cancel' || scope.row.businessStatus === 'back'"
scope.row.businessStatus === 'draft' ||
scope.row.businessStatus === 'cancel' ||
scope.row.businessStatus === 'back'
"
content="删除" content="删除"
placement="top" placement="top"
> >
<el-button v-hasPermi="['demo:leave:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button> <el-button v-hasPermi="['demo:leave:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip placement="top" content="查看" > <el-tooltip placement="top" content="查看">
<el-button link type="primary" icon="View" @click="handleOpen(scope.row,'view')"></el-button> <el-button link type="primary" icon="View" @click="handleOpen(scope.row, 'view')"></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip v-if="scope.row.businessStatus === 'waiting'" content="撤销" placement="top"> <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> <el-button link type="primary" icon="Notification" @click="handleCancelProcessApply(scope.row.id)"></el-button>
@ -256,7 +248,7 @@ const handleCancelProcessApply = async (processInstanceId: string) => {
}; };
// //
const handleOpen = async (row,type) => { const handleOpen = async (row, type) => {
const routerJumpVo = reactive<RouterJumpVo>({ const routerJumpVo = reactive<RouterJumpVo>({
wfDefinitionConfigVo: row.wfDefinitionConfigVo, wfDefinitionConfigVo: row.wfDefinitionConfigVo,
wfNodeConfigVo: row.wfNodeConfigVo, wfNodeConfigVo: row.wfNodeConfigVo,
@ -264,6 +256,6 @@ const handleOpen = async (row,type) => {
taskId: row.id, taskId: row.id,
type: type type: type
}); });
workflowCommon.routerJump(routerJumpVo,proxy) workflowCommon.routerJump(routerJumpVo, proxy);
}; };
</script> </script>

View File

@ -31,9 +31,9 @@
<el-table v-loading="loading" border :data="taskList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" border :data="taskList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <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 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"> <template #default="scope">
<span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span> <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="processDefinitionKey" label="流程定义KEY"></el-table-column> <el-table-column align="center" prop="processDefinitionKey" label="流程定义KEY"></el-table-column>
@ -47,19 +47,19 @@
</template> </template>
<template v-else> <template v-else>
<el-tag type="success"> <el-tag type="success">
{{ scope.row.assigneeName || '无'}} {{ scope.row.assigneeName || '无' }}
</el-tag> </el-tag>
</template> </template>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="流程状态" min-width="70"> <el-table-column align="center" label="流程状态" min-width="70">
<template #default="scope"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="200"> <el-table-column label="操作" align="center" width="200">
<template #default="scope"> <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> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -75,7 +75,7 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { getPageByTaskCopy} from '@/api/workflow/task'; import { getPageByTaskCopy } from '@/api/workflow/task';
import { TaskQuery } from '@/api/workflow/task/types'; import { TaskQuery } from '@/api/workflow/task/types';
import workflowCommon from '@/api/workflow/workflowCommon'; import workflowCommon from '@/api/workflow/workflowCommon';
import { RouterJumpVo } from '@/api/workflow/workflowCommon/types'; import { RouterJumpVo } from '@/api/workflow/workflowCommon/types';
@ -141,10 +141,9 @@ const handleView = (row) => {
taskId: row.id, taskId: row.id,
type: 'view' type: 'view'
}); });
workflowCommon.routerJump(routerJumpVo,proxy) workflowCommon.routerJump(routerJumpVo, proxy);
}; };
onMounted(() => { onMounted(() => {
getTaskCopyList(); getTaskCopyList();
}); });

View File

@ -31,9 +31,9 @@
<el-table v-loading="loading" border :data="taskList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" border :data="taskList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <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 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"> <template #default="scope">
<span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span> <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="processDefinitionKey" label="流程定义KEY"></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="办理人"> <el-table-column align="center" prop="assigneeName" label="办理人">
<template #default="scope"> <template #default="scope">
<el-tag type="success"> <el-tag type="success">
{{ scope.row.assigneeName || '无'}} {{ scope.row.assigneeName || '无' }}
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
@ -127,7 +127,7 @@ const handleView = (row: TaskVO) => {
taskId: row.id, taskId: row.id,
type: 'view' type: 'view'
}); });
workflowCommon.routerJump(routerJumpVo,proxy) workflowCommon.routerJump(routerJumpVo, proxy);
}; };
onMounted(() => { onMounted(() => {

View File

@ -27,13 +27,13 @@
<right-toolbar v-model:showSearch="showSearch" @query-table="handleQuery"></right-toolbar> <right-toolbar v-model:showSearch="showSearch" @query-table="handleQuery"></right-toolbar>
</el-row> </el-row>
</template> </template>
<el-table v-loading="loading" border :data="taskList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" border :data="taskList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <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 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"> <template #default="scope">
<span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span> <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="processDefinitionKey" label="流程定义KEY"></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>
<el-table-column align="center" label="流程状态" min-width="70"> <el-table-column align="center" label="流程状态" min-width="70">
<template #default="scope"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="createTime" label="创建时间" width="160"></el-table-column> <el-table-column align="center" prop="createTime" label="创建时间" width="160"></el-table-column>
<el-table-column label="操作" align="center" width="200"> <el-table-column label="操作" align="center" width="200">
<template #default="scope"> <template #default="scope">
<el-button v-if="scope.row.participantVo && (scope.row.participantVo.claim === null || scope.row.participantVo.claim === true)" <el-button
type="primary" size="small" icon="Edit" @click="handleOpen(scope.row)">办理</el-button> v-if="scope.row.participantVo && (scope.row.participantVo.claim === null || scope.row.participantVo.claim === true)"
<el-button v-if="scope.row.participantVo && scope.row.participantVo.claim === true" type="primary"
type="primary" size="small" icon="Document" @click="handleReturnTask(scope.row.id)">归还</el-button> size="small"
<el-button v-if="scope.row.participantVo && scope.row.participantVo.claim === false" icon="Edit"
type="primary" size="small" icon="Document" @click="handleClaimTask(scope.row.id)">认领</el-button> @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> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -149,7 +167,7 @@ const handleOpen = async (row: TaskVO) => {
taskId: row.id, taskId: row.id,
type: 'approval' type: 'approval'
}); });
workflowCommon.routerJump(routerJumpVo,proxy) workflowCommon.routerJump(routerJumpVo, proxy);
}; };
/** 认领任务 */ /** 认领任务 */