From f1f26b166b71371e0a8dfaf9b9f575d2d79feefc Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 23 四月 2025 17:40:03 +0800
Subject: [PATCH] 完成线索任务的发布功能

---
 src/views/overlay-clue/ClueLayout.vue |  121 ++++++---------------------------------
 1 files changed, 20 insertions(+), 101 deletions(-)

diff --git a/src/views/overlay-clue/ClueLayout.vue b/src/views/overlay-clue/ClueLayout.vue
index b47e870..c250f2d 100644
--- a/src/views/overlay-clue/ClueLayout.vue
+++ b/src/views/overlay-clue/ClueLayout.vue
@@ -1,119 +1,38 @@
 <template>
-  <el-row class="container" justify="space-between">
-    <el-col :span="6" class="grid-content bg-content">
-      <div class="fy-h1">绾跨储娓呭崟</div>
-      <div class="search-wrap">
-        <span>鏃堕棿</span>
-        <el-date-picker
-          v-model="updateTime"
-          type="datetime"
-          placeholder="閫夋嫨鏃ユ湡鍜屾椂闂�"
-        />
-        <el-button type="primary" @click="getClues">鏌ヨ</el-button>
-        <el-button type="primary" @click="fetchRemoteClue"
-          >鎷夊彇绾跨储</el-button
-        >
-      </div>
-      <ClueList
-        :dataList="clueList"
-        @itemSelected="selectClue"
-      ></ClueList>
+  <el-row class="fy-overlay-container" justify="space-between">
+    <el-col :span="6">
+      <ClueManage @itemSelected="selectClue"></ClueManage>
     </el-col>
-    <el-col :span="6" class="grid-content bg-content-1">
-      <div class="fy-h1">绾跨储鍙嶉</div>
-      <el-scrollbar height="80vh" class="bg-fill">
-        <ClueReport :clueData="selectedClue"></ClueReport>
-      </el-scrollbar>
+    <el-col :span="6">
+      <ClueReport
+        v-model:show="show"
+        :clueData="selectedClue"
+        @pushed="(e) => (selectedClue.cuploaded = e)"
+        @onClueTaskChange="handleClueTaskChange"
+      ></ClueReport>
     </el-col>
   </el-row>
 </template>
 
 <script setup>
-import ClueList from './components/ClueList.vue';
-import ClueReport from './components/ClueReport.vue';
+import ClueManage from './list/ClueManage.vue';
+import ClueReport from './report/ClueReport.vue';
+import { ref } from 'vue';
 
-import clueApi from '@/api/clue/clueApi';
-import { onMapMounted } from '@/components/map/baseMap';
-import moment from 'moment';
-import { ref, watch } from 'vue';
-
-// 涓嬪彂鏃堕棿锛堟瘡娆℃煡璇㈠ぇ浜庢鏃堕棿鐨勬暟鎹級
-const updateTime = ref(new Date());
-// 绾跨储娓呭崟
-const clueList = ref([]);
 const selectedClue = ref();
-
-/**
- * 鏌ヨ宸蹭笅鍙戠殑绾跨储娓呭崟
- */
-const getClues = function () {
-  const now = moment(updateTime.value);
-  const sTime = now.format('YYYY-MM-DD HH:mm:ss');
-  const eTime = now.add(1, 'month').format('YYYY-MM-DD HH:mm:ss');
-  onMapMounted(() => {
-    clueApi.getClue({ sTime, eTime }).then((res) => {
-      clueList.value = res;
-    });
-  });
-};
-
-function fetchRemoteClue() {
-  const time = moment(updateTime.value).format('YYYY-MM-DD HH:mm:ss');
-  onMapMounted(() => {
-    clueApi.fetchRemoteClue(time).then((res) => {
-      clueList.value = res;
-    });
-  });
-}
+const show = ref(false);
 
 /**
  * 閫夋嫨绾跨储浜嬩欢
  */
 const selectClue = function (clue) {
+  show.value = true;
   selectedClue.value = clue;
 };
+
+function handleClueTaskChange() {
+  selectedClue.value.taskCount = 1;
+}
 </script>
 
-<style scoped>
-.title {
-  font-size: var(--el-font-size-large);
-}
-
-.container {
-  pointer-events: none;
-}
-
-.grid-content {
-  /* min-width: 180px; */
-  border-radius: var(--el-border-radius-round);
-  display: flex;
-  flex-direction: column;
-  gap: 16px;
-  /* padding: 8px 8px; */
-  pointer-events: auto;
-  box-shadow: var(--el-box-shadow-dark);
-}
-
-.bg-content {
-  height: 90vh;
-  background: white;
-  min-width: calc(var(--screen-min-width) / 6);
-}
-
-.bg-content-1 {
-  height: 90vh;
-  background: white;
-}
-
-.search-wrap {
-  padding: 0 8px;
-  display: flex;
-  align-items: center;
-  gap: 4px;
-}
-
-.bg-fill {
-  /* background: var(--el-fill-color-extra-light); */
-  padding: 0 8px;
-}
-</style>
+<style scoped></style>

--
Gitblit v1.9.3