widget-active-ring-chart.js 10.4 KB
/*
 * @Descripttion: 动态环图
 */
export const widgetActiveRingChart=  {
  code: 'widget-active-ring-chart',
  type: 'pieChart',
  tabName: '百分比',
  label: '动态环图',
  icon: 'iconicon_tubiao_bingtu',
  options: {
    // 配置
    setup: [
      {
        type: 'el-input-text',
        label: '图层名称',
        name: 'layerName',
        required: false,
        placeholder: '',
        value: '动态环图',
      },
      {
        type: 'el-slider',
        label: '环半径(%)',
        name: 'radius',
        required: false,
        placeholder: '',
        value: 75,
      },
      {
        type: 'el-slider',
        label: '环半径(动态)(%)',
        name: 'activeRadius',
        required: false,
        placeholder: '',
        value: 85,
      },
      {
        type: 'el-input-number',
        label: '环线条宽度',
        name: 'lineWidth',
        required: false,
        placeholder: '',
        value: 40,
      },
      {
        type: 'el-input-number',
        label: '切换间隔(ms)',
        name: 'activeTimeGap',
        required: false,
        placeholder: '',
        value: 3000,
      },
      {
        type: 'el-input-number',
        label: '小数位数',
        name: 'digitalFlopToFixed',
        required: false,
        placeholder: '',
        value: 0,
      },
      {
        type: 'el-input-text',
        label: '数字翻牌器单位',
        name: 'digitalFlopUnit',
        required: false,
        placeholder: '单位',
        value: '',
      },
      {
        type: 'el-input-number',
        label: '动画帧数',
        name: 'animationFrame',
        required: false,
        placeholder: '',
        value: 50,
      },
      {
        type: 'el-switch',
        label: '显示原始值',
        name: 'showOriginValue',
        required: false,
        placeholder: '',
        value: false,
      },
      {
        type: 'vue-color',
        label: '背景颜色',
        name: 'background',
        required: false,
        placeholder: '',
        value: ''
      },
      [
        {
          name: '标题设置',
          list: [
            {
              type: 'el-switch',
              label: '标题显示',
              name: 'isNoTitle',
              required: false,
              placeholder: '',
              value: false,
            },
            {
              type: 'el-input-text',
              label: '标题名',
              name: 'titleText',
              required: false,
              placeholder: '',
              value: '标题名',
            },
            {
              type: 'vue-color',
              label: '字体颜色',
              name: 'textColor',
              required: false,
              placeholder: '',
              value: '#FFD700'
            },
            {
              type: 'el-input-number',
              label: '字体字号',
              name: 'textFontSize',
              required: false,
              placeholder: '',
              value: 20
            },
            {
              type: 'el-select',
              label: '字体粗细',
              name: 'textFontWeight',
              required: false,
              placeholder: '',
              selectOptions: [
                { code: 'normal', name: '正常' },
                { code: 'bold', name: '粗体' },
                { code: 'bolder', name: '特粗体' },
                { code: 'lighter', name: '细体' }
              ],
              value: 'normal'
            },
            {
              type: 'el-select',
              label: '字体风格',
              name: 'textFontStyle',
              required: false,
              placeholder: '',
              selectOptions: [
                { code: 'normal', name: '正常' },
                { code: 'italic', name: 'italic斜体' },
                { code: 'oblique', name: 'oblique斜体' },
              ],
              value: 'normal'
            },
            {
              type: 'el-select',
              label: '字体位置',
              name: 'textAlign',
              required: false,
              placeholder: '',
              selectOptions: [
                { code: 'center', name: '居中' },
                { code: 'left', name: '左对齐' },
                { code: 'right', name: '右对齐' },
              ],
              value: 'center'
            }
          ],
        },
        {
          name: '提示语设置',
          list: [
            {
              type: 'el-switch',
              label: '提示语显示',
              name: 'isNoTipTitle',
              required: false,
              placeholder: '',
              value: false,
            },
            {
              type: 'el-switch',
              label: '数值显示',
              name: 'isShowTipVal',
              required: false,
              placeholder: '',
              value: false,
            },
            {
              type: 'el-input-number',
              label: '字体字号',
              name: 'tipFontSize',
              required: false,
              placeholder: '',
              value: 25
            },
            {
              type: 'vue-color',
              label: '字体颜色',
              name: 'tipsColor',
              required: false,
              placeholder: '',
              value: '#cdddf7'
            },
            {
              type: 'el-select',
              label: '字体位置',
              name: 'tipsAlign',
              required: false,
              placeholder: '',
              selectOptions: [
                { code: 'top', name: '头部' },
                { code: 'left', name: '左边' },
                { code: 'right', name: '右边' },
                { code: 'down', name: '底部' }
              ],
              value: 'down'
            },
            {
              type: 'el-input-number',
              label: '高度',
              name: 'tipFontHeight',
              required: false,
              placeholder: '',
              value: 100
            },
            {
              type: 'el-input-number',
              label: '左右距离',
              name: 'tipFontLeft',
              required: false,
              placeholder: '',
              value: 0
            },
            {
              type: 'el-input-number',
              label: '上下距离',
              name: 'tipFontTop',
              required: false,
              placeholder: '',
              value: 0
            },
          ],
        },
        {
          name: '数字翻牌器样式',
          list: [
            {
              type: 'vue-color',
              label: '颜色',
              name: 'fill',
              required: false,
              placeholder: '',
              value: '#3de7c9'
            },
            {
              type: 'el-input-number',
              label: '字体大小',
              name: 'fontSize',
              required: false,
              placeholder: '',
              value: 30,
            },
            {
              type: 'el-select',
              label: '字体粗细',
              name: 'fontWeight',
              required: false,
              placeholder: '',
              selectOptions: [
                {code: 'normal', name: '正常'},
                {code: 'bold', name: '粗体'},
                {code: 'bolder', name: '更粗'},
                {code: 'lighter', name: '更细'},
              ],
              value: 'normal'
            },
            {
              type: 'el-input-number',
              label: '水平偏移',
              name: 'digitalLeft',
              required: false,
              placeholder: '',
              value: 0,
            },
            {
              type: 'el-input-number',
              label: '垂直偏移',
              name: 'digitalTop',
              required: false,
              placeholder: '',
              value: 0,
            }
          ],
        },
        {
          name: '环颜色',
          list: [
            {
              type: 'customColor',
              label: '',
              name: 'customColor',
              required: false,
              value: [{ color: '#0CD2E6' }, { color: '#00BFA5' }, { color: '#FFC722' }, { color: '#886EFF' }, { color: '#008DEC' }],
            },
          ],
        }
      ]
    ],
    // 数据
    data: [
      {
        type: 'el-radio-group',
        label: '数据类型',
        name: 'dataType',
        require: false,
        placeholder: '',
        selectValue: true,
        selectOptions: [
          {
            code: 'staticData',
            name: '静态数据',
          },
          {
            code: 'dynamicData',
            name: '动态数据',
          },
        ],
        value: 'staticData',
      },
      {
        type: 'el-input-number',
        label: '刷新时间(毫秒)',
        name: 'refreshTime',
        relactiveDom: 'dataType',
        relactiveDomValue: 'dynamicData',
        value: 3600000
      },
      {
        type: 'el-button',
        label: '静态数据',
        name: 'staticData',
        required: false,
        placeholder: '',
        relactiveDom: 'dataType',
        relactiveDomValue: 'staticData',
        value: [{ value: 1048, name: "引擎" }, { value: 735, name: "访问" }, { value: 580, name: "邮件" }, { value: 484, name: "广告" }, { value: 300, name: "视频" }]
      },
      {
        type: 'dycustComponents',
        label: '',
        name: 'dynamicData',
        required: false,
        placeholder: '',
        relactiveDom: 'dataType',
        relactiveDomValue: 'dynamicData',
        chartType: 'widget-active-ring-chart',
        dictKey: 'PIE_PROPERTIES',
        value: '',
      },
    ],
    // 坐标
    position: [
      {
        type: 'el-input-number',
        label: '左边距',
        name: 'left',
        required: false,
        placeholder: '',
        value: 10,
      },
      {
        type: 'el-input-number',
        label: '上边距',
        name: 'top',
        required: false,
        placeholder: '',
        value: 10,
      },
      {
        type: 'el-input-number',
        label: '宽度',
        name: 'width',
        required: false,
        placeholder: '该容器在1920px大屏中的宽度',
        value: 300,
      },
      {
        type: 'el-input-number',
        label: '高度',
        name: 'height',
        required: false,
        placeholder: '该容器在1080px大屏中的高度',
        value: 300,
      },
    ],
  }
}