feat: 2.6.0
1. 工作流页面新增工作流名称列表 2. 工作流任务节点显示任务名称
This commit is contained in:
parent
b8a2322cbb
commit
8162267f56
@ -29,7 +29,7 @@ public class WorkflowController {
|
||||
private final WorkflowService workflowService;
|
||||
|
||||
@PostMapping
|
||||
@LoginRequired(role = RoleEnum.USER)
|
||||
@LoginRequired(role = RoleEnum.ADMIN)
|
||||
public Boolean saveWorkflow(@RequestBody @Validated WorkflowRequestVO workflowRequestVO) {
|
||||
return workflowService.saveWorkflow(workflowRequestVO);
|
||||
}
|
||||
@ -41,7 +41,7 @@ public class WorkflowController {
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@LoginRequired(role = RoleEnum.USER)
|
||||
@LoginRequired(role = RoleEnum.ADMIN)
|
||||
public Boolean updateWorkflow(@RequestBody @Validated WorkflowRequestVO workflowRequestVO) {
|
||||
return workflowService.updateWorkflow(workflowRequestVO);
|
||||
}
|
||||
@ -53,19 +53,29 @@ public class WorkflowController {
|
||||
}
|
||||
|
||||
@PutMapping("/update/status/{id}")
|
||||
@LoginRequired(role = RoleEnum.ADMIN)
|
||||
public Boolean updateStatus(@PathVariable("id") Long id) {
|
||||
return workflowService.updateStatus(id);
|
||||
}
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
@LoginRequired(role = RoleEnum.ADMIN)
|
||||
public Boolean deleteById(@PathVariable("id") Long id) {
|
||||
return workflowService.deleteById(id);
|
||||
}
|
||||
|
||||
@PostMapping("/trigger/{id}")
|
||||
@LoginRequired(role = RoleEnum.USER)
|
||||
public Boolean trigger(@PathVariable("id") Long id) {
|
||||
return workflowService.trigger(id);
|
||||
}
|
||||
|
||||
@GetMapping("/workflow-name/list")
|
||||
@LoginRequired(role = RoleEnum.USER)
|
||||
public List<WorkflowResponseVO> getWorkflowNameList(
|
||||
@RequestParam(value = "keywords", required = false) String keywords,
|
||||
@RequestParam(value = "workflowId", required = false) Long workflowId) {
|
||||
return workflowService.getWorkflowNameList(keywords, workflowId);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -29,4 +29,6 @@ public interface WorkflowService {
|
||||
Boolean deleteById(Long id);
|
||||
|
||||
Boolean trigger(Long id);
|
||||
|
||||
List<WorkflowResponseVO> getWorkflowNameList(String keywords, Long workflowId);
|
||||
}
|
||||
|
@ -277,4 +277,24 @@ public class WorkflowServiceImpl implements WorkflowService {
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<WorkflowResponseVO> getWorkflowNameList(String keywords, Long workflowId) {
|
||||
|
||||
LambdaQueryWrapper<Workflow> queryWrapper = new LambdaQueryWrapper<Workflow>()
|
||||
.select(Workflow::getId, Workflow::getWorkflowName);
|
||||
if (StrUtil.isNotBlank(keywords)) {
|
||||
queryWrapper.like(Workflow::getWorkflowName, keywords.trim() + "%");
|
||||
}
|
||||
|
||||
if (Objects.nonNull(workflowId)) {
|
||||
queryWrapper.eq(Workflow::getId, workflowId);
|
||||
}
|
||||
|
||||
queryWrapper.eq(Workflow::getDeleted, StatusEnum.NO.getStatus());
|
||||
PageDTO<Workflow> pageDTO = new PageDTO<>(1, 20);
|
||||
PageDTO<Workflow> selectPage = workflowMapper.selectPage(pageDTO, queryWrapper);
|
||||
|
||||
return WorkflowConverter.INSTANCE.toWorkflowResponseVO(selectPage.getRecords());
|
||||
}
|
||||
|
||||
}
|
||||
|
21
frontend/public/lib/assets/HIb6OPZi.js
Normal file
21
frontend/public/lib/assets/HIb6OPZi.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,16 +1,16 @@
|
||||
<!doctype html>
|
||||
<html lang="zh-CN">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Easy Retry</title>
|
||||
<script type="module" crossorigin src="./assets/eCMYxQqR.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="./assets/tWxQPn1H.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<!doctype html>
|
||||
<html lang="zh-CN">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Easy Retry</title>
|
||||
<script type="module" crossorigin src="./assets/HIb6OPZi.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="./assets/kNnuTekB.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
@ -39,11 +39,20 @@ const jobApi = {
|
||||
updateStatus: '/workflow/update/status/',
|
||||
delWorkflow: '/workflow/',
|
||||
triggerWorkflow: '/workflow/trigger/',
|
||||
stopWorkflowBatch: '/workflow/batch/stop/'
|
||||
stopWorkflowBatch: '/workflow/batch/stop/',
|
||||
workflowNameList: '/workflow/workflow-name/list'
|
||||
}
|
||||
|
||||
export default jobApi
|
||||
|
||||
export function workflowNameList (parameter) {
|
||||
return request({
|
||||
url: jobApi.workflowNameList,
|
||||
method: 'get',
|
||||
params: parameter
|
||||
})
|
||||
}
|
||||
|
||||
export function stopWorkflowBatch (id) {
|
||||
return request({
|
||||
url: jobApi.stopWorkflowBatch + id,
|
||||
|
@ -44,21 +44,6 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<template v-if="advanced">
|
||||
<!-- <a-col :md="8" :sm="24">-->
|
||||
<!-- <a-form-item label="业务编号">-->
|
||||
<!-- <a-input v-model="queryParam.bizNo" placeholder="请输入业务编号" allowClear />-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- <a-col :md="8" :sm="24">-->
|
||||
<!-- <a-form-item label="幂等id">-->
|
||||
<!-- <a-input v-model="queryParam.idempotentId" placeholder="请输入幂等id" allowClear />-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- <a-col :md="8" :sm="24">-->
|
||||
<!-- <a-form-item label="UniqueId">-->
|
||||
<!-- <a-input v-model="queryParam.uniqueId" placeholder="请输入唯一id" allowClear/>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- </a-col>-->
|
||||
</template>
|
||||
<a-col :md="(!advanced && 8) || 24" :sm="24">
|
||||
<span
|
||||
@ -215,7 +200,6 @@ export default {
|
||||
],
|
||||
// 加载数据方法 必须为 Promise 对象
|
||||
loadData: (parameter) => {
|
||||
// this.queryParam['jobId'] = this.$route.query.jobId
|
||||
return jobBatchList(Object.assign(parameter, this.queryParam)).then((res) => {
|
||||
return res
|
||||
})
|
||||
@ -251,7 +235,6 @@ export default {
|
||||
const jobId = this.$route.query.jobId
|
||||
jobNameList({ jobId: jobId }).then(res => {
|
||||
this.jobNameList = res.data
|
||||
console.log(jobId)
|
||||
if (jobId) {
|
||||
this.queryParam['jobId'] = this.jobNameList[0].id
|
||||
this.$refs.table.refresh(true)
|
||||
|
@ -18,7 +18,7 @@
|
||||
<a-form-item label="任务名称">
|
||||
<a-select
|
||||
show-search
|
||||
v-model="queryParam.jobId"
|
||||
v-model="queryParam.workflowId"
|
||||
placeholder="请输入任务名称"
|
||||
:default-active-first-option="false"
|
||||
:show-arrow="true"
|
||||
@ -27,8 +27,8 @@
|
||||
@search="handleSearch"
|
||||
@change="handleChange"
|
||||
>
|
||||
<a-select-option v-for="(item, index) in jobNameList" :value="item.id" :key="index">
|
||||
{{ item.jobName }}
|
||||
<a-select-option v-for="(item, index) in workflowNameList" :value="item.id" :key="index">
|
||||
{{ item.workflowName }}
|
||||
</a-select-option>
|
||||
|
||||
</a-select>
|
||||
@ -107,7 +107,7 @@
|
||||
import ATextarea from 'ant-design-vue/es/input/TextArea'
|
||||
import AInput from 'ant-design-vue/es/input/Input'
|
||||
import { Drawer, STable } from '@/components'
|
||||
import { workflowBatchListPage, jobNameList, stopWorkflowBatch } from '@/api/jobApi'
|
||||
import { workflowBatchListPage, stopWorkflowBatch, workflowNameList } from '@/api/jobApi'
|
||||
import { getAllGroupNameList } from '@/api/manage'
|
||||
import JobBatchInfo from '@/views/job/JobBatchInfo'
|
||||
const enums = require('@/utils/jobEnum')
|
||||
@ -209,7 +209,7 @@ export default {
|
||||
},
|
||||
optionAlertShow: false,
|
||||
groupNameList: [],
|
||||
jobNameList: [],
|
||||
workflowNameList: [],
|
||||
openDrawer: false,
|
||||
currentShowRecord: null
|
||||
}
|
||||
@ -218,11 +218,20 @@ export default {
|
||||
getAllGroupNameList().then((res) => {
|
||||
this.groupNameList = res.data
|
||||
})
|
||||
|
||||
const workflowId = this.$route.query.workflowId
|
||||
workflowNameList({ workflowId: workflowId }).then(res => {
|
||||
this.workflowNameList = res.data
|
||||
if (workflowId) {
|
||||
this.queryParam['workflowId'] = this.workflowNameList[0].id
|
||||
this.$refs.table.refresh(true)
|
||||
}
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
handleSearch (value) {
|
||||
jobNameList({ keywords: value }).then(res => {
|
||||
this.jobNameList = res.data
|
||||
workflowNameList({ keywords: value }).then(res => {
|
||||
this.workflowNameList = res.data
|
||||
})
|
||||
},
|
||||
handleChange (value) {
|
||||
|
@ -275,7 +275,7 @@ export default {
|
||||
this.$router.push({ path: '/job/workflow/edit', query: { id: record.id } })
|
||||
},
|
||||
goJobBatchList (record) {
|
||||
this.$router.push({ path: '/job/batch/list', query: { jobId: record.id } })
|
||||
this.$router.push({ path: '/job/workflow/batch/list', query: { workflowId: record.id } })
|
||||
},
|
||||
handleNew () {
|
||||
this.$router.push({ path: '/job/workflow/edit' })
|
||||
|
Loading…
Reference in New Issue
Block a user