| | |
| | | const list = ref([ |
| | | { name: '计划执行', value: '0', color: '#1C5CFF', img: jhzxpng }, |
| | | { name: '已执行', value: '0', color: '#00AA2D', img: yzxpng }, |
| | | { name: '执行中', value: '0', color: '#FFA768', img: zxzpng}, |
| | | { name: '执行中', value: '0', color: '#FF720F', img: zxzpng}, |
| | | { name: '执行失败', value: '0', color: '#FF4848', img: zxsbpng }, |
| | | { name: '待执行', value: '0', color: '#00CDC2', img: dzxpng }, |
| | | { name: '取消执行', value: '0', color: '#A6A6A6', img: qxzxpng }, |
| | | { name: '取消执行', value: '0', color: '#373333', img: qxzxpng }, |
| | | ]) |
| | | |
| | | // 获取任务统计总数 |
| | | const getTotalJobNum = () => { |
| | | totalJobNum().then(res => { |
| | | if (res.data.code !== 0) returen |
| | | total.value = res.data.data.job_total_num |
| | | numTotal.value = res.data.data.deal_job_num |
| | | }) |
| | | } |
| | | |
| | | // 获取其他任务统计 |
| | | const getJobStatistics = value => { |
| | | jobStatistics(value).then(res => { |
| | | if (res.data.code !== 0) returen |
| | | const {executed = 0,failed_executions = 0,go_home_executions = 0} = res.data?.data || {} |
| | | numTotal.value = executed + failed_executions + go_home_executions |
| | | list.value[0].value = res.data.data.planned_executions || 0 |
| | | list.value[1].value = res.data.data.executed || 0 |
| | | list.value[2].value = res.data.data.running_num || 0 |
| | |
| | | }) |
| | | } |
| | | |
| | | const changeKey = inject('changeKey') |
| | | // 添加监听 |
| | | watch( |
| | | () => store.state.task.taskSearchParams, |
| | | newVal => { |
| | | if (newVal) { |
| | | getJobStatistics(newVal) |
| | | newVal |
| | | } |
| | | }, |
| | | { immediate: true,deep: true } |
| | | () => [store.state.task.taskSearchParams,changeKey.value], |
| | | () => getJobStatistics(store.state.task.taskSearchParams), |
| | | { deep: true } |
| | | ) |
| | | |
| | | onMounted(() => { |
| | | getTotalJobNum() |
| | | }) |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | |
| | | height: 160px; |
| | | display: flex; |
| | | gap: 10px; |
| | | |
| | | |
| | | flex-wrap: wrap; |
| | | align-content: space-evenly; |
| | | .total { |