数据管理子系统页面bug更改
This commit is contained in:
parent
209d2cf4d5
commit
453a2757c1
@ -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://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'
|
||||
|
||||
|
||||
@ -286,6 +286,14 @@ export function getFishReleaseMonitorSectionList(data) {
|
||||
data
|
||||
});
|
||||
}
|
||||
//过鱼设施名称新接口
|
||||
export function overviewvmsstbprptGetKendoList(data) {
|
||||
return request({
|
||||
url: '/overview/vmsstbprpt/GetKendoList',
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
// 过鱼监测数据
|
||||
export function getFishReleaseMonitorList(data) {
|
||||
return request({
|
||||
|
||||
@ -81,3 +81,8 @@ watch(
|
||||
}
|
||||
);
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
:deep(.ant-descriptions-item-label){
|
||||
min-width: 140px;
|
||||
}
|
||||
</style>
|
||||
@ -147,6 +147,11 @@ const columns = computed<any[]>(() => [
|
||||
visible: true,
|
||||
width: 120,
|
||||
ellipsis: true,
|
||||
customRender: ({ text, record }: any) => {
|
||||
// 有值就显示,无值就用 recordId 兜底
|
||||
if (text && text !== '-' && text !== 'null' && text !== 'undefined') return text;
|
||||
return record.recordId || '-';
|
||||
},
|
||||
},
|
||||
{
|
||||
key: "operator",
|
||||
|
||||
@ -178,6 +178,7 @@
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
placeholder="请选择第一台机组投产时间"
|
||||
style="width: 100%"
|
||||
:disabled-date="disabledPiodtDate"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
@ -189,6 +190,7 @@
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
placeholder="请选择全部机组投产时间"
|
||||
style="width: 100%"
|
||||
:disabled-date="disabledAiodtDate"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
@ -900,6 +902,7 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, computed, watch } from 'vue';
|
||||
import dayjs from 'dayjs';
|
||||
import { message } from 'ant-design-vue';
|
||||
import { addPowerInfo, updatePowerInfo } from '@/api/DataQueryMenuModule';
|
||||
import { BasicColumns } from '@/components/MapModal/column.config';
|
||||
@ -949,6 +952,18 @@ const formRules = computed(() => ({
|
||||
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);
|
||||
|
||||
|
||||
@ -176,7 +176,7 @@ const columnMetaMap: Record<string, any> = {
|
||||
addvcdName: { width: 150, sort: true, ellipsis: true },
|
||||
stlc: { width: 200, sort: true, 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 },
|
||||
aiodt: { width: 150, sort: true, ellipsis: true, customRender: dateRender },
|
||||
bldsttCcodeName: { width: 100, sort: true, ellipsis: true },
|
||||
|
||||
@ -60,7 +60,7 @@
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<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-col>
|
||||
<a-col :span="12">
|
||||
|
||||
@ -64,12 +64,12 @@
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<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-col>
|
||||
<a-col :span="12">
|
||||
<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-col>
|
||||
<a-col :span="12">
|
||||
|
||||
@ -64,12 +64,12 @@
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<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-col>
|
||||
<a-col :span="12">
|
||||
<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-col>
|
||||
<a-col :span="12">
|
||||
|
||||
@ -108,6 +108,8 @@
|
||||
v-model:value="formData.lgtd"
|
||||
placeholder="请输入"
|
||||
:precision="6"
|
||||
:min="-180"
|
||||
:max="180"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</a-form-item>
|
||||
@ -118,6 +120,8 @@
|
||||
v-model:value="formData.lttd"
|
||||
placeholder="请输入"
|
||||
:precision="6"
|
||||
:min="-90"
|
||||
:max="90"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</a-form-item>
|
||||
@ -596,7 +600,7 @@ const loadDropdownData = () => {
|
||||
field: 'sttpCode',
|
||||
operator: 'in',
|
||||
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']
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -28,7 +28,7 @@ const searchList: any = computed(() => [
|
||||
|
||||
const getBaseList = async () => {
|
||||
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 }));
|
||||
};
|
||||
|
||||
@ -64,12 +64,12 @@
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<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-col>
|
||||
<a-col :span="12">
|
||||
<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-col>
|
||||
<a-col :span="12">
|
||||
|
||||
@ -59,6 +59,8 @@
|
||||
v-model:value="formData.lgtd"
|
||||
placeholder="请输入"
|
||||
:precision="6"
|
||||
:min="-180"
|
||||
:max="180"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</a-form-item>
|
||||
@ -69,6 +71,8 @@
|
||||
v-model:value="formData.lttd"
|
||||
placeholder="请输入"
|
||||
:precision="6"
|
||||
:min="-90"
|
||||
:max="90"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</a-form-item>
|
||||
|
||||
@ -40,12 +40,12 @@
|
||||
</a-col>
|
||||
<a-col :span="8">
|
||||
<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-col>
|
||||
<a-col :span="8">
|
||||
<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-col>
|
||||
<a-col :span="8">
|
||||
|
||||
@ -43,14 +43,12 @@ const bldsttMap: Record<number, string> = { 0: '规划', 1: '在建', 2: '已建
|
||||
const columns = ref<any[]>([
|
||||
{ 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: '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: '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: '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: 'stlc', title: '站址/位置', dataIndex: 'stlc', visible: true, ellipsis: true, width: 300 },
|
||||
{ key: 'action', title: '操作', dataIndex: 'action', fixed: 'right', width: 120 }
|
||||
|
||||
@ -69,7 +69,7 @@
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<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-col>
|
||||
<a-col :span="12">
|
||||
|
||||
@ -64,12 +64,12 @@
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<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-col>
|
||||
<a-col :span="12">
|
||||
<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-col>
|
||||
<a-col :span="12">
|
||||
|
||||
@ -69,6 +69,8 @@
|
||||
v-model:value="formData.lgtd"
|
||||
placeholder="请输入"
|
||||
:precision="6"
|
||||
:min="-180"
|
||||
:max="180"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</a-form-item>
|
||||
@ -79,6 +81,8 @@
|
||||
v-model:value="formData.lttd"
|
||||
placeholder="请输入"
|
||||
:precision="6"
|
||||
:min="-90"
|
||||
:max="90"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</a-form-item>
|
||||
|
||||
@ -64,12 +64,12 @@
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<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-col>
|
||||
<a-col :span="12">
|
||||
<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-col>
|
||||
<a-col :span="12">
|
||||
|
||||
@ -69,7 +69,7 @@
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<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-col>
|
||||
<a-col :span="12">
|
||||
|
||||
@ -26,12 +26,12 @@
|
||||
</a-col>
|
||||
<a-col :span="8">
|
||||
<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-col>
|
||||
<a-col :span="8">
|
||||
<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-col>
|
||||
<a-col :span="8">
|
||||
|
||||
@ -26,12 +26,12 @@
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<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-col>
|
||||
<a-col :span="12">
|
||||
<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-col>
|
||||
<a-col :span="12">
|
||||
|
||||
@ -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: '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: '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 }
|
||||
]);
|
||||
|
||||
|
||||
@ -97,7 +97,11 @@
|
||||
/>
|
||||
</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 value="true">日统计表</a-radio>
|
||||
<a-radio value="false">小时表</a-radio>
|
||||
@ -192,13 +196,14 @@
|
||||
<div style="display: flex; align-items: center">
|
||||
<a-checkbox value="baseId">基地:</a-checkbox>
|
||||
<a-select
|
||||
v-model:value="formData.yearBaseId"
|
||||
v-model:value="formData.rvcd"
|
||||
placeholder="请选择水电基地"
|
||||
mode="multiple"
|
||||
allow-clear
|
||||
show-search
|
||||
:filter-option="filterOption"
|
||||
:loading="rvcdLoading"
|
||||
@change="handleRvcdChange"
|
||||
style="width: 200px; margin-right: 10px"
|
||||
:max-tag-count="2"
|
||||
>
|
||||
@ -291,7 +296,6 @@ const formData = reactive({
|
||||
yearStatContent: [] as string[],
|
||||
statYears: [] as string[],
|
||||
yearDimContent: [] as string[],
|
||||
yearBaseId: [] as string[],
|
||||
lyRvcd: [] as string[],
|
||||
dimensionStat: '',
|
||||
content: ''
|
||||
@ -361,7 +365,7 @@ const loadStationOptions = async (rvcds?: string[]) => {
|
||||
const initDone = ref(false);
|
||||
watch(
|
||||
() => JidiSelectEventStore.jidiData,
|
||||
(val) => {
|
||||
val => {
|
||||
if (initDone.value) return;
|
||||
const data = (val || []).filter((item: any) => item.wbsCode !== 'all');
|
||||
if (data.length === 0) return;
|
||||
@ -403,50 +407,12 @@ const loadLyOptions = async () => {
|
||||
lyLoading.value = false;
|
||||
}
|
||||
};
|
||||
// 时间维度切换时清理表单缓存,避免残留上次的选择
|
||||
watch(
|
||||
() => formData.timeDimension,
|
||||
(newVal, oldVal) => {
|
||||
if (newVal === oldVal) return;
|
||||
// 清空公共字段(基地/电站/流域)
|
||||
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 dataOptions = ref([
|
||||
{ itemCode: 'month', dictName: '月度报表' },
|
||||
{ itemCode: 'year', dictName: '年度报表' },
|
||||
{ itemCode: 'day', dictName: '日度报表' },
|
||||
{ itemCode: 'hour', dictName: '小时报表' }
|
||||
]);
|
||||
const getExstatus = async (taskId, exportParams) => {
|
||||
let res1: any = await qgcExportstatus({ taskId: taskId });
|
||||
if (res1.status == 'PROCESSING') {
|
||||
@ -454,12 +420,16 @@ const getExstatus = async (taskId, exportParams) => {
|
||||
getExstatus(taskId, exportParams);
|
||||
}, 5000);
|
||||
} 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 a = document.createElement('a');
|
||||
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();
|
||||
window.URL.revokeObjectURL(url);
|
||||
exportLoading.value = false;
|
||||
@ -501,11 +471,8 @@ const handleExport = async () => {
|
||||
if (formData.yearDimContent.includes('stcd')) {
|
||||
params.stcd = formData.stations.join(',');
|
||||
}
|
||||
if (
|
||||
formData.yearDimContent.includes('baseId') &&
|
||||
formData.yearBaseId.length > 0
|
||||
) {
|
||||
params.baseId = formData.yearBaseId.join(',');
|
||||
if (formData.yearDimContent.includes('baseId')) {
|
||||
params.baseId = formData.rvcd.join(',');
|
||||
}
|
||||
if (formData.yearDimContent.includes('ly')) {
|
||||
params.hbRvcd = formData.lyRvcd.join(',');
|
||||
@ -521,7 +488,7 @@ const handleExport = async () => {
|
||||
} catch (e) {
|
||||
message.error('导出失败');
|
||||
} finally {
|
||||
exportLoading.value = false;
|
||||
// exportLoading.value = false;
|
||||
}
|
||||
};
|
||||
const dataFieldOption = ref([]);
|
||||
@ -557,4 +524,7 @@ onMounted(() => {
|
||||
z-index: 900;
|
||||
pointer-events: all;
|
||||
}
|
||||
// .export-container{
|
||||
|
||||
// }
|
||||
</style>
|
||||
|
||||
@ -46,7 +46,7 @@
|
||||
width="800px"
|
||||
>
|
||||
<div style="text-align: center">
|
||||
<img :src="previewImageUrl" style="width: 100%; height: 600px" />
|
||||
<a-image :src="previewImageUrl" style="width: 100%; height: 600px" />
|
||||
</div>
|
||||
</a-modal>
|
||||
|
||||
@ -106,7 +106,11 @@ import EditFishDataManualModal from './EditFishDataManualModal.vue';
|
||||
import EditFishDataAutoModal from './EditFishDataAutoModal.vue';
|
||||
import DeleteConfirmModal from '@/views/conventionalHydropower/BasicData/DeleteConfirmModal.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 { useDraggable } from '@/utils/drag';
|
||||
|
||||
@ -699,4 +703,5 @@ onMounted(() => {
|
||||
position: relative;
|
||||
z-index: 900;
|
||||
pointer-events: all;
|
||||
}</style>
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -73,7 +73,7 @@ import dayjs from 'dayjs';
|
||||
import BasicSearch from '@/components/BasicSearch/index.vue';
|
||||
import { DateSetting } from '@/utils/enumeration';
|
||||
import { useTimeScale } from '@/store/composables/useTimeScale';
|
||||
import { getFishReleaseMonitorSectionList } from '@/api/DataQueryMenuModule';
|
||||
import { overviewvmsstbprptGetKendoList } from '@/api/DataQueryMenuModule';
|
||||
import { getDictItemsByCode } from '@/api/dict';
|
||||
|
||||
const emit = defineEmits<{
|
||||
@ -211,7 +211,7 @@ const initCrossSectionList = params => {
|
||||
}
|
||||
}
|
||||
crossSectionListLoading.value = true;
|
||||
return getFishReleaseMonitorSectionList({
|
||||
return overviewvmsstbprptGetKendoList({
|
||||
filter: {
|
||||
logic: 'and',
|
||||
filters: filters
|
||||
|
||||
@ -46,7 +46,7 @@
|
||||
width="800px"
|
||||
>
|
||||
<div style="text-align: center">
|
||||
<img :src="previewImageUrl" style="width: 100%; height: 600px" />
|
||||
<a-image :src="previewImageUrl" style="width: 100%; height: 600px" />
|
||||
</div>
|
||||
</a-modal>
|
||||
|
||||
|
||||
@ -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://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.211:8093'
|
||||
|
||||
Loading…
Reference in New Issue
Block a user