feat: 2.6.0
1. 工作流页面新增工作流名称列表 2. 工作流任务节点显示任务名称
This commit is contained in:
parent
3c35dd014e
commit
e8bb418382
@ -29,7 +29,7 @@ public class WorkflowController {
|
|||||||
private final WorkflowService workflowService;
|
private final WorkflowService workflowService;
|
||||||
|
|
||||||
@PostMapping
|
@PostMapping
|
||||||
@LoginRequired(role = RoleEnum.USER)
|
@LoginRequired(role = RoleEnum.ADMIN)
|
||||||
public Boolean saveWorkflow(@RequestBody @Validated WorkflowRequestVO workflowRequestVO) {
|
public Boolean saveWorkflow(@RequestBody @Validated WorkflowRequestVO workflowRequestVO) {
|
||||||
return workflowService.saveWorkflow(workflowRequestVO);
|
return workflowService.saveWorkflow(workflowRequestVO);
|
||||||
}
|
}
|
||||||
@ -41,7 +41,7 @@ public class WorkflowController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PutMapping
|
@PutMapping
|
||||||
@LoginRequired(role = RoleEnum.USER)
|
@LoginRequired(role = RoleEnum.ADMIN)
|
||||||
public Boolean updateWorkflow(@RequestBody @Validated WorkflowRequestVO workflowRequestVO) {
|
public Boolean updateWorkflow(@RequestBody @Validated WorkflowRequestVO workflowRequestVO) {
|
||||||
return workflowService.updateWorkflow(workflowRequestVO);
|
return workflowService.updateWorkflow(workflowRequestVO);
|
||||||
}
|
}
|
||||||
@ -53,19 +53,29 @@ public class WorkflowController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PutMapping("/update/status/{id}")
|
@PutMapping("/update/status/{id}")
|
||||||
|
@LoginRequired(role = RoleEnum.ADMIN)
|
||||||
public Boolean updateStatus(@PathVariable("id") Long id) {
|
public Boolean updateStatus(@PathVariable("id") Long id) {
|
||||||
return workflowService.updateStatus(id);
|
return workflowService.updateStatus(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@DeleteMapping("/{id}")
|
@DeleteMapping("/{id}")
|
||||||
|
@LoginRequired(role = RoleEnum.ADMIN)
|
||||||
public Boolean deleteById(@PathVariable("id") Long id) {
|
public Boolean deleteById(@PathVariable("id") Long id) {
|
||||||
return workflowService.deleteById(id);
|
return workflowService.deleteById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/trigger/{id}")
|
@PostMapping("/trigger/{id}")
|
||||||
|
@LoginRequired(role = RoleEnum.USER)
|
||||||
public Boolean trigger(@PathVariable("id") Long id) {
|
public Boolean trigger(@PathVariable("id") Long id) {
|
||||||
return workflowService.trigger(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 deleteById(Long id);
|
||||||
|
|
||||||
Boolean trigger(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;
|
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
@ -5,8 +5,8 @@
|
|||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Easy Retry</title>
|
<title>Easy Retry</title>
|
||||||
<script type="module" crossorigin src="./assets/eCMYxQqR.js"></script>
|
<script type="module" crossorigin src="./assets/HIb6OPZi.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="./assets/tWxQPn1H.css">
|
<link rel="stylesheet" crossorigin href="./assets/kNnuTekB.css">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
@ -39,11 +39,20 @@ const jobApi = {
|
|||||||
updateStatus: '/workflow/update/status/',
|
updateStatus: '/workflow/update/status/',
|
||||||
delWorkflow: '/workflow/',
|
delWorkflow: '/workflow/',
|
||||||
triggerWorkflow: '/workflow/trigger/',
|
triggerWorkflow: '/workflow/trigger/',
|
||||||
stopWorkflowBatch: '/workflow/batch/stop/'
|
stopWorkflowBatch: '/workflow/batch/stop/',
|
||||||
|
workflowNameList: '/workflow/workflow-name/list'
|
||||||
}
|
}
|
||||||
|
|
||||||
export default jobApi
|
export default jobApi
|
||||||
|
|
||||||
|
export function workflowNameList (parameter) {
|
||||||
|
return request({
|
||||||
|
url: jobApi.workflowNameList,
|
||||||
|
method: 'get',
|
||||||
|
params: parameter
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
export function stopWorkflowBatch (id) {
|
export function stopWorkflowBatch (id) {
|
||||||
return request({
|
return request({
|
||||||
url: jobApi.stopWorkflowBatch + id,
|
url: jobApi.stopWorkflowBatch + id,
|
||||||
|
@ -44,21 +44,6 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<template v-if="advanced">
|
<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>
|
</template>
|
||||||
<a-col :md="(!advanced && 8) || 24" :sm="24">
|
<a-col :md="(!advanced && 8) || 24" :sm="24">
|
||||||
<span
|
<span
|
||||||
@ -215,7 +200,6 @@ export default {
|
|||||||
],
|
],
|
||||||
// 加载数据方法 必须为 Promise 对象
|
// 加载数据方法 必须为 Promise 对象
|
||||||
loadData: (parameter) => {
|
loadData: (parameter) => {
|
||||||
// this.queryParam['jobId'] = this.$route.query.jobId
|
|
||||||
return jobBatchList(Object.assign(parameter, this.queryParam)).then((res) => {
|
return jobBatchList(Object.assign(parameter, this.queryParam)).then((res) => {
|
||||||
return res
|
return res
|
||||||
})
|
})
|
||||||
@ -251,7 +235,6 @@ export default {
|
|||||||
const jobId = this.$route.query.jobId
|
const jobId = this.$route.query.jobId
|
||||||
jobNameList({ jobId: jobId }).then(res => {
|
jobNameList({ jobId: jobId }).then(res => {
|
||||||
this.jobNameList = res.data
|
this.jobNameList = res.data
|
||||||
console.log(jobId)
|
|
||||||
if (jobId) {
|
if (jobId) {
|
||||||
this.queryParam['jobId'] = this.jobNameList[0].id
|
this.queryParam['jobId'] = this.jobNameList[0].id
|
||||||
this.$refs.table.refresh(true)
|
this.$refs.table.refresh(true)
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
<a-form-item label="任务名称">
|
<a-form-item label="任务名称">
|
||||||
<a-select
|
<a-select
|
||||||
show-search
|
show-search
|
||||||
v-model="queryParam.jobId"
|
v-model="queryParam.workflowId"
|
||||||
placeholder="请输入任务名称"
|
placeholder="请输入任务名称"
|
||||||
:default-active-first-option="false"
|
:default-active-first-option="false"
|
||||||
:show-arrow="true"
|
:show-arrow="true"
|
||||||
@ -27,8 +27,8 @@
|
|||||||
@search="handleSearch"
|
@search="handleSearch"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
>
|
>
|
||||||
<a-select-option v-for="(item, index) in jobNameList" :value="item.id" :key="index">
|
<a-select-option v-for="(item, index) in workflowNameList" :value="item.id" :key="index">
|
||||||
{{ item.jobName }}
|
{{ item.workflowName }}
|
||||||
</a-select-option>
|
</a-select-option>
|
||||||
|
|
||||||
</a-select>
|
</a-select>
|
||||||
@ -107,7 +107,7 @@
|
|||||||
import ATextarea from 'ant-design-vue/es/input/TextArea'
|
import ATextarea from 'ant-design-vue/es/input/TextArea'
|
||||||
import AInput from 'ant-design-vue/es/input/Input'
|
import AInput from 'ant-design-vue/es/input/Input'
|
||||||
import { Drawer, STable } from '@/components'
|
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 { getAllGroupNameList } from '@/api/manage'
|
||||||
import JobBatchInfo from '@/views/job/JobBatchInfo'
|
import JobBatchInfo from '@/views/job/JobBatchInfo'
|
||||||
const enums = require('@/utils/jobEnum')
|
const enums = require('@/utils/jobEnum')
|
||||||
@ -209,7 +209,7 @@ export default {
|
|||||||
},
|
},
|
||||||
optionAlertShow: false,
|
optionAlertShow: false,
|
||||||
groupNameList: [],
|
groupNameList: [],
|
||||||
jobNameList: [],
|
workflowNameList: [],
|
||||||
openDrawer: false,
|
openDrawer: false,
|
||||||
currentShowRecord: null
|
currentShowRecord: null
|
||||||
}
|
}
|
||||||
@ -218,11 +218,20 @@ export default {
|
|||||||
getAllGroupNameList().then((res) => {
|
getAllGroupNameList().then((res) => {
|
||||||
this.groupNameList = res.data
|
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: {
|
methods: {
|
||||||
handleSearch (value) {
|
handleSearch (value) {
|
||||||
jobNameList({ keywords: value }).then(res => {
|
workflowNameList({ keywords: value }).then(res => {
|
||||||
this.jobNameList = res.data
|
this.workflowNameList = res.data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleChange (value) {
|
handleChange (value) {
|
||||||
|
@ -275,7 +275,7 @@ export default {
|
|||||||
this.$router.push({ path: '/job/workflow/edit', query: { id: record.id } })
|
this.$router.push({ path: '/job/workflow/edit', query: { id: record.id } })
|
||||||
},
|
},
|
||||||
goJobBatchList (record) {
|
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 () {
|
handleNew () {
|
||||||
this.$router.push({ path: '/job/workflow/edit' })
|
this.$router.push({ path: '/job/workflow/edit' })
|
||||||
|
Loading…
Reference in New Issue
Block a user