|
@@ -84,8 +84,15 @@ export default defineComponent({
|
|
|
if (i === 'TOTAL') {
|
|
|
forms.total = Math.ceil(data[i] * 100)
|
|
|
} else {
|
|
|
- titleList.push(reportCourseType[i])
|
|
|
- valueList.push(data[i])
|
|
|
+ // titleList.push(reportCourseType[i])
|
|
|
+ // valueList.push(data[i])
|
|
|
+ const value = data[i]
|
|
|
+ if (Array.isArray(value)) {
|
|
|
+ value.forEach((v: any) => {
|
|
|
+ titleList.push(v.name)
|
|
|
+ valueList.push(v.value)
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -93,18 +100,26 @@ export default defineComponent({
|
|
|
const dataNot = props.reportDataNot || {}
|
|
|
for (const i in dataNot) {
|
|
|
if (i === 'TOTAL') {
|
|
|
- forms.total2 = Math.ceil(data[i] * 100)
|
|
|
+ forms.total2 = Math.ceil(dataNot[i] * 100)
|
|
|
} else {
|
|
|
- valueList2.push(dataNot[i])
|
|
|
+ const value = dataNot[i]
|
|
|
+ if (Array.isArray(value)) {
|
|
|
+ value.forEach((v: any) => {
|
|
|
+ // titleList.push(v.name)
|
|
|
+ valueList2.push(v.value)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ // valueList2.push(dataNot[i])
|
|
|
}
|
|
|
}
|
|
|
+ console.log(valueList, valueList2)
|
|
|
if (forms.type.includes('YES')) {
|
|
|
seriesList.push({
|
|
|
name: '出勤课时数',
|
|
|
type: 'bar',
|
|
|
stack: 'work',
|
|
|
showBackground: false,
|
|
|
- barWidth: 15,
|
|
|
+ barWidth: 20,
|
|
|
itemStyle: {
|
|
|
color: '#5EA4FF'
|
|
|
},
|
|
@@ -123,7 +138,7 @@ export default defineComponent({
|
|
|
type: 'bar',
|
|
|
stack: 'work',
|
|
|
showBackground: false,
|
|
|
- barWidth: 15,
|
|
|
+ barWidth: 20,
|
|
|
itemStyle: {
|
|
|
color: '#69DDE8'
|
|
|
},
|
|
@@ -140,13 +155,39 @@ export default defineComponent({
|
|
|
const chartDom = document.getElementById('teacherEcharts')
|
|
|
myChart = echarts.init(chartDom as HTMLDivElement)
|
|
|
const option = {
|
|
|
+ dataZoom: [
|
|
|
+ {
|
|
|
+ type: 'inside',
|
|
|
+ realtime: true,
|
|
|
+ startValue: 0,
|
|
|
+ endValue: 4,
|
|
|
+ filterMode: 'none',
|
|
|
+ zoomLock: true
|
|
|
+ }
|
|
|
+ ],
|
|
|
xAxis: {
|
|
|
type: 'category',
|
|
|
data: titleList,
|
|
|
axisLabel: {
|
|
|
- rotate: 45,
|
|
|
- fontSize: 10,
|
|
|
- color: '#333'
|
|
|
+ interval: 0,
|
|
|
+ fontSize: 9,
|
|
|
+ color: '#333',
|
|
|
+ width: 54,
|
|
|
+ formatter: (value: any) => {
|
|
|
+ let ret = '' // 拼接加\n返回的类目项
|
|
|
+ const valLength = value.length // X轴类目项的文字个数
|
|
|
+ const rowN = Math.ceil(valLength / 6) // 类目项需要换行的行数
|
|
|
+ if (rowN > 1) {
|
|
|
+ ret =
|
|
|
+ value.substring(0, 6) +
|
|
|
+ '\n' +
|
|
|
+ value.substring(6, 11) +
|
|
|
+ (valLength > 11 ? '... ' : '')
|
|
|
+ return ret
|
|
|
+ } else {
|
|
|
+ return value + '\n' //+ '{b|添加}'
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
axisLine: {
|
|
|
lineStyle: {
|