diff --git a/src/api/dataSet/dataSet.js b/src/api/dataSet/dataSet.js index 045de23..d501b1e 100644 --- a/src/api/dataSet/dataSet.js +++ b/src/api/dataSet/dataSet.js @@ -57,6 +57,18 @@ export function uploadImgFiles(formData) { }) } +// 删除菜单 +export function uploadZipFiles(formData) { + return request({ + url: '/ai/dataSet/uploadZipFiles', + method: 'post', + data: formData, + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } + }) +} + diff --git a/src/api/dataSet/dataSetModel.js b/src/api/dataSet/dataSetModel.js index ef9402e..879df4f 100644 --- a/src/api/dataSet/dataSetModel.js +++ b/src/api/dataSet/dataSetModel.js @@ -20,20 +20,26 @@ export function getModelsById(modelId) { // 查询菜单列表 -export function insertModel(data) { +export function insertModel(formData) { return request({ url: '/ai/dataSet/insertModel', method: 'post', - data: data + data: formData, + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } }) } // 查询菜单列表 -export function updateModel(data) { +export function updateModel(formData) { return request({ url: '/ai/dataSet/updateModel', method: 'post', - data: data + data: formData, + headers: { + 'Content-Type': 'application/x-www-form-urlencoded' + } }) } diff --git a/src/router/index.js b/src/router/index.js index 7d9b5ab..6272715 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -90,11 +90,37 @@ export const constantRoutes = [ component: () => import('@/views/dataSet/dataSetCategory/index'), hidden: true }, + { + path: '/dataSetAlgorithm', + component: () => import('@/views/dataSet/dataSetCategory/index'), + hidden: true + }, { path: '/dataSetFile', component: () => import('@/views/dataSet/dataSetFile/index'), hidden: true }, + { + path: '/dataSetLabel', + component: () => import('@/views/dataSet/dataSetLabel/index'), + hidden: true + }, + { + path: '/dataSetLog', + component: () => import('@/views/dataSet/dataSetLog/index'), + hidden: true + }, + { + path: '/dataSetModel', + component: () => import('@/views/dataSet/dataSetModel/index'), + hidden: true + }, + { + path: '/dataSetTask', + component: () => import('@/views/dataSet/dataSetTask/index'), + hidden: true + }, + { path: '/dataSetFile/dataset', name: 'details', diff --git a/src/utils/request.js b/src/utils/request.js index 73a4b54..9080ba9 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -138,7 +138,7 @@ service.interceptors.response.use(res => { }).then(() => { isRelogin.show = false store.dispatch('LogOut').then(() => { - location.href = '/index' + location.href = '/login' }) }).catch(() => { isRelogin.show = false diff --git a/src/views/dataSet/dataSetFile/details.vue b/src/views/dataSet/dataSetFile/details.vue index 1c69678..c4372a4 100644 --- a/src/views/dataSet/dataSetFile/details.vue +++ b/src/views/dataSet/dataSetFile/details.vue @@ -36,7 +36,7 @@ 全选 移动文件 - 删除文件 + 删除文件 返回 @@ -320,26 +320,24 @@ export default { /** 修改按钮操作 */ handleUpdate(row) { this.fileIds = []; - Object.values(this.backLayout).forEach((item) => { - if (item.checked) { - this.fileIds.push(item.fileId); - } - }) + if (row) { + this.fileIds.push(row.fileId); + } else { + Object.values(this.backLayout).forEach((item) => { + if (item.checked) { + this.fileIds.push(item.fileId); + } + }) + } + if (!row && this.fileIds.length === 0) { + this.$modal.msgWarning("请选择数据"); + return; + } this.reset(); this.getAllDatasets(); this.open = true; this.title = "选择数据集"; - this.fileId = row.fileId; - }, - handleCopy(row) { - this.reset(); - this.getTreeselect(); - getDatasetById(row.datasetId).then(response => { - this.form = response.data; - this.form.datasetId = undefined; - this.open = true; - this.title = "复制数据"; - }); + }, /** 提交按钮 */ submitForm: function () { @@ -348,10 +346,9 @@ export default { return } let data = { - fileIds: this.fileId || this.fileIds, + fileIds: this.fileIds, datasetId: this.datasetId } - console.log(data); updateFile(data).then(response => { this.checked = false; this.$modal.msgSuccess("修改成功"); @@ -367,6 +364,10 @@ export default { this.fileIds.push(item.fileId); } }) + if (!row && this.fileIds.length === 0) { + this.$modal.msgWarning("请选择数据"); + return; + } const fileIds = row.fileId || this.fileIds this.$modal.confirm('是否确认删除数据项?').then(function () { return deleteFile(fileIds); diff --git a/src/views/dataSet/dataSetFile/index.vue b/src/views/dataSet/dataSetFile/index.vue index 1a61c43..9d003d9 100644 --- a/src/views/dataSet/dataSetFile/index.vue +++ b/src/views/dataSet/dataSetFile/index.vue @@ -103,7 +103,7 @@ - + @@ -130,7 +130,7 @@ type="textarea" :autosize="{ minRows: 2, maxRows: 4}" placeholder="请输入内容" - v-model="form.description"> + v-model="form.description" maxlength="200"> @@ -299,9 +299,8 @@ import { } from "@/api/dataSet/dataSetFile" import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; -import {getCategories, uploadImgFiles} from "@/api/dataSet/dataSet"; +import {getCategories, uploadImgFiles, uploadZipFiles} from "@/api/dataSet/dataSet"; import {parseTime} from "@/utils/ruoyi"; -import {Loading} from "element-ui"; export default { name: "index", @@ -471,7 +470,7 @@ export default { getTreeselect() { getCategories({}).then(response => { this.menuOptions = []; - const menu = {datasetId: 0, categoryName: '主类目', children: []}; + const menu = {categoryId: 0, categoryName: '主类目', children: []}; menu.children = this.handleTree(response.data, "categoryId"); this.menuOptions.push(menu); }); @@ -579,7 +578,6 @@ export default { } , submitFile() { - if (!this.selectedDataset) { this.$modal.msgWarning("请选择数据集"); return; @@ -589,7 +587,7 @@ export default { let formData = new FormData(); formData.append('datasetId', this.selectedDataset); if (this.fileImgList.length === 0) { - this.$modal.msgWarning("文件"); + this.$modal.msgWarning("请选择文件"); return; } Object.values(this.fileImgList).forEach((file) => { @@ -602,6 +600,22 @@ export default { this.getList(); }) } else { + let formData = new FormData(); + formData.append('datasetId', this.selectedDataset); + if (this.fileZipList.length === 0) { + this.$modal.msgWarning("请选择文件"); + return; + } + Object.values(this.fileZipList).forEach((file) => { + formData.append('files', file.raw); + }); + uploadZipFiles(formData).then(response => { + this.$modal.closeLoading(); + this.$modal.msgSuccess("上传成功"); + this.openFile = false; + this.getList(); + }) + } }, diff --git a/src/views/dataSet/dataSetModel/index.vue b/src/views/dataSet/dataSetModel/index.vue index a3d2733..6e6c2cc 100644 --- a/src/views/dataSet/dataSetModel/index.vue +++ b/src/views/dataSet/dataSetModel/index.vue @@ -53,13 +53,19 @@ @@ -348,14 +354,27 @@ export default { submitForm: function () { this.$refs["form"].validate(valid => { if (valid) { + console.log(this.form) + let formData = new FormData(); + for (let key in this.form) { + if (this.form.hasOwnProperty(key)) { + formData.append(key, this.form[key]); + } + } + Object.values(this.fileModelList).forEach((item) => { + formData.append("modelFile", item.raw) + }) + Object.values(this.fileUserManualList).forEach((item) => { + formData.append("userGuideFile", item.raw) + }) if (this.form.modelId != undefined) { - updateModel(this.form).then(response => { + updateModel(formData).then(response => { this.$modal.msgSuccess("修改成功"); this.open = false; this.getList(); }); } else { - insertModel(this.form).then(response => { + insertModel(formData).then(response => { this.$modal.msgSuccess("新增成功"); this.open = false; this.getList(); @@ -373,9 +392,14 @@ export default { this.$modal.msgSuccess("删除成功"); }).catch(() => { }); - }, - handleDetails(row) { - + }, downloadFile(url, filename) { + var element = document.createElement('a'); + element.href = url; + element.download = filename; + element.style.display = 'none'; + document.body.appendChild(element); + element.click(); // 模拟点击下载 + element.parentNode.removeChild(element); // 清理DOM元素 } } } diff --git a/src/views/largeScreen/largeScreen.vue b/src/views/largeScreen/largeScreen.vue index d378bde..96f1dfe 100644 --- a/src/views/largeScreen/largeScreen.vue +++ b/src/views/largeScreen/largeScreen.vue @@ -1,5 +1,17 @@