|
|
@@ -25,7 +25,7 @@ watch(
|
|
|
initOption.legend.data = Name.value
|
|
|
initOption.toolbox.show = isShowTooltips.value
|
|
|
nextTick(() => {
|
|
|
- initChart()
|
|
|
+ revenueChart.value.setOption(initOption)
|
|
|
})
|
|
|
},
|
|
|
{
|
|
|
@@ -39,7 +39,7 @@ watch(
|
|
|
initOption.yAxis.max = Max.value
|
|
|
initOption.yAxis.interval = interval.value
|
|
|
nextTick(() => {
|
|
|
- initChart()
|
|
|
+ revenueChart.value.setOption(initOption)
|
|
|
})
|
|
|
},
|
|
|
{
|
|
|
@@ -81,80 +81,6 @@ const Name = computed(() => {
|
|
|
const isShowTooltips = computed(() => {
|
|
|
return bar_data.value?.isShowTooltips
|
|
|
})
|
|
|
-const exportData = ({ filename }: any) => {
|
|
|
- $api
|
|
|
- .RevenueDownload({
|
|
|
- date_start: props.RevenueStartDate,
|
|
|
- date_end: props.RevenueEndDate
|
|
|
- })
|
|
|
- .then((res: any) => {
|
|
|
- if (res.code === 200) {
|
|
|
- let header: any = []
|
|
|
- let data: any = []
|
|
|
- let sheetname: any = []
|
|
|
- let filterA = res.data.r2_cloumn.map((el: any) => {
|
|
|
- return el.dataIndex
|
|
|
- })
|
|
|
- let titleA = res.data.r2_cloumn.map((el: any) => {
|
|
|
- return el.title
|
|
|
- })
|
|
|
- let filterB = res.data.r3_cloumn.map((el: any) => {
|
|
|
- return el.dataIndex
|
|
|
- })
|
|
|
- let titleB = res.data.r3_cloumn.map((el: any) => {
|
|
|
- return el.title
|
|
|
- })
|
|
|
- let result: any = [
|
|
|
- {
|
|
|
- tHeader: titleA,
|
|
|
- filterVal: filterA,
|
|
|
- tableDatas: res.data.r2,
|
|
|
- sheetName: res.data.r2_title
|
|
|
- },
|
|
|
- {
|
|
|
- tHeader: titleB,
|
|
|
- filterVal: filterB,
|
|
|
- tableDatas: res.data.r3,
|
|
|
- sheetName: res.data.r3_title
|
|
|
- }
|
|
|
- ]
|
|
|
- let formatJson = (filterVal: any, jsonData: any) => {
|
|
|
- return jsonData.map((v: any) => filterVal.map((j: any) => v[j]))
|
|
|
- }
|
|
|
- for (var i in result) {
|
|
|
- header.push(result[i].tHeader)
|
|
|
- sheetname.push(result[i].sheetName)
|
|
|
- data.push(formatJson(result[i].filterVal, result[i].tableDatas))
|
|
|
- }
|
|
|
- // 将表头插入数据数组中
|
|
|
- for (let i = 0; i < header.length; i++) {
|
|
|
- data[i].unshift(header[i])
|
|
|
- }
|
|
|
- let ws_name = sheetname
|
|
|
- // 创建工作簿对象
|
|
|
- let wb = XLSX.utils.book_new()
|
|
|
- let ws: any = []
|
|
|
- // 创建每个工作表并设置列宽
|
|
|
- for (let j = 0; j < header.length; j++) {
|
|
|
- ws.push(XLSX.utils.aoa_to_sheet(data[j]))
|
|
|
- let arr: any = []
|
|
|
- header[j].forEach((val: any) => {
|
|
|
- arr.push({
|
|
|
- wpx: 120
|
|
|
- })
|
|
|
- })
|
|
|
- ws[j]['!cols'] = arr
|
|
|
- }
|
|
|
- // 将工作表对象添加到工作簿中
|
|
|
- for (let k = 0; k < header.length; k++) {
|
|
|
- wb.SheetNames.push(ws_name[k])
|
|
|
- wb.Sheets[ws_name[k]] = ws[k]
|
|
|
- }
|
|
|
- XLSX.writeFile(wb, filename + '.xlsx') // 导出文件
|
|
|
- }
|
|
|
- })
|
|
|
- .finally(() => {})
|
|
|
-}
|
|
|
|
|
|
// 数额
|
|
|
const initOption = reactive({
|
|
|
@@ -316,7 +242,9 @@ onMounted(() => {
|
|
|
initOption.legend.textStyle.color = 'rgba(240,241,243,0.7)'
|
|
|
initOption.toolbox.iconStyle.borderColor = '#f0f1f3'
|
|
|
initOption.toolbox.feature.saveAsImage.backgroundColor = '#3F434A'
|
|
|
- initChart()
|
|
|
+ nextTick(() => {
|
|
|
+ revenueChart.value.setOption(initOption)
|
|
|
+ })
|
|
|
} else {
|
|
|
initOption.title.textStyle.color = '#2B2F36'
|
|
|
initOption.xAxis.axisLine.lineStyle.color = '#eaebed'
|
|
|
@@ -325,7 +253,9 @@ onMounted(() => {
|
|
|
initOption.legend.textStyle.color = '#646A73'
|
|
|
initOption.toolbox.iconStyle.borderColor = '#2B2F36'
|
|
|
initOption.toolbox.feature.saveAsImage.backgroundColor = '#fff'
|
|
|
- initChart()
|
|
|
+ nextTick(() => {
|
|
|
+ revenueChart.value.setOption(initOption)
|
|
|
+ })
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
@@ -335,13 +265,14 @@ onMounted(() => {
|
|
|
)
|
|
|
})
|
|
|
|
|
|
+const revenueChart = ref()
|
|
|
const initChart = () => {
|
|
|
- const bar_chart = echarts.init(bar_ref.value)
|
|
|
+ revenueChart.value = echarts.init(bar_ref.value)
|
|
|
//图表响应式
|
|
|
window.addEventListener('resize', () => {
|
|
|
- bar_chart.resize()
|
|
|
+ revenueChart.value.resize()
|
|
|
})
|
|
|
- bar_chart.on('legendselectchanged', function (event: any) {
|
|
|
+ revenueChart.value.on('legendselectchanged', function (event: any) {
|
|
|
const selected = event.selected
|
|
|
let trueCount = 0
|
|
|
let trueObj: any = {}
|
|
|
@@ -386,9 +317,8 @@ const initChart = () => {
|
|
|
initOption.yAxis.max = max
|
|
|
initOption.yAxis.interval = interval
|
|
|
}
|
|
|
- bar_chart.setOption(initOption)
|
|
|
+ revenueChart.value.setOption(initOption)
|
|
|
})
|
|
|
- bar_chart.setOption(initOption)
|
|
|
}
|
|
|
</script>
|
|
|
|