# 数据源

# 1.对应编码数据字典中新增子项

下面就已有数据字典新增数据源做详细步骤解析

例在字典编码为BLOCK_CONTENT_DATASOURCE_TYPE中新增数据源,可直接搜索该编码,进入该搜索结果直接新增子项即可

data-expend2

# 2.修改src/components/frame/Panel/BlockContent/utils.js

// 根据内容属性获取渲染内容所需要的组件
function getContentComp (data) {
    // 0:报表,1:页面,2:过滤器,4:视频,5:快捷菜单
    let reportTypes = {
        '1': 'page',
        '2': 'filter',
        '4': 'video',
        '5': 'quick-menu',
        // 以上为BLOCK_CONTENT_DATASOURCE_TYPE已有子项,如上图所示

        // 如下'6': 'test-data-source'为在系统中对应新增子项
        // 其中`test-data-sourch`需记住,因后续创建文件等需使用
        // 6:测试数据源
        '6': 'test-data-source',
    }
}

# 3.新增对应组件于src/components/frame/Panel/BlockContent/items目录下

如需自定义展示内容,可在上方对应目录路径下新建xxx.vue组件,命名格式为P+编码的形式最佳

例如此处示例新增编码为'test-data-source',则可新增组件命名为PTestDataSource.vue,可在此组件自定义内容

# 4.修改src/components/frame/Panel/BlockContent/items/index.js

在上述目录文件中引入新增组件

// 实际路径以实际为准,此处示例对应路径为'./PTest.vue'
import PTestDataSource from './PTestDataSource.vue'

export {
    PTestDataSource,
}

# 5.修改src/components/frame/Panel/BlockContent/ContentItem.vue

在上述目录文件中引入并注册新增组件

// 实际路径以实际为准,此处示例对应路径为'./items/index'
import { PTestDataSource } from './items/index'
export default {
    components: {
        PTestDataSource
    },
}

至此,扩展数据源步骤已全部完成,系统页面数据源类型已增加