From 0796eebe3520fafb0ac5d36ee584af81506d7e9c Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期六, 20 九月 2025 14:05:52 +0800
Subject: [PATCH] 2025.9.20 数据产品(待完成)

---
 src/views/fysp/task/components/CompMonitorPlan.vue |   71 ++++++++++++++++++++++-------------
 1 files changed, 45 insertions(+), 26 deletions(-)

diff --git a/src/views/fysp/task/components/CompMonitorPlan.vue b/src/views/fysp/task/components/CompMonitorPlan.vue
index 037c36c..954a280 100644
--- a/src/views/fysp/task/components/CompMonitorPlan.vue
+++ b/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,11 +52,15 @@
   task: {
     type: Object,
     default: () => {}
+  },
+  dayTaskList: {
+    type: Array,
+    default: () => []
   }
 });
 const emit = defineEmits(['dateChange']);
 // 閫変腑鏃ユ湡
-const dateValue = ref(new Date());
+const dateValue = ref();
 // 鏃ュ巻鏍囬
 const title = computed(() => {
   if (props.task) {
@@ -98,18 +101,32 @@
 
 /********************** 浠诲姟鏁版嵁 *********************************/
 
-// 鑾峰彇鏃ヤ换鍔$粺璁′俊鎭�
-const dayTaskLoading = ref(false);
-const dayTaskList = ref([]);
-function fetchDayTasks(topTaskId) {
-  dayTaskLoading.value = true;
-  taskApi
-    .fetchDayTasks(topTaskId)
-    .then((res) => {
-      dayTaskList.value = res;
-    })
-    .finally(() => (dayTaskLoading.value = false));
-}
+watch(
+  () => props.dayTaskList,
+  (nV, oV) => {
+    if (nV && 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();
@@ -119,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));
     });
   });
@@ -131,14 +148,14 @@
   if (isDayEnable(e)) {
     const day = dayjs(e).format('YYYY-MM-DD');
     const t = computeDayTask(day);
-    emit('dateChange', t);
+    emit('dateChange', t, day);
   }
 }
 
 // 鎬讳换鍔$粺璁�
 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;
@@ -147,15 +164,17 @@
 });
 /********************** 鍒濆鍖� *********************************/
 
-watch(
-  () => props.task,
-  (nV) => {
-    if (nV.tguid) {
-      fetchDayTasks(nV.tguid);
-    }
-  },
-  { immediate: true }
-);
+// watch(
+//   () => props.task,
+//   (nV) => {
+//     if (nV && nV.tguid) {
+//       fetchDayTasks();
+//     }
+//   },
+//   { immediate: true }
+// );
+
+// defineExpose({ fetchDayTasks });
 </script>
 <style scoped>
 .li-01 {

--
Gitblit v1.9.3