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 @@ 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 @@
+ + + + + + + + + + + + + + + + + + + + + + + + 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" /> + + + + + + + + + + + + + + + + + + + + + + + + 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 @@