From 0b034a97c5da37937678b796c5c94b889bde910d Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 26 七月 2024 16:06:39 +0800 Subject: [PATCH] 属性池&&链接类型页面展示 以及部分功能 --- Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue | 283 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 280 insertions(+), 3 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue index e153ed7..80ea9f4 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/linkType/index.vue @@ -1,13 +1,290 @@ <template> - <p>閾炬帴绫诲瀷</p> + <el-container> + <el-aside> + <basic-container> + <div ref="TreeBox" style="height: calc(100vh - 144px);!important;"> + <div class="headerCon"> + <el-button icon="el-icon-plus" plain size="small" type="primary">鍒涘缓 + </el-button> + <el-button icon="el-icon-edit" plain size="small" type="primary">淇敼 + </el-button> + <el-button icon="el-icon-delete" plain size="small" type="danger">鍒犻櫎 + </el-button> + <el-button icon="el-icon-view" plain size="small" type="primary">鏌ョ湅 + </el-button> + <el-button icon="el-icon-download" plain size="small" type="primary">瀵煎嚭 + </el-button> + <el-button icon="el-icon-upload2" plain size="small" type="primary">瀵煎叆 + </el-button> + <el-button icon="el-icon-circle-plus-outline" plain size="small" + type="primary">鍒涘缓瑙嗗浘 + </el-button> + <el-button icon="el-icon-menu" plain size="small" + type="primary">涓�鑷存�ф鏌� + </el-button> + </div> + <!-- 宸︿晶鏍� --> + <div style="height: calc(100vh - 300px);"> + <avue-tree :data="treeData" :option="treeOption" @node-click="nodeClick"> + <span slot-scope="{ node, data }" class="el-tree-node__label"> + <span> + <i class="el-icon-s-promotion"></i> + {{ (node || {}).label }} + </span> + </span> + </avue-tree> + </div> + </div> + </basic-container> + </el-aside> + + <el-main> + <basic-container> + <div> + <el-descriptions :column="2" border class="margin-top" size="medium"> + <el-descriptions-item :contentStyle="descriptionOption.contentStyle" + :labelStyle="descriptionOption.labelStyle"> + <template slot="label"> + <i :class="icons.id"></i> + 鍚嶇О + </template> + {{ nodeRow.name }} + </el-descriptions-item> + <el-descriptions-item :contentStyle="descriptionOption.contentStyle" + :labelStyle="descriptionOption.labelStyle"> + <template slot="label"> + <i :class="icons.name"></i> + 鏍囩 + </template> + {{ nodeRow.tag }} + </el-descriptions-item> + <el-descriptions-item :contentStyle="descriptionOption.contentStyle" + :labelStyle="descriptionOption.labelStyle"> + <template slot="label"> + <i :class="icons.tableName"></i> + 瀹炵幇绫� + </template> + {{ nodeRow.implClass }} + </el-descriptions-item> + <el-descriptions-item :contentStyle="descriptionOption.contentStyle" + :labelStyle="descriptionOption.labelStyle"> + <template slot="label"> + <i :class="icons.domain"></i> + 褰㈢姸 + </template> + <el-tag v-if="nodeRow.shape" size="small"> + {{ nodeRow.shape }} + </el-tag> + </el-descriptions-item> + <el-descriptions-item :contentStyle="descriptionOption.contentStyle" + :labelStyle="descriptionOption.labelStyle"> + <template slot="label"> + <i :class="icons.desc"></i> + 鎻忚堪 + </template> + {{ nodeRow.description }} + </el-descriptions-item> + </el-descriptions> + + <el-descriptions :column="3" border class="margin-top" direction="vertical"> + <el-descriptions-item :contentStyle="descriptionOption.contentStyle" + :labelStyle="descriptionOption.labelStyle"> + <template slot="label"> + <i :class="icons.from"></i> + From绔被鍨� + </template> + <span v-for="item in nodeRow.btmItemsFrom" style="margin-left:2px;"> + <el-tag effect="plain" size="small" style="margin-top: 2px;"> + {{ item }} + </el-tag> + </span> + </el-descriptions-item> + <el-descriptions-item :contentStyle="descriptionOption.contentStyle" + :labelStyle="descriptionOption.labelStyle"> + <template slot="label"> + <i :class="icons.from"></i> + Form绔富绫诲瀷 + </template> + <el-tag v-if="nodeRow.primitivesFrom" effect="plain" size="small"> + {{ nodeRow.primitivesFrom === '璇烽�夋嫨' ? nodeRow.btmItemsFrom[0] : nodeRow.primitivesFrom }} + </el-tag> + </el-descriptions-item> + <el-descriptions-item :contentStyle="descriptionOption.contentStyle" + :labelStyle="descriptionOption.labelStyle"> + <template slot="label"> + <i :class="icons.from"></i> + From绔搴斿叧绯� + </template> + <el-tag v-if="nodeRow.relationFrom" effect="plain" size="small">{{ nodeRow.relationFrom }}</el-tag> + </el-descriptions-item> + + </el-descriptions> + + <el-descriptions :column="3" border class="margin-top" direction="vertical"> + <el-descriptions-item :contentStyle="descriptionOption.contentStyle" + :labelStyle="descriptionOption.labelStyle"> + <template slot="label"> + <i :class="icons.to"></i> + To绔被鍨� + </template> + <span v-for="item in nodeRow.btmItemsTo" style="margin-left:2px;"> + <el-tag effect="plain" size="small" style="margin-top: 2px;"> + {{ item }} + </el-tag> + </span> + </el-descriptions-item> + <el-descriptions-item :contentStyle="descriptionOption.contentStyle" + :labelStyle="descriptionOption.labelStyle"> + <template slot="label"> + <i :class="icons.to"></i> + To绔富绫诲瀷 + </template> + <el-tag v-if="nodeRow.primitivesTo" effect="plain" size="small"> + {{ nodeRow.primitivesTo === '璇烽�夋嫨' ? nodeRow.btmItemsTo[0] : nodeRow.primitivesTo }} + </el-tag> + </el-descriptions-item> + <el-descriptions-item :contentStyle="descriptionOption.contentStyle" + :labelStyle="descriptionOption.labelStyle"> + <template slot="label"> + <i :class="icons.to"></i> + To绔搴斿叧绯� + </template> + <el-tag v-if="nodeRow.relationTo" effect="plain" size="small">{{ nodeRow.relationTo }}</el-tag> + </el-descriptions-item> + + </el-descriptions> + </div> + <div style="margin-top: 20px"> + <h3>灞炴�ф睜鍒楄〃</h3> + <avue-crud + :data="tableData" + :option="tableOption" + ></avue-crud> + </div> + </basic-container> + </el-main> + </el-container> </template> <script> +import {gridLink} from "@/api/modeling/linkType/api"; +import basicOption from '@/util/basic-option' + export default { - name: "index" + name: "index", + data() { + return { + treeOption: { + height: 'auto', + defaultExpandAll: false, + menu: false, + addBtn: false, + props: { + label: 'name', + value: 'name', + children: 'children' + } + }, + treeData: [], + tableData: [], + tableOption: { + ...basicOption, + editBtn: false, + refreshBtn: false, + selection: false, + // index:false, + column: [ + { + label: '灞炴�у悕', + prop: 'attributeName', + sortable: true, + }, + { + label: '灞炴�х被鍨�', + prop: 'source', + sortable: true, + }, + { + label: '鍒濆鍊�', + prop: 'source', + sortable: true, + }, + { + label: '璇存槑', + prop: 'desc', + } + ] + }, + nodeRow: {}, + descriptionOption: { + labelStyle: 'text-align:center;width:120px', + contentStyle: 'width:240px;text-align:center;word-break;break-all;' + }, + icons: { + id: 'el-icon-finished', + name: 'el-icon-tickets', + tableName: 'el-icon-date', + domain: 'el-icon-connection', + from: 'el-icon-sort-down', + to: 'el-icon-sort-up', + main: 'el-icon-warning-outline', + desc: 'el-icon-chat-line-square' + }, + } + }, + created() { + this.getTreeList(); + }, + mounted() { + + }, + methods: { + // 鏍憃nLoad璇锋眰 + getTreeList() { + gridLink().then(res => { + const data = res.data.data; + this.treeData = data; + this.tableLoading = false; + }).catch(err => { + this.$message.error(err) + }); + }, + + // 鏍戠偣鍑讳簨浠� + nodeClick(row) { + console.log(row); + this.nodeRow = row; + } + } } </script> -<style scoped> +<style lang="scss" scoped> +::v-deep { + .el-scrollbar__wrap { + overflow: auto !important; + } +} +.headerCon { + display: flex; + flex-wrap: wrap; + margin-bottom: 5px; + + .el-button + .el-button { + margin-left: 5px; + } + + .el-button { + margin-top: 5px; + } +} + +.headerCon > .el-button:nth-child(4) { + margin-left: 0; +} + +.headerCon > .el-button:nth-child(7) { + margin-left: 0; +} </style> -- Gitblit v1.9.3