首页 > 其他分享 >颜色,背景,间距,可修改

颜色,背景,间距,可修改

时间:2024-01-29 10:45:50浏览次数:25  
标签:间距 颜色 name default data value 修改 var type

/*
 * @Author: wxl
 * @Date: 2022-11-04 08:22:23
 * @Last Modified by: wxl
 * @Last Modified time: 2022-12-12 17:32:58
 */

<template>
<!-- 饼图 四分之三圆-->
    <div :id="histogramId" v-bind:style="{height:height,width:width}"></div>
</template>
<script type="text/ecmascript-6">
// import propAPI from './echartProp'
export default {
    // props:propAPI,
    props:{
        //id
        histogramId:{
            type:String,
            default:''
        },
        //组件的高度
        height: {
            type: String,
            default: '230px'
        },
        //组件的宽度
        width: {
            type: String,
            default: '100%'
        },
        pieData:{
            type:Array,
            default:()=>[
                {name: '待派单',value: 20},
                {name: '待接单',value: 10},
                {name: '处理中',value: 30},
                {name: '已完成',value: 40},
                {name: '已取消',value: 10},
                {name: '已评价',value: 20}
            ]
        },
        //颜色数组
        colorList:{
            type:Array,
            default:()=>['#8185F1','#FA3B67','#31C2AF','#CECE41','#0DFF85','#16F3FB']
        },
        //主园的大小
        mainCircle:{
            type:Object,
            default:()=>{
                return{
                    radius:[70, 65],
                    center:['25%','47%'],
                }
            }
        },
        //lend的设置
        legend:{
            type:Object,
            default:()=>{
                return{
                    itemWidth:10,
                    itemHeight:10,
                    top: '15%',
                    left: '52%',
                    icon:'rect',
                    // itemGap设置各个item之间的间隔,单位px,默认为10,横向布局时为水平间隔,纵向布局时为纵向间隔
                    itemGap: 20,
                    // width:'100%',
                    height:'20%'
                }
            }
        },
        legendShow:{
            type:Boolean,
            default:true
        },
        tooltipShow:{
            type:Boolean,
            default:true
        },
        jianju:{
            type:Number,
            default:12
        },
        bgColor:{
            type:String,
            default:'#28537B'
        }
    },
    data(){
        return{
            warnNUm:'',
            totalSum:0,
        }
    },
    methods:{

        initPie(){
            var that = this

            var data = this.pieData
            var arrName = getArrayValue(data, "name");
            var arrValue = getArrayValue(data, "value");
            var sumValue = eval(arrValue.join('+'));
            var objData = array2obj(data, "name");
            var optionData = getData(data)
            function getArrayValue(array, key) {
                var key = key || "value";
                var res = [];
                if (array) {
                    array.forEach(function(t) {
                        res.push(t[key]);
                    });
                }
                return res;
            }

            function array2obj(array,key) {
                var resObj = {};
                for(var i=0;i<array.length;i++){
                    resObj[array[i][key]] = array[i];
                }
                return resObj;
            }

            function getData(data) {
                var res = {
                    series: [],
                    yAxis: []
                };
                for (let i = 0; i < data.length; i++) {
                    // console.log([70 - i * 15 + '%', 67 - i * 15 + '%']);
                    res.series.push({
                        name: '',
                        type: 'pie',
                        clockWise: false, //顺时加载
                        hoverAnimation: false, //鼠标移入变大
                        radius: [that.mainCircle.radius[0] - i * that.jianju + '%', that.mainCircle.radius[1] - i * that.jianju + '%'],
                        // center: ["30%", "55%"],
                        center:that.mainCircle.center,
                        label: {
                            show: false
                        },
                        itemStyle: {
                            label: {
                                show: false,
                            },
                            labelLine: {
                                show: false
                            },
                            borderWidth: 5,
                        },
                        data: [{
                            value: data[i].value,
                            name: data[i].name
                        }, {
                            value: sumValue - data[i].value,
                            name: '',
                            itemStyle: {
                                color: "rgba(0,0,0,0)",
                                borderWidth: 0
                            },
                            tooltip: {
                                show: false
                            },
                            hoverAnimation: false
                        }]
                    });
                    res.series.push({
                        name: '',
                        type: 'pie',
                        silent: true,
                        z: 1,
                        clockWise: false, //顺时加载
                        hoverAnimation: false, //鼠标移入变大
                        radius: [that.mainCircle.radius[0] - i * that.jianju + '%', that.mainCircle.radius[1] - i * that.jianju + '%'],
                       center:that.mainCircle.center,
                        label: {
                            show: false
                        },
                        itemStyle: {
                            label: {
                                show: false,
                            },
                            labelLine: {
                                show: false
                            },
                            borderWidth: 5,
                        },
                        data: [{
                            value: 7.5,
                            itemStyle: {
                                color: that.bgColor,
                                borderWidth: 0
                            },
                            tooltip: {
                                show: false
                            },
                            hoverAnimation: false
                        }, {
                            value: 2.5,
                            name: '',
                            itemStyle: {
                                color: "rgba(0,0,0,0)",
                                borderWidth: 0
                            },
                            tooltip: {
                                show: false
                            },
                            hoverAnimation: false
                        }]
                    });
                    // res.yAxis.push((data[i].value / sumValue * 100).toFixed(2) + "%");
                }
                return res;
            }



            this.warnNUm = this.$echarts.init(document.getElementById(this.histogramId));
            this.warnNUm.setOption({
                legend: {
                    show: this.legendShow,
                    icon:this.legend.icon,
                    top: this.legend.top,
                    left: this.legend.left,
                    data: arrName,
                    itemWidth:this.legend.itemWidth,
                    itemHeight:this.legend.itemHeight,
                    // padding: [0, 5],
                    itemGap: this.legend.itemGap,
                    formatter: function(name) {
                        return "{title|   " + name + "}         {value|" + (objData[name].value) +"}"
                    },

                    textStyle: {
                        rich: {
                            title: {
                                fontSize: 12,
                                width:70,
                                color: "#B5D5FB"
                            },
                            value: {
                                fontSize: 14,
                                color: "#fff"
                            }
                        }
                    },
                },
                tooltip: {
                    show: this.tooltipShow,
                },
                color: this.colorList,
                grid: this.grid,
                yAxis: [{
                    type: 'category',
                    inverse: true,
                    axisLine: {
                        show: false
                    },
                    axisTick: {
                        show: false
                    },
                    axisLabel: {
                        interval: 0,
                        inside: true,
                        textStyle: {
                            color: "#fff",
                            fontSize: 16,
                        },
                        show: true
                    },
                    data: optionData.yAxis
                }],
                xAxis: [{
                    show: false
                }],
                series: optionData.series
            });
            //点击
            // that.warnNUm.on('click', function (params) {
            //     // console.log(params.dataIndex,'=====')
            //     //向父级传递index
            //     that.$emit('pieAll',params.dataIndex)
            // });

        },

    },
    watch:{
        pieData: {
            handler(newVal, oldVal) {
                // console.log(1111)
                // this.warnNUm.resize()
                this.initPie()
            },
            deep: true
        },
        width:function(){
            // alert(this.width)
            this.warnNUm.resize()
        },
        // spaceNum1(val){
        //     alert(val)
        //     this.warnNUm.resize()
        // },
    },
    mounted(){
        // this.initSingleColorZhu()
        // 新建一个promise对象
        let newPromise = new Promise((resolve) => {
            resolve()
        })
        //然后异步执行echarts的初始化函数
        newPromise.then(() => {
            //  此dom为echarts图标展示dom
            this.initPie()
        })
    },
}
</script>

标签:间距,颜色,name,default,data,value,修改,var,type
From: https://www.cnblogs.com/xuelinomen/p/17993993

相关文章

  • 可滚动的塔状图,包含单个或者多个,颜色可变或者一致,或者渐变,详见代码:
    相关组件代码:<template><!--柱状图横向滚动柱状图--><div:id="histogramId"v-bind:style="{height:height,width:width}"></div></template><scripttype="text/ecmascript-6">exportdefault{p......
  • MySQL查看默认密码和修改密码
    目录查看默认密码1.查找日志目录2.vim查看3.搜索password关键字修改密码1.使用默认密码登陆2.修改密码3.立即生效查看默认密码1.查找日志目录find/-namemysqld.log2.vim查看3.搜索password关键字修改密码1.使用默认密码登陆2.修改密码......
  • 最新Unity DOTS Instancing合批:如何针对单个渲染实体修改材质参数
    最近在做DOTS的教程,由于DOTS(版本1.0.16)目前不支持角色的骨骼动画,我们是将角色的所有动画数据Baker到一个纹理里面,通过修改材质中的参数AnimBegin,AnimEnd来决定动画播放的起点和终点,材质参数AnimTime记录当前过去的动画时间。但是在做大规模战斗控制的时候,有10000+的小兵在战斗......
  • MySQL批量修改数据表编码及字符集为utf8mb4
    utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符。 采用utf8mb4编码的好处是:存储与获取数据的时候,不用再考虑表情字符的编码与解码问题。更改数据库的编码为utf8mb4:1.MySQL的版本utf8mb4的最低mysql版本支持版本为5.5.3+,若不是,请升级到较新版本。2.MySQL......
  • 新版本的 Jenkins 2.388的权限修改设置Jenkins为root用户启动---亲测好用OK
    最新版本的Jenkins修改/etc/sysconfig/jenkins中的JENKINS_USER=root不会再生效,需要按照以下配置进行操作 vim/usr/lib/systemd/system/jenkins.service重新加载和重启systemctldaemon-reloadsystemctlrestartjenkins 最新版本的Jenkins修改/etc/sysconfig/jenkins......
  • 大华监控OSD文件批量获取修改工具
    这几年都在做智能化,发现一个问题,比如一个学校里面很多监控,特别是一些旧的零零散散的,我们在新增个百来个。这个时候发现问题了,学校很多监控被我们拆去别的地方安装,同时又没有初始化,或者有些当时没有在线的,这个时候摄像头就很难找了,同时要做一份IP对照表是相当麻烦了。今天无聊,就......
  • [office] 给含有公式的excel单元格添加上合适的背景颜色
    大家在使用excel的时候经常会遇见这样的经理,就是我们在编辑一个很长时间不用的excel表格时,经常会将含有公式的单元格删除和覆盖,最后弄得很是通信,今天告诉大家一个好方法,就是给含有公式的excel单元格添加上合适的背景颜色。第一种方法是利用“定位”功能,按照以下步骤操作:......
  • [office] excel2007表格中如何插入和修改艺术字
    Excel为用户提供了多种艺术字效果,在编辑、制作表格的过程中,为了使表格中的内容更加美观,可以插入艺术字,今天我们就来学习excel2007表格中插入和修改艺术字的方法。一、插入艺术字1、切换到【插入】菜单选项卡,单击【文本】选项组中的【艺术字】下拉按钮。2、在弹出的下拉......
  • iview-input placeholder 样式修改
    /deep/.ivu-input::-webkit-input-placeholder{color:#87cfff;}/deep/.ivu-input::-moz-placeholder{/*MozillaFirefox19+*/color:#87cfff;}/deep/.ivu-input::-moz-placeholder{......
  • PyCharm如何更改背景颜色-PyCharm更改背景颜色的方法
    https://www.onlinedown.net/article/10037132.htm 第一步:打开pycharm,点击File,选择Settings,或者用快捷键Ctrl+Alt+s。      第二步:点击Editor中的ColorScheme。      第三步:在ColorScheme中点击Python。      第四步:点击Python后出现此界面,点击Schem......