var vms = Vue.component("amplify-gzzb", { template: `
`, props: {}, data() { return { show: false, typedata:[], projectId:JSON.parse(localStorage.getItem("data")).id, } }, mounted() { }, methods: { openAmplify() { this.show = true this.getGZData() }, closeAmplify() { this.show = false }, closeAmplifyAll(e) { if (e.target.className == 'amplify-fixed') { this.show = false } }, getGZData() { axios.post("https://smz.makalu.cc/mkl/screenApi/getCqWorkTypeData?token=" + JSON.parse(localStorage.getItem("data")).smz_token + "&deptId=131&typtDeptId=" + JSON.parse(localStorage.getItem("data")).dept_id + "&typtProjectId=" + JSON.parse(localStorage.getItem("data")).id+"&team_type="+1, {}).then(res => { var workPropData = []; if (res.data.code != "-1") { var data = res.data.workTypeData; for (let i = 0; i < data.length; i++) { workPropData.push({ text: data[i].name, value: data[i].value, prop: data[i].percent, id: data[i].id }) } } var workPropDataNew = [] var val={ id : '', text:'其他工种', prop : 0, value : 0, } if(workPropData.length > 0){ for (let i = 0; i < workPropData.length ; i++) { if(workPropData[i].text == '其他工种' || workPropData[i].text == '其他'){ val.id += workPropData[i].id+',' val.prop += Number(workPropData[i].prop) val.value += Number(workPropData[i].value) }else { workPropDataNew.push(workPropData[i]) } } } workPropDataNew.push(val) this.typedata = workPropDataNew; this.getChartData() this.getChartData1() }).catch(err => { }) }, //左边圆形图 getChartData(){ //品类金额占比 饼图 var chChartPie = echarts.init(this.$refs.amplifyBox); this.echartPie(chChartPie,this.typedata) }, echartPie(chChart,chartData){ // console.log(chartData) let newPromise = new Promise((resolve) => { resolve() }) //然后异步执行echarts的初始化函数 newPromise.then(() => { var total_datas = 0; var data = []; var legendData = []; var color = ['#4974ff','#52aef7','#6863d7','#1d5d89','#20e6ff','#67feef'] for (let i = 0; i { return a + b.value; }, 0);*/ this.option = { title: { text: total_datas, subtext: "总人数", x: "center", y: "143", textStyle: { color: "#0dd2fd", fontSize: 52, fontWeight: "normal", align: "center", width: "200px", }, subtextStyle: { color: "#a5b5f0", fontSize: 28, fontWeight: "normal", align: "center", }, }, tooltip: { trigger: 'item', formatter: "{b}
{c} ({d}%)" }, series: [ { name: "品类金额占比", type: "pie", center: ["50%", "50%"], radius: ["53%", "70%"], data: data, label: { show: false, }, itemStyle: { normal: { borderWidth: 10, borderColor: "#051a36" } }, }, { name: "外边框", type: "pie", clockWise: false, //顺时加载 hoverAnimation: false, //鼠标移入变大 center: ["50%", "50%"], radius: ["78%", "78%"], label: { normal: { show: false, }, }, data: [ { value: 9, name: "", itemStyle: { normal: { borderWidth: 6, borderColor: "#152c65", }, }, }, ], }, ], } chChart.setOption(this.option); window.onresize = chChart.resize; }) }, //右边进度图 getChartData1(){ var chChartBar = echarts.init(this.$refs.amplifyStyle); this.echartBar(chChartBar,this.typedata) }, echartBar(chChart,chartData){ console.log(chartData) var that = this let newPromise = new Promise((resolve) => { resolve() }) //然后异步执行echarts的初始化函数 newPromise.then(() => { var value = []; var prop = []; var text = []; var zero = [] var total = 0 for (let i = chartData.length-1; i >=0; i--) { total += chartData[i].value; value.push(chartData[i].value) prop.push(chartData[i].prop.toFixed(2)) text.push(chartData[i].text) zero.push(0) } var data = [] var data_all = new Array(prop.length) for (let i = 0; i