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