前后端数据交互,结构转换问题

发布于 2022-09-12 13:33:21 字数 4294 浏览 15 评论 0

好急啊,朋友们,帮帮忙,解决的话发红包请喝xbk,骗人是小狗。

我们这边在开发一个流程设计器,类似钉钉流程设计器那样的。

image.png

前端这边交互的数据格式是这样的:

let originNodes = [
  {
    key: 1,
    tit: "审批单位",
    name: "",
    type: 1,
  },
  {
    conditions: [
      {
        key: 3,
        tit: "条件1",
        value: "项目总投资大于30万",
        type: 2,
        child: [
          {
            key: 4,
            tit: "审批单位",
            name: "",
            type: 1, //1审批单位  2条件分支 3抄送 4办理
          },
          {
            key: 5,
            tit: "条件分支",
            name: "",
            type: 2, //1审批单位  2条件分支 3抄送 4办理
            conditions: [
              {
                key: 6,
                tit: "条件1-1",
                name: "",
                type: 2, //1审批单位  2条件分支 3抄送 4办理
                child: [
                  {
                    key: 7,
                    tit: "审批单位",
                    name: "",
                    type: 1, //1审批单位  2条件分支 3抄送 4办理
                  },
                ],
              },
              {
                key: 8,
                tit: "条件1-2",
                name: "",
                type: 2, //1审批单位  2条件分支 3抄送 4办理
                child: [
                  {
                    key: 9,
                    tit: "审批单位",
                    name: "",
                    type: 3, //1审批单位  2条件分支 3抄送 4办理
                  },
                ],
              },
            ],
          },
          {
            key: 10,
            tit: "审批单位2",
            name: "",
            type: 4, //1审批单位  2条件分支 3抄送 4办理
          },
        ],
      },
      {
        key: 11,
        tit: "条件2",
        value: "项目总投资大于30万",
        type: 2,
        child: [
          {
            key: 12,
            tit: "审批单位",
            name: "",
            type: 1, //1审批单位  2条件分支 3抄送 4办理
          },
        ],
      },
      {
        key: 13,
        tit: "条件2",
        value: "项目总投资大于30万",
        type: 2,
        child: [],
      },
      {
        key: 14,
        tit: "条件2",
        value: "项目总投资大于30万",
        type: 2,
        child: [],
      },
      {
        key: 15,
        tit: "条件2",
        value: "项目总投资大于30万",
        type: 2,
        child: [],
      },
    ],
  },
  {
    key: 16,
    tit: "审批单位",
    name: "",
    type: 1,
  },
]

但是可恶的后端却要这种格式:

let nodes = {
  name:'发起'
  childNode:{
    childNode:{
      name:'审批',
      preId:'start',
      nodeId:'a',
      conditionNodes:[
        {
          name:'条件1',
          nodeId:'b',
          preId:'a',
          childNode:{
            name:'审批',
            nodeId:'d',
            preId:'b',
            conditionNodes:[
              {
                name:'条件1',
                nodeId:'f',
                preId:'d',
                childNode:{
                  name:'审批',
                  nodeId:'h',
                  preId:'f',
                  childNode:{
                    name:'办理',
                    nodeId:'J',
                    preId:'h',
                    childNode:{
                      name:'审批',
                      nodeId:'k',
                      preId:'j',
                    }
                  }
                }
              },
              {
                name:'条件2',
                nodeId:'g',
                preId:'d',
                childNode:{
                  name:'抄送',
                  nodeId:'i',
                  preId:'g',
                  childNode:{
                    name:'办理',
                    nodeId:'J',
                    preId:'i',
                    childNode:{
                      name:'审批',
                      nodeId:'k',
                      preId:'j',
                    }
                  }
                }
              }
            ]
          }
        },
        {
          name:'条件2',
          nodeId:'c',
          preId:'a',
          childNode:{
            name:'审批',
            nodeId:'e',
            preId:'c',
            childNode:{
              name:'审批',
              nodeId:'k',
              preId:'e',
            }
          }
        }
      ]
    }
  }
}

前端按顺序往数组里插入节点,应该很好理解;但后端是根据流程条数,上图有3条线,组成深层次的数据格式,不知道这样描述对不对。

想了半天,感觉还是得靠群众的力量才能解决这个难题了,求帮忙,解决了发红包哈哈哈!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文