diff --git a/src/components/ChartsBarLine/index.vue b/src/components/ChartsBarLine/index.vue
index 359e688..0da9644 100644
--- a/src/components/ChartsBarLine/index.vue
+++ b/src/components/ChartsBarLine/index.vue
@@ -36,8 +36,8 @@
type: Object,
default: () => {
return {
- left: '15%',
- right: '15%',
+ left: '60',
+ right: '60',
bottom: "16%",
top: "16%",
containLabel: true,
@@ -251,7 +251,7 @@
yAxis: [
{ // 雨量 - 左侧
type: 'value',
- name: '雨量 (mm)',
+ name: '降雨量 (mm)',
inverse: true,
nameLocation: 'start',
axisLabel: { color: '#1075FD' },
@@ -267,31 +267,31 @@
splitLine: getSplitLine(1),
},
],
- dataZoom: [
- {
- type: 'inside', // 内置型数据区域缩放组件
- xAxisIndex: [0], // 控制第一个x轴
- start: 0,
- end: 100
- },
- {
- type: 'slider', // 滑动条型数据区域缩放组件
- xAxisIndex: [0],
- start: 0,
- end: 100,
- bottom: 50, // 距离底部距离
- height: 30, // 高度
- fillerColor: 'rgba(167,183,204,0.4)', // 选中区域的背景色
- borderColor: '#ddd',
- textStyle: {
- color: '#999'
- },
- handleSize: '100%', // 手柄大小
- handleStyle: {
- color: '#a7b7cc'
- }
- }
- ],
+ // dataZoom: [
+ // {
+ // type: 'inside', // 内置型数据区域缩放组件
+ // xAxisIndex: [0], // 控制第一个x轴
+ // start: 0,
+ // end: 100
+ // },
+ // {
+ // type: 'slider', // 滑动条型数据区域缩放组件
+ // xAxisIndex: [0],
+ // start: 0,
+ // end: 100,
+ // bottom: 50, // 距离底部距离
+ // height: 30, // 高度
+ // fillerColor: 'rgba(167,183,204,0.4)', // 选中区域的背景色
+ // borderColor: '#ddd',
+ // textStyle: {
+ // color: '#999'
+ // },
+ // handleSize: '100%', // 手柄大小
+ // handleStyle: {
+ // color: '#a7b7cc'
+ // }
+ // }
+ // ],
series: series,
};
diff --git a/src/components/ESelectSingle/index.vue b/src/components/ESelectSingle/index.vue
index 27010df..b05b800 100644
--- a/src/components/ESelectSingle/index.vue
+++ b/src/components/ESelectSingle/index.vue
@@ -53,7 +53,8 @@
const getSingleStation = async () => {
emit('loadingChange', true);
try {
- let res = await proxy.axiosGet(props.requestPrefix, { 'type': proxy.stationType, isState: '0' });
+ // let res = await proxy.axiosGet(props.requestPrefix, { 'type': proxy.stationType, isState: '0' });
+ let res = await proxy.axiosGet(props.requestPrefix, { 'type': proxy.stationType });
if (props.type == 'radio') {
options.value = res.data;
diff --git a/src/components/ETree/index.vue b/src/components/ETree/index.vue
index 0a0b7e1..0a897c1 100644
--- a/src/components/ETree/index.vue
+++ b/src/components/ETree/index.vue
@@ -33,7 +33,14 @@
]
)
},
-
+ requestPrefix: {
+ type: String,
+ default: "/basic/stype/getTreeStationType/"
+ },
+ isAreaRain: {
+ type: Boolean,
+ default: false
+ }
})
// 定义 emit 事件
@@ -41,7 +48,7 @@
// 添加缺失的响应式变量
const dataType = ref(0) // 单选框绑定值
- let url = '/basic/stype/getTreeStationType/' // 请求URL
+ let url = props.requestPrefix // 请求URL
const treeRef = ref()
const filterText = ref('')
@@ -108,29 +115,34 @@
const getTreeStation = async () => {
treeLoading.value = true;
emit('loadingChange', true);
+ let requestUrl = props.isAreaRain ? url : (url + proxy.stationType);
try {
- let res = await proxy.axiosGet(url + proxy.stationType);
+ let res = await proxy.axiosGet(requestUrl);
if (res.code == 0) {
- treeData.value = res.data
- defaultCheckedKeys.value = res.defaultOption || res.checkedList
- defaultExpandedKeys.value = res.exList
- await nextTick()
+ treeData.value = res.data;
+ defaultCheckedKeys.value = res.defaultOption || res.checkedList;
+ defaultExpandedKeys.value = res.exList || []; // 优先使用接口返回的展开键
+ defaultExpandedKeys.value.unshift(treeData.value[0].id);
+ await nextTick(); // 等待 DOM 渲染完成
if (treeRef.value) {
- treeRef.value.setExpandedKeys(defaultExpandedKeys.value)
+ treeRef.value.setExpandedKeys(defaultExpandedKeys.value);
}
- emit('stationChange', defaultCheckedKeys.value)
+
+ emit('stationChange', defaultCheckedKeys.value);
}
} catch (error) {
-
+ console.error('获取树形数据失败:', error);
} finally {
emit('loadingChange', false);
treeLoading.value = false;
}
- }
+ };
onMounted(() => {
getTreeStation()
})
-
+ defineExpose({
+ getTreeStation
+ })
\ No newline at end of file
diff --git a/src/components/ZhengBian/index-yy.vue b/src/components/ZhengBian/index-yy.vue
new file mode 100644
index 0000000..126d708
--- /dev/null
+++ b/src/components/ZhengBian/index-yy.vue
@@ -0,0 +1,800 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 遥测数据
+
+
+
+ 查询
+
+
+
+
+ 逐日天表统计的是当日早八点到次日早八点
+
+
+
+
+
+
+
+
+
+ 对比查询
+ 数据修改
+
+
+
+
+
+
+
+
+
+ 导出
+
+
+ 整编
+
+
+ 点击数值行修改数据
+
+
+
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 将文件拖到此处,或点击上传
+
+
+
+ 模板就是预处理数据表格导出的文件。
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/ZhengBian/index.vue b/src/components/ZhengBian/index.vue
index 3ac6c08..126d708 100644
--- a/src/components/ZhengBian/index.vue
+++ b/src/components/ZhengBian/index.vue
@@ -2,9 +2,15 @@
+
+
+
+
+
+
+
-
-
+
@@ -30,7 +36,8 @@
-
+
+
对比查询
@@ -68,7 +75,7 @@
-
+
@@ -127,6 +134,7 @@
import ESelectSingle from '@/components/ESelectSingle/index.vue'
import { getToken } from "@/utils/auth";
import useAppStore from '@/store/modules/app'
+ import { getStationConfig } from '@/config/stationConfig'
const device = computed(() => useAppStore().device);
const props = defineProps({
@@ -224,6 +232,21 @@
return 'line';
}
});
+ // 获取当前站点配置
+ const currentStationConfig = computed(() => {
+ return getStationConfig(import.meta.env.VITE_APP_BASE_API);
+ });
+
+ // 是否显示测站类型选择器
+ const showStationTypeSelector = computed(() => {
+ return currentStationConfig.value.showStationType;
+ });
+
+ // 测站类型选项
+ const mainTypes = computed(() => {
+ return currentStationConfig.value.stationTypes;
+ });
+
const defaultProps = {
label: 'name',
value: 'stnmId',
@@ -233,6 +256,7 @@
const queryParams = reactive({
startTime: dayjs().subtract(7, 'day').format('YYYY-MM-DD 08:00:00'),
endTime: dayjs().format('YYYY-MM-DD 08:00:00'),
+ isState: '0', // 余姚站才有测站类型的区分
xindao: 1,
stnm: null,
stnmId: null,
@@ -308,42 +332,71 @@
}
}
- const getSingleStation = async () => {
- fullscreenLoading.value = true
- // 省水文:/basic/stype/getTreeStation2New/
- // 建德:/basic/stype/getTreeStation/
- // 赣县:/basic/stype/getNewTreeStationType/
- try {
- let url = '/basic/stype/getTreeStation/'
- let res = await proxy.axiosGet(url + props.stationType);
- if (res.code === 0) {
- selectOptions.value = res.data;
- defaultOption.value = res.defaultOption
- queryParams.stnmId = defaultOption.value.length > 0 ? parseInt(defaultOption.value[2]) : null
- queryParams.stnmIds = queryParams.stnmId
-
- await Promise.all([
- drawTable1(),
- drawTable2(),
- drawTable3(),
- getEchartsData()
-
- ]);
+ // 测站类型改变
+ const changeIsState = (val) => {
+ queryParams.isState = val
+ getTreeStation()
+ }
+ const treeSelectOptions = ref([])
+ const getTreeStation = async () => {
+ fullscreenLoading.value = true;
+ try {
+ let res = await proxy.axiosGet('basic/stype/getNewTreeStationType/', { 'type': proxy.stationType, 'isState': queryParams.isState });
+ if (res.code == 0) {
+ treeSelectOptions.value = res.data
+ // 设置默认值为第一个叶子节点的stnmId
+ if (treeSelectOptions.value.length > 0) {
+ const firstLeafNode = findFirstLeafNode(treeSelectOptions.value);
+ if (firstLeafNode) {
+ queryParams.stnmId = firstLeafNode.stnmId;
+ queryParams.stnmIds = queryParams.stnmId;
+ await Promise.all([
+ drawTable1(),
+ drawTable2(),
+ drawTable3(),
+ getEchartsData()
+
+ ]);
+ }
+ }
}
} catch (error) {
- console.error('请求执行出错:', error);
+
} finally {
fullscreenLoading.value = false
}
}
- // 改变站点
- const changeCascader = (val) => {
- defaultOption.value = val
- queryParams.stnmId = defaultOption.value.length > 0 ? parseInt(defaultOption.value[2]) : null
- queryParams.stnmIds = queryParams.stnmId
- handleQuery()
+ // 查找树结构中的第一个叶子节点
+ const findFirstLeafNode = (nodes) => {
+ for (let node of nodes) {
+ // 如果节点有子节点,则递归查找
+ if (node.children && node.children.length > 0) {
+ const leaf = findFirstLeafNode(node.children);
+ if (leaf) {
+ return leaf;
+ }
+ }
+ // 如果节点没有子节点,则为叶子节点
+ else if (node.stnmId) {
+ return node;
+ }
+ }
+ return null;
}
+ // 对比测站下拉框数据
+ const compareTreeSelectOptions = ref([])
+ const getCompareTreeStation = async () => {
+ try {
+ let res = await proxy.axiosGet('/basic/stype/getTreeStation/' + proxy.stationType);
+ if (res.code == 0) {
+ compareTreeSelectOptions.value = res.data
+ }
+ } catch (error) {
+
+ }
+ }
+
const firstSize = ref(proxy.SPLITPANES_CONFIG.DEFAULT_SIZE)
@@ -636,13 +689,14 @@
handleQuery()
}
// 对比站点改变
- let compareStation = ref([])
+ let compareStation = ref()
const changeCompareStnmIds = (val) => {
- compareStation.value = val
+ console.log(val, '======val')
+ // compareStation.value = val
- let list = [queryParams.stnmId, ...val];
- let str = list.join(',')
- queryParams.stnmIds = str
+ // let list = [queryParams.stnmId, ...val];
+ // let str = list.join(',')
+ // queryParams.stnmIds = str
}
// 对比查询
@@ -731,7 +785,8 @@
}
onMounted(() => {
- // getSingleStation();
+ getTreeStation()
+ getCompareTreeStation()
})
\ No newline at end of file
diff --git a/src/views/report/gzynlldzb/index.vue b/src/views/report/gzynlldzb/index.vue
new file mode 100644
index 0000000..1f098a8
--- /dev/null
+++ b/src/views/report/gzynlldzb/index.vue
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+ 搜索
+ 下载
+
+
+
+
+
+
+
+
+
+
{{tableTitle}}
+
+
+ 年份: {{ queryParams.year }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 年径流量(108m³)
+
+
+
+
+
+
+ 年径流模数(10-3m³/(s·m³))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/report/gzynswdzb/index.vue b/src/views/report/gzynswdzb/index.vue
new file mode 100644
index 0000000..3c0652c
--- /dev/null
+++ b/src/views/report/gzynswdzb/index.vue
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 下载
+
+
+
+
+
+
+
+
+
+
{{tableTitle}}
+
+
+ 年份: {{ queryParams.year }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/report/gzyntidedzb/index.vue b/src/views/report/gzyntidedzb/index.vue
new file mode 100644
index 0000000..c697560
--- /dev/null
+++ b/src/views/report/gzyntidedzb/index.vue
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+
+
+ 搜索
+ 下载
+
+
+
+
+
+
+
+
+
+
{{tableTitle}}
+
+
+ 年份: {{ queryParams.year }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/report/jslsmzflylb/index.vue b/src/views/report/jslsmzflylb/index.vue
new file mode 100644
index 0000000..38d42c1
--- /dev/null
+++ b/src/views/report/jslsmzflylb/index.vue
@@ -0,0 +1,133 @@
+
+
+
+
+
+ 下载
+
+
+
+
+
+
{{tableTitle}}
+
+
+ 年份: {{ dayjs(new Date()).format('YYYY') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/report/reportll/index.vue b/src/views/report/reportll/index.vue
new file mode 100644
index 0000000..2bbaac0
--- /dev/null
+++ b/src/views/report/reportll/index.vue
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/report/reportrain/index.vue b/src/views/report/reportrain/index.vue
index b84e488..f1a8588 100644
--- a/src/views/report/reportrain/index.vue
+++ b/src/views/report/reportrain/index.vue
@@ -9,7 +9,7 @@
-
+
@@ -23,10 +23,10 @@
value: '1',
label: '降水量、水面蒸发量站一览表'
},
- // {
- // value: '2',
- // label: '各站月年降水量对照表'
- // },
+ {
+ value: '2',
+ label: '各站月年降水量对照表'
+ },
{
value: '3',
label: '逐日降水量表'
diff --git a/src/views/report/reporttide/index.vue b/src/views/report/reporttide/index.vue
index 0553567..074d655 100644
--- a/src/views/report/reporttide/index.vue
+++ b/src/views/report/reporttide/index.vue
@@ -7,7 +7,7 @@
- 组件加载失败,请刷新页面重试
+
diff --git a/src/views/report/reportwater/index.vue b/src/views/report/reportwater/index.vue
index 3d9a0a2..b8d825c 100644
--- a/src/views/report/reportwater/index.vue
+++ b/src/views/report/reportwater/index.vue
@@ -7,9 +7,9 @@
- 组件加载失败,请刷新页面重试
+
-
+
@@ -19,26 +19,26 @@
// 定义菜单选项
const tjfxMenus = [
- // {
- // value: '1',
- // label: '水位、水文站一览表'
- // },
- // {
- // value: '2',
- // label: '各站月年平均水位对照表'
- // },
+ {
+ value: '1',
+ label: '水位、水文站一览表'
+ },
+ {
+ value: '2',
+ label: '各站月年平均水位对照表'
+ },
{
value: '3',
label: '逐日平均水位表'
},
- // {
- // value: '4',
- // label: '月最高水位及出现日期'
- // },
- // {
- // value: '5',
- // label: '月最低水位及出现日期'
- // },
+ {
+ value: '4',
+ label: '月最高水位及出现日期'
+ },
+ {
+ value: '5',
+ label: '月最低水位及出现日期'
+ },
{
value: '6',
label: '洪水水位摘录表'
diff --git a/src/views/report/swpeak/index.vue b/src/views/report/swpeak/index.vue
new file mode 100644
index 0000000..2a15084
--- /dev/null
+++ b/src/views/report/swpeak/index.vue
@@ -0,0 +1,187 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 下载
+
+
+
+
+
+
+
+
+
+
{{tableTitle}}
+
+
+ 年份: {{ queryParams.year }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/report/swpeakmin/index.vue b/src/views/report/swpeakmin/index.vue
new file mode 100644
index 0000000..09e3434
--- /dev/null
+++ b/src/views/report/swpeakmin/index.vue
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 下载
+
+
+
+
+
+
+
+
+
+
{{tableTitle}}
+
+
+ 年份: {{ queryParams.year }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/report/swswzylb/index.vue b/src/views/report/swswzylb/index.vue
new file mode 100644
index 0000000..79bbc95
--- /dev/null
+++ b/src/views/report/swswzylb/index.vue
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 下载
+
+
+
+
+
+
+
+
+
+
{{tableTitle}}
+
+
+ 年份: {{ dayjs(new Date()).format('YYYY') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/report/tide1/index.vue b/src/views/report/tide1/index.vue
new file mode 100644
index 0000000..ac88244
--- /dev/null
+++ b/src/views/report/tide1/index.vue
@@ -0,0 +1,404 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 下载
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/report/tide2/index.vue b/src/views/report/tide2/index.vue
index 444913b..3b3722c 100644
--- a/src/views/report/tide2/index.vue
+++ b/src/views/report/tide2/index.vue
@@ -3,7 +3,8 @@
-
+
+
@@ -43,12 +44,13 @@
+
\ No newline at end of file
diff --git a/src/views/report/zrsw/index.vue b/src/views/report/zrsw/index.vue
index 7c1ea97..1fa7e20 100644
--- a/src/views/report/zrsw/index.vue
+++ b/src/views/report/zrsw/index.vue
@@ -22,7 +22,7 @@
-
-