|
@@ -24,6 +24,7 @@
|
|
|
import { Card, DatePicker, Select } from 'ant-design-vue';
|
|
|
import { ref, Ref, watch, defineEmits } from 'vue';
|
|
|
import { useECharts } from '/@/hooks/web/useECharts';
|
|
|
+ import { exportElsxFile, } from '/@/utils/file/download';
|
|
|
const props = defineProps({
|
|
|
loading: Boolean,
|
|
|
...basicProps,
|
|
@@ -44,12 +45,13 @@
|
|
|
},
|
|
|
]);
|
|
|
const emit = defineEmits(["alertSome"])
|
|
|
- const downOrderData = ref<number[]>([]);
|
|
|
- const incrementOrderData = ref<number[]>([]);
|
|
|
- const partsOrderData = ref<number[]>([]);
|
|
|
+ const kjList = ref<number[]>([]);
|
|
|
+ const kkList = ref<number[]>([]);
|
|
|
+ const ssList = ref<number[]>([]);
|
|
|
+ const ssobjList = ref<number[]>([]);
|
|
|
const yixStringData = ref<string[]>([]);
|
|
|
const echartTypr = ref('line')
|
|
|
- const nameList = ref<string[]>(['下载订单','权益订单','配件订单']);
|
|
|
+ const nameList = ref<string[]>(['看见场景','看看场景','深时场景','点云场景']);
|
|
|
const maxSize = ref(0);
|
|
|
const chartRef = ref<HTMLDivElement | null>(null);
|
|
|
const { setOptions } = useECharts(chartRef as Ref<HTMLDivElement>)
|
|
@@ -59,11 +61,21 @@
|
|
|
}
|
|
|
|
|
|
function handleExport(){
|
|
|
- emit('export','scene')
|
|
|
+ let hader = ['时间', '看见场景','看看场景','深时场景','点云场景']
|
|
|
+ let data = yixStringData.value.map((ele,index) => {
|
|
|
+ return {
|
|
|
+ '时间':ele,
|
|
|
+ '看见场景':kjList.value && kjList.value[index] || 0,
|
|
|
+ '看看场景':kkList.value && kkList.value[index] || 0,
|
|
|
+ '深时场景':ssList.value && ssList.value[index] || 0,
|
|
|
+ '点云场景':ssobjList.value && ssobjList.value[index] || 0,
|
|
|
+ }
|
|
|
+ })
|
|
|
+ exportElsxFile(hader,data,'场景趋势')
|
|
|
}
|
|
|
|
|
|
function handlesetOptions() {
|
|
|
- console.log('handlesetOptions',downOrderData.value,partsOrderData.value,partsOrderData.value,yixStringData.value)
|
|
|
+ console.log('handlesetOptions',kjList.value,ssList.value,ssList.value,yixStringData.value)
|
|
|
setOptions({
|
|
|
tooltip: {
|
|
|
trigger: 'axis',
|
|
@@ -86,40 +98,48 @@
|
|
|
},
|
|
|
yAxis: {
|
|
|
type: 'value',
|
|
|
- max: maxSize.value,
|
|
|
+ // max: maxSize.value,
|
|
|
splitNumber: 4,
|
|
|
},
|
|
|
series: [
|
|
|
{
|
|
|
- data: downOrderData.value,
|
|
|
+ data: kjList.value,
|
|
|
type: echartTypr.value,
|
|
|
itemStyle: { color: '#38a0ff' },
|
|
|
barMaxWidth: 80,
|
|
|
name: nameList.value[0],
|
|
|
},
|
|
|
{
|
|
|
- data: incrementOrderData.value,
|
|
|
+ data: kkList.value,
|
|
|
type: echartTypr.value,
|
|
|
itemStyle: { color: '#4cca73' },
|
|
|
barMaxWidth: 80,
|
|
|
name: nameList.value[1],
|
|
|
},
|
|
|
{
|
|
|
- data: partsOrderData.value,
|
|
|
+ data: ssList.value,
|
|
|
type: echartTypr.value,
|
|
|
itemStyle: { color: '#FDD56A' },
|
|
|
barMaxWidth: 80,
|
|
|
name: nameList.value[2],
|
|
|
},
|
|
|
+ {
|
|
|
+ data: ssobjList.value,
|
|
|
+ type: echartTypr.value,
|
|
|
+ itemStyle: { color: '#d58b55' },
|
|
|
+ barMaxWidth: 80,
|
|
|
+ name: nameList.value[3],
|
|
|
+ },
|
|
|
],
|
|
|
});
|
|
|
}
|
|
|
watch(
|
|
|
() => props.echartData,
|
|
|
(echartData) => {
|
|
|
- downOrderData.value = echartData.downOrder ||[]
|
|
|
- incrementOrderData.value = echartData.incrementOrder ||[]
|
|
|
- partsOrderData.value = echartData.partOrder ||[]
|
|
|
+ kjList.value = echartData.kjList ||[]
|
|
|
+ kkList.value = echartData.kkList ||[]
|
|
|
+ ssList.value = echartData.ssList ||[]
|
|
|
+ ssobjList.value = echartData.ssobjList ||[]
|
|
|
yixStringData.value = echartData.xdata ||[]
|
|
|
if(echartData.nameList){
|
|
|
nameList.value = echartData.nameList
|
|
@@ -127,9 +147,9 @@
|
|
|
if(echartData.echartTypr){
|
|
|
echartTypr.value = echartData.echartTypr
|
|
|
}
|
|
|
- const maxNumber = Math.max(...echartData.downOrder.concat(echartData.incrementOrder));
|
|
|
- const pow = Math.pow(10, maxNumber.toString().length - 1);
|
|
|
- maxSize.value = maxNumber > 10 ? Math.floor(maxNumber / 10) * 10 + pow * 2 : 10;
|
|
|
+ // const maxNumber = Math.max(...echartData.downOrder.concat(echartData.incrementOrder));
|
|
|
+ // const pow = Math.pow(10, maxNumber.toString().length - 1);
|
|
|
+ // maxSize.value = maxNumber > 10 ? Math.floor(maxNumber / 10) * 10 + pow * 2 : 10;
|
|
|
handlesetOptions();
|
|
|
},
|
|
|
{
|