Skip to content

资源负荷组件

使用说明

资源负荷组件主要用于业务中展示人员负荷信息,可以直接引入使用用于资源负荷功能的开发。 同时也向业务甘特图提供,支持业务甘特图的资源负荷展示。

支持功能点

  • 支持柱状图数据展示(包含柱状图数据显隐)
  • 支持折线图数据展示
  • 支撑折线图和柱状图动态切换
  • 支持自定义列信息的传入
  • 支撑鼠标 Tip 信息显示
  • 支撑单元格点击事件
  • 支持是否显示分页器
  • 支持右上方查询条件自定义实现
  • 支持下方右下方提示信息自定义
  • 支持 tableHeader(标题栏)自定义样式(背景、边线、文字样式)
  • 支持 tableBody(内容区)自定义样式(背景、边线、文字样式)
  • 支持折线图自定义样式(折线图颜色)
  • tableBody 单元格增加鼠标滑过样式
  • 支持鼠标滑过单元的 hover 效果

综合示例

loading

数据格式定义

关键数据详细说明

针对所需要的关键参数的数据格式进行详细描述,以便于开发人员能够更好的理解和使用。

传入的数据 props.data

json
{
  "rows": [
    // 每个对象必须含有id和load属性,load属性是数组,表示这一行的折线和柱状图数据
    {
      // resName和自定义列的dataIndex属性对应即可
      "resName": "  栾欣",
      "id": "PLM_PM_RESOBJ_429d849027414d81ab454f995223f491",
      // load数组的返回数据的顺序要和title日期的顺序保持一致
      "load": [
        {
          "date": "2023-05-31",
          "plan": {
            "totalLoad": 0,
            "standardLoad": 0,
            "overLoad": 7.28,
            "releaseLoad": 7.59
          },
          "actual": {
            "totalLoad": 0,
            "standardLoad": 8.85,
            "overLoad": 2.45
          }
        }
      ]
    }
  ],
  "title": [
    {
      "range": "2023.05.31--2023.06.01",
      // 返回的顺序要和load中日期顺序保持一致
      "days": [
        {
          "date": "2023-05-31",
          "dayOfWeek": "三",
          "today": true
        },
        {
          "date": "2023-06-01",
          "dayOfWeek": "四",
          "today": false
        }
      ]
    }
  ],
  "total": 63601, // 当开启分页是需要传入
  "page": 1, // 当开启分页是需要传入
  "pageSize": 10 // 当开启分页是需要传入
}

数据展示索引:props.rowDataIndexs

javascript
[
  {
    text: '计划正常负荷',
    groupIndex: 'plan', // 数据中load数组中每个对象数据分组的索引
    dataIndex: 'standardLoad', // 数据中load数组中每个对象数据分组中具体数据的索引
    bgColor: '#95D150',
    renderTypes: ['bar', 'line'], //渲染的类型
  },
  {
    text: '计划超出负荷',
    groupIndex: 'plan',
    dataIndex: 'overLoad',
    bgColor: '#F8C23C',
    renderTypes: ['bar'],
  },
  {
    text: '计划释放负荷',
    groupIndex: 'plan',
    dataIndex: 'releaseLoad',
    bgColor: '#999999',
    renderTypes: ['bar'],
  },
  {
    text: '实际正常负荷',
    groupIndex: 'actual',
    dataIndex: 'standardLoad',
    bgColor: '#4C9FE8',
    renderTypes: ['bar', 'line'],
  },
  {
    text: '实际超出负荷',
    groupIndex: 'actual',
    dataIndex: 'overLoad',
    bgColor: '#EE854B',
    renderTypes: ['bar'],
  },
];

自定义列:props.customColumns

javascript
[
  {
    width: 112,
    dataIndex: 'resName', // 是props.data.row数组每个对象的属性名
    text: '资源',
  },
  {
    width: 112,
    dataIndex: 'resName',
    text: '资源1',
  },
];

自定义查询

自定义查询实现方式

右上方得自定义查询使用 solt.customQuery 支持, 使用 demo 如下所示。

vue
<template>
  <b-resource-load
    :data="resourceLoadData"
    :row-data-indexs="newRowsDataIndexs"
    :custom-columns="newCustomColumns"
    @clickChartCell="handleClickChart"
  >
    <template #customQuery> // [!code hl] // 自定义查询内容 // [!code hl] </template> // [!code hl]
  </b-resource-load>
</template>

注意

由于时间和进度问题,部分文档描述和部分参数格式描述未详细列出,请自行参考项目工程 Dome

API

HBResourceLoad 属性

参数说明类型默认值
data数据(见上放详情描述)Object{}
customColumns自定义列(见上放详情描述)Array[]
rowDataIndexs数据展示索引(见上放详情描述)Array[]
enablePagination是否开启分页Booleantrue
enableIndexColumn是否开启序号列Booleantrue
indexText序号列标题String序号
indexColumnWidth序号列宽度Number66
enableTip是否开启鼠标 TipBooleantrue
headerColumnHeight表头高度Number70
headerBgColor表头背景颜色String#F5F6F7
headerBorderColor表头边框颜色String#E8E8E8
headerFontStyle表头文字样式String'normal bold 14px PingFang SC'
headerFontColor表头文字颜色String'#000'
bodyBgColor表格背景颜色String'#fff'
bodyBorderColor表格边线颜色String'#E8E8E8'
bodyFontStyle表格文字样式String'normal 12px PingFang SC'
bodyFontColor表格文字颜色String'#000'
bodyCellHoverBgColor表格滑过之后得 hover 背景颜色String'#F5F6F7'
barChartFontColor柱状图中文字颜色String'#333'
lineDottedSize折线图原点大小Number4
lineBorderColor折线图颜色String'#95D150'
barWidth柱状图的的宽度Number40
barColumnPaddingLeft柱状图的 paddingLeftNumber4
rowColumnHeight表格每行的行高Number130

HBResourceLoad 方法

方法名称说明类型版本

HBResourceLoad 事件

方法名称说明回调类型版本
clickChartCell单元格点击事件(item) => {}-
changePage分页事件({ page, pageSize }) => {}-

基于 MIT 许可发布