|
@@ -1,10 +1,8 @@
|
|
|
-/*type childrenNode = {
|
|
|
-
|
|
|
-}*/
|
|
|
type ModelContentConfig = {
|
|
|
nodeName: string
|
|
|
type: number
|
|
|
local_status?: string // 填充自定义状态
|
|
|
+ p_nodeNames?: string[] // 填充自定义状态
|
|
|
childNode?: ModelContentConfig
|
|
|
conditionNodes?: {
|
|
|
conditionList: any[]
|
|
@@ -15,18 +13,10 @@ type RenderNodes = {
|
|
|
[key: string]: 0 | 1 // 0已执行 1执行中
|
|
|
}
|
|
|
export const package_modelContentConfig = (data: ModelContentConfig, renderNodes: RenderNodes) => {
|
|
|
- /**local_status: 0: 已执行(success) 1:执行中(error) // 默认未执行(info)*/
|
|
|
- /*const flatList = []
|
|
|
- // 给整个数据 初始化状态 为 未处理
|
|
|
- let curData = data
|
|
|
- while (curData.childNode) {
|
|
|
- // curData.local_status = 'info'
|
|
|
- flatList.push(curData.childNode)
|
|
|
- curData = curData.childNode
|
|
|
- }*/
|
|
|
+ /**local_status: 0: 已执行(success) 1:执行中(danger) // 默认未执行(info)*/
|
|
|
// 通过nodeName 作为唯一值 记录 每个key(nodeName) 对应的childNode 信息
|
|
|
- const nodeNameObj = {}
|
|
|
- const fn = (data, p_nodeNames = []) => {
|
|
|
+ const nodeNameObj: { [nodeName: string]: ModelContentConfig } = {}
|
|
|
+ const fn = (data: ModelContentConfig, p_nodeNames = []) => {
|
|
|
data.p_nodeNames = p_nodeNames
|
|
|
// 记录
|
|
|
nodeNameObj[data.nodeName] = data
|
|
@@ -44,23 +34,54 @@ export const package_modelContentConfig = (data: ModelContentConfig, renderNodes
|
|
|
}
|
|
|
}
|
|
|
fn(data)
|
|
|
- /*Object.keys(nodeNameObj).forEach(k => {
|
|
|
- const _o = nodeNameObj[k]
|
|
|
- _o.local_status = 'info'
|
|
|
- })*/
|
|
|
// 给需要修改状态的
|
|
|
- console.log(nodeNameObj, 'nodeNameObj')
|
|
|
+ // console.log(nodeNameObj, 'nodeNameObj')
|
|
|
const local_status_obj = {
|
|
|
0: 'success', // 已执行
|
|
|
- 1: 'error' // 执行中
|
|
|
+ 1: 'danger' // 执行中
|
|
|
}
|
|
|
- /**local_status: 0: 已执行(success) 1:执行中(error) // 默认未执行(info)*/
|
|
|
- Object.keys(renderNodes).forEach((nodeName) => {
|
|
|
- const local_status = local_status_obj[nodeName] || ''
|
|
|
+ let cur_nodeName = ''
|
|
|
+ /**local_status: 0: 已执行(success) 1:执行中(danger) // 默认未执行(info)*/
|
|
|
+ Object.keys(renderNodes).forEach(nodeName => {
|
|
|
+ // console.log(nodeName, 'nodeName')
|
|
|
+ const local_status = local_status_obj[renderNodes[nodeName]] || ''
|
|
|
const node = nodeNameObj[nodeName]
|
|
|
if (node) {
|
|
|
node.local_status = local_status
|
|
|
}
|
|
|
+ // 执行中的key 提取出来
|
|
|
+ if (node.local_status === 'danger') {
|
|
|
+ cur_nodeName = nodeName
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ /*const cur_actionKey = Object.keys(nodeNameObj).find(nodeName => {
|
|
|
+ const node = nodeNameObj[nodeName]
|
|
|
+ // 执行中的key 提取出来
|
|
|
+ if (node.local_status === 'danger') {
|
|
|
+ }
|
|
|
+ nodeName
|
|
|
+ })*/
|
|
|
+ const curNode = nodeNameObj[cur_nodeName] as ModelContentConfig
|
|
|
+ // 如果有执行中的 node 给父级做状态渲染
|
|
|
+ if (curNode) {
|
|
|
+ const p_nodeNames = curNode.p_nodeNames || []
|
|
|
+ if (p_nodeNames.length) {
|
|
|
+ p_nodeNames.forEach(nodeName => {
|
|
|
+ const p_node = nodeNameObj[nodeName]
|
|
|
+ // 父级node 设置为 已执行
|
|
|
+ if (p_node.local_status) {
|
|
|
+ p_node.local_status = 'success'
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 给没有标记 local_status 的 默认填充 未处理
|
|
|
+ Object.keys(nodeNameObj).forEach(nodeName => {
|
|
|
+ const node = nodeNameObj[nodeName]
|
|
|
+ if (!node.local_status) {
|
|
|
+ node.local_status = 'info'
|
|
|
+ }
|
|
|
})
|
|
|
- // const cur_action =
|
|
|
}
|