src/views/fysp/task/components/CompMonitorPlan.vue
@@ -1,6 +1,5 @@
<template>
  <el-calendar
    v-loading="dayTaskLoading"
    v-model="dateValue"
    :range="dateRange"
    @update:model-value="onDateChange"
@@ -53,6 +52,10 @@
  task: {
    type: Object,
    default: () => {}
  },
  dayTaskList: {
    type: Array,
    default: () => []
  }
});
const emit = defineEmits(['dateChange']);
@@ -98,22 +101,32 @@
/********************** 任务数据 *********************************/
// 获取日任务统计信息
const dayTaskLoading = ref(false);
const dayTaskList = ref([]);
function fetchDayTasks() {
  dayTaskLoading.value = true;
  return taskApi
    .fetchDayTasks(props.task.tguid)
    .then((res) => {
      dayTaskList.value = res;
      // 如果已选日期存在,在重新获取日任务统计信息后,再次触发点击事件
      if (dateValue.value) {
        onDateChange(dateValue.value)
      }
    })
    .finally(() => (dayTaskLoading.value = false));
}
watch(
  () => props.dayTaskList,
  (nV, oV) => {
    if (nV != oV && dateValue.value) {
      onDateChange(dateValue.value);
    }
  },
  { immediate: false }
);
// // 获取日任务统计信息
// const dayTaskLoading = ref(false);
// const dayTaskList = ref([]);
// function fetchDayTasks() {
//   dayTaskLoading.value = true;
//   return taskApi
//     .fetchDayTasks(props.task.tguid)
//     .then((res) => {
//       dayTaskList.value = res;
//       // 如果已选日期存在,在重新获取日任务统计信息后,再次触发点击事件
//       if (dateValue.value) {
//         onDateChange(dateValue.value);
//       }
//     })
//     .finally(() => (dayTaskLoading.value = false));
// }
// 日任务数据展示
const compMap = new Map();
@@ -123,7 +136,7 @@
    return compMap.get(key).value;
  }
  const result = computed(() => {
    return dayTaskList.value.find((v) => {
    return props.dayTaskList.find((v) => {
      return dayjs(v.date).isSame(dayjs(day));
    });
  });
@@ -142,7 +155,7 @@
// 总任务统计
const taskStatistic = computed(() => {
  const res = { total: 0, complete: 0, changed: 0 };
  dayTaskList.value.forEach((e) => {
  props.dayTaskList.forEach((e) => {
    res.total += e.totalTaskNum;
    res.complete += e.completeTaskNum;
    res.changed += e.changedTaskNum;
@@ -151,17 +164,17 @@
});
/********************** 初始化 *********************************/
watch(
  () => props.task,
  (nV) => {
    if (nV && nV.tguid) {
      fetchDayTasks();
    }
  },
  { immediate: true }
);
// watch(
//   () => props.task,
//   (nV) => {
//     if (nV && nV.tguid) {
//       fetchDayTasks();
//     }
//   },
//   { immediate: true }
// );
defineExpose({ fetchDayTasks });
// defineExpose({ fetchDayTasks });
</script>
<style scoped>
.li-01 {