<!-- -->
|
<template>
|
<div class="modelLibrary_box">
|
<!-- 头部导航栏 -->
|
<van-nav-bar>
|
<template #left>
|
<div style="display: flex; align-items: center" @click="pageBack">
|
<van-icon name="arrow-left" size="18" />
|
<span></span>
|
</div>
|
</template>
|
<template #title>
|
<label style="color: #ffffff">{{ $t("detailPage.model_3D.TR") }}</label>
|
</template>
|
<template #right> </template>
|
</van-nav-bar>
|
<div class="modelLibrary_main">
|
<van-collapse v-model="activeNames">
|
<van-collapse-item
|
v-for="(catalog, i) in treeData"
|
:key="i"
|
:title="catalog.Text"
|
:name="i"
|
>
|
<van-cell
|
is-link
|
size="large"
|
v-for="(series, j) in catalog.Children"
|
:key="j"
|
@click="toModelDetailPage(series)"
|
>
|
<template #title>
|
<span style="color: #000000">{{ series.Text }}</span>
|
</template>
|
<template #right-icon>
|
<van-icon
|
style="position: absolute; right: 15px; top: 20px"
|
name="arrow"
|
size="18"
|
/>
|
</template>
|
</van-cell>
|
</van-collapse-item>
|
</van-collapse>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import languageMixin from "@/mixin/language.js";
|
export default {
|
name: "ModelLibrary",
|
mixins: [languageMixin],
|
components: {},
|
data() {
|
return {
|
CorpName: "模型库列表",
|
activeNames: [0],
|
treeData: [],
|
};
|
},
|
created() {
|
this.initTree();
|
},
|
mounted() {
|
document.title = `${this.$t('detailPage.model_3D.TR') }`
|
},
|
computed: {},
|
watch: {},
|
methods: {
|
initTree() {
|
let _this = this;
|
let url =
|
globalConfig.WebApiUrl.MainUrl +
|
"v1/ModelLibrary/GetBimTreeList?Lang=" +
|
_this.m_currentLanguage;
|
|
_this.$axios({
|
url: url,
|
method: "get",
|
}).then(function (res) {
|
let resData = res.data;
|
if (resData.Code != 0) {
|
_this.$toast(resData.Message);
|
resData.Data = [];
|
return;
|
}
|
// _this.treeData = resData.Data;
|
_this.treeData = _this.formatterTreeData(resData.Data);
|
// console.log(_this.treeData, 94);
|
});
|
},
|
formatterTreeData(orginData) {
|
let allArr = [];
|
// console.log(orginData);
|
for (var i = 0; i < orginData.length; i++) {
|
var catalog_mode = orginData[i];
|
var catalog_node = {};
|
catalog_node.NodeID = catalog_mode.NodeID;
|
catalog_node.Text = catalog_mode.Text;
|
catalog_node.Children = [];
|
|
for (var j = 0; j < catalog_mode.Children.length; j++) {
|
let series_mode = catalog_mode.Children[j];
|
if (series_mode.FilePath) {
|
var series_node = {};
|
series_node.NodeID = series_mode.NodeID;
|
series_node.SeriesID = series_mode.SeriesID;
|
series_node.LawID = series_mode.LawID;
|
series_node.IsHaveDim = series_mode.IsHaveDim;
|
series_node.Text = series_mode.Text;
|
series_node.FilePath = series_mode.FilePath;
|
|
catalog_node.Children.push(series_node);
|
} else if (
|
series_mode.Children != null &&
|
series_mode.Children.length > 0
|
) {
|
for (var k = 0; k < series_mode.Children.length; k++) {
|
let item_model = series_mode.Children[k];
|
var series_node = {};
|
series_node.NodeID = item_model.NodeID;
|
series_node.SeriesID = series_mode.SeriesID;
|
series_node.LawID = item_model.LawID;
|
series_node.IsHaveDim = item_model.IsHaveDim;
|
series_node.Text = series_mode.Text + "(" + item_model.Text + ")";
|
series_node.FilePath = item_model.FilePath;
|
|
catalog_node.Children.push(series_node);
|
}
|
}
|
}
|
|
allArr.push(catalog_node);
|
}
|
|
/*treeData.map((list, i) => {
|
if (!list.FilePath) {
|
for (var j = 0; j < list.Children.length; j++) {
|
let node = list.Children[j];
|
if (!node.FilePath) {
|
let tempArr2 = [];
|
for (var k = 0; k < node.Children.length; k++) {
|
let node2 = node.Children[k];
|
tempArr2.push(node2);
|
}
|
list.Children = tempArr2;
|
}
|
}
|
allArr.push(list);
|
}
|
});*/
|
return allArr;
|
},
|
//返回上一页
|
pageBack() {
|
this.$router.go(-1);
|
},
|
//进入详细页面
|
toModelDetailPage(node) {
|
this.$router.push({
|
path: `/${this.getCurrentLanguageUrl()}/ModelLibrary/Model3DIndex`,
|
query: node,
|
});
|
},
|
},
|
};
|
</script>
|
<style lang="scss">
|
.modelLibrary_box {
|
width: 100%;
|
height: 100vh;
|
.modelLibrary_main {
|
width: 100%;
|
height: calc(100% - 102px);
|
background-color: #fafafa;
|
overflow: auto;
|
margin-top: 1px;
|
.van-cell__title,
|
.van-cell__value {
|
display: flex;
|
align-items: flex-start;
|
flex-direction: column;
|
color: #36489e !important;
|
}
|
.van-index-anchor {
|
text-align: left;
|
font-weight: 600;
|
}
|
|
.van-cell {
|
font-size: 16px;
|
position: relative;
|
}
|
.van-cell__title {
|
color: #528abe;
|
text-align: start;
|
}
|
.van-cell__right-icon {
|
color: #528abe;
|
}
|
.van-collapse-item__content {
|
padding: unset;
|
}
|
.van-cell--large .van-cell__title {
|
font-size: 14px;
|
}
|
}
|
}
|
</style>
|