|
@@ -37,7 +37,6 @@
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
|
import { onMounted, ref, watch } from 'vue';
|
|
import { onMounted, ref, watch } from 'vue';
|
|
|
- import { ElMessage } from 'element-plus';
|
|
|
|
|
import { ChartQuery } from '@/api/datamanagement/dataplatform';
|
|
import { ChartQuery } from '@/api/datamanagement/dataplatform';
|
|
|
import { formatDate } from '@/utils/platformUtils';
|
|
import { formatDate } from '@/utils/platformUtils';
|
|
|
|
|
|
|
@@ -45,36 +44,43 @@
|
|
|
const selectedWorkshop = ref<number[]>();
|
|
const selectedWorkshop = ref<number[]>();
|
|
|
const dateRange = ref<Date[]>();
|
|
const dateRange = ref<Date[]>();
|
|
|
|
|
|
|
|
- const props = defineProps<{
|
|
|
|
|
- workshopList?: any[] | undefined;
|
|
|
|
|
- }>();
|
|
|
|
|
|
|
+ const props = withDefaults(
|
|
|
|
|
+ defineProps<{
|
|
|
|
|
+ chartType?: string;
|
|
|
|
|
+ workshopList?: any[] | undefined;
|
|
|
|
|
+ }>(),
|
|
|
|
|
+ {
|
|
|
|
|
+ chartType: 'bar',
|
|
|
|
|
+ },
|
|
|
|
|
+ );
|
|
|
|
|
|
|
|
// 参数改变事件
|
|
// 参数改变事件
|
|
|
const emits = defineEmits<{
|
|
const emits = defineEmits<{
|
|
|
(e: 'chartParamsChanged', parmas: ChartQuery);
|
|
(e: 'chartParamsChanged', parmas: ChartQuery);
|
|
|
}>();
|
|
}>();
|
|
|
|
|
|
|
|
- const serchParams = ref<ChartQuery>({
|
|
|
|
|
- startTime: '',
|
|
|
|
|
- endTime: '',
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ const serchParams = ref<ChartQuery>({});
|
|
|
|
|
|
|
|
const onSearch = () => {
|
|
const onSearch = () => {
|
|
|
- if (!dateRange.value || dateRange.value[0] == null || dateRange.value[1] == null) {
|
|
|
|
|
- ElMessage.error('请选择时间范围');
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- serchParams.value.startTime = formatDate(dateRange.value[0]);
|
|
|
|
|
- serchParams.value.endTime = formatDate(dateRange.value[1]);
|
|
|
|
|
- // console.log(props.workshopList);
|
|
|
|
|
- // serchParams.value.workshopList = props.workshopList?.map((item) => item.id);
|
|
|
|
|
- if (props.workshopList !== undefined) {
|
|
|
|
|
- if (!selectedWorkshop.value || !selectedWorkshop.value.length) {
|
|
|
|
|
- ElMessage.error('请至少选择一个车间');
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- serchParams.value.workshopList = selectedWorkshop.value;
|
|
|
|
|
|
|
+ if (
|
|
|
|
|
+ !dateRange.value ||
|
|
|
|
|
+ dateRange.value[0].toString() === 'Invalid Date' ||
|
|
|
|
|
+ dateRange.value[1].toString() === 'Invalid Date'
|
|
|
|
|
+ ) {
|
|
|
|
|
+ delete serchParams.value.startTime;
|
|
|
|
|
+ delete serchParams.value.endTime;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ serchParams.value.startTime = formatDate(dateRange.value[0]);
|
|
|
|
|
+ serchParams.value.endTime = formatDate(dateRange.value[1]);
|
|
|
}
|
|
}
|
|
|
|
|
+ serchParams.value.workshopList = props.workshopList?.map((item) => item.id);
|
|
|
|
|
+ // if (props.workshopList !== undefined) {
|
|
|
|
|
+ // if (!selectedWorkshop.value || !selectedWorkshop.value.length) {
|
|
|
|
|
+ // ElMessage.error('请至少选择一个车间');
|
|
|
|
|
+ // return;
|
|
|
|
|
+ // }
|
|
|
|
|
+ // serchParams.value.workshopList = selectedWorkshop.value;
|
|
|
|
|
+ // }
|
|
|
emits('chartParamsChanged', serchParams.value);
|
|
emits('chartParamsChanged', serchParams.value);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
@@ -105,15 +111,24 @@
|
|
|
if (props.workshopList !== undefined) {
|
|
if (props.workshopList !== undefined) {
|
|
|
selectedWorkshop.value = props.workshopList!.map((item) => item.id);
|
|
selectedWorkshop.value = props.workshopList!.map((item) => item.id);
|
|
|
}
|
|
}
|
|
|
- dateRange.value = [new Date(2000, 1, 1, 0, 0, 0), new Date()];
|
|
|
|
|
onSearch();
|
|
onSearch();
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
const shortcuts = [
|
|
const shortcuts = [
|
|
|
{
|
|
{
|
|
|
- text: '今天',
|
|
|
|
|
|
|
+ text: props.chartType === 'bar' ? '今天' : '本周',
|
|
|
value: () => {
|
|
value: () => {
|
|
|
- return [new Date().setHours(0, 0, 0, 0), new Date().setHours(23, 59, 59, 999)];
|
|
|
|
|
|
|
+ return props.chartType === 'bar'
|
|
|
|
|
+ ? [new Date().setHours(0, 0, 0, 0), new Date()]
|
|
|
|
|
+ : [
|
|
|
|
|
+ new Date(new Date().getTime() - 3600 * 1000 * 24 * new Date().getDay()).setHours(
|
|
|
|
|
+ 0,
|
|
|
|
|
+ 0,
|
|
|
|
|
+ 0,
|
|
|
|
|
+ 0,
|
|
|
|
|
+ ),
|
|
|
|
|
+ new Date(),
|
|
|
|
|
+ ];
|
|
|
},
|
|
},
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
@@ -128,7 +143,7 @@
|
|
|
{
|
|
{
|
|
|
text: '累计',
|
|
text: '累计',
|
|
|
value: () => {
|
|
value: () => {
|
|
|
- return [new Date(2000, 1, 1, 0, 0, 0, 0), new Date()];
|
|
|
|
|
|
|
+ return [null, null];
|
|
|
},
|
|
},
|
|
|
},
|
|
},
|
|
|
];
|
|
];
|