{
  version: '1.0.0',
  componentsMap: [
    {
      devMode: 'lowcode',
      componentName: 'Slot',
    },
    {
      package: '@alilc/antd-lowcode-materials',
      version: '0.11.0',
      exportName: 'Button',
      main: 'dist/antd-lowcode.esm.js',
      destructuring: true,
      componentName: 'Button',
    },
    {
      package: '@alife/mc-assets-1935',
      version: '0.1.43',
      exportName: 'AliAutoDiv',
      main: 'build/lowcode/index.js',
      destructuring: true,
      subName: 'default',
      componentName: 'AliAutoDivDefault',
    },
    {
      package: '@alilc/antd-lowcode-materials',
      version: '0.11.0',
      exportName: 'Typography',
      main: 'dist/antd-lowcode.esm.js',
      destructuring: true,
      subName: 'Text',
      componentName: 'Typography.Text',
    },
    {
      package: '@alilc/antd-lowcode-materials',
      version: '0.11.0',
      exportName: 'Typography',
      main: 'dist/antd-lowcode.esm.js',
      destructuring: true,
      subName: 'Link',
      componentName: 'Typography.Link',
    },
    {
      package: '@alilc/antd-lowcode-materials',
      version: '0.11.0',
      exportName: 'Modal',
      main: 'dist/antd-lowcode.esm.js',
      destructuring: true,
      componentName: 'Modal',
    },
    {
      package: '@alilc/antd-lowcode-materials',
      version: '0.11.0',
      exportName: 'Select',
      main: 'dist/antd-lowcode.esm.js',
      destructuring: true,
      componentName: 'Select',
    },
    {
      package: '@alilc/antd-lowcode-materials',
      version: '0.11.0',
      exportName: 'Form',
      main: 'dist/antd-lowcode.esm.js',
      destructuring: true,
      subName: 'Item',
      componentName: 'Form.Item',
    },
    {
      package: '@alilc/antd-lowcode-materials',
      version: '0.11.0',
      exportName: 'Input',
      main: 'dist/antd-lowcode.esm.js',
      destructuring: true,
      componentName: 'Input',
    },
    {
      package: '@alilc/antd-lowcode-materials',
      version: '0.11.0',
      exportName: 'Form',
      main: 'dist/antd-lowcode.esm.js',
      destructuring: true,
      componentName: 'Form',
    },
    {
      package: '@alife/container',
      version: '0.3.7',
      exportName: 'P',
      main: 'lib/index.js',
      destructuring: true,
      subName: '',
      componentName: 'NextP',
    },
    {
      package: '@alife/container',
      version: '0.3.7',
      exportName: 'Block',
      main: 'lib/index.js',
      destructuring: true,
      subName: 'Cell',
      componentName: 'NextBlockCell',
    },
    {
      package: '@alife/container',
      version: '0.3.7',
      exportName: 'Block',
      main: 'lib/index.js',
      destructuring: true,
      subName: '',
      componentName: 'NextBlock',
    },
    {
      package: '@alilc/antd-lowcode-materials',
      version: '0.11.0',
      exportName: 'Tooltip',
      main: 'dist/antd-lowcode.esm.js',
      destructuring: true,
      componentName: 'Tooltip',
    },
    {
      package: '@alilc/antd-lowcode-materials',
      version: '0.11.0',
      exportName: 'Icon',
      main: 'dist/antd-lowcode.esm.js',
      destructuring: true,
      componentName: 'Icon',
    },
    {
      package: '@alife/mc-assets-1935',
      version: '0.1.43',
      exportName: 'AliAutoSearchTable',
      main: 'build/lowcode/index.js',
      destructuring: true,
      subName: 'default',
      componentName: 'AliAutoSearchTableDefault',
    },
    {
      package: '@alilc/antd-lowcode-materials',
      version: '0.11.0',
      exportName: 'Empty',
      main: 'dist/antd-lowcode.esm.js',
      destructuring: true,
      componentName: 'Empty',
    },
    {
      package: '@alife/container',
      version: '0.3.7',
      exportName: 'Page',
      main: 'lib/index.js',
      destructuring: true,
      subName: '',
      componentName: 'NextPage',
    },
    {
      devMode: 'lowcode',
      componentName: 'Page',
    },
  ],
  componentsTree: [
    {
      componentName: 'Page',
      id: 'node_dockcviv8fo1',
      props: {
        ref: 'outterView',
        style: {
          height: '100%',
        },
      },
      fileName: 'test',
      dataSource: {
        list: [],
      },
      css: 'body {\n  font-size: 12px;\n}\n\n.botton {\n  width: 100px;\n  color: #ff00ff\n}',
      lifeCycles: {
        constructor: {
          type: 'JSFunction',
          value: "function() {\n    this.__jp__init();\n    this.statusDesc = {\n      0: '失败',\n      1: '成功',\n      2: '构建中',\n      3: '构建超时',\n    };\n    this.pageParams = {};\n    this.searchParams = {};\n    this.userTimeout = null;\n    this.currentUser = null;\n    this.notFoundContent = null;\n    this.projectTimeout = null;\n    this.currentProject = null;\n  }",
        },
        componentDidMount: {
          type: 'JSFunction',
          value: "function() {\n    this.$ds.resolve('PROJECTS');\n    if (this.userTimeout) {\n      clearTimeout(this.userTimeout);\n      this.userTimeout = null;\n    }\n    if (this.projectTimeout) {\n      clearTimeout(this.projectTimeout);\n      this.projectTimeout = null;\n    }\n  }",
        },
        componentDidUpdate: {
          type: 'JSFunction',
          value: 'function(prevProps, prevState, snapshot) {}',
        },
        componentWillUnmount: {
          type: 'JSFunction',
          value: 'function() {}',
        },
      },
      methods: {
        __jp__init: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        __jp__initRouter: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        __jp__initDataSource: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        __jp__initEnv: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        __jp__initConfig: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        __jp__initUtils: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        setSearchItem: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        fetchProject: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        handleProjectSearch: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        handleProjectChange: {
          type: 'JSFunction',
          value: 'function(id) {\n    this.setSearchItem({\n      channel_id: id,\n    });\n  }',
        },
        fetchUser: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        handleUserSearch: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        handleUserChange: {
          type: 'JSFunction',
          value: "function(user) {\n    console.log('debug user', user);\n    this.setSearchItem({\n      user_id: user,\n    });\n  }",
        },
        fetchPkgs: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        onPageChange: {
          type: 'JSFunction',
          value: 'function(pageIndex, pageSize) {\n    this.pageParams = {\n      pageIndex,\n      pageSize,\n    };\n    this.fetchPkgs();\n  }',
        },
        renderTime: {
          type: 'JSFunction',
          value: "function(time) {\n    return this.$utils.moment(time).format('YYYY-MM-DD HH:mm');\n  }",
        },
        renderUserName: {
          type: 'JSFunction',
          value: 'function(user) {\n    return user.user_name;\n  }',
        },
        reload: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        handleResult: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        handleDetail: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        onResultCancel: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        formatResult: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        handleDownload: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
        onFinish: {
          type: 'JSFunction',
          value: 'function() { /*...*/ }',
        },
      },
      state: {
        pkgs: [],
        total: 0,
        isSearch: false,
        projects: [],
        results: [],
        resultVisible: false,
        userOptions: [],
        searchValues: {
          user_id: '',
          channel_id: '',
        },
      },
      children: [
        {
          componentName: 'Modal',
          id: 'node_ocksh9yppxb',
          props: {
            title: '查看结果',
            visible: {
              type: 'JSExpression',
              value: 'this.state.resultVisible',
            },
            footer: {
              type: 'JSSlot',
              value: [
                {
                  componentName: 'Button',
                  id: 'node_ocksh9yppxf',
                  props: {
                    type: 'primary',
                    children: '确定',
                    __events: {
                      eventDataList: [
                        {
                          type: 'componentEvent',
                          name: 'onClick',
                          relatedEventName: 'onResultCancel',
                        },
                      ],
                      eventList: [
                        {
                          name: 'onClick',
                          disabled: true,
                        },
                      ],
                    },
                    onClick: {
                      type: 'JSFunction',
                      value: 'function(){this.onResultCancel.apply(this,Array.prototype.slice.call(arguments).concat([])) }',
                    },
                  },
                },
              ],
            },
            __events: {
              eventDataList: [
                {
                  type: 'componentEvent',
                  name: 'onCancel',
                  relatedEventName: 'onResultCancel',
                },
              ],
              eventList: [
                {
                  name: 'onCancel',
                  disabled: true,
                },
                {
                  name: 'onOk',
                  disabled: false,
                },
              ],
            },
            onCancel: {
              type: 'JSFunction',
              value: 'function(){this.onResultCancel.apply(this,Array.prototype.slice.call(arguments).concat([])) }',
            },
            width: '720px',
            centered: true,
            closable: true,
            keyboard: true,
            mask: true,
            maskClosable: true,
          },
          hidden: true,
          children: [
            {
              componentName: 'AliAutoDivDefault',
              id: 'node_ockshazuxa4',
              props: {
                style: {
                  width: '100%',
                },
              },
              children: [
                {
                  componentName: 'AliAutoDivDefault',
                  id: 'node_ockshazuxai',
                  props: {
                    style: {
                      width: '100%',
                      textAlign: 'left',
                      marginBottom: '16px',
                    },
                  },
                  condition: {
                    type: 'JSExpression',
                    value: 'this.state.results && this.state.results.length > 0',
                  },
                  children: [
                    {
                      componentName: 'Button',
                      id: 'node_ockshazuxah',
                      props: {
                        type: 'primary',
                        children: '下载全部',
                        size: 'small',
                        __events: {
                          eventDataList: [
                            {
                              type: 'componentEvent',
                              name: 'onClick',
                              relatedEventName: 'handleDownload',
                            },
                          ],
                          eventList: [
                            {
                              name: 'onClick',
                              disabled: true,
                            },
                          ],
                        },
                        onClick: {
                          type: 'JSFunction',
                          value: 'function(){this.handleDownload.apply(this,Array.prototype.slice.call(arguments).concat([])) }',
                        },
                      },
                    },
                  ],
                },
                {
                  componentName: 'AliAutoDivDefault',
                  id: 'node_ockt2muyfi4',
                  props: {
                    style: {
                      width: '100%',
                      marginTop: '10px',
                    },
                  },
                  loop: {
                    type: 'JSExpression',
                    value: 'this.state.results',
                  },
                  children: [
                    {
                      componentName: 'Typography.Text',
                      id: 'node_ockshazuxa5',
                      props: {
                        children: {
                          type: 'JSExpression',
                          value: 'this.formatResult(this.item)',
                        },
                      },
                    },
                    {
                      componentName: 'Typography.Link',
                      id: 'node_ockshazuxa6',
                      props: {
                        href: {
                          type: 'JSExpression',
                          value: 'this.item.download_link',
                        },
                        target: '_blank',
                        children: ' - 点击下载',
                      },
                      condition: {
                        type: 'JSExpression',
                        value: 'this.item.download_link',
                      },
                    },
                    {
                      componentName: 'Typography.Link',
                      id: 'node_ockshazuxa7',
                      props: {
                        href: {
                          type: 'JSExpression',
                          value: 'this.item.release_notes',
                        },
                        target: '_blank',
                        children: ' - 跳转发布节点',
                      },
                      condition: {
                        type: 'JSExpression',
                        value: 'this.item.release_notes',
                      },
                    },
                  ],
                },
              ],
            },
          ],
        },
        {
          componentName: 'NextPage',
          id: 'node_ocko19zplh1',
          props: {
            columns: 12,
            headerDivider: true,
            placeholderStyle: {
              gridRowEnd: 'span 1',
              gridColumnEnd: 'span 12',
            },
            placeholder: '页面主体内容：拖拽Block布局组件到这里',
            header: {
              type: 'JSSlot',
              title: 'header',
            },
            headerProps: {
              background: 'surface',
              style: {
                padding: '',
              },
            },
            footer: {
              type: 'JSSlot',
              title: 'footer',
            },
            minHeight: '100vh',
            contentProps: {
              noPadding: false,
              background: 'transparent',
            },
          },
          title: '页面',
          children: [
            {
              componentName: 'NextBlock',
              id: 'node_ockt3t4q8565',
              props: {
                childTotalColumns: 12,
              },
              title: '区块',
              children: [
                {
                  componentName: 'NextBlockCell',
                  id: 'node_ockt3t4q8566',
                  props: {
                    isAutoContainer: true,
                    colSpan: 12,
                    rowSpan: 1,
                  },
                  title: '子区块',
                  children: [
                    {
                      componentName: 'NextP',
                      id: 'node_ockt3t4q8567',
                      props: {
                        wrap: false,
                        type: 'body2',
                        verAlign: 'middle',
                        textSpacing: true,
                        align: 'left',
                        flex: true,
                      },
                      title: '段落',
                      children: [
                        {
                          componentName: 'AliAutoDivDefault',
                          id: 'node_ockt3t4q8568',
                          props: {
                            style: {
                              width: '100%',
                              display: 'flex',
                            },
                          },
                          children: [
                            {
                              componentName: 'AliAutoDivDefault',
                              id: 'node_ockt3t4q857a',
                              props: {
                                style: {
                                  flex: '1',
                                },
                              },
                              children: [
                                {
                                  componentName: 'Form',
                                  id: 'node_ocks8dtt1mt',
                                  props: {
                                    labelCol: {
                                      span: 10,
                                    },
                                    wrapperCol: {
                                      span: 14,
                                    },
                                    onFinish: {
                                      type: 'JSFunction',
                                      value: 'function(){this.onFinish.apply(this,Array.prototype.slice.call(arguments).concat([])) }',
                                    },
                                    name: 'basic',
                                    layout: 'inline',
                                    __events: {
                                      eventDataList: [
                                        {
                                          type: 'componentEvent',
                                          name: 'onFinish',
                                          relatedEventName: 'onFinish',
                                        },
                                      ],
                                      eventList: [
                                        {
                                          name: 'onFinish',
                                          disabled: true,
                                        },
                                        {
                                          name: 'onFinishFailed',
                                          disabled: false,
                                        },
                                        {
                                          name: 'onFieldsChange',
                                          disabled: false,
                                        },
                                        {
                                          name: 'onValuesChange',
                                          disabled: false,
                                        },
                                      ],
                                    },
                                    colon: true,
                                    labelAlign: 'right',
                                    preserve: true,
                                    scrollToFirstError: true,
                                    size: 'middle',
                                    values: {
                                      type: 'JSExpression',
                                      value: 'this.state.searchValues',
                                    },
                                  },
                                  children: [
                                    {
                                      componentName: 'Form.Item',
                                      id: 'node_ocks8dtt1mz',
                                      props: {
                                        label: '项目名称/渠道号',
                                        name: 'channel_id',
                                        labelAlign: 'right',
                                        colon: true,
                                      },
                                      children: [
                                        {
                                          componentName: 'Select',
                                          id: 'node_ocksfuhwhsd',
                                          props: {
                                            style: {
                                              width: '320px',
                                            },
                                            options: {
                                              type: 'JSExpression',
                                              value: 'this.state.projects',
                                            },
                                            showArrow: false,
                                            tokenSeparators: [],
                                            showSearch: true,
                                            defaultActiveFirstOption: true,
                                            size: 'middle',
                                            bordered: true,
                                            filterOption: true,
                                            optionFilterProp: 'label',
                                            allowClear: true,
                                            placeholder: '请输入项目名称/渠道号',
                                            __events: {
                                              eventDataList: [
                                                {
                                                  type: 'componentEvent',
                                                  name: 'onChange',
                                                  relatedEventName: 'handleProjectChange',
                                                },
                                                {
                                                  type: 'componentEvent',
                                                  name: 'onSearch',
                                                  relatedEventName: 'handleProjectSearch',
                                                },
                                              ],
                                              eventList: [
                                                {
                                                  name: 'onBlur',
                                                  disabled: false,
                                                },
                                                {
                                                  name: 'onChange',
                                                  disabled: true,
                                                },
                                                {
                                                  name: 'onDeselect',
                                                  disabled: false,
                                                },
                                                {
                                                  name: 'onFocus',
                                                  disabled: false,
                                                },
                                                {
                                                  name: 'onInputKeyDown',
                                                  disabled: false,
                                                },
                                                {
                                                  name: 'onMouseEnter',
                                                  disabled: false,
                                                },
                                                {
                                                  name: 'onMouseLeave',
                                                  disabled: false,
                                                },
                                                {
                                                  name: 'onPopupScroll',
                                                  disabled: false,
                                                },
                                                {
                                                  name: 'onSearch',
                                                  disabled: true,
                                                },
                                                {
                                                  name: 'onSelect',
                                                  disabled: false,
                                                },
                                                {
                                                  name: 'onDropdownVisibleChange',
                                                  disabled: false,
                                                },
                                              ],
                                            },
                                            onChange: {
                                              type: 'JSFunction',
                                              value: 'function(){this.handleProjectChange.apply(this,Array.prototype.slice.call(arguments).concat([])) }',
                                            },
                                            onSearch: {
                                              type: 'JSFunction',
                                              value: 'function(){this.handleProjectSearch.apply(this,Array.prototype.slice.call(arguments).concat([])) }',
                                            },
                                          },
                                        },
                                      ],
                                    },
                                    {
                                      componentName: 'Form.Item',
                                      id: 'node_ocks8dtt1m12',
                                      props: {
                                        label: '版本号',
                                        name: 'buildId',
                                      },
                                      children: [
                                        {
                                          componentName: 'Input',
                                          id: 'node_ocksfuhwhs3',
                                          props: {
                                            placeholder: '请输入版本号',
                                            style: {
                                              width: '180px',
                                            },
                                            size: 'middle',
                                            bordered: true,
                                          },
                                        },
                                      ],
                                    },
                                    {
                                      componentName: 'Form.Item',
                                      id: 'node_ocks8dtt1m18',
                                      props: {
                                        label: '构建人',
                                        name: 'user_id',
                                      },
                                      children: [
                                        {
                                          componentName: 'Select',
                                          id: 'node_ocksfuhwhsi',
                                          props: {
                                            style: {
                                              width: '210px',
                                            },
                                            options: {
                                              type: 'JSExpression',
                                              value: 'this.state.userOptions',
                                            },
                                            showSearch: true,
                                            defaultActiveFirstOption: false,
                                            size: 'middle',
                                            bordered: true,
                                            filterOption: true,
                                            optionFilterProp: 'label',
                                            notFoundContent: {
                                              type: 'JSExpression',
                                              value: 'this.userNotFoundContent',
                                            },
                                            showArrow: false,
                                            placeholder: '请输入构建人',
                                            __events: {
                                              eventDataList: [
                                                {
                                                  type: 'componentEvent',
                                                  name: 'onChange',
                                                  relatedEventName: 'handleUserChange',
                                                },
                                                {
                                                  type: 'componentEvent',
                                                  name: 'onSearch',
                                                  relatedEventName: 'handleUserSearch',
                                                },
                                              ],
                                              eventList: [
                                                {
                                                  name: 'onBlur',
                                                  disabled: false,
                                                },
                                                {
                                                  name: 'onChange',
                                                  disabled: true,
                                                },
                                                {
                                                  name: 'onDeselect',
                                                  disabled: false,
                                                },
                                                {
                                                  name: 'onFocus',
                                                  disabled: false,
                                                },
                                                {
                                                  name: 'onInputKeyDown',
                                                  disabled: false,
                                                },
                                                {
                                                  name: 'onMouseEnter',
                                                  disabled: false,
                                                },
                                                {
                                                  name: 'onMouseLeave',
                                                  disabled: false,
                                                },
                                                {
                                                  name: 'onPopupScroll',
                                                  disabled: false,
                                                },
                                                {
                                                  name: 'onSearch',
                                                  disabled: true,
                                                },
                                                {
                                                  name: 'onSelect',
                                                  disabled: false,
                                                },
                                                {
                                                  name: 'onDropdownVisibleChange',
                                                  disabled: false,
                                                },
                                              ],
                                            },
                                            onChange: {
                                              type: 'JSFunction',
                                              value: 'function(){this.handleUserChange.apply(this,Array.prototype.slice.call(arguments).concat([])) }',
                                            },
                                            onSearch: {
                                              type: 'JSFunction',
                                              value: 'function(){this.handleUserSearch.apply(this,Array.prototype.slice.call(arguments).concat([])) }',
                                            },
                                            allowClear: true,
                                          },
                                        },
                                      ],
                                    },
                                    {
                                      componentName: 'Form.Item',
                                      id: 'node_ocks8dtt1m19',
                                      props: {
                                        label: 'ID',
                                        name: 'id',
                                        labelAlign: 'right',
                                        colon: true,
                                      },
                                      children: [
                                        {
                                          componentName: 'Input',
                                          id: 'node_ocksfuhwhs8',
                                          props: {
                                            placeholder: '请输入ID',
                                            style: {
                                              width: '180px',
                                            },
                                            bordered: true,
                                            size: 'middle',
                                          },
                                        },
                                      ],
                                    },
                                    {
                                      componentName: 'Form.Item',
                                      id: 'node_ocks8dtt1mw',
                                      props: {
                                        wrapperCol: {
                                          offset: 6,
                                        },
                                        labelAlign: 'right',
                                        colon: true,
                                        style: {
                                          flex: '1',
                                          textAlign: 'right',
                                        },
                                      },
                                      children: [
                                        {
                                          componentName: 'Button',
                                          id: 'node_ocks8dtt1mx',
                                          props: {
                                            type: 'primary',
                                            children: '查询',
                                            htmlType: 'submit',
                                            shape: 'default',
                                            size: 'middle',
                                          },
                                        },
                                      ],
                                    },
                                  ],
                                },
                              ],
                            },
                            {
                              componentName: 'AliAutoDivDefault',
                              id: 'node_ockt3t4q856b',
                              props: {
                                style: {},
                              },
                              children: [
                                {
                                  componentName: 'Button',
                                  id: 'node_ockt3t4q85y',
                                  props: {
                                    type: 'link',
                                    children: '新增打包',
                                    htmlType: 'button',
                                    shape: 'default',
                                    size: 'middle',
                                  },
                                  condition: true,
                                },
                              ],
                            },
                          ],
                        },
                      ],
                    },
                  ],
                },
              ],
            },
            {
              componentName: 'NextBlock',
              id: 'node_ockshc4ifn1b',
              props: {
                childTotalColumns: 12,
                mode: 'inset',
                layoutmode: 'O',
                autolayout: '(12|1)',
              },
              title: '区块',
              children: [
                {
                  componentName: 'NextBlockCell',
                  id: 'node_ockshc4ifn1c',
                  props: {
                    isAutoContainer: true,
                    colSpan: 12,
                    rowSpan: 1,
                  },
                  title: '子区块',
                  children: [
                    {
                      componentName: 'NextP',
                      id: 'node_ockshc4ifn1d',
                      props: {
                        wrap: false,
                        type: 'body2',
                        verAlign: 'middle',
                        textSpacing: true,
                        align: 'left',
                        flex: true,
                      },
                      title: '段落',
                      children: [
                        {
                          componentName: 'AliAutoSearchTableDefault',
                          id: 'node_ocksfuhwhsx',
                          props: {
                            rowKey: 'key',
                            dataSource: {
                              type: 'JSExpression',
                              value: 'this.state.pkgs',
                            },
                            columns: [
                              {
                                title: 'ID',
                                dataIndex: 'id',
                                key: 'name',
                                width: 80,
                              },
                              {
                                title: '渠道号',
                                dataIndex: 'channels',
                                key: 'age',
                                width: 142,
                                render: {
                                  type: 'JSSlot',
                                  params: ['text', 'record', 'index'],
                                  value: [
                                    {
                                      componentName: 'Typography.Text',
                                      id: 'node_ocksh2bq0428',
                                      props: {
                                        children: {
                                          type: 'JSExpression',
                                          value: 'this.item',
                                        },
                                        style: {
                                          display: 'block',
                                        },
                                      },
                                      loop: {
                                        type: 'JSExpression',
                                        value: "this.text.split(',')",
                                      },
                                    },
                                  ],
                                },
                              },
                              {
                                title: '版本号',
                                dataIndex: 'dic_version',
                                key: 'address',
                                render: {
                                  type: 'JSSlot',
                                  params: ['text', 'record', 'index'],
                                  value: [
                                    {
                                      componentName: 'Tooltip',
                                      id: 'node_ocksts0jqgj',
                                      props: {
                                        title: {
                                          type: 'JSSlot',
                                          value: [
                                            {
                                              componentName: 'Typography.Text',
                                              id: 'node_ocksts0jqgn',
                                              props: {
                                                children: {
                                                  type: 'JSExpression',
                                                  value: "this.item. channelId + ' / ' +  this.item.version",
                                                },
                                                style: {
                                                  display: 'block',
                                                  color: '#FFFFFF',
                                                },
                                              },
                                              loop: {
                                                type: 'JSExpression',
                                                value: 'this.text || []',
                                              },
                                            },
                                          ],
                                        },
                                      },
                                      children: [
                                        {
                                          componentName: 'Typography.Text',
                                          id: 'node_ocksts0jqgm',
                                          props: {
                                            children: {
                                              type: 'JSExpression',
                                              value: 'this.text[0].version',
                                            },
                                          },
                                        },
                                      ],
                                    },
                                  ],
                                },
                                width: 120,
                              },
                              {
                                title: '构建Job',
                                dataIndex: 'job_name',
                                width: 180,
                              },
                              {
                                title: '构建类型',
                                dataIndex: 'packaging_type',
                                width: 94,
                              },
                              {
                                title: '构建状态',
                                dataIndex: 'status',
                                render: {
                                  type: 'JSSlot',
                                  params: ['text', 'record', 'index'],
                                  value: [
                                    {
                                      componentName: 'Typography.Text',
                                      id: 'node_ocksh3jkxzw',
                                      props: {
                                        children: {
                                          type: 'JSExpression',
                                          value: 'this.statusDesc[this.text]',
                                        },
                                      },
                                    },
                                    {
                                      componentName: 'Icon',
                                      id: 'node_ocksh3jkxzx',
                                      props: {
                                        type: 'SyncOutlined',
                                        size: 16,
                                        spin: true,
                                        style: {
                                          marginLeft: '10px',
                                        },
                                      },
                                      condition: {
                                        type: 'JSExpression',
                                        value: 'this.text === 2',
                                      },
                                    },
                                  ],
                                },
                                width: 100,
                              },
                              {
                                title: '构建时间',
                                dataIndex: 'start_time',
                                render: {
                                  type: 'JSFunction',
                                  value: 'function(){ return this.renderTime.apply(this,Array.prototype.slice.call(arguments).concat([])) }',
                                },
                                width: 148,
                              },
                              {
                                title: '构建人',
                                dataIndex: 'user',
                                render: {
                                  type: 'JSFunction',
                                  value: 'function(){ return this.renderUserName.apply(this,Array.prototype.slice.call(arguments).concat([])) }',
                                },
                                width: 80,
                              },
                              {
                                title: 'Jenkins 链接',
                                dataIndex: 'jenkins_link',
                                render: {
                                  type: 'JSSlot',
                                  params: ['text', 'record', 'index'],
                                  value: [
                                    {
                                      componentName: 'Typography.Link',
                                      id: 'node_ocksh64kbx21',
                                      props: {
                                        href: {
                                          type: 'JSExpression',
                                          value: 'this.text',
                                        },
                                        target: '_blank',
                                        children: '查看',
                                      },
                                      condition: {
                                        type: 'JSExpression',
                                        value: 'this.text',
                                      },
                                    },
                                    {
                                      componentName: 'Typography.Text',
                                      id: 'node_ocksh64kbx22',
                                      props: {
                                        children: '暂无',
                                      },
                                      condition: {
                                        type: 'JSExpression',
                                        value: '!this.text',
                                      },
                                    },
                                  ],
                                },
                                width: 120,
                              },
                              {
                                title: '测试平台链接',
                                dataIndex: 'is_run_testing',
                                width: 120,
                                render: {
                                  type: 'JSSlot',
                                  params: ['text', 'record', 'index'],
                                  value: [
                                    {
                                      componentName: 'Typography.Link',
                                      id: 'node_ocksh3jkxz3e',
                                      props: {
                                        href: 'http://rivermap.alibaba.net/dashboard/testExecute',
                                        target: '_blank',
                                        children: '查看',
                                      },
                                      condition: {
                                        type: 'JSExpression',
                                        value: 'this.text',
                                      },
                                    },
                                    {
                                      componentName: 'Typography.Text',
                                      id: 'node_ocksh3jkxz3f',
                                      props: {
                                        children: '暂无',
                                      },
                                      condition: {
                                        type: 'JSExpression',
                                        value: '!this.text',
                                      },
                                    },
                                  ],
                                },
                              },
                              {
                                title: '触发源',
                                dataIndex: 'source',
                                width: 120,
                              },
                              {
                                title: '详情',
                                dataIndex: 'id',
                                render: {
                                  type: 'JSSlot',
                                  params: ['text', 'record', 'index'],
                                  value: [
                                    {
                                      componentName: 'Button',
                                      id: 'node_ocksh8yryw7',
                                      props: {
                                        type: 'link',
                                        children: '查看',
                                        size: 'small',
                                        style: {
                                          padding: '0px',
                                        },
                                        __events: {
                                          eventDataList: [
                                            {
                                              type: 'componentEvent',
                                              name: 'onClick',
                                              relatedEventName: 'handleDetail',
                                            },
                                          ],
                                          eventList: [
                                            {
                                              name: 'onClick',
                                              disabled: true,
                                            },
                                          ],
                                        },
                                        onClick: {
                                          type: 'JSFunction',
                                          value: 'function(){this.handleDetail.apply(this,Array.prototype.slice.call(arguments).concat([])) }',
                                        },
                                      },
                                    },
                                  ],
                                },
                                width: 80,
                                fixed: 'right',
                              },
                              {
                                title: '结果',
                                dataIndex: 'id',
                                render: {
                                  type: 'JSSlot',
                                  params: ['text', 'record', 'index'],
                                  value: [
                                    {
                                      componentName: 'Button',
                                      id: 'node_ocksh9v6jw7',
                                      props: {
                                        type: 'link',
                                        children: '查看',
                                        size: 'small',
                                        style: {
                                          padding: '0px',
                                        },
                                        __events: {
                                          eventDataList: [
                                            {
                                              type: 'componentEvent',
                                              name: 'onClick',
                                              relatedEventName: 'handleResult',
                                              paramStr: 'this.text',
                                            },
                                          ],
                                          eventList: [
                                            {
                                              name: 'onClick',
                                              disabled: true,
                                            },
                                          ],
                                        },
                                        onClick: {
                                          type: 'JSFunction',
                                          value: 'function(){this.handleResult.apply(this,Array.prototype.slice.call(arguments).concat([])) }',
                                        },
                                        ghost: false,
                                        href: {
                                          type: 'JSExpression',
                                          value: 'this.text',
                                        },
                                      },
                                    },
                                  ],
                                },
                                width: 80,
                                fixed: 'right',
                              },
                              {
                                title: '重新执行',
                                dataIndex: 'id',
                                width: 92,
                                render: {
                                  type: 'JSSlot',
                                  params: ['text', 'record', 'index'],
                                  value: [
                                    {
                                      componentName: 'Button',
                                      id: 'node_ocksh96rad1g',
                                      props: {
                                        type: 'text',
                                        children: '',
                                        icon: {
                                          type: 'JSSlot',
                                          value: [
                                            {
                                              componentName: 'Icon',
                                              id: 'node_ocksh96rad1j',
                                              props: {
                                                type: 'ReloadOutlined',
                                                size: 14,
                                                color: '#0593d3',
                                                style: {
                                                  padding: '3px',
                                                  border: '1px solid #0593d3',
                                                  borderRadius: '14px',
                                                  cursor: 'pointer',
                                                  height: '22px',
                                                },
                                                spin: false,
                                              },
                                            },
                                          ],
                                        },
                                        shape: 'circle',
                                        __events: {
                                          eventDataList: [
                                            {
                                              type: 'componentEvent',
                                              name: 'onClick',
                                              relatedEventName: 'reload',
                                            },
                                          ],
                                          eventList: [
                                            {
                                              name: 'onClick',
                                              disabled: true,
                                            },
                                          ],
                                        },
                                        onClick: {
                                          type: 'JSFunction',
                                          value: 'function(){this.reload.apply(this,Array.prototype.slice.call(arguments).concat([])) }',
                                        },
                                      },
                                    },
                                  ],
                                },
                                fixed: 'right',
                              },
                            ],
                            actions: [],
                            pagination: {
                              total: {
                                type: 'JSExpression',
                                value: 'this.state.total',
                              },
                              defaultPageSize: 10,
                              onPageChange: {
                                type: 'JSFunction',
                                value: 'function(){ return this.onPageChange.apply(this,Array.prototype.slice.call(arguments).concat([])) }',
                              },
                              defaultPageIndex: 1,
                            },
                            scrollX: 1200,
                            isPagination: true,
                          },
                          condition: {
                            type: 'JSExpression',
                            value: '!this.state.isSearch || (this.state.isSearch && this.state.pkgs.length > 0)',
                          },
                        },
                      ],
                    },
                  ],
                },
              ],
            },
            {
              componentName: 'NextBlock',
              id: 'node_ocksk6f8fa3b',
              props: {
                childTotalColumns: 12,
                mode: 'inset',
                layoutmode: 'O',
                autolayout: '(12|1)',
              },
              title: '区块',
              children: [
                {
                  componentName: 'NextBlockCell',
                  id: 'node_ocksk6f8fa3c',
                  props: {
                    isAutoContainer: true,
                    colSpan: 12,
                    rowSpan: 1,
                  },
                  title: '子区块',
                  children: [
                    {
                      componentName: 'NextP',
                      id: 'node_ocksk6f8fa3d',
                      props: {
                        wrap: false,
                        type: 'body2',
                        verAlign: 'middle',
                        textSpacing: true,
                        align: 'left',
                        flex: true,
                      },
                      title: '段落',
                      children: [
                        {
                          componentName: 'Empty',
                          id: 'node_ocksk6f8fa3e',
                          props: {
                            description: '暂无数据',
                          },
                          condition: {
                            type: 'JSExpression',
                            value: 'this.state.pkgs.length < 1 && this.state.isSearch',
                          },
                        },
                      ],
                    },
                  ],
                },
              ],
            },
          ],
        },
      ],
    },
  ],
  i18n: {},
}
