diff --git a/frontend-sjtb/src/views/error-page/401.vue b/frontend-sjtb/src/views/error-page/401.vue new file mode 100644 index 00000000..61c6ae60 --- /dev/null +++ b/frontend-sjtb/src/views/error-page/401.vue @@ -0,0 +1,114 @@ + + + + + + + + diff --git a/frontend-sjtb/src/views/error-page/404.vue b/frontend-sjtb/src/views/error-page/404.vue new file mode 100644 index 00000000..85594047 --- /dev/null +++ b/frontend-sjtb/src/views/error-page/404.vue @@ -0,0 +1,280 @@ + + + + + + + + diff --git a/frontend-sjtb/src/views/register/index.vue b/frontend-sjtb/src/views/register/index.vue new file mode 100644 index 00000000..6a1cf445 --- /dev/null +++ b/frontend-sjtb/src/views/register/index.vue @@ -0,0 +1,997 @@ + + + + + diff --git a/frontend-sjtb/src/views/system/menu/index.vue b/frontend-sjtb/src/views/system/menu/index.vue index ad5ac629..59fa352a 100644 --- a/frontend-sjtb/src/views/system/menu/index.vue +++ b/frontend-sjtb/src/views/system/menu/index.vue @@ -643,7 +643,8 @@ onMounted(() => { @@ -58,7 +58,7 @@ :allow-clear="item.fieldProps?.allowClear" :presets="item.presets" style="width: 100%" - @change="(val) => triggerManualValuesChange(item.name, val)" + @change="val => triggerManualValuesChange(item.name, val)" /> @@ -68,11 +68,16 @@ :placeholder="item.placeholder || '请输入'" :allow-clear="item.fieldProps?.allowClear" :style="{ width: item.width ? item.width + 'px' : '200px' }" - @change="(e) => triggerManualValuesChange(item.name, e.target.value)" + @change=" + e => triggerManualValuesChange(item.name, e.target.value) + " /> -
+
@@ -209,9 +219,15 @@ v-else-if="item.type === 'Radio'" v-model:value="formData[item.name]" :style="{ width: item.width ? item.width + 'px' : '200px' }" - @change="(e) => triggerManualValuesChange(item.name, e.target.value)" + @change=" + e => triggerManualValuesChange(item.name, e.target.value) + " > - + {{ opt.label }} @@ -245,16 +261,16 @@ diff --git a/frontend/src/components/BasicTable/index.vue b/frontend/src/components/BasicTable/index.vue index 87cb3b1c..f124d5be 100644 --- a/frontend/src/components/BasicTable/index.vue +++ b/frontend/src/components/BasicTable/index.vue @@ -9,6 +9,7 @@ :pagination="paginationConfig" :scroll="scrollConfig" :row-key="rowKey" + :customRow="customRow" @change="handleTableChange" > @@ -85,6 +86,7 @@ const emit = defineEmits<{ e: 'sort-change', sortInfo: { field: string; order: 'ascend' | 'descend' | null } ): void; + (e: 'row-click', record: any): void; }>(); // --- State --- @@ -195,7 +197,7 @@ const getList = async (filter?: Record) => { if (props.transformData) { const result = props.transformData(res); - finalRecords = result.records || []; + finalRecords = result.records || result.data || []; finalTotal = result.total || 0; } else { finalRecords = res?.data?.records || res?.data?.data || res?.data || []; @@ -227,6 +229,17 @@ const handleTableChange = (pag: any, filters: any, sorter: any) => { getList(); } }; +const handleRowClick = (record: any) => { + emit('row-click', record); +}; + +const customRow = (record: any) => { + return { + onClick: () => { + handleRowClick(record); + } + }; +}; const reset = () => { page.value = 1; @@ -309,7 +322,7 @@ const processData = (records: any[]) => { const createMergeCellHandler = (dataIndex: string) => { return (record: any, index: number) => { const currentValue = record[dataIndex]; - + // 检查当前行是否是该值的起始行 let isStartRow = true; if (index > 0) { @@ -318,7 +331,7 @@ const createMergeCellHandler = (dataIndex: string) => { isStartRow = false; } } - + if (!isStartRow) { // 不是起始行,设置 rowSpan 为 0(隐藏该单元格) return { rowSpan: 0 }; @@ -332,7 +345,7 @@ const createMergeCellHandler = (dataIndex: string) => { break; } } - + return rowSpan > 1 ? { rowSpan } : {}; } }; @@ -347,7 +360,7 @@ const enhancedColumns = computed(() => { ...col, customCell: createMergeCellHandler(col.dataIndex) }; - + // 如果有 slots.customRender,移除 slots if (baseCol.slots?.customRender) { const { slots, ...restCol } = baseCol; @@ -357,10 +370,10 @@ const enhancedColumns = computed(() => { ...(props.enableEllipsis ? { ellipsis: true } : {}) }; } - + return baseCol; } - + // 如果有 slots.customRender,移除 slots(由 bodyCell 处理),保留 dataIndex 用于匹配 if (col.slots?.customRender) { const { slots, ...restCol } = col; @@ -428,4 +441,9 @@ watch( ::v-deep(.ant-table-tbody > tr > td) { border-bottom: 1px solid #f0f0f0; } +:deep(.ant-pagination) { + .ant-select { + width: 100px; + } +} diff --git a/frontend/src/utils/request.ts b/frontend/src/utils/request.ts index a22e13f6..2a802794 100644 --- a/frontend/src/utils/request.ts +++ b/frontend/src/utils/request.ts @@ -19,6 +19,7 @@ service.interceptors.request.use( `Expected 'config' and 'config.headers' not to be undefined` ); } + config.headers.tenant_id = '1'; if ( config.url.includes('/dec-lygk-base-server') || config.url.includes('/wmp-env-server') || @@ -33,7 +34,7 @@ service.interceptors.request.use( config.headers._sysid = '10EC2E0B-AEA9-4757-83A2-201BA1BC54E9'; config.headers.authorization = - 'bearer aa5be16b-d1a3-4b93-9886-b2490025c7d6'; + 'bearer 3c424544-50d5-4787-9453-97bc18e44427'; config.baseURL = '/'; } else { const user = useUserStoreHook(); diff --git a/frontend/src/views/DataQueryMenuModule/components/Approval/index.vue b/frontend/src/views/DataQueryMenuModule/components/Approval/index.vue new file mode 100644 index 00000000..73e5c20d --- /dev/null +++ b/frontend/src/views/DataQueryMenuModule/components/Approval/index.vue @@ -0,0 +1,10 @@ + + + + diff --git a/frontend/src/views/DataQueryMenuModule/components/BasicData/index.vue b/frontend/src/views/DataQueryMenuModule/components/BasicData/index.vue new file mode 100644 index 00000000..11032725 --- /dev/null +++ b/frontend/src/views/DataQueryMenuModule/components/BasicData/index.vue @@ -0,0 +1,10 @@ + + + + diff --git a/frontend/src/views/DataQueryMenuModule/components/Export/index.vue b/frontend/src/views/DataQueryMenuModule/components/Export/index.vue new file mode 100644 index 00000000..b7050d73 --- /dev/null +++ b/frontend/src/views/DataQueryMenuModule/components/Export/index.vue @@ -0,0 +1,10 @@ + + + + diff --git a/frontend/src/views/DataQueryMenuModule/components/FishData/index.vue b/frontend/src/views/DataQueryMenuModule/components/FishData/index.vue new file mode 100644 index 00000000..a50c77a0 --- /dev/null +++ b/frontend/src/views/DataQueryMenuModule/components/FishData/index.vue @@ -0,0 +1,10 @@ + + + + diff --git a/frontend/src/views/DataQueryMenuModule/components/FishRelease/index.vue b/frontend/src/views/DataQueryMenuModule/components/FishRelease/index.vue new file mode 100644 index 00000000..39d35206 --- /dev/null +++ b/frontend/src/views/DataQueryMenuModule/components/FishRelease/index.vue @@ -0,0 +1,10 @@ + + + + diff --git a/frontend/src/views/DataQueryMenuModule/components/FishResource/FishResourceSearch.vue b/frontend/src/views/DataQueryMenuModule/components/FishResource/FishResourceSearch.vue new file mode 100644 index 00000000..497b7711 --- /dev/null +++ b/frontend/src/views/DataQueryMenuModule/components/FishResource/FishResourceSearch.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/frontend/src/views/DataQueryMenuModule/components/FishResource/index.vue b/frontend/src/views/DataQueryMenuModule/components/FishResource/index.vue new file mode 100644 index 00000000..04cd46eb --- /dev/null +++ b/frontend/src/views/DataQueryMenuModule/components/FishResource/index.vue @@ -0,0 +1,573 @@ + + + + diff --git a/frontend/src/views/DataQueryMenuModule/components/FlowData/index.vue b/frontend/src/views/DataQueryMenuModule/components/FlowData/index.vue new file mode 100644 index 00000000..1ad9200f --- /dev/null +++ b/frontend/src/views/DataQueryMenuModule/components/FlowData/index.vue @@ -0,0 +1,10 @@ + + + + diff --git a/frontend/src/views/DataQueryMenuModule/components/FlowStation/index.vue b/frontend/src/views/DataQueryMenuModule/components/FlowStation/index.vue new file mode 100644 index 00000000..03e38f2e --- /dev/null +++ b/frontend/src/views/DataQueryMenuModule/components/FlowStation/index.vue @@ -0,0 +1,10 @@ + + + + diff --git a/frontend/src/views/DataQueryMenuModule/components/SurfaceTemp/index.vue b/frontend/src/views/DataQueryMenuModule/components/SurfaceTemp/index.vue new file mode 100644 index 00000000..243c8daa --- /dev/null +++ b/frontend/src/views/DataQueryMenuModule/components/SurfaceTemp/index.vue @@ -0,0 +1,10 @@ + + + + diff --git a/frontend/src/views/DataQueryMenuModule/components/VerticalTemp/index.vue b/frontend/src/views/DataQueryMenuModule/components/VerticalTemp/index.vue new file mode 100644 index 00000000..85aa3194 --- /dev/null +++ b/frontend/src/views/DataQueryMenuModule/components/VerticalTemp/index.vue @@ -0,0 +1,10 @@ + + + + diff --git a/frontend/src/views/DataQueryMenuModule/components/WaterData/index.vue b/frontend/src/views/DataQueryMenuModule/components/WaterData/index.vue new file mode 100644 index 00000000..4e61239f --- /dev/null +++ b/frontend/src/views/DataQueryMenuModule/components/WaterData/index.vue @@ -0,0 +1,10 @@ + + + + diff --git a/frontend/src/views/DataQueryMenuModule/conventionalHydropower.vue b/frontend/src/views/DataQueryMenuModule/conventionalHydropower.vue index fe1c241a..ccc8f694 100644 --- a/frontend/src/views/DataQueryMenuModule/conventionalHydropower.vue +++ b/frontend/src/views/DataQueryMenuModule/conventionalHydropower.vue @@ -1,5 +1,43 @@ \ No newline at end of file + + + + diff --git a/frontend/src/views/DataQueryMenuModule/monitorData.vue b/frontend/src/views/DataQueryMenuModule/monitorData.vue index 0314b515..c7eeac5e 100644 --- a/frontend/src/views/DataQueryMenuModule/monitorData.vue +++ b/frontend/src/views/DataQueryMenuModule/monitorData.vue @@ -1,5 +1,63 @@ \ No newline at end of file + + + \ No newline at end of file