AIManage/src/views/manage/datas/index.vue

207 lines
5.4 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!-- 用户管理 -->
<template>
<div class="app-container">
<el-card shadow="never" class="table-container">
<template #header>
<div class="flex justify-between">
<div>
<el-button type="primary" @click="openDialog('user-form')"
><i-ep-plus />未标注数据集</el-button
>
<el-button type="primary" @click="openDialog('user-form')"
><i-ep-plus />已标注数据集</el-button
>
</div>
<div>
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
<el-form-item label="数据名称" prop="keywords">
<el-input
v-model="queryParams.keywords"
placeholder="请输入数据名称"
clearable
style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery"
><i-ep-search />搜索</el-button
>
<el-button @click="resetQuery">
<i-ep-refresh />
重置</el-button
>
</el-form-item>
</el-form>
</div>
</div>
</template>
<el-table
v-loading="loading"
:data="tableData"
stripe
@selection-change="handleSelectionChange"
>
<el-table-column label="数据集名称" align="left" prop="szmc" width="250" />
<el-table-column label="版本" align="left" prop="szlx" />
<el-table-column label="标签" align="left" prop="szzlx" />
<el-table-column label="使用任务类型" align="left" prop="bb" />
<el-table-column label="数据格式" align="left" prop="hlcjsj" />
<el-table-column label="数量" align="left" prop="sl" />
<el-table-column label="是否标注" align="left" prop="sfbz" />
<el-table-column label="操作" fixed="right" width="220">
<template #default="scope">
<el-button
text
type="primary"
size="small"
@click="openDialog('user-form', scope.row.id)"
><i-ep-view />查看</el-button
>
<el-button
text
type="primary"
size="small"
@click="openDialog('user-form', scope.row.id)"
><i-ep-edit />修改</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-if="total > 0"
v-model:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="handleQuery"
/>
</el-card>
</div>
</template>
<script setup lang="ts">
defineOptions({
name: "calculateIndex",
inheritAttrs: false,
});
import { UserQuery } from "@/api/user/model";
const queryFormRef = ref(ElForm); //
const router = useRouter();
const loading = ref(false); //
const removeIds = ref([]); // ID
const queryParams = reactive<UserQuery>({
pageNum: 1,
pageSize: 10,
});
const dateTimeRange = ref("");
const total = ref(0); // 数据总数
watch(dateTimeRange, (newVal) => {
if (newVal) {
queryParams.startTime = newVal[0];
queryParams.endTime = newVal[1];
}
});
const tableData = [
{
szmc: "RGB24格式转换数据集",
szlx: "v1",
szzlx: "格式转换",
bb: "格式转换",
hlcjsj: "RGB24",
sl: "86",
sfbz: "未备注",
},
{
szmc: "图像缩放数据集",
szlx: "v1.2",
szzlx: "图像缩放",
bb: "专业的图像缩放",
hlcjsj: "RGB24",
sl: "121",
sfbz: "未备注",
},
{
szmc: "人脸识别数据集",
szlx: "v4",
szzlx: "人脸识别",
bb: "人脸识别",
hlcjsj: "GRAY16",
sl: "288",
sfbz: "已备注",
},
];
/** 查询 */
function handleQuery() {
loading.value = true;
ElMessage.success("查询成功");
loading.value = false;
// UserAPI.getPage(queryParams)
// .then((data) => {
// console.log("handleQuery", data);
// pageData.value = data.list;
// total.value = data.total;
// })
// .finally(() => {
// loading.value = false;
// });
}
/** 重置查询 */
function resetQuery() {
queryFormRef.value.resetFields();
dateTimeRange.value = "";
queryParams.pageNum = 1;
queryParams.deptId = undefined;
queryParams.startTime = undefined;
queryParams.endTime = undefined;
handleQuery();
}
/** 行选中 */
function handleSelectionChange(selection: any) {
removeIds.value = selection.map((item: any) => item.id);
}
/** 删除数据 */
function handleDelete(row: { [key: string]: any }) {
ElMessageBox.confirm("确认删除数据集?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(function () {
ElMessage.success("删除成功");
});
}
/**
* 打开弹窗
*
* @param type 弹窗类型 用户表单user-form | 用户导入user-import
* @param id 用户ID
*/
async function openDialog(type: string, id?: number) {
router.replace({ path: "/dataMgr/datasEdit" });
}
/** 下载导入模板 */
function downloadTemplate() {
ElMessage.success("下载模板成功");
}
/** 导出用户 */
function handleExport() {
ElMessage.success("导出成功");
}
onMounted(() => {
//handleQuery();
});
</script>