|
@@ -2,10 +2,24 @@
|
|
|
<VRModelList :params="params">
|
|
|
<template v-slot:header>
|
|
|
<el-form-item label="名称:" style="grid-area: 1 / 1 / 2 / 4">
|
|
|
- <el-input v-model="params.name" placeholder="请输入" />
|
|
|
+ <el-input v-model="params.pagging.state.query.name" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="分组:" style="grid-area: 1 / 1 / 2 / 4">
|
|
|
- <el-input v-model="params.keyword" placeholder="请输入" />
|
|
|
+ <el-select
|
|
|
+ v-model="params.pagging.state.query.dictId"
|
|
|
+ placeholder="请选择"
|
|
|
+ style="width: 200px"
|
|
|
+ clearable
|
|
|
+
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in options"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.dictName"
|
|
|
+ :value="item.id"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ <!-- <el-input placeholder="请输入" /> -->
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
<template v-slot:content>
|
|
@@ -18,14 +32,16 @@
|
|
|
@selection-change="changeSelection"
|
|
|
>
|
|
|
<el-table-column type="selection" width="50" :selectable="selectable"/>
|
|
|
- <el-table-column label="名称" v-slot:default="{ row }">
|
|
|
- {{ params.isSwmx ? row.modelTitle : row.name }}
|
|
|
+ <el-table-column width="400" label="名称" v-slot:default="{ row }">
|
|
|
+ <span class="truncate" :title="row.name">{{ row.name }}</span>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="格式" prop="fileFormat"></el-table-column>
|
|
|
- <el-table-column label="大小" prop="fileSize" v-slot:default="{ row }">
|
|
|
+ <el-table-column width="140" label="大小" prop="fileSize" v-slot:default="{ row }">
|
|
|
{{ formatSizeUnits(row.fileSize) }}
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="分组" prop="dictName"></el-table-column>
|
|
|
+ <el-table-column class="truncate" width="140" label="分组" prop="dictName" v-slot:default="{ row }">
|
|
|
+ <span :title="row.dictName" class="truncate">{{ row.dictName }}</span>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column
|
|
|
label="操作"
|
|
|
v-slot:default="{ row }"
|
|
@@ -47,7 +63,7 @@
|
|
|
<script setup lang="ts">
|
|
|
import VRModelList from "./list.vue";
|
|
|
import { Scene } from "@/store/scene";
|
|
|
-import { CaseScenes } from "@/store/case";
|
|
|
+import { CaseScenes, getDictFileLists, delDictFileLists } from "@/store/case";
|
|
|
import { useScenePaggingParams } from "./pagging";
|
|
|
import { onMounted, ref, watch, watchEffect } from "vue";
|
|
|
import {
|
|
@@ -58,9 +74,10 @@ import {
|
|
|
} from "@/store/case";
|
|
|
import { QuiskExpose } from "@/helper/mount";
|
|
|
import { ElTable } from "element-plus";
|
|
|
-
|
|
|
+const options = ref([]);
|
|
|
const props = defineProps<{ caseId: number, formats: Array<string> }>();
|
|
|
const params = useScenePaggingParams();
|
|
|
+console.log("formats", params);
|
|
|
const caseScenes = ref([]);
|
|
|
const tableRef = ref<InstanceType<typeof ElTable>>();
|
|
|
// const
|
|
@@ -90,8 +107,12 @@ const selectable = (row) => {
|
|
|
const fileType = row.fileUrl?.substring(row.fileUrl.lastIndexOf("."))
|
|
|
.toLowerCase();
|
|
|
return props.formats.includes(fileType);
|
|
|
-}
|
|
|
+}
|
|
|
|
|
|
+const del = async (row) => {
|
|
|
+ const res = await delDictFileLists(row.id);
|
|
|
+ params.pagging.queryReset()
|
|
|
+}
|
|
|
const changeSelection = (selectScenes) => {
|
|
|
if (params.pagging.loading) return;
|
|
|
const pagScenes = params.pagging.state.table.rows;
|
|
@@ -109,7 +130,9 @@ function formatSizeUnits(bytes){
|
|
|
}
|
|
|
// 初始化数据
|
|
|
onMounted(async () => {
|
|
|
- // caseScenes.value = getCaseScenes(await getCaseSceneList(props.caseId));
|
|
|
+ const res = await getDictFileLists(1);
|
|
|
+ console.log('onMounted', res);
|
|
|
+ options.value = res;
|
|
|
});
|
|
|
const submit = () => {
|
|
|
console.log(caseScenes.value);
|