Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
8ff3d22c4d
2
.gitignore
vendored
2
.gitignore
vendored
@ -47,3 +47,5 @@ nbdist/
|
||||
rebel.xml
|
||||
|
||||
application-my.yaml
|
||||
|
||||
/yudao-ui-app/unpackage/
|
||||
|
33
README.md
33
README.md
@ -23,8 +23,8 @@
|
||||
>
|
||||
> 😜 给项目点点 Star 吧,这对我们真的很重要!
|
||||
|
||||
* 前端 vue2 版本采用 [vue-element-admin](https://github.com/PanJiaChen/vue-element-admin)
|
||||
* 前端 vue3 版本采用 [vue-element-plus-admin](https://gitee.com/kailong110120130/vue-element-plus-admin)
|
||||
* 前端 Vue2 版本采用 [vue-element-admin](https://github.com/PanJiaChen/vue-element-admin)
|
||||
* 前端 Vue3 版本采用 [vue-element-plus-admin](https://gitee.com/kailong110120130/vue-element-plus-admin)
|
||||
* 后端采用 Spring Boot、MySQL + MyBatis Plus、Redis + Redisson。
|
||||
* 数据库可使用 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB、国产达梦 DM、TiDB 等
|
||||
* 权限认证使用 Spring Security & Token & Redis,支持多终端、多种用户的认证系统。
|
||||
@ -100,17 +100,6 @@
|
||||
|
||||
ps:核心功能已经实现,正在对接微信小程序中...
|
||||
|
||||
### 商城系统
|
||||
|
||||
正在开发中,大体计划如下:
|
||||
* 2022 Q2 => 完成对 <https://github.com/YunaiV/onemall> 的迁移,作为 onemall 的 Spring Boot 单体版本。
|
||||
* 2022 Q4 => 完成对 <https://github.com/YunaiV/onemall>> 的重构,作为 onemall 的 Spring Cloud 微服务版本。
|
||||
|
||||
### 会员中心
|
||||
|
||||
正在开发中,大体计划如下:
|
||||
* 2021 Q1 =》完成对 <https://github.com/YunaiV/onemall> 的迁移
|
||||
|
||||
### 基础设施
|
||||
|
||||
| | 功能 | 描述 |
|
||||
@ -135,6 +124,20 @@ ps:核心功能已经实现,正在对接微信小程序中...
|
||||
| 🚀 | 日志服务 | 轻量级日志中心,查看远程服务器的日志 |
|
||||
| 🚀 | 单元测试 | 基于 JUnit + Mockito 实现单元测试,保证功能的正确性、代码的质量等 |
|
||||
|
||||
### 商城系统
|
||||
|
||||
建设中...
|
||||
|
||||
![功能图](http://static.iocoder.cn/mall%20%E5%8A%9F%E8%83%BD%E5%9B%BE-min.png)
|
||||
|
||||
![GIF 图-耐心等待](https://raw.githubusercontent.com/YunaiV/Blog/master/Mall/onemall-admin-min.gif)
|
||||
|
||||
![GIF 图-耐心等待](https://raw.githubusercontent.com/YunaiV/Blog/master/Mall/onemall-h5-min.gif)
|
||||
|
||||
### 会员中心
|
||||
|
||||
和「商城系统」一起开发
|
||||
|
||||
## 🐨 技术栈
|
||||
|
||||
| 项目 | 说明 |
|
||||
@ -177,14 +180,14 @@ ps:核心功能已经实现,正在对接微信小程序中...
|
||||
| [JUnit](https://junit.org/junit5/) | Java 单元测试框架 | 5.8.2 | - |
|
||||
| [Mockito](https://github.com/mockito/mockito) | Java Mock 框架 | 4.0.0 | - |
|
||||
|
||||
### vue2 前端
|
||||
### Vue2 前端
|
||||
|
||||
| 框架 | 说明 | 版本 |
|
||||
|------------------------------------------------------------------------------|---------------|--------|
|
||||
| [Vue](https://cn.vuejs.org/index.html) | JavaScript 框架 | 2.6.12 |
|
||||
| [Vue Element Admin](https://panjiachen.github.io/vue-element-admin-site/zh/) | 后台前端解决方案 | - |
|
||||
|
||||
### vue3 前端
|
||||
### Vue3 前端
|
||||
|
||||
| 框架 | 说明 | 版本 |
|
||||
|----------------------------------------------------------------------|---------------------|--------|
|
||||
|
@ -12,7 +12,7 @@ import java.util.Date;
|
||||
|
||||
/**
|
||||
* Bpm 流程任务的拓展表
|
||||
* 主要解决 Activiti Task 和 HistoricTaskInstance 不支持拓展字段,所以新建拓展表
|
||||
* 主要解决 Flowable Task 和 HistoricTaskInstance 不支持拓展字段,所以新建拓展表
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
|
@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.bpm.service.task;
|
||||
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.activity.BpmActivityRespVO;
|
||||
import cn.iocoder.yudao.module.bpm.convert.task.BpmActivityConvert;
|
||||
import cn.iocoder.yudao.module.bpm.dal.mysql.task.BpmActivityMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.flowable.engine.HistoryService;
|
||||
import org.flowable.engine.history.HistoricActivityInstance;
|
||||
@ -25,8 +24,6 @@ public class BpmActivityServiceImpl implements BpmActivityService {
|
||||
|
||||
@Resource
|
||||
private HistoryService historyService;
|
||||
@Resource
|
||||
private BpmActivityMapper bpmActivityMapper;
|
||||
|
||||
@Override
|
||||
public List<BpmActivityRespVO> getActivityListByProcessInstanceId(String processInstanceId) {
|
||||
|
@ -144,5 +144,4 @@ public interface BpmProcessInstanceService {
|
||||
*/
|
||||
void updateProcessInstanceExtReject(String id, String reason);
|
||||
|
||||
|
||||
}
|
||||
|
@ -7,10 +7,7 @@ import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
|
||||
import cn.iocoder.yudao.framework.common.util.object.PageUtils;
|
||||
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.*;
|
||||
import cn.iocoder.yudao.module.bpm.convert.task.BpmTaskConvert;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO;
|
||||
import cn.iocoder.yudao.module.bpm.dal.mysql.definition.BpmTaskAssignRuleMapper;
|
||||
import cn.iocoder.yudao.module.bpm.dal.mysql.task.BpmActivityMapper;
|
||||
import cn.iocoder.yudao.module.bpm.dal.mysql.task.BpmTaskExtMapper;
|
||||
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceDeleteReasonEnum;
|
||||
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
|
||||
@ -67,10 +64,6 @@ public class BpmTaskServiceImpl implements BpmTaskService {
|
||||
private BpmTaskExtMapper taskExtMapper;
|
||||
@Resource
|
||||
private BpmMessageService messageService;
|
||||
@Resource
|
||||
private BpmTaskAssignRuleMapper taskAssignRuleMapper;
|
||||
@Resource
|
||||
private BpmActivityMapper bpmActivityMapper;
|
||||
|
||||
@Override
|
||||
public PageResult<BpmTaskTodoPageItemRespVO> getTodoTaskPage(Long userId, BpmTaskTodoPageReqVO pageVO) {
|
||||
@ -194,10 +187,6 @@ public class BpmTaskServiceImpl implements BpmTaskService {
|
||||
taskExtMapper.updateByTaskId(
|
||||
new BpmTaskExtDO().setTaskId(task.getId()).setResult(BpmProcessInstanceResultEnum.APPROVE.getResult())
|
||||
.setReason(reqVO.getReason()));
|
||||
// 判断任务是否为或签,或签时删除其余不用审批的任务
|
||||
List<BpmTaskAssignRuleDO> bpmTaskAssignRuleList =
|
||||
taskAssignRuleMapper.selectListByProcessDefinitionId(task.getProcessDefinitionId(),
|
||||
task.getTaskDefinitionKey());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -216,7 +205,7 @@ public class BpmTaskServiceImpl implements BpmTaskService {
|
||||
// 更新任务拓展表为不通过
|
||||
taskExtMapper.updateByTaskId(
|
||||
new BpmTaskExtDO().setTaskId(task.getId()).setResult(BpmProcessInstanceResultEnum.REJECT.getResult())
|
||||
.setReason(reqVO.getReason()));
|
||||
.setEndTime(new Date()).setReason(reqVO.getReason()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -120,20 +120,21 @@ export default {
|
||||
this.bpmnModeler.getDefinitions().rootElements[0].flowElements?.forEach(n => {
|
||||
let activity = activityList.find(m => m.key === n.id) // 找到对应的活动
|
||||
if (n.$type === 'bpmn:UserTask') { // 用户任务
|
||||
debugger
|
||||
if (!activity) {
|
||||
return;
|
||||
}
|
||||
// 处理用户任务的高亮
|
||||
const task = this.taskList.find(m => m.id === activity.taskId); // 找到活动对应的 taskId
|
||||
if (task) {
|
||||
canvas.addMarker(n.id, this.getResultCss(task.result));
|
||||
// 如果非通过,就不走后面的线条了
|
||||
if (task.result !== 2) {
|
||||
return;
|
||||
}
|
||||
if (!task) {
|
||||
return;
|
||||
}
|
||||
// 高亮任务
|
||||
canvas.addMarker(n.id, this.getResultCss(task.result));
|
||||
|
||||
// 如果非通过,就不走后面的线条了
|
||||
if (task.result !== 2) {
|
||||
return;
|
||||
}
|
||||
// 处理 outgoing 出线
|
||||
const outgoing = this.getActivityOutgoing(activity);
|
||||
outgoing?.forEach(nn => {
|
||||
@ -219,13 +220,13 @@ export default {
|
||||
return activity.endTime ? 'highlight' : 'highlight-todo';
|
||||
},
|
||||
getResultCss(result) {
|
||||
if (result === 1) {
|
||||
if (result === 1) { // 审批中
|
||||
return 'highlight-todo';
|
||||
} else if (result === 2) {
|
||||
} else if (result === 2) { // 已通过
|
||||
return 'highlight';
|
||||
} else if (result === 3) {
|
||||
} else if (result === 3) { // 不通过
|
||||
return 'highlight-reject';
|
||||
} else if (result === 4) {
|
||||
} else if (result === 4) { // 已取消
|
||||
return 'highlight-cancel';
|
||||
}
|
||||
return '';
|
||||
|
@ -45,6 +45,8 @@
|
||||
</router-link>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<!-- 审批记录 -->
|
||||
<el-card class="box-card" v-loading="tasksLoad">
|
||||
<div slot="header" class="clearfix">
|
||||
<span class="el-icon-picture-outline">审批记录</span>
|
||||
|
Loading…
Reference in New Issue
Block a user