Przeglądaj źródła

feat: 结束标签 状态标记

lanceJiang 1 rok temu
rodzic
commit
e750e9993f

+ 1 - 1
src/components/scWorkflow/index.vue

@@ -3,7 +3,7 @@
 		<div class="box-scale">
 			<node-wrap v-if="nodeConfig" v-model="nodeConfig" :disabled="disabled"></node-wrap>
 			<div class="node-wrap">
-				<div class="node-wrap-box node-wrap-box--disabled end-node">
+				<div class="node-wrap-box node-wrap-box--disabled end-node" :class="[`node-wrap-box--${nodeConfig.lastNode_local_status}`]">
 					<div class="title" style="background: var(--el-color-info)">
 						<span class="title_label">结束</span>
 					</div>

+ 14 - 4
src/views/approve/components/config.ts

@@ -4,6 +4,7 @@ type ModelContentConfig = {
 	local_status?: string // 填充自定义状态
 	p_nodeNames?: string[] // 填充自定义状态
 	childNode: ModelContentConfig | null
+	lastNode_local_status?: string // 结束标记状态标记
 	conditionNodes?: {
 		nodeName: string
 		local_status?: string // 填充自定义状态
@@ -69,18 +70,23 @@ export const package_modelContentConfig = (data: ModelContentConfig, renderNodes
 				cur_nodeName = nodeName
 			}
 		}
+		if (nodeName === '结束') {
+			// 给顶级加结束标签状态
+			data.lastNode_local_status = local_status_obj[renderNodes[nodeName]]
+		}
 	})
 
-	const cur_actionKey = Object.keys(nodeNameObj).find(nodeName => {
+	/*const cur_actionKey = Object.keys(nodeNameObj).find(nodeName => {
 		const node = nodeNameObj[nodeName]
 		// 执行中的key 提取出来
 		if (node?.local_status === 'error') {
 			return true
 		}
 	})
+	console.warn(cur_actionKey, '当前标红 cur_actionKey')
+	*/
 	const curNode = nodeNameObj[cur_nodeName] as ModelContentConfig
-	console.warn(cur_actionKey, '当前标红 cur_actionKey curNode', curNode)
-
+	console.warn('当前标红 curNode', curNode)
 	// 如果有执行中的 node 给父级做状态渲染
 	if (curNode) {
 		const p_nodeNames = curNode.p_nodeNames || []
@@ -107,7 +113,11 @@ export const package_modelContentConfig = (data: ModelContentConfig, renderNodes
 				}
 			})
 		}
-	}
+	} /*else {
+		// 若没有标红 节点 根据 标绿节点处理额外节点样式
+		// 处理条件节点
+		// 处理结束节点
+	}*/
 
 	// 给没有标记 local_status 的 默认填充 未处理
 	Object.keys(nodeNameObj).forEach(nodeName => {