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/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 @@ -