|
|
|
// @ts-ignore
|
|
|
|
import * as echarts from '../../../../components/ec-canvas/echarts.js'
|
|
|
|
|
|
|
|
function setOption(chart: any, chartData: AnyArray, echartsColorList: AnyArray) {
|
|
|
|
const option = {
|
|
|
|
color: echartsColorList,
|
|
|
|
series: [
|
|
|
|
{
|
|
|
|
type: 'pie',
|
|
|
|
radius: ['72%', '95%'],
|
|
|
|
silent: true,
|
|
|
|
avoidLabelOverlap: false,
|
|
|
|
label: {
|
|
|
|
show: false
|
|
|
|
},
|
|
|
|
labelLine: {
|
|
|
|
show: false,
|
|
|
|
normal: {
|
|
|
|
show: false
|
|
|
|
}
|
|
|
|
},
|
|
|
|
itemStyle: {
|
|
|
|
borderColor: '#fff',
|
|
|
|
borderWidth: '2'
|
|
|
|
},
|
|
|
|
data:chartData
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
chart.setOption(option)
|
|
|
|
}
|
|
|
|
|
|
|
|
Component({
|
|
|
|
data: {
|
|
|
|
ec: {
|
|
|
|
lazyLoad: true
|
|
|
|
},
|
|
|
|
colorList: ['#fe6963', '#ffc600', '#e7a756', '#cfedec'],
|
|
|
|
echartsColorList: [],
|
|
|
|
chartData: [],
|
|
|
|
width:0
|
|
|
|
},
|
|
|
|
properties: {
|
|
|
|
order: {
|
|
|
|
type: Number,
|
|
|
|
value: 0
|
|
|
|
},
|
|
|
|
contentObj: {
|
|
|
|
type: Object,
|
|
|
|
value: {},
|
|
|
|
observer: function (value) {
|
|
|
|
let chartData = []
|
|
|
|
let echartsColorList = []
|
|
|
|
console.log('::::::::::::' + value.evaBadPercent)
|
|
|
|
if (value.noEvaPercent == 0 && value.evaBadPercent == 0 && value.evaGoodPercent == 0 && value.evaVeryGoodPercent == 0){
|
|
|
|
if (value.noEvaPercent == 0) {
|
|
|
|
chartData.push({
|
|
|
|
value: value.noEvaPercent,
|
|
|
|
name: '未评价'
|
|
|
|
})
|
|
|
|
echartsColorList.push('#29B9A5')
|
|
|
|
}
|
|
|
|
if (value.evaBadPercent == 0) {
|
|
|
|
chartData.push({
|
|
|
|
value: value.evaBadPercent,
|
|
|
|
name: '不满意'
|
|
|
|
})
|
|
|
|
echartsColorList.push('#63CFED')
|
|
|
|
}
|
|
|
|
if (value.evaGoodPercent == 0) {
|
|
|
|
chartData.push({
|
|
|
|
value: value.evaGoodPercent,
|
|
|
|
name: '基本满意'
|
|
|
|
})
|
|
|
|
echartsColorList.push('#FFA270')
|
|
|
|
}
|
|
|
|
if (value.evaVeryGoodPercent == 0) {
|
|
|
|
chartData.push({
|
|
|
|
value: value.evaVeryGoodPercent,
|
|
|
|
name: '非常满意'
|
|
|
|
})
|
|
|
|
echartsColorList.push('#FD6A62')
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
if (value.noEvaPercent > 0) {
|
|
|
|
chartData.push({
|
|
|
|
value: value.noEvaPercent,
|
|
|
|
name: '未评价'
|
|
|
|
})
|
|
|
|
echartsColorList.push('#29B9A5')
|
|
|
|
}
|
|
|
|
if (value.evaBadPercent > 0) {
|
|
|
|
chartData.push({
|
|
|
|
value: value.evaBadPercent,
|
|
|
|
name: '不满意'
|
|
|
|
})
|
|
|
|
echartsColorList.push('#63CFED')
|
|
|
|
}
|
|
|
|
if (value.evaGoodPercent > 0) {
|
|
|
|
chartData.push({
|
|
|
|
value: value.evaGoodPercent,
|
|
|
|
name: '基本满意'
|
|
|
|
})
|
|
|
|
echartsColorList.push('#FFA270')
|
|
|
|
}
|
|
|
|
if (value.evaVeryGoodPercent > 0) {
|
|
|
|
chartData.push({
|
|
|
|
value: value.evaVeryGoodPercent,
|
|
|
|
name: '非常满意'
|
|
|
|
})
|
|
|
|
echartsColorList.push('#FD6A62')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
this.setData({
|
|
|
|
// @ts-ignore
|
|
|
|
chartData: chartData,
|
|
|
|
// @ts-ignore
|
|
|
|
echartsColorList: echartsColorList
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
lifetimes: {
|
|
|
|
attached () {
|
|
|
|
this.setData({
|
|
|
|
width:wx.getSystemInfoSync().windowWidth
|
|
|
|
})
|
|
|
|
// @ts-ignore
|
|
|
|
this.ecComponent = this.selectComponent('#mychart-dom-bar')
|
|
|
|
this.init()
|
|
|
|
},
|
|
|
|
ready(){
|
|
|
|
wx.createSelectorQuery().in(this).selectAll('.street-name').boundingClientRect((res)=>{
|
|
|
|
console.log(this.data.width)
|
|
|
|
let height = this.data.width > 500?"60":"30"
|
|
|
|
if(res[0].height>height){
|
|
|
|
this.setData({
|
|
|
|
"contentObj.overHeight": true
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}).exec()
|
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
// 点击按钮后初始化图表
|
|
|
|
init () {
|
|
|
|
// @ts-ignore
|
|
|
|
this.ecComponent.init((canvas: any, width: any, height: any) => {
|
|
|
|
const chart = echarts.init(canvas, null, {
|
|
|
|
width: width,
|
|
|
|
height: height
|
|
|
|
})
|
|
|
|
setOption(chart, this.data.chartData, this.data.echartsColorList)
|
|
|
|
return chart
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|