From c86748a2c254ea22ac8f57d7984cc4743efaaed7 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 26 七月 2024 16:53:07 +0800
Subject: [PATCH] Merge branch 'master' of http://dev.vci-tech.com:1065/r/PLTWEB

---
 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