编程语言
首页 > 编程语言> > 软件工程应用于实践:AJ-Report项目 源码分析(1)

软件工程应用于实践:AJ-Report项目 源码分析(1)

作者:互联网

2021SC@SDUSC

我负责的部分是前端关于报表设计的部分。

由于相关内容还在学习中,本次分析较少内容。

首先是报表设计中的“数据源”

 点击后界面如图

 源码位于report-ui\src\views\report\datasource,接下来源码分析

<template>

  <anji-crud ref="listPage" :option="crudOption">

    <template v-slot:buttonLeftOnTable>

      <el-button type="primary" icon="el-icon-plus" @click="operateDatasource('add')" v-permission="'datasourceManage:insert'">新增</el-button>

    </template>



    <template slot="rowButton" slot-scope="props">

      <el-button type="text" @click="operateDatasource('edit',props)" v-permission="'datasourceManage:update'">编辑</el-button>

    </template>


    <template v-slot:pageSection>

      <EditDataSource ref="EditDataSource" :dataSource="dataSource" :visib="dialogVisibleSetDataSource" @handleClose="dialogVisibleSetDataSource = false" @refreshList="refreshList" />

    </template>

  </anji-crud></template>

首先在顶端插入“新增”按钮,在每一行右侧插入“编辑”按钮,即自定义的卡片插槽,将在编辑详情页面,出现在底部新卡片。这里可以将自定义的弹出框代码,放入到page中。

crudOption: {

        title: '数据源',

        labelWidth: '120px',

        queryFormFields: [

          {

            inputType: 'input',

            label: '数据源编码',

            field: 'sourceCode'

          },

          {

            inputType: 'input',

            label: '数据源名称',

            field: 'sourceName'

          },

          {

            inputType: 'anji-select',

            anjiSelectOption: {

              dictCode: 'SOURCE_TYPE',

            },

            label: '数据源类型',

            field: 'sourceType'

          },

        ],

     

首先使用菜单做为页面标题,详情页中输入框左边文字宽度,接下来编写查询表单条件,其中form表单类型 input|input-number|anji-select(传递url或者dictCode)|anji-tree(左侧树)|date|datetime|datetimerange。

{

            label: '数据源类型',

            placeholder: '',

            field: 'sourceType',

            fieldTableRowRenderer: (row) => {

              return this.getDictLabelByCode('SOURCE_TYPE', row['sourceType'])

            },

            editField: 'sourceType',

            inputType: 'input',

            rules: [

              { min: 1, max: 50, message: '不超过50个字符', trigger: 'blur' }

            ],

            disabled: false,

          },

          {

            label: '数据源连接配置json',

            placeholder: '',

            field: 'sourceConfig',

            editField: 'sourceConfig',

            tableHide: true,

            inputType: 'input',

            rules: [

              { min: 1, max: 2048, message: '不超过2048个字符', trigger: 'blur' }

            ],

            disabled: false,

          },

          {

            label: '状态',//0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG

            placeholder: '',

            field: 'enableFlag',

            fieldTableRowRenderer: (row) => {

              return this.getDictLabelByCode('ENABLE_FLAG', row['enableFlag'])

            },

            colorStyle: {

              0: 'table-danger',

              1: 'table-success',

            },

 数据源类型 DIC_NAME=SOURCE_TYPE; mysql,orace,sqlserver,elasticsearch,接口,javaBean,数据源类型字典中item-extend动态生成表单。

数据源连接配置json:关系库{ jdbcUrl:'', username:'', password:'' } ES{hostList:'ip1:9300,ip2:9300,ip3:9300', clusterName:'elasticsearch_cluster' }                            接口{apiUrl:'http://ip:port/url', method:'' } javaBean{ beanNamw:'xxx' }

key为editField渲染的值(字典的提交值)'红色': 'danger','蓝色': 'primary','绿色': 'success','黄色': 'warning','灰色': 'info','白色':''

 

标签:数据源,AJ,label,field,源码,Report,input,inputType,row
来源: https://blog.csdn.net/qq_51460830/article/details/120780514