浏览代码

菜单调整

Xiao_123 5 天之前
父节点
当前提交
84e973d020

+ 90 - 47
src/router/routes.js

@@ -655,6 +655,49 @@ export default {
           metastr: '{"keepAlive":false,"allowClick":false,"enName":"Data Process","editModules":false,"title":"数据流程","fullScreen":false,"target":false}',
           open: null
         },
+        {
+          meun: '',
+          code: '',
+          hidden: 0,
+          rootId: 1187,
+          icon: '',
+          remark: '',
+          type: 1,
+          title: '数据安全',
+          local: '',
+          path: '/data-governance/data-security',
+          urls: '',
+          children: [],
+          enName: 'Data Security',
+          id: 1217,
+          redirect: '',
+          level: 0,
+          openPath: '',
+          active: '',
+          label: '数据安全',
+          sort: 15,
+          parentId: 1187,
+          effectiveStatus: true,
+          parentName: '',
+          component: 'dataGovernance/dataSecurity',
+          meta: {
+            keepAlive: false,
+            allowClick: false,
+            roles: [],
+            enName: 'Data Security',
+            icon: '',
+            editModules: false,
+            title: '数据安全',
+            fullScreen: false,
+            target: false,
+            effectiveStatus: true
+          },
+          name: 'data-security',
+          style: '',
+          alwaysShow: 0,
+          metastr: '{"keepAlive":false,"allowClick":false,"enName":"Data Security","editModules":false,"title":"数据安全","fullScreen":false,"target":false}',
+          open: null
+        },
         {
           meun: '',
           code: '',
@@ -1957,68 +2000,68 @@ export default {
       metastr: '{"allowClick":false,"enName":"production line manage","title":"数据工厂","target":false}',
       open: null
     },
-    // {
-    //   meun: '',
-    //   code: '',
-    //   hidden: 0,
-    //   rootId: 0,
-    //   icon: 'mdi-application-settings-outline',
-    //   remark: '',
-    //   type: 0,
-    //   title: '数据服务',
-    //   local: '',
-    //   path: '/dataService',
-    //   urls: '',
-    //   children: [],
-    //   enName: 'data service',
-    //   id: 972,
-    //   redirect: '',
-    //   level: 1,
-    //   openPath: '',
-    //   active: '',
-    //   label: '数据服务',
-    //   sort: 46,
-    //   parentId: 0,
-    //   effectiveStatus: true,
-    //   parentName: 'dataService',
-    //   component: 'Layout',
-    //   meta: {
-    //     allowClick: false,
-    //     roles: [],
-    //     enName: 'data service',
-    //     icon: 'mdi-factory',
-    //     title: '数据服务',
-    //     target: false,
-    //     effectiveStatus: true
-    //   },
-    //   name: 'dataService',
-    //   style: '',
-    //   alwaysShow: 0,
-    //   metastr: '{"allowClick":false,"enName":"data service","title":"数据服务","target":false}'
-    // },
+    {
+      meun: '',
+      code: '',
+      hidden: 0,
+      rootId: 0,
+      icon: 'mdi-application-settings-outline',
+      remark: '',
+      type: 0,
+      title: '数据目录',
+      local: '',
+      path: '/dataCatalog',
+      urls: '',
+      children: [],
+      enName: 'data catalog',
+      id: 972,
+      redirect: '',
+      level: 1,
+      openPath: '',
+      active: '',
+      label: '数据目录',
+      sort: 46,
+      parentId: 0,
+      effectiveStatus: true,
+      parentName: 'dataCatalog',
+      component: 'Layout',
+      meta: {
+        allowClick: false,
+        roles: [],
+        enName: 'data catalog',
+        icon: 'mdi-application-settings-outline',
+        title: '数据目录',
+        target: false,
+        effectiveStatus: true
+      },
+      name: 'dataCatalog',
+      style: '',
+      alwaysShow: 0,
+      metastr: '{"allowClick":false,"enName":"data catalog","title":"数据目录","target":false}'
+    },
     {
       hidden: 0,
       rootId: 0,
       icon: 'mdi-widgets-outline',
       type: 0,
-      path: '/dataDeduplication',
+      path: '/dataReview',
       children: [
         {
           hidden: 1,
           icon: '',
           type: 1,
           title: '数据审核',
-          path: '/dataDeduplication',
+          path: '/dataReview',
           children: [],
-          enName: 'data Deduplication',
+          enName: 'data Review',
           redirect: '',
           active: '',
           label: '数据审核',
           sort: 0,
-          component: 'dataDeduplication',
+          component: 'dataReview',
           meta: {
             roles: [],
-            enName: 'data Deduplication',
+            enName: 'data Review',
             icon: '',
             title: '数据审核',
             fullScreen: false
@@ -2027,7 +2070,7 @@ export default {
           alwaysShow: 0
         }
       ],
-      enName: 'data Deduplication',
+      enName: 'data Review',
       redirect: '',
       active: '',
       sort: 0,
@@ -2035,13 +2078,13 @@ export default {
       meta: {
         allowClick: false,
         roles: [],
-        enName: 'data Deduplication',
+        enName: 'data Review',
         icon: 'mdi-widgets-outline',
         title: '数据审核',
         target: false,
         effectiveStatus: true
       },
-      name: 'dataDeduplication',
+      name: 'dataReview',
       alwaysShow: 0
     },
     // {

+ 104 - 0
src/views/dataCatalog/index.vue

@@ -0,0 +1,104 @@
+<template>
+  <!-- 数据目录 -->
+  <div class="pa-3" style="background-color: #FFF;">
+    <!-- <filter-list @search="handleSearch" /> -->
+    <table-list
+      class="mt-3"
+      :loading="loading"
+      :headers="headers"
+      :items="items"
+      :total="total"
+      :page-info="pageInfo"
+      :is-tools="false"
+      :show-select="false"
+      @pageHandleChange="pageHandleChange"
+      @sort="handleSort"
+    >
+      <template #status="{ item }">
+        <v-chip
+          :color="item.status ? 'success' : 'error'"
+          small
+        >
+          {{ item.status ? '已启用' : '已禁用'}}
+        </v-chip>
+      </template>
+      <template #tag="{ item }">
+        {{ item.tag.map(e => e.name_zh).join(',') }}
+      </template>
+      <template v-slot:name_zh = "{item}">
+        <span class="defaultLink" @click="toDetail(item)">{{ item.name_zh }}</span>
+      </template>
+    </table-list>
+  </div>
+</template>
+
+<script>
+// import FilterList from '../../dataGovernance/components/Filter'
+import TableList from '@/components/List/table'
+import { api } from '@/api/dataGovernance'
+export default {
+  name: 'data-catalog',
+  components: {
+    // FilterList,
+    TableList
+  },
+  data () {
+    return {
+      api,
+      loading: false,
+      headers: [
+        { text: '中文名', value: 'name_zh' },
+        { text: '英文名', value: 'name_en' },
+        { text: '分类', value: 'category', sortable: false },
+        { text: '描述', value: 'describe', sortable: false },
+        { text: '标签', value: 'tag', sortable: false },
+        { text: '状态', value: 'status', sortable: false },
+        { text: '血缘关系数量', value: 'blood_count', align: 'center' },
+        { text: '创建时间', value: 'create_time' }
+      ],
+      items: [],
+      total: 0,
+      pageInfo: {
+        size: 10,
+        current: 1
+      },
+      query: {},
+      orders: []
+    }
+  },
+  created () {
+    // this.init()
+  },
+  methods: {
+    async init () {
+      this.loading = true
+      try {
+        const { data } = await api.getMetaDataList({ ...this.pageInfo, ...this.query })
+        this.total = data.total
+        this.items = data.records
+      } catch (error) {
+        this.$snackbar.error(error)
+      } finally {
+        this.loading = false
+      }
+    },
+    handleSort (val) {
+      this.orders = val
+      this.init()
+    },
+    handleSearch (obj) {
+      Object.assign(this.query, obj)
+      this.pageInfo.current = 1
+      this.init()
+    },
+    pageHandleChange (index) {
+      this.pageInfo.current = index
+      this.init()
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 104 - 0
src/views/dataGovernance/dataSecurity/index.vue

@@ -0,0 +1,104 @@
+<template>
+  <!-- 数据安全 -->
+  <div class="pa-3" style="background-color: #FFF;">
+    <!-- <filter-list @search="handleSearch" /> -->
+    <table-list
+      class="mt-3"
+      :loading="loading"
+      :headers="headers"
+      :items="items"
+      :total="total"
+      :page-info="pageInfo"
+      :is-tools="false"
+      :show-select="false"
+      @pageHandleChange="pageHandleChange"
+      @sort="handleSort"
+    >
+      <template #status="{ item }">
+        <v-chip
+          :color="item.status ? 'success' : 'error'"
+          small
+        >
+          {{ item.status ? '已启用' : '已禁用'}}
+        </v-chip>
+      </template>
+      <template #tag="{ item }">
+        {{ item.tag.map(e => e.name_zh).join(',') }}
+      </template>
+      <template v-slot:name_zh = "{item}">
+        <span class="defaultLink" @click="toDetail(item)">{{ item.name_zh }}</span>
+      </template>
+    </table-list>
+  </div>
+</template>
+
+<script>
+// import FilterList from '../../dataGovernance/components/Filter'
+import TableList from '@/components/List/table'
+import { api } from '@/api/dataGovernance'
+export default {
+  name: 'data-security',
+  components: {
+    // FilterList,
+    TableList
+  },
+  data () {
+    return {
+      api,
+      loading: false,
+      headers: [
+        { text: '中文名', value: 'name_zh' },
+        { text: '英文名', value: 'name_en' },
+        { text: '分类', value: 'category', sortable: false },
+        { text: '描述', value: 'describe', sortable: false },
+        { text: '标签', value: 'tag', sortable: false },
+        { text: '状态', value: 'status', sortable: false },
+        { text: '血缘关系数量', value: 'blood_count', align: 'center' },
+        { text: '创建时间', value: 'create_time' }
+      ],
+      items: [],
+      total: 0,
+      pageInfo: {
+        size: 10,
+        current: 1
+      },
+      query: {},
+      orders: []
+    }
+  },
+  created () {
+    // this.init()
+  },
+  methods: {
+    async init () {
+      this.loading = true
+      try {
+        const { data } = await api.getMetaDataList({ ...this.pageInfo, ...this.query })
+        this.total = data.total
+        this.items = data.records
+      } catch (error) {
+        this.$snackbar.error(error)
+      } finally {
+        this.loading = false
+      }
+    },
+    handleSort (val) {
+      this.orders = val
+      this.init()
+    },
+    handleSearch (obj) {
+      Object.assign(this.query, obj)
+      this.pageInfo.current = 1
+      this.init()
+    },
+    pageHandleChange (index) {
+      this.pageInfo.current = index
+      this.init()
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 0 - 0
src/views/dataDeduplication/components/change.vue → src/views/dataReview/components/change.vue


+ 0 - 0
src/views/dataDeduplication/components/common.vue → src/views/dataReview/components/common.vue


+ 0 - 0
src/views/dataDeduplication/components/graph.vue → src/views/dataReview/components/graph.vue


+ 0 - 0
src/views/dataDeduplication/components/redundancy.vue → src/views/dataReview/components/redundancy.vue


+ 0 - 0
src/views/dataDeduplication/index.vue → src/views/dataReview/index.vue