From 9473a87a1da2538bd2fadcf810f753b4db542457 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=85=B4=E5=87=AF?= <2448379534@qq.com> Date: Mon, 6 Jul 2026 10:27:41 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=99=BA=E8=83=BD=E5=91=8A=E8=AD=A6BUG?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/api/zngj/index.ts | 6 +++--- .../src/modules/liuyu/ai/spdzwaijc/AISPTK.vue | 12 ++++++++++-- .../yunXingGaoJIng/Aisbdbyx/AISBTK.vue | 19 ++++++++++++++----- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/frontend/src/api/zngj/index.ts b/frontend/src/api/zngj/index.ts index 986deeec..b4780180 100644 --- a/frontend/src/api/zngj/index.ts +++ b/frontend/src/api/zngj/index.ts @@ -12,13 +12,13 @@ export function getAisbdbyxList(data: any) { // AI识别大坝环境-获取饼图+表格数据 /api/wmp-env-server/env/ai/com/GetKendoListCust export function getAiChartTable(data: any) { return request({ - url: '/api/wmp-env-server/env/ai/com/GetKendoListCust', + url: '/warn/ai/com/GetKendoListCust', method: 'post', data }); } -// AI识别大坝环境-获取电站列表 +// AI识别大坝环境-获取电站列表 export function getAiRstcd(data: any) { return request({ url: '/warn/ai/com/qgc/aiRstcd/GetKendoListCust', @@ -84,7 +84,7 @@ export function getAiRecord(data: any) { // AI识别大坝环境-获取日历详情视频数据 /warn/ai/com/qgc/aiFile/GetKendoListCust export function getAiFile(data: any) { return request({ - url: '/api/wmp-env-server/env/ai/com/qgc/aiFile/GetKendoListCust', + url: '/warn/ai/com/qgc/aiFile/GetKendoListCust', method: 'post', data }); diff --git a/frontend/src/modules/liuyu/ai/spdzwaijc/AISPTK.vue b/frontend/src/modules/liuyu/ai/spdzwaijc/AISPTK.vue index f7ac18b1..074c4f03 100644 --- a/frontend/src/modules/liuyu/ai/spdzwaijc/AISPTK.vue +++ b/frontend/src/modules/liuyu/ai/spdzwaijc/AISPTK.vue @@ -393,7 +393,7 @@ let videoChartInstance: ECharts | null = null; // ==================== 日历视图状态 ==================== const calendarLoading = ref(false); const calendarData = ref([]); -const calendarValue = ref(dayjs()); +const calendarValue = ref(searchData.value.month); const detailModalVisible = ref(false); const detailActiveKey = ref('2'); const detailDate = ref(''); @@ -1293,7 +1293,7 @@ const colStcdData = async () => { const params = { filter: { logic: 'and', filters } }; const res: any = await getAiRstcd(params); - const _data = res?.data?.data?.data ?? []; + const _data = res?.data?.data ?? []; const list = _data.map((item: any) => ({ label: item.stnm, value: item.stcd @@ -1501,6 +1501,14 @@ watch( } ); +// ==================== 监听月份变化,同步日历显示 ==================== +watch( + () => searchData.value.month, + (newMonth) => { + calendarValue.value = newMonth; + } +); + // ==================== 监听 Tab 切换 ==================== watch(tabIndex, () => { pieCode.value = []; diff --git a/frontend/src/modules/yunXingGaoJIng/Aisbdbyx/AISBTK.vue b/frontend/src/modules/yunXingGaoJIng/Aisbdbyx/AISBTK.vue index 78d074ea..ecf4260c 100644 --- a/frontend/src/modules/yunXingGaoJIng/Aisbdbyx/AISBTK.vue +++ b/frontend/src/modules/yunXingGaoJIng/Aisbdbyx/AISBTK.vue @@ -469,7 +469,7 @@ let videoChartInstance: ECharts | null = null; // ==================== 日历视图状态 ==================== const calendarLoading = ref(false); const calendarData = ref([]); -const calendarValue = ref(dayjs()); +const calendarValue = ref(searchData.value.month); const detailModalVisible = ref(false); const detailActiveKey = ref(''); const detailVideoLoading = ref(false); @@ -486,7 +486,7 @@ const detailActiveMedia = ref<{ type: string; src: string }>({ const detailTabItems = ref([]); const detailDate = ref(''); const detailType = ref(''); -const detailDataType = ref(''); +const detailDataType = computed(() => detailActiveKey.value); const qingpiaoModalVisible = ref(false); const qingpiaoFids = ref([]); @@ -1378,7 +1378,7 @@ const colStcdData = async () => { const params = { filter: { logic: 'and', filters } }; const res: any = await getAiRstcd(params); - const _data = res?.data?.data?.data ?? []; + const _data = res?.data?.data ?? []; const list = _data.map((item: any) => ({ label: item.stnm, value: item.stcd @@ -1521,7 +1521,6 @@ const handleCalendarDayClick = async (current: any, dayData: any) => { const date = dayjs(current).format('YYYY-MM-DD'); const status = dayData.status; const statusInfo = calendarStatusMap[status]; - if (!statusInfo) return; // 清漂识别直接打开附件预览 @@ -1541,7 +1540,6 @@ const handleCalendarDayClick = async (current: any, dayData: any) => { // 漂浮物/叠梁门打开视频详情弹窗 detailDate.value = date; detailType.value = statusInfo.type; - detailDataType.value = statusInfo.dataType; // 设置 Tab 项(与React端一致) if (tabIndex.value === '2') { @@ -1593,6 +1591,8 @@ const fetchDetailVideoList = async () => { : null, // type过滤 { field: 'type', operator: 'eq', value: detailType.value }, + // dataType过滤 + { field: 'dataType', operator: 'eq', value: detailDataType.value }, // 时间范围 { field: 'tm', @@ -1826,6 +1826,15 @@ watch( } ); +// ==================== 监听月份变化,同步日历显示 ==================== +watch( + () => searchData.value.month, + (newMonth) => { + calendarValue.value = newMonth; + + } +); + // ==================== 监听 Tab 切换 ==================== watch(tabIndex, () => { pieCode.value = []; From 5465ef72d6f6303acd627e183c9d4f092a25989f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=85=B4=E5=87=AF?= <2448379534@qq.com> Date: Tue, 7 Jul 2026 10:33:29 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=BC=B9=E7=AA=97=E6=8B=96=E5=8A=A8+?= =?UTF-8?q?=E8=BF=87=E9=B1=BC=E8=AE=BE=E6=96=BD-=E8=BF=87=E9=B1=BC?= =?UTF-8?q?=E6=80=BB=E9=87=8F-=E5=BC=B9=E6=A1=86=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/.env.development | 2 +- frontend/src/components/BasicSearch/index.vue | 107 +- .../FishResource/FishResourceSearch.vue | 282 ++++ .../src/components/FishResource/index.vue | 554 +++++++ .../MapModal/components/AIYXSB/index.vue | 4 +- .../MapModal/components/BasicInfo.vue | 3 +- .../components/FishFacilityMonitorData.vue | 4 +- .../components/FishFacilityRunState.vue | 4 +- .../MapModal/components/FlowMeasure.vue | 3 +- .../components/NormalOperationData/index.vue | 2 + .../components/developStatusChart/index.vue | 4 +- .../components/engEnvironmentData/index.vue | 4 +- .../JiuZhuZhanQingKuangJieShao.vue | 3 +- .../EnvironmentalQualityTwoLayers.vue | 3 +- .../modules/EnvironmentalQuality/index.vue | 4 +- frontend/src/modules/GYZLLB/index.vue | 1272 +++++++++-------- .../index.vue | 3 +- frontend/src/modules/alongFishMod/index.vue | 3 +- .../src/modules/churukushuiwenMod/index.vue | 4 +- .../modules/dianxingcuoshijieshao/index.vue | 13 +- .../index.vue | 4 +- .../fishSurvey/FishIntroduce/index.vue | 4 +- .../fishSurvey/ZhuanZhiIntroduce/index.vue | 4 +- frontend/src/modules/guoyujiance/index.vue | 3 + .../guoyusheshijiansheqingkuang/index.vue | 313 ++-- .../src/modules/guoyusheshijieshao/index.vue | 533 +++---- frontend/src/modules/huanbaoMod/index.vue | 5 +- .../src/modules/huanbaozdjcgzkzQK/index.vue | 3 +- .../src/modules/liuyu/ai/spdzwaijc/AISPTK.vue | 5 +- .../src/modules/liuyu/ai/spdzwaijc/index.vue | 3 +- .../shengtailiuliangxianshuju.vue | 3 +- .../shuizhijianceshuju.vue | 3 +- .../modules/lushengshengtaijiance/index.vue | 3 +- .../TwoLayers/monthlyAverageMaxModal.vue | 3 +- .../index.vue | 4 +- .../qixidibaohugongzuokaizhanQK/index.vue | 325 +++-- .../xieFangFangShi/index.vue | 4 +- .../xieFangFenBu/index.vue | 4 +- .../src/modules/shengtaidabiaoModJZ/index.vue | 5 +- .../modules/shengtaidabiaoTwoMod/index.vue | 4 + .../modules/shengtaidabiaoTwoModJJ/index.vue | 5 + .../modules/sheshileixingjieshao/index.vue | 3 + .../src/modules/shuiWenNianNeiFenBu/index.vue | 3 +- .../shuidianhuangjingjieruMod/DataTable.vue | 3 +- .../modules/shuishengshengtaijiance/index.vue | 3 +- .../index.vue | 4 +- .../modules/shuizhijiancegongzuoQK/index.vue | 4 +- .../yanchengshuiwenChangeMod/index.vue | 4 +- .../yunXingGaoJIng/Aisbdbyx/AISBTK.vue | 3 +- .../modules/yunXingGaoJIng/Aisbdbyx/index.vue | 3 +- .../zengZhiJiHuaWanChengQingKuang/index.vue | 4 +- .../modules/zengZhiZhanJieShaoMod/index.vue | 4 +- .../zengzhizhanjiansheyunxing/index.vue | 3 + frontend/src/store/modules/shuJuTianBao.ts | 10 +- frontend/src/utils/drag.ts | 91 +- .../BasicData/DeleteConfirmModal.vue | 4 +- .../components/monitorData/FishData/index.vue | 4 +- .../home/huanBaoSheShiYunXingZhuangKuang.vue | 2 +- frontend/src/views/register/index.vue | 3 +- .../shuiShengShengTaiDiaoCha.vue | 3 +- .../guoYuSheShiShuJuTianBao/index.vue | 3 +- 61 files changed, 2406 insertions(+), 1273 deletions(-) create mode 100644 frontend/src/components/FishResource/FishResourceSearch.vue create mode 100644 frontend/src/components/FishResource/index.vue diff --git a/frontend/.env.development b/frontend/.env.development index b9d4b82d..e9a06736 100644 --- a/frontend/.env.development +++ b/frontend/.env.development @@ -12,7 +12,7 @@ VITE_APP_BASE_API = '/dev-api' # VITE_APP_BASE_URL = 'http://172.16.21.142:8093' # VITE_APP_BASE_URL = 'http://172.16.21.142:8096' # 汤伟 -VITE_APP_BASE_URL = 'http://10.84.121.127:8093' +VITE_APP_BASE_URL = 'http://10.84.111.235:8093' # 李林 # VITE_APP_BASE_URL = 'http://10.84.121.43:8093' # VITE_APP_BASE_URL = 'http://192.168.1.162:8093' diff --git a/frontend/src/components/BasicSearch/index.vue b/frontend/src/components/BasicSearch/index.vue index 70e421bd..1a500565 100644 --- a/frontend/src/components/BasicSearch/index.vue +++ b/frontend/src/components/BasicSearch/index.vue @@ -177,7 +177,84 @@ + +
+ + + + + {{ opt.basename }} + + + + + + {{ opt.ennm }},{{ opt.reachcdName }} + + + + + + {{ opt.ennm }} + + + +
+ + + + + + + +
+ +
+
+ + + +
+ +
+
+ + + + + diff --git a/frontend/src/components/MapModal/components/AIYXSB/index.vue b/frontend/src/components/MapModal/components/AIYXSB/index.vue index fddb65fd..921b2525 100644 --- a/frontend/src/components/MapModal/components/AIYXSB/index.vue +++ b/frontend/src/components/MapModal/components/AIYXSB/index.vue @@ -245,6 +245,7 @@ import { useModelStore } from '@/store/modules/model'; import videoCover from '@/assets/images/videFm.jpg'; import MediaViewer from './MediaViewer.vue'; import AttachmentPreview from './AttachmentPreview.vue'; +import { useDraggable } from '@/utils/drag'; const modelStore = useModelStore(); @@ -875,7 +876,8 @@ const notRunningMediaViewerRef = ref(); // 附件预览弹窗 const attachmentModalVisible = ref(false); const currentAttachmentFid = ref(''); - +useDraggable(detailModalVisible, { boundary: true, resetOnOpen: true }); +useDraggable(attachmentModalVisible, { boundary: true, resetOnOpen: true }); // 查看附件 const handleViewAttachment = (record: any) => { if (!record.fid) { diff --git a/frontend/src/components/MapModal/components/BasicInfo.vue b/frontend/src/components/MapModal/components/BasicInfo.vue index c66884fa..70a185dd 100644 --- a/frontend/src/components/MapModal/components/BasicInfo.vue +++ b/frontend/src/components/MapModal/components/BasicInfo.vue @@ -152,7 +152,7 @@ import { getStcdDetail } from '@/api/mapModal'; const baseUrl = import.meta.env.VITE_APP_ATTACHMENT_URL; const modelStore = useModelStore(); const hasLoaded = ref(false); // 标记是否已经请求过 - +import { useDraggable } from '@/utils/drag'; const props = defineProps({ url: { type: String, @@ -168,6 +168,7 @@ const isLogo = ref(false); const loading = ref(false); const data2: any = ref({}); const tabledata = ref([]); +useDraggable(visible, { boundary: true, resetOnOpen: true }); const columnsConfig = ref([ { type: 'ENG', diff --git a/frontend/src/components/MapModal/components/FishFacilityMonitorData.vue b/frontend/src/components/MapModal/components/FishFacilityMonitorData.vue index e3e3bb4c..a9e993cb 100644 --- a/frontend/src/components/MapModal/components/FishFacilityMonitorData.vue +++ b/frontend/src/components/MapModal/components/FishFacilityMonitorData.vue @@ -56,6 +56,7 @@ import { getMonitorDataFpq, getMonitorDataOnline } from '@/api/mapModal'; import { useModelStore } from '@/store/modules/model'; import { DateSetting } from '@/utils/enumeration'; import dayjs from 'dayjs'; +import { useDraggable } from '@/utils/drag'; const loading = ref(false); const modelStore = useModelStore(); @@ -72,7 +73,8 @@ const previewImageUrl = ref(''); // 视频预览 const videoPreviewVisible = ref(false); const previewVideoUrl = ref(''); - +useDraggable(imagePreviewVisible, { boundary: true, resetOnOpen: true }); +useDraggable(videoPreviewVisible, { boundary: true, resetOnOpen: true }); const openImagePreview = (url: string) => { previewImageUrl.value = import.meta.env.VITE_APP_ATTACHMENT_URL + '/?' + url; imagePreviewVisible.value = true; diff --git a/frontend/src/components/MapModal/components/FishFacilityRunState.vue b/frontend/src/components/MapModal/components/FishFacilityRunState.vue index 9354ccfb..f93afe69 100644 --- a/frontend/src/components/MapModal/components/FishFacilityRunState.vue +++ b/frontend/src/components/MapModal/components/FishFacilityRunState.vue @@ -102,6 +102,7 @@ import { getDictItemsByCode } from '@/api/dict'; import { getFishDictoryDropdown } from '@/api/select'; import { useModelStore } from '@/store/modules/model'; import dayjs from 'dayjs'; +import { useDraggable } from '@/utils/drag'; const loading = ref(false); const modelStore = useModelStore(); @@ -125,7 +126,8 @@ const previewImageUrl = ref(''); // 视频预览 const videoPreviewVisible = ref(false); const currentVideoUrl = ref(''); - +useDraggable(imagePreviewVisible, { boundary: true, resetOnOpen: true }); +useDraggable(videoPreviewVisible, { boundary: true, resetOnOpen: true }); // 鱼类搜索过滤 const filterFtpOption = (input: string, option: any) => { console.log('filterOption', input, option); diff --git a/frontend/src/components/MapModal/components/FlowMeasure.vue b/frontend/src/components/MapModal/components/FlowMeasure.vue index b3908191..b5d619ef 100644 --- a/frontend/src/components/MapModal/components/FlowMeasure.vue +++ b/frontend/src/components/MapModal/components/FlowMeasure.vue @@ -79,6 +79,7 @@ import { queryPostUrlList } from '@/api/mapModal'; import { useModelStore } from '@/store/modules/model'; import BasicTable from '@/components/BasicTable/index.vue'; import { DateSetting } from '@/utils/enumeration'; +import { useDraggable } from '@/utils/drag'; const modelStore = useModelStore(); @@ -102,7 +103,7 @@ let chartInstance: echarts.ECharts | null = null; const videoModalVisible = ref(false); const videoModalTitle = ref(''); const currentVideoUrl = ref(''); - +useDraggable(videoModalVisible, { boundary: true, resetOnOpen: true }); const tabsList = [{ name: '流量监测', key: 'flowMeasure' }]; const activeTabKey = ref('flowMeasure'); diff --git a/frontend/src/components/MapModal/components/NormalOperationData/index.vue b/frontend/src/components/MapModal/components/NormalOperationData/index.vue index 432b1a4f..e99ef6b4 100644 --- a/frontend/src/components/MapModal/components/NormalOperationData/index.vue +++ b/frontend/src/components/MapModal/components/NormalOperationData/index.vue @@ -110,6 +110,7 @@ import { type OperationFilterField, type OperationTableItem } from './operationConfig'; +import { useDraggable } from '@/utils/drag'; const props = defineProps({ isActive: { type: Boolean, default: false } @@ -141,6 +142,7 @@ const loadYear = ref(false); const loadFtp = ref(false); const tableRef = ref(); const attachmentModalVisible = ref(false); +useDraggable(attachmentModalVisible, { boundary: true, resetOnOpen: true }); const currentAttachmentFid = ref(''); const fieldOptionsMap = reactive>({}); const selectLoadingMap = reactive>({}); diff --git a/frontend/src/components/developStatusChart/index.vue b/frontend/src/components/developStatusChart/index.vue index c9bb000d..1a0c370a 100644 --- a/frontend/src/components/developStatusChart/index.vue +++ b/frontend/src/components/developStatusChart/index.vue @@ -28,7 +28,7 @@ import * as echarts from 'echarts'; import { getVmsstbprptKendoList } from '@/api/home'; import { useJidiSelectEventStore } from '@/store/modules/jidiSelectEvent'; import ShuiDianKaiFQKTwoLayer from '@/modules/shuidianhuangjingjieruMod/TwoLayer/ShuiDianKaiFQKTwoLayer.vue'; - +import { useDraggable } from '@/utils/drag'; defineOptions({ name: 'developStatusChart' }); @@ -41,7 +41,7 @@ const dataLoading = ref(false); const modalVisible = ref(false); const modalProps = ref({}); - +useDraggable(modalVisible, { boundary: true, resetOnOpen: true }); function openModal(props: any) { modalProps.value = props; modalVisible.value = true; diff --git a/frontend/src/components/engEnvironmentData/index.vue b/frontend/src/components/engEnvironmentData/index.vue index b368b924..cdedab24 100644 --- a/frontend/src/components/engEnvironmentData/index.vue +++ b/frontend/src/components/engEnvironmentData/index.vue @@ -60,7 +60,7 @@ import { ref, watch } from 'vue'; import { getVmsstbprptKendoList } from '@/api/home'; import { useJidiSelectEventStore } from '@/store/modules/jidiSelectEvent'; import HuanJingSJJRQK from '@/modules/shuidianhuangjingjieruMod/TwoLayer/HuanJingSJJRQK.vue'; - +import { useDraggable } from '@/utils/drag'; defineOptions({ name: 'EngEnvironmentData' }); @@ -72,7 +72,7 @@ const data = ref>({ one: 0, two: 0, three: 0 }); const modalVisible = ref(false); const modalProps = ref({}); - +useDraggable(modalVisible, { boundary: true, resetOnOpen: true }); function openModal(props: any) { modalProps.value = props; modalVisible.value = true; diff --git a/frontend/src/modules/DongWuJiuZhuZhan/JiuZhuZhanQingKuangJieShao.vue b/frontend/src/modules/DongWuJiuZhuZhan/JiuZhuZhanQingKuangJieShao.vue index d65599df..4a82d2cd 100644 --- a/frontend/src/modules/DongWuJiuZhuZhan/JiuZhuZhanQingKuangJieShao.vue +++ b/frontend/src/modules/DongWuJiuZhuZhan/JiuZhuZhanQingKuangJieShao.vue @@ -63,6 +63,7 @@ import SidePanelItem from '@/components/SidePanelItem/index.vue'; import { useJidiSelectEventStore } from '@/store/modules/jidiSelectEvent'; import { vpcGetKendoListCust } from '@/api/zxdzw'; import ArtsDetail from '@/components/carouselIntroduce/ArtsDetail.vue'; +import { useDraggable } from '@/utils/drag'; // 定义组件名(便于调试和递归) defineOptions({ @@ -83,7 +84,7 @@ const baseid = ref(''); // 弹框控制 const modalVisible = ref(false); const currentItem = ref(null); - +useDraggable(modalVisible, { boundary: true, resetOnOpen: true }); // 加载状态 const loading = ref(false); diff --git a/frontend/src/modules/EnvironmentalQuality/TwoLayers/EnvironmentalQualityTwoLayers.vue b/frontend/src/modules/EnvironmentalQuality/TwoLayers/EnvironmentalQualityTwoLayers.vue index e871f270..912ca453 100644 --- a/frontend/src/modules/EnvironmentalQuality/TwoLayers/EnvironmentalQualityTwoLayers.vue +++ b/frontend/src/modules/EnvironmentalQuality/TwoLayers/EnvironmentalQualityTwoLayers.vue @@ -109,6 +109,7 @@ import isSameOrAfter from 'dayjs/plugin/isSameOrAfter' import BasicTable from '@/components/BasicTable/index.vue' import { wqGetKendoList } from '@/api/sz' import HJMZDTwoLays from "./HJMZDTwoLays.vue" +import { useDraggable } from '@/utils/drag'; // 注册 dayjs 插件 dayjs.extend(isSameOrAfter) @@ -155,7 +156,7 @@ const detailModalVisible = ref(false) const detailData = ref({}) const mapModalVisible = ref(false) const mapModalData = ref({}) - +useDraggable(detailModalVisible, { boundary: true, resetOnOpen: true }); // 排序配置 const sortConfig = computed(() => [ { field: 'rstcdStepSort', dir: 'asc' }, diff --git a/frontend/src/modules/EnvironmentalQuality/index.vue b/frontend/src/modules/EnvironmentalQuality/index.vue index d2c9a511..814a5bcc 100644 --- a/frontend/src/modules/EnvironmentalQuality/index.vue +++ b/frontend/src/modules/EnvironmentalQuality/index.vue @@ -36,6 +36,8 @@ import SidePanelItem from '@/components/SidePanelItem/index.vue'; import { wqGetKendoListCust } from '@/api/sz' import { useJidiSelectEventStore } from "@/store/modules/jidiSelectEvent"; import EnvironmentalQualityTwoLayers from "./TwoLayers/EnvironmentalQualityTwoLayers.vue" +import { useDraggable } from '@/utils/drag'; + // 定义组件名(便于调试和递归) defineOptions({ name: 'EnvironmentalQuality' @@ -774,7 +776,7 @@ onUnmounted(() => { // 弹框相关状态 const modalVisible = ref(false); const clickedBarData = ref<{ name: string; current: number | null; lastYear: number | null; selectedId?: string } | null>(null); - +useDraggable(modalVisible, { boundary: true, resetOnOpen: true }); diff --git a/frontend/src/modules/GYZLLB/index.vue b/frontend/src/modules/GYZLLB/index.vue index 91f70884..bfa7ed5d 100644 --- a/frontend/src/modules/GYZLLB/index.vue +++ b/frontend/src/modules/GYZLLB/index.vue @@ -1,77 +1,60 @@ diff --git a/frontend/src/modules/ZhenXiZhiWuYuanMod/ZhiWuYuanJianSheJiJieRuQingKuangBar/index.vue b/frontend/src/modules/ZhenXiZhiWuYuanMod/ZhiWuYuanJianSheJiJieRuQingKuangBar/index.vue index 2ace8474..4933ef49 100644 --- a/frontend/src/modules/ZhenXiZhiWuYuanMod/ZhiWuYuanJianSheJiJieRuQingKuangBar/index.vue +++ b/frontend/src/modules/ZhenXiZhiWuYuanMod/ZhiWuYuanJianSheJiJieRuQingKuangBar/index.vue @@ -32,6 +32,7 @@ import SidePanelItem from '@/components/SidePanelItem/index.vue'; import { vpcGetKendoListCust } from '@/api/zxdzw'; import { useJidiSelectEventStore } from '@/store/modules/jidiSelectEvent'; import ZhiWuYuanDetailTable from './ZhiWuYuanDetailTable.vue'; +import { useDraggable } from '@/utils/drag'; // 定义组件名(便于调试和递归) defineOptions({ @@ -50,7 +51,7 @@ const loading = ref(false); // 弹窗状态 const modalVisible = ref(false); const modalJidi = ref('all'); - +useDraggable(modalVisible, { boundary: true, resetOnOpen: true }); // 基地选项(用于弹窗中的下拉) const jidiOptions = ref([]); diff --git a/frontend/src/modules/alongFishMod/index.vue b/frontend/src/modules/alongFishMod/index.vue index f0d3adc2..2ca8e91d 100644 --- a/frontend/src/modules/alongFishMod/index.vue +++ b/frontend/src/modules/alongFishMod/index.vue @@ -54,6 +54,7 @@ import Yanchengyulei from './TwoLayers/Yanchengyulei.vue'; import { useJidiSelectEventStore } from '@/store/modules/jidiSelectEvent'; import { wbsbGetKendoList, getDftYear, fishChanges2 } from '@/api/stdc'; import moment from 'moment'; +import { useDraggable } from '@/utils/drag'; defineOptions({ name: 'alongFishMod' @@ -108,7 +109,7 @@ const modalHbrvcd = ref(''); const modalStateName = ref(''); const modalSectionName = ref(''); const modalStcd = ref(''); - +useDraggable(modalVisible, { boundary: true, resetOnOpen: true }); // ==================== 图表相关 ==================== /** diff --git a/frontend/src/modules/churukushuiwenMod/index.vue b/frontend/src/modules/churukushuiwenMod/index.vue index 388895b7..abf6cc30 100644 --- a/frontend/src/modules/churukushuiwenMod/index.vue +++ b/frontend/src/modules/churukushuiwenMod/index.vue @@ -53,6 +53,8 @@ import { getVmsstbprpt, inOutOneGetKendoListCust } from '@/api/sw'; import { useJidiSelectEventStore } from '@/store/modules/jidiSelectEvent'; import churukushuiwen from './churukushuiwen.vue'; import { MapClass } from '@/components/gis/map.class'; +import { useDraggable } from '@/utils/drag'; + // ==================== 组件基础配置 ==================== // 定义组件名(便于调试和递归) defineOptions({ @@ -96,7 +98,7 @@ const modalVisible = ref(false); // 弹框显示状态 const clickDataInfo = ref(null); // 点击的数据点信息 const stationName = ref(''); // 站点名称 // ==================== 数据处理函数 ==================== - +useDraggable(modalVisible, { boundary: true, resetOnOpen: true }); /** * 转换图表数据格式 * 将后端返回的扁平数据结构转换为ECharts所需的双线数据格式 diff --git a/frontend/src/modules/dianxingcuoshijieshao/index.vue b/frontend/src/modules/dianxingcuoshijieshao/index.vue index 44cc22b1..e08eea2a 100644 --- a/frontend/src/modules/dianxingcuoshijieshao/index.vue +++ b/frontend/src/modules/dianxingcuoshijieshao/index.vue @@ -2,7 +2,7 @@ \ No newline at end of file + diff --git a/frontend/src/modules/huanbaoMod/index.vue b/frontend/src/modules/huanbaoMod/index.vue index d02f6001..262ef197 100644 --- a/frontend/src/modules/huanbaoMod/index.vue +++ b/frontend/src/modules/huanbaoMod/index.vue @@ -1,5 +1,5 @@ -