diff --git a/apps/web-antd/src/components/simple-process-design/styles/simple-process-designer.scss b/apps/web-antd/src/components/simple-process-design/styles/simple-process-designer.scss index db62b3e7..817e7a76 100644 --- a/apps/web-antd/src/components/simple-process-design/styles/simple-process-designer.scss +++ b/apps/web-antd/src/components/simple-process-design/styles/simple-process-designer.scss @@ -1,4 +1,12 @@ -// TODO 这个样式要不要重新优化一下 +// TODO 整个样式是不是要重新优化一下 +// iconfont 样式 +@font-face { + font-family: iconfont; /* Project id 4495938 */ + src: + url('iconfont.woff2?t=1737639517142') format('woff2'), + url('iconfont.woff?t=1737639517142') format('woff'), + url('iconfont.ttf?t=1737639517142') format('truetype'); +} // 配置节点头部 .config-header { display: flex; @@ -6,11 +14,11 @@ .node-name { display: flex; - height: 24px; - line-height: 24px; - font-size: 16px; - cursor: pointer; align-items: center; + height: 24px; + font-size: 16px; + line-height: 24px; + cursor: pointer; } .divide-line { @@ -21,8 +29,8 @@ } .config-editable-input { - height: 24px; max-width: 510px; + height: 24px; font-size: 16px; line-height: 24px; border: 1px solid #d9d9d9; @@ -30,9 +38,9 @@ transition: all 0.3s; &:focus { - border-color: #40a9ff; outline: 0; - box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-color: #40a9ff; + box-shadow: 0 0 0 2px rgb(24 144 255 / 20%); } } } @@ -52,8 +60,8 @@ .field-permit-title { display: flex; - justify-content: space-between; align-items: center; + justify-content: space-between; height: 45px; padding-left: 12px; line-height: 45px; @@ -81,8 +89,8 @@ } .field-setting-item { - align-items: center; display: flex; + align-items: center; justify-content: space-between; height: 38px; padding-left: 12px; @@ -114,9 +122,9 @@ // 节点连线气泡卡片样式 .handler-item-wrapper { - width: 320px; display: flex; flex-wrap: wrap; + width: 320px; cursor: pointer; .handler-item { @@ -129,15 +137,15 @@ .handler-item-icon { width: 50px; height: 50px; + text-align: center; + user-select: none; background: #fff; border: 1px solid #e2e2e2; border-radius: 50%; - user-select: none; - text-align: center; &:hover { background: #e2e2e2; - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1); + box-shadow: 0 2px 4px 0 rgb(0 0 0 / 10%); } .icon-size { @@ -175,44 +183,44 @@ } .router { - color: #ca3a31 + color: #ca3a31; } .transactor { - color: #330099; + color: #309; } .child-process { - color: #996633; + color: #963; } .async-child-process { - color: #006666; + color: #066; } .handler-item-text { - margin-top: 4px; width: 80px; - text-align: center; + margin-top: 4px; font-size: 13px; + text-align: center; } } // Simple 流程模型样式 .simple-process-model-container { - height: 100%; - background-color: #fafafa; - overflow-x: auto; width: 100%; + height: 100%; + overflow-x: auto; background: url('./svg/simple-process-bg.svg') 0 0 repeat; + background-color: #fafafa; .simple-process-model { display: flex; flex-direction: column; - justify-content: center; align-items: center; - transform-origin: 50% 0 0; + justify-content: center; min-width: fit-content; transform: scale(1); + transform-origin: 50% 0 0; transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); // 节点容器 定义节点宽度 .node-container { @@ -222,11 +230,11 @@ .node-box { position: relative; display: flex; + flex-direction: column; 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%); @@ -274,10 +282,10 @@ // 普通节点标题 .node-title-container { display: flex; + align-items: center; padding: 4px; cursor: pointer; border-radius: 4px 4px 0 0; - align-items: center; .node-title-icon { display: flex; @@ -304,30 +312,30 @@ } &.router-node { - color: #ca3a31 + color: #ca3a31; } &.transactor-task { - color: #330099; + color: #309; } &.child-process { - color: #996633; + color: #963; } &.async-child-process { - color: #006666; + color: #066; } } .node-title { margin-left: 4px; overflow: hidden; + text-overflow: ellipsis; font-size: 14px; font-weight: 600; line-height: 18px; color: #1f1f1f; - text-overflow: ellipsis; white-space: nowrap; &:hover { @@ -339,11 +347,11 @@ // 条件节点标题 .branch-node-title-container { display: flex; + align-items: center; + justify-content: space-between; 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; @@ -351,10 +359,10 @@ .branch-title { overflow: hidden; + text-overflow: ellipsis; font-size: 13px; font-weight: 600; color: #f60; - text-overflow: ellipsis; white-space: nowrap; &:hover { @@ -370,12 +378,12 @@ .node-content { display: flex; + align-items: center; + justify-content: space-between; 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; @@ -383,11 +391,11 @@ .node-text { display: -webkit-box; overflow: hidden; + text-overflow: ellipsis; + -webkit-line-clamp: 2; /* 这将限制文本显示为两行 */ font-size: 14px; line-height: 24px; - text-overflow: ellipsis; word-break: break-all; - -webkit-line-clamp: 2; /* 这将限制文本显示为两行 */ -webkit-box-orient: vertical; } } @@ -395,21 +403,21 @@ //条件节点内容 .branch-node-content { display: flex; + align-items: center; 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; + text-overflow: ellipsis; + -webkit-line-clamp: 2; /* 这将限制文本显示为两行 */ font-size: 12px; line-height: 24px; - text-overflow: ellipsis; word-break: break-all; - -webkit-line-clamp: 2; /* 这将限制文本显示为两行 */ -webkit-box-orient: vertical; } } @@ -423,8 +431,8 @@ opacity: 0; .toolbar-icon { - text-align: center; vertical-align: middle; + text-align: center; } } @@ -432,19 +440,19 @@ .branch-node-move { position: absolute; display: none; + align-items: center; + justify-content: center; 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; + border-bottom-left-radius: 8px; } .move-node-right { @@ -463,18 +471,18 @@ .node-wrapper { display: flex; flex-direction: column; - justify-content: center; align-items: center; + justify-content: center; } // 节点连线处理 .node-handler-wrapper { position: relative; display: flex; - height: 70px; - align-items: center; - user-select: none; - justify-content: center; flex-direction: column; + align-items: center; + justify-content: center; + height: 70px; + user-select: none; &::before { position: absolute; @@ -483,8 +491,8 @@ width: 2px; height: 100%; margin: auto; - background-color: #dedede; content: ''; + background-color: #dedede; } .node-handler { @@ -492,14 +500,14 @@ position: relative; top: -5px; display: flex; + align-items: center; + justify-content: center; 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); @@ -521,8 +529,8 @@ position: relative; display: flex; flex-direction: column; - justify-content: center; align-items: center; + justify-content: center; margin-top: 16px; .branch-node-container { @@ -535,8 +543,8 @@ left: 50%; width: 4px; height: 100%; - background-color: #fafafa; content: ''; + background-color: #fafafa; transform: translate(-50%); } @@ -561,14 +569,14 @@ left: 50%; z-index: 1; display: flex; + align-items: center; + justify-content: center; 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 { @@ -582,12 +590,15 @@ .icon-size { font-size: 22px; + &.condition { color: #67c23a; } + &.parallel { color: #626aef; } + &.inclusive { color: #345da2; } @@ -597,6 +608,7 @@ .branch-node-item { position: relative; display: flex; + flex-shrink: 0; flex-direction: column; align-items: center; min-width: 280px; @@ -604,16 +616,15 @@ background: transparent; border-top: 2px solid #dedede; border-bottom: 2px solid #dedede; - flex-shrink: 0; &::before { position: absolute; + inset: 0; width: 2px; height: 100%; margin: auto; - inset: 0; - background-color: #dedede; content: ''; + background-color: #dedede; } } // 覆盖条件节点第一个节点左上角的线 @@ -623,8 +634,8 @@ left: -1px; width: 50%; height: 7px; - background-color: #fafafa; content: ''; + background-color: #fafafa; } // 覆盖条件节点第一个节点左下角的线 .branch-line-first-bottom { @@ -633,8 +644,8 @@ left: -1px; width: 50%; height: 7px; - background-color: #fafafa; content: ''; + background-color: #fafafa; } // 覆盖条件节点最后一个节点右上角的线 .branch-line-last-top { @@ -643,8 +654,8 @@ right: -1px; width: 50%; height: 7px; - background-color: #fafafa; content: ''; + background-color: #fafafa; } // 覆盖条件节点最后一个节点右下角的线 .branch-line-last-bottom { @@ -653,8 +664,8 @@ bottom: -5px; width: 50%; height: 7px; - background-color: #fafafa; content: ''; + background-color: #fafafa; } } } @@ -664,8 +675,8 @@ width: auto; padding: 0 4px; overflow: hidden; - text-align: center; text-overflow: ellipsis; + text-align: center; white-space: nowrap; } // 开始节点包装 @@ -676,13 +687,14 @@ .start-node-container { display: flex; flex-direction: column; - justify-content: center; align-items: center; + justify-content: center; .start-node-box { + box-sizing: border-box; display: flex; - justify-content: center; align-items: center; + justify-content: center; width: 90px; height: 36px; padding: 3px 4px; @@ -691,7 +703,6 @@ background: #fafafa; border-radius: 30px; box-shadow: 0 1px 5px 0 rgb(10 30 65 / 8%); - box-sizing: border-box; } } } @@ -701,16 +712,16 @@ margin-bottom: 16px; .end-node-box { + box-sizing: border-box; display: flex; + align-items: center; + justify-content: center; 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; @@ -743,8 +754,8 @@ // 可编辑的 title 输入框 .editable-title-input { - height: 20px; max-width: 145px; + height: 20px; margin-left: 4px; font-size: 12px; line-height: 20px; @@ -753,74 +764,66 @@ transition: all 0.3s; &:focus { - border-color: #40a9ff; outline: 0; + border-color: #40a9ff; box-shadow: 0 0 0 2px rgb(24 144 255 / 20%); } } } } -// iconfont 样式 -@font-face { - font-family: "iconfont"; /* Project id 4495938 */ - src: url('iconfont.woff2?t=1737639517142') format('woff2'), - url('iconfont.woff?t=1737639517142') format('woff'), - url('iconfont.ttf?t=1737639517142') format('truetype'); -} - .iconfont { - font-family: "iconfont" !important; + font-family: iconfont !important; font-size: 16px; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } -.icon-trigger:before { - content: "\e6d3"; +.icon-trigger::before { + content: '\e6d3'; } -.icon-router:before { - content: "\e6b2"; +.icon-router::before { + content: '\e6b2'; } -.icon-delay:before { - content: "\e600"; +.icon-delay::before { + content: '\e600'; } -.icon-start-user:before { - content: "\e679"; +.icon-start-user::before { + content: '\e679'; } -.icon-inclusive:before { - content: "\e602"; +.icon-inclusive::before { + content: '\e602'; } -.icon-copy:before { - content: "\e7eb"; +.icon-copy::before { + content: '\e7eb'; } -.icon-transactor:before { - content: "\e61c"; +.icon-transactor::before { + content: '\e61c'; } -.icon-exclusive:before { - content: "\e717"; +.icon-exclusive::before { + content: '\e717'; } -.icon-approve:before { - content: "\e715"; +.icon-approve::before { + content: '\e715'; } -.icon-parallel:before { - content: "\e688"; +.icon-parallel::before { + content: '\e688'; } -.icon-async-child-process:before { - content: "\e6f2"; +.icon-async-child-process::before { + content: '\e6f2'; } -.icon-child-process:before { - content: "\e6c1"; +.icon-child-process::before { + content: '\e6c1'; }