From 021533d01d7aea9d31bf5ae28548be6d68965720 Mon Sep 17 00:00:00 2001 From: jiang Date: Tue, 3 Dec 2024 09:02:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/dataCenter/annotationTask.js | 9 + src/api/dataCenter/releaseVersion.js | 8 + .../annotationTask/child/allTasks.vue | 5 +- .../dialog/releaseVersionDialog.vue | 50 ++--- .../dataSet/child/annotationTaskDialog.vue | 4 +- .../dataSet/child/datasetVersion.vue | 4 +- .../dataCenter/dataSet/child/exportDialog.vue | 99 ++++++++++ .../dataCenter/dataSet/components/dataSet.vue | 178 ++++++++++-------- 8 files changed, 248 insertions(+), 109 deletions(-) create mode 100644 src/views/dataCenter/dataSet/child/exportDialog.vue diff --git a/src/api/dataCenter/annotationTask.js b/src/api/dataCenter/annotationTask.js index 71f760d0..8f62244a 100644 --- a/src/api/dataCenter/annotationTask.js +++ b/src/api/dataCenter/annotationTask.js @@ -71,5 +71,14 @@ export function manualAnnotate(data) { }) } +export function getLatestDatasetVersion(datasetId) { + return request({ + url: '/ai/annotationTask/getLatestDatasetVersion/'+datasetId, + method: 'get' + }) +} + + + diff --git a/src/api/dataCenter/releaseVersion.js b/src/api/dataCenter/releaseVersion.js index 6acee245..15a7ddb7 100644 --- a/src/api/dataCenter/releaseVersion.js +++ b/src/api/dataCenter/releaseVersion.js @@ -31,4 +31,12 @@ export function annotationsExport(taskId) { }) } +export function listSelect(query) { + return request({ + url: '/ai/version/listSelect', + method: 'get', + params: query + }) +} + diff --git a/src/views/dataCenter/annotationTask/child/allTasks.vue b/src/views/dataCenter/annotationTask/child/allTasks.vue index 0b9505ff..2dc8d704 100644 --- a/src/views/dataCenter/annotationTask/child/allTasks.vue +++ b/src/views/dataCenter/annotationTask/child/allTasks.vue @@ -70,7 +70,7 @@ @@ -118,8 +118,7 @@ + :last-version-name="lastVersionName" @dialog-cancel="handleCancel"> diff --git a/src/views/dataCenter/annotationTask/dialog/releaseVersionDialog.vue b/src/views/dataCenter/annotationTask/dialog/releaseVersionDialog.vue index 1533245b..ec98f04e 100644 --- a/src/views/dataCenter/annotationTask/dialog/releaseVersionDialog.vue +++ b/src/views/dataCenter/annotationTask/dialog/releaseVersionDialog.vue @@ -31,6 +31,7 @@ import { add } from '@/api/dataCenter/releaseVersion' +import { getLatestDatasetVersion } from '../../../../api/dataCenter/annotationTask' export default { props: { @@ -41,7 +42,7 @@ export default { }, getList: { type: Function, - required: true, + required: true }, datasetId: { type: Number, @@ -52,11 +53,6 @@ export default { type: Number, default: 0, required: true - }, - lastVersionName: { - type: String, - default: '', - required: true } }, computed: { @@ -67,10 +63,11 @@ export default { set(value) { this.$emit('update:open', value) } - }, + } }, data() { return { + lastVersionName: null, form: { versionName: this.lastVersionName || '' // 初始化为传入的 lastVersionName }, // 初始化为空 @@ -83,32 +80,38 @@ export default { } }, watch: { - isOpen(newVal){ - if (newVal){ - if (this.isValidVersion(this.lastVersionName)) { - this.form.versionName = this.incrementMajorVersion(this.lastVersionName); - } else { - this.form.versionName = 'V1.0.0'; // 如果格式不正确,则清空 - } + isOpen(newVal) { + if (newVal) { + this.getLatestDatasetVersion(this.datasetId) } - }, + } }, methods: { + getLatestDatasetVersion(datasetId) { + getLatestDatasetVersion(datasetId).then(response => { + this.lastVersionName = response.msg; + if (this.isValidVersion(this.lastVersionName)) { + this.form.versionName = this.incrementMajorVersion(this.lastVersionName) + } else { + this.form.versionName = 'V1.0.0' // 如果格式不正确,则清空 + } + }) + }, // 判断版本号格式是否正确 isValidVersion(version) { - return /^V\d{1,3}(\.\d{1,3}){2}$/.test(version); + return /^V\d{1,3}(\.\d{1,3}){2}$/.test(version) }, // 增加大版本号 incrementMajorVersion(version) { - const match = version.match(/^V(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/); + const match = version.match(/^V(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/) if (match) { - let major = parseInt(match[1], 10); + let major = parseInt(match[1], 10) // 增加主版本号 - major += 1; - return `V${major}.0.0`; // 返回新的版本号,次版本和修订号重置为 0 + major += 1 + return `V${major}.0.0` // 返回新的版本号,次版本和修订号重置为 0 } - return version; // 如果格式不符合,则返回原始版本号 + return version // 如果格式不符合,则返回原始版本号 }, // 数据提交 submitForm() { @@ -128,11 +131,12 @@ export default { this.isOpen = false this.reset() this.$emit('dialog-cancel') // 通知父组件 - this.getList(); + this.getList() }, // 表单重置 reset() { - this.form = {versionName:''} // 清空表单 + this.lastVersionName = '' + this.form = { versionName: '' } // 清空表单 this.$refs.form.resetFields() // 调用 Element UI 的重置方法 } } diff --git a/src/views/dataCenter/dataSet/child/annotationTaskDialog.vue b/src/views/dataCenter/dataSet/child/annotationTaskDialog.vue index ea4f1998..09eadf7a 100644 --- a/src/views/dataCenter/dataSet/child/annotationTaskDialog.vue +++ b/src/views/dataCenter/dataSet/child/annotationTaskDialog.vue @@ -224,10 +224,10 @@ export default { let reviewers = [] this.tableData.forEach((item) => { if (item.type === '0') { - reviewers.push(item) + reviewers.push(item.id) } if (item.type === '1') { - annotators.push(item) + annotators.push(item.id) } }) this.form.annotators = annotators diff --git a/src/views/dataCenter/dataSet/child/datasetVersion.vue b/src/views/dataCenter/dataSet/child/datasetVersion.vue index 8c2aee29..e4e5121b 100644 --- a/src/views/dataCenter/dataSet/child/datasetVersion.vue +++ b/src/views/dataCenter/dataSet/child/datasetVersion.vue @@ -63,14 +63,12 @@ 导出 删除 @@ -190,7 +188,7 @@ export default { }, handleExport(row){ - this.download('/ai/annotations/export/' + row.taskId,{},new Date().getTime()+'.zip',{timeout: 600000}) + this.download('/ai/annotations/export/' + row.versionId,{}, new Date().getTime()+'.zip',{timeout: 600000}) }, handleDelete(row){ const ids = row.versionId || this.ids; diff --git a/src/views/dataCenter/dataSet/child/exportDialog.vue b/src/views/dataCenter/dataSet/child/exportDialog.vue new file mode 100644 index 00000000..441dc2e1 --- /dev/null +++ b/src/views/dataCenter/dataSet/child/exportDialog.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/src/views/dataCenter/dataSet/components/dataSet.vue b/src/views/dataCenter/dataSet/components/dataSet.vue index 7a6272fa..d0a43b6e 100644 --- a/src/views/dataCenter/dataSet/components/dataSet.vue +++ b/src/views/dataCenter/dataSet/components/dataSet.vue @@ -25,7 +25,8 @@ size="mini" @click="handleAdd" v-hasPermi="['dataCenter:dataSet:create']" - >新增 + >新增 + 删除 + >删除 + - - - + + + - + @@ -67,8 +72,8 @@ {{ parseTime(scope.row.createTime) }} - - + + @@ -124,9 +133,18 @@ - + - + + + +