Browse Source

资产模块问题处理

master
si@aidatagov.com 2 weeks ago
parent
commit
747a710592
  1. 74
      vue-fastapi-frontend/src/views/dataAsset/directory/index.vue

74
vue-fastapi-frontend/src/views/dataAsset/directory/index.vue

@ -290,28 +290,51 @@
{{ currentNode.dataAstDesc }} {{ currentNode.dataAstDesc }}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-tabs style="margin-top: 8px" v-model="activeName"> <el-tabs style="margin-top: 8px" v-model="activeName" >
<el-tab-pane label="资产字段" name="1"> <el-tab-pane label="资产字段" name="1">
<el-table :data="assetFieldData" border> <el-table :data="assetFieldData" border height="calc(100vh - 395px)">
<el-table-column prop="fldNo" label="序号" width="60" /> <el-table-column prop="fldNo" label="序号" width="60" />
<el-table-column prop="fldCnName" label="字段中文名" /> <el-table-column prop="fldCnName" label="字段中文名" />
<el-table-column prop="fldEngName" label="字段英文名" /> <el-table-column prop="fldEngName" label="字段英文名" />
<el-table-column prop="fldType" label="字段类型" /> <el-table-column prop="fldType" label="字段类型" />
<el-table-column prop="batchColClas" label="枚举" />
<el-table-column label="枚举类" width="150" align="center" prop="fldClas">
<template #default="scope">
<el-popover placement="right" width="auto" trigger="hover">
<template #reference>
<el-tag > {{ scope.row.batchColClas[0].clasName }}
</el-tag>
</template>
<div>
<div style="margin: 5px" v-for="item in scope.row.batchColClas"><el-tag v-if="item.clasEffFlag === '1'">{{item.clasName + ":" + item.clasValue}}</el-tag></div>
</div>
</el-popover>
</template>
</el-table-column>
<el-table-column prop="fldNullRate" label="有值率" /> <el-table-column prop="fldNullRate" label="有值率" />
<el-table-column prop="fldDesc" label="说明" /> <el-table-column prop="fldDesc" label="说明" />
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="样例数据" name="2"> <el-tab-pane label="样例数据" name="2">
<el-table :data="metaSecurityData" border> <el-table
<el-table-column :data="metaSecurityData"
v-for="(column, index) in tablesRowCol" border
min-width="180" height="calc(100vh - 395px)"
:key="index" :row-style="() => ({ height: '50px', overflow: 'hidden' })"
:prop="column.prop" :cell-style="() => ({ padding: '0', lineHeight: '40px', whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' })"
:label="column.label || column.prop" >
/> <el-table-column
</el-table> v-for="(column, index) in tablesRowCol"
:key="index"
min-width="180"
:prop="column.prop"
:label="column.label || column.prop"
show-overflow-tooltip
/>
</el-table>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="常见问题" name="3"> <el-tab-pane label="常见问题" name="3">
<div class="faq"> <div class="faq">
@ -390,6 +413,7 @@ const defaultProps = {
} }
const directoryTree = ref([]) const directoryTree = ref([])
const currentNode = ref({}) const currentNode = ref({})
const currentColumnData = ref({});
const directoryTableData = ref([]) const directoryTableData = ref([])
const tableHeaderLabel = computed(() => { const tableHeaderLabel = computed(() => {
@ -512,27 +536,21 @@ const handleNodeClick = async (node) => {
await setHtmlContent(node) await setHtmlContent(node)
} else { } else {
faq.value = node.dataAstFaq faq.value = node.dataAstFaq
const fides =await getAssetFieldTable(node.astNo)
assetFieldData.value = fides.data.columnList || []
tablesRowCol.value = assetFieldData.value.map((item) => ({
prop: item.fldEngName,
label: item.fldCnName,
}))
getMetaSecurityData({ getMetaSecurityData({
dataAstSrc: node.dataAstSrc, dataAstSrc: node.dataAstSrc,
dataAstEngName: node.dataAstEngName, dataAstEngName: node.dataAstEngName,
}) })
.then(({ data }) => { .then(({ data }) => {
metaSecurityData.value = data.data metaSecurityData.value = data.data
tablesRowCol.value = data.tablesRowCol
.split(',')
.map((i) => ({ prop: i, label: '' }))
return getAssetFieldTable(node.astNo)
})
.then(({ data }) => {
assetFieldData.value = data.columnList || []
tablesRowCol.value = tablesRowCol.value.map((i) => {
const item = assetFieldData.value.find((j) => j.fldEngName === i.prop)
if (item) {
i.label = item.fldCnName
}
return i
})
}) })
} }
} }
@ -734,7 +752,9 @@ const handleIframeLoad = () => {
.faq { .faq {
white-space: pre-wrap; white-space: pre-wrap;
} }
.full-height-tabs {
height: calc(100vh - 320px);
}
.html-box { .html-box {
:deep(.el-card__body) { :deep(.el-card__body) {
overflow: auto; overflow: auto;

Loading…
Cancel
Save