模块完善

This commit is contained in:
王兴凯 2026-05-15 18:08:29 +08:00
parent cd59030f07
commit e3022c2db6
12 changed files with 2218 additions and 417 deletions

View File

@ -10,6 +10,7 @@ VITE_APP_BASE_API = '/dev-api'
# VITE_APP_BASE_URL = 'http://localhost:8093' # VITE_APP_BASE_URL = 'http://localhost:8093'
# 测试环境 # 测试环境
# VITE_APP_BASE_URL = 'http://172.16.21.142:8096' # VITE_APP_BASE_URL = 'http://172.16.21.142:8096'
# VITE_APP_BASE_URL = 'http://172.16.21.142:8096'
# 汤伟 # 汤伟
VITE_APP_BASE_URL = 'http://10.84.121.21:8093' VITE_APP_BASE_URL = 'http://10.84.121.21:8093'

View File

@ -0,0 +1,62 @@
import request from '@/utils/request';
/**
* Kendo
* @param params
* @param sortConfig
*/
export function getKendoList(params: any, sortConfig?: any[]) {
return request({
url: '/dec-lygk-base-server/base/vmsstbprpt/GetKendoList',
method: 'post',
data: {
filters: params,
sorts: sortConfig || []
}
});
}
/**
* Kendo
* @param params
* @param sortConfig
*/
export function getKendoListCust(params: any, sortConfig?: any[]) {
return request({
url: '/dec-lygk-base-server/base/vmsstbprpt/GetKendoListCust',
method: 'post',
data: {
filters: params,
sorts: sortConfig || []
}
});
}
/**
* other
* @param filters
* @param sorts
* @param needTotal
* @param fields
* @param defaultSort
*/
export function getIntroduce(
filters: any[],
sorts?: any[],
needTotal?: boolean,
fields?: string[],
defaultSort?: any
) {
return request({
url: '/dec-lygk-base-server/base/introduce/getIntroduce',
method: 'post',
data: {
logic: 'and',
filters: filters,
sorts: sorts || [],
needTotal: needTotal || false,
fields: fields || [],
defaultSort: defaultSort
}
});
}

View File

@ -15,6 +15,12 @@
<InfoCircleOutlined /> <InfoCircleOutlined />
</a-tooltip> </a-tooltip>
</span> </span>
<span v-if="iconmap.show" class="title_icon">
<a-tooltip placement="top" :title="iconmap.value"
:get-popup-container="getPopupContainer">
<span :class="iconmap.icon"></span>
</a-tooltip>
</span>
</div> </div>
<div class="title_right"> <div class="title_right">
<div v-if="select.show"> <div v-if="select.show">
@ -36,7 +42,7 @@
<div v-if="datetimePicker.show"> <div v-if="datetimePicker.show">
<!-- 添加 locale 属性来设置语言 --> <!-- 添加 locale 属性来设置语言 -->
<a-date-picker v-model:value="datetimeValue" show-time <a-date-picker v-model:value="datetimeValue" show-time
:style="{ width: datetimePicker.picker === 'year' ? '80px' : '' }" :style="{ width: datetimePicker.picker === 'year' ? '80px' : '120px' }"
:format="datetimePicker.format !== null ? datetimePicker.format : undefined" :format="datetimePicker.format !== null ? datetimePicker.format : undefined"
:picker="datetimePicker.picker" placeholder=" " @change="handleDateTimeChange" :picker="datetimePicker.picker" placeholder=" " @change="handleDateTimeChange"
:size="'small'" /> :size="'small'" />
@ -73,6 +79,7 @@ import dayjs, { Dayjs } from 'dayjs';
interface PromptConfig { interface PromptConfig {
show: boolean; show: boolean;
value: string; value: string;
icon?: string;
} }
interface SelectConfig { interface SelectConfig {
@ -112,6 +119,14 @@ const props = defineProps({
value: '', value: '',
}) })
}, },
iconmap: {//
type: Object as () => PromptConfig,
default: () => ({
show: false,
value: '',
icon:'iconfont icon-time',
})
},
select: { // select: { //
type: Object as () => SelectConfig, type: Object as () => SelectConfig,
default: () => ({ default: () => ({

View File

@ -13,24 +13,13 @@ import { ref, onMounted, watch } from "vue";
import { useJidiSelectEventStore } from "@/store/modules/jidiSelectEvent"; import { useJidiSelectEventStore } from "@/store/modules/jidiSelectEvent";
import SidePanelItem from "@/components/SidePanelItem/index.vue"; import SidePanelItem from "@/components/SidePanelItem/index.vue";
import { getBaseKenWbsbdoList } from "@/api/home"; import { getBaseWbsb } from "@/api/home";
const JidiSelectEventStore = useJidiSelectEventStore(); const JidiSelectEventStore = useJidiSelectEventStore();
// 便 // 便
defineOptions({ defineOptions({
name: "jidiInfoMod", name: "jidiInfoMod",
}); });
const title_text = ref("");
watch(
() => JidiSelectEventStore.selectedItem,
(newVal) => {
console.log(newVal);
if (newVal.name == "当前全部") {
}
initText();
},
{ deep: true }
);
const initText = () => { const initText = () => {
const params = { const params = {
filter: { filter: {
@ -46,15 +35,26 @@ const initText = () => {
], ],
}, },
}; };
getBaseKenWbsbdoList(params).then((res) => { getBaseWbsb(params).then((res) => {
console.log(res); console.log(res);
title_text.value = res.data.data[0].introduce; title_text.value = res.data.data[0].introduce;
// debugger
}); });
}; };
const title_text = ref("");
watch(
() => JidiSelectEventStore.selectedItem,
(newVal) => {
initText();
},
{ deep: true, immediate: true }
);
// //
onMounted(() => { onMounted(() => {
initText(); initText();
console.log(JidiSelectEventStore.selectedItem); console.log(JidiSelectEventStore.selectedItem);
}); });
</script> </script>

View File

@ -1,7 +1,7 @@
<!-- SidePanelItem.vue --> <!-- SidePanelItem.vue -->
<template> <template>
<SidePanelItem title="沿程水质变化" :datetimePicker="datetimePicker"> <SidePanelItem title="沿程水质变化" :iconmap="iconmap" :datetimePicker="datetimePicker">
<div class="chart-container" ref="chartRef"></div> <div class="chart-container" ref="chartRef"></div>
</SidePanelItem> </SidePanelItem>
</template> </template>
@ -17,7 +17,11 @@ import SidePanelItem from '@/components/SidePanelItem/index.vue';
defineOptions({ defineOptions({
name: 'waterQuality' name: 'waterQuality'
}); });
const iconmap = ref({
show: true,
value: '注最新数据时间为2026-05-14 2300',
icon: 'iconfont icon-time',
});
// ==================== ==================== // ==================== ====================
const chartRef = ref<HTMLElement | null>(null); const chartRef = ref<HTMLElement | null>(null);
let chartInstance: echarts.ECharts | null = null; let chartInstance: echarts.ECharts | null = null;

View File

@ -1,6 +1,6 @@
<!-- SidePanelItem.vue --> <!-- SidePanelItem.vue -->
<template> <template>
<SidePanelItem title="沿程水温变化" :prompt="prompts"> <SidePanelItem title="沿程水温变化" :prompt="prompts" :select="select" :datetimePicker="datetimePicker">
<div ref="chartRef" class="chart-container"></div> <div ref="chartRef" class="chart-container"></div>
</SidePanelItem> </SidePanelItem>
</template> </template>
@ -15,7 +15,23 @@ import SidePanelItem from '@/components/SidePanelItem/index.vue';
defineOptions({ defineOptions({
name: 'yanchengshuiwenChangeMod' name: 'yanchengshuiwenChangeMod'
}); });
//
const select = ref({
show: true,
value: undefined,
options: [],
picker: undefined,
format: undefined
});
//
const datetimePicker = ref({
show: true,
value: '2026-05-15 15',
format: 'YYYY-MM-DD HH',
picker: 'date' as const,
options: []
});
const prompts = ref({ const prompts = ref({
show: true, show: true,
value: '注:最新数据时间为2026-04-08 23', value: '注:最新数据时间为2026-04-08 23',

View File

@ -1,7 +1,19 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref, watch } from "vue";
import JidiSelectorMod from "@/modules/jidiSelectorMod.vue"; import JidiSelectorMod from "@/modules/jidiSelectorMod.vue";
import RightDrawer from "@/components/RightDrawer/index.vue"; import RightDrawer from "@/components/RightDrawer/index.vue";
import HuanbaozdjcgzkzQK from "@/modules/huanbaozdjcgzkzQK/index.vue" import HuanbaozdjcgzkzQK from "@/modules/huanbaozdjcgzkzQK/index.vue";
import SZYCBH from "@/modules/waterQuality/index.vue"
import { useJidiSelectEventStore } from "@/store/modules/jidiSelectEvent";
const JidiSelectEventStore = useJidiSelectEventStore();
const wbsCode = ref('')
watch(
() => JidiSelectEventStore.selectedItem,
(newVal) => {
wbsCode.value = newVal.wbsCode
},
{ deep: true, immediate: true }
);
</script> </script>
<template> <template>
@ -12,6 +24,7 @@ import HuanbaozdjcgzkzQK from "@/modules/huanbaozdjcgzkzQK/index.vue"
<div class="rightContent"> <div class="rightContent">
<RightDrawer> <RightDrawer>
<HuanbaozdjcgzkzQK /> <HuanbaozdjcgzkzQK />
<SZYCBH v-if="wbsCode != 'all'" />
</RightDrawer> </RightDrawer>
</div> </div>
</div> </div>

View File

@ -1,8 +1,21 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref, watch } from "vue";
import JidiSelectorMod from "@/modules/jidiSelectorMod.vue"; import JidiSelectorMod from "@/modules/jidiSelectorMod.vue";
import RightDrawer from "@/components/RightDrawer/index.vue"; import RightDrawer from "@/components/RightDrawer/index.vue";
import ShuiZhiJianCeGongZuoQingKuang from "@/modules/shuizhijiancegongzuoQK/index.vue" import ShuiZhiJianCeGongZuoQingKuang from "@/modules/shuizhijiancegongzuoQK/index.vue"
import EnvironmentalQuality from "@/modules/EnvironmentalQuality/index.vue" // import EnvironmentalQuality from "@/modules/EnvironmentalQuality/index.vue" //
import { useJidiSelectEventStore } from "@/store/modules/jidiSelectEvent";
import SZYCBH from "@/modules/waterQuality/index.vue"
const JidiSelectEventStore = useJidiSelectEventStore();
const wbsCode = ref('');
watch(
() => JidiSelectEventStore.selectedItem,
(newVal) => {
console.log(newVal);
wbsCode.value = newVal.wbsCode;
},
{ deep: true }
);
</script> </script>
<template> <template>
@ -14,6 +27,8 @@ import EnvironmentalQuality from "@/modules/EnvironmentalQuality/index.vue" //
<RightDrawer> <RightDrawer>
<ShuiZhiJianCeGongZuoQingKuang /> <ShuiZhiJianCeGongZuoQingKuang />
<EnvironmentalQuality /> <EnvironmentalQuality />
<SZYCBH v-if="wbsCode != 'all'"></SZYCBH>
</RightDrawer> </RightDrawer>
</div> </div>
</div> </div>

View File

@ -1,4 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref, watch } from "vue";
import JidiSelectorMod from "@/modules/jidiSelectorMod.vue"; import JidiSelectorMod from "@/modules/jidiSelectorMod.vue";
import RightDrawer from "@/components/RightDrawer/index.vue"; import RightDrawer from "@/components/RightDrawer/index.vue";
@ -6,7 +7,22 @@ import ZengZhiJiHuaWanChengQingKuang from "@/modules/zengZhiJiHuaWanChengQingKua
import ZengZhiZhanJieShaoMod from "@/modules/zengZhiZhanJieShaoMod/index.vue" import ZengZhiZhanJieShaoMod from "@/modules/zengZhiZhanJieShaoMod/index.vue"
import ZZZJSYXQKTT from "@/modules/zengzhizhanjiansheyunxing/index.vue" import ZZZJSYXQKTT from "@/modules/zengzhizhanjiansheyunxing/index.vue"
import ZZZYXSJTJ from "@/modules/zengzhizhanyunxingsjtj/index.vue" import ZZZYXSJTJ from "@/modules/zengzhizhanyunxingsjtj/index.vue"
import FLZLLB from "@/modules/GYZLLB/index.vue" import FLZLLB from "@/modules/GYZLLB/index.vue"
import { useJidiSelectEventStore } from "@/store/modules/jidiSelectEvent";
const JidiSelectEventStore = useJidiSelectEventStore();
const wbsCode = ref('all');
watch(
() => JidiSelectEventStore.selectedItem,
(newVal) => {
console.log(newVal);
if (newVal.wbsCode == 'all') {
wbsCode.value = 'all';
} else {
wbsCode.value = newVal.wbsCode;
}
},
{ deep: true }
);
</script> </script>
<template> <template>
@ -16,10 +32,10 @@ import FLZLLB from "@/modules/GYZLLB/index.vue"
</div> </div>
<div class="rightContent"> <div class="rightContent">
<RightDrawer> <RightDrawer>
<ZZZJSYXQKTT /> <ZZZJSYXQKTT />
<ZengZhiZhanJieShaoMod /> <ZengZhiZhanJieShaoMod v-if="wbsCode != 'all'" />
<ZengZhiJiHuaWanChengQingKuang /> <ZengZhiJiHuaWanChengQingKuang v-if="wbsCode != 'all'" />
<FLZLLB title="放流总量" /> <FLZLLB title="放流总量" />
<ZZZYXSJTJ /> <ZZZYXSJTJ />
</RightDrawer> </RightDrawer>
</div> </div>

1492
package-lock.json generated

File diff suppressed because it is too large Load Diff

6
package.json Normal file
View File

@ -0,0 +1,6 @@
{
"dependencies": {
"cesium": "^1.140.0",
"vite-plugin-cesium": "^1.2.23"
}
}