From 6fa9f11846281816941e2602254ad42e3944f6b9 Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Thu, 17 Apr 2025 10:25:00 +0800
Subject: [PATCH] feat: 更新任务管理和地图事件图标
---
src/assets/images/home/useUavHome/eventAggregationImg.png | 0
src/views/TaskManage/TaskTop/TaskEvent.vue | 1
src/views/TaskManage/SearchBox.vue | 62 +++++++++++---------
src/views/TaskManage/TaskTop/TaskIndustry.vue | 48 +++++----------
src/views/TaskManage/TaskIntermediateContent/AddTask.vue | 1
src/store/modules/task.js | 2
src/views/TaskManage/TaskIntermediateContent/TaskIntermediateContent.vue | 2
src/views/TaskManage/components/TaskAlgorithmBusiness.vue | 9 +-
8 files changed, 57 insertions(+), 68 deletions(-)
diff --git a/src/assets/images/home/useUavHome/eventAggregationImg.png b/src/assets/images/home/useUavHome/eventAggregationImg.png
index 938ea18..da95764 100644
--- a/src/assets/images/home/useUavHome/eventAggregationImg.png
+++ b/src/assets/images/home/useUavHome/eventAggregationImg.png
Binary files differ
diff --git a/src/store/modules/task.js b/src/store/modules/task.js
index 805367f..7369698 100644
--- a/src/store/modules/task.js
+++ b/src/store/modules/task.js
@@ -8,8 +8,6 @@
actions: {},
mutations: {
setTaskSearchParams: (state, data) => {
- console.log(data)
- // setStore({ name: 'taskSearchParams', content: data })
state.taskSearchParams = data;
},
},
diff --git a/src/views/TaskManage/SearchBox.vue b/src/views/TaskManage/SearchBox.vue
index a68978c..ceef403 100644
--- a/src/views/TaskManage/SearchBox.vue
+++ b/src/views/TaskManage/SearchBox.vue
@@ -40,7 +40,7 @@
</div>
</el-form-item>
<el-form-item label="任务算法:" v-if="isExpand">
- <TaskAlgorithmBusiness :setWidth="200" :showAlgorithm="true" @algorithmChange="algorithmChange"/>
+ <TaskAlgorithmBusiness :setWidth="186" :showAlgorithm="true" @algorithmChange="algorithmChange"/>
</el-form-item>
<el-form-item label="所属部门:" v-if="isExpand">
<el-select class="ztzf-select" v-model="searchForm.create_dept" placeholder="请选择部门" clearable>
@@ -53,7 +53,7 @@
</el-select>
</el-form-item>
<el-form-item label="任务类型:" v-if="isExpand">
- <TaskAlgorithmBusiness :setWidth="200" :showBusiness="true" @businessChange="businessChange"/>
+ <TaskAlgorithmBusiness :setWidth="186" :showBusiness="true" @businessChange="businessChange"/>
</el-form-item>
<div class="more" v-if="isExpand" @click="toggleExpand">收起</div>
<div class="more" v-else @click="toggleExpand">更多</div>
@@ -84,7 +84,7 @@
ai_types: [], // 算法类型
area_code: '', // 区域code
create_dept: '', // 创建部门
- date_enum: '', // 日期枚举,可用值:TODAY,CURRENT_WEEK,CURRENT_MONTH,CURRENT_YEAR
+ date_enum: 'TODAY', // 日期枚举,可用值:TODAY,CURRENT_WEEK,CURRENT_MONTH,CURRENT_YEAR
device_sn: '', // 设备编号
end_date: null, // 结束时间
industry_type: '', // 行业key
@@ -102,30 +102,6 @@
];
const emit = defineEmits(['search','addTask']);
-
-const handleSearch = () => {
- // 提交至store
- let params = {
- ...searchForm,
- start_date: dateRange.value.length ? `${dateRange.value[0]} 00:00:00` : null,
- end_date: dateRange.value.length ? `${dateRange.value[1]} 23:59:59` : null
- }
- store.commit('setTaskSearchParams', params);
- emit('search', params);
-};
-
-const handleReset = () => {
- dateRange.value = null;
- Object.keys(searchForm).forEach(key => {
- searchForm[key] = '';
- });
- handleSearch();
-};
-
-// 新增任务
-const addTask = () => {
- emit('addTask');
-};
const algorithmChange = (val) => {
searchForm.ai_types = val;
@@ -160,6 +136,7 @@
};
const deptChange = (value) => {
// 处理机巢数据
+ searchForm.device_sn = '';
machineData.value = '';
machineData.value = deptTreeData.value.find(item => item.area_code === value)?.devices || [];
// 所属部门重新请求值
@@ -193,13 +170,42 @@
// model.value = dateRanges[item];
// emit('change', dateRanges[item],timeListEnum[index]);
searchForm.date_enum = timeListEnum[index];
+ handleSearch();
+};
+// 搜索
+const handleSearch = () => {
+ if (!dateRange.value) { dateRange.value = []; }
+ // 提交至store
+ let params = {
+ ...searchForm,
+ start_date: dateRange.value.length ? `${dateRange?.value[0]} 00:00:00` : null,
+ end_date: dateRange.value.length ? `${dateRange?.value[1]} 23:59:59` : null
+ }
+ store.commit('setTaskSearchParams', params);
+ emit('search', params);
+};
+// 重置
+const handleReset = () => {
+ dateRange.value = [];
+ Object.keys(searchForm).forEach(key => {
+ searchForm[key] = '';
+ });
+ searchForm.ai_types = [];
+ searchForm.date_enum = 'TODAY';
+ checked.value = 'today';
+ handleSearch();
};
+// 新增任务
+const addTask = () => {
+ emit('addTask');
+};
onMounted(() => {
- // requestDictionary();
getDeptsByAreaCode();
requestDockInfo();
+ // 查询一次
+ handleSearch();
});
</script>
diff --git a/src/views/TaskManage/TaskIntermediateContent/AddTask.vue b/src/views/TaskManage/TaskIntermediateContent/AddTask.vue
index 5fc9f15..7b321fb 100644
--- a/src/views/TaskManage/TaskIntermediateContent/AddTask.vue
+++ b/src/views/TaskManage/TaskIntermediateContent/AddTask.vue
@@ -8,6 +8,7 @@
:width="pxToRem(1500)"
:close-on-click-modal="false"
:destroy-on-close="true"
+ @close="cancel"
>
<!-- <el-divider content-position="left">新建任务</el-divider> -->
<div class="task-contain">
diff --git a/src/views/TaskManage/TaskIntermediateContent/TaskIntermediateContent.vue b/src/views/TaskManage/TaskIntermediateContent/TaskIntermediateContent.vue
index 6271d34..1e8068a 100644
--- a/src/views/TaskManage/TaskIntermediateContent/TaskIntermediateContent.vue
+++ b/src/views/TaskManage/TaskIntermediateContent/TaskIntermediateContent.vue
@@ -105,7 +105,7 @@
if (row.status === 2 || row.status === 1){
rowData.value = row? row : {};
isShowCurrentTaskDetails.value = true;
- }else{
+ } else{
ElMessage.warning('todo 跳历史任务详情')
}
}else{
diff --git a/src/views/TaskManage/TaskTop/TaskEvent.vue b/src/views/TaskManage/TaskTop/TaskEvent.vue
index 8f64a96..9b257c3 100644
--- a/src/views/TaskManage/TaskTop/TaskEvent.vue
+++ b/src/views/TaskManage/TaskTop/TaskEvent.vue
@@ -117,7 +117,6 @@
// 添加监听
watch(() => store.state.task.taskSearchParams, (newVal) => {
- console.log(newVal, '1111');
if (newVal) {
getJobEventBar(newVal);
}
diff --git a/src/views/TaskManage/TaskTop/TaskIndustry.vue b/src/views/TaskManage/TaskTop/TaskIndustry.vue
index 81de854..77ef9d3 100644
--- a/src/views/TaskManage/TaskTop/TaskIndustry.vue
+++ b/src/views/TaskManage/TaskTop/TaskIndustry.vue
@@ -1,7 +1,7 @@
<!-- 任务算法统计 -->
<template>
<div class="task-industry">
- <div class="title">任务算法统计</div>
+ <div class="title">任务算法类型</div>
<div class="chart" ref="chartRef"></div>
</div>
</template>
@@ -41,13 +41,14 @@
roseType: 'radius',
radius: ['20%', '70%'],
center: ['50%', '45%'],
- data: [
- { name: '国土类', value: 0, itemStyle: { color: '#3D7FFF' } },
- { name: '城管类', value: 0, itemStyle: { color: '#8277E9' } },
- { name: '消防类', value: 0, itemStyle: { color: '#FFB77E' } },
- { name: '林业类', value: 0, itemStyle: { color: '#44D7B6' } },
- { name: '公安类', value: 0, itemStyle: { color: '#62F4FF' } }
- ],
+ data: [],
+ // [
+ // { name: '国土类', value: 0, itemStyle: { color: '#3D7FFF' } },
+ // { name: '城管类', value: 0, itemStyle: { color: '#8277E9' } },
+ // { name: '消防类', value: 0, itemStyle: { color: '#FFB77E' } },
+ // { name: '林业类', value: 0, itemStyle: { color: '#44D7B6' } },
+ // { name: '公安类', value: 0, itemStyle: { color: '#62F4FF' } }
+ // ],
label: {
show: true,
position: 'outside',
@@ -71,36 +72,19 @@
const getIndustryJobNumPieChart = (value) => {
industryJobNumPieChart(value).then(res => {
if (res.data.code !== 0) return;
- option.series[0].data.forEach(item => {
- const matchData = res.data.data.find(d => d.name === item.name);
- if (matchData) {
- item.value = matchData.value;
- }
- });
+ option.series[0].data = res.data.data;
+ // forEach(item => {
+ // const matchData = res.data.data.find(d => d.name === item.name);
+ // if (matchData) {
+ // item.value = matchData.value;
+ // }
+ // });
chart.value.setOption(option);
});
};
-
-// 获取行业统计数据
-// const getIndustryJobNumPieChart = () => {
-// industryJobNumPieChart().then(res => {
-// if (res.data.code !== 0) return;
-// const data = res.data.data.map(item => ({
-// name: item.name,
-// value: item.value,
-// itemStyle: {
-// color: getRandomColor()
-// }
-// }));
-// option.series[0].data = data;
-// chart.value.setOption(option);
-// });
-// };
-
// 添加监听
watch(() => store.state.task.taskSearchParams, (newVal) => {
- console.log(newVal, '2222');
if (newVal) {
getIndustryJobNumPieChart(newVal);
}
diff --git a/src/views/TaskManage/components/TaskAlgorithmBusiness.vue b/src/views/TaskManage/components/TaskAlgorithmBusiness.vue
index 2486b5e..d508c4b 100644
--- a/src/views/TaskManage/components/TaskAlgorithmBusiness.vue
+++ b/src/views/TaskManage/components/TaskAlgorithmBusiness.vue
@@ -1,12 +1,12 @@
<!-- 关联算法和综合业务 -->
<template>
<div class="task-algorithm" v-if="showAlgorithm">
- <el-select class="ztzf-select" :style="{ width:setWidth +'px' }" v-model="ai_types" multiple collapse-tags collapse-tags-tooltip placeholder="请选择算法" clearable @change="handleAlgorithmChange">
+ <el-select class="ztzf-select" :style="{ width: pxToRem(setWidth) }" v-model="ai_types" multiple collapse-tags collapse-tags-tooltip placeholder="请选择算法" clearable @change="handleAlgorithmChange">
<el-option v-for="item in taskAlgorithm" :key="item.id" :label="item.dictValue" :value="item.dictKey" />
</el-select>
</div>
<div class="task-business" v-if="showBusiness">
- <el-select class="ztzf-select" :style="{ width:setWidth +'px' }" v-model="industry_type" placeholder="请选择类型" clearable @change="handleBusinessChange">
+ <el-select class="ztzf-select" :style="{ width: pxToRem(setWidth) }" v-model="industry_type" placeholder="请选择类型" clearable @change="handleBusinessChange">
<el-option v-for="item in taskBusiness" :key="item.id" :label="item.dictValue" :value="item.dictKey" />
</el-select>
</div>
@@ -14,7 +14,8 @@
<script setup>
-import { getMultipleDictionary } from '@/api/system/dictbiz'
+import { getMultipleDictionary } from '@/api/system/dictbiz';
+import { pxToRem } from '@/utils/rem'
// 接收父组件传参
const props = defineProps({
@@ -27,7 +28,7 @@
default: false
},
setWidth: {
- type: String,
+ type: Number,
default: '100%'
}
});
--
Gitblit v1.9.3