From f4c57d380ced7cfc53fc4e6abd8be1abc8717017 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=85=B4=E5=87=AF?= <2448379534@qq.com> Date: Fri, 5 Jun 2026 16:12:33 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=87=E9=B1=BC=E8=AE=BE=E6=96=BD=E6=94=B9?= =?UTF-8?q?=E5=8A=A8=E5=92=8C=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90=E6=94=B9?= =?UTF-8?q?=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/.env.development | 2 +- frontend/src/api/auth/index.ts | 2 +- frontend/src/api/gyss/index.ts | 17 + frontend/src/api/select/index.ts | 2 +- frontend/src/api/user/index.ts | 2 +- frontend/src/components/BasicSearch/index.vue | 23 +- .../src/components/MapModal/column.config.ts | 2 +- .../src/components/MapModal/setting.config.ts | 6 +- .../carouselIntroduce/ArtsDetail.vue | 24 +- .../EnvironmentalQualityTwoLayers.vue | 1 - .../guoyujiance/components/FPVDDetailMD.vue | 114 ++++++ frontend/src/modules/guoyujiance/index.vue | 162 +++++++- .../ModalPage/index.vue | 381 ++++++++++++++++++ .../guoyusheshijiansheqingkuang/index.vue | 127 ++++-- .../src/modules/guoyusheshijieshao/index.vue | 351 +++++++++++----- .../modules/qixidishuiwenbianhua/index.vue | 1 - frontend/src/store/modules/shuJuTianBao.ts | 12 +- .../views/guoYuSheShi/sheShiZhuangKuang.vue | 15 +- frontend/src/views/register/index.vue | 26 +- .../guoYuDaoShuTongJiSearch.vue | 6 +- .../shuJuTianBao/guoYuDaoShuTongJi/index.vue | 4 +- .../guoYuSheShiShuJuHistorySearch.vue | 6 +- .../guoYuSheShiShuJuHistory/index.vue | 6 +- .../guoYuSheShiShuJuTianBaoForm.vue | 40 +- .../guoYuSheShiShuJuTianBaoSearch.vue | 6 +- .../guoYuSheShiShuJuTianBaoTable.vue | 63 +-- .../guoYuSheShiShuJuTianBao/index.vue | 8 +- .../shengPiJiLu/approvalDetailSearch.vue | 6 +- .../views/shuJuTianBao/shengPiJiLu/index.vue | 12 +- .../shengPiJiLu/shengPiJiLuSearch.vue | 4 +- 30 files changed, 1160 insertions(+), 271 deletions(-) create mode 100644 frontend/src/api/gyss/index.ts create mode 100644 frontend/src/modules/guoyujiance/components/FPVDDetailMD.vue create mode 100644 frontend/src/modules/guoyusheshijiansheqingkuang/ModalPage/index.vue diff --git a/frontend/.env.development b/frontend/.env.development index 33af3dc8..af412fe9 100644 --- a/frontend/.env.development +++ b/frontend/.env.development @@ -7,7 +7,7 @@ VITE_APP_TITLE = '水电水利建设项目全过程环境管理信息平台' VITE_APP_PORT = 3000 VITE_APP_BASE_API = '/dev-api' # 本地环境 -# VITE_APP_BASE_URL = 'http://localhost:8093' +# VITE_APP_BASE_URL = 'http://10.84.121.122:8093' # 测试环境 # VITE_APP_BASE_URL = 'http://172.16.21.142:8093' # VITE_APP_BASE_URL = 'http://172.16.21.142:8096' diff --git a/frontend/src/api/auth/index.ts b/frontend/src/api/auth/index.ts index bb131619..83eb35e0 100644 --- a/frontend/src/api/auth/index.ts +++ b/frontend/src/api/auth/index.ts @@ -52,7 +52,7 @@ export function registerUser(data: any): AxiosPromise { */ export function getBasinList(): AxiosPromise { return request({ - url: '/env/hbrv/regDropdown', + url: '/env/rvcd/regDropdown', method: 'get', // params: baseid ? { baseid } : {} }); diff --git a/frontend/src/api/gyss/index.ts b/frontend/src/api/gyss/index.ts new file mode 100644 index 00000000..baae8480 --- /dev/null +++ b/frontend/src/api/gyss/index.ts @@ -0,0 +1,17 @@ +import request from '@/utils/request'; +//过鱼设施介绍 +export function vmsstbprptGetKendoList(data: any) { + return request({ + url: '/api/dec-lygk-base-server/base/vmsstbprpt/GetKendoList', + method: 'post', + data + }); +} +//过鱼设施 +export function buildGetKendoListCust(data: any) { + return request({ + url: '/api/wmp-env-server/env/fp/build/GetKendoListCust', + method: 'post', + data + }); +} diff --git a/frontend/src/api/select/index.ts b/frontend/src/api/select/index.ts index 58c0d500..1e9411c5 100644 --- a/frontend/src/api/select/index.ts +++ b/frontend/src/api/select/index.ts @@ -11,7 +11,7 @@ export function getBaseDropdown(data:any) { // 流域下拉列表 export function getSelectForDropdown(data:any) { return request({ - url: '/env/hbrv/selectForDropdown', + url: '/env/rvcd/selectForDropdown', method: 'get', data }); diff --git a/frontend/src/api/user/index.ts b/frontend/src/api/user/index.ts index 6de151fc..29bbef41 100644 --- a/frontend/src/api/user/index.ts +++ b/frontend/src/api/user/index.ts @@ -113,7 +113,7 @@ export function updatePassword (queryParams:any) { //获取过鱼设施权限树 export function getFishtree(queryParams:any) { return request({ - url: '/env/tree/hbrvEng', + url: '/env/tree/rvcdEng', method: 'get', params: queryParams }); diff --git a/frontend/src/components/BasicSearch/index.vue b/frontend/src/components/BasicSearch/index.vue index 24769ab1..9d7dc5da 100644 --- a/frontend/src/components/BasicSearch/index.vue +++ b/frontend/src/components/BasicSearch/index.vue @@ -96,21 +96,22 @@ --> - {{ opt.hbrvnm }} + {{ opt.rvnm }} @@ -329,7 +330,7 @@ const initForm = () => { // 下拉菜单 // shuJuTianBaoStore.getBaseOption(); shuJuTianBaoStore.getSelectForOption(); - shuJuTianBaoStore.getEngOption(formData.hbrvcd); + shuJuTianBaoStore.getEngOption(formData.rvcd); } if (item.fieldProps?.required) { rules[item.name] = [ @@ -362,23 +363,23 @@ const triggerManualValuesChange = (changedKey: string, newValue: any) => { // }; const lyChange = (value: any) => { - formData.hbrvcd = value; + formData.rvcd = value; formData.rstcd = ""; - shuJuTianBaoStore.getEngOption(formData.hbrvcd); + shuJuTianBaoStore.getEngOption(formData.rvcd); // 【关键修改】手动触发 valuesChange,因为 a-form-item-rest 阻断了自动监听 - triggerManualValuesChange("hbrvcd", formData.hbrvcd); + triggerManualValuesChange("rvcd", formData.rvcd); }; const stcdIdChange = (value: any) => { if (props.zhujianfujian == "fu") { formData.rstcd = value; - shuJuTianBaoStore.getFpssOption(formData.hbrvcd, value); + shuJuTianBaoStore.getFpssOption(formData.rvcd, value); // 【关键修改】手动触发 valuesChange triggerManualValuesChange("rstcd", formData.rstcd); } else { formData.stcd = value; - shuJuTianBaoStore.getFpssOption(formData.hbrvcd, value); + shuJuTianBaoStore.getFpssOption(formData.rvcd, value); // 【关键修改】手动触发 valuesChange triggerManualValuesChange("stcd", formData.stcd); } diff --git a/frontend/src/components/MapModal/column.config.ts b/frontend/src/components/MapModal/column.config.ts index 6fe060f2..016e3292 100644 --- a/frontend/src/components/MapModal/column.config.ts +++ b/frontend/src/components/MapModal/column.config.ts @@ -2002,7 +2002,7 @@ const StinfoAiVidoPointColumns: Array = [ }, { name: '所属行政区', - filed: 'addvcdName ', + filed: 'addvcdName', visible: true, type: 'select', url: '', diff --git a/frontend/src/components/MapModal/setting.config.ts b/frontend/src/components/MapModal/setting.config.ts index 63c04a41..34b358e4 100644 --- a/frontend/src/components/MapModal/setting.config.ts +++ b/frontend/src/components/MapModal/setting.config.ts @@ -302,8 +302,8 @@ const FPTabs: Array = name: '基础信息', key: 'basicInfo', type: 'basic', - url: '/bbi/siteBipc/getSiteBasicInfo', - code: 'gyss.tabs.jcxx' + url: '/api/dec-lygk-base-server/base/msstbprpt/getStcdInfo', + // code: 'gyss.tabs.jcxx' }, // { // name: '实时视频', @@ -1018,7 +1018,7 @@ const videoTabs: Array = [ name: '基础信息', key: 'basicInfo', type: 'basic', - url: '/bbi/siteBipc/getSiteBasicInfo', + url: '/api/dec-lygk-base-server/base/msstbprpt/getStcdInfo', default: true, // 默认显示 }, { diff --git a/frontend/src/components/carouselIntroduce/ArtsDetail.vue b/frontend/src/components/carouselIntroduce/ArtsDetail.vue index 33a75e25..b0d95b82 100644 --- a/frontend/src/components/carouselIntroduce/ArtsDetail.vue +++ b/frontend/src/components/carouselIntroduce/ArtsDetail.vue @@ -8,7 +8,7 @@
-
+
+
+
{{ currentTitle }}
+
+
{{ currentDescription }}
@@ -52,7 +56,7 @@ const props = defineProps<{ description: string; url: string; }>; - index:any + index: any }>(); interface MediaItem { @@ -115,7 +119,9 @@ const jumpToSlide = (targetIndex: number) => { const currentDescription = computed(() => { return originalMediaData.value[currentIndex.value]?.description || ''; }); - +const currentTitle = computed(() => { + return originalMediaData.value[currentIndex.value]?.title || ''; +}); // 页面加载时执行 onMounted(() => { console.log('ArtsDetail mounted - props.index:', props.index, 'props.dataSource.length:', props.dataSource?.length); @@ -223,6 +229,16 @@ watch( box-sizing: border-box; } + .card_text_title_zi { + font-size: 28px; + // line-height: 36px; + white-space: nowrap; + font-weight: 700; + position: relative; + padding-left: 14px; + } + + .card_text_content { width: 100%; height: 96%; diff --git a/frontend/src/modules/EnvironmentalQuality/TwoLayers/EnvironmentalQualityTwoLayers.vue b/frontend/src/modules/EnvironmentalQuality/TwoLayers/EnvironmentalQualityTwoLayers.vue index e99c7945..9457f9d4 100644 --- a/frontend/src/modules/EnvironmentalQuality/TwoLayers/EnvironmentalQualityTwoLayers.vue +++ b/frontend/src/modules/EnvironmentalQuality/TwoLayers/EnvironmentalQualityTwoLayers.vue @@ -716,7 +716,6 @@ watch( formState.sfdb = '' formState.stnm = '' pieCode.value = [] - debugger // 重新加载数据 nextTick(() => { handleSearch() diff --git a/frontend/src/modules/guoyujiance/components/FPVDDetailMD.vue b/frontend/src/modules/guoyujiance/components/FPVDDetailMD.vue new file mode 100644 index 00000000..4a0d8f9a --- /dev/null +++ b/frontend/src/modules/guoyujiance/components/FPVDDetailMD.vue @@ -0,0 +1,114 @@ + + + + + + \ No newline at end of file diff --git a/frontend/src/modules/guoyujiance/index.vue b/frontend/src/modules/guoyujiance/index.vue index 234a683d..f3c39485 100644 --- a/frontend/src/modules/guoyujiance/index.vue +++ b/frontend/src/modules/guoyujiance/index.vue @@ -1,8 +1,12 @@ \ No newline at end of file diff --git a/frontend/src/modules/guoyusheshijiansheqingkuang/ModalPage/index.vue b/frontend/src/modules/guoyusheshijiansheqingkuang/ModalPage/index.vue new file mode 100644 index 00000000..a835268f --- /dev/null +++ b/frontend/src/modules/guoyusheshijiansheqingkuang/ModalPage/index.vue @@ -0,0 +1,381 @@ + + + + + diff --git a/frontend/src/modules/guoyusheshijiansheqingkuang/index.vue b/frontend/src/modules/guoyusheshijiansheqingkuang/index.vue index 53da31a2..b7adca44 100644 --- a/frontend/src/modules/guoyusheshijiansheqingkuang/index.vue +++ b/frontend/src/modules/guoyusheshijiansheqingkuang/index.vue @@ -1,58 +1,135 @@ @@ -193,8 +335,6 @@ const goToSlide = (targetIndex: number) => { .container { width: 100%; height: 228px; - // border: 1px solid #7fd6ff; - // border-radius: 5px; position: relative; overflow: hidden; // 隐藏超出容器的内容 @@ -216,9 +356,9 @@ const goToSlide = (targetIndex: number) => { height: 100%; position: relative; flex-shrink: 0; // 防止被压缩 + cursor: pointer; - img, - video { + img { width: 100%; height: 100%; object-fit: cover; // 保持比例填充 @@ -268,13 +408,12 @@ const goToSlide = (targetIndex: number) => { // 独立的文字说明区域 .description-text { - // padding: 8px 12px; font-size: 14px; line-height: 1.5; - // min-height: 40px; transition: all 0.3s ease; - margin-bottom: 20px; - + // margin-bottom: 20px; + cursor: pointer; + // 多行文本溢出省略 display: -webkit-box; -webkit-line-clamp: 2; diff --git a/frontend/src/modules/qixidishuiwenbianhua/index.vue b/frontend/src/modules/qixidishuiwenbianhua/index.vue index 425a3722..18fa31a3 100644 --- a/frontend/src/modules/qixidishuiwenbianhua/index.vue +++ b/frontend/src/modules/qixidishuiwenbianhua/index.vue @@ -401,7 +401,6 @@ const getChartData = async (startDate: string, endDate: string, stcd: string) => // 调用实际的API获取数据 const res = await sdrvwtsGetKendoList(params); - debugger console.log('API返回结果:', res); let data = res?.data?.data || []; diff --git a/frontend/src/store/modules/shuJuTianBao.ts b/frontend/src/store/modules/shuJuTianBao.ts index af1d948b..23b36f6b 100644 --- a/frontend/src/store/modules/shuJuTianBao.ts +++ b/frontend/src/store/modules/shuJuTianBao.ts @@ -45,7 +45,7 @@ export const useShuJuTianBaoStore = defineStore('shuJuTianBao', () => { const res = await getSelectForDropdown({}); if (res.data && Array.isArray(res.data)) { const list = [ - { hbrvcd: 'all', hbrvnm: '当前全部', baseid: '01' }, + { rvcd: 'all', rvnm: '当前全部', baseid: '01' }, ...res.data ]; // 直接赋值给 ref,触发响应式更新 @@ -58,15 +58,15 @@ export const useShuJuTianBaoStore = defineStore('shuJuTianBao', () => { } }; // 获取电站列表 - const getEngOption = async (hbrvcd: string) => { + const getEngOption = async (rvcd: string) => { try { engLoading.value = true; - const param = hbrvcd === 'all' ? {} : { hbrvcd }; + const param = rvcd === 'all' ? {} : { rvcd }; const res = await getEngInfoDropdown(param); if (res.data && Array.isArray(res.data)) { // 直接赋值给 ref engOption.value = res.data; - getFpssOption(hbrvcd, ''); + getFpssOption(rvcd, ''); } } catch (error) { console.error('获取电站列表失败:', error); @@ -75,10 +75,10 @@ export const useShuJuTianBaoStore = defineStore('shuJuTianBao', () => { } }; // 获取过鱼设施列表 - const getFpssOption = async (hbrvcd: string, rstcd: string) => { + const getFpssOption = async (rvcd: string, rstcd: string) => { try { fpssLoading.value = true; - const param = hbrvcd === 'all' ? {} : { hbrvcd }; + const param = rvcd === 'all' ? {} : { rvcd }; const res = await getFpssDropdown({...param, rstcd: rstcd}); fpssOption.value = res.data; } catch (error) { diff --git a/frontend/src/views/guoYuSheShi/sheShiZhuangKuang.vue b/frontend/src/views/guoYuSheShi/sheShiZhuangKuang.vue index 8637f565..f2ffa96c 100644 --- a/frontend/src/views/guoYuSheShi/sheShiZhuangKuang.vue +++ b/frontend/src/views/guoYuSheShi/sheShiZhuangKuang.vue @@ -5,6 +5,17 @@ import GuoYuSheShiJieShao from "@/modules/guoyusheshijieshao/index.vue" import GuoYuSheShiJianSheQingKuang from "@/modules/guoyusheshijiansheqingkuang/index.vue" import GuoYuJianCeTJ from "@/modules/guoyujiance/index.vue" import GYZLLB from "@/modules/GYZLLB/index.vue" +import { useJidiSelectEventStore } from "@/store/modules/jidiSelectEvent"; +import { ref,watch} from 'vue'; +const JidiSelectEventStore = useJidiSelectEventStore(); +const baseid = ref('') +watch( + () => JidiSelectEventStore.selectedItem, + (newVal) => { + baseid.value = newVal.wbsCode; + }, + { deep: true, immediate: true } +); --> -