|
@@ -14,7 +14,7 @@
|
|
|
v-show="state.activeName === 'example'"
|
|
|
>
|
|
|
<el-form-item label="关键字查询" prop="Keyword">
|
|
|
- <el-input v-model="state.queryParams.Keyword" placeholder="流程标题/流程ID" style="width: 300px" clearable @keyup.enter="getList" />
|
|
|
+ <el-input v-model="state.queryParams.Keyword" placeholder="流程标题/流程ID" style="width: 300px" clearable @keyup.enter="queryList" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="业务模块" prop="ModuleCode">
|
|
|
<el-select v-model="state.queryParams.ModuleCode" class="w100" placeholder="请选择业务模块">
|
|
@@ -22,7 +22,9 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-button type="primary" @click="getList" :loading="state.loading" v-waves> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
|
|
|
+ <el-button type="primary" @click="queryList" :loading="state.loading" v-waves>
|
|
|
+ <SvgIcon name="ele-Search" class="mr5" />查询
|
|
|
+ </el-button>
|
|
|
<el-button @click="resetQuery(ruleFormRef)" v-waves class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
@@ -52,14 +54,43 @@
|
|
|
<el-table-column label="操作" width="150" fixed="right" align="center">
|
|
|
<!-- 草稿0 启用1 禁用2 -->
|
|
|
<template #default="scope">
|
|
|
- <el-button link type="primary" @click="onEditTemp(scope.row)" title="修改" v-auth="'system:workflow:template:edit'"> 修改 </el-button>
|
|
|
- <el-button link type="success" v-if="scope.row.status === 0" @click="onReleaseTemp(scope.row)" title="发布" v-auth="'system:workflow:template:release'"> 发布 </el-button>
|
|
|
+ <el-button link type="primary" @click="onEditTemp(scope.row)" title="修改" v-auth="'system:workflow:template:edit'">
|
|
|
+ 修改
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ link
|
|
|
+ type="success"
|
|
|
+ v-if="scope.row.status === 0"
|
|
|
+ @click="onReleaseTemp(scope.row)"
|
|
|
+ title="发布"
|
|
|
+ v-auth="'system:workflow:template:release'"
|
|
|
+ >
|
|
|
+ 发布
|
|
|
+ </el-button>
|
|
|
<!-- <el-button link type="warning" v-if="scope.row.status === 2" @click="tempEnable(scope.row)" title="启用" v-auth="'system:workflow:template:enable'">
|
|
|
启用
|
|
|
</el-button> -->
|
|
|
- <el-button link type="danger" v-if="scope.row.status === 1" @click="tempDisable(scope.row)" title="禁用" v-auth="'system:workflow:template:disable'"> 禁用 </el-button>
|
|
|
+ <el-button
|
|
|
+ link
|
|
|
+ type="danger"
|
|
|
+ v-if="scope.row.status === 1"
|
|
|
+ @click="tempDisable(scope.row)"
|
|
|
+ title="禁用"
|
|
|
+ v-auth="'system:workflow:template:disable'"
|
|
|
+ >
|
|
|
+ 禁用
|
|
|
+ </el-button>
|
|
|
<!-- 发布之后不能修改 -->
|
|
|
- <el-button link v-if="scope.row.status === 0" type="danger" @click="onDeleteTemp(scope.row)" title="删除" v-auth="'system:workflow:template:delete'"> 删除 </el-button>
|
|
|
+ <el-button
|
|
|
+ link
|
|
|
+ v-if="scope.row.status === 0"
|
|
|
+ type="danger"
|
|
|
+ @click="onDeleteTemp(scope.row)"
|
|
|
+ title="删除"
|
|
|
+ v-auth="'system:workflow:template:delete'"
|
|
|
+ >
|
|
|
+ 删除
|
|
|
+ </el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</template>
|
|
@@ -83,8 +114,24 @@
|
|
|
<el-table-column prop="currentStepName" label="当前环节" show-overflow-tooltip width="170"></el-table-column>
|
|
|
<el-table-column label="操作" width="140" fixed="right" align="center">
|
|
|
<template #default="{ row }">
|
|
|
- <el-button link type="primary" @click="onLink(row)" title="跳转" v-if="[0, 1, 3].includes(row.status)" v-auth="'system:workflow:template:jump'"> 跳转 </el-button>
|
|
|
- <el-button link type="danger" @click="onStopProcess(row)" title="终止流程" v-if="[0, 1, 3].includes(row.status)" v-auth="'system:workflow:template:stop'">
|
|
|
+ <el-button
|
|
|
+ link
|
|
|
+ type="primary"
|
|
|
+ @click="onLink(row)"
|
|
|
+ title="跳转"
|
|
|
+ v-if="[0, 1, 3].includes(row.status)"
|
|
|
+ v-auth="'system:workflow:jump'"
|
|
|
+ >
|
|
|
+ 跳转
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ link
|
|
|
+ type="danger"
|
|
|
+ @click="onStopProcess(row)"
|
|
|
+ title="终止流程"
|
|
|
+ v-if="[0, 1, 3].includes(row.status)"
|
|
|
+ v-auth="'system:workflow:stop'"
|
|
|
+ >
|
|
|
终止流程
|
|
|
</el-button>
|
|
|
</template>
|
|
@@ -99,12 +146,12 @@
|
|
|
:total="state.total"
|
|
|
v-model:page="state.queryParams.PageIndex"
|
|
|
v-model:limit="state.queryParams.PageSize"
|
|
|
- @pagination="getList"
|
|
|
+ @pagination="queryList"
|
|
|
/>
|
|
|
</div>
|
|
|
</el-tabs>
|
|
|
</div>
|
|
|
- <workflowJump ref="workflowJumpRef" @updateList="getList" />
|
|
|
+ <workflowJump ref="workflowJumpRef" @updateList="queryList" />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -167,7 +214,7 @@ const ruleFormRef = ref<FormInstance>();
|
|
|
const workflowJumpRef = ref(null as any);
|
|
|
const router = useRouter();
|
|
|
/** 获取列表 */
|
|
|
-const getList = () => {
|
|
|
+const queryList = () => {
|
|
|
switch (state.activeName) {
|
|
|
case 'template':
|
|
|
state.loading = true;
|
|
@@ -201,11 +248,11 @@ const getList = () => {
|
|
|
const resetQuery = throttle((formEl: FormInstance | undefined) => {
|
|
|
if (!formEl) return;
|
|
|
formEl.resetFields();
|
|
|
- getList();
|
|
|
+ queryList();
|
|
|
}, 1000);
|
|
|
// 切换tab 查询列表
|
|
|
const handleClick = () => {
|
|
|
- getList();
|
|
|
+ queryList();
|
|
|
};
|
|
|
// 新增模板
|
|
|
const onAddTemp = () => {
|
|
@@ -239,7 +286,7 @@ const onDeleteTemp = (row: any) => {
|
|
|
.then(() => {
|
|
|
workflowDelete(row.id).then(() => {
|
|
|
ElMessage.success('删除成功');
|
|
|
- getList();
|
|
|
+ queryList();
|
|
|
});
|
|
|
})
|
|
|
.catch(() => {});
|
|
@@ -260,7 +307,7 @@ const onReleaseTemp = async (row: any) => {
|
|
|
.then(() => {
|
|
|
publishOnList(row.id).then(() => {
|
|
|
ElMessage.success('发布成功');
|
|
|
- getList();
|
|
|
+ queryList();
|
|
|
});
|
|
|
})
|
|
|
.catch(() => {});
|
|
@@ -276,7 +323,7 @@ const onReleaseTemp = async (row: any) => {
|
|
|
.then(() => {
|
|
|
publishOnList(row.id).then(() => {
|
|
|
ElMessage.success('发布成功');
|
|
|
- getList();
|
|
|
+ queryList();
|
|
|
});
|
|
|
})
|
|
|
.catch(() => {});
|
|
@@ -295,7 +342,7 @@ const tempEnable = (row: any) => {
|
|
|
.then(() => {
|
|
|
workflowEnable(row.id).then(() => {
|
|
|
ElMessage.success('启用成功');
|
|
|
- getList();
|
|
|
+ queryList();
|
|
|
});
|
|
|
})
|
|
|
.catch(() => {});
|
|
@@ -313,7 +360,7 @@ const tempDisable = (row: any) => {
|
|
|
.then(() => {
|
|
|
workflowDisable(row.id).then(() => {
|
|
|
ElMessage.success('禁用成功');
|
|
|
- getList();
|
|
|
+ queryList();
|
|
|
});
|
|
|
})
|
|
|
.catch(() => {});
|
|
@@ -324,25 +371,46 @@ const onLink = (row: any) => {
|
|
|
};
|
|
|
// 终止流程
|
|
|
const onStopProcess = (row: any) => {
|
|
|
- ElMessageBox.confirm(`终止后,当前处理人将无法处理该流程,确定终止?`, '提示', {
|
|
|
- confirmButtonText: '确认',
|
|
|
+ ElMessageBox.prompt('终止原因', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
cancelButtonText: '取消',
|
|
|
- type: 'warning',
|
|
|
+ inputPlaceholder: '请输入终止原因,不超过50字符',
|
|
|
draggable: true,
|
|
|
- cancelButtonClass: 'default-button',
|
|
|
- autofocus: false,
|
|
|
+ inputErrorMessage: '请输入终止原因',
|
|
|
+ inputType: 'textarea',
|
|
|
+ inputValidator: (value) => {
|
|
|
+ if (value) return true;
|
|
|
+ else return '请输入终止原因';
|
|
|
+ },
|
|
|
})
|
|
|
- .then(() => {
|
|
|
- workflowRerminate(row.id).then(() => {
|
|
|
- ElMessage.success('操作成功');
|
|
|
- getList();
|
|
|
- });
|
|
|
+ .then(({ value }) => {
|
|
|
+ let req = {
|
|
|
+ workflowId: row.id,
|
|
|
+ opinion: value,
|
|
|
+ };
|
|
|
+ ElMessageBox.confirm(`终止后,当前处理人将无法处理该流程,确定终止?`, '提示', {
|
|
|
+ confirmButtonText: '确认',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning',
|
|
|
+ draggable: true,
|
|
|
+ cancelButtonClass: 'default-button',
|
|
|
+ autofocus: false,
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ workflowRerminate(req)
|
|
|
+ .then(() => {
|
|
|
+ ElMessage.success('操作成功');
|
|
|
+ queryList();
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
})
|
|
|
.catch(() => {});
|
|
|
};
|
|
|
//
|
|
|
onMounted(async () => {
|
|
|
- getList();
|
|
|
+ queryList();
|
|
|
// 获取页面基础信息
|
|
|
const res: any = await baseData();
|
|
|
state.moduleOptions = res.result?.moduleOptions ?? [];
|