This commit is contained in:
zh
2025-09-25 16:22:46 +08:00
18 changed files with 2448 additions and 765 deletions

View File

@ -30,7 +30,14 @@
<div class="content">
<!-- 左侧Tab导航 -->
<div class="treeCon">
<el-tree style="max-width: 600px" :data="typeTreeData" ref="treeRef" node-key="id">
<el-tree
style="max-width: 600px"
:data="typeTreeData"
ref="treeRef"
node-key="id"
@node-click="handleTypeClick"
:filter-node-method="filterNode"
>
<template #default="{ node, data }">
<!-- <span> {{ node.label }}</span> -->
@ -95,7 +102,7 @@
<script setup lang="ts">
import { useI18n } from 'vue-i18n'
import { Search } from '@element-plus/icons-vue'
import { ref, onMounted, onBeforeUnmount } from 'vue'
import { ref, onMounted, onBeforeUnmount, watch } from 'vue'
import { ModelApi } from '@/api/model/index'
import type { TabsPaneContext } from 'element-plus'
import { useTreeNode } from '../tree/hooks/treeNode'
@ -128,6 +135,16 @@ const galleryRef = ref<HTMLElement>()
const loading = ref(false)
let observer: IntersectionObserver | null = null
const treeRef: any = ref('')
watch(modelName, (val) => {
treeRef.value!.filter(val)
})
const filterNode: any = (value, data) => {
if (!value) return true
return data.label.includes(value)
}
// 处理Tab点击
const handleTabClick = (tab: TabsPaneContext) => {
const section = document.querySelector(`.model-section[data-category="${tab.index}"]`)
@ -208,7 +225,6 @@ interface TypeNode {
const typeTreeData = ref<TypeNode[]>([])
const toggleExpand = (row: any) => {
console.log('opoop')
if (row.childNodes.length != 0) {
// row._expanded = !row._expanded
// 这里需要调用el-table的toggleRowExpansion方法
@ -226,13 +242,18 @@ const toggleExpand = (row: any) => {
// loadModelsByType(row.id)
}
const addType = ref('')
const handleTypeClick = (row: TypeNode) => {
getModelListByType(row.id)
currentTypeId.value = row.$treeNodeId
}
let typeArr = {
point: '点',
line: '线',
area: '面'
}
const modelClick = (index, row) => {
console.log(row, 'dddddd')
activeIndex.value = index
// let selectedNode = window.treeObj.getSelectedNodes()[0]
// if(!selectedNode){
@ -263,8 +284,6 @@ const modelClick = (index, row) => {
url: 'http://127.0.0.1:8848' + isSetting[row.data]
},
function (data) {
console.log('data,url,source_id', data, row)
// posiArr.forEach((item, index) => {
// let model = new Model(that.sdk, {
// id: 'model' + index,
@ -298,10 +317,10 @@ const renderModel = async (data, model) => {
position,
name: model.modelName + index,
show: true,
scale: 1,
scale: { x: 1, y: 1, z: 1 },
url: model.data,
maximumScale: 1,
host: 'http://127.0.0.1:8848',
// host: 'http://127.0.0.1:8848',
rotate: {
x: 0,
y: 0,
@ -349,7 +368,6 @@ const getModelListByType = (id) => {
let formData = new FormData()
formData.append('modelTypeId', id)
ModelApi.showModelByType(formData).then((res) => {
console.log(res.data, 'cccc')
categories.value = res.data
})
}
@ -401,7 +419,6 @@ eventBus.on('closeModelSet', (data) => {
selectCallback = null
isShowPup.value = data
if (data) {
console.log('设置后')
getSetting()
}
})
@ -412,7 +429,6 @@ const getSetting = () => {
ModelApi.getModelSetting().then((res) => {
if (res.code == 0 || res.code == 200) {
isSetting = res.data[res.data.length - 1]
console.log(res, 'resres')
}
})
}