Преглед на файлове

数据地图-业务域:DataOps标签多选

Xiao_123 преди 6 часа
родител
ревизия
5dd5172cbd

+ 2 - 2
src/api/dataGovernance.js

@@ -148,7 +148,7 @@ const dataModel = {
 const dataLabel = {
   // 列表
   dataLabelList: (param) => {
-    return http.post('/interface/data/label/list', param)
+    return http.post('/interface/labellist', param)
   },
   // 新增
   dataLabelAdd: (param) => {
@@ -353,7 +353,7 @@ const businessDomain = {
   combinationCreateBusinessDomain: (param) => {
     return http.post('/bd/compose', param)
   },
-  // 获取标签列表
+  // 获取标签列表 - 弃用
   getLabelList: (param) => {
     return http.post('/bd/labellist', param)
   }

+ 5 - 1
src/views/dataBook/businessDomain/components/businessDomainInfo.vue

@@ -33,7 +33,11 @@
             </v-chip>
           </li>
           <li>{{ info.create_time ?? '-' }}</li>
-          <li>{{ info.tag?.name_zh ?? '-' }}</li>
+          <li>
+            <v-chip v-for="item in info.tag" :key="item.id" color="primary" small class="mr-2">
+              {{ item.name_zh }}
+            </v-chip>
+          </li>
           <li>{{ info.describe ?? '-' }}</li>
         </ul>
       </v-col>

+ 9 - 8
src/views/dataBook/businessDomain/index.vue

@@ -22,13 +22,14 @@
           {{ item.status ? '已启用' : '已禁用'}}
         </v-chip>
       </template>
-      <!-- <template #tag="{ item }">
-        <m-graph-drill
+      <template #tag="{ item }">
+        <!-- <m-graph-drill
           :id="item.tag?.id"
           :title="`${item.tag?.name_zh}血缘图谱`"
-        >{{ item.tag?.name_zh }}</m-graph-drill>
+        >{{ item.tag?.name_zh }}</m-graph-drill> -->
+        {{ item.tag?.map(e => e.name_zh).join(',') }}
       </template>
-      <template #blood_count="{ item }">
+      <!-- <template #blood_count="{ item }">
         <m-graph-drill
           :id="item.id"
           :title="`${item.name_zh}血缘图谱`"
@@ -61,10 +62,10 @@ export default {
       headers: [
         { text: '中文名', value: 'name_zh' },
         { text: '英文名', value: 'name_en' },
-        { text: '分类', value: 'category' },
-        { text: '描述', value: 'describe' },
-        { text: '标签', value: 'tag' },
-        { text: '状态', value: 'status' },
+        { 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' }
       ],

+ 1 - 1
src/views/dataBook/dataLabel/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="pa-3 white">
-    <m-filter :filter="['name_zh', 'name_en', 'category']" @search="handleSearch" />
+    <m-filter :filter="['name_zh', 'name_en', 'category_filter']" @search="handleSearch" />
     <m-table
       class="mt-3"
       :loading="loading"

+ 15 - 7
src/views/dataGovernance/businessDomain/components/editBase.vue

@@ -46,7 +46,7 @@ export default {
         chooseStorage: false,
         storage_location: '/',
         data_source: null,
-        tag: null,
+        tag: [],
         describe: null,
         status: true
       },
@@ -142,7 +142,7 @@ export default {
           type: 'autocomplete',
           key: 'tag',
           label: '请选择标签',
-          noAttach: true,
+          multiple: true,
           itemText: 'name_zh',
           itemValue: 'id',
           items: this.labelItems
@@ -171,7 +171,7 @@ export default {
     }
     Object.keys(this.formValues).forEach(key => {
       if (key === 'tag') {
-        this.formValues[key] = this.itemData[key]?.id || null
+        this.formValues[key] = this.itemData[key]?.map(e => e.id) || []
         return
       }
       if (key === 'data_source') {
@@ -189,8 +189,9 @@ export default {
       try {
         this.loading = true
         try {
-          const { data } = await api.getLabelList({
-            ...this.pageInfo
+          const { data } = await api.dataLabelList({
+            ...this.pageInfo,
+            category_filter: 'DataOps'
           })
           this.labelItems = data.records
           const { data: dataSource } = await getDatasourceList({})
@@ -225,16 +226,23 @@ export default {
       if (!this.$refs.form.validate()) {
         return
       }
-      const { chooseStorage, data_source: dataSource, storage_location: storageLocation, ...obj } = this.formValues
+      const { chooseStorage, data_source: dataSource, storage_location: storageLocation, tag: tagIds, ...obj } = this.formValues
+      const tag = tagIds.map(e => ({
+        id: e,
+        name_zh: this.labelItems.find(item => item.id === e)?.name_zh ?? null,
+        name_en: this.labelItems.find(item => item.id === e)?.name_en ?? null
+      }))
       if (chooseStorage) {
         return {
           ...obj,
+          tag,
           data_source: dataSource
         }
       }
       return {
         ...obj,
-        storage_location: storageLocation
+        storage_location: storageLocation,
+        tag
       }
     }
   }

+ 1 - 1
src/views/dataGovernance/businessDomain/index.vue

@@ -23,7 +23,7 @@
         </v-chip>
       </template>
       <template #tag="{ item }">
-        {{ item.tag?.name_zh }}
+        {{ item.tag?.map(e => e.name_zh).join(',') }}
       </template>
       <template v-slot:navBtn>
         <v-btn class="elevation-5 buttons mr-3" color="primary" rounded @click="handleAdd">

+ 8 - 0
src/views/dataGovernance/components/Filter.vue

@@ -42,6 +42,13 @@ const options = [
     key: 'category',
     items: metadata
   },
+  {
+    type: 'autocomplete',
+    value: null,
+    label: '分类',
+    key: 'category_filter',
+    items: metadata
+  },
   {
     type: 'autocomplete',
     value: null,
@@ -101,6 +108,7 @@ export default {
       try {
         const { data } = await api.dataLabelList({
           ...this.tag.pageInfo,
+          category_filter: 'DataOps',
           name_zh: this.tag.name
         })
         // this.option.list.find(e => e.key === 'tag').items = data.records

+ 2 - 1
src/views/dataGovernance/dataIndicator/components/editBase.vue

@@ -122,7 +122,8 @@ export default {
         this.loading = true
         try {
           const { data } = await api.dataLabelList({
-            ...this.pageInfo
+            ...this.pageInfo,
+            category_filter: 'DataOps'
           })
           this.tagItems = data.records
           this.total = data.total

+ 1 - 1
src/views/dataGovernance/dataLabel/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="pa-3 white">
-    <m-filter :filter="['name_zh', 'name_en', 'category']" @search="handleSearch" />
+    <m-filter :filter="['name_zh', 'name_en', 'category_filter']" @search="handleSearch" />
     <m-table
       class="mt-3"
       :loading="loading"

+ 2 - 1
src/views/dataGovernance/dataModules/components/editBase.vue

@@ -149,7 +149,8 @@ export default {
         this.loading = true
         try {
           const { data } = await api.dataLabelList({
-            ...this.pageInfo
+            ...this.pageInfo,
+            category_filter: 'DataOps'
           })
           this.tagItems = data.records
           this.total = data.total

+ 2 - 1
src/views/dataGovernance/dataProcess/components/editBase.vue

@@ -163,7 +163,8 @@ export default {
         this.loading = true
         try {
           const { data } = await api.dataLabelList({
-            ...this.pageInfo
+            ...this.pageInfo,
+            category_filter: 'DataOps'
           })
           this.tagItems = data.records
           this.total = data.total

+ 2 - 1
src/views/dataGovernance/dataResource/components/editBase.vue

@@ -190,7 +190,8 @@ export default {
         this.loading = true
         try {
           const { data } = await api.dataLabelList({
-            ...this.pageInfo
+            ...this.pageInfo,
+            category_filter: 'DataOps'
           })
           this.labelItems = data.records
           const { data: dataSource } = await getDatasourceList({})

+ 2 - 1
src/views/dataGovernance/dataStandard/components/edit.vue

@@ -161,7 +161,8 @@ export default {
         this.loading = true
         try {
           const { data } = await api.dataLabelList({
-            ...this.pageInfo
+            ...this.pageInfo,
+            category_filter: 'DataOps'
           })
           this.formItems.options.find(e => e.key === 'tag').items = data.records
           this.total = data.total

+ 2 - 1
src/views/dataGovernance/metadata/components/edit.vue

@@ -137,7 +137,8 @@ export default {
         this.loading = true
         try {
           const { data } = await api.dataLabelList({
-            ...this.pageInfo
+            ...this.pageInfo,
+            category_filter: 'DataOps'
           })
           this.tagItems = data.records
           this.total = data.total