数据管理子系统页面bug更改

This commit is contained in:
王兴凯 2026-09-02 10:44:17 +08:00
parent 209d2cf4d5
commit 453a2757c1
28 changed files with 110 additions and 92 deletions

View File

@ -11,7 +11,7 @@ VITE_APP_BASE_URL = 'http://localhost:8093'
# 测试环境 # 测试环境
# VITE_APP_BASE_URL = 'http://172.16.21.142:8093' # VITE_APP_BASE_URL = 'http://172.16.21.142:8093'
# 汤伟 # 汤伟
VITE_APP_BASE_URL = 'http://10.84.111.235:8093' VITE_APP_BASE_URL = 'http://10.84.216.252:8093'
# 李林 # 李林
# VITE_APP_BASE_URL = 'http://10.84.111.25:8093' # VITE_APP_BASE_URL = 'http://10.84.111.25:8093'

View File

@ -286,6 +286,14 @@ export function getFishReleaseMonitorSectionList(data) {
data data
}); });
} }
//过鱼设施名称新接口
export function overviewvmsstbprptGetKendoList(data) {
return request({
url: '/overview/vmsstbprpt/GetKendoList',
method: 'post',
data
});
}
// 过鱼监测数据 // 过鱼监测数据
export function getFishReleaseMonitorList(data) { export function getFishReleaseMonitorList(data) {
return request({ return request({

View File

@ -81,3 +81,8 @@ watch(
} }
); );
</script> </script>
<style scoped lang="scss">
:deep(.ant-descriptions-item-label){
min-width: 140px;
}
</style>

View File

@ -147,6 +147,11 @@ const columns = computed<any[]>(() => [
visible: true, visible: true,
width: 120, width: 120,
ellipsis: true, ellipsis: true,
customRender: ({ text, record }: any) => {
// recordId
if (text && text !== '-' && text !== 'null' && text !== 'undefined') return text;
return record.recordId || '-';
},
}, },
{ {
key: "operator", key: "operator",

View File

@ -178,6 +178,7 @@
value-format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择第一台机组投产时间" placeholder="请选择第一台机组投产时间"
style="width: 100%" style="width: 100%"
:disabled-date="disabledPiodtDate"
/> />
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -189,6 +190,7 @@
value-format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择全部机组投产时间" placeholder="请选择全部机组投产时间"
style="width: 100%" style="width: 100%"
:disabled-date="disabledAiodtDate"
/> />
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -900,6 +902,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref, computed, watch } from 'vue'; import { ref, computed, watch } from 'vue';
import dayjs from 'dayjs';
import { message } from 'ant-design-vue'; import { message } from 'ant-design-vue';
import { addPowerInfo, updatePowerInfo } from '@/api/DataQueryMenuModule'; import { addPowerInfo, updatePowerInfo } from '@/api/DataQueryMenuModule';
import { BasicColumns } from '@/components/MapModal/column.config'; import { BasicColumns } from '@/components/MapModal/column.config';
@ -949,6 +952,18 @@ const formRules = computed(() => ({
reachcd: [{ required: true, message: '请选择所在河段', trigger: 'change' }] reachcd: [{ required: true, message: '请选择所在河段', trigger: 'change' }]
})); }));
// disabled-date
const disabledPiodtDate = (current: any) => {
const aiodt = formData.value?.aiodt;
if (!aiodt) return false;
return current && current.endOf('day') > dayjs(aiodt);
};
const disabledAiodtDate = (current: any) => {
const piodt = formData.value?.piodt;
if (!piodt) return false;
return current && current.endOf('day') < dayjs(piodt);
};
// //
const confirmModalVisible = ref(false); const confirmModalVisible = ref(false);

View File

@ -176,7 +176,7 @@ const columnMetaMap: Record<string, any> = {
addvcdName: { width: 150, sort: true, ellipsis: true }, addvcdName: { width: 150, sort: true, ellipsis: true },
stlc: { width: 200, sort: true, ellipsis: true }, stlc: { width: 200, sort: true, ellipsis: true },
baseName: { width: 120, ellipsis: true }, baseName: { width: 120, ellipsis: true },
jcdt: { width: 180, sort: true, ellipsis: true, customRender: dateRender }, jcdt: { width: 120, sort: true, ellipsis: true, customRender: dateRender },
piodt: { width: 160, sort: true, ellipsis: true, customRender: dateRender }, piodt: { width: 160, sort: true, ellipsis: true, customRender: dateRender },
aiodt: { width: 150, sort: true, ellipsis: true, customRender: dateRender }, aiodt: { width: 150, sort: true, ellipsis: true, customRender: dateRender },
bldsttCcodeName: { width: 100, sort: true, ellipsis: true }, bldsttCcodeName: { width: 100, sort: true, ellipsis: true },

View File

@ -60,7 +60,7 @@
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="纬度(°)" name="lttd"> <a-form-item label="纬度(°)" name="lttd">
<a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" :min="-90" :max="90" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">

View File

@ -64,12 +64,12 @@
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="经度(°)" name="lgtd"> <a-form-item label="经度(°)" name="lgtd">
<a-input-number v-model:value="formData.lgtd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lgtd" placeholder="请输入" :precision="6" :min="-180" :max="180" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="纬度(°)" name="lttd"> <a-form-item label="纬度(°)" name="lttd">
<a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" :min="-90" :max="90" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">

View File

@ -64,12 +64,12 @@
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="经度(°)" name="lgtd"> <a-form-item label="经度(°)" name="lgtd">
<a-input-number v-model:value="formData.lgtd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lgtd" placeholder="请输入" :precision="6" :min="-180" :max="180" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="纬度(°)" name="lttd"> <a-form-item label="纬度(°)" name="lttd">
<a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" :min="-90" :max="90" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">

View File

@ -108,6 +108,8 @@
v-model:value="formData.lgtd" v-model:value="formData.lgtd"
placeholder="请输入" placeholder="请输入"
:precision="6" :precision="6"
:min="-180"
:max="180"
style="width: 100%" style="width: 100%"
/> />
</a-form-item> </a-form-item>
@ -118,6 +120,8 @@
v-model:value="formData.lttd" v-model:value="formData.lttd"
placeholder="请输入" placeholder="请输入"
:precision="6" :precision="6"
:min="-90"
:max="90"
style="width: 100%" style="width: 100%"
/> />
</a-form-item> </a-form-item>
@ -596,7 +600,7 @@ const loadDropdownData = () => {
field: 'sttpCode', field: 'sttpCode',
operator: 'in', operator: 'in',
dataType: 'string', dataType: 'string',
value: ['FP', 'FP_1', 'FP_2', 'FP_3', 'FP_4', 'FP_5'] value: ['FP_1', 'FP_2', 'FP_3', 'FP_4', 'FP_5']
} }
] ]
} }

View File

@ -28,7 +28,7 @@ const searchList: any = computed(() => [
const getBaseList = async () => { const getBaseList = async () => {
const res = await sttpGetKendoList({ const res = await sttpGetKendoList({
filter: { logic: 'and', filters: [{ field: 'sttpCode', operator: 'in', dataType: 'string', value: ['FP', 'FP_1', 'FP_2', 'FP_3', 'FP_4', 'FP_5'] }] } filter: { logic: 'and', filters: [{ field: 'sttpCode', operator: 'in', dataType: 'string', value: ['FP_1', 'FP_2', 'FP_3', 'FP_4', 'FP_5'] }] }
}); });
sttpOption.value = res.data.data.map(item => ({ label: item.sttpName, value: item.sttpCode })); sttpOption.value = res.data.data.map(item => ({ label: item.sttpName, value: item.sttpCode }));
}; };

View File

@ -64,12 +64,12 @@
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="经度(°)" name="lgtd"> <a-form-item label="经度(°)" name="lgtd">
<a-input-number v-model:value="formData.lgtd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lgtd" placeholder="请输入" :precision="6" :min="-180" :max="180" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="纬度(°)" name="lttd"> <a-form-item label="纬度(°)" name="lttd">
<a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" :min="-90" :max="90" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">

View File

@ -59,6 +59,8 @@
v-model:value="formData.lgtd" v-model:value="formData.lgtd"
placeholder="请输入" placeholder="请输入"
:precision="6" :precision="6"
:min="-180"
:max="180"
style="width: 100%" style="width: 100%"
/> />
</a-form-item> </a-form-item>
@ -69,6 +71,8 @@
v-model:value="formData.lttd" v-model:value="formData.lttd"
placeholder="请输入" placeholder="请输入"
:precision="6" :precision="6"
:min="-90"
:max="90"
style="width: 100%" style="width: 100%"
/> />
</a-form-item> </a-form-item>

View File

@ -40,12 +40,12 @@
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-item label="经度(°)" name="lgtd"> <a-form-item label="经度(°)" name="lgtd">
<a-input-number v-model:value="formData.lgtd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lgtd" placeholder="请输入" :precision="6" :min="-180" :max="180" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-item label="纬度(°)" name="lttd"> <a-form-item label="纬度(°)" name="lttd">
<a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" :min="-90" :max="90" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">

View File

@ -43,14 +43,12 @@ const bldsttMap: Record<number, string> = { 0: '规划', 1: '在建', 2: '已建
const columns = ref<any[]>([ const columns = ref<any[]>([
{ key: 'stnm', title: '设施名称', dataIndex: 'stnm', visible: true, width: 160, fixed: 'left',ellipsis: true }, { key: 'stnm', title: '设施名称', dataIndex: 'stnm', visible: true, width: 160, fixed: 'left',ellipsis: true },
{ key: 'stcd', title: '设施编码', dataIndex: 'stcd', visible: true, width: 180, ellipsis: true }, { key: 'stcd', title: '设施编码', dataIndex: 'stcd', visible: true, width: 180, ellipsis: true },
{ key: 'sttpName', title: '设施类型', dataIndex: 'sttpName', visible: true, width: 100, ellipsis: true }, { key: 'sttpName', title: '设施类型', dataIndex: 'sttpName', visible: true, width:120, ellipsis: true },
{ key: 'baseName', title: '水电基地', dataIndex: 'baseName', visible: true, width: 120, ellipsis: true }, { key: 'baseName', title: '水电基地', dataIndex: 'baseName', visible: true, width: 120, ellipsis: true },
{ key: 'ennm', title: '所属电站', dataIndex: 'ennm', visible: true, width: 100, ellipsis: true }, { key: 'ennm', title: '所属电站', dataIndex: 'ennm', visible: true, width: 100, ellipsis: true },
{ key: 'bldsttCode', title: '建设状态', dataIndex: 'bldsttCode', visible: true, width: 80, customRender: ({ text }) => (text !== null && text !== undefined ? (bldsttMap[text] || text) : '-') }, { key: 'bldsttCode', title: '建设状态', dataIndex: 'bldsttCode', visible: true, width: 80, customRender: ({ text }) => (text !== null && text !== undefined ? (bldsttMap[text] || text) : '-') },
{ key: 'minFlow', title: '最小下泄流量(m³/s)', dataIndex: 'minFlow', visible: true, width: 150 }, { key: 'minFlow', title: '最小下泄流量(m³/s)', dataIndex: 'minFlow', visible: true, width: 150 },
{ key: 'swdt', title: '开工日期', dataIndex: 'swdt', visible: true, width: 110, customRender: ({ text }) => { if (!text || text === '-') return '-'; const date = dayjs(text); return date.isValid() ? date.format('YYYY-MM-DD') : '-'; } }, { key: 'swdt', title: '开工日期', dataIndex: 'swdt', visible: true, width: 110, customRender: ({ text }) => { if (!text || text === '-') return '-'; const date = dayjs(text); return date.isValid() ? date.format('YYYY-MM-DD') : '-'; } },
{ key: 'jcdt', title: '建成日期', dataIndex: 'jcdt', visible: true, width: 110, customRender: ({ text }) => { if (!text || text === '-') return '-'; const date = dayjs(text); return date.isValid() ? date.format('YYYY-MM-DD') : '-'; } }, { key: 'jcdt', title: '建成日期', dataIndex: 'jcdt', visible: true, width: 110, customRender: ({ text }) => { if (!text || text === '-') return '-'; const date = dayjs(text); return date.isValid() ? date.format('YYYY-MM-DD') : '-'; } },
{ key: 'stlc', title: '站址/位置', dataIndex: 'stlc', visible: true, ellipsis: true, width: 300 }, { key: 'stlc', title: '站址/位置', dataIndex: 'stlc', visible: true, ellipsis: true, width: 300 },
{ key: 'action', title: '操作', dataIndex: 'action', fixed: 'right', width: 120 } { key: 'action', title: '操作', dataIndex: 'action', fixed: 'right', width: 120 }

View File

@ -69,7 +69,7 @@
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="纬度(°)" name="lttd"> <a-form-item label="纬度(°)" name="lttd">
<a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" :min="-90" :max="90" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">

View File

@ -64,12 +64,12 @@
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="经度(°)" name="lgtd"> <a-form-item label="经度(°)" name="lgtd">
<a-input-number v-model:value="formData.lgtd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lgtd" placeholder="请输入" :precision="6" :min="-180" :max="180" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="纬度(°)" name="lttd"> <a-form-item label="纬度(°)" name="lttd">
<a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" :min="-90" :max="90" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">

View File

@ -69,6 +69,8 @@
v-model:value="formData.lgtd" v-model:value="formData.lgtd"
placeholder="请输入" placeholder="请输入"
:precision="6" :precision="6"
:min="-180"
:max="180"
style="width: 100%" style="width: 100%"
/> />
</a-form-item> </a-form-item>
@ -79,6 +81,8 @@
v-model:value="formData.lttd" v-model:value="formData.lttd"
placeholder="请输入" placeholder="请输入"
:precision="6" :precision="6"
:min="-90"
:max="90"
style="width: 100%" style="width: 100%"
/> />
</a-form-item> </a-form-item>

View File

@ -64,12 +64,12 @@
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="经度(°)" name="lgtd"> <a-form-item label="经度(°)" name="lgtd">
<a-input-number v-model:value="formData.lgtd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lgtd" placeholder="请输入" :precision="6" :min="-180" :max="180" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="纬度(°)" name="lttd"> <a-form-item label="纬度(°)" name="lttd">
<a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" :min="-90" :max="90" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">

View File

@ -69,7 +69,7 @@
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="纬度(°)" name="lttd"> <a-form-item label="纬度(°)" name="lttd">
<a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" :min="-90" :max="90" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">

View File

@ -26,12 +26,12 @@
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-item label="经度(°)" name="lgtd"> <a-form-item label="经度(°)" name="lgtd">
<a-input-number v-model:value="formData.lgtd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lgtd" placeholder="请输入" :precision="6" :min="-180" :max="180" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">
<a-form-item label="纬度(°)" name="lttd"> <a-form-item label="纬度(°)" name="lttd">
<a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" :min="-90" :max="90" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="8">

View File

@ -26,12 +26,12 @@
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="经度(°)" name="lgtd"> <a-form-item label="经度(°)" name="lgtd">
<a-input-number v-model:value="formData.lgtd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lgtd" placeholder="请输入" :precision="6" :min="-180" :max="180" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="纬度(°)" name="lttd"> <a-form-item label="纬度(°)" name="lttd">
<a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" style="width: 100%" /> <a-input-number v-model:value="formData.lttd" placeholder="请输入" :precision="6" :min="-90" :max="90" style="width: 100%" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">

View File

@ -48,7 +48,7 @@ const columns = ref<any[]>([
{ key: 'swdt', title: '开工日期', dataIndex: 'swdt', visible: true, width: 110, customRender: ({ text }) => { if (!text || text === '-') return '-'; const date = dayjs(text); return date.isValid() ? date.format('YYYY-MM-DD') : '-'; } }, { key: 'swdt', title: '开工日期', dataIndex: 'swdt', visible: true, width: 110, customRender: ({ text }) => { if (!text || text === '-') return '-'; const date = dayjs(text); return date.isValid() ? date.format('YYYY-MM-DD') : '-'; } },
{ key: 'jcdt', title: '建成日期', dataIndex: 'jcdt', visible: true, width: 110, customRender: ({ text }) => { if (!text || text === '-') return '-'; const date = dayjs(text); return date.isValid() ? date.format('YYYY-MM-DD') : '-'; } }, { key: 'jcdt', title: '建成日期', dataIndex: 'jcdt', visible: true, width: 110, customRender: ({ text }) => { if (!text || text === '-') return '-'; const date = dayjs(text); return date.isValid() ? date.format('YYYY-MM-DD') : '-'; } },
{ key: 'bhfs', title: '保护方式', dataIndex: 'bhfs', visible: true, width: 200, ellipsis: true }, { key: 'bhfs', title: '保护方式', dataIndex: 'bhfs', visible: true, width: 200, ellipsis: true },
{ key: 'stlc', title: '站址', dataIndex: 'stlc', visible: true, width: 200, ellipsis: true }, { key: 'stlc', title: '站址', dataIndex: 'stlc', visible: true, width: 280, ellipsis: true },
{ key: 'action', title: '操作', dataIndex: 'action', fixed: 'right', width: 120 } { key: 'action', title: '操作', dataIndex: 'action', fixed: 'right', width: 120 }
]); ]);

View File

@ -97,7 +97,11 @@
/> />
</a-form-item> </a-form-item>
<a-form-item label="数据来源" name="dataSource" v-if="formData.timeDimension === 'month'"> <a-form-item
label="数据来源"
name="dataSource"
v-if="formData.timeDimension === 'month'"
>
<a-radio-group v-model:value="formData.dataSource"> <a-radio-group v-model:value="formData.dataSource">
<a-radio value="true">日统计表</a-radio> <a-radio value="true">日统计表</a-radio>
<a-radio value="false">小时表</a-radio> <a-radio value="false">小时表</a-radio>
@ -192,13 +196,14 @@
<div style="display: flex; align-items: center"> <div style="display: flex; align-items: center">
<a-checkbox value="baseId">基地</a-checkbox> <a-checkbox value="baseId">基地</a-checkbox>
<a-select <a-select
v-model:value="formData.yearBaseId" v-model:value="formData.rvcd"
placeholder="请选择水电基地" placeholder="请选择水电基地"
mode="multiple" mode="multiple"
allow-clear allow-clear
show-search show-search
:filter-option="filterOption" :filter-option="filterOption"
:loading="rvcdLoading" :loading="rvcdLoading"
@change="handleRvcdChange"
style="width: 200px; margin-right: 10px" style="width: 200px; margin-right: 10px"
:max-tag-count="2" :max-tag-count="2"
> >
@ -291,7 +296,6 @@ const formData = reactive({
yearStatContent: [] as string[], yearStatContent: [] as string[],
statYears: [] as string[], statYears: [] as string[],
yearDimContent: [] as string[], yearDimContent: [] as string[],
yearBaseId: [] as string[],
lyRvcd: [] as string[], lyRvcd: [] as string[],
dimensionStat: '', dimensionStat: '',
content: '' content: ''
@ -361,7 +365,7 @@ const loadStationOptions = async (rvcds?: string[]) => {
const initDone = ref(false); const initDone = ref(false);
watch( watch(
() => JidiSelectEventStore.jidiData, () => JidiSelectEventStore.jidiData,
(val) => { val => {
if (initDone.value) return; if (initDone.value) return;
const data = (val || []).filter((item: any) => item.wbsCode !== 'all'); const data = (val || []).filter((item: any) => item.wbsCode !== 'all');
if (data.length === 0) return; if (data.length === 0) return;
@ -403,50 +407,12 @@ const loadLyOptions = async () => {
lyLoading.value = false; lyLoading.value = false;
} }
}; };
// const dataOptions = ref([
watch( { itemCode: 'month', dictName: '月度报表' },
() => formData.timeDimension, { itemCode: 'year', dictName: '年度报表' },
(newVal, oldVal) => { { itemCode: 'day', dictName: '日度报表' },
if (newVal === oldVal) return; { itemCode: 'hour', dictName: '小时报表' }
// // ]);
formData.rvcd = [];
formData.stations = [];
formData.lyRvcd = [];
formData.yearBaseId = [];
if (newVal === 'year') {
// //
formData.monitorElements = [];
formData.statMonths = [];
formData.dataSource = 'true';
//
formData.yearStatContent = ['wq', 'qec'];
formData.yearDimContent = ['stcd', 'baseId'];
formData.statYears = [String(new Date().getFullYear())];
// /
if (rvcdOptions.value.length > 0) {
formData.rvcd = [rvcdOptions.value[0].value];
formData.yearBaseId = [rvcdOptions.value[0].value];
loadStationOptions(formData.rvcd);
}
loadLyOptions();
} else {
//
formData.yearStatContent = [];
formData.statYears = [];
formData.yearDimContent = [];
//
formData.statMonths = getDefaultStatMonths();
if (dataFieldOption.value.length > 0) {
formData.monitorElements = dataFieldOption.value.map((item: any) => item.itemCode);
}
if (rvcdOptions.value.length > 0) {
formData.rvcd = [rvcdOptions.value[0].value];
loadStationOptions(formData.rvcd);
}
}
}
);
const getExstatus = async (taskId, exportParams) => { const getExstatus = async (taskId, exportParams) => {
let res1: any = await qgcExportstatus({ taskId: taskId }); let res1: any = await qgcExportstatus({ taskId: taskId });
if (res1.status == 'PROCESSING') { if (res1.status == 'PROCESSING') {
@ -454,12 +420,16 @@ const getExstatus = async (taskId, exportParams) => {
getExstatus(taskId, exportParams); getExstatus(taskId, exportParams);
}, 5000); }, 5000);
} else if (res1.status == 'DONE') { } else if (res1.status == 'DONE') {
const { data: blob } = await qgcExportdownload({ taskId: taskId, ...exportParams }); const blob: any = await qgcExportdownload({
taskId: taskId,
...exportParams
});
// //
const url = window.URL.createObjectURL(blob); const url = window.URL.createObjectURL(blob);
const a = document.createElement('a'); const a = document.createElement('a');
a.href = url; a.href = url;
a.download = `export_${taskId}.zip`; const matched = dataOptions.value.find((item:any) => item.itemCode == formData.timeDimension);
a.download =`${matched.dictName}.zip`;
a.click(); a.click();
window.URL.revokeObjectURL(url); window.URL.revokeObjectURL(url);
exportLoading.value = false; exportLoading.value = false;
@ -501,11 +471,8 @@ const handleExport = async () => {
if (formData.yearDimContent.includes('stcd')) { if (formData.yearDimContent.includes('stcd')) {
params.stcd = formData.stations.join(','); params.stcd = formData.stations.join(',');
} }
if ( if (formData.yearDimContent.includes('baseId')) {
formData.yearDimContent.includes('baseId') && params.baseId = formData.rvcd.join(',');
formData.yearBaseId.length > 0
) {
params.baseId = formData.yearBaseId.join(',');
} }
if (formData.yearDimContent.includes('ly')) { if (formData.yearDimContent.includes('ly')) {
params.hbRvcd = formData.lyRvcd.join(','); params.hbRvcd = formData.lyRvcd.join(',');
@ -521,7 +488,7 @@ const handleExport = async () => {
} catch (e) { } catch (e) {
message.error('导出失败'); message.error('导出失败');
} finally { } finally {
exportLoading.value = false; // exportLoading.value = false;
} }
}; };
const dataFieldOption = ref([]); const dataFieldOption = ref([]);
@ -557,4 +524,7 @@ onMounted(() => {
z-index: 900; z-index: 900;
pointer-events: all; pointer-events: all;
} }
// .export-container{
// }
</style> </style>

View File

@ -46,7 +46,7 @@
width="800px" width="800px"
> >
<div style="text-align: center"> <div style="text-align: center">
<img :src="previewImageUrl" style="width: 100%; height: 600px" /> <a-image :src="previewImageUrl" style="width: 100%; height: 600px" />
</div> </div>
</a-modal> </a-modal>
@ -106,7 +106,11 @@ import EditFishDataManualModal from './EditFishDataManualModal.vue';
import EditFishDataAutoModal from './EditFishDataAutoModal.vue'; import EditFishDataAutoModal from './EditFishDataAutoModal.vue';
import DeleteConfirmModal from '@/views/conventionalHydropower/BasicData/DeleteConfirmModal.vue'; import DeleteConfirmModal from '@/views/conventionalHydropower/BasicData/DeleteConfirmModal.vue';
import OperationLogModal from '@/components/OperationLogModal/index.vue'; import OperationLogModal from '@/components/OperationLogModal/index.vue';
import { getFishReleaseMonitorList, deleteFpssRInfo, deleteFpssrlRInfo } from '@/api/DataQueryMenuModule'; import {
getFishReleaseMonitorList,
deleteFpssRInfo,
deleteFpssrlRInfo
} from '@/api/DataQueryMenuModule';
import { calcTableScrollY } from '@/utils/index'; import { calcTableScrollY } from '@/utils/index';
import { useDraggable } from '@/utils/drag'; import { useDraggable } from '@/utils/drag';
@ -699,4 +703,5 @@ onMounted(() => {
position: relative; position: relative;
z-index: 900; z-index: 900;
pointer-events: all; pointer-events: all;
}</style> }
</style>

View File

@ -73,7 +73,7 @@ import dayjs from 'dayjs';
import BasicSearch from '@/components/BasicSearch/index.vue'; import BasicSearch from '@/components/BasicSearch/index.vue';
import { DateSetting } from '@/utils/enumeration'; import { DateSetting } from '@/utils/enumeration';
import { useTimeScale } from '@/store/composables/useTimeScale'; import { useTimeScale } from '@/store/composables/useTimeScale';
import { getFishReleaseMonitorSectionList } from '@/api/DataQueryMenuModule'; import { overviewvmsstbprptGetKendoList } from '@/api/DataQueryMenuModule';
import { getDictItemsByCode } from '@/api/dict'; import { getDictItemsByCode } from '@/api/dict';
const emit = defineEmits<{ const emit = defineEmits<{
@ -211,7 +211,7 @@ const initCrossSectionList = params => {
} }
} }
crossSectionListLoading.value = true; crossSectionListLoading.value = true;
return getFishReleaseMonitorSectionList({ return overviewvmsstbprptGetKendoList({
filter: { filter: {
logic: 'and', logic: 'and',
filters: filters filters: filters

View File

@ -46,7 +46,7 @@
width="800px" width="800px"
> >
<div style="text-align: center"> <div style="text-align: center">
<img :src="previewImageUrl" style="width: 100%; height: 600px" /> <a-image :src="previewImageUrl" style="width: 100%; height: 600px" />
</div> </div>
</a-modal> </a-modal>

View File

@ -11,7 +11,7 @@ VITE_APP_BASE_URL = 'http://localhost:8093'
# 测试环境 # 测试环境
# VITE_APP_BASE_URL = 'http://172.16.21.142:8093' # VITE_APP_BASE_URL = 'http://172.16.21.142:8093'
# 汤伟 # 汤伟
VITE_APP_BASE_URL = 'http://10.84.111.235:8093' VITE_APP_BASE_URL = 'http://10.84.216.252:8093'
# 李林 # 李林
# VITE_APP_BASE_URL = 'http://10.84.111.25:8093' # VITE_APP_BASE_URL = 'http://10.84.111.25:8093'
# VITE_APP_BASE_URL = 'http://10.84.111.211:8093' # VITE_APP_BASE_URL = 'http://10.84.111.211:8093'