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 @@ + + \ 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 @@ + + \ 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 @@ + + \ 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 @@ + + + \ 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 @@ + + \ 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 @@ + + \ 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 @@ + + \ 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 @@ -
+
{{tableTitle}}
@@ -37,7 +37,7 @@
- + diff --git a/src/views/report/zrtide/index.vue b/src/views/report/zrtide/index.vue index 258da00..780ebdc 100644 --- a/src/views/report/zrtide/index.vue +++ b/src/views/report/zrtide/index.vue @@ -3,7 +3,8 @@ - + + @@ -31,7 +32,7 @@
- + @@ -56,12 +57,13 @@ \ No newline at end of file diff --git a/src/views/statistic/qflow/qflowls.vue b/src/views/statistic/qflow/qflowls.vue index 33eccc4..ebab451 100644 --- a/src/views/statistic/qflow/qflowls.vue +++ b/src/views/statistic/qflow/qflowls.vue @@ -1,5 +1,5 @@ \ No newline at end of file diff --git a/src/views/statistic/qflow/qflowtzz.vue b/src/views/statistic/qflow/qflowtzz.vue index 4c307fd..425e2ed 100644 --- a/src/views/statistic/qflow/qflowtzz.vue +++ b/src/views/statistic/qflow/qflowtzz.vue @@ -1,11 +1,12 @@ \ No newline at end of file diff --git a/src/views/statistic/river/river.vue b/src/views/statistic/river/river.vue new file mode 100644 index 0000000..bc340f4 --- /dev/null +++ b/src/views/statistic/river/river.vue @@ -0,0 +1,11 @@ + + \ No newline at end of file diff --git a/src/views/statistic/river/river_main.vue b/src/views/statistic/river/river_main.vue new file mode 100644 index 0000000..64876b0 --- /dev/null +++ b/src/views/statistic/river/river_main.vue @@ -0,0 +1,86 @@ + + + + + \ No newline at end of file diff --git a/src/views/statistic/river/riverls.vue b/src/views/statistic/river/riverls.vue new file mode 100644 index 0000000..8fa611e --- /dev/null +++ b/src/views/statistic/river/riverls.vue @@ -0,0 +1,10 @@ + + \ No newline at end of file diff --git a/src/views/statistic/river/riversd.vue b/src/views/statistic/river/riversd.vue new file mode 100644 index 0000000..c65869b --- /dev/null +++ b/src/views/statistic/river/riversd.vue @@ -0,0 +1,10 @@ + + \ No newline at end of file diff --git a/src/views/statistic/river/rivertzz copy.vue b/src/views/statistic/river/rivertzz copy.vue new file mode 100644 index 0000000..28ebce7 --- /dev/null +++ b/src/views/statistic/river/rivertzz copy.vue @@ -0,0 +1,307 @@ + + + \ No newline at end of file diff --git a/src/views/statistic/river/rivertzz.vue b/src/views/statistic/river/rivertzz.vue new file mode 100644 index 0000000..72b97f7 --- /dev/null +++ b/src/views/statistic/river/rivertzz.vue @@ -0,0 +1,11 @@ + + \ No newline at end of file diff --git a/src/views/statistic/rsvr/rsvrls.vue b/src/views/statistic/rsvr/rsvrls.vue index 104d080..594ab05 100644 --- a/src/views/statistic/rsvr/rsvrls.vue +++ b/src/views/statistic/rsvr/rsvrls.vue @@ -1,5 +1,5 @@ \ No newline at end of file diff --git a/src/views/statistic/rsvr/sdrsvr.vue b/src/views/statistic/rsvr/sdrsvr.vue index fb1c11a..53388fb 100644 --- a/src/views/statistic/rsvr/sdrsvr.vue +++ b/src/views/statistic/rsvr/sdrsvr.vue @@ -1,5 +1,5 @@ \ No newline at end of file diff --git a/src/views/statistic/tide/tide.vue b/src/views/statistic/tide/tide.vue new file mode 100644 index 0000000..a796e23 --- /dev/null +++ b/src/views/statistic/tide/tide.vue @@ -0,0 +1,11 @@ + + \ No newline at end of file diff --git a/src/views/statistic/tide/tide_main.vue b/src/views/statistic/tide/tide_main.vue new file mode 100644 index 0000000..bc55150 --- /dev/null +++ b/src/views/statistic/tide/tide_main.vue @@ -0,0 +1,86 @@ + + + + + \ No newline at end of file diff --git a/src/views/statistic/tide/tidels.vue b/src/views/statistic/tide/tidels.vue new file mode 100644 index 0000000..c328e14 --- /dev/null +++ b/src/views/statistic/tide/tidels.vue @@ -0,0 +1,10 @@ + + \ No newline at end of file diff --git a/src/views/statistic/tide/tidesd.vue b/src/views/statistic/tide/tidesd.vue new file mode 100644 index 0000000..72905c4 --- /dev/null +++ b/src/views/statistic/tide/tidesd.vue @@ -0,0 +1,10 @@ + + \ No newline at end of file diff --git a/src/views/statistic/tide/tidetzz copy.vue b/src/views/statistic/tide/tidetzz copy.vue new file mode 100644 index 0000000..28ebce7 --- /dev/null +++ b/src/views/statistic/tide/tidetzz copy.vue @@ -0,0 +1,307 @@ + + + \ No newline at end of file diff --git a/src/views/statistic/tide/tidetzz.vue b/src/views/statistic/tide/tidetzz.vue new file mode 100644 index 0000000..fa370cd --- /dev/null +++ b/src/views/statistic/tide/tidetzz.vue @@ -0,0 +1,11 @@ + + \ No newline at end of file diff --git a/src/views/zhengbian/qflow/index.vue b/src/views/zhengbian/qflow/index.vue new file mode 100644 index 0000000..77bd46c --- /dev/null +++ b/src/views/zhengbian/qflow/index.vue @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/src/views/zhengbian/river/index.vue b/src/views/zhengbian/river/index.vue new file mode 100644 index 0000000..af09b9a --- /dev/null +++ b/src/views/zhengbian/river/index.vue @@ -0,0 +1,9 @@ + + \ No newline at end of file diff --git a/src/views/zhengbian/tide/index.vue b/src/views/zhengbian/tide/index.vue new file mode 100644 index 0000000..576876d --- /dev/null +++ b/src/views/zhengbian/tide/index.vue @@ -0,0 +1,10 @@ + + + \ No newline at end of file