@@ -45,7 +48,7 @@
+
diff --git a/src/views/bpm/simpleWorkflow/index.vue b/src/views/bpm/simpleWorkflow/index.vue
index 691cf2e5..df5073d4 100644
--- a/src/views/bpm/simpleWorkflow/index.vue
+++ b/src/views/bpm/simpleWorkflow/index.vue
@@ -1,5 +1,8 @@
-
+
+
+
+
+
+
diff --git a/src/views/bpm/processInstance/create/index_new.vue b/src/views/bpm/processInstance/create/index_new.vue
index 164e6cf2..097c5b40 100644
--- a/src/views/bpm/processInstance/create/index_new.vue
+++ b/src/views/bpm/processInstance/create/index_new.vue
@@ -43,86 +43,31 @@
-
-
-
- 申请信息【{{ selectProcessDefinition.name }}】
-
- 选择其它流程
-
-
-
-
-
-
-
- 指定审批人
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/src/components/SimpleProcessDesignerV2/src/SimpleProcessViewer.vue b/src/components/SimpleProcessDesignerV2/src/SimpleProcessViewer.vue
index e3181c40..e83c9e93 100644
--- a/src/components/SimpleProcessDesignerV2/src/SimpleProcessViewer.vue
+++ b/src/components/SimpleProcessDesignerV2/src/SimpleProcessViewer.vue
@@ -1,63 +1,25 @@
-
+
diff --git a/src/components/SimpleProcessDesignerV2/src/index.ts b/src/components/SimpleProcessDesignerV2/src/index.ts
index cacfbc12..88de07fb 100644
--- a/src/components/SimpleProcessDesignerV2/src/index.ts
+++ b/src/components/SimpleProcessDesignerV2/src/index.ts
@@ -2,4 +2,4 @@ import SimpleProcessDesigner from './SimpleProcessDesigner.vue'
import SimpleProcessViewer from './SimpleProcessViewer.vue'
import '../theme/simple-process-designer.scss'
-export { SimpleProcessDesigner, SimpleProcessViewer }
+export { SimpleProcessDesigner, SimpleProcessViewer}
diff --git a/src/components/SimpleProcessDesignerV2/theme/simple-process-designer.scss b/src/components/SimpleProcessDesignerV2/theme/simple-process-designer.scss
index c5b5710c..39c475d5 100644
--- a/src/components/SimpleProcessDesignerV2/theme/simple-process-designer.scss
+++ b/src/components/SimpleProcessDesignerV2/theme/simple-process-designer.scss
@@ -1,573 +1,573 @@
-.simple-flow-canvas {
- z-index: 1;
- overflow: auto;
- background-color: #fafafa;
- // user-select: none;
+// .simple-flow-canvas {
+// z-index: 1;
+// overflow: auto;
+// background-color: #fafafa;
+// // user-select: none;
- .simple-flow-container {
- position: relative;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
+// .simple-flow-container {
+// position: relative;
+// display: flex;
+// flex-direction: column;
+// justify-content: center;
+// align-items: center;
- .top-area-container {
- position: sticky;
- inset: 0;
- display: flex;
- width: 100%;
- height: 42px;
- z-index: 1;
- // padding: 4px 0;
- background-color: #fff;
- justify-content: flex-end;
- align-items: center;
+// .top-area-container {
+// position: sticky;
+// inset: 0;
+// display: flex;
+// width: 100%;
+// height: 42px;
+// z-index: 1;
+// // padding: 4px 0;
+// background-color: #fff;
+// justify-content: flex-end;
+// align-items: center;
- .top-actions {
- display: flex;
- margin: 4px;
- margin-right: 8px;
- align-items: center;
+// .top-actions {
+// display: flex;
+// margin: 4px;
+// margin-right: 8px;
+// align-items: center;
- .canvas-control {
- font-size: 16px;
+// .canvas-control {
+// font-size: 16px;
- .control-scale-group {
- display: inline-flex;
- align-items: center;
- margin-right: 8px;
+// .control-scale-group {
+// display: inline-flex;
+// align-items: center;
+// margin-right: 8px;
- .control-scale-button {
- display: inline-flex;
- width: 28px;
- height: 28px;
- padding: 2px;
- text-align: center;
- cursor: pointer;
- justify-content: center;
- align-items: center;
- }
+// .control-scale-button {
+// display: inline-flex;
+// width: 28px;
+// height: 28px;
+// padding: 2px;
+// text-align: center;
+// cursor: pointer;
+// justify-content: center;
+// align-items: center;
+// }
- .control-scale-label {
- margin: 0 4px;
- font-size: 14px;
- }
- }
- }
- }
- }
+// .control-scale-label {
+// margin: 0 4px;
+// font-size: 14px;
+// }
+// }
+// }
+// }
+// }
- .scale-container {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- margin-top: 16px;
- background-color: #fafafa;
- transform-origin: 50% 0 0;
- transform: scale(1);
- transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+// .scale-container {
+// display: flex;
+// flex-direction: column;
+// justify-content: center;
+// align-items: center;
+// margin-top: 16px;
+// background-color: #fafafa;
+// transform-origin: 50% 0 0;
+// transform: scale(1);
+// transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
- // 节点容器 定义节点宽度
- .node-container {
- width: 200px;
- }
- // 节点
- .node-box {
- position: relative;
- display: flex;
- min-height: 70px;
- padding: 5px 10px 8px;
- cursor: pointer;
- background-color: #fff;
- flex-direction: column;
- border: 2px solid transparent;
- border-radius: 8px;
- box-shadow: 0 1px 4px 0 rgba(10, 30, 65, 0.16);
- transition: all 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
+// // 节点容器 定义节点宽度
+// .node-container {
+// width: 200px;
+// }
+// // 节点
+// .node-box {
+// position: relative;
+// display: flex;
+// min-height: 70px;
+// padding: 5px 10px 8px;
+// cursor: pointer;
+// background-color: #fff;
+// flex-direction: column;
+// border: 2px solid transparent;
+// border-radius: 8px;
+// box-shadow: 0 1px 4px 0 rgba(10, 30, 65, 0.16);
+// transition: all 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
- &.status-pass {
- border-color: #67c23a;
- background-color: #a9da90;
- }
- &.status-pass:hover {
- border-color: #67c23a;
- }
- &.status-running {
- border-color: #5a9cf8;
- background-color: #e7f0fe;
- }
- &.status-running:hover {
- border-color: #5a9cf8;
- }
- &.status-reject {
- border-color: #e47470;
- background-color: #f6e5e5;
- }
- &.status-reject:hover {
- border-color: #e47470;
- }
+// &.status-pass {
+// border-color: #67c23a;
+// background-color: #a9da90;
+// }
+// &.status-pass:hover {
+// border-color: #67c23a;
+// }
+// &.status-running {
+// border-color: #5a9cf8;
+// background-color: #e7f0fe;
+// }
+// &.status-running:hover {
+// border-color: #5a9cf8;
+// }
+// &.status-reject {
+// border-color: #e47470;
+// background-color: #f6e5e5;
+// }
+// &.status-reject:hover {
+// border-color: #e47470;
+// }
- &:hover {
- border-color: #0089ff;
- .node-toolbar {
- opacity: 1;
- }
+// &:hover {
+// border-color: #0089ff;
+// .node-toolbar {
+// opacity: 1;
+// }
- .branch-node-move {
- display: flex;
- }
- }
+// .branch-node-move {
+// display: flex;
+// }
+// }
- // 普通节点标题
- .node-title-container {
- display: flex;
- padding: 4px;
- cursor: pointer;
- border-radius: 4px 4px 0 0;
- align-items: center;
+// // 普通节点标题
+// .node-title-container {
+// display: flex;
+// padding: 4px;
+// cursor: pointer;
+// border-radius: 4px 4px 0 0;
+// align-items: center;
- .node-title-icon {
- display: flex;
- align-items: center;
+// .node-title-icon {
+// display: flex;
+// align-items: center;
- &.user-task {
- color: #ff943e;
- }
- &.copy-task {
- color: #3296fa;
- }
- &.start-user {
- color: #676565;
- }
- }
+// &.user-task {
+// color: #ff943e;
+// }
+// &.copy-task {
+// color: #3296fa;
+// }
+// &.start-user {
+// color: #676565;
+// }
+// }
- .node-title {
- margin-left: 4px;
- font-size: 14px;
- font-weight: 600;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- color: #1f1f1f;
- line-height: 18px;
- &:hover {
- border-bottom: 1px dashed #f60;
- }
- }
- }
+// .node-title {
+// margin-left: 4px;
+// font-size: 14px;
+// font-weight: 600;
+// white-space: nowrap;
+// overflow: hidden;
+// text-overflow: ellipsis;
+// color: #1f1f1f;
+// line-height: 18px;
+// &:hover {
+// border-bottom: 1px dashed #f60;
+// }
+// }
+// }
- // 条件节点标题
- .branch-node-title-container {
- display: flex;
- padding: 4px 0;
- cursor: pointer;
- border-radius: 4px 4px 0 0;
- align-items: center;
- justify-content: space-between;
+// // 条件节点标题
+// .branch-node-title-container {
+// display: flex;
+// padding: 4px 0;
+// cursor: pointer;
+// border-radius: 4px 4px 0 0;
+// align-items: center;
+// justify-content: space-between;
- .input-max-width {
- max-width: 115px !important;
- }
+// .input-max-width {
+// max-width: 115px !important;
+// }
- .branch-title {
- font-size: 13px;
- font-weight: 600;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- color: #f60;
- &:hover {
- border-bottom: 1px dashed #000;
- }
- }
+// .branch-title {
+// font-size: 13px;
+// font-weight: 600;
+// white-space: nowrap;
+// overflow: hidden;
+// text-overflow: ellipsis;
+// color: #f60;
+// &:hover {
+// border-bottom: 1px dashed #000;
+// }
+// }
- .branch-priority {
- min-width: 50px;
- font-size: 12px;
- }
- }
+// .branch-priority {
+// min-width: 50px;
+// font-size: 12px;
+// }
+// }
- .node-content {
- display: flex;
- min-height: 32px;
- padding: 4px 8px;
- margin-top: 4px;
- line-height: 32px;
- justify-content: space-between;
- align-items: center;
- color: #111f2c;
- background: rgba(0, 0, 0, 0.03);
- border-radius: 4px;
+// .node-content {
+// display: flex;
+// min-height: 32px;
+// padding: 4px 8px;
+// margin-top: 4px;
+// line-height: 32px;
+// justify-content: space-between;
+// align-items: center;
+// color: #111f2c;
+// background: rgba(0, 0, 0, 0.03);
+// border-radius: 4px;
- .node-text {
- display: -webkit-box;
- overflow: hidden;
- font-size: 14px;
- line-height: 24px;
- text-overflow: ellipsis;
- word-break: break-all;
- -webkit-line-clamp: 2; /* 这将限制文本显示为两行 */
- -webkit-box-orient: vertical;
- }
- }
+// .node-text {
+// display: -webkit-box;
+// overflow: hidden;
+// font-size: 14px;
+// line-height: 24px;
+// text-overflow: ellipsis;
+// word-break: break-all;
+// -webkit-line-clamp: 2; /* 这将限制文本显示为两行 */
+// -webkit-box-orient: vertical;
+// }
+// }
- //条件节点内容
- .branch-node-content {
- display: flex;
- min-height: 32px;
- padding: 4px 0;
- margin-top: 4px;
- line-height: 32px;
- align-items: center;
- color: #111f2c;
- border-radius: 4px;
+// //条件节点内容
+// .branch-node-content {
+// display: flex;
+// min-height: 32px;
+// padding: 4px 0;
+// margin-top: 4px;
+// line-height: 32px;
+// align-items: center;
+// color: #111f2c;
+// border-radius: 4px;
- .branch-node-text {
- overflow: hidden;
- font-size: 12px;
- line-height: 24px;
- text-overflow: ellipsis;
- word-break: break-all;
- -webkit-line-clamp: 2; /* 这将限制文本显示为两行 */
- -webkit-box-orient: vertical;
- }
- }
+// .branch-node-text {
+// overflow: hidden;
+// font-size: 12px;
+// line-height: 24px;
+// text-overflow: ellipsis;
+// word-break: break-all;
+// -webkit-line-clamp: 2; /* 这将限制文本显示为两行 */
+// -webkit-box-orient: vertical;
+// }
+// }
- // 节点操作 :删除
- .node-toolbar {
- opacity: 0;
- position: absolute;
- top: -20px;
- right: 0px;
- display: flex;
+// // 节点操作 :删除
+// .node-toolbar {
+// opacity: 0;
+// position: absolute;
+// top: -20px;
+// right: 0px;
+// display: flex;
- .toolbar-icon {
- text-align: center;
- vertical-align: middle;
- }
- }
+// .toolbar-icon {
+// text-align: center;
+// vertical-align: middle;
+// }
+// }
- // 条件节点左右移动
- .branch-node-move {
- position: absolute;
- width: 10px;
- cursor: pointer;
- display: none;
- align-items: center;
- height: 100%;
- justify-content: center;
- }
+// // 条件节点左右移动
+// .branch-node-move {
+// position: absolute;
+// width: 10px;
+// cursor: pointer;
+// display: none;
+// align-items: center;
+// height: 100%;
+// justify-content: center;
+// }
- .move-node-left {
- left: -2px;
- top: 0px;
- background: rgba(126, 134, 142, 0.08);
- border-top-left-radius: 8px;
- border-bottom-left-radius: 8px;
- }
+// .move-node-left {
+// left: -2px;
+// top: 0px;
+// background: rgba(126, 134, 142, 0.08);
+// border-top-left-radius: 8px;
+// border-bottom-left-radius: 8px;
+// }
- .move-node-right {
- right: -2px;
- top: 0px;
- background: rgba(126, 134, 142, 0.08);
- border-top-right-radius: 6px;
- border-bottom-right-radius: 6px;
- }
- }
+// .move-node-right {
+// right: -2px;
+// top: 0px;
+// background: rgba(126, 134, 142, 0.08);
+// border-top-right-radius: 6px;
+// border-bottom-right-radius: 6px;
+// }
+// }
- .node-config-error {
- border-color: #ff5219 !important;
- }
- // 普通节点包装
- .node-wrapper {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- }
- // 节点连线处理
- .node-handler-wrapper {
- position: relative;
- display: flex;
- height: 70px;
- align-items: center;
- user-select: none;
- justify-content: center;
- flex-direction: column;
+// .node-config-error {
+// border-color: #ff5219 !important;
+// }
+// // 普通节点包装
+// .node-wrapper {
+// display: flex;
+// flex-direction: column;
+// justify-content: center;
+// align-items: center;
+// }
+// // 节点连线处理
+// .node-handler-wrapper {
+// position: relative;
+// display: flex;
+// height: 70px;
+// align-items: center;
+// user-select: none;
+// justify-content: center;
+// flex-direction: column;
- &::before {
- position: absolute;
- top:0;
- z-index: 0;
- width: 2px;
- height: 100%;
- margin: auto;
- background-color: #dedede;
- content: '';
- }
+// &::before {
+// position: absolute;
+// top: 0;
+// z-index: 0;
+// width: 2px;
+// height: 100%;
+// margin: auto;
+// background-color: #dedede;
+// content: '';
+// }
- .node-handler {
- .add-icon {
- position: relative;
- top: -5px;
- display: flex;
- align-items: center;
- justify-content: center;
- cursor: pointer;
- width: 25px;
- height: 25px;
- color: #fff;
- background-color: #0089ff;
- border-radius: 50%;
+// .node-handler {
+// .add-icon {
+// position: relative;
+// top: -5px;
+// display: flex;
+// align-items: center;
+// justify-content: center;
+// cursor: pointer;
+// width: 25px;
+// height: 25px;
+// color: #fff;
+// background-color: #0089ff;
+// border-radius: 50%;
- &:hover {
- transform: scale(1.1);
- }
- }
- }
+// &:hover {
+// transform: scale(1.1);
+// }
+// }
+// }
- .node-handler-arrow {
- position: absolute;
- bottom: 0;
- left: 50%;
- display: flex;
- transform: translateX(-50%);
- }
- }
+// .node-handler-arrow {
+// position: absolute;
+// bottom: 0;
+// left: 50%;
+// display: flex;
+// transform: translateX(-50%);
+// }
+// }
- // 条件节点包装
- .branch-node-wrapper {
- position: relative;
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- margin-top: 16px;
+// // 条件节点包装
+// .branch-node-wrapper {
+// position: relative;
+// display: flex;
+// flex-direction: column;
+// justify-content: center;
+// align-items: center;
+// margin-top: 16px;
- .branch-node-container {
- position: relative;
- display: flex;
+// .branch-node-container {
+// position: relative;
+// display: flex;
- &::before {
- position: absolute;
- height: 100%;
- width: 4px;
- background-color: #fafafa;
- content: '';
- left: 50%;
- transform: translate(-50%);
- }
+// &::before {
+// position: absolute;
+// height: 100%;
+// width: 4px;
+// background-color: #fafafa;
+// content: '';
+// left: 50%;
+// transform: translate(-50%);
+// }
- .branch-node-add {
- position: absolute;
- top: -18px;
- left: 50%;
- z-index: 1;
- height: 36px;
- padding: 0 10px;
- font-size: 12px;
- line-height: 36px;
- border: 2px solid #dedede;
- border-radius: 18px;
- transform: translateX(-50%);
- transform-origin: center center;
- }
+// .branch-node-add {
+// position: absolute;
+// top: -18px;
+// left: 50%;
+// z-index: 1;
+// height: 36px;
+// padding: 0 10px;
+// font-size: 12px;
+// line-height: 36px;
+// border: 2px solid #dedede;
+// border-radius: 18px;
+// transform: translateX(-50%);
+// transform-origin: center center;
+// }
- .branch-node-readonly {
- position: absolute;
- top: -18px;
- left: 50%;
- z-index: 1;
- width: 36px;
- height: 36px;
- display: flex;
- align-items: center;
- justify-content: center;
- border: 2px solid #dedede;
- background-color: #fff;
- border-radius: 50%;
- transform: translateX(-50%);
- transform-origin: center center;
-
- &.status-pass {
- border-color: #6bb63c;
- background-color: #e9f4e2;
- }
- &.status-pass:hover {
- border-color: #6bb63c;
- }
+// .branch-node-readonly {
+// position: absolute;
+// top: -18px;
+// left: 50%;
+// z-index: 1;
+// width: 36px;
+// height: 36px;
+// display: flex;
+// align-items: center;
+// justify-content: center;
+// border: 2px solid #dedede;
+// background-color: #fff;
+// border-radius: 50%;
+// transform: translateX(-50%);
+// transform-origin: center center;
- .icon-size {
- font-size: 22px;
- color: #67c23a;
- }
- }
+// &.status-pass {
+// border-color: #6bb63c;
+// background-color: #e9f4e2;
+// }
+// &.status-pass:hover {
+// border-color: #6bb63c;
+// }
- .branch-node-item {
- position: relative;
- display: flex;
- flex-direction: column;
- align-items: center;
- min-width: 280px;
- padding: 40px 40px 0;
- background: transparent;
- border-top: 2px solid #dedede;
- border-bottom: 2px solid #dedede;
+// .icon-size {
+// font-size: 22px;
+// color: #67c23a;
+// }
+// }
- &::before {
- position: absolute;
- width: 2px;
- height: 100%;
- margin: auto;
- inset: 0;
- background-color: #dedede;
- content: '';
- }
- }
- // 覆盖条件节点第一个节点左上角的线
- .branch-line-first-top {
- position: absolute;
- top: -5px;
- left: -1px;
- width: 50%;
- height: 7px;
- background-color: #fafafa;
- content: '';
- }
- // 覆盖条件节点第一个节点左下角的线
- .branch-line-first-bottom {
- position: absolute;
- bottom: -5px;
- left: -1px;
- width: 50%;
- height: 7px;
- background-color: #fafafa;
- content: '';
- }
- // 覆盖条件节点最后一个节点右上角的线
- .branch-line-last-top {
- position: absolute;
- top: -5px;
- right: -1px;
- width: 50%;
- height: 7px;
- background-color: #fafafa;
- content: '';
- }
- // 覆盖条件节点最后一个节点右下角的线
- .branch-line-last-bottom {
- position: absolute;
- right: -1px;
- bottom: -5px;
- width: 50%;
- height: 7px;
- background-color: #fafafa;
- content: '';
- }
- }
- }
+// .branch-node-item {
+// position: relative;
+// display: flex;
+// flex-direction: column;
+// align-items: center;
+// min-width: 280px;
+// padding: 40px 40px 0;
+// background: transparent;
+// border-top: 2px solid #dedede;
+// border-bottom: 2px solid #dedede;
- .node-fixed-name {
- display: inline-block;
- width: auto;
- padding: 0 4px;
- overflow: hidden;
- text-align: center;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- // 开始节点包装
- .start-node-wrapper {
- position: relative;
- margin-top: 16px;
+// &::before {
+// position: absolute;
+// width: 2px;
+// height: 100%;
+// margin: auto;
+// inset: 0;
+// background-color: #dedede;
+// content: '';
+// }
+// }
+// // 覆盖条件节点第一个节点左上角的线
+// .branch-line-first-top {
+// position: absolute;
+// top: -5px;
+// left: -1px;
+// width: 50%;
+// height: 7px;
+// background-color: #fafafa;
+// content: '';
+// }
+// // 覆盖条件节点第一个节点左下角的线
+// .branch-line-first-bottom {
+// position: absolute;
+// bottom: -5px;
+// left: -1px;
+// width: 50%;
+// height: 7px;
+// background-color: #fafafa;
+// content: '';
+// }
+// // 覆盖条件节点最后一个节点右上角的线
+// .branch-line-last-top {
+// position: absolute;
+// top: -5px;
+// right: -1px;
+// width: 50%;
+// height: 7px;
+// background-color: #fafafa;
+// content: '';
+// }
+// // 覆盖条件节点最后一个节点右下角的线
+// .branch-line-last-bottom {
+// position: absolute;
+// right: -1px;
+// bottom: -5px;
+// width: 50%;
+// height: 7px;
+// background-color: #fafafa;
+// content: '';
+// }
+// }
+// }
- .start-node-container {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
+// .node-fixed-name {
+// display: inline-block;
+// width: auto;
+// padding: 0 4px;
+// overflow: hidden;
+// text-align: center;
+// text-overflow: ellipsis;
+// white-space: nowrap;
+// }
+// // 开始节点包装
+// .start-node-wrapper {
+// position: relative;
+// margin-top: 16px;
- .start-node-box {
- display: flex;
- justify-content: center;
- align-items: center;
- width: 90px;
- height: 36px;
- padding: 3px 4px;
- color: #212121;
- cursor: pointer;
- background: #fafafa;
- border-radius: 30px;
- box-shadow: 0 1px 5px 0 rgba(10, 30, 65, 0.08);
- box-sizing: border-box;
- }
- }
- }
+// .start-node-container {
+// display: flex;
+// flex-direction: column;
+// justify-content: center;
+// align-items: center;
- // 结束节点包装
- .end-node-wrapper {
- margin-bottom: 16px;
+// .start-node-box {
+// display: flex;
+// justify-content: center;
+// align-items: center;
+// width: 90px;
+// height: 36px;
+// padding: 3px 4px;
+// color: #212121;
+// cursor: pointer;
+// background: #fafafa;
+// border-radius: 30px;
+// box-shadow: 0 1px 5px 0 rgba(10, 30, 65, 0.08);
+// box-sizing: border-box;
+// }
+// }
+// }
- .end-node-box {
- display: flex;
- justify-content: center;
- align-items: center;
- width: 80px;
- height: 36px;
- border: 2px solid #fafafa;
- color: #212121;
- border-radius: 30px;
- box-shadow: 0 1px 5px 0 rgba(10, 30, 65, 0.08);
- box-sizing: border-box;
+// // 结束节点包装
+// .end-node-wrapper {
+// margin-bottom: 16px;
- &.status-pass {
- border-color: #6bb63c;
- background-color: #a9da90;
- }
+// .end-node-box {
+// display: flex;
+// justify-content: center;
+// align-items: center;
+// width: 80px;
+// height: 36px;
+// border: 2px solid #fafafa;
+// color: #212121;
+// border-radius: 30px;
+// box-shadow: 0 1px 5px 0 rgba(10, 30, 65, 0.08);
+// box-sizing: border-box;
- &.status-pass:hover {
- border-color: #6bb63c;
- }
+// &.status-pass {
+// border-color: #6bb63c;
+// background-color: #a9da90;
+// }
- &.status-reject {
- border-color: #e47470;
- background-color: #f6e5e5;
- }
- &.status-reject:hover {
- border-color: #e47470;
- }
+// &.status-pass:hover {
+// border-color: #6bb63c;
+// }
- &.status-cancel {
- border-color: #919398;
- background-color: #eaeaeb
- }
- &.status-cancel:hover {
- border-color: #919398;
- }
- }
- }
+// &.status-reject {
+// border-color: #e47470;
+// background-color: #f6e5e5;
+// }
+// &.status-reject:hover {
+// border-color: #e47470;
+// }
- // 可编辑的 title 输入框
- .editable-title-input {
- height: 20px;
- max-width: 145px;
- line-height: 20px;
- font-size: 12px;
- margin-left: 4px;
- border: 1px solid #d9d9d9;
- border-radius: 4px;
- transition: all 0.3s;
+// &.status-cancel {
+// border-color: #919398;
+// background-color: #eaeaeb;
+// }
+// &.status-cancel:hover {
+// border-color: #919398;
+// }
+// }
+// }
- &:focus {
- border-color: #40a9ff;
- outline: 0;
- box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
- }
- }
- }
- }
-}
+// // 可编辑的 title 输入框
+// .editable-title-input {
+// height: 20px;
+// max-width: 145px;
+// line-height: 20px;
+// font-size: 12px;
+// margin-left: 4px;
+// border: 1px solid #d9d9d9;
+// border-radius: 4px;
+// transition: all 0.3s;
+
+// &:focus {
+// border-color: #40a9ff;
+// outline: 0;
+// box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
+// }
+// }
+// }
+// }
+// }
// 配置节点头部
.config-header {
@@ -740,6 +740,531 @@
}
}
+.simple-process-model-container {
+ height: 100%;
+ overflow: auto;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ padding-top: 16px;
+ background-color: #fafafa;
+ transform-origin: 50% 0 0;
+ transform: scale(1);
+ transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
+ background: url(@/assets/svgs/bpm/simple-process-bg.svg) 0 0 repeat;
+ // 节点容器 定义节点宽度
+ .node-container {
+ width: 200px;
+ }
+ // 节点
+ .node-box {
+ position: relative;
+ display: flex;
+ min-height: 70px;
+ padding: 5px 10px 8px;
+ cursor: pointer;
+ background-color: #fff;
+ flex-direction: column;
+ border: 2px solid transparent;
+ border-radius: 8px;
+ box-shadow: 0 1px 4px 0 rgb(10 30 65 / 16%);
+ transition: all 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
+
+ &.status-pass {
+ background-color: #a9da90;
+ border-color: #67c23a;
+ }
+
+ &.status-pass:hover {
+ border-color: #67c23a;
+ }
+
+ &.status-running {
+ background-color: #e7f0fe;
+ border-color: #5a9cf8;
+ }
+
+ &.status-running:hover {
+ border-color: #5a9cf8;
+ }
+
+ &.status-reject {
+ background-color: #f6e5e5;
+ border-color: #e47470;
+ }
+
+ &.status-reject:hover {
+ border-color: #e47470;
+ }
+
+ &:hover {
+ border-color: #0089ff;
+
+ .node-toolbar {
+ opacity: 1;
+ }
+
+ .branch-node-move {
+ display: flex;
+ }
+ }
+
+ // 普通节点标题
+ .node-title-container {
+ display: flex;
+ padding: 4px;
+ cursor: pointer;
+ border-radius: 4px 4px 0 0;
+ align-items: center;
+
+ .node-title-icon {
+ display: flex;
+ align-items: center;
+
+ &.user-task {
+ color: #ff943e;
+ }
+
+ &.copy-task {
+ color: #3296fa;
+ }
+
+ &.start-user {
+ color: #676565;
+ }
+ }
+
+ .node-title {
+ margin-left: 4px;
+ overflow: hidden;
+ font-size: 14px;
+ font-weight: 600;
+ line-height: 18px;
+ color: #1f1f1f;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+
+ &:hover {
+ border-bottom: 1px dashed #f60;
+ }
+ }
+ }
+
+ // 条件节点标题
+ .branch-node-title-container {
+ display: flex;
+ padding: 4px 0;
+ cursor: pointer;
+ border-radius: 4px 4px 0 0;
+ align-items: center;
+ justify-content: space-between;
+
+ .input-max-width {
+ max-width: 115px !important;
+ }
+
+ .branch-title {
+ overflow: hidden;
+ font-size: 13px;
+ font-weight: 600;
+ color: #f60;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+
+ &:hover {
+ border-bottom: 1px dashed #000;
+ }
+ }
+
+ .branch-priority {
+ min-width: 50px;
+ font-size: 12px;
+ }
+ }
+
+ .node-content {
+ display: flex;
+ min-height: 32px;
+ padding: 4px 8px;
+ margin-top: 4px;
+ line-height: 32px;
+ justify-content: space-between;
+ align-items: center;
+ color: #111f2c;
+ background: rgb(0 0 0 / 3%);
+ border-radius: 4px;
+
+ .node-text {
+ display: -webkit-box;
+ overflow: hidden;
+ font-size: 14px;
+ line-height: 24px;
+ text-overflow: ellipsis;
+ word-break: break-all;
+ -webkit-line-clamp: 2; /* 这将限制文本显示为两行 */
+ -webkit-box-orient: vertical;
+ }
+ }
+
+ //条件节点内容
+ .branch-node-content {
+ display: flex;
+ min-height: 32px;
+ padding: 4px 0;
+ margin-top: 4px;
+ line-height: 32px;
+ align-items: center;
+ color: #111f2c;
+ border-radius: 4px;
+
+ .branch-node-text {
+ overflow: hidden;
+ font-size: 12px;
+ line-height: 24px;
+ text-overflow: ellipsis;
+ word-break: break-all;
+ -webkit-line-clamp: 2; /* 这将限制文本显示为两行 */
+ -webkit-box-orient: vertical;
+ }
+ }
+
+ // 节点操作 :删除
+ .node-toolbar {
+ position: absolute;
+ top: -20px;
+ right: 0;
+ display: flex;
+ opacity: 0;
+
+ .toolbar-icon {
+ text-align: center;
+ vertical-align: middle;
+ }
+ }
+
+ // 条件节点左右移动
+ .branch-node-move {
+ position: absolute;
+ display: none;
+ width: 10px;
+ height: 100%;
+ cursor: pointer;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .move-node-left {
+ top: 0;
+ left: -2px;
+ background: rgb(126 134 142 / 8%);
+ border-bottom-left-radius: 8px;
+ border-top-left-radius: 8px;
+ }
+
+ .move-node-right {
+ top: 0;
+ right: -2px;
+ background: rgb(126 134 142 / 8%);
+ border-top-right-radius: 6px;
+ border-bottom-right-radius: 6px;
+ }
+ }
+
+ .node-config-error {
+ border-color: #ff5219 !important;
+ }
+ // 普通节点包装
+ .node-wrapper {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ }
+ // 节点连线处理
+ .node-handler-wrapper {
+ position: relative;
+ display: flex;
+ height: 70px;
+ align-items: center;
+ user-select: none;
+ justify-content: center;
+ flex-direction: column;
+
+ &::before {
+ position: absolute;
+ top: 0;
+ z-index: 0;
+ width: 2px;
+ height: 100%;
+ margin: auto;
+ background-color: #dedede;
+ content: '';
+ }
+
+ .node-handler {
+ .add-icon {
+ position: relative;
+ top: -5px;
+ display: flex;
+ width: 25px;
+ height: 25px;
+ color: #fff;
+ cursor: pointer;
+ background-color: #0089ff;
+ border-radius: 50%;
+ align-items: center;
+ justify-content: center;
+
+ &:hover {
+ transform: scale(1.1);
+ }
+ }
+ }
+
+ .node-handler-arrow {
+ position: absolute;
+ bottom: 0;
+ left: 50%;
+ display: flex;
+ transform: translateX(-50%);
+ }
+ }
+
+ // 条件节点包装
+ .branch-node-wrapper {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ margin-top: 16px;
+
+ .branch-node-container {
+ position: relative;
+ display: flex;
+
+ &::before {
+ position: absolute;
+ left: 50%;
+ width: 4px;
+ height: 100%;
+ background-color: #fafafa;
+ content: '';
+ transform: translate(-50%);
+ }
+
+ .branch-node-add {
+ position: absolute;
+ top: -18px;
+ left: 50%;
+ z-index: 1;
+ height: 36px;
+ padding: 0 10px;
+ font-size: 12px;
+ line-height: 36px;
+ border: 2px solid #dedede;
+ border-radius: 18px;
+ transform: translateX(-50%);
+ transform-origin: center center;
+ }
+
+ .branch-node-readonly {
+ position: absolute;
+ top: -18px;
+ left: 50%;
+ z-index: 1;
+ display: flex;
+ width: 36px;
+ height: 36px;
+ background-color: #fff;
+ border: 2px solid #dedede;
+ border-radius: 50%;
+ transform: translateX(-50%);
+ align-items: center;
+ justify-content: center;
+ transform-origin: center center;
+
+ &.status-pass {
+ background-color: #e9f4e2;
+ border-color: #6bb63c;
+ }
+
+ &.status-pass:hover {
+ border-color: #6bb63c;
+ }
+
+ .icon-size {
+ font-size: 22px;
+ color: #67c23a;
+ }
+ }
+
+ .branch-node-item {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ min-width: 280px;
+ padding: 40px 40px 0;
+ background: transparent;
+ border-top: 2px solid #dedede;
+ border-bottom: 2px solid #dedede;
+
+ &::before {
+ position: absolute;
+ width: 2px;
+ height: 100%;
+ margin: auto;
+ inset: 0;
+ background-color: #dedede;
+ content: '';
+ }
+ }
+ // 覆盖条件节点第一个节点左上角的线
+ .branch-line-first-top {
+ position: absolute;
+ top: -5px;
+ left: -1px;
+ width: 50%;
+ height: 7px;
+ background-color: #fafafa;
+ content: '';
+ }
+ // 覆盖条件节点第一个节点左下角的线
+ .branch-line-first-bottom {
+ position: absolute;
+ bottom: -5px;
+ left: -1px;
+ width: 50%;
+ height: 7px;
+ background-color: #fafafa;
+ content: '';
+ }
+ // 覆盖条件节点最后一个节点右上角的线
+ .branch-line-last-top {
+ position: absolute;
+ top: -5px;
+ right: -1px;
+ width: 50%;
+ height: 7px;
+ background-color: #fafafa;
+ content: '';
+ }
+ // 覆盖条件节点最后一个节点右下角的线
+ .branch-line-last-bottom {
+ position: absolute;
+ right: -1px;
+ bottom: -5px;
+ width: 50%;
+ height: 7px;
+ background-color: #fafafa;
+ content: '';
+ }
+ }
+ }
+
+ .node-fixed-name {
+ display: inline-block;
+ width: auto;
+ padding: 0 4px;
+ overflow: hidden;
+ text-align: center;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ // 开始节点包装
+ .start-node-wrapper {
+ position: relative;
+ margin-top: 16px;
+
+ .start-node-container {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+
+ .start-node-box {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width: 90px;
+ height: 36px;
+ padding: 3px 4px;
+ color: #212121;
+ cursor: pointer;
+ background: #fafafa;
+ border-radius: 30px;
+ box-shadow: 0 1px 5px 0 rgb(10 30 65 / 8%);
+ box-sizing: border-box;
+ }
+ }
+ }
+
+ // 结束节点包装
+ .end-node-wrapper {
+ margin-bottom: 16px;
+
+ .end-node-box {
+ display: flex;
+ width: 80px;
+ height: 36px;
+ color: #212121;
+ border: 2px solid #fafafa;
+ border-radius: 30px;
+ box-shadow: 0 1px 5px 0 rgb(10 30 65 / 8%);
+ box-sizing: border-box;
+ justify-content: center;
+ align-items: center;
+
+ &.status-pass {
+ background-color: #a9da90;
+ border-color: #6bb63c;
+ }
+
+ &.status-pass:hover {
+ border-color: #6bb63c;
+ }
+
+ &.status-reject {
+ background-color: #f6e5e5;
+ border-color: #e47470;
+ }
+
+ &.status-reject:hover {
+ border-color: #e47470;
+ }
+
+ &.status-cancel {
+ background-color: #eaeaeb;
+ border-color: #919398;
+ }
+
+ &.status-cancel:hover {
+ border-color: #919398;
+ }
+ }
+ }
+
+ // 可编辑的 title 输入框
+ .editable-title-input {
+ height: 20px;
+ max-width: 145px;
+ margin-left: 4px;
+ font-size: 12px;
+ line-height: 20px;
+ border: 1px solid #d9d9d9;
+ border-radius: 4px;
+ transition: all 0.3s;
+
+ &:focus {
+ border-color: #40a9ff;
+ outline: 0;
+ box-shadow: 0 0 0 2px rgb(24 144 255 / 20%);
+ }
+ }
+}
+
// iconfont 样式
@font-face {
font-family: 'iconfont'; /* Project id 4495938 */
diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts
index a61fd166..f0ce322e 100644
--- a/src/router/modules/remaining.ts
+++ b/src/router/modules/remaining.ts
@@ -267,9 +267,9 @@ const remainingRouter: AppRouteRecordRaw[] = [
}
},
{
- path: 'manager/simple/workflow/model/edit',
- component: () => import('@/views/bpm/simpleWorkflow/index.vue'),
- name: 'SimpleWorkflowDesignEditor',
+ path: 'manager/simple/model',
+ component: () => import('@/views/bpm/simple/SimpleModelDesign.vue'),
+ name: 'SimpleModelDesign',
meta: {
noCache: true,
hidden: true,
diff --git a/src/views/bpm/model/CategoryDraggableModel.vue b/src/views/bpm/model/CategoryDraggableModel.vue
index c6c87da5..75a2d55d 100644
--- a/src/views/bpm/model/CategoryDraggableModel.vue
+++ b/src/views/bpm/model/CategoryDraggableModel.vue
@@ -342,7 +342,7 @@ const handleDesign = (row: any) => {
})
} else {
push({
- name: 'SimpleWorkflowDesignEditor',
+ name: 'SimpleModelDesign',
query: {
modelId: row.id
}
@@ -492,9 +492,11 @@ watch(
diff --git a/src/views/bpm/model/index_old.vue b/src/views/bpm/model/index_old.vue
index 4534ec61..8b5f84df 100644
--- a/src/views/bpm/model/index_old.vue
+++ b/src/views/bpm/model/index_old.vue
@@ -338,7 +338,7 @@ const handleDesign = (row: any) => {
})
} else {
push({
- name: 'SimpleWorkflowDesignEditor',
+ name: 'SimpleModelDesign',
query: {
modelId: row.id
}
diff --git a/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue b/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue
index 29ea24dd..6ec91a09 100644
--- a/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue
+++ b/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue
@@ -1,12 +1,11 @@
-
-
-
+
+
+
-
diff --git a/src/views/bpm/processInstance/detail/index.vue b/src/views/bpm/processInstance/detail/index.vue
index 6a1d7425..6fe4565e 100644
--- a/src/views/bpm/processInstance/detail/index.vue
+++ b/src/views/bpm/processInstance/detail/index.vue
@@ -75,11 +75,14 @@
@@ -122,11 +125,13 @@
From 9b290ae3ce6ff6fdd3b487c15456afadfc14b7fb Mon Sep 17 00:00:00 2001
From: preschooler
Date: Tue, 29 Oct 2024 12:35:44 +0800
Subject: [PATCH 048/126] =?UTF-8?q?=F0=9F=90=9E=20fix:=E4=BF=AE=E5=A4=8D?=
=?UTF-8?q?=E4=BB=8E=E2=80=9C=E5=90=8C=E6=97=B6=E4=BD=BF=E7=94=A8=E4=BA=86?=
=?UTF-8?q?=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF=E5=92=8C=E6=9D=83=E9=99=90?=
=?UTF-8?q?=E5=88=A4=E6=96=AD=E2=80=9D=E7=9A=84=E9=A1=B5=E9=9D=A2=E9=80=80?=
=?UTF-8?q?=E5=87=BA=E7=99=BB=E5=BD=95=E6=97=B6=E5=BC=82=E5=B8=B8=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/directives/permission/hasPermi.ts | 3 ++-
src/directives/permission/hasRole.ts | 3 ++-
src/store/modules/permission.ts | 5 +++--
src/utils/auth.ts | 3 ++-
src/utils/permission.ts | 10 ++++++----
5 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/src/directives/permission/hasPermi.ts b/src/directives/permission/hasPermi.ts
index d86d2f54..931f44b3 100644
--- a/src/directives/permission/hasPermi.ts
+++ b/src/directives/permission/hasPermi.ts
@@ -8,7 +8,8 @@ export function hasPermi(app: App) {
const { wsCache } = useCache()
const { value } = binding
const all_permission = '*:*:*'
- const permissions = wsCache.get(CACHE_KEY.USER).permissions
+ const userInfo = wsCache.get(CACHE_KEY.USER)
+ const permissions = userInfo?.permissions || []
if (value && value instanceof Array && value.length > 0) {
const permissionFlag = value
diff --git a/src/directives/permission/hasRole.ts b/src/directives/permission/hasRole.ts
index a5de2b8d..a5128112 100644
--- a/src/directives/permission/hasRole.ts
+++ b/src/directives/permission/hasRole.ts
@@ -8,7 +8,8 @@ export function hasRole(app: App) {
const { wsCache } = useCache()
const { value } = binding
const super_admin = 'super_admin'
- const roles = wsCache.get(CACHE_KEY.USER).roles
+ const userInfo = wsCache.get(CACHE_KEY.USER)
+ const roles = userInfo?.roles || []
if (value && value instanceof Array && value.length > 0) {
const roleFlag = value
diff --git a/src/store/modules/permission.ts b/src/store/modules/permission.ts
index fc927f42..2ff8111a 100644
--- a/src/store/modules/permission.ts
+++ b/src/store/modules/permission.ts
@@ -35,8 +35,9 @@ export const usePermissionStore = defineStore('permission', {
return new Promise(async (resolve) => {
// 获得菜单列表,它在登录的时候,setUserInfoAction 方法中已经进行获取
let res: AppCustomRouteRecordRaw[] = []
- if (wsCache.get(CACHE_KEY.ROLE_ROUTERS)) {
- res = wsCache.get(CACHE_KEY.ROLE_ROUTERS) as AppCustomRouteRecordRaw[]
+ const roleRouters = wsCache.get(CACHE_KEY.ROLE_ROUTERS)
+ if (roleRouters) {
+ res = roleRouters as AppCustomRouteRecordRaw[]
}
const routerMap: AppRouteRecordRaw[] = generateRoute(res)
// 动态路由,404一定要放到最后面
diff --git a/src/utils/auth.ts b/src/utils/auth.ts
index c68a67a9..d9e85650 100644
--- a/src/utils/auth.ts
+++ b/src/utils/auth.ts
@@ -10,7 +10,8 @@ const RefreshTokenKey = 'REFRESH_TOKEN'
// 获取token
export const getAccessToken = () => {
// 此处与TokenKey相同,此写法解决初始化时Cookies中不存在TokenKey报错
- return wsCache.get(AccessTokenKey) ? wsCache.get(AccessTokenKey) : wsCache.get('ACCESS_TOKEN')
+ const accessToken = wsCache.get(AccessTokenKey)
+ return accessToken ? accessToken : wsCache.get('ACCESS_TOKEN')
}
// 刷新token
diff --git a/src/utils/permission.ts b/src/utils/permission.ts
index f6077d1a..3bf67b61 100644
--- a/src/utils/permission.ts
+++ b/src/utils/permission.ts
@@ -12,8 +12,9 @@ export function checkPermi(value: string[]) {
const { wsCache } = useCache()
const permissionDatas = value
const all_permission = '*:*:*'
- const permissions = wsCache.get(CACHE_KEY.USER).permissions
- const hasPermission = permissions.some((permission) => {
+ const userInfo = wsCache.get(CACHE_KEY.USER)
+ const permissions = userInfo?.permissions || []
+ const hasPermission = permissions.some((permission: string) => {
return all_permission === permission || permissionDatas.includes(permission)
})
return !!hasPermission
@@ -33,8 +34,9 @@ export function checkRole(value: string[]) {
const { wsCache } = useCache()
const permissionRoles = value
const super_admin = 'super_admin'
- const roles = wsCache.get(CACHE_KEY.USER).roles
- const hasRole = roles.some((role) => {
+ const userInfo = wsCache.get(CACHE_KEY.USER)
+ const roles = userInfo?.roles || []
+ const hasRole = roles.some((role: string) => {
return super_admin === role || permissionRoles.includes(role)
})
return !!hasRole
From a57840c8043a2c219fedd6e6519e3e4105129930 Mon Sep 17 00:00:00 2001
From: GoldenZqqq <1361001127@qq.com>
Date: Tue, 29 Oct 2024 16:32:08 +0800
Subject: [PATCH 049/126] =?UTF-8?q?feat:=20=E5=8F=91=E8=B5=B7=E6=B5=81?=
=?UTF-8?q?=E7=A8=8B=E9=A1=B5=E9=9D=A2-=E6=B5=81=E7=A8=8B=E6=97=B6?=
=?UTF-8?q?=E9=97=B4=E7=BA=BF=E7=9A=84=E6=95=B0=E6=8D=AE=E8=8E=B7=E5=8F=96?=
=?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=81=94=E8=B0=83=E4=B8=8E=E5=B1=95=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/assets/svgs/bpm/finish.svg | 1 +
.../create/ProcessDefinitionDetail.vue | 41 +++++-
.../bpm/processInstance/create/index_new.vue | 5 -
src/views/bpm/processInstance/create/mock.js | 117 ------------------
.../detail/ProcessInstanceTimeline.vue | 16 ++-
5 files changed, 50 insertions(+), 130 deletions(-)
create mode 100644 src/assets/svgs/bpm/finish.svg
delete mode 100644 src/views/bpm/processInstance/create/mock.js
diff --git a/src/assets/svgs/bpm/finish.svg b/src/assets/svgs/bpm/finish.svg
new file mode 100644
index 00000000..674c6df6
--- /dev/null
+++ b/src/assets/svgs/bpm/finish.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue b/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue
index 19962c86..e56c75e3 100644
--- a/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue
+++ b/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue
@@ -61,9 +61,14 @@
-
-
-
+
+
+
@@ -82,6 +87,7 @@
@@ -99,6 +105,7 @@
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes/ExclusiveNode.vue b/src/components/SimpleProcessDesignerV2/src/nodes/ExclusiveNode.vue
index 9d307acc..32e9bbd4 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes/ExclusiveNode.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes/ExclusiveNode.vue
@@ -1,8 +1,8 @@
-
-
+
+
添加条件('readonly')
const currentNode = ref
(props.flowNode)
-// 节点状态样式
-const taskStatusClass = useTaskStatusClass(currentNode.value?.activityStatus)
-
watch(
() => props.flowNode,
(newValue) => {
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes/InclusiveNode.vue b/src/components/SimpleProcessDesignerV2/src/nodes/InclusiveNode.vue
index 830a4d43..bc388751 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes/InclusiveNode.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes/InclusiveNode.vue
@@ -1,8 +1,8 @@
-
-
+
+
添加条件
-
+
-
-
+
+
添加分支
-
+
()
// 监控节点变化
const currentNode = useWatchNode(props)
-// 节点任务状态样式
-const taskStatusClass = useTaskStatusClass(currentNode.value?.activityStatus)
// 节点名称编辑
const { showInput, blurEvent, clickTitle } = useNodeName2(currentNode, NodeType.START_USER_NODE)
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes/UserTaskNode.vue b/src/components/SimpleProcessDesignerV2/src/nodes/UserTaskNode.vue
index ea4a4b8d..75440067 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes/UserTaskNode.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes/UserTaskNode.vue
@@ -3,7 +3,7 @@
@@ -69,8 +69,7 @@ const emits = defineEmits<{
const readonly = inject
('readonly')
// 监控节点变化
const currentNode = useWatchNode(props)
-// 节点状态样式
-const taskStatusClass = useTaskStatusClass(currentNode.value?.activityStatus)
+
// 节点名称编辑
const { showInput, blurEvent, clickTitle } = useNodeName2(currentNode, NodeType.START_USER_NODE)
const nodeSetting = ref()
diff --git a/src/components/SimpleProcessDesignerV2/theme/simple-process-designer.scss b/src/components/SimpleProcessDesignerV2/theme/simple-process-designer.scss
index 39c475d5..1219380f 100644
--- a/src/components/SimpleProcessDesignerV2/theme/simple-process-designer.scss
+++ b/src/components/SimpleProcessDesignerV2/theme/simple-process-designer.scss
@@ -1096,7 +1096,15 @@
.icon-size {
font-size: 22px;
- color: #67c23a;
+ &.condition {
+ color: #67c23a;
+ }
+ &.parallel {
+ color: #626aef;
+ }
+ &.inclusive {
+ color: #345da2;
+ }
}
}
From 8465f8fada9d496b3545fd9ef3e898305f0e462a Mon Sep 17 00:00:00 2001
From: jason <2667446@qq.com>
Date: Tue, 29 Oct 2024 23:54:51 +0800
Subject: [PATCH 051/126] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E5=AE=8C?=
=?UTF-8?q?=E5=96=84=E3=80=91=E4=BB=BF=E9=92=89=E9=92=89=E6=B5=81=E7=A8=8B?=
=?UTF-8?q?=E6=A8=A1=E5=9E=8B=E6=B5=8F=E8=A7=88=EF=BC=8C=E5=A2=9E=E5=8A=A0?=
=?UTF-8?q?=E5=BC=B9=E7=AA=97=E6=98=BE=E7=A4=BA=E7=94=A8=E6=88=B7=E4=BB=BB?=
=?UTF-8?q?=E5=8A=A1=E4=BF=A1=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/SimpleProcessViewer.vue | 29 +-
.../src/nodes/EndEventNode.vue | 81 ++-
.../src/nodes/StartUserNode.vue | 93 ++-
.../src/nodes/UserTaskNode.vue | 98 ++-
.../theme/simple-process-designer.scss | 572 +-----------------
.../detail/ProcessInstanceSimpleViewer.vue | 20 +-
6 files changed, 287 insertions(+), 606 deletions(-)
diff --git a/src/components/SimpleProcessDesignerV2/src/SimpleProcessViewer.vue b/src/components/SimpleProcessDesignerV2/src/SimpleProcessViewer.vue
index e83c9e93..abf73b48 100644
--- a/src/components/SimpleProcessDesignerV2/src/SimpleProcessViewer.vue
+++ b/src/components/SimpleProcessDesignerV2/src/SimpleProcessViewer.vue
@@ -1,5 +1,5 @@
-
+
+p
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes/EndEventNode.vue b/src/components/SimpleProcessDesignerV2/src/nodes/EndEventNode.vue
index 3652b0e7..63aa24e4 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes/EndEventNode.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes/EndEventNode.vue
@@ -1,14 +1,69 @@
-
+
+
+
+
+
+
+
+ {{ scope.row.assigneeUser?.deptName || scope.row.ownerUser?.deptName }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ formatPast2(scope.row.durationInMillis) }}
+
+
+
+
+
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes/StartUserNode.vue b/src/components/SimpleProcessDesignerV2/src/nodes/StartUserNode.vue
index 3fab63d9..7c24e6c6 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes/StartUserNode.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes/StartUserNode.vue
@@ -22,7 +22,7 @@
{{ currentNode.name }}
-
+
{{ currentNode.showText }}
@@ -37,12 +37,78 @@
+
+
+
+
+
+
+
+ {{ scope.row.assigneeUser?.nickname || scope.row.ownerUser?.nickname }}
+
+
+
+
+
+ {{ scope.row.assigneeUser?.deptName || scope.row.ownerUser?.deptName }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ formatPast2(scope.row.durationInMillis) }}
+
+
+
+
+
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes/UserTaskNode.vue b/src/components/SimpleProcessDesignerV2/src/nodes/UserTaskNode.vue
index 75440067..ce8d0ebe 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes/UserTaskNode.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes/UserTaskNode.vue
@@ -20,7 +20,7 @@
{{ currentNode.name }}
-
+
{{ currentNode.showText }}
@@ -45,12 +45,78 @@
:flow-node="currentNode"
@find:return-task-nodes="findReturnTaskNodes"
/>
+
+
+
+
+
+
+
+ {{ scope.row.assigneeUser?.nickname || scope.row.ownerUser?.nickname }}
+
+
+
+
+
+ {{ scope.row.assigneeUser?.deptName || scope.row.ownerUser?.deptName }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ formatPast2(scope.row.durationInMillis) }}
+
+
+
+
+
diff --git a/src/components/SimpleProcessDesignerV2/theme/simple-process-designer.scss b/src/components/SimpleProcessDesignerV2/theme/simple-process-designer.scss
index 1219380f..91cf42ec 100644
--- a/src/components/SimpleProcessDesignerV2/theme/simple-process-designer.scss
+++ b/src/components/SimpleProcessDesignerV2/theme/simple-process-designer.scss
@@ -1,573 +1,3 @@
-// .simple-flow-canvas {
-// z-index: 1;
-// overflow: auto;
-// background-color: #fafafa;
-// // user-select: none;
-
-// .simple-flow-container {
-// position: relative;
-// display: flex;
-// flex-direction: column;
-// justify-content: center;
-// align-items: center;
-
-// .top-area-container {
-// position: sticky;
-// inset: 0;
-// display: flex;
-// width: 100%;
-// height: 42px;
-// z-index: 1;
-// // padding: 4px 0;
-// background-color: #fff;
-// justify-content: flex-end;
-// align-items: center;
-
-// .top-actions {
-// display: flex;
-// margin: 4px;
-// margin-right: 8px;
-// align-items: center;
-
-// .canvas-control {
-// font-size: 16px;
-
-// .control-scale-group {
-// display: inline-flex;
-// align-items: center;
-// margin-right: 8px;
-
-// .control-scale-button {
-// display: inline-flex;
-// width: 28px;
-// height: 28px;
-// padding: 2px;
-// text-align: center;
-// cursor: pointer;
-// justify-content: center;
-// align-items: center;
-// }
-
-// .control-scale-label {
-// margin: 0 4px;
-// font-size: 14px;
-// }
-// }
-// }
-// }
-// }
-
-// .scale-container {
-// display: flex;
-// flex-direction: column;
-// justify-content: center;
-// align-items: center;
-// margin-top: 16px;
-// background-color: #fafafa;
-// transform-origin: 50% 0 0;
-// transform: scale(1);
-// transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
-
-// // 节点容器 定义节点宽度
-// .node-container {
-// width: 200px;
-// }
-// // 节点
-// .node-box {
-// position: relative;
-// display: flex;
-// min-height: 70px;
-// padding: 5px 10px 8px;
-// cursor: pointer;
-// background-color: #fff;
-// flex-direction: column;
-// border: 2px solid transparent;
-// border-radius: 8px;
-// box-shadow: 0 1px 4px 0 rgba(10, 30, 65, 0.16);
-// transition: all 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
-
-// &.status-pass {
-// border-color: #67c23a;
-// background-color: #a9da90;
-// }
-// &.status-pass:hover {
-// border-color: #67c23a;
-// }
-// &.status-running {
-// border-color: #5a9cf8;
-// background-color: #e7f0fe;
-// }
-// &.status-running:hover {
-// border-color: #5a9cf8;
-// }
-// &.status-reject {
-// border-color: #e47470;
-// background-color: #f6e5e5;
-// }
-// &.status-reject:hover {
-// border-color: #e47470;
-// }
-
-// &:hover {
-// border-color: #0089ff;
-// .node-toolbar {
-// opacity: 1;
-// }
-
-// .branch-node-move {
-// display: flex;
-// }
-// }
-
-// // 普通节点标题
-// .node-title-container {
-// display: flex;
-// padding: 4px;
-// cursor: pointer;
-// border-radius: 4px 4px 0 0;
-// align-items: center;
-
-// .node-title-icon {
-// display: flex;
-// align-items: center;
-
-// &.user-task {
-// color: #ff943e;
-// }
-// &.copy-task {
-// color: #3296fa;
-// }
-// &.start-user {
-// color: #676565;
-// }
-// }
-
-// .node-title {
-// margin-left: 4px;
-// font-size: 14px;
-// font-weight: 600;
-// white-space: nowrap;
-// overflow: hidden;
-// text-overflow: ellipsis;
-// color: #1f1f1f;
-// line-height: 18px;
-// &:hover {
-// border-bottom: 1px dashed #f60;
-// }
-// }
-// }
-
-// // 条件节点标题
-// .branch-node-title-container {
-// display: flex;
-// padding: 4px 0;
-// cursor: pointer;
-// border-radius: 4px 4px 0 0;
-// align-items: center;
-// justify-content: space-between;
-
-// .input-max-width {
-// max-width: 115px !important;
-// }
-
-// .branch-title {
-// font-size: 13px;
-// font-weight: 600;
-// white-space: nowrap;
-// overflow: hidden;
-// text-overflow: ellipsis;
-// color: #f60;
-// &:hover {
-// border-bottom: 1px dashed #000;
-// }
-// }
-
-// .branch-priority {
-// min-width: 50px;
-// font-size: 12px;
-// }
-// }
-
-// .node-content {
-// display: flex;
-// min-height: 32px;
-// padding: 4px 8px;
-// margin-top: 4px;
-// line-height: 32px;
-// justify-content: space-between;
-// align-items: center;
-// color: #111f2c;
-// background: rgba(0, 0, 0, 0.03);
-// border-radius: 4px;
-
-// .node-text {
-// display: -webkit-box;
-// overflow: hidden;
-// font-size: 14px;
-// line-height: 24px;
-// text-overflow: ellipsis;
-// word-break: break-all;
-// -webkit-line-clamp: 2; /* 这将限制文本显示为两行 */
-// -webkit-box-orient: vertical;
-// }
-// }
-
-// //条件节点内容
-// .branch-node-content {
-// display: flex;
-// min-height: 32px;
-// padding: 4px 0;
-// margin-top: 4px;
-// line-height: 32px;
-// align-items: center;
-// color: #111f2c;
-// border-radius: 4px;
-
-// .branch-node-text {
-// overflow: hidden;
-// font-size: 12px;
-// line-height: 24px;
-// text-overflow: ellipsis;
-// word-break: break-all;
-// -webkit-line-clamp: 2; /* 这将限制文本显示为两行 */
-// -webkit-box-orient: vertical;
-// }
-// }
-
-// // 节点操作 :删除
-// .node-toolbar {
-// opacity: 0;
-// position: absolute;
-// top: -20px;
-// right: 0px;
-// display: flex;
-
-// .toolbar-icon {
-// text-align: center;
-// vertical-align: middle;
-// }
-// }
-
-// // 条件节点左右移动
-// .branch-node-move {
-// position: absolute;
-// width: 10px;
-// cursor: pointer;
-// display: none;
-// align-items: center;
-// height: 100%;
-// justify-content: center;
-// }
-
-// .move-node-left {
-// left: -2px;
-// top: 0px;
-// background: rgba(126, 134, 142, 0.08);
-// border-top-left-radius: 8px;
-// border-bottom-left-radius: 8px;
-// }
-
-// .move-node-right {
-// right: -2px;
-// top: 0px;
-// background: rgba(126, 134, 142, 0.08);
-// border-top-right-radius: 6px;
-// border-bottom-right-radius: 6px;
-// }
-// }
-
-// .node-config-error {
-// border-color: #ff5219 !important;
-// }
-// // 普通节点包装
-// .node-wrapper {
-// display: flex;
-// flex-direction: column;
-// justify-content: center;
-// align-items: center;
-// }
-// // 节点连线处理
-// .node-handler-wrapper {
-// position: relative;
-// display: flex;
-// height: 70px;
-// align-items: center;
-// user-select: none;
-// justify-content: center;
-// flex-direction: column;
-
-// &::before {
-// position: absolute;
-// top: 0;
-// z-index: 0;
-// width: 2px;
-// height: 100%;
-// margin: auto;
-// background-color: #dedede;
-// content: '';
-// }
-
-// .node-handler {
-// .add-icon {
-// position: relative;
-// top: -5px;
-// display: flex;
-// align-items: center;
-// justify-content: center;
-// cursor: pointer;
-// width: 25px;
-// height: 25px;
-// color: #fff;
-// background-color: #0089ff;
-// border-radius: 50%;
-
-// &:hover {
-// transform: scale(1.1);
-// }
-// }
-// }
-
-// .node-handler-arrow {
-// position: absolute;
-// bottom: 0;
-// left: 50%;
-// display: flex;
-// transform: translateX(-50%);
-// }
-// }
-
-// // 条件节点包装
-// .branch-node-wrapper {
-// position: relative;
-// display: flex;
-// flex-direction: column;
-// justify-content: center;
-// align-items: center;
-// margin-top: 16px;
-
-// .branch-node-container {
-// position: relative;
-// display: flex;
-
-// &::before {
-// position: absolute;
-// height: 100%;
-// width: 4px;
-// background-color: #fafafa;
-// content: '';
-// left: 50%;
-// transform: translate(-50%);
-// }
-
-// .branch-node-add {
-// position: absolute;
-// top: -18px;
-// left: 50%;
-// z-index: 1;
-// height: 36px;
-// padding: 0 10px;
-// font-size: 12px;
-// line-height: 36px;
-// border: 2px solid #dedede;
-// border-radius: 18px;
-// transform: translateX(-50%);
-// transform-origin: center center;
-// }
-
-// .branch-node-readonly {
-// position: absolute;
-// top: -18px;
-// left: 50%;
-// z-index: 1;
-// width: 36px;
-// height: 36px;
-// display: flex;
-// align-items: center;
-// justify-content: center;
-// border: 2px solid #dedede;
-// background-color: #fff;
-// border-radius: 50%;
-// transform: translateX(-50%);
-// transform-origin: center center;
-
-// &.status-pass {
-// border-color: #6bb63c;
-// background-color: #e9f4e2;
-// }
-// &.status-pass:hover {
-// border-color: #6bb63c;
-// }
-
-// .icon-size {
-// font-size: 22px;
-// color: #67c23a;
-// }
-// }
-
-// .branch-node-item {
-// position: relative;
-// display: flex;
-// flex-direction: column;
-// align-items: center;
-// min-width: 280px;
-// padding: 40px 40px 0;
-// background: transparent;
-// border-top: 2px solid #dedede;
-// border-bottom: 2px solid #dedede;
-
-// &::before {
-// position: absolute;
-// width: 2px;
-// height: 100%;
-// margin: auto;
-// inset: 0;
-// background-color: #dedede;
-// content: '';
-// }
-// }
-// // 覆盖条件节点第一个节点左上角的线
-// .branch-line-first-top {
-// position: absolute;
-// top: -5px;
-// left: -1px;
-// width: 50%;
-// height: 7px;
-// background-color: #fafafa;
-// content: '';
-// }
-// // 覆盖条件节点第一个节点左下角的线
-// .branch-line-first-bottom {
-// position: absolute;
-// bottom: -5px;
-// left: -1px;
-// width: 50%;
-// height: 7px;
-// background-color: #fafafa;
-// content: '';
-// }
-// // 覆盖条件节点最后一个节点右上角的线
-// .branch-line-last-top {
-// position: absolute;
-// top: -5px;
-// right: -1px;
-// width: 50%;
-// height: 7px;
-// background-color: #fafafa;
-// content: '';
-// }
-// // 覆盖条件节点最后一个节点右下角的线
-// .branch-line-last-bottom {
-// position: absolute;
-// right: -1px;
-// bottom: -5px;
-// width: 50%;
-// height: 7px;
-// background-color: #fafafa;
-// content: '';
-// }
-// }
-// }
-
-// .node-fixed-name {
-// display: inline-block;
-// width: auto;
-// padding: 0 4px;
-// overflow: hidden;
-// text-align: center;
-// text-overflow: ellipsis;
-// white-space: nowrap;
-// }
-// // 开始节点包装
-// .start-node-wrapper {
-// position: relative;
-// margin-top: 16px;
-
-// .start-node-container {
-// display: flex;
-// flex-direction: column;
-// justify-content: center;
-// align-items: center;
-
-// .start-node-box {
-// display: flex;
-// justify-content: center;
-// align-items: center;
-// width: 90px;
-// height: 36px;
-// padding: 3px 4px;
-// color: #212121;
-// cursor: pointer;
-// background: #fafafa;
-// border-radius: 30px;
-// box-shadow: 0 1px 5px 0 rgba(10, 30, 65, 0.08);
-// box-sizing: border-box;
-// }
-// }
-// }
-
-// // 结束节点包装
-// .end-node-wrapper {
-// margin-bottom: 16px;
-
-// .end-node-box {
-// display: flex;
-// justify-content: center;
-// align-items: center;
-// width: 80px;
-// height: 36px;
-// border: 2px solid #fafafa;
-// color: #212121;
-// border-radius: 30px;
-// box-shadow: 0 1px 5px 0 rgba(10, 30, 65, 0.08);
-// box-sizing: border-box;
-
-// &.status-pass {
-// border-color: #6bb63c;
-// background-color: #a9da90;
-// }
-
-// &.status-pass:hover {
-// border-color: #6bb63c;
-// }
-
-// &.status-reject {
-// border-color: #e47470;
-// background-color: #f6e5e5;
-// }
-// &.status-reject:hover {
-// border-color: #e47470;
-// }
-
-// &.status-cancel {
-// border-color: #919398;
-// background-color: #eaeaeb;
-// }
-// &.status-cancel:hover {
-// border-color: #919398;
-// }
-// }
-// }
-
-// // 可编辑的 title 输入框
-// .editable-title-input {
-// height: 20px;
-// max-width: 145px;
-// line-height: 20px;
-// font-size: 12px;
-// margin-left: 4px;
-// border: 1px solid #d9d9d9;
-// border-radius: 4px;
-// transition: all 0.3s;
-
-// &:focus {
-// border-color: #40a9ff;
-// outline: 0;
-// box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
-// }
-// }
-// }
-// }
-// }
// 配置节点头部
.config-header {
@@ -739,7 +169,7 @@
font-size: 13px;
}
}
-
+// Simple 流程模型样式
.simple-process-model-container {
height: 100%;
overflow: auto;
diff --git a/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue b/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue
index 6ec91a09..0e225106 100644
--- a/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue
+++ b/src/views/bpm/processInstance/detail/ProcessInstanceSimpleViewer.vue
@@ -1,6 +1,6 @@
-
+
From 812e5b5865a7292aab243b5a6c4b0861ad91150b Mon Sep 17 00:00:00 2001
From: YunaiV
Date: Thu, 31 Oct 2024 22:47:10 +0800
Subject: [PATCH 052/126] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D=E3=80=91=E5=B7=A5=E4=BD=9C=E6=B5=81=EF=BC=9A=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D=E6=B5=81=E7=A8=8B=E9=A2=84=E6=B5=8B=E7=9A=84=20candid?=
=?UTF-8?q?ateUsers=20=E5=B1=95=E7=A4=BA=E4=B8=8D=E6=AD=A3=E7=A1=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../detail/ProcessInstanceOperationButton.vue | 2 +-
.../detail/ProcessInstanceTimeline.vue | 47 +++++++++----------
2 files changed, 24 insertions(+), 25 deletions(-)
diff --git a/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue b/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue
index 4233d05c..dfbd6928 100644
--- a/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue
+++ b/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue
@@ -334,7 +334,7 @@
减签
diff --git a/src/views/bpm/processInstance/detail/ProcessInstanceTimeline.vue b/src/views/bpm/processInstance/detail/ProcessInstanceTimeline.vue
index d2a7a357..0862f502 100644
--- a/src/views/bpm/processInstance/detail/ProcessInstanceTimeline.vue
+++ b/src/views/bpm/processInstance/detail/ProcessInstanceTimeline.vue
@@ -81,30 +81,6 @@
/>
-
-
-
-
- {{ user.nickname.substring(0, 1) }}
-
- {{ user.nickname }}
-
-
-
-
-
-
+
+
+ {{ user.nickname.substring(0, 1) }}
+
+ {{ user.nickname }}
+
+
+
+
+
+
From e504be7d42662a2154e33f12d1d2421523e8a219 Mon Sep 17 00:00:00 2001
From: jason <2667446@qq.com>
Date: Fri, 1 Nov 2024 23:04:00 +0800
Subject: [PATCH 053/126] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=E3=80=91=E6=9D=A1=E4=BB=B6=E5=88=86=E6=94=AF=E3=80=81?=
=?UTF-8?q?=E5=8C=85=E5=AE=B9=E5=88=86=E6=94=AF=E5=90=8E=E9=9D=A2=E4=B8=8D?=
=?UTF-8?q?=E5=85=81=E8=AE=B8=E7=9B=B4=E6=8E=A5=E6=B7=BB=E5=8A=A0=E5=B9=B6?=
=?UTF-8?q?=E8=A1=8C=E5=88=86=E6=94=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/NodeHandler.vue | 23 +++++++++++--------
.../src/nodes/CopyTaskNode.vue | 2 +-
.../src/nodes/ExclusiveNode.vue | 4 ++--
.../src/nodes/InclusiveNode.vue | 4 ++--
.../src/nodes/ParallelNode.vue | 4 ++--
.../src/nodes/StartUserNode.vue | 2 +-
.../src/nodes/UserTaskNode.vue | 2 +-
7 files changed, 23 insertions(+), 18 deletions(-)
diff --git a/src/components/SimpleProcessDesignerV2/src/NodeHandler.vue b/src/components/SimpleProcessDesignerV2/src/NodeHandler.vue
index 9505bfb3..c7707a1c 100644
--- a/src/components/SimpleProcessDesignerV2/src/NodeHandler.vue
+++ b/src/components/SimpleProcessDesignerV2/src/NodeHandler.vue
@@ -1,6 +1,6 @@
-
+
-
+
@@ -70,13 +77,11 @@ const props = defineProps({
type: Object as () => SimpleFlowNode,
default: null
},
- showAdd: {
- // 是否显示添加节点
- type: Boolean,
- default: true
+ currentNode: {
+ type: Object as () => SimpleFlowNode,
+ required: true
}
})
-
const emits = defineEmits(['update:childNode'])
const readonly = inject
('readonly') // 是否只读
@@ -131,7 +136,6 @@ const addNode = (type: number) => {
childNode: undefined,
conditionType: 1,
defaultFlow: false
-
},
{
id: 'Flow_' + generateUUID(),
@@ -183,7 +187,8 @@ const addNode = (type: number) => {
name: '包容条件1',
showText: '',
type: NodeType.CONDITION_NODE,
- childNode: undefined
+ childNode: undefined,
+ defaultFlow: false
},
{
id: 'Flow_' + generateUUID(),
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes/CopyTaskNode.vue b/src/components/SimpleProcessDesignerV2/src/nodes/CopyTaskNode.vue
index 70dc17ae..0c627b0a 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes/CopyTaskNode.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes/CopyTaskNode.vue
@@ -37,7 +37,7 @@
-
+
-
+
@@ -87,7 +87,7 @@
/>
-
+
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes/InclusiveNode.vue b/src/components/SimpleProcessDesignerV2/src/nodes/InclusiveNode.vue
index bc388751..cd06b358 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes/InclusiveNode.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes/InclusiveNode.vue
@@ -67,7 +67,7 @@
-
+
@@ -80,7 +80,7 @@
/>
-
+
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes/ParallelNode.vue b/src/components/SimpleProcessDesignerV2/src/nodes/ParallelNode.vue
index 789ad655..ca711707 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes/ParallelNode.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes/ParallelNode.vue
@@ -53,7 +53,7 @@
-
+
@@ -65,7 +65,7 @@
/>
-
+
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes/StartUserNode.vue b/src/components/SimpleProcessDesignerV2/src/nodes/StartUserNode.vue
index 7c24e6c6..0ae8e1e29 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes/StartUserNode.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes/StartUserNode.vue
@@ -33,7 +33,7 @@
-
+
diff --git a/src/components/SimpleProcessDesignerV2/src/nodes/UserTaskNode.vue b/src/components/SimpleProcessDesignerV2/src/nodes/UserTaskNode.vue
index ce8d0ebe..10eb678b 100644
--- a/src/components/SimpleProcessDesignerV2/src/nodes/UserTaskNode.vue
+++ b/src/components/SimpleProcessDesignerV2/src/nodes/UserTaskNode.vue
@@ -36,7 +36,7 @@