diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index a06a8c6..0000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "Vue.volar", - "vitest.explorer", - "dbaeumer.vscode-eslint", - "EditorConfig.EditorConfig", - "esbenp.prettier-vscode" - ] -} diff --git a/index.html b/index.html index 9e5fc8f..0c6f362 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ - Vite App + 雷达⽬标识别实装部署系统
diff --git a/package.json b/package.json index e6e9278..a71421e 100644 --- a/package.json +++ b/package.json @@ -13,14 +13,18 @@ "format": "prettier --write src/" }, "dependencies": { - "socket.io-client": "^4.2.0", + "@types/d3": "^7.4.3", "ant-design-vue": "4.x", + "d3": "^7.9.0", "echarts": "^5.6.0", "lodash": "^4.17.21", "pinia": "^3.0.1", + "screenfull": "^5.1.0", + "socket.io-client": "^4.2.0", + "streamsaver": "^2.0.6", + "swiper": "^12.0.3", "vue": "^3.5.13", - "vue-router": "^4.5.0", - "screenfull": "^5.1.0" + "vue-router": "^4.5.0" }, "devDependencies": { "@ant-design/icons-vue": "^7.0.1", diff --git a/src/apis/dataManage/statistics.ts b/src/apis/dataManage/statistics.ts index a490521..5f06399 100644 --- a/src/apis/dataManage/statistics.ts +++ b/src/apis/dataManage/statistics.ts @@ -19,4 +19,15 @@ export const lineStatisticsApi = async (bacthId: string, controller?: AbortContr }) } +// 根据参数获取频谱图 +export const getSpectrumImgApi = async (data: Record, controller?: AbortController) => { + return await request({ + url: `/data/spectrummap/${data.batchId}/${data.index}`, + method: 'GET', + getRaw: true, + controller: controller + }) + +} + diff --git a/src/apis/dataset/index.ts b/src/apis/dataset/index.ts index a816dc2..9cfc065 100644 --- a/src/apis/dataset/index.ts +++ b/src/apis/dataset/index.ts @@ -50,3 +50,13 @@ return request({ method: 'DELETE', }) } + +// 下载数据集 +export const downloadApi = async (params: Record) => { + return request({ + url: `/data/exported_data/${params.id}`, + method: 'GET', + getRaw: true, + params: params + }) +} diff --git a/src/apis/model/index.ts b/src/apis/model/index.ts index 99199f7..835978d 100644 --- a/src/apis/model/index.ts +++ b/src/apis/model/index.ts @@ -41,5 +41,27 @@ export const listApi = async (params?: Record) => { }) } +// 给模型导入预训练权重 +export const importPretrainedForModelApi = async (data: FormData) => { + const modelId = data.get('modelId') + return await request({ + url: `/train/model/${modelId}/pretrained_weights`, + headers: { + Accept: 'application/json', + authorization: `Bearer ${localStorage.token}` + }, + method: 'PUT', + data: data, + dataRaw: true, + }) +} + +export const deletePretrainedForModelApi = async (data: Record) => { + return await request({ + url: `/train/model/${data.modelId}/pretrained_weights/${data.path}`, + method: 'DELETE', + }) +} + diff --git a/src/apis/train/index.ts b/src/apis/train/index.ts index d86fd7d..5a68720 100644 --- a/src/apis/train/index.ts +++ b/src/apis/train/index.ts @@ -58,10 +58,19 @@ export const onInterruptApi = async (taskId: string) => { }) } -// 模型导出 -export const modelExportApi = async (taskId: string) => { +// 获取可导出的模型 +export const getExportModelsApi = async (taskId: string) => { return await request({ - url: `/train/${taskId}/export`, + url: `/train/${taskId}/exports`, method: 'GET' }) } + +// 模型导出 +export const modelExportApi = async (data: Record) => { + return await request({ + url: `/train/${data.taskId}/export/${data.exportType}`, + method: 'GET', + getRaw: true + }) +} diff --git a/src/config/index.ts b/src/config/index.ts index b53e802..34591c8 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -3,6 +3,6 @@ import authBg from '@/assets/images/auth/auth-bg.jpg' export const info = { logo: logo, - title: "雷达⽬标识别迁移部署系统", + title: "雷达⽬标识别实装部署系统", bgImg: authBg } diff --git a/src/main.ts b/src/main.ts index 6a56953..88e34a7 100644 --- a/src/main.ts +++ b/src/main.ts @@ -7,6 +7,11 @@ import { setupStore } from '@/stores' import { router, setupRouter } from '@/router' import { setRouteGuard } from '@/router/guard/index' import { loadComponent, loadFunc } from '@/core/lazy_use' +import 'swiper/css'; +import 'swiper/css/navigation'; +import 'swiper/css/pagination'; +import 'swiper/css/effect-fade'; +import 'swiper/css/autoplay'; import * as Icons from '@ant-design/icons-vue' diff --git a/src/router/modules/staticRouter.ts b/src/router/modules/staticRouter.ts index c3ba8a6..e82adc1 100644 --- a/src/router/modules/staticRouter.ts +++ b/src/router/modules/staticRouter.ts @@ -16,7 +16,7 @@ export const staticRouter = [ redirect: '/model-training/index', meta: { icon: 'sort', - title: '模型训练', + title: '模型调优', hidden: false, }, component: 'ViewLayout', @@ -27,7 +27,7 @@ export const staticRouter = [ hidden: false, meta: { icon: 'sort', - title: '模型训练', + title: '模型调优', hidden: true, }, component: 'ModelTraining', @@ -38,7 +38,7 @@ export const staticRouter = [ hidden: false, meta: { icon: 'sort', - title: '模型训练', + title: '模型调优', hidden: true, }, component: 'ModelTrainingDetail', diff --git a/src/views/dataManage/index/components/Modal/ImportModal.vue b/src/views/dataManage/index/components/Modal/ImportModal.vue index b9a3b6c..5e1d16b 100644 --- a/src/views/dataManage/index/components/Modal/ImportModal.vue +++ b/src/views/dataManage/index/components/Modal/ImportModal.vue @@ -18,6 +18,7 @@ import { Space, Button, Input, + Textarea, Upload, Radio, RadioGroup, @@ -51,8 +52,12 @@ const formRef = ref(); // 表单 const form = ref>({ files: [], + csvFiles: [], batch_name: "", description: "", + work_mode: "", + system_param: "", + system_status: "", agreement: "38解析协议", }); @@ -129,6 +134,12 @@ const onUpload = (e: File) => { return false; }; +// 上传csv辅助文件 +const onCsvUpload = (e: File) => { + form.value.csvFiles[0] = e; + return false; +}; + const customAgreement = ref(""); // 更新自定义协议 @@ -146,9 +157,13 @@ const reset = () => { // formRef.value.clearValidate(); form.value = { files: [], + csvFiles: [], batch_name: "", description: "", - agreement: "38解析协议", + work_mode: "", + system_param: "", + system_status: "", + // agreement: "38解析协议", }; customAgreement.value = ""; }; @@ -172,8 +187,14 @@ const onSubmit = async () => { const formData = new FormData(); formData.append("file", form.value.files[0]); + if (form.value.csvFiles.length) { + formData.append("csvFile", form.value.csvFiles[0]); + } formData.append("batch_name", form.value.batch_name); formData.append("description", form.value.description); + formData.append("work_mode", form.value.work_mode); + formData.append("system_param", form.value.system_param); + formData.append("system_status", form.value.system_status); const res = await props.api.onImportData(formData); if (res?.code == 200) { emits("onSuccess"); @@ -188,12 +209,12 @@ const onSubmit = async () => { v-model:open="open" title="导入数据" width="700px" - style="top: 200px" + style="top: 10px" :loading="props.requestMap.importRequest.loading.value" :onConfirm="onSubmit" >
- + {
支持bim、mat、json等各类二进制原始数据及航迹数据
+ + + +
+
+ +
+
点击上传
+
+
+
支持bim、mat、json等各类二进制原始数据及航迹数据
+
+ @@ -223,6 +263,27 @@ const onSubmit = async () => { + + + + + + + +